

function _popupadmin(url , width , height){
	
	if(typeof(ovl) == 'undefined') ovl = new ovlmsg();
	ovl.screeniframe(url + '&contentonly=1' , width , height);
}


function _blankimg(id){
	var img = getids(id);
	for(var i = 0; i < img.length ; ++i){
		if(img[i].readyState != 'complete' && img[i].complete == false){
			img[i].onerror = function(){
				this.src = fcommon + 'images/blank/' + this.getAttribute('width') + 'x' + this.getAttribute('width') + '.gif';
			}
		}
	}
}


igearajax = function(){};

igearajax.prototype = {

	'reload' : function(url , hist , func){
	
		var params = form2urlquerystring(frm) + url;
		var ajaxresult = new Ajax.Updater('paging_datalist' , bcommon + 'loadajax.php' , {parameters : params , method : 'post' , onComplete : function(rt){

			if(typeof(func) == 'function') func(rt);
		}});

		if(typeof hist == "undefined")
			pagehistory(
				ajaxresult
				, function(params){ getpagedata('' , params , true);} , 'end');
	},

	'send' : function(url , uploaded , sfrm , exec){
		
		if(typeof(sfrm) == 'string') sfrm = getid(sfrm);
		var frm = typeof(sfrm) != 'undefined' ? sfrm : getid('writefrm');
		var isfile = is_readyupload();
		if(typeof(frm.loadfile) != 'undefined') frm.loadfile.value = loadfile;
		if(isfile == true && uploaded != true){

				frm.action = bcommon + "loadajax.php?upload=y&targetfrm=writefilefrm&resultexecutefunc=send('" + loadfile + "' , true , '" + addurl + "' , '" + frm.id +  "')";
				frm.submit();

		}else{
				
				var params = form2urlquerystring(frm) + '&' + addurl;
				new Ajax.Request(bcommon + "loadajax.php" , { parameters : params , method : 'post' , onComplete : function(rt){
						try{

							if(typeof(exec) == 'function') exec(rt);

						}catch(e){
							dyn_alert(e.message);
						}

				}});
		}
	}
}




function autofill(is_checked , id , checkedfunc , notcheckedfunc){

	for(var i = 0; i < getids(id).length; ++i){

		if(is_checked && typeof(checkedfunc) == 'function') checkedfunc(getids(id)[i] , i); 
		else
			if(typeof(notcheckedfunc) == 'function') notcheckedfunc(getids(id)[i] , i); 
		
	}

}



function _dyn_alert(msg , exec){

	window.onload = function(){

		dyn_alert(msg);
		if(typeof(exec) == 'function') exec();
	}
}




function _reform(){

	
	var input = document.getElementsByTagName("INPUT");
	var att_type = '';
	for(var i = 0 ; i < input.length ; ++i){
		att_type = input[i].getAttribute('type').toLocaleLowerCase();
		if(att_type == 'text' || att_type == 'password' || att_type == 'file'){
			
			addevent(input[i] , 'blur' , function(e){ 
				var obj = typeof(e.target) != 'undefined' ? e.target : e.srcElement;
				if(obj.readOnly || obj.disabled) return false;
				obj.className = 'input_onblur'; 
			});
			addevent(input[i] , 'focus' , function(e){  
				var obj = typeof(e.target) != 'undefined' ? e.target : e.srcElement;
				if(obj.readOnly || obj.disabled) return false;
				obj.className = 'input_onfocus'; 
				obj.select();
			});
			input[i].className = 'input_onblur';
		}
	}
}


function rollover2click(objnm , k , base){

	var obj = getids(objnm);
	var self = obj[k];
	var stat = self.src.search(/_r.jpg/gi);
	var y = 0;
	for(var x = 0 ; x < obj.length ; ++x){

		if(k == x && stat == '-1'){
			pat = /.jpg/;
			rep = '_r.jpg';
		}
		else {
			pat = /_r.jpg/;
			rep = '.jpg';
			y++;
		}
		obj[x].src = obj[x].src.replace(pat , rep);
	}
	if(y == obj.length && typeof(base) != 'undefined' && base != ''){
		obj[base].src = obj[base].src.replace(/.jpg/ , '_r.jpg');
	}
}




function formrefdisabled(obj){

	var x = arguments;
	var r = '';
	for(var i = 1; i < x.length ; ++i){
		x[i].disabled = obj.disabled == true || obj.checked == false || obj.selected == -1 ? true : false;
	}
}



function autobgcoloring(nm , mover , mout){
	
	var bgtarget = getids(nm);
	for(var i = 0 , mx = bgtarget.length ; i < mx ; ++i){
		bgtarget[i].onmouseover = function(){
			this.style.background = mover;
		}
		bgtarget[i].onmouseout = function(){
			this.style.background = mout;
		}
	}
}



function price2apply(obj , perc , price){

	perc = isNaN(perc) ? 0 : perc;
	obj.value = round(parseInt(price) * perc / 100 , 0.1);
}


function menu(m){
	
	try{
		if(m == 'undefined') m = 'on';
		var menuid = getid('lo_left_td');
		var spot_menuon = getid('spot_menuon');
		var spot_menuoff = getid('spot_menuoff');
		setcookie('_menustat' , m);
		if(m == 'on'){
			menuid.style.display = '';
			spot_menuon.style.display = 'none';
			spot_menuoff.style.display = '';
		}
		else {
			menuid.style.display = 'none';
			spot_menuon.style.display = '';
			spot_menuoff.style.display = 'none';
		}
	}catch(e){}
}


function round(vls , x){
	return Math.round(vls * x) / x;
}







function nextfd(obj , cnt , nextnm){
	
	if(obj.length >= cnt) nextnm.select();
}




function getsortfd(depth){
	var depth = parseInt(depth) + 96;
	var keycodemap = { '97' : 'a' , '98' : 'b' , '99' : 'c' , '100' : 'd' , '101' : 'e' , '102' : 'f' , '103' : 'g'  , '104' : 'h'  , '105' : 'i' }
	return keycodemap[depth];
}




function getkeymatchdata(vls , rst){
	var retdata = {};
	for(k in rst){
		if(typeof(rst[k]) == 'function') continue;
		if(vls == k){
			retdata = rst[k];
			break;
		}
		else
			retdata = getkeymatchdata(vls , rst[k]);	
	}
	return retdata;
}



function adminlogout(){

	if(getid('loadingbuff') == null) buffimg();
	var params = "loadfile=admin_logout&setupload_predir=admin";
	new Ajax.Request(bcommon + 'loadajax.php' , {parameters : params , method : 'post' , onComplete : function(rt){
		var getdata = rt.responseXML;
		var resultcode_block = getdata.getElementsByTagName("resultcode");
		var resultcode = resultcode_block[0].childNodes[0].nodeValue;
		location.replace(rootpath + 'backoffice/');
		
	}});
}



function sleep(time){
	time = time * 1000;
	var sl = true;
	var now = new Date();
	var nowstamp = now.getTime();
	var sltime;
	while(sl){
		
		sltime = new Date();
		slstamp = sltime.getTime();
		sl = slstamp - nowstamp > time ? false : true;		
	}
}


function querystring2var(str){

	var x = str.split('&');
	var y = new Array();
	for(var i = 0 ; i < x.length; ++i){
		var j = x[i].split('=');
		y[j[0]] = j[1];
	}
	return y;
}


function wheellistner(event){
	var event = (event || window.event);
	var ret = event.wheelDelta ? (window.opera ? -delta : event.wheelDelta/120) : -event.detail/3;
	
	if(typeof(wheellistner_exec) == 'function') wheellistner_exec(ret);
	return ret;
}

function wheel(exec){
	wheellistner_exec = exec;
	if (window.addEventListener)
		addevent(window , 'DOMMouseScroll' , wheellistner , false);
		addevent(document , 'onmousewheel' , wheellistner , true);
	
	window.onmousewheel = document.onmousewheel = wheellistner
}


function togglecmd(cmd , id , key){
	
	key = typeof(key) == 'undefined' ? 0 : key;
	var obj = getids(id);
	switch(cmd){
		case "up":
			if(obj[key].style.display == "") Effect.SlideUp(obj[key]);
		break;
		case "down":
			if(obj[key].style.display == "none") Effect.SlideDown(obj[key]);
		break;
		default :
			if(obj.style.display == "none") Effect.SlideDown(obj);
			else Effect.SlideUp(obj);
		break;
	}
}


function grpoption(grp){

	data = typeof(grp) == 'undefined' || grp == '' ? getusergroup : getadmingroup;
	var x = arguments;
	for(var i = 1; i < x.length ; ++i){
		optioninsert(data , x[i] , '#match2 (#match0 / #match1)' , '^!!^' , 1);
	}
};


function calselectbox(){

	this.nowDate=new Date();
	this.year_gap = 3;
	this.year_mxgap = 3;
	this.setfrmdata();
};

calselectbox.prototype.setfrmdata = function(y , m , d){

	this.year = typeof(y) != 'undefined' ? y : this.nowDate.getFullYear();
	this.month = typeof(m) != 'undefined' ? m : this.nowDate.getMonth() + 1;
	this.date = typeof(d) != 'undefined' ? d : this.nowDate.getDate();
};

calselectbox.prototype.setyear = function(yobj , mobj , dobj , sel , msel , dsel){
	
	var nyear = parseInt(this.year) + parseInt(this.year_mxgap);
	var pyear = this.year - this.year_gap;
	var ii = 0;
	var tsel = "";
	
	if(typeof(yobj) == "undefined") return false;
	if(typeof(sel) == "undefined" || sel == "" ) sel = this.year;

	for(var i = pyear ; i <= nyear ; ++i){
		tsel = i == sel ? true : false;
		yobj.options[ii] = new Option( i , i , tsel , tsel);
		if(tsel == true) yobj.options.selectedIndex = ii;
		++ii;
	}

	try{
		this.setmon(yobj , mobj , dobj , msel , dsel);
	}catch(e){}
	return true;
};

calselectbox.prototype.setmon = function(yobj , mobj , dobj , sel , dsel){

	var ii = 0;
	var tsel = "";

	if(typeof(yobj) == "undefined" || typeof(mobj) == "undefined") return false;
	if(typeof(sel) == "undefined" || sel == "" ) sel = this.month;


	for(i = 1 ; i <= 12 ; ++i){
		tsel = i == sel ? true : false;
		mobj.options[ii] = new Option( i , i , tsel , tsel);
		if(tsel == true) mobj.options.selectedIndex = ii;
		++ii;
	}
	try{
		this.setday(yobj , mobj , dobj , dsel);
	}catch(e){}
	return true;
};

calselectbox.prototype.setday = function(yobj , mobj , dobj , sel){
	
	var mxday = 31;
	var yvalue = yobj.options[yobj.options.selectedIndex].value
	var mvalue = mobj.options[mobj.options.selectedIndex].value;
	
	if(typeof(yobj) == "undefined" || typeof(mobj) == "undefined") return false;
	if(typeof(sel) == "undefined" || sel == "" ) sel = this.date;
	for(var i = 0 ; i < 31; ++i)
		dobj.options[0] = null;
	
	var nyear = yvalue;
	if((mvalue % 2 == 0 && mvalue < 8 ) || (mvalue > 7 && mvalue % 2 == 1)){
		
		if(mvalue == 2){
			if(yvalue % 4 == 0 && yvalue % 100 !=0 || yvalue % 400 == 0) mxday = 29;
			else mxday =28; 
		}
		else
			mxday = 30;
	}

	var ii = 0;
	for(var i = 1 ; i <= mxday ; ++i){
		tsel = i == sel ? true : false;
		dobj.options[ii] = new Option( i , i , tsel , tsel);
		++ii;
	}
	return true;
};



categorybox = function(){};
categorybox.prototype = {
	boxinput : 'category_name' ,
	boxnm : 'category_box',
	frm : 'frmwrite',
	init : function(){
		this.boxnm = getid(this.boxnm);
		this.boxinput = getid(this.boxinput);
		this.frm = document[this.frm];
	},
	insert : function(){
		try{

			var catenm = this.boxinput.value;
			if(catenm == ''){
				dyn_alert(blang_javascript[11002]);
				this.boxinput.select();
				return;
			}
			var pindex = this.boxnm.options.selectedIndex;
			var pmxindex = this.boxnm.options.length;
			this.boxnm.options[pmxindex] = new Option(catenm , catenm , true , true);
			this.boxnm.options[pmxindex].title = blang_javascript[11001];
			this.boxinput.value = '';
			this.boxinput.select();

		}catch(e){}
	},
	del : function(key){
		try{
			this.boxnm.options[key] = null;
			this.boxinput.select();
		}catch(e){ dyn_alert(blang_javascript[11004]); }
	},
	move : function(updown){
		try{
			switch(updown){
				case "up":
					var nindex = this.boxnm.options.selectedIndex;
					if(nindex < 1){
						return;
					}
					var pindexobj = this.boxnm.options[nindex - 1];
					this.boxnm.insertBefore(this.boxnm.options[nindex] , pindexobj);
				break;
				case "down" :
					var nindex = this.boxnm.options.selectedIndex;
					if(nindex > this.boxnm.options.length - 2){
						return;
					}
					var pindexobj = this.boxnm.options[nindex + 1];
					this.boxnm.insertBefore(pindexobj , this.boxnm.options[nindex]);
				break;
				default :
					return false;
				break;
			}
		}catch(e){ dyn_alert(blang_javascript[11003]); }
	}
};



function autoselectedmatch(obj , vls , delim){
	if(obj == undefined) return;
	delim = typeof(delim) == 'undefined' ? '^' : delim;
	var strvls = vls.split(delim);
	if(typeof(obj.length) != 'undefined'){
		for(var i = 0 ; i < obj.length ; ++i){
			for(var j = 0 ; j < strvls.length ; ++j){
				obj.options[i].selected = obj.options[i].value == strvls[j] ? true : false;
			}
		}
	}
}



function autocheckedmath(obj , vls){
	
	for(var i = 0 ; i < obj.length ; ++i){
		if(typeof(vls) == 'object' && typeof(vls.length) != 'undefined') obj[i].checked = obj[i].value == vls[i] ? true : false;
		else{
			obj[i].checked = obj[i].value == vls ? true : false;
		}
	}
}

function copycb_loadflashclipboard(){

	var x = arguments;
	clip = new ZeroClipboard.Client();
	clip.setHandCursor( true );
	
	clip.addEventListener('load', function(){});
	clip.addEventListener('mouseOver', function(){
		clip.setText(vls);
	});
	clip.addEventListener('complete', function(){	
		if(typeof(comment) == 'undefined') dyn_alert(blang_javascript[10111]);
		else dyn_alert(comment);
	});
	for(var i = 0; i < x.length ; ++i){
		clip.glue(x[i]);
	}
}



function copycb(vls , comment){

	if(typeof(clip) != 'undefined') clip.setText(vls);
	else {
		window.clipboardData.setData('Text' , vls);
		if(typeof(comment) == 'undefined') dyn_alert(blang_javascript[10111]);
		else dyn_alert(comment);
	}

	
}



function optioninsert(datax , obj , patten , delim , start){

	if(typeof getusergroup == 'undefined') return false;
	if(typeof delim == 'undefined') delim = '^!!^';
	if(typeof start == 'undefined') start = 0;
	var data = '';
	var tpatten = '';
	var tmppatten = '';
	for(var i = 0 ; i < obj.options.length; ++i){
		obj.options[start + i] = null;
	}
	
	for(var i = 0; i < datax.length ; ++i){
		data = datax[i].split(delim);
		tpatten = patten;
		for(var j = 0 ; j < data.length ; ++j){
			tmppatten = new RegExp('#match' + j , 'gi');
			if(data[j]) tpatten = tpatten.replace(tmppatten , data[j]);
		}
		if(tpatten && data[0]) obj.options[start + i] = new Option(tpatten , data[0]);
	}
	return true;
}



function optinsert(obj , vls , delim , start , selected){

	if(typeof delim == 'undefined') delim = '^!^';
	if(typeof start == 'undefined') start = 0;

	for(var i = 0 ; i < obj.options.length; ++i){
		obj.options[start + i] = null;
	}

	var datax = vls.split(delim);

	for(var i = 0; i < datax.length ; ++i){
		data = datax[i];
		sel = selected == data ? true : false;
		obj.options[parseInt(start) + i] = new Option(data , data , sel , sel);
	}
}



function checkactive(obj){
	obj = typeof(obj) == "object" ? obj : getid(obj);
	obj.checked = obj.checked == true ? false : true;
}



function activetoggle(tdiv , callback){
	tdiv = typeof(tdiv) == "object" ? tdiv : getid(tdiv);
	stat = tdiv.style.display;
	if(typeof(callback) == "function") callback();
	Effect.toggle(tdiv , 'slide');
}



function num2lang(val){

	var retdata=new Array();
	var price_unit0= new String(blang_javascript[21100]).split(',');
	var price_unit1= new String(blang_javascript[21101]).split(',');
	var price_unit2= new String(blang_javascript[21102]).split(',');
	var re=/^[1-9][0-9]*getid/;
	var num=new String(val).toString().split(",").join("");
	for( i = num.length-1; i >= 0; i-- ){
			retdata[i] = price_unit0[num.substr(num.length-1-i,1)];
			if( i > 0 && retdata[i] != "" ) { retdata[i]+= price_unit1[i%4]; };
			if( i % 4 == 0 ) { retdata[i]+= price_unit2[(i/4)]; };
	};
	for( i = num.length - 1; i >= 0; i-- ){
			if( retdata[i].length == 2) { retdata[i-i%4]+="-"; };
			if( retdata[i].length == 1 && i>0) { retdata[i]=""; };
			if( i%4 != 0 ) { retdata[i] = retdata[i].replace(blang_javascript[21103],""); };
	};
	retdata = retdata.reverse().join("").replace(/-+/g," ");
	return retdata;
};


function igear_objstart(url , size , id){
	this.init(url , size , id);
}

igear_objstart.prototype.init = function( url , size , id , exec){

	this.param = new Array();
	this.tags = new Array();

	this.url = url;
	if(typeof(size) != "undefined"){
		this.size = size.split(",");
		this.setparam('width',this.size[0]);
		this.setparam('height',this.size[1]);
	}else{
		this.size = new Array('','');
	}
	this.codebase = 'http:/' + '/download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0';
	this.classid = "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000";
	this.paramsplit = "!@#$!@#$";
	this.setparam('allowScriptAccess','sameDomain');
	this.setparam('quality','high');
	this.setparam('bgcolor','#ffffff');
	this.setparam('autostart','true');
	this.setparam('wmode','transparent');
	this.setparam('movie',this.url);
	this.setparam('src',this.url);

	if(typeof(exec) == 'function') exec(this);

	this.id = id;
}

igear_objstart.prototype.setparam = function(nm , vls , key){

	if(typeof(key) == "undefined") key = this.param.length;
	this.param[key] = nm + this.paramsplit + vls;
}

igear_objstart.prototype.write = function(obj){

	var embedoption = new Array();
	var id = this.id;
		
	this.tags[this.tags.length] = "<object id='"+ id +"' classid ='" + this.classid + "' codebase='"+ this.codebase+"' width="+ this.size[0]+" height="+ this.size[1]+">";
	for(var i = 0; i < this.param.length ; ++i){


		this.params = this.param[i].split(this.paramsplit);

		if(this.params[0] != "src") this.tags[this.tags.length] = "<param name='" + this.params[0] + "' value='" + this.params[1] + "'>";
		if(this.params[0] != "movie") embedoption[embedoption.length] = this.params[0] + "='" + this.params[1] + "'";
	}
	this.tags[this.tags.length] = "<embed " + embedoption.join(" ") + " width="+ this.size[0]+" height="+ this.size[1]+">";
	this.tags[this.tags.length] = "</object>";

	if(typeof(obj) != "undefined" && typeof(obj) == "object")	{
		obj.innerHTML = this.tags.join("\n");
	}
	else document.write(this.tags.join("\n"));
}



function _getparams(vls){
	var urlquery = typeof(vls) == 'undefined' ? new String(window.location.href).split("?") : new Array('' , vls);
	var vls = new String(urlquery[1]).split("&");
	var retdata = {};
	var tmp = "";
	for(var i = 0 ; i < vls.length ; ++i){
		tmp = new String(vls[i]).split("=");
		retdata[tmp[0]] = tmp[1];
	}
	return retdata;
}



function is_readyupload(){

	var frm = getnames("INPUT");
	var retdata = false;
	for(var i = 0 ; i < frm.length ; ++i){
		if(frm[i].getAttribute('type') == "file" && frm[i].value != "") retdata = true;
	}
	return retdata;
}



function viewcrtl(id , num , toggle){
	
	var str = new String(num).split(",");
	var pitem = getids(id);
	for(var i = 0 ; i < pitem.length; ++i){
		if(typeof(toggle) != 'undefined') pitem[i].style.display = in_array(i , str) == true && pitem[i].style.display != 'block' ? 'block' : 'none';
		else pitem[i].style.display = in_array(i , str) == true ? 'block' : 'none';
	}
}



ovlmsg = function(){};
ovlmsg.prototype = {

	overlaynm : "igear_ovloverlayer" ,
	overlay_opacity :  30,
	whitespacenm : "igear_ovlwhitespace",
	hiddenfrmnm : "igear_ovlhiddenfrm" ,
	whiteboxwidth : 750 ,
	whiteboxheight : 590 ,
	zoomnm  : 'igear_zoombox',

	
	overlay : function(){

			if(getid(this.overlaynm) == null){
				var ovldiv = document.createElement("DIV");
				var scrsize = getscrollsize();
				var brwsize = getbrwsize();
				var getoffsetsz = getoffsetsize('container_all');
				ovldiv.style.width = brwsize.width + "px";
				ovldiv.style.height = new String(getoffsetsz.height) + "px"; 
				ovldiv.style.backgroundColor = "#3c3c3c";
				ovldiv.name = ovldiv.id = this.overlaynm;
				ovldiv.style.top = "0px";
				ovldiv.style.left = "0px";
				ovldiv.style.filter = "alpha(opacity=" + this.overlay_opacity + ")";
				ovldiv.style.MozOpacity =  this.overlay_opacity / 100;
				ovldiv.style.opacity =  this.overlay_opacity / 100;
				ovldiv.style.position = "absolute";
				ovldiv.style.display = "none";
				ovldiv.onclick = function(){ new ovlmsg().action(true); }
				document.body.appendChild(ovldiv);
			}
	} ,

	
	whitespace : function(){

		var scrsize = getscrollsize();
		var brwsize = getbrwsize();
		var getoffsetsz = getoffsetsize('container_all');

		if(getid(this.whitespacenm) == null){
			var whitebox = document.createElement("DIV");
			var hiddenfrm = document.createElement("IFRAME");

			whitebox.name = whitebox.id = this.whitespacenm;
			hiddenfrm.name = hiddenfrm.id = this.hiddenfrmnm;
			hiddenfrm.style.width = whitebox.style.width = this.whiteboxwidth + "px";
			hiddenfrm.style.height = whitebox.style.height = this.whiteboxheight + "px";
			whitebox.style.backgroundColor = "#ffffff";
			whitebox.style.border = "1px solid #000000";
			whitebox.style.overflowY = "auto";
			whitebox.style.overflowX = "hidden";
			hiddenfrm.style.top = whitebox.style.top = new String(scrsize.top + brwsize.height / 2 - (this.whiteboxheight / 2)) + "px";
			hiddenfrm.style.left = whitebox.style.left = new String(brwsize.width / 2 - (this.whiteboxwidth / 2)) + "px";
			hiddenfrm.style.position = whitebox.style.position = "absolute";

			whitebox.style.display = "none";
			whitebox.style.zIndex = 5;
			hiddenfrm.frameBorder = 0;
			document.body.appendChild(whitebox);
			document.body.appendChild(hiddenfrm);

			if(typeof(getoffsetsz_whitespace) == 'undefined') getoffsetsz_whitespace = getoffsetsz;
		}
		else{

			getoffsetsz = getoffsetsz_whitespace;
			getid(this.overlaynm).style.width = brwsize.width + "px";
			getid(this.overlaynm).style.height = new String(getoffsetsz.height) + "px";

			getid(this.whitespacenm).style.width = getid(this.hiddenfrmnm).style.width = this.whiteboxwidth + "px";
			getid(this.whitespacenm).style.height = getid(this.hiddenfrmnm).style.height = this.whiteboxheight + "px";

			getid(this.whitespacenm).innerHTML = "";
			getid(this.hiddenfrmnm).style.top = getid(this.whitespacenm).style.top = new String(scrsize.top + brwsize.height / 2 - (this.whiteboxheight / 2)) + "px";
			getid(this.hiddenfrmnm).style.left = getid(this.whitespacenm).style.left = new String(brwsize.width / 2 - (this.whiteboxwidth / 2)) + "px";
		}
	} ,



	
	action : function(flag , callback){

		if(typeof(flag) == "undefined" || flag == ""){

			this.overlay();
			this.whitespace();

			getid(this.hiddenfrmnm).style.display = 'block';
			getid(this.whitespacenm).style.display = 'block';
			getid(this.overlaynm).style.display = 'block';
			if(typeof callback == "function") callback();

		}else {

			if(getid(this.hiddenfrmnm) == null) return false;

			getid(this.hiddenfrmnm).style.display = 'none';
			getid(this.whitespacenm).style.display = 'none';
			getid(this.overlaynm).style.display = 'none';
		}
	} ,



	
	screen : function(params , flag , callback , lastcallback , target , width , height){

		if(typeof params == "undefined" || params == ""){

			dyn_alert(blang_javascript[10105]);
			return;
		}

		if(params.indexOf('loadfile') < 0){

			dyn_alert(blang_javascript[10104]);
			return;
		}


		if(typeof(width) != 'undefined')
			this.whiteboxwidth = width;
		

		if(typeof(height) != 'undefined')
			this.whiteboxheight = height;
		

		this.action(flag , callback);
		target = typeof(target) == 'undefined' ? bcommon + 'loadajax.php' : target;


		new Ajax.Updater(
			this.whitespacenm , target , {parameters : params, method : 'post' , onComplete : function(rt){ if(typeof(lastcallback) == 'function') lastcallback(rt);}});
	} ,

	
	screeniframe : function(src , width , height , scrolling , func){
		
		var ifrm = document.createElement("IFRAME");
		width = parseInt(typeof(width) != 'undefined' ? width : this.whiteboxwidth);
		height = parseInt(typeof(height) != 'undefined' ? height : this.whiteboxheight);
		ifrm.src = src;
		
		
		ifrm.style.overflow = typeof(scrolling) == 'undefined' ? 'hidden' : 'auto';


		ifrm.frameBorder = '0';
		ifrm.width = width + 'px';
		ifrm.height = height + 'px';
		ifrm.name = ifrm.id = "_lightbox_ifrm";
		this.directscreen(ifrm , width , height , func);

	} ,

	
	directscreen : function(data , width , height , func){

		var tmpwidth = this.whiteboxwidth;
		var tmpheight = this.whiteboxheight;

		if(typeof(width) != "undefined" && typeof(height) != "undefined" && is_int(width) && is_int(height)){
			this.whiteboxwidth = width + 10;
			this.whiteboxheight = height + 10;
		}

		this.action();
		var tb = document.createElement('table');
		var tr = document.createElement('tr');
		var td = document.createElement('td');
		tb.width = this.whiteboxwidth;
		tb.height = this.whiteboxheight;
		td.align = 'center';
		td.valign = 'top';
		td.appendChild(data);
		tr.appendChild(td);
		tb.appendChild(tr);
		getid(this.whitespacenm).innerHTML = getouterHTML(tb);
		this.whiteboxwidth = tmpwidth;
		this.whiteboxheight = tmpheight;

		typeof(func) == 'function' ? func() : '';
	} ,

	
	ovlimage : function(id , msg){
		
		var pimg = getids(id);
		var inc = 0;
		for(var i = 0 ; i < pimg.length ; ++i){

			pimg[i].onload = function(){
				tmp = new Image();
				tmp.src = this.src;
			}
				
			pimg[i].onclick = function(){
				var img = new Image();
				img.src = this.src;
				img.id = img.name = 'ovlimagespot';
				img.align = 'absmiddle';
				if(img.width == 0 || img.height == 0) dyn_alert(blang_javascript[10110]);
				else ovl.directscreen(img , img.width , img.height);
			};
			
			pimg[i].onmouseover = function(){
				this.style.border = "1px solid #FF7070";
			};
			pimg[i].onmouseout = function(){
				this.style.border = "1px solid #f7f7f7";
			};
			pimg[i].style.border = "1px solid #f7f7f7";
			if(typeof(msg) != "undefined") pimg[i].title = msg;

			pimg[i].style.cursor = "pointer";
		
		}
	},

	
	popupclose : function(id){

		var popupid = "popup_" + id;
		if(parent.getid(popupid) != null) document.body.removeChild(parent.getid(popupid));
		else if(getid(popupid) != null) document.body.removeChild(getid(popupid));
		else dyn_alert(flang_javascript['37007']);
	},

	
	popupmousemove : function(obj , id){

		if(typeof(obj) != 'object') return false;
		var popupid = "popup_" + id;
		var mdown_client = mdown_now = {};
		var tick = false;
		addevent(obj , 'mousedown' ,  function(e){

			ob = getid(popupid);
			mdown_now = {'x' : parseInt(ob.style.left) , 'y' : parseInt(ob.style.top)};
			mdown_client = {'x' : e.clientX , 'y' : e.clientY};
			tick = true;
		});

		addevent(obj , 'mouseup' ,  function(e){
			tick = false;
		});

		addevent(obj , 'mousemove' ,  function(e){

			if(!tick) return false;
			ob = getid(popupid);
			ob.style.left = (parseInt(mdown_now.x) + e.clientX - mdown_client.x) + 'px';
			ob.style.top = (parseInt(mdown_now.y) + e.clientY - mdown_client.y) + 'px';
			mdown_now = {'x' : parseInt(ob.style.left) , 'y' : parseInt(ob.style.top)};
		});

	},

	
	popuplayer : function(id , html , width , height , positiont , positionl){
		
		var scrsize = getscrollsize();
		var brwsize = getbrwsize();
		var popupid = "popup_" + id;
		if(typeof(positiont) == 'undefined') positiont = -1;
		if(typeof(positionl) == 'undefined') positionl = -1;
		
		if(getid(popupid) != null) this.popupclose(id);

		var popup = document.createElement("DIV");
		popup.style.overflowY = "auto";
		popup.style.overflowX = "hidden";
		popup.style.position = "absolute";
		popup.style.zIndex = "1000";
		popup.style.width = width + 'px';
		popup.style.height = height + 'px';
		popup.style.top = (positiont < 0 ? new String(scrsize.top + brwsize.height / 2 - (height / 2)) : positiont) + "px" ;
		popup.style.left = (positionl < 0 ? new String(brwsize.width / 2 - (width / 2)) : positionl) + "px";

		popup.name = popup.id = popupid;
		popup.innerHTML = html;
		document.body.appendChild(popup);
		
		
		

	
	},

	
	popupifrm : function(id , src , width , height , positiont , positionl){

		var popupid = "popup_" + id;
		var ifrmid = "popup_ifrm_" + id;

		var scrsize = getscrollsize();
		var brwsize = getbrwsize();
		var getoffsetsz = getoffsetsize('container_all');
		if(typeof(positiont) == 'undefined') positiont = -1;
		if(typeof(positionl) == 'undefined') positionl = -1;

		if(getid(popupid) != null) this.popupclose(id);

		var popup = document.createElement("DIV");
		popup.style.overflowY = "auto";
		popup.style.overflowX = "hidden";
		popup.style.position = "absolute";
		popup.style.zIndex = "1000";
		popup.style.border = "0px";
		popup.style.width = width + 'px';
		popup.style.height = height + 'px';
		popup.style.top = (positiont < 0 ? new String(scrsize.top + brwsize.height / 2 - (height / 2)) : positiont) + "px" ;
		popup.style.left = (positionl < 0 ? new String(brwsize.width / 2 - (width / 2)) : positionl) + "px";


		popup.name = popup.id = popupid;

		var ifrm = document.createElement("IFRAME");
		ifrm.style.overflow = typeof(scrolling) == 'undefined' ? 'hidden' : 'auto';
		ifrm.frameBorder = '0';
		ifrm.width = width + 'px';
		ifrm.height = height + 'px';
		ifrm.name = ifrm.id = ifrmid;

		popup.appendChild(ifrm);
		document.body.appendChild(popup);
		
		
		addevent(ifrm , 'load' ,  function(e){

			  var obj = typeof(e.target) != 'undefined' ? e.target : e.srcElement;
			  var ifrm = obj.contentWindow.document.body;
			  var height = ifrm.scrollHeight + (ifrm.offsetHeight - ifrm.clientHeight);
			  var width = ifrm.scrollWidth + (ifrm.offsetWidth - ifrm.clientWidth);
				if(height>0 && width>0){
					getid(popupid).style.height = obj.style.height = height + 'px';
					getid(popupid).style.width = obj.style.width = width + 'px';
				}
			  (new parent.ovlmsg()).popupmousemove(obj.contentWindow.document , id);
		});
		ifrm.src = src;

	
	}
	
	
}



function imagesize(src){
	var img = new Image();
	img.src = src;
	return {width : img.width , height : img.height};
}


function is_int(n) {
	var s = n.toString(), l = s.length;
	if (l > 11) return false;
	for (var i = (s.charAt(0) == '-') ? 1 : 0; i < l; i++) {
		switch (s.charAt(i)) {
			case '0':
			case '1':
			case '2':
			case '3':
			case '4':
			case '5':
			case '6':
			case '7':
			case '8':
			case '9': break;
			default : return false;
		}
	}
	return !(n < -2147483648 || n > 2147483647);
}


function frmswitch(){

	var obj = "";
	for(var i = 0; i < arguments.length ; ++i){
		obj = typeof(arguments[i]) == "object" ? arguments[i] : getids(arguments[i]);
		if(obj.length > 1){
			for(var j = 0; j < obj.length ; ++j){
				obj[j].disabled = obj[j].disabled == true ? false : true;
				obj[j].style.backgroundColor = obj[j].disabled == true ? "#cccccc" : "#ffffff";
			}
		}
		else {
			try{
				obj[0].disabled = obj[0].disabled == true ? false : true;
				obj[0].style.backgroundColor = obj[0].disabled == true ? "#cccccc" : "#ffffff";
			}catch(e){
				obj.disabled = obj.disabled == true ? false : true;
				obj.style.backgroundColor = obj.disabled == true ? "#cccccc" : "#ffffff";
			}
		}
	}
}





function getpagedata(npage, url , hist , sfrm , target , func){

	
	var frm = typeof(sfrm) != 'undefined' ? sfrm : frm;
	target = typeof(target) != 'undefined' ? target : 'paging_datalist';
	
	var hash = window.location.href.split('#')[1]||'';
	
	
	var params = Ajax.History.currentHash == null && hash ? hash : url + "&" +  form2urlquerystring(frm) + (npage ? "&page=" + npage : '');

	if(getid('loadingbuff') == null) buffimg();
	var ajaxresult = new Ajax.Updater(target , fcommon + 'floadajax.php' , {parameters : params , method : 'post' , onComplete : function(rt){if(typeof(func) == 'function'){ func(); } }});
	if(typeof hist == "undefined" || !hist )
		pagehistory(
			ajaxresult
			, function(params){getpagedata('' , params , undefined , frm); } , 'end');
	
}



function pagehistory(ajaxresult , callbackfunction , cmd){

	if(cmd == "end"){
		if(Ajax.History.locator == null) {pagehistory(ajaxresult , callbackfunction);}
		else{
			var hist = new Array();
			for(var a in ajaxresult.options.parameters){
				if(typeof(ajaxresult.options.parameters[a]) != "undefined")
					hist += a + "=" + (typeof(ajaxresult.options.parameters[a]) == 'object' ? ajaxresult.options.parameters[a].pop() : ajaxresult.options.parameters[a]) + "&";
			}
			Ajax.History.add(hist);
		};
	}
	else {
		
		Ajax.History.initialize({
			callback : callbackfunction ,
			iframeSrc : '/_blank.php'
		});
		
	}
}



function updownbutton(obj , imgpath , title1 , title2){

	title1 = typeof(title1) != 'undefined' ? title1 : updownbutton_title1;
	title2 = typeof(title2) != 'undefined' ? title2 : updownbutton_title2;

	var flag  = new String(obj.src).search(/put/gi) != -1 ? true : false;
	obj.src = imgpath + (flag == true ? "application_get.gif" : "application_put.gif");
	obj.title = flag == true ? title2 : title1;
}


function basename(src){
	
	var idx = src.lastIndexOf('/');
	var src = new String(src);
	return src.substring(idx + 1,src.length);
}


function optionreset(obj , key) {

	if(typeof key == "undefined") key = 0;

	for(var i = 0 ; i <= eval(obj).options.length ; ++i){
		eval(obj).options[key] = null;
	}
}



function cfmchecked_rowdelete(objnm){
	objnm = typeof(objnm) != 'undefined' ? objnm : 'selector[]';
	var selector = getids(objnm);
	var del = [];
	for(var i = 1 , mx = selector.length; i < mx ; ++i){
		if(selector[i].checked == true) del[del.length] = selector[i].value;
	}
	for(var i = 0 , mx = del.length; i < mx ; ++i){
		selector = getids(objnm);
		for(var xi = 1 , xmx = selector.length; xi < xmx ; ++xi){
			if(typeof(selector[xi]) == 'undefined') continue;
			if( selector[xi].value == del[i]){
				selector[xi].parentNode.parentNode.parentNode.removeChild(selector[xi].parentNode.parentNode);
			}
		}
	}
}




function dyn_button(id){

	getid(id).onmouseup = function(){

		this.style.marginTop = "0px";
		this.style.marginBottom = "0px";
	}
	getid(id).onmousedown = function(){
		this.style.marginTop = "1px";
		this.style.marginBottom = "-1px";
	}
}


function tag2querystring(objnm){

	var getobj = getids(objnm.replace(/\getid\getidinc/g, ''));
	var nm = "";
	var retdata = new Array();
	var ta = "";
	for(var i = 0; i < getobj.length; ++i){
		nm = objnm.replace(/\getid\getidinc/g , i);

		switch(getobj[i].type){
			case "checkbox":
			case "radio":
				ta = getobj[i].checked == true ? getobj[i].value : "";
			break;
			case "hidden":
			case "text":
			case "textarea":
			case "password":
				ta = getobj[i].value != "" ?  getobj[i].value : "";
			break;
			default :
				ta = getobj[i].tagName.toLowerCase() == "select" ? getobj[i].options[getobj[i].options.selectedIndex].value : "";
			break;
		}
		retdata[retdata.length] = encodeURIComponent(nm) + "=" + encodeURIComponent(ta);
	}

	return retdata.join("&");
}


function form2urlquerystring(objnm){

	var getobj = typeof(objnm) == "object" ? objnm : document.forms[objnm];
	var retdata = new Array();
	var ta = "";
	var nm = "";
	var skip = false;
	var length = getobj.length;
	for(var i = 0; i < length; ++i){
		
		if(!getobj[i].value) continue;
		switch(getobj[i].type){
			case "checkbox":
			case "radio":
				ta = getobj[i].checked == true ? getobj[i].value : '';
				skip = !ta ? true : false;
			break;
			case "hidden":
			case "text":
			case "textarea":
			case "password":
				ta = getobj[i].value;
			break;
			default :
				ta = getobj[i].tagName.toLowerCase() == "select" && getobj[i].options.selectedIndex > -1 ? getobj[i].options[getobj[i].options.selectedIndex].value : "";
			break;
		}

		if(skip == false) retdata[retdata.length] = encodeURIComponent(getobj[i].name) + "=" + encodeURIComponent(ta);
		skip = false;
	}
	return retdata.join("&");
}



function literalmatchvalue(frminputnm){

	var nm = new String(frminputnm).replace(/\[\]/gi,'');
	var frminputbox = getids(frminputnm);
	var retdata = new Array();
	var ta;
	for(var i = 0; i < frminputbox.length ; ++i){
		ta = '';
		switch(frminputbox[i].type){
			case "checkbox":
			case "radio":
				ta = frminputbox[i].checked == true ? frminputbox[i].value : '';
			break;
			case "hidden":
			case "text":
			case "textarea":
			case "password":
				ta = frminputbox[i].value;
			break;
			default :
				ta = frminputbox[i].tagName.toLowerCase() == "select" ? frminputbox[i].options[frminputbox[i].options.selectedIndex].value : '';
			break;
		}
		retdata[i] = encodeURIComponent(nm + '[' + i + ']') + '=' + encodeURIComponent(ta);
	}
	return retdata.join('&');
}



function checkboxvls(obj){
	
	var a = typeof(obj) == 'object' ? obj : getids(obj);
	var ty , rt ;
	for(var i = 0 ; i < a.length ; ++i){
		ty = a[i].getAttribute('type');
		if(ty == 'checkbox' || ty =='radio')
			if(a[i].checked == true)
				rt = a[i].value;
	}
	return rt;
}



function searcher(obj , searchtext){

	if(typeof(obj) != "object") return false;
	var sel = "";
	var retdata = new Array();

	if(typeof(obj.length) == "undefined"){
		var rs = new RegExp('' + searchtext + '' , 'ig');
		sel = rs.exec(obj.value);
		if(sel != null){
			 retdata[0] = true;
		}
	}
	else {

		for(var i = 0 ;  i < obj.length ; ++i){
			var rs = new RegExp('' + searchtext + '' , 'ig');
			sel = rs.exec(obj[i].value);
			if(sel != null){
				 retdata[retdata.length] = i;
			}
		}
	}

	return retdata;
}



function in_array( str , arr){

	if(typeof(arr) != "object") return false;
	var retdata = false;
	var length = arr.length;
	if(arr instanceof Object){
		for(var i in arr){
			retdata = str == arr[i] ? true : false;
			if(retdata == true) break;
		}
	}
	else if(arr instanceof Array){
		for(var i = 0; i < length; ++i){
			retdata = str == arr[i] ? true : false;
			if(retdata == true) break;
		}
	}
	return retdata;
}



function cfmchecked(frmobj , cfmvls , base){

	var basecnt = 0;
	var pinput = new String(cfmvls).split(",");
	for(var i = 0 ; i < frmobj.length; ++i){
		for(var j = 0; j < pinput.length; ++j){
			if(frmobj[i].value == pinput[j]){ 
				frmobj[i].checked = true; 
				++basecnt;
			}
		}
	}

	if(basecnt == 0 && typeof(base) != 'undefined') base.checked = true;
}


function is_checked(obj){
	var selector = typeof(obj) == 'object' || typeof(obj) == 'function' ? obj : getids('selector[]');
	var t = 0;
	for(var i = 1 , mx = selector.length ; i < mx ; ++i){
		if(selector[i].value != '' && selector[i].checked == true) ++t;
	}
	return t >0 ? t : false;
}


function is_empty(vls){
	return typeof(vls) == 'undefined' ? true : false;
}



function igeardomcontrol(){

	this.nodearray = "";
}
igeardomcontrol.prototype = {

	get_nodedata_array : function(nodeobj){

		
		var retdata = new Array();
		for(var i = 0 ; i < nodeobj.length ; ++i){
			if(nodeobj[i].nodeName != "#text" && nodeobj[i].nodeName != "undefined"){ 
				retdata[nodeobj[i].nodeName] = nodeobj[i].childNodes[0].nodeValue;
			}
			else if(typeof(nodeobj[i].nodeValue) != 'undefined'){										
				retdata[nodeobj[i].nodeName] = nodeobj[i].nodeValue;
			}
		}
		return retdata;
	},
	get_attribute_array : function(nodeobj){

		var nodenm = "";
		var nodevls = "";
		var retdata = new Array();

		nodenm = nodeobj.attributes;
		for(var j = 0 ; j < nodenm.length ; ++j){
			if(nodenm.item(j).nodeName) retdata[nodenm.item(j).nodeName] = nodenm.item(j).nodeValue;
		}
		return retdata;
	}
}




function entersubmit(frm , func){

	var getinput = document[frm].elements;
	var brw = typeof(document.all) != 'undefined' ? 'ie' : 'etc';
	for(var i =0 ; i < getinput.length ; ++i){
		if(getinput[i].type == "text" || getinput[i].type == "password"){
			addevent(getinput[i] , 'keydown' , function(e){ 
			
				var t = "";
				if(brw == "ie")
					t = event.keyCode == 13 ? true : "";
				else
					t = e.keyCode == 13 ? true : "";
				if(t == true && typeof(func) == 'function'){
					func();
					return false;
				}

			});
		}
	}
}




function enterpartsubmit(s , func){
	if(typeof(s) != 'object' || typeof(func) != 'function') return false;
	addevent(s , 'keydown' , function(e){ 
	
		if(typeof(event) != 'undefined' && event.keyCode == 13){ document.body.focus(); func(); return false;}
		else if(typeof(e) != 'undefined' && e.keyCode == 13){document.body.focus();  func(); return false;}
	});
}





function keymatch(event , reg){
	var ev = event || window.event;
	var evcode = ev.keyCode != null ? ev.keyCode : ev.which;
	var str = String.fromCharCode(evcode);
	var n = new RegExp(reg);
	if(n.exec(str) == null && evcode != 8 && evcode != 9 ){
		if(typeof(document.all) == 'undefined'){
			ev.preventDefault();
		}
		else{
			ev.returnValue = false;
		}
	}
}

function popzipcode(resultfunction){

	window.open(plugin + 'zipcode/zipcode.php?openerfunc=' + resultfunction , 'pop_zipcode' , 'width=450,height=1,scrollbars=yes');
}

function popmemdetail(memid){

	window.open('../member/member_detail.php?memid=' + memid , 'pop_memdetail' , 'width=650,height=1,scrollbars=yes');
}


function blinkst() {
  var blink = document.getElementsByTagName("BLINK");
  for (var i=0; i < blink.length; i++){
     blink[i].style.visibility = blink[i].style.visibility == "visible" ? "hidden" : "visible";
  }
  setTimeout(blinkst,500);
}
if(typeof document.all != "undefined") blinkst();



function divdisplay(divnm , key , command){

	key = typeof key == "undefined" ? 0 : key;
	var tdiv = getids(divnm);
	tdiv[key].style.display = command;
}


function editorctrl(plugin_path , divnum){

	igeared[divnum] = new igeareditor(document.getElementById("igeareditor_put" + divnum), plugin_path + "igeareditor/");
	igeared[divnum].conf.width = "530";
	igeared[divnum].init();
}


function buffimg(){

	if(getid('loadingbuff') == null){

		var div = document.createElement("DIV");
		div.id = "loadingbuff";
		div.name = "loadingbuff";
		div.style.position = "absolute";
		var getbrwsz = getbrwsize();
		var getscrollsz = getscrollsize();
		div.style.top = new String(getscrollsz.top + getbrwsz.height / 2 - 20) + "px";
		div.style.left = new String(getbrwsz.width / 2 - 20) + "px";
		div.style.padding = "30px";
		div.style.zIndex = 10;
		
		
		var img = document.createElement("IMG");
		img.style.width = 32 + "px";
		img.style.height = 32 + "px";
		img.src = fcommon + "images/dynimic/loading.gif";
		img.align = "absmiddle";
		div.appendChild(img);
		div.innerHTML += "&nbsp;<span class='fontgray f8pt'>데이타를 로드중입니다.</span>"; 
		getid("body_main").appendChild(div);
		
		var ajaxbuffing = {

			onCreate : function(){
				var getbrwsz = getbrwsize();
				var getscrollsz = getscrollsize();
				div.style.top = new String(getscrollsz.top + getbrwsz.height / 2 - 20) + "px";
				div.style.left = new String(getbrwsz.width / 2 - 20) + "px";
				getid("loadingbuff").style.display = '';
			} ,
			onComplete : function(){ getid("loadingbuff").style.display = Ajax.activeRequestCount == 0 ? 'none' : '';}
		};

		Ajax.Responders.register(ajaxbuffing);
	}
}



function print_rr(obj , line){
	var prtviewer = eval("submitframe");
	getid("submitframe").width = "800px";
	getid("submitframe").height = "500px";
	var msg = [];
	if(typeof(line) == 'undefined') msg[msg.length] = "<span style='font-size:8pt;font-family:tahoma;color:#FF002A;'>-------------------------</span><br />";

	if(typeof obj == "object"){
		for(var i in obj){
			msg[msg.length]= "*" + i + " => <span style='font-size:8pt;font-family:tahoma;color:#2A55FF;'>" + obj[i] + "(" + typeof(obj[i]) + ")</span><br />";
		}
	}
	else {
		 msg[msg.length] = obj + "<br />";
	}
	if(typeof(line) == 'undefined') msg[msg.length] = "<span style='font-size:8pt;font-family:tahoma;color:#FF002A;'>-------------------------</span><br />";
	prtviewer.document.body.innerHTML += msg.join('');
	prtviewer.scrollBy(0,prtviewer.document.body.scrollHeight);
}



function cancel_confirm(){
	getid('dyn_alert_div').style.display = "none";
	getid('dyn_alert_div_ifrm').style.display = "none";
	getid('dyn_alert_overlay').style.display = "none";
}


function dyn_confirm(msg , yesfunction ,  nofunction , displaytime , topmsgnum , width , height){

	if(typeof nofunction == "undefined" || nofunction == "") nofunction = 'cancel_confirm();return false;';
	else nofunction += ');return false;';


	yesfunction += ');return false;';
	var taconfirm = "<table width='100%' height='100%' border=0>\
	<tr>\
		<td align='center' style='height:90px;'>" + msg +  "</td>\
	</tr>\
	<tr>\
		<td align='center'>\
			<button class='button4_w' onclick=\"" + yesfunction + "\">" + blang_javascript[10001] + "</button>\
		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\
			<button class='button4_w' onclick=\"" +  nofunction + "\">" + blang_javascript[10002] + "</button>\
		</td>\
	</tr>\
	</table>";
	dyn_alert(taconfirm , displaytime , topmsgnum , width , height);
}


function dyn_alert(msg , displaytime , topmsgnum , width , height){

	var ifrmnm = "dyn_alert_div_ifrm";
	var divnm = "dyn_alert_div";
	var tdnm = "dyn_alert_msgspot";
	var overlay = "dyn_alert_overlay";
	width = typeof width != "undefined" ? width : 370;
	height = typeof height != "undefined" ? height : 200;
	if(getid(divnm) == null){

		topmsgnum = typeof topmsgnum == "undefined" ? 10000 : topmsgnum;
		var div = document.createElement("DIV");
		div.id = divnm;
		div.name = divnm;
		var getbrwsz = getbrwsize();
		var getscrollsz = getscrollsize();
		var getoffsetsz = getoffsetsize('container_all');
		div.overflow = "visible";
		div.margin = "0px";

		div.style.top = new String(getscrollsz.top + getbrwsz.height / 2 - (height / 2)) + "px";
		div.style.left = new String(getbrwsz.width / 2 - (width / 2)) + "px";

		div.style.position = "absolute";
		div.style.zIndex = 10;
		div.style.width =  width + "px";
		div.style.height = height + "px";
		div.style.backgroundColor = "#ffffff";
		div.style.textAlign = 'center';

		div.innerHTML = '<table cellpadding="0" cellspacing="0" border="0" bgcolor="#ffffff">\
		<tr>\
			<td><img src="' + bcommon + 'images/dyn_alert_lt.gif" width="12" height="13" alt="" /></td>\
			<td style="background-image:url(\'' + bcommon + 'images/dyn_alert_top_bar.gif\');"></td>\
			<td><img src="' + bcommon + 'images/dyn_alert_rt.gif" width="12" height="13" alt="" /></td>\
		</tr>\
		<tr>\
			<td style="background:url(\'' + bcommon + 'images/dyn_alert_left_bar.gif\') repeat-y;"></td>\
			<td width="' + width + '" height="' + height + '" align="center" valign="top">\
			<table width="100%" border="0">\
				<tr>\
					<td height="20" align="left">\
						<div style="width:20px;float:left;padding:3px;"><img src="' + bcommon + 'images/cca/error.gif" align="absmiddle" /></div><div style="width:' + (width - 90) + 'px;padding:3px;float:left;font-size;8pt;font-weight:bold;">' + blang_javascript[topmsgnum] + '</div><div style="width:20px;padding:3px;text-align:right;float:left;"><img src="' + bcommon + 'images/cca/s_close.gif" align="absmiddle" style="cursor:pointer;" onclick="getid(\'' + divnm + '\').style.display = \'none\';getid(\'' + ifrmnm + '\').style.display = \'none\';getid(\'' + overlay + '\').style.display = \'none\';\" /></div>\
					</td>\
				</tr>\
				<tr>\
					<td id="' + tdnm + '" name="' + tdnm + '" height="' + (height - 20) + '" align="center">' + msg + '</td>\
				</tr>\
			</table>\
			</td>\
			<td style="background:url(\'' + bcommon + 'images/dyn_alert_right_bar.gif\') repeat-y;"></td>\
		</tr>\
		<tr>\
			<td><img src="' + bcommon + 'images/dyn_alert_lb.gif" width="12" height="13" alt="" /></td>\
			<td style="background:url(\'' + bcommon + 'images/dyn_alert_bottom_bar.gif\') repeat-x 0% 100%;"></td>\
			<td><img src="' + bcommon + 'images/dyn_alert_rb.gif" width="12" height="13" alt="" /></td>\
		</tr>\
	  </table>';

		var ifrm = document.createElement("IFRAME");
		ifrm.width = width + "px";
		ifrm.height = parseInt(height) + 32 + "px";
		ifrm.style.position = "absolute";
		ifrm.style.zIndex = 1;
		ifrm.style.top  = div.style.top;
		ifrm.style.left  = div.style.left;
		ifrm.frameBorder = 0;
		ifrm.id = ifrm.name = ifrmnm;
		document.body.appendChild(ifrm);
		document.body.appendChild(div);

		var ovldiv = document.createElement("DIV");
		var scrsize = getscrollsize();
		var brwsize = getbrwsize();
		var getoffsetsz = getoffsetsize('container_all');
		ovldiv.style.width = brwsize.width + "px";
		ovldiv.style.height = new String(brwsize.height + getoffsetsz.height) + "px"; 
		ovldiv.name = ovldiv.id = overlay;
		ovldiv.style.top = "0px";
		ovldiv.style.left = "0px";
		ovldiv.style.filter = "alpha(opacity=30)";
		ovldiv.style.MozOpacity =  30 / 100;
		ovldiv.style.opacity =  30 / 100;
		ovldiv.style.position = "absolute";
		document.body.appendChild(ovldiv);
		
		getid(overlay).style.backgroundColor = "#ffffff";

	}
	else{
		getid(tdnm).innerHTML = msg;
		getid('dyn_alert_div').style.display = '';
		getid('dyn_alert_div_ifrm').style.display = '';
		getid('dyn_alert_overlay').style.display = '';

		var getbrwsz = getbrwsize();
		var getscrollsz = getscrollsize();
		var getoffsetsz = getoffsetsize('container_all');
		getid(divnm).style.top = new String(getscrollsz.top + getbrwsz.height / 2 - (height / 2)) + "px";
		getid(divnm).style.left = new String(getbrwsz.width / 2 - (width / 2)) + "px";

		getid(ifrmnm).style.top  = getid(divnm).style.top;
		getid(ifrmnm).style.left  = getid(divnm).style.left;
	}

	displaytime = typeof displaytime == "undefined" ? 5000 : displaytime;


	if(displaytime != true){
		setTimeout("getid('" + divnm + "').style.display = 'none';" , displaytime);
		setTimeout("getid('" + ifrmnm + "').style.display = 'none';" , displaytime);
		setTimeout("getid('" + overlay + "').style.display = 'none';" , displaytime);
	}
}



function getbrwsize(){
	return {"width" : (self.width ? self.width : (document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.clientWidth)) , "height" : (self.height ? self.height : (document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight)) }
}



function getscrollsize(){
	return {"top" : (self.pageYOffset ? self.pageYOffset : (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop)) , "left" : (self.pageXOffset ? self.pageXOffset : (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft)) }
}



function getoffsetsize(id){
        return typeof id != "undefined" ? { width : document.getElementById(id).offsetWidth , height  : document.getElementById(id).offsetHeight} : ( document.body.scrollHeight > document.body.offsetHeight ? { width : document.body.scrollWidth , height : document.body.scrollHeight} : {width : document.body.offsetWidth , height : document.body.offsetHeight});
}



function getnowoffset(tid , cmd){
		return cmd == 'left' ? {'left' : (tid ? tid.offsetLeft + getnowoffset(tid.offsetParent , 'left') : 0)} : {'top' : (tid ? tid.offsetTop + getnowoffset(tid.offsetParent) : 0)};	
}








function selbox(obj , cmd , skip , func){

	if(typeof(skip) != "undefined"){

		var getskip = skip.split(",");
		var theskip = false;
	}

	if(typeof(obj) == "object"){

		for(var i=1; i < obj.length ; ++i){

			if(typeof(skip) != "undefined" && skip != ''){

				for(var jj = 0; jj < getskip.length ; ++jj){
					theskip = getskip[jj] == obj[i].value ? true : false;
					if(theskip == true)  break ;
				}
				if(theskip == true) continue;
			}
			if(obj[i].disabled == true) obj[i].checked = false;
			else {
				switch(cmd){
					case "enable":
						obj[i].checked = true;
					break;
					case "reflect":
						if(obj[i].checked == true) obj[i].checked = false;
						else if(obj[i].checked == false) obj[i].checked = true;
					break;
					case "disable":
						obj[i].checked = false;
					break;
				}
			}
		}
	}

	if(typeof(func) == 'function') func();
}





function sp(code){

	 if(typeof(code) != 'function') return false;
	 if(typeof(print_rr) == 'undefined'){ function print_rr(a){ alert(a);}};
	 var _start = new Date().getTime();
		code();
	 var _end = new Date().getTime();
	  print_rr("Elapse time : "+(_end-_start)/1000+"ms");
	 return true;
}



function setcookie(name, value , savetime) {

	var plustime = typeof savetime == "undefined" ? 86400 : savetime;
	var today = new Date();
	var expire_date = new Date();
	expire_date.setTime(today.getTime() + ((3600 * 9) + parseInt(plustime)) * 727);
	document.cookie = name + "=" + escape(value) + "; path=/; expires=" + expire_date;
}


function addevent(obj , event , func){
	
	var xx =obj.attachEvent ? obj.attachEvent('on' + event , func) : (obj.addEventListener ? obj.addEventListener(event , func , true) : '');
	if(!xx){
		var old = obj[event];
		obj[event] =  typeof obj[event] != 'function' ? func : obj[event] = function(e){ old(e); func(e); }
	}
	addeventclear.add(obj , event , func , true);
}

var addeventclear = function(){
	
	var item = [];
	return {
		add : function(){
		
			item[item.length] = arguments;
		}
		,
		reset : function(){
			
			var length = item.length;
			var vls = '';
			for(var i = 0; i < length ; ++i){
				vls = item[i];
				vls[1] = vls[1].substring(0, 2) != 'on' ? 'on' + vls[1] : vls[1];
				vls[0].removeEventListener ? vls[0].removeEventListener(vls[1] , vls[2] , vls[3]) : (vls[0].detachEvent ? vls[0].detachEvent(vls[1] , vls[2]) : '');
				vls[0][vls[1]] = null;
			}
		}
	}
}();


function getcookie(name) {
	var from_idx = document.cookie.indexOf(name+'=');
	if (from_idx != -1) {
		from_idx += name.length + 1;
		to_idx = document.cookie.indexOf(';', from_idx);

		if (to_idx == -1) {
			to_idx = document.cookie.length;
		};
		return unescape(document.cookie.substring(from_idx, to_idx));
	 };
}

function clearcookie(name) {
	var today = new Date();
	var expire_date = new Date(today.getTime() - 60*60*24*1000);
	document.cookie = name + "= " + ";path=/; expires=" + expire_date.toGMTString();
}



function getouterHTML(obj){
	 temp= obj.cloneNode(true);
	 var tmpdiv = document.createElement("DIV");
	 tmpdiv.appendChild(temp);
	 outer = tmpdiv.innerHTML;
	 return outer;
}


function getchildnodelength(obj){

	var retdata = 0;
	if(typeof(document.all) != "undefined"){
		retdata = obj.childNodes.length;
	}
	else {

		for(var i = 0; i < obj.childNodes.length; ++i){
			if(obj.childNodes[i].nodeName != "#text" && obj.childNodes[i].nodeName != "undefined"){
				++retdata;
			}
		}
	}
	return retdata;
}


function prtnum(num , decpointspot){
	var tnum = new String(num);
	decpointspot = typeof(decpointspot) != "undefined" && decpointspot != 0 ? parseInt(decpointspot) + 1 : 0;
	return tnum.substr(0 , parseInt(tnum.indexOf(".") > 0 ? tnum.indexOf(".") : tnum.length) + decpointspot);
}



function number_format(price , unit){

	var addpriceflag = "";
	var extprice = "";
	
	unit = typeof(unit) == 'undefined' ? 1 : unit;
	price = price / unit;
	price=new String(price);
	price = price.replace(/,/gi,'');

	if(price.indexOf(".") != -1){

		var tmpprice = price.split(".");
		price = tmpprice[0];
		extprice = "." + tmpprice[1];
	};

	if(price.indexOf("-") == 0){

		price = price.replace(/-/gi,'');
		addpriceflag = "-";
	};

	var tstrLen=price.length;
	var okstr=new String();
	var ii=2;
	var comma=3;
	for(var i=tstrLen;i>=0;--i){

		if(ii%comma==0&&i!=tstrLen){
			okstr=","+okstr;
			ii=0;
		};
		okstr=price.charAt(i)+okstr;
		++ii;
	};
	okstr=okstr.substring(0,parseInt(okstr.length)-1);
	okstr = addpriceflag + okstr + extprice;

	return okstr;
}

function mSelected(obj){

	var objEntity=multiSelected(obj);

	var entity=new Array();
	var retdata=new String();
	var a=new String();
	for(var i = 0 ; i < objEntity.length-1 ; ++i){
		a = objEntity[i];
		if(obj[a].value) entity[i] = obj[a].value;
	};
	retdata = entity.join('^');

	return retdata;
};

function multiSelected(fmObj){

	var lengths=fmObj.length;
	var saveIndex=new String();
	for(var i=0;i<lengths;++i){
		if(fmObj.options[i].selected==true)
		saveIndex=i+";"+saveIndex;
	};
	var retdata=new Array();
	retdata=explode(';',saveIndex);

	return retdata;
};

function explode(ld,xms){
	return xms.split(ld);
};

function is_validemail(stremail){

	var format = /^((\w|[\-\.])+)@((\w|[\-\.])+)\.([A-Za-z]+)getid/;
	return new String(stremail).search(format) != -1 ? true : false;
};

function is_number(str){

	 var strreg=/(^\d+$)|(^\d+\.\d+$)/
	 return strreg.test(str) ? true : false;
};

function is_han(obj){

  if( obj.value.length > 0 ){
		var len;
		s = obj.value;
		len = s.length;
		for (var i = 0; i < len; i++)  {
			if (s.charCodeAt(i) < 128 ){
				dyn_alert(blang_javascript[10103]);
				obj.value = "";
				return;
			};
		};
	};
};



function ctrl_optionspot(cnum , sdivspot , tdivspot , idx){

	var tdiv = document.getElementsByName(tdivspot);
	var sdiv = document.getElementsByName(sdivspot);

	var j  = typeof idx != "undefined" ? idx : 0;
	if(cnum > sdiv.length){

		for(var i = sdiv.length; i < cnum; ++i){
			tdiv[j].appendChild(sdiv[0].childNodes[0].parentNode.cloneNode(true));
		}
	}
	else if(cnum < sdiv.length){
		for(var i = sdiv.length; i > cnum ; --i){

			tdiv[j].removeChild(sdiv[i - 1]);
		}
	}
}



function ctrl_optionchildspot(cmd , sdivspot , tdivspot , langnum , delskip){

	langnum = typeof(langnum) == 'undefined' ? 30014 : langnum;
	delskip = typeof(delskip) == 'undefined' ? false : true;

	if(cmd == "add"){
		tdivspot.innerHTML += getouterHTML(sdivspot);
	}else if(cmd == "del"){
		if(getchildnodelength(tdivspot) < 2 && delskip == false){
			var cmt = "";
			cmt = typeof(blang_part_javascript) != 'undefined' ? blang_part_javascript[langnum] : flang_part_javascript[langnum];
			dyn_alert(cmt);
			return;
		}
		tdivspot.removeChild(sdivspot);
	}
}


function ctrl_tablechild(cmd , strobj , tbodyobj , min , max , func){
	
	
	frmnum = tbodyobj.childNodes.length - 1;
	min = typeof(min) == 'undefined' ? 1 : min;
	max = typeof(max) == 'undefined' ? 99999 : max;


	if(cmd == 'add'){
			
		if(frmnum > max){
			dyn_alert((blang_javascript[30043]).replace(/\$\$max/ , max));
			return false;
		}
		var strcpobj = strobj.cloneNode(true);
		tbodyobj.appendChild(strcpobj);
	}
	else if(cmd == 'del'){  
		if(frmnum <= min) {
			dyn_alert((blang_javascript[30044]).replace(/\$\$min/ , min));
			return false;
		}
		tbodyobj.removeChild(strobj);
	}
	if(typeof(func) == 'function'){
		func(frmnum);
	}
}





function getkey(obj , compareobj){
	obj = typeof(obj) == "object" ? obj : getids(obj);
	var retdata = null;
	for(var i = 0 ; i < obj.length ; ++i){ if(obj[i] === compareobj) retdata = i; }
	return retdata;
}


function getbottom(obj){

	obj = typeof(obj) == "object" ? obj : getid(obj);
	return obj.scrollHeight - obj.clientHeight;
}

function getid(objnm , tdoc){

	var x = typeof(tdoc) != "undefined" && tdoc != "" ? eval(tdoc).document.getElementById(objnm) : document.getElementById(objnm);
	return x != null ? x : getids(objnm)[0];
}

function getids(objnm , tdoc){
	return typeof(tdoc) != "undefined" && tdoc != "" ? eval(tdoc).document.getElementsByName(objnm) : document.getElementsByName(objnm);
}

function getnames(objnm , tdoc){
	return typeof(tdoc) != "undefined" && tdoc != "" ? eval(tdoc).document.getElementsByTagName(objnm) : document.getElementsByTagName(objnm);
}


 
function logon(log){
	log = typeof log == 'undefined' ? 'f' : log;
	logtail = new tail(log);
	logtail.getlog();
}

 
function logpopup(type){
	window.open(bcommon + 'loadlogtail.php?log=' + type , 'log' , 'width=700,height=500');
}

tail = function(){ var arg = arguments; this.initilize(arg[0] , arg[1] , arg[3]);};
tail.prototype = {
	type : 'f',
	linestatus : 0,
	datetime : '',
	time : '',
	initilize : function(type , linestatus , date){
		this.time = new Date();
		var month = new String(this.time.getMonth() + 1);
		var day = new String(this.time.getDate());
		this.datetime = new String(this.time.getFullYear())  + '-' + (month.length == 1 ? '0' : '') + month + '-' + (day.length == 1 ? '0' : '') + day;
		this.type = typeof type != 'undefined' ? type : 'f';
		this.linestatus = typeof linestatus != 'undefined' && linestatus != '' ? linestatus : 0;
	},
	getlog : function(){
		var params = 'tp=' + this.type + '&dt=' + this.datetime + '&ls=' + this.linestatus;
		var th = this;
		new Ajax.Request(bcommon + 'loadlogtail.exec.php' , {parameters : params , method : 'post' , onComplete : function(rt){
			var getdata = rt.responseXML;
			var resultcode_block = getdata.getElementsByTagName("resultcode");
			var resultcode = resultcode_block[0].childNodes[0].nodeValue;
			var linestatus_block = getdata.getElementsByTagName("linestatus");
			var linestatus = linestatus_block[0].childNodes[0].nodeValue;
			var tailresult_block = getdata.getElementsByTagName("tailresult");
			var tailresult = tailresult_block[0].childNodes[0].nodeValue;
			var reload = function(){th.getlog();}
			if(th.linestatus != linestatus){
				th.linestatus = linestatus;
				print_rr("<xmp style='font-size:8pt;font-family:tahoma;word-break:break-all;'>" + tailresult + "</xmp>" , true);
			}
			setTimeout(reload , 3000);
		}});
	}
};


 
function coloring(compareobj , basecolor , changecolor){
	
	var reset = false;
	var nm = '';
	basecolor = is_empty(basecolor) ? 'ffffff' : basecolor;
	if(typeof(compareobj) != 'object'){
		reset = true
		nm = compareobj;
	}
	else {
		nm = is_empty(compareobj.id) == false ? compareobj.id : compareobj.name;
	}
	var targets = getids(nm);
	for(var i = 0 ; i < targets.length ; ++i){
		if(compareobj == targets[i] && reset == false){
			targets[i].style.color = '#' + changecolor;
			targets[i].style.fontWeight = 'bold';
		}
		else{
			targets[i].style.color = '#' + basecolor;
			targets[i].style.fontWeight = 'normal';
		}
	}
}



function categoryview(cmd , key){
	var subcatdiv = getids('subcategoryitem');
	subcatdiv[key].style.display = cmd;
}



function product_selectoption(addparam , callback , lastcallback , width , height){
	
	if(typeof(ovl) == 'undefined') ovl = new ovlmsg();
	var params = '&setupload_predir=product&loadfile=product_selectoption&' + addparam;
	ovl.screen(params , '' , callback , lastcallback , fcommon + 'floadajax.php' , width , height);
}




function blightbox(params){
	
	var target = bcommon + 'loadajax.php';
	var flag = '';
	var callback = function(){}
	var lastcallback = function(rt){}
	ovl.screen(params , flag , callback , lastcallback , target);
}




function flightbox(params){
	
	var target = fcommon + 'floadajax.php';
	var flag = '';
	var callback = function(){}
	var lastcallback = function(rt){}
	ovl.screen(params , flag , callback , lastcallback , target);
}








function igearclass( proto ){

		var obj = function(){ this.__constructor.apply(this , arguments); };
		var Class = {

			__constructor : function(){
				
			},

			foundIt : function( original , clone ){

				var Dobehavior = new Array (
					
					function(){
						var value = this.i = original.length-1;
						if( value >= 0 )
						do { 

							clone[value] = original[value]; 
						} while ( value-- , this.i-- );
					},

					function(){
						var value = this.i = original.length-1;
						if( value >= 0 )
						do {

							revert = clone( arguments , value , this );
							if( revert != true ) return clone = revert;
						} while ( value-- , this.i-- );
					}
				);

				var Forbehavior = new Array (
					
					function(){
						for( var value in original ){

							clone[value] = original[value];
							this.i++;
						 }
					},

					function(){
						
						for( var value in original ){

							revert = clone( arguments , value , this );
							if( revert != true ) return clone = revert;
							this.i++;
						 }
					}
				);


				this.i = 0;
				var seq , revert;
				var tyob = this.ty ? this.ty.ob : typeof Object();
				var tyfn = this.ty ? this.ty.fn :  typeof Function();
				var behavior = original != null && original.length ? Dobehavior : Forbehavior;

				switch( typeof clone ){

					case tyob : {
						seq = 0;
						break;
					};

					case tyfn : {
						seq = 1;
						break;
					};

					default : {
						
					};
				}

				void( behavior[seq].apply( this , arguments ));

			return clone;
		},
		
		scrollSize : function(){

			return { 
				top : parseInt(self.pageYOffset ? self.pageYOffset : (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop)) , 
				left : parseInt(self.pageXOffset ? self.pageXOffset : (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft)) , 
				width : parseInt(document.documentElement.scrollWidth ? document.documentElement.scrollWidth : document.body.scrollWidth) , 
				height : parseInt(document.documentElement.scrollHeight ? document.documentElement.scrollHeight : document.body.scrollHeight) 
			};
		},

		offsetSize : function(){

			return self.width ? { width : parseInt(self.width) , height : parseInt(self.height) } : 
				( document.documentElement && document.documentElement.clientWidth ? { width : parseInt(document.documentElement.clientWidth) , height : parseInt(document.documentElement.clientHeight) } : { width : parseInt(document.body.clientWidth) , height : parseInt(document.body.clientHeight) } );
		}, 

		bind : function(){

			var args =	new this.foundIt( arguments , [] ).concat(this);
			var alternateFunction = args.shift();
			var needle = args.shift();

			return function(){
				return alternateFunction.apply( needle , args[args.length-1].foundIt( arguments , [] ).concat(args));
			}
		},

		eventCatch : function( source , name , eventFunction ){

			if( !source) return false;

			if( source.addEventListener){
				return source.addEventListener( name , eventFunction , false );
			}
			else if( source.attachEvent )
				return source.attachEvent( String( 'on' + name ) , eventFunction  );
		},

		eventRemove : function( source , name , eventFunction ){

			if( !source) return false;

			if( source.removeEventListener ){
				return source.removeEventListener( name , eventFunction , false );
			}
			else if( source.detachEvent )
				return source.detachEvent( String( 'on' + name ) , eventFunction  );
		},

		eventFire : function( source , name , eventFunction ){

			if( !source) return false;

			if( source.fireEvent ) return source.fireEvent( 'on' + name , this.foundIt( eventFunction , document.createEventObject()));
			else {

					var evt = document.createEvent( eventFunction.eventName );
					evt[eventFunction.eventMathod].apply( evt , Array( name ).concat( eventFunction.eventArgs ));

				return !source.dispatchEvent( evt );
			}
		},

		ty : {

			ob : typeof Object() ,
			fn : typeof Function() ,
			num : typeof Number() ,
			str : typeof String() , 
			bool : typeof Boolean() ,
			not : typeof undefined
		},

		$ : function( name , args ){

			try { return this[name].apply( this , args ? args : [] ); }
			catch( e ){

				var line = e.line || e.number & 0xFFFF || e.lineNumber ;
				var name = e.name ? 'error name : ' + e.name + '\r\n' : String();
				line = line ? 'error line : ' + line + '\r\n' + 'error_messege : ' : String();

				if( confirm( name + line + e.message + '\r\n--------------------------------------------------------\r\n' + 'Document reload ok?') === true )
					self.location.replace( top.document.URL );
			}
		}
	};

return obj.prototype = Class.foundIt( proto , Class ) , obj;
};





function dropfloor(vls , seed){
	var mod = Math.pow(10 , seed);
	return parseInt(vls * mod) / mod;
}





flashobj = new igear_objstart();
addevent(window , 'unload' , addeventclear.reset);



function searchstatus(){

	if(getid('research_c') != null && getid('research_c').checked){
		getid('searchvls_2').value = getid('searchvls').value;
		getid('searchvls_1').value = getid('searchvls_0').value;
	}
	else{
		getid('searchvls_1').value = getid('searchvls').value;
		getid('searchvls_2').value = '';
	}
}


function trackurlcopy(url , key){

	var params = 'key=' + encodeURIComponent(key) + '&url=' + encodeURIComponent(url);
	new Ajax.Request( plugin + 'trackback/trackback.reqkey.php' , {parameters : params , method : 'post' , onComplete : function(rt){

		try{
			var getdata = rt.responseXML;
			var resultcode_block = getdata.getElementsByTagName("resultcode");
			var resultcode = resultcode_block[0].childNodes[0].nodeValue;

			resultcode_block = getdata.getElementsByTagName("authkey");
			var authkey = resultcode_block[0].childNodes[0].nodeValue;
			dyn_alert(flang_part_javascript[resultcode]);

			copycb(url + authkey);

		}catch(e){ alert(e.message); }

	}});
}


_quick_view = function(){ this.ovl = new ovlmsg(); };
_quick_view.prototype = {

	quick_view : function(seq , pinid , x , y){

		
		this.ovl.popupifrm('quick_view' , front + 'product/product_quickview.php?seq=' + seq + '&pinid=' + pinid , 700 , 700 , x , y);
	},

	cart_insert : function(seq , pinid , direct){
		
		direct = typeof(direct) == 'undefined' ? '' : 1;
		product_selectoption('direct=' + direct +'&seq=' + seq + '&pinid=' + pinid , undefined , undefined ,  700 , 660);
	},

	wishlist_insert : function(seq , pinid){
		var params = 'loadfile=product_wishlist_proc&setupload_predir=product&seq=' + seq + '&pinid=' + pinid;
		
		if(getid('loadingbuff') == null) buffimg();
		new Ajax.Request( fcommon + 'floadajax.php' , {parameters : params , method : 'post' , onComplete : function(rt){

			try{
				var getdata = rt.responseXML;
				var resultcode_block = getdata.getElementsByTagName("resultcode");
				var resultcode = resultcode_block[0].childNodes[0].nodeValue;

				dyn_alert(flang_part_javascript[resultcode]);
				
			}catch(e){ alert(e.message); }

		}});
	},

	init : function(type){

			var spotobj = getids('spot_quick_viewer');
			var html = tdtag = atag= '';
			for(var i = 0; i < spotobj.length ; ++i){

				if(getids('quickview')[i]  != null) continue;

				tdtag = spotobj[i].parentNode.parentNode;
				atag = spotobj[i].parentNode;
				var parseurl = (atag.getAttribute('href')).split('?');
				var params = _getparams(parseurl[1]);
				
				if(typeof(type) == 'undefined'){
					html = '<table border="0" cellspacing="0" cellpadding="0"><tr><td onmouseover="this.childNodes[0].style.display = \'block\'"><div style="position:relative;top:-20px;left:-35px;display:none;" id="quickview" name="quickview">\
										<table width="77" border="0" cellspacing="0" cellpadding="0" style="position:absolute;" onmouseout="getids(\'quickview\')[' + i + '].style.display = \'none\';"><tr>\
										<td width="20" height="20" class="filter_opacity88 filter_opacitynone"><a href="javascript:;" onclick="(new _quick_view()).quick_view(\'' + params['seq'] + '\' , \'' + params['pinid'] + '\')"><img src="' + fcommon + 'images/icon/img_01.gif" width="20" height="20" id="icon_quickview" name="icon_quickview" onmouseover="viewcrtl(\'txt_quickview\' , getkey(\'icon_quickview\' , this));"></a></td>\
										<td width="19" class="filter_opacity88 filter_opacitynone"><a href="javascript:;" onclick="(new _quick_view()).wishlist_insert(\'' + params['seq'] + '\' , \'' + params['pinid'] + '\')"><img src="' + fcommon + 'images/icon/img_02.gif" width="19" height="20" id="icon_quickview" name="icon_quickview" onmouseover="viewcrtl(\'txt_quickview\' , getkey(\'icon_quickview\' , this));"></a></td>\
										<td width="19" class="filter_opacity88 filter_opacitynone"><a href="javascript:;" onclick="(new _quick_view()).cart_insert(\'' + params['seq'] + '\' , \'' + params['pinid'] + '\')"><img src="' + fcommon + 'images/icon/img_03.gif" width="19" height="20" id="icon_quickview" name="icon_quickview" onmouseover="viewcrtl(\'txt_quickview\' , getkey(\'icon_quickview\' , this));"></a></td>\
										<td width="19" class="filter_opacity88 filter_opacitynone"><a href="javascript:;" onclick="(new _quick_view()).cart_insert(\'' + params['seq'] + '\' , \'' + params['pinid'] + '\' , 1)"><img src="' + fcommon + 'images/icon/img_04.gif" width="19" height="20" id="icon_quickview" name="icon_quickview" onmouseover="viewcrtl(\'txt_quickview\' , getkey(\'icon_quickview\' , this));"></a></td>\
										</tr>\
										<tr><td colspan="4">\
											<div class="a_left"><img src="' + fcommon + 'images/icon/text_01.gif" align="absmiddle" style="display:none;" id="txt_quickview" name="txt_quickview"></div>\
											<div class="a_left"><img src="' + fcommon + 'images/icon/text_02.gif" align="absmiddle" style="display:none;" id="txt_quickview" name="txt_quickview"></div>\
											<div class="a_left"><img src="' + fcommon + 'images/icon/text_03.gif" align="absmiddle" style="display:none;" id="txt_quickview" name="txt_quickview"></div>\
											<div class="a_left"><img src="' + fcommon + 'images/icon/text_04.gif" align="absmiddle" style="display:none;" id="txt_quickview" name="txt_quickview"></div>\
										</td></tr>\
										</table> \
										</div></td></tr>\
									</table>';
				}
				else if(type == '1'){
					
					var strimg = (spotobj[i].getAttribute('bigimg')).split('^');
					if(!strimg[0] || !strimg[1]) strimg[1] = strimg[0];
					html = '<table border="0" cellspacing="0" cellpadding="0"><tr><td onmouseover="this.childNodes[0].style.display = \'block\'"><div style="position:relative;top:-20px;left:-35px;display:none;" id="quickview" name="quickview"><table border="0" cellspacing="0" cellpadding="0" style="position:absolute;border:1px solid #000000;" onmouseout="this.parentNode.parentNode.parentNode.style.display = \'\'"><tr><td><img src="' + spotobj[i].getAttribute('src').replace(strimg[0] , strimg[1]) + '" onmouseout="getids(\'quickview\')[' + i + '].style.display = \'none\';" /></td></tr></table></div></td></tr>\
									</table>';
				}
			
				tdtag.innerHTML += html;


				spotobj[i].onmouseover = function(e){
					var k = getkey('spot_quick_viewer' , this);
					if(getids('quickview')[k] != null) getids('quickview')[k].style.display = 'block';
				}

				spotobj[i].onmouseout = function(e){
				
					var k = getkey('spot_quick_viewer' , this);
					if(getids('quickview')[k] != null) getids('quickview')[k].style.display = 'none';
				}
			}
	}
}



function image_rotate(type , max){

	if(typeof(rotateseq) == 'undefined'){
		rotateseq = 0;
		protateseq = 1;
	}
	else if(typeof(rotateseq) != 'undefined'){
		if(type == '+'){
		
			rotateseq++;
			protateseq++;

		}
		else {
			rotateseq--;
			protateseq--;
		}
		
		if(max <= rotateseq) rotateseq = 0;
		else if(0 > rotateseq) rotateseq = max - 1;

		if(max <= protateseq) protateseq = 0;
		else if(0 > protateseq) protateseq = max - 1;
	}
	return {'rotateseq' : rotateseq , 'protateseq' : protateseq}
}
				


function memberlogin(frm){
	var frm = typeof(frm) != 'undefined' ? frm : document.writefrm;

	if(frm.memid.value == ""){
		dyn_alert(flang_javascript[30017]);
		return;
	}
	else if(frm.mempw.value == ""){
	
		dyn_alert(flang_javascript[30018]);
		return;
	}

	var params = "loadfile=member_login&setupload_predir=member&memid=" + frm.memid.value + "&mempw=" + frm.mempw.value;
	
	if(getid('loadingbuff') == null) buffimg();
	new Ajax.Request(fcommon + 'floadajax.php' , {parameters : params , method : 'post' , onComplete : function(rt){

		try{

			var getdata = rt.responseXML;
			var resultcode_block = getdata.getElementsByTagName("resultcode");
			var resultcode = resultcode_block[0].childNodes[0].nodeValue;
			resultcode_block = getdata.getElementsByTagName("setredirect");
			var setredirect = resultcode_block[0].childNodes[0].nodeValue;

			if(setredirect == 'null') setredirect = rootpath;

		}catch(e){}

		switch(resultcode){
			case "10106":

				location.replace((typeof(setredirect) != 'undefined' ? decodeURIComponent(setredirect) : rootpath));
			break;
			default :
				dyn_alert(flang_javascript[resultcode]);
			break;
		}
		
	}});
}





function memberlogout(){

	if(getid('loadingbuff') == null) buffimg();

	var params = "loadfile=member_logout&setupload_predir=member";
	new Ajax.Request(fcommon + 'floadajax.php' , {parameters : params , method : 'post' , onComplete : function(rt){

		var getdata = rt.responseXML;
		var resultcode_block = getdata.getElementsByTagName("resultcode");
		var resultcode = resultcode_block[0].childNodes[0].nodeValue;
		location.replace(rootpath);
		
	}});
}





function faqrollover2click(objnm , k , base){

	var obj = getids(objnm);
	var self = obj[k];
	var stat = self.src.search(/_r.gif/gi);
	var y = 0;
	for(var x = 0 ; x < obj.length ; ++x){

		if(k == x && stat == '-1'){
			pat = /.gif/;
			rep = '_r.gif';
		}
		else {
			pat = /_r.gif/;
			rep = '.gif';
			y++;
		}
		obj[x].src = obj[x].src.replace(pat , rep);
	}
	if(y == obj.length && typeof(base) != 'undefined' && base != ''){
		obj[base].src = obj[base].src.replace(/.gif/ , '_r.gif');
	}
}



function selbox(obj , cmd , skip , func){

	if(typeof(skip) != "undefined"){

		var getskip = skip.split(",");
		var theskip = false;
	}

	if(typeof(obj) == "object"){

		for(var i=1; i < obj.length ; ++i){

			if(typeof(skip) != "undefined" && skip != ''){

				for(var jj = 0; jj < getskip.length ; ++jj){
					theskip = getskip[jj] == obj[i].value ? true : false;
					if(theskip == true)  break ;
				}
				if(theskip == true) continue;
			}
			if(obj[i].disabled == true) obj[i].checked = false;
			else {
				switch(cmd){
					case "enable":
						obj[i].checked = true;
					break;
					case "reflect":
						if(obj[i].checked == true) obj[i].checked = false;
						else if(obj[i].checked == false) obj[i].checked = true;
					break;
					case "disable":
						obj[i].checked = false;
					break;
				}
			}
		}
	}

	if(typeof(func) == 'function') func();
}


function menu(fcode,fnum){
	var root="/front/";
	var page="",main_dir="";
	switch(fcode){
		case 1:
			switch(fnum){
				case 1:
					page="product/product_event.php";
				break;
				}
			break;
			case 2:
			switch(fnum){
				case 1:
					page="extra/extra_faq.php";
				break;
				}
			break;
			case 3:
			switch(fnum){
				case 1:
					page="mypage/mypage_main.php";
				break;
				}
			break;
			case 4:
			switch(fnum){
				case 1:
					page="mypage/mypage_orderlist.php?mode=order";
				break;
				}
			break;
			case 5:
			switch(fnum){
				case 1:
					page= "board/board_list.php?tid=free";
				break;
				}
			break;
			case 6:
			switch(fnum){
				case 1:
					page="mypage/mypage_mtm.php";
				break;
				}
			break;
		}
	location.href=root+page;
}

function createDateSelectBox(name, num) {
 
 
 var dt = new Date();
 var c_id = document.getElementById(name + "_id");
 var inHtml = "";
 var currentYear = dt.getFullYear();
 var currentMonth = dt.getMonth() + 1;
 var currentDay = dt.getDate();
 var dt2 = new Date(currentYear, currentMonth, "");
 var intNum = parseInt(num);
 var optMonth = "";
 var optDay = "";
 var lastDay = dt2.getDate();

 
 
 inHtml += " <select name='" + name + "_year' id='" + name + "_year' onchange='onchageDate(\"" + name + "\")' class='f8pt'> ";  
 inHtml += " <option value='' >선택</option>"; 
 for (var i = currentYear - intNum; i <= currentYear + intNum; i++) {
  inHtml += "<option value='" + i + "' "  + (currentYear == i ? 'selected': '') +">" + i + "</opton>";
 } 
 inHtml += " </select> 년";
 
 inHtml += " <select name='" + name + "_month' id='" + name + "_month' onchange='onchageDate(\"" + name + "\")' class='f8pt'> ";
 inHtml += " <option value='' >선택</option>";
 for (var i = 1; i <= 12; i++) {
  if (i >= 1 && i < 10) {
   optMonth = "0" + i;
  } else {
   optMonth = i;
  }
  
  inHtml += " <option value='" + optMonth + "'  " + (currentMonth == optMonth ? 'selected': '') + ">" + optMonth + "</option>";
 }
 inHtml += " </select> 월";
 
 inHtml += " <select name='" + name + "_day' id='" + name + "_day' class='f8pt'> ";
 inHtml += " <option value='' >선택</option>";
 for (var i = 1; i <= lastDay; i++) {
  if (i >= 1 && i < 10) {
   optDay = "0" + i;
  } else {
   optDay = i;
  }
  
  inHtml += " <option value='" + optDay + "'  " + (currentDay == optDay ? 'selected': '') + ">" + optDay + "</option>";
 }
 inHtml += " </select> 일";
 
 
 c_id.innerHTML = inHtml;
}

function onchageDate(name) {
 var optDay = "";
 
    selectYear = document.getElementById(name+"_year");
    selectMonth = document.getElementById(name+"_month");
    selectDay = document.getElementById(name+"_day");
    
    
    year = selectYear.options[selectYear.selectedIndex].value;
    month = selectMonth.options[selectMonth.selectedIndex].value;
     
 tmpDate = new Date(year, month, 0);
 
    selectedIndex = selectDay.selectedIndex;
    
    for(i = selectDay.length-1; i >= 0; i--) {
     selectDay.options[i] = null;
    }
    
    selectDay.options[0] = new Option('선택', '');
    
    for(i = 1; i <= tmpDate.getDate(); i++) {
     if (i >= 1 && i < 10) {
   optDay = "0" + i;
  } else {
   optDay = i;
  }
     selectDay.options[i] = new Option(optDay, optDay);
    }
    
    if(selectedIndex <= tmpDate.getDate()) {
     selectDay.options[selectedIndex].selected = true;
    } else {
     selectDay.options[tmpDate.getDate()-1].selected = true;
    } 
}


function togglediv(xx){

	getid("topbutt1").src = frontimagedir + "main/tab_01" + (xx == '0' ?  '_1' : '') + ".gif";
	getid("topbutt2").src = frontimagedir + "main/tab_02" +(xx == '1' ?  '_1' : '') + ".gif";
	getid("topbutt3").src = frontimagedir + "main/tab_03" +(xx == '2' ?  '_1' : '') + ".gif";
	var x = document.getElementsByName('xdiv');
	for(var i = 0; i < x.length ; ++i){
		x[i].style.display = i == xx ? 'block' : 'none';
	}
}




function rollover2clicksort(objnm , k , sorting , selected){ 
	
	var obj = getids(objnm);
	for(var x = 0 ; x < obj.length ; ++x){

		var ob = obj[x];
		if(typeof(ob) == 'undefined') continue;
		if(k == x){

			
			var y = selected == '1' ? ((parseInt(x) + 1) * 11) : (parseInt(x) + 1);
			var nptt = new RegExp('_bt' + ((parseInt(x) + 1) * 11) , 'gi');					
			var nowstat = ob.src.search(nptt);
			var z = nowstat > -1 ? ((parseInt(x) + 1) * 11) : (parseInt(x) + 1);
			var rep = new RegExp('_bt' + z  , 'gi');
			ob.src = ob.src.replace(rep , '_bt' + y);

			
			nptt = new RegExp('_1.gif' , 'gi');																
			nowstat = ob.src.search(nptt);
			z = nowstat > -1 ? '_1.gif': '_2.gif';
			var rep = new RegExp(z , 'gi');
			obj[x].src = obj[x].src.replace(rep , '_' + sorting + '.gif');
		}
		else{
		
			var nptt = new RegExp('_bt' + ((parseInt(x) + 1) * 11) , 'gi');					
			var nowstat = ob.src.search(nptt);
			var z = nowstat > -1 ? ((parseInt(x) + 1) * 11) : (parseInt(x) + 1);
			var rep = new RegExp('_bt' + z  , 'gi');
			ob.src = ob.src.replace(rep , '_bt' + (parseInt(x) + 1));
		}
	}
}




function white_rollover2click(objnm , k , base){

	var obj = getids(objnm);
	var self = obj[k];
	var stat = self.src.search(/_1.gif/gi);
	var y = 0;
	for(var x = 0 ; x < obj.length ; ++x){

		if(k == x && stat == '-1'){
			pat = /.gif/;
			rep = '_1.gif';
		}
		else {
			pat = /_1.gif/;
			rep = '.gif';
			y++;
		}
		obj[x].src = obj[x].src.replace(pat , rep);
	}
	if(y == obj.length && typeof(base) != 'undefined' && base != ''){
		obj[base].src = obj[base].src.replace(/.gif/ , '_1.gif');
	}
}



function blue_rollover2click(objnm , k , base){

	var obj = getids(objnm);
	var self = obj[k];
	var stat = self.src.search(/_1.gif/gi);
	var y = 0;
	for(var x = 0 ; x < obj.length ; ++x){

		if(k == x && stat == '-1'){
			pat = /.gif/;
			rep = '_1.gif';
		}
		else {
			pat = /_1.gif/;
			rep = '.gif';
			y++;
		}
		obj[x].src = obj[x].src.replace(pat , rep);
	}
	if(y == obj.length && typeof(base) != 'undefined' && base != ''){
		obj[base].src = obj[base].src.replace(/.gif/ , '_1.gif');
	}
}




function green_rollover2click(objnm , k , base){

	var obj = getids(objnm);
	var self = obj[k];
	var stat = self.src.search(/_1.jpg/gi);
	var y = 0;
	for(var x = 0 ; x < obj.length ; ++x){

		if(k == x && stat == '-1'){
			pat = /.jpg/;
			rep = '_1.jpg';
		}
		else {
			pat = /_1.jpg/;
			rep = '.jpg';
			y++;
		}
		obj[x].src = obj[x].src.replace(pat , rep);
	}
	if(y == obj.length && typeof(base) != 'undefined' && base != ''){
		obj[base].src = obj[base].src.replace(/.jpg/ , '_1.jpg');
	}
}



function toggleeffect(tdiv){

	
	if(getid(tdiv).innerHTML != ""){
		if(typeof(_prototype_notsliding) == 'undefined') Effect.toggle(tdiv , 'slide');
		else{
			viewcrtl(getid(tdiv).id , '' , true);
		}
	}
}



function treedraw(tablenm , tail){
	
	this.spot = tail;
	this.spot2 = '';
	this.tablenm = tablenm;
	this.treediv1nm = "tree1_" + tail + '_';
	this.treediv2nm = "tree2_" + tail + '_';
	this.treediv3nm = "tree3_" + tail + '_';
	this.treeimgnm = "tree2icon_" + tail + '_';
	this.txtspot = "tree_" + tail + '_txtspot';
	this.selecteditem = '';
	this.skin = "default";
}

treedraw.prototype = {


	
	toggle : function(pinid , img){
		
		toggleeffect(this.treediv3nm + pinid);
		imgobj = typeof(img.src != 'undefined') ? img : getid(this.treeimgnm + pinid);
		this.toggleimage(imgobj);
	},

	toggleimage : function(imgobj){
		var basenm = basename(imgobj.src);
		imgobj.src = "../product/images/" + this.skin + '/' + (basenm != 'dot_last.gif' ? (basenm == 'dot_plus.gif' ? 'dot_minus.gif' : 'dot_plus.gif') : 'dot_last.gif');
	},
	
	
	
	write : function(data , topvisible){

		getid(this.spot).innerHTML = (topvisible == true ? "<div class='padding5 f8pt fontred ta_right' style='background:#efefef;'> \
				<div class='a_left'><!-- <input type='checkbox' name='wheelscrollsort' id='wheelscrollsort' value='y' title='" + flang_part_javascript[30111] + "' onclick='if(this.checked == true){wheel(function(wh){tdraw.category_sort(wh);});}else{wheel();}' /> --></div>\
				<img src='" + fcommon + "images/cca/add.gif' align='absmiddle' title='" + flang_part_javascript[30007] + "' class='c_hand' onclick=\"frm_insert('insert' , '" + this.tablenm + "');\">\
				<img src='" + fcommon + "images/cca/arrow_up.gif' class='c_hand' title='" + flang_part_javascript[30108] + "' onclick=\"tdraw['" + this.spot + "'].category_sort(1)\" align='absmiddle'><img src='" + fcommon + "images/cca/arrow_down.gif' class='c_hand' title='" + flang_part_javascript[30109] + "' onclick=\"tdraw['" + this.spot + "'].category_sort(-1)\" align='absmiddle'>\
				</div>" : '') + data;
	},

	getpos : function(obj){
		
		var pobj = obj.parentNode;
		var pos = '';
		for(var i = 0 ; i < pobj.childNodes.length ; ++i){
			
			if(pobj.childNodes[i] == obj){
				pos = i;
				break;
			}
		}
		return {'index' : pos , 'parent' : pobj};
	}, 

	move : function(cmd , step){

			if(typeof(step) == 'undefined') step = 1;
			if(this.selecteditem == ''){
				dyn_alert(flang_part_javascript[30110]);
				return;
			}
			var div1 = this.treediv1nm + this.selecteditem;
			var div2 = this.treediv2nm + this.selecteditem;
			var div3 = this.treediv3nm + this.selecteditem;
			
			var nobj = getid(div1);
			var tobj = this.getpos(getid(div1));
			if(!tobj.parent.parentNode.parentNode.parentNode.parentNode.id)		
				tobj = this.getpos(tobj.parent.parentNode.parentNode.parentNode);
			
			var pobj = tobj.parent;
			var nindex = tobj.index;
			
			try{
				switch(cmd){

					case "up":
						if(nindex < 1){
							return;
						}
						var pindexobj = typeof(pobj.childNodes[nindex - step].id) != 'undefined' ? pobj.childNodes[nindex - step] : pobj.childNodes[nindex - step - 1];
						pobj.insertBefore(pobj.childNodes[nindex] , pindexobj);
					break;
					case "down" :
						if(nindex > pobj.childNodes.length - 2){
							return;
						}
						var pindexobj = typeof(pobj.childNodes[nindex + step].id) != 'undefined' ? pobj.childNodes[nindex + step] : pobj.childNodes[nindex + step + 1];
						pobj.insertBefore(pindexobj , pobj.childNodes[nindex]);
					break;
					default :
						return false;
					break;
				}
			}catch(e){}
			
			var retdata = [];
			var x = getids('tree_info[]');
			for(var i = 0 ; i < x.length ; ++i){
				retdata[i] = encodeURIComponent('treestatusdata[' + i + ']') + '=' + encodeURIComponent(x[i].value);
			}

			return retdata;
	},

	category_sort : function(wh){
		
		var mov = wh > 0 ?  'up' : 'down'
		var treedt = this.move(mov , Math.abs(wh));

		if(typeof(treedt) != 'undefined'){
			var params = 'loadfile=category_sort&' + treedt.join('&');
			new Ajax.Request(fcommon + 'floadajax.php' , {parameters : params , method : 'post' , onComplete : function(rt){
			}});
		}
	}
}






function getcatetree(tablenm , pinid , depth , linkfunction , exec , innertarget , topvisible , cate_display , multiple , checkbox){

	if(getid('loadingbuff') == null) buffimg();
	if(is_empty(innertarget)) innertarget = 'category_tree';
	if(is_empty(pinid)) pinid = '';
	if(is_empty(depth)) depth = '';
	if(is_empty(cate_display)) cate_display = '';
	if(is_empty(multiple)) multiple = '';
	if(is_empty(checkbox)) checkbox = '';
	if(is_empty(tablenm) || !tablenm) tablenm = 'default';

	

	button = '0,0'; 
	buttonfunction = 'setcategory';

	if(typeof(tdraw) == 'undefined') tdraw = [];
	var params = "setupload_predir=product&loadfile=product_category_tree&button=" + button + "&buttonfunction=" + buttonfunction + "&cate_display=" + cate_display + "&linkfunction=coloring(this , '000000' , 'e31d1d');" + linkfunction + "&tablenm=" + tablenm + "&multiple=" + multiple + "&checkbox=" + checkbox + "&code=" + pinid + "&depth=" + depth + "&treeobjnm=" + innertarget;

	new Ajax.Request(fcommon + "floadajax.php" , { parameters : params , method : 'post' , onComplete : function(rt){
			

			try{

				tdraw[innertarget] = new treedraw(tablenm , innertarget);
				tdraw[innertarget].write(rt.responseText , topvisible);
				if(typeof(exec) == 'function') exec();

			}catch(e){
				dyn_alert(e.message);
			}

	}});
	return true;
}



function frm_modify(tablenm , pinid , depth , url , innertarget , multiple , checkbox){

		if(typeof(drawdata) == 'undefined') drawdata = [];
		if(is_empty(innertarget)) innertarget = 'product_category_tree';
		tdraw[innertarget].selecteditem = typeof(pinid) != 'undefined' ? pinid : ''; 

		if(typeof(drawdata[pinid]) != 'undefined'){
			frm_modify_input(drawdata[pinid] , innertarget , multiple , checkbox);
		}else{

			tdraw[innertarget].selecteditem = pinid; 
			var params = "setupload_predir=product&loadfile=product_category_tree&returnjson=1&tablenm=" + tablenm + "&code=" + pinid + "&depth=" + depth + url;
			var rst = new Ajax.Request(fcommon + 'floadajax.php' , { parameters : params , method : 'post' , onComplete : function(rt){

				try{

					var rst = rt.responseText.evalJSON();
					rst = typeof(rst['cate']) != 'undefined' ? rst['cate'] : rst['subcate'];
					rst = getkeymatchdata(0 , rst);
					drawdata[pinid] = rst;
					frm_modify_input(rst , innertarget , multiple , checkbox);
					
				}catch(e){
					alert(e.message);
				}

			}});
		}
}



function frm_modify_input(tdata , innertarget , multipleflag , checkboxflag){

	var tid = tdraw[innertarget];
	tid.spot2 = innertarget + '_apply';
	var target = getid(tid.spot2);
	var xid = getids(tid.txtspot);
	var txt = [];
	var intxt;
	var itembox = "item_" + tid.spot2 + "_" + tdata['pinid'];
	if(typeof(multiple) == 'undefined') multiple = {};
	if(typeof(checkbox) == 'undefined') checkbox = {};
	multiple[innertarget] = typeof(multipleflag) == 'undefined' ? true : (multipleflag == 'true' || multipleflag == true ? true : false);
	checkbox[innertarget] = typeof(checkboxflag) == 'undefined' ? false : (checkboxflag == 'true' || checkboxflag == true ? true : false);
	if(getid(itembox) != null){
		dyn_alert(flang_part_javascript[30009]);
		return;
	}
	if(multiple[innertarget] == false && target.innerHTML != ''){
		dyn_alert(flang_part_javascript[30040]);
		return;
	}

	for(var i = 0 ; i < xid.length ; ++i){
			intxt = typeof(xid[i].innerHTML) != 'undefined' ? xid[i].innerHTML : '';
			switch(xid[i].title){
				case tdata['acode'] :
					txt[txt.length] = tdata['pinid'] == tdata['acode'] ? '<span class="fontred bold">' + intxt + '</span>' : intxt;
				break;
				case tdata['bcode'] :
					txt[txt.length] = tdata['pinid'] == tdata['bcode'] ? '<span class="fontred bold">' + intxt + '</span>' : intxt;
				break;
				case tdata['ccode'] :
					txt[txt.length] = tdata['pinid'] == tdata['ccode'] ? '<span class="fontred bold">' + intxt + '</span>' : intxt;
				break;
				case tdata['dcode'] :
					txt[txt.length] = tdata['pinid'] == tdata['dcode'] ? '<span class="fontred bold">' + intxt + '</span>' : intxt;
				break;
				case tdata['ecode'] :
					txt[txt.length] = tdata['pinid'] == tdata['ecode'] ? '<span class="fontred bold">' + intxt + '</span>' : intxt;
				break;
				case tdata['fcode'] :
					txt[txt.length] = tdata['pinid'] == tdata['fcode'] ? '<span class="fontred bold">' + intxt + '</span>' : intxt;
				break;
				case tdata['gcode'] :
					txt[txt.length] = tdata['pinid'] == tdata['gcode'] ? '<span class="fontred bold">' + intxt + '</span>' : intxt;
				break;
			}
	}
	try{
		target.innerHTML += "<div class='border margin5 clear f8pt lineheight180' style='padding:5px 0px 5px 3px;overflow:hidden;' id='" + itembox + "' name='" + itembox + "'><span>" 
			+ (checkbox[innertarget] == true ? 
			"<input type='checkbox' name='c_viewctrl[" + tdata['tablenm'] + "][" + tdata['pinid'] + "]' id='c_viewctrl[" + tdata['tablenm'] + "][" + tdata['pinid'] + "]' title='" + flang_part_javascript[30043] + "' alt='" + flang_part_javascript[30043] + "' value='1'  " + (tdata['viewctrl'] == 1 ? 'checked' : '') + " />"
			: "<input type='hidden' name='c_viewctrl[" + tdata['tablenm'] + "][" + tdata['pinid'] + "]' id='c_viewctrl[" + tdata['tablenm'] + "][" + tdata['pinid'] + "]' value='1' />")
			+ txt.join("&nbsp;&gt;&nbsp;")
			+ "</span><input type='hidden' name='apply_" + tdata['tablenm'] + "[]' id='apply_" + tdata['tablenm'] + "[]' value='" + tdata['pinid'] + "^" + tdata['depth'] + "' /> \
			<img src='../common/images/cca/bullet_delete.gif' align='absmiddle' class='c_hand' onclick=\"ctrl_optionchildspot('del' , this.parentNode , this.parentNode.parentNode , 30014 , true);\" title='" + flang_part_javascript[30012] + "'></div>";
		target.scrollTop = getbottom(target);
	}catch(e){alert(e.message);}
}




function getproductprice(prtdiv , frm){

	if(typeof(frm) == 'undefined') frm = document.writefrm;

	var retdata = 0;

	if(frm.pricestruc.value == '1' || frm.pricestruc.value == '3'){
		retdata += parseFloat(frm.sellprice.value);
	}
	if(frm.pricestruc.value == '2' || frm.pricestruc.value == '3'){
		
		var chgoptprice = getids('chgoptprice[]');
		var optprice , price;
		for(var i = 0 ; i < chgoptprice.length ; ++i){
			if(chgoptprice[i] == null) continue;
			optprice = (chgoptprice[i].tagName).toLowerCase() == 'select' ? 
				chgoptprice[i].options[chgoptprice[i].options.selectedIndex].value : ((chgoptprice[i].tagName).toLowerCase() == 'input' && chgoptprice[i].checked == true ? chgoptprice[i].value : '');
			if(optprice){
				price = optprice.split('!@#');
				if(price[1])
					retdata += parseFloat(price[1]);
			}
		}
	}
	
	if(getid('vls_stockoptprice') != null) retdata += parseFloat(getid('vls_stockoptprice').value ? getid('vls_stockoptprice').value : 0);
	

	frm.totalprice.value = retdata;
	if(prtdiv != null) prtdiv.innerHTML = number_format(retdata);
	return retdata;
}


function soldout_txt(){

	var optstock1 = getid('optstock1') != null ? getid('optstock1') : '';
	var optstock2 = getid('optstock2') != null ? getid('optstock2') : '';
	var optstock3 = getid('optstock3') != null ? getid('optstock3') : '';

	if(optstock1){
		
		var optstock1_selindex = getid('optstock1') != null ? optstock1.options.selectedIndex : '';
		var optstock2_selindex = getid('optstock2') != null ? optstock2.options.selectedIndex : '';
		var optstock3_selindex = getid('optstock3') != null ? optstock3.options.selectedIndex : '';

		if(optstock3){ 
			optchknum_map = optmap;
			optstock3_selindex = optstock3.options.selectedIndex < 1 ? 1: optstock3.options.selectedIndex;

			var stockkey = optstock1.options.selectedIndex.toString() + optstock2.options.selectedIndex.toString();
			var key;
			for(var i = 1 ; i < optstock3.options.length; ++i){

				optstock_txt.stock3[i] = typeof(optstock_txt.stock3[i]) == 'undefined' ? optstock3.options[i].text : optstock_txt.stock3[i];
				key = optchknum_map[stockkey + (i).toString()];
				if(stockamt[key] < 1){
					optstock3.options[i].text = optstock_txt.stock3[i] + (stockamt[key] < 1 ? flang_part_javascript['35003'] : '');
					optstock3.options[i].style.backgroundColor = '#cc0000';
					optstock3.options[i].style.color = '#f0f0f0';
				}
				else {
					optstock3.options[i].text = optstock_txt.stock3[i];
					optstock3.options[i].style.backgroundColor = '';
					optstock3.options[i].style.color = '';
				}
			}
		}
		else if(optstock2){ 
			
			for(var i = 1 ; i < optstock2.options.length; ++i){
				
				optstock_txt.stock2[i] = typeof(optstock_txt.stock2[i]) == 'undefined' ? optstock2.options[i].text : optstock_txt.stock2[i];
				key = (optstock1_selindex-1) * (optstock2.options.length-1) + (i);
				if(stockamt[key] < 1){
					
					optstock2.options[i].text = optstock_txt.stock2[i] + (stockamt[key] < 1 ? flang_part_javascript['35003'] : '');
					optstock2.options[i].style.backgroundColor = '#cc0000';
					optstock2.options[i].style.color = '#f0f0f0';
				}
				else {
					
					optstock2.options[i].text = optstock_txt.stock2[i];
					optstock2.options[i].style.backgroundColor = '';
					optstock2.options[i].style.color = '';
				}
			}
		}
		else{ 
			
			for(var i = 1 ; i < optstock1.options.length; ++i){
				
				optstock_txt.stock1[i] = typeof(optstock_txt.stock1[i]) == 'undefined' ? optstock1.options[i].text : optstock_txt.stock1[i];
				if(stockamt[i] < 1){
					optstock1.options[i].text = optstock_txt.stock1[i] + (stockamt[i] < 1 ? flang_part_javascript['35003'] : '');
					optstock1.options[i].style.backgroundColor = '#cc0000';
					optstock1.options[i].style.color = '#f0f0f0';
				}
				else {
					optstock1.options[i].text = optstock_txt.stock1[i];
					optstock1.options[i].style.backgroundColor = '';
					optstock1.options[i].style.color = '';
				}
			}
		}
	}
}



function stockoptpriceinfo(prtprice , prttransprice , vls_price , vls_transprice){

	if(typeof(frm) == 'undefined') frm = document.writefrm;
	
	var optstock1 = getid('optstock1') != null ? getid('optstock1') : '';
	var optstock2 = getid('optstock2') != null ? getid('optstock2') : '';
	var optstock3 = getid('optstock3') != null ? getid('optstock3') : '';
	var key = 1;
	var seloptstock1 , seloptstock2 , seloptstock3 = '';
	
	var optstock1_selindex = getid('optstock1') != null && optstock1.options.selectedIndex != 0 ? optstock1.options.selectedIndex : '';
	var optstock2_selindex = getid('optstock2') != null && optstock2.options.selectedIndex != 0 ? optstock2.options.selectedIndex : '';
	var optstock3_selindex = getid('optstock3') != null && optstock3.options.selectedIndex != 0 ? optstock3.options.selectedIndex : '';


	var key = '' , stockkey = '';
	if(optstock3){ 
		optchknum_map = optmap;
		stockkey = optstock1.options.selectedIndex.toString() + optstock2.options.selectedIndex.toString() + optstock3.options.selectedIndex.toString();
		key = optchknum_map[stockkey];
	}
	else if(optstock2) key = (optstock1.options.selectedIndex - 1) * (optstock2.options.length-1) + optstock2.options.selectedIndex; 
	else key = optstock1.options.selectedIndex;

	if(prtprice != null) prtprice.innerHTML = number_format(stockoptprice[key] ? stockoptprice[key] : 0);
	if(prttransprice != null) prttransprice.innerHTML = number_format(stockopttransprice[key] ? stockopttransprice[key] : 0);
	if(vls_price != null) vls_price.value = stockoptprice[key] ? stockoptprice[key] : 0;
	if(vls_transprice != null) vls_transprice.value = stockopttransprice[key] ? stockopttransprice[key] : 0;
	return {'price' : stockoptprice[key] , 'transprice' : stockopttransprice[key]}
}



function frm_categorybox_summary(){
	
	if(getid('category_box') != null){

		var x = getid('category_box').options;
		var catinfo = new Array();
		for(var i = 0 ; i < x.length ; ++i){
			catinfo[i] = x[i].value.replace(/[\^]\![\^]/ , '');
		}
		return "&category=" + catinfo.join('^!^');
	}
}



var in_cartsubmitcheck = function(frm){ this.frm = typeof(frm) == 'undefined' ? document.writefrm : frm; }
in_cartsubmitcheck.prototype = {

	frm : '',
	vls : {},
	is_essentility : function(){ 

		var optstock1 = getid('optstock1') != null ? this.frm.optstock1 : '';
		var optstock2 = getid('optstock2') != null ? this.frm.optstock2 : '';
		var optstock3 = getid('optstock3') != null ? this.frm.optstock3 : '';

		var def_optvls_num = getid('defopt_optvls_num[]') != null ? getids('defopt_optvls_num[]') : '';
		var defopt = getid('defopt[]') != null ? getids('defopt[]') : '';
		var defopt_optnm = getid('defopt_optnm[]') != null ? getids('defopt_optnm[]') : '';
		var defopt_optvls = getid('defopt_optvls[]') != null ? getids('defopt_optvls[]') : '';
		var is_receive2transprice = getid('is_receive2transprice') != null ? getid('is_receive2transprice') : '';
		

		var chgoptprice = getid('chgoptprice[]') != null ? getids('chgoptprice[]') : '';
		var chgprice_optvls_num = getid('chgprice_optvls_num[]') != null ? getids('chgprice_optvls_num[]') : '';
		var chgprice_optnm = getid('chgprice_optnm[]') != null ? getids('chgprice_optnm[]') : '';
		var chgprice_optvls = getid('chgprice_optvls[]') != null ? getids('chgprice_optvls[]') : '';

		var retdata;

		var optstock1_selindex = getid('optstock1') != null ? optstock1.options.selectedIndex : '';
		var optstock2_selindex = getid('optstock2') != null ? optstock2.options.selectedIndex : '';
		var optstock3_selindex = getid('optstock3') != null ? optstock3.options.selectedIndex : '';

		var is_receive2transprice_selindex = is_receive2transprice != '' ? is_receive2transprice.options.selectedIndex : '';

		retdata = optstock1 && optstock1.options.selectedIndex == 0 ? optstock1 : false;
		if(retdata == false) retdata = optstock2 && optstock2.options.selectedIndex == 0 ? optstock2 : false;
		if(retdata == false) retdata = optstock3 && optstock3.options.selectedIndex == 0 ? optstock3 : false;
		
		if(retdata == false){ 
			
			for(var i = 0 ; i < chgprice_optvls_num.length ; ++i){
				retdata = this.is_input(chgoptprice , i , chgprice_optvls_num[i].value);
				if(retdata) break;
				chgprice_optvls[i].value = (this.inputvls(chgoptprice , i , chgprice_optvls_num[i].value , true)).join('^!^'); 
			}
		}
		
		if(retdata == false){ 

			for(var i = 0 ; i < def_optvls_num.length ; ++i){
				retdata = this.is_input(defopt , i , def_optvls_num[i].value);
				if(retdata) break;
				defopt_optvls[i].value = (this.inputvls(defopt , i , def_optvls_num[i].value)).join('^!^');					
			}
		}

		if(retdata == false){	

			if(optstock3_selindex){
				var key = optstock1_selindex.toString() +  optstock2_selindex.toString() +  optstock3_selindex.toString();
				if(parseInt(stockamt[optchknum_map[key]]) < 1){
					optstock3.focus();
					dyn_alert(flang_part_javascript[35004]);
					retdata = true;
				}
			}
			else if(optstock2_selindex){
				var key = (optstock1_selindex-1) * (optstock2.options.length-1) + optstock2.options.selectedIndex;
				
				if(parseInt(stockamt[key]) < 1){
					optstock2.focus();
					dyn_alert(flang_part_javascript[35004]);
					retdata = true;
				}
			}
			else if(optstock1_selindex){
				var key = optstock1_selindex;
				if(parseInt(stockamt[key]) < 1){
					optstock1.focus();
					dyn_alert(flang_part_javascript[35004]);
					retdata = true;
				}
			}
		}

		if(retdata == false){

			if(is_receive2transprice){ 
			
				
					
				
				
				
			}
		}

		if(retdata == false){
		
			if(isNaN(parseFloat(this.frm.ordqty.value))){
				dyn_alert(flang_part_javascript[35009]);
				this.frm.ordqty.value = 1;
				this.frm.ordqty.select();
				retdata = true;
			}
		}

		return retdata;
	},
	
	inputvls : function(obj , essen , checkcomp , addseqflag){ 
		
		var tagname , tag_type , s = 0;
		var retdata = [];
		for(var i = 0 ; i < obj.length ; ++i){
			
			if(obj[i].getAttribute('essen') == essen){ 
			
				tagname = (obj[i].tagName).toLowerCase();
				tag_type = tagname == 'input' ? (obj[i].getAttribute('type')).toLowerCase() : '';
				if(tagname == 'select' || tag_type == 'text' || tag_type == 'checkbox'){
					if(tagname == 'select' && obj[i].options.selectedIndex > 0){
						retdata[retdata.length] = (typeof(addseqflag) != 'undefined' ? (obj[i].options.selectedIndex - 1) + '!@#' : '') + obj[i].options[obj[i].options.selectedIndex].value;
					}
					else if(tagname == 'input' && tag_type == 'text' && obj[i].value != '' || tag_type == 'checkbox' && obj[i].checked == true){
						retdata[retdata.length] = (typeof(addseqflag) != 'undefined' ? s + '!@#' : '') + obj[i].value;
					}
				}
				++s;
			}
		}
		return retdata;
	},

	is_input : function(obj , essen , checkcomp){ 
		
		var tagname , tag_type , s;
		var retdata = false;
		var notchecked = -1;
		for(var i = 0 ; i < obj.length ; ++i){
			
			if(obj[i].getAttribute('essen') == essen && obj[i].getAttribute('certainflag') == '1'){ 
			
				tagname = (obj[i].tagName).toLowerCase();
				tag_type = tagname == 'input' ? (obj[i].getAttribute('type')).toLowerCase() : '';
				if(tagname == 'select' || tag_type == 'text'){
					if((tagname == 'select' && obj[i].options.selectedIndex < 1) || (tagname == 'input' && obj[i].value == '')){
						retdata = obj[i];
						break;
					}
				}
				else if(tagname == 'input' && tag_type == 'checkbox'){
					if(!s) s = obj[i];
					if(notchecked < 0) notchecked = 0;
					if(obj[i].checked == false) ++notchecked;
				}
			}
		}
		if(notchecked > 0 && checkcomp == notchecked) retdata = s;
		return retdata;
	},

	checkout : function(){

		var optstock1 = getid('optstock1') != null ? this.frm.optstock1 : '';

		if(this.frm.seq.value == ''){
			dyn_alert(flang_part_javascript[35026]);
			return true;
		}
		
		if(this.frm.soldoutflag.value == 1){ 
		
			dyn_alert(flang_part_javascript[35028]);
			return true;
		}
		if(optstock1 == '' && this.frm.stockstat.value == 0){ 
			dyn_alert(flang_part_javascript[35002]);
			return true;
		}
		
		var retdata = this.is_essentility();
		if(typeof(retdata) == 'object'){
			retdata.focus();
			dyn_alert(flang_part_javascript[35027]);
		}
		return retdata;
	}
};



var cart = function(){};
cart.prototype = {
	frm : '',
	vls : {} ,
	setfrm : function(frm){  this.frm = typeof(cartfrm) == 'undefined' ? document.cartfrm : cartfrm; },
	'chgordqty' : function(ordqty , pre_ordqty , duplicateid , seq , key , exec){	
		if(isNaN(ordqty)){
			getids('input_ordqty')[key].value = pre_ordqty;
			dyn_alert(flang_part_javascript[35009]);
			return;
		}
		if(ordqty < 1){
			getids('input_ordqty')[key].value = pre_ordqty;
			dyn_alert(flang_part_javascript[35011]);
			return;
		}
		if(this.frm == '') this.setfrm();
		if(!ordqty || !duplicateid || !seq){
			dyn_alert(flang_part_javascript[35007]);
			return;
		}
		this.frm.cmd.value = 'ordqty';
		this.frm.duplicateid.value = duplicateid;
		this.frm.seq.value = seq;
		this.frm.ordqty.value = ordqty;
		this.vls = {
			'pre_ordqty' : pre_ordqty,
			'key' : key,
			'ordqty' : ordqty
		};

		this.submit('product_cart_proc' , '' , function(totaltransprice){
			cart.sum(key , totaltransprice);
			if(typeof(exec) == 'function') exec();
			return true;
		});
	},

	'itemtruncate' : function(item){	

		if(this.frm == '') this.setfrm();
		var sel , trunc = [] , k = 0;
		for(var i = 0 ; i < item.length; ++i){
			
			if(item[i].checked == true){
				sel = item[i].value.split('^');
				trunc[trunc.length] = [item[i] , sel[1] , sel[0] , getkey(item[i].id , item[i])];
			}
			else ++k;
		}

		if(k == item.length){
			dyn_alert(flang_part_javascript[35008]);
			return false;
		}
		for(var i = 0 ; i < trunc.length; ++i){
			this.itemdelete(trunc[i][0] , trunc[i][1] , trunc[i][2] , trunc[i][3]);
		}
	},

	'itemdelete' : function(obj , duplicateid , seq , key , exec){	

		if(this.frm == '') this.setfrm();
		this.frm.cmd.value = 'delete';
		this.frm.duplicateid.value = duplicateid;
		this.frm.seq.value = seq;
			
		this.submit('product_cart_proc' , '' , function(totaltransprice){
			var deltr = obj.parentNode.parentNode;
			var tbody = obj.parentNode.parentNode.parentNode;
			tbody.removeChild(deltr);
			cart.sum(key , totaltransprice);
			if(typeof(exec) == 'function') exec();
			return true;
		});
	},

	'sum' : function(key , totaltransprice){	
		
		totaltransprice = isNaN(totaltransprice) ? 0 : totaltransprice;
		if(this.frm == '') this.setfrm();
		var ptotalprice = getids('per_totalprice');
		var ptotalbooknum = getids('per_totalbooknum');
		var pordqty = getids('input_ordqty');
		var per_totalprice_txt = getids('per_totalprice_txt');
		var per_totalbooknum_txt = getids('per_totalbooknum_txt');
		var totalprice_txt = getid('totalprice_txt');
		var totalbooknum_txt = getid('totalbooknum_txt');
		var totaltransprice_txt = getid('totaltransprice_txt');
		var total = 0 , ptotal = 0;
		for(var i = 0 ; i < ptotalprice.length ; ++i){
			ptotal = ptotalprice[i].value * pordqty[i].value;
			if(i == key) per_totalprice_txt[i].innerHTML = number_format(ptotal);
			total += ptotal;
		}
		var totalnum = 0 , ptotalnum = 0;
		for(var i = 0 ; i < ptotalbooknum.length ; ++i){
			ptotalnum = ptotalbooknum[i].value * pordqty[i].value;
			totalnum += ptotalnum;
		}
		totalprice_txt.innerHTML = number_format(total);
		totalbooknum_txt.innerHTML = number_format(totalnum);
		if(totaltransprice_txt != null) totaltransprice_txt.innerHTML = number_format(totaltransprice); 
		if(ptotalprice.length == 0)
			getid('noneproduct').style.display = 'block';
		
	},
	
	'submit' : function(loadfile , addurl , func){ 

		if(this.frm == '') this.setfrm();

		var params = 'loadfile=' + loadfile + '&setupload_predir=product&' + form2urlquerystring(this.frm) + '&' + addurl;
		var _frm = this.frm;
		var _vls = this.vls;
		if(getid('loadingbuff') == null) buffimg();
		new Ajax.Request( fcommon + 'floadajax.php' , {parameters : params , method : 'post' , onComplete : function(rt){
			
			try{
				var getdata = rt.responseXML;
				var resultcode_block = getdata.getElementsByTagName("resultcode");
				var resultcode = resultcode_block[0].childNodes[0].nodeValue;

				resultcode_block = getdata.getElementsByTagName("totaltransprice");
				var totaltransprice = resultcode_block[0].childNodes[0].nodeValue;

				resultcode_block = getdata.getElementsByTagName("json_transprice");
				if(resultcode_block[0] != null && getid('cart_inprod_transprice') != null){
					var json_transprice = resultcode_block[0].childNodes[0].nodeValue;
					getid('cart_inprod_transprice').innerHTML = json_transprice;
				}

			}catch(e){alert(e.message);}
			if(resultcode == 90005){
				if(typeof(func) == 'function') func(totaltransprice);
				if(getids('input_ordqty')[_vls.key] != null) getids('input_ordqty')[_vls.key].setAttribute('pre_ordqty' , _vls.ordqty);
			}
			else{

				if(_frm.cmd.value == 'ordqty' && typeof(_vls.pre_ordqty) != 'undefined') getids('input_ordqty')[_vls.key].value = _vls.pre_ordqty;
				dyn_alert(flang_part_javascript[resultcode]);
			}
		}});
	}
};



function cart_option_view(data , k , msgkey){
	
	try{
		var vls;
		msgkey = typeof(msgkey) == 'undefined' ? 35005 : msgkey;
		
		if(data[k].innerHTML == 'null'){
			dyn_alert(flang_part_javascript[msgkey]);
			return;
		}
		data = eval(data[k].innerHTML);
		if(data.length == 0){

			dyn_alert(flang_part_javascript[msgkey]);
			return;
		}

		var html = [ '<table width="90%" border="1" bordercolor="#e1e1e1" cellspacing="0" cellpadding="3" style="border-collapse:collapse;border-bottom:1px solid #e1e1e1;"  frame="hsides" rules="rows"><tr><td colspan="2" align="left"><span class="option_datatitle"> ' + flang_part_javascript[35006] + '</span></td></tr>'];
		for(var i = 0 ; i < data.length ; ++i){

			html[html.length] = '<tr><td width="150" bgcolor="#f7f7f7" class="f8pt" align="left">' + data[i].nm + '</td><td class="f8pt fonttahoma letterspacing0" style="padding-right:8px;" align="right">' + data[i].vls + '</td></tr>';
		}
		var div = document.createElement('DIV');
		div.style.verticalAlign = 'top';
		div.style.paddingTop = '15px';
		div.innerHTML = html.join('');
		ovl.directscreen(div , 300 , 300);
	}catch(e){
	
		dyn_alert("옵션정보가 존재하지 않습니다.");
	}
}




function product_valuation_checkout(frm){
		
		if(!is_checked(getids('valuation'))){
			
			dyn_alert(flang_part_javascript[35021]);
			return true;
		}
		else if(!frm.title.value){
			
			dyn_alert(flang_part_javascript[35022]);
			return true;
		}
		else if(!frm.mainedit_text_0.value){
			dyn_alert(flang_part_javascript[35023]);
			return true;
		}
}




function product_qna_checkout(frm){
		
		if(!frm.qna_title.value){
			
			parent.dyn_alert(flang_part_javascript[35029]);
			return true;
		}
		else if(!frm.mainedit_text_0.value){

			parent.dyn_alert(flang_part_javascript[35030]);
			return true;
		}

}




function send(loadfile , t , addurl , frm){

	frm = typeof(frm) == 'undefined' ? document.writefrm : frm;
	if(typeof(addurl) == 'undefined') addurl = '';

	var isfile = is_readyupload();
	frm.loadfile.value = loadfile;

	if(isfile == true && t != true){

		frm.action = fcommon + "floadajax.php?upload=y&targetfrm=" + frm.id + "&resultexecutefunc=send('" + loadfile + "', true)"; 
		frm.submit();
	}else{

		var category = frm_categorybox_summary();
		var cartsubmitcheck = new in_cartsubmitcheck(frm);

		switch(loadfile){
				
			case 'product_cart_proc':
				if(cartsubmitcheck.checkout()){
					return; 
				}
			break;

			case 'product_valuation':
				
				editortrans();
				if(product_valuation_checkout(document.writefrm)){
					return; 
				}
			break;

			case 'product_qna':
				
				editortrans();
				if(product_qna_checkout(document.writefrm)){
					return; 
				}
			break;
		}

		if(getid('loadingbuff') == null) buffimg();
		var params = form2urlquerystring(frm) + '&' + addurl + (typeof(category) != 'undefined' ? category : '');
		new Ajax.Request( fcommon + 'floadajax.php' , {parameters : params , method : 'post' , onComplete : function(rt){


			
			try{
				var getdata = rt.responseXML;
				var resultcode_block = getdata.getElementsByTagName("resultcode");
				var resultcode = resultcode_block[0].childNodes[0].nodeValue;
				

				switch(loadfile){
					case 'product_cart_proc':
						if(resultcode == '90005'){

							
							var exp_params = _getparams(params);
							if(typeof(exp_params['notredirect']) == 'undefined'){
							
								resultcode_block = getdata.getElementsByTagName("redirect");
								var redirect = resultcode_block[0].childNodes[0].nodeValue;
								location.href = redirect ? redirect : 'product_cart.php';

							}
							else{
								dyn_confirm(flang_part_javascript['35034'] , 'location.replace(\'product_cart.php\'' , 'parent.ovl.action(\'true\');cancel_confirm(' , true);
								
							}
						}else{
							dyn_alert(flang_part_javascript[resultcode]);
						}
						
						
					break;

					case 'product_cart_multi_proc':
						
						if(resultcode == '90005'){

							dyn_confirm(flang_part_javascript['35034'] , 'location.replace(\'product_cart.php\'' , 'parent.ovl.action(\'true\');cancel_confirm(' , true);

						}else{
							dyn_alert(flang_part_javascript[resultcode]);
						}

					break;

					case 'product_valuation':
						
						if(resultcode == '90008'){
							parent._pageinit();
							parent.ovl.action(true);
						}
						parent.dyn_alert(flang_part_javascript[resultcode]);


					break;

					case 'product_qna':
						if(resultcode == '90009'){
							parent._pageinit();
							parent.ovl.action(true);
					}
						parent.dyn_alert(flang_part_javascript[resultcode]);

					break;

					case 'product_callbacksmsincome_proc':
					case 'product_wishlist_proc':
						
						if(resultcode == 90006){
							dyn_confirm(flang_part_javascript['35033'] , 'location.replace(\'../mypage/mypage_wishlist.php\'' , '' , true);
						}else{
							dyn_alert(flang_part_javascript[resultcode]);
						}
					break;
				}

			}catch(e){
				dyn_alert(e.message);
			}
				
		}});
		
	}
}



Ajax.History = {
    initialize: function(options) {
        this.options = Object.extend({
            interval: 200
        },options||{});
        this.callback = this.options.callback || Prototype.emtpyfunction;
        if(navigator.userAgent.toLowerCase().indexOf('msie') > 0)
            this.locator = new Ajax.History.Iframe('ajaxHistoryHandler', this.options.iframeSrc);
        else
            this.locator = new Ajax.History.Hash();
        this.currentHash = '';
        this.locked = false;
    },

    add: function(hash) {
        this.locked = true;
        clearTimeout(this.timer);
        this.currentHash = hash;
        this.locator.setHash(hash);
        this.timer = setTimeout(this.checkHash.bind(this), this.options.interval);
        this.locked = false;
    },
    checkHash: function(){
        if(!this.locked){
            var check = this.locator.getHash();
            if(check != this.currentHash && typeof(check) != 'undefined' && check){
                this.callback(check);
                this.currentHash = check;
            }
        }
        this.timer = setTimeout(this.checkHash.bind(this), this.options.interval);
    },

    getBookmark: function(){
        return this.locator.getBookmark();
    },

	makehash : function(){
		this.locator.setHash(Math.random());
	}
};

Ajax.History.Iframe = Class.create();
Ajax.History.Iframe.prototype = {
    initialize: function(id, src) {
        this.url = '';
        this.id = id || 'ajaxHistoryHandler';
        this.src = src || '';
		var ifrm = document.createElement("iframe");
		ifrm.id = this.id;
		ifrm.name = this.id;
		ifrm.src = this.src;
		ifrm.style.display = 'none';
		document.body.appendChild(ifrm);
    },
    setHash: function(hash){
        try {
            getid(this.id).setAttribute('src', this.src + '?' + hash);
        }catch(e) {}
        window.location.href = this.url + '#' + hash;
    },
    getHash: function(){
        try {
            return (document.frames[this.id].location.href||'?').split('?')[1];
        }catch(e){ return ''; }
    },
    getBookmark: function(){
        try{
            return window.location.href.split('#')[1]||'';
        }catch(e){ return ''; }
    }
};

Ajax.History.Hash = Class.create();
Ajax.History.Hash.prototype = {
    initialize: function(){
    },
    setHash: function(hash){
        window.location.hash = hash;
    },
    getHash: function(){
        return window.location.hash.substring(1)||'';
    },
    getBookmark: function(){
        try{
            return window.location.hash.substring(1)||'';
        }catch(e){ return ''; }
    }
};
 
flang_javascript = new Array();
flang_javascript[10000] = '확인해 주십시요.';
flang_javascript[10001] = '확 인';
flang_javascript[10002] = '취 소';
flang_javascript[10100] = '정상적인 인증절차를 수행해 주십시요.';
flang_javascript[10102] = '파일업로드중 업로드가 실패되었습니다. <br /> 파일확장자를 확인해 주십시요.';
flang_javascript[10103] = '해당하는 항목에는 한글만 입력가능합니다.';
flang_javascript[10104] = '통신을 위해서는 loadfile 항목이 필수입니다.';
flang_javascript[10105] = '전송을 위한 첫번째 항목은 필수사항입니다.';
flang_javascript[10106] = '정상적으로 처리되었습니다.';
flang_javascript[10107] = '전송과정에서 오류가 발생하였습니다.';
flang_javascript[10108] = 'Javascript 이 모두 로드되지 않았습니다.';
flang_javascript[10109] = '엮인글 정보가 달라 접근이 거부되었습니다.';
flang_javascript[11001] = '더블클릭시 삭제됩니다.';
flang_javascript[11002] = '분류명을 기입하여 주십시요.';
flang_javascript[11003] = '이동하실 분류를 선택해 주십시요.';
flang_javascript[11004] = '삭제하실 분류를 선택해 주십시요.';
flang_javascript[11006] = '승인되지 않았거나, 파일이 존재하지 않습니다.';
flang_javascript[15001] = '모듈의 name 파라미터를 설정해 주십시요.';
flang_javascript[15002] = '사용할수 없는 name 혹은 경로입니다.';
flang_javascript[15003] = '모듈파일이 존재하지 않습니다.';
flang_javascript[15004] = '모듈의 함수가 존재하지 않습니다. ex> include_module_모듈명()';
flang_javascript[15005] = '지정된 tpl파일이 존재하지 않습니다.';
flang_javascript[21000] = '일월화수목금토';
flang_javascript[21001] = '주소';
flang_javascript[21002] = '우편번호';
flang_javascript[21003] = '선택';
flang_javascript[21004] = '검색란에 2자이상 기입해 주십시요.';
flang_javascript[21005] = '배송비용';
flang_javascript[21100] = ',일,이,삼,사,오,육,칠,팔,구';
flang_javascript[21101] = ',십,백,천';
flang_javascript[21102] = ',만,억,조,경,해,시,양,구,간,정';
flang_javascript[21103] = '일';
flang_javascript[30017] = '회원아이디를 기입해 주십시요.';
flang_javascript[30018] = '패스워드를 기입해 주십시요.';
flang_javascript[30036] = '죄송합니다. 접속불가 되어진 계정입니다.';
flang_javascript[30037] = '죄송합니다. 현재 접속유보 되어진 계정입니다.';
flang_javascript[30038] = '죄송합니다. 불량접속으로 차단된 계정입니다.';
flang_javascript[30042] = '아이디 혹은 비밀번호가 일치하지 않습니다.';
flang_javascript[35000] = '검색어를 입력해 주십시요.';
flang_javascript[37000] = '결제를 위한 필수항목이 누락되어 있습니다.';
flang_javascript[37001] = '결제를 위한 주문정보가 존재하지 않습니다.';
flang_javascript[37002] = '결제를 위한 PGaccesskey 가 일치하지 않습니다.';
flang_javascript[37003] = '이미 결제가 완료된 주문입니다.';
flang_javascript[37004] = 'PG콜백데이타';
flang_javascript[37005] = 'PG전송데이타';
flang_javascript[37006] = '요청하신 결제가 실패하였습니다.';
flang_javascript[37007] = '닫을 팝업이 존재하지 않습니다.';
flang_javascript[37008] = '현재 선택하신 결제방식은 이용을 할 수 없는 결제방식입니다.';
flang_javascript[9999999] = '서버부하방지를 위해 요청이 거부되었습니다.';
 
blang_javascript = new Array();
blang_javascript[10000] = '확인해 주십시요.';
blang_javascript[10001] = '확 인';
blang_javascript[10002] = '취 소';
blang_javascript[10100] = '정상적인 인증절차를 수행해 주십시요.';
blang_javascript[10102] = '파일업로드중 업로드가 실패되었습니다. <br /> 파일확장자를 확인해 주십시요.';
blang_javascript[10103] = '해당하는 항목에는 한글만 입력가능합니다.';
blang_javascript[10104] = '통신을 위해서는 loadfile 항목이 필수입니다.';
blang_javascript[10105] = '전송을 위한 첫번째 항목은 필수사항입니다.';
blang_javascript[10106] = '정상적으로 처리되었습니다.';
blang_javascript[10107] = '전송과정에서 오류가 발생하였습니다.';
blang_javascript[10108] = '처리할 수 없는 로그유형입니다.';
blang_javascript[10109] = '로그정보가 동기화 되었습니다.';
blang_javascript[10110] = '이미지다운로드가 완료되지 않았습니다.';
blang_javascript[10111] = '정상적으로 클립보드에 복사하였습니다.';
blang_javascript[10112] = '클립보드에 덧붙여질 객체를 지정해 주셔야 합니다.';
blang_javascript[11001] = '더블클릭시 삭제됩니다.';
blang_javascript[11002] = '적용되어질 데이타를 기입하여 주십시요.';
blang_javascript[11003] = '이동하실 데이타를 선택해 주십시요.';
blang_javascript[11004] = '삭제하실 데이타를 선택해 주십시요.';
blang_javascript[11005] = '입력된 패스워드가 서로 일치하지 않습니다.';
blang_javascript[11006] = 'MYSQL 서버에 접속할 수 없습니다.';
blang_javascript[11007] = '데이타베이스에 접속권한이 없습니다.';
blang_javascript[11008] = '호스트명을 입력하십시요.';
blang_javascript[11009] = 'DB아이디를 입력하십시요.';
blang_javascript[11010] = 'DB패스워드를 입력하십시요.';
blang_javascript[11011] = 'DB명를 입력하십시요.';
blang_javascript[11012] = '올바르지 않은 파라미터입니다.';
blang_javascript[15001] = '모듈의 name 파라미터를 설정해 주십시요.';
blang_javascript[15002] = '사용할수 없는 name 혹은 경로입니다.';
blang_javascript[15003] = '모듈파일이 존재하지 않습니다.';
blang_javascript[15004] = '모듈의 함수가 존재하지 않습니다. ex> include_module_모듈명()';
blang_javascript[15005] = '지정된 tpl파일이 존재하지 않습니다.';
blang_javascript[21000] = '일월화수목금토';
blang_javascript[21001] = '주소';
blang_javascript[21002] = '우편번호';
blang_javascript[21003] = '선택';
blang_javascript[21004] = '검색란에 2자이상 기입해 주십시요.';
blang_javascript[21005] = '배송비용';
blang_javascript[21100] = ',일,이,삼,사,오,육,칠,팔,구';
blang_javascript[21101] = ',십,백,천';
blang_javascript[21102] = ',만,억,조,경,해,시,양,구,간,정';
blang_javascript[21103] = '일';
blang_javascript[30021] = '검색이 완료되었습니다.';
blang_javascript[30022] = '적용되어진 내용이 없습니다.';
blang_javascript[30040] = '퇴사자명단에 등록되어 로그인 할 수 없습니다.';
blang_javascript[30041] = '죄송합니다. 접근이 유보된 아이디입니다.';
blang_javascript[30042] = '아이디 혹은 비밀번호가 일치하지 않습니다.';
blang_javascript[30043] = '최대 생성할 수 있는 입력폼의 수는 $$max 개입니다.';
blang_javascript[30044] = '입력폼은 $$min 개 이하로 삭제할 수 없습니다.';
blang_javascript[44443] = '인증이 확인되지 않은 서버입니다.(IP,SERVER_NAME, memberID)';
blang_javascript[44444] = '공개키가 부정확합니다.';
blang_javascript[99999] = '인증이 정상적으로 이루어졌습니다.';
blang_javascript[9999999] = '서버부하방지를 위해 요청이 거부되었습니다.';
 
flang_part_javascript = new Array();
flang_part_javascript[10000] = '정상적으로 처리되었습니다.';
flang_part_javascript[30008] = '적용분류리스트';
flang_part_javascript[30009] = '이미 적용되어진 분류가 존재합니다.';
flang_part_javascript[30010] = '적용분류를 모두 삭제합니다.';
flang_part_javascript[30011] = '모든분류를 적용합니다.';
flang_part_javascript[30012] = '해당분류를 삭제합니다.';
flang_part_javascript[30013] = '분류를 선택해 주십시요.';
flang_part_javascript[30040] = '여러개의 분류를 선택할 수 없습니다.';
flang_part_javascript[35001] = '제품번호가 존재하지 않습니다.';
flang_part_javascript[35002] = '선택하신 제품의 재고가 부족합니다.';
flang_part_javascript[35003] = '[품절]';
flang_part_javascript[35004] = '현재 품절상태인 옵션입니다.';
flang_part_javascript[35005] = '옵션을 선택하지 않은 제품입니다.';
flang_part_javascript[35006] = '옵션선택정보';
flang_part_javascript[35007] = '변경을 위한 필수데이타가 부족합니다.';
flang_part_javascript[35008] = '삭제할 제품을 선택해 주십시요.';
flang_part_javascript[35009] = '수량은 반드시 숫자로 기입해 주시고, <br /><br /> 1개 이상이여야 합니다.';
flang_part_javascript[35010] = '죄송합니다. 현재 <br /> \'$productnm\' <br /> 은 재고가 모두 소진되었습니다. <br /><br /> 장바구니에서 삭제후 주문해 주세요.';
flang_part_javascript[35011] = '수량은 1개 이상 기입해 주십시요.';
flang_part_javascript[35012] = '제품가격이 일치하지 않습니다.';
flang_part_javascript[35013] = '할인액은 결제총액보다 많이 사용할 수 없습니다.';
flang_part_javascript[35014] = '배송비 청구내역이 없습니다.';
flang_part_javascript[35015] = '수량은 숫자만 입력해 주십시요.';
flang_part_javascript[35016] = '회원일경우만 등록할 수 있습니다.';
flang_part_javascript[35017] = '분류정보가 존재하지 않습니다.';
flang_part_javascript[35018] = '이미 위시리스트에 등록되어 있습니다.';
flang_part_javascript[35019] = '이미 재입고문자알림에 등록되어 있습니다.';
flang_part_javascript[35020] = '할인예외금액이 존재하지 않습니다.';
flang_part_javascript[35021] = '평가점수를 선택해 주십시요.';
flang_part_javascript[35022] = '상품평제목을 기입해 주십시요.';
flang_part_javascript[35023] = '상품평내용은 30자이상 기입하셔야 합니다.';
flang_part_javascript[35024] = '상품평은 구매한 고객분에 한해서 작성가능합니다.';
flang_part_javascript[35025] = '이미 상품평을 기입하셨습니다.';
flang_part_javascript[35026] = '제품번호가 존재하지 않습니다.';
flang_part_javascript[35027] = '필수옵션은 반드시 확인하셔야 합니다.';
flang_part_javascript[35028] = '현재 본 제품은 &quot;일시품절제품&quot; 입니다.';
flang_part_javascript[35029] = '문의제목을 입력해 주십시요.';
flang_part_javascript[35030] = '문의내용을 입력해 주십시요.';
flang_part_javascript[35031] = '배송비 지불방식을 선택해 주십시요.';
flang_part_javascript[35032] = '제품이 존재하지 않습니다.';
flang_part_javascript[35033] = '위시리스트에 정상적으로 저장되었습니다.<br>위시리스트로 이동하시겠습니까?';
flang_part_javascript[35034] = '장바구니에 정상적으로 저장되었습니다.<br>장바구니로 이동하시겠습니까?';
flang_part_javascript[35035] = '제품을 선택해 주십시요.';
flang_part_javascript[90001] = '정상적으로 전송되었습니다.';
flang_part_javascript[90002] = '정상적으로 등록되었습니다.';
flang_part_javascript[90003] = '정상적으로 수정되었습니다.';
flang_part_javascript[90004] = '정상적으로 삭제되었습니다.';
flang_part_javascript[90005] = '정상적으로 처리되었습니다.';
flang_part_javascript[90006] = '위시리스트에 정상적으로 저장되었습니다.';
flang_part_javascript[90007] = '재입고문자알림에 정상적으로 등록되었습니다.';
flang_part_javascript[90008] = '상품평을 정상적으로 등록하였습니다.';
flang_part_javascript[90009] = '상품문의를 정상적으로 등록하였습니다.';