
var _is_gecko  = navigator.userAgent.toLowerCase().indexOf("gecko") != -1;
var _is_ie     = navigator.userAgent.toLowerCase().indexOf("msie") != -1;

function roundTable(objID) {
       var obj = document.getElementById(objID);
       var Parent, objTmp, Table, TBody, TR, TD;
       var bdcolor, bgcolor, Space;
       var trIDX, tdIDX, MAX;
       var styleWidth, styleHeight;

       Parent = obj.parentNode;
       objTmp = document.createElement('SPAN');
       Parent.insertBefore(objTmp, obj);
       Parent.removeChild(obj);
       bdcolor = obj.getAttribute('rborder');
       bgcolor = obj.getAttribute('rbgcolor');
       radius = parseInt(obj.getAttribute('radius'));
       if (radius == null || radius < 1) radius = 1;
       else if (radius > 6) radius = 6;

       MAX = radius * 2 + 1;       
       Table = document.createElement('TABLE');
       TBody = document.createElement('TBODY');
       Table.cellSpacing = 0;
       Table.cellPadding = 0;

       for (trIDX=0; trIDX < MAX; trIDX++) {
              TR = document.createElement('TR');
              Space = Math.abs(trIDX - parseInt(radius));
              for (tdIDX=0; tdIDX < MAX; tdIDX++) {
                     TD = document.createElement('TD');                     
                     styleWidth = '1px'; styleHeight = '1px';
                     if (tdIDX == 0 || tdIDX == MAX - 1) styleHeight = null;
                     else if (trIDX == 0 || trIDX == MAX - 1) styleWidth = null;
                     else if (radius > 2) {
                            if (Math.abs(tdIDX - radius) == 1) styleWidth = '2px';
                            if (Math.abs(trIDX - radius) == 1) styleHeight = '2px';
                     }
                     if (styleWidth != null) TD.style.width = styleWidth;
                     if (styleHeight != null) TD.style.height = styleHeight;

                     if (Space == tdIDX || Space == MAX - tdIDX - 1) TD.style.backgroundColor = bdcolor;
                     else if (tdIDX > Space && Space < MAX - tdIDX - 1)  TD.style.backgroundColor = bgcolor;
                     
                     if (Space == 0 && tdIDX == radius) TD.appendChild(obj);
                     TR.appendChild(TD);
              }
              TBody.appendChild(TR);
       }
       Table.appendChild(TBody);       
       Parent.insertBefore(Table, objTmp);
}

function openWin(sURL, sWindowName, w, h, sScroll, reSize, status){
	// È­¸é Áß¾ÓÀ¸·Î Popup ¶ç¿ì±â.. ½ºÅ©·Ñ¹Ù´Â ¿É¼Ç..
	// ex)
	//			openWin("test.asp", "winTest", 400, 300);			¢Ñ ½ºÅ©·Ñ¹Ù ¾øÀ½
	//			openWin("test.asp", "winTest", 400, 300, "yes");	¢Ñ ½ºÅ©·Ñ¹Ù ÀÖÀ½
	//			openWin("test.asp", "winTest", 400, 300, "auto");	¢Ñ ½ºÅ©·Ñ¹Ù ÀÚµ¿

	// windows xp2 °í·Á
	if ( isXPSP2() ) {
		h += 25;
	}

	var x = (screen.width - w) / 2;
	var y = (screen.height - h) / 2;

	if (sScroll==null) sScroll = "no";

	var sOption = "";
	sOption = sOption + "toolbar=no, channelmode=no, location=no, directories=no, menubar=no";
	sOption = sOption + ", scrollbars=" + sScroll + ", resizable=" + reSize + ", status=" + status +", left=" + x + ", top=" + y + ", width=" + w + ", height=" + h;

	var win = controlOpenWindow(sURL, sWindowName, sOption);
	return win;
}

// ºü¸£°Ô ¶ç¿ì´Â ÆË¾÷/////////////////////////////////////////
// »ç¿ë¿¹ var win = controlOpenWindow("notice","/notice.php","...");

var arrWndOpenWindow = new Array();

function push(array, arg){
	array[array.length] = arg;
}
function pop(array){
	var obj = array[0];
	var temp = new Array();
	for ( i = 1; i < array.length; i++ ){
		temp[i-1] = array[i];
	}
	array = temp;
	return obj;
}
function controlOpenWindow(strURL, strWndName, strOptions) {
	var arrTemp = new Array();
	var wndTemp;
	var wndName;
	
	var arrWndOpenWindow = getArrWndOpenWindow();
	if ( arrWndOpenWindow == null) {
		arrWndOpenWindow = this.arrWndOpenWindow;
	}
	for ( i = 0; i < arrWndOpenWindow.length; i++ ) {
		wndTemp = arrWndOpenWindow[i];
		if ( wndTemp == null) {
			continue;
		}
		if ( !wndTemp['window'] ) {
			continue;
		}
		if ( wndTemp['window'].closed ) {
			arrWndOpenWindow[i] = null;
			continue;
		}
		wndName = wndTemp['name'];
		if ( wndName != "" && strWndName == wndName ) {
			wndTemp['window'].location.replace(strURL);

			push(arrTemp, wndTemp);
			for ( j = 0; j < arrTemp.length; j++ ) {
				push(arrWndOpenWindow, arrTemp[j]);
			}
			return null;
		}
		push(arrTemp, wndTemp);
	}
	for ( i = 0 ; i < arrTemp.length; i++ ) {
		push(arrWndOpenWindow, arrTemp[i]);
	}

	var	wndNewWindow = window.open(strURL, '', strOptions);
	
	var wndSaveWindow = new Array();
	wndSaveWindow['name'] = strWndName;
	wndSaveWindow['window'] = wndNewWindow;

	push(arrWndOpenWindow, wndSaveWindow);
	return wndNewWindow;
}

function getArrWndOpenWindow() {
	return top.arrWndOpenWindow;
}
// ºü¸£°Ô ¶ç¿ì´Â ÆË¾÷°ü·Ã ³¡//////////////////////////////////

/************************************************]

/***************************************
# »ç¿ëÀÚ Á¤ÀÇ Ãß°¡ ÇÔ¼ö ¸®½ºÆ®
/**************************************/

var errfld;

// ÇÊµå ¿À·ù Ç¥½Ã
function error_field(fld, msg) {
	if (msg != "")
		errmsg += msg + "\n";
	if (!errfld) errfld = fld;
	fld.style.background = "#BDDEF7";
}

//ÄÞ¸¶»ðÀÔ (number_format)
function commaSplit(srcNumber) { 
	var txtNumber = '' + srcNumber; 
	var rxSplit = new RegExp('([0-9])([0-9][0-9][0-9][,.])'); 
	var arrNumber = txtNumber.split('.'); 
	arrNumber[0] += '.'; 
	do { 
		arrNumber[0] = arrNumber[0].replace(rxSplit, '$1,$2'); 
	} 
	while (rxSplit.test(arrNumber[0])); 
	if (arrNumber.length > 1) { 
		return arrNumber.join(''); 
	} 
	else { 
		return arrNumber[0].split('.')[0]; 
	} 
}

//ÄÞ¸¶Á¦°Å
function filterNum(str) { 
	re = /^\$|,/g; 
	return str.replace(re, ""); 
}

//ÆäÀÌÂ¡Ã³¸®
function getPageLink(lnum,p,tpage,imgpath){
	var lnum=10;
	var g_p1 = "<IMG src='"+imgpath+"/bbs_listprev.gif' border='0' ALIGN=absmiddle>";
	var g_p2 = "<IMG src='"+imgpath+"/bbs_listprev.gif' border='0' ALIGN=absmiddle>";
	var g_n1 = "<IMG src='"+imgpath+"/bbs_listnext.gif' border='0' ALIGN=absmiddle>";
	var g_n2 = "<IMG src='"+imgpath+"/bbs_listnext.gif' border='0' ALIGN=absmiddle>";
	var g_cn = "<img src='"+imgpath+"/cutln.gif' border='0' align=absmiddle>";
	var g_q  = "";

	if(p < lnum+1) { g_q += g_p1; }
	else{ var pp = parseInt((p-1)/lnum)*lnum; g_q += "<A HREF='javascript:getPageGo("+pp+");'>"+g_p2+"</A>";} g_q += g_cn;

	var st1 = parseInt((p-1)/lnum)*lnum + 1;
	var st2 = st1 + lnum;

	for(var jn = st1; jn < st2; jn++)
	if ( jn <= tpage)
	(jn == p)? g_q += "<FONT COLOR=RED>"+jn+"</FONT>"+g_cn : g_q += "<A HREF='javascript:getPageGo("+jn+");'>"+jn+"</A>"+g_cn;

	if(tpage < lnum || tpage < jn) { g_q += g_n1; }
	else{var np = jn; g_q += "<A HREF='javascript:getPageGo("+np+");'>"+g_n2+"</A>"; }
	
	document.write(g_q);
}
//ÆäÀÌÁöÅ¬¸¯
function getPageGo(n) { 
	var p   = getUriString('p');
	var que = location.href.replace('&p='+p,'');
		que = que.indexOf('?') != -1 ? que : que + '?';

	location.href= que + '&p=' + n; 
}
function getThisFile() {
//	var QuerySplit = location.href.split('?');
//	alert(QuerySplit[0]);
//	return QuerySplit[0];
	return 'product.php';
}
function getThisUrl() {
	var d = document.DataForm;
	var cat_num1 = d.cat_num1.value;
	var cat_num2 = d.cat_num2.value;
	var cat_num3 = d.cat_num3.value;
	var search_sql = d.search_sql.value;
	var cqurl  = getThisFile();

	cqurl += cat_num1 ? '?cat_num1='+ cat_num1 : '';
	cqurl += cat_num2 ? '&cat_num2='+ cat_num2 : '';
	cqurl += cat_num3 ? '&cat_num3='+ cat_num3 : '';
	if(search_sql) {
		cqurl += '&search_sql='+ search_sql;
	}
	return cqurl;
}

//ÆÄ¶ó¹ÌÅÍ°ª
function getUriString(param){
	var QuerySplit = location.href.split('?');
	var ResultQuer = QuerySplit[1] ? QuerySplit[1].split('&') : '';

	for (var i = 0; i < ResultQuer.length; i++)
	{
		var keyval = ResultQuer[i].split('=');
		if (param == keyval[0]) return keyval[1];
	}
	return "";
}

function isEmail(str) {
	return true;
}
/***************************************
# prototype Ãß°¡ ÇÔ¼ö ¸®½ºÆ®
/**************************************/
	String.prototype.isUserid = function(str) {
		// ÀÏ¹ÝÀûÀÎ ¾ÆÀÌµð Ã¼Å©
		var re_value;
		str = this != window ? this : str;
		var pattern = /^[a-zA-Z]{1}[a-zA-Z0-9_]{4,16}$/;
		re_value = (pattern.test(str)) ? true : false;
		try { 
			if(!re_value) {
				o_fcn_valid_cfg.error_msg = "5ÀÚÀÌ»ó 16ÀÚ ¹Ì¾È,\n¿µ¹®,¼ýÀÚ,_¹®ÀÚ¸¸ »ç¿ëÇÒ¼ö ÀÖ½À´Ï´Ù!!";
			}
		} catch(e) {}
		return re_value;
	}


	String.prototype.NotBlank = function(str) {
	// °ø¹é Ã¼Å© »ç¿ëºÒ°¡
		var re_value;
		str = this != window ? this : str;
		var pattern = /\s/g;
		re_value = (pattern.test(str)) ? false : true;
		try { 
			if(!re_value) {
				o_fcn_valid_cfg.error_msg = "°ø¹éÀº \nÀÔ·ÂÀÌ ºÒ°¡´ÉÇÕ´Ï´Ù!!";
			}
		} catch(e) {}
		return re_value;
	}

	String.prototype.NotSpecial = function(str) {
	// Æ¯¼ö¹®ÀÚ Ã¼Å© »ç¿ë ºÒ°¡
		str = this != window ? this : str;
		for(j=0; j < str.length; j++) {
			var A = str.charCodeAt(j);
			if((A>=33 && A<=47)||(A>=58 && A<=64)||(A>=91 && A<=96)||(A>=123 && A<=126)){
				try {o_fcn_valid_cfg.error_msg = "Æ¯¼ö¹®ÀÚ´Â \n»ç¿ëÀÌ ºÒ°¡´ÉÇÕ´Ï´Ù!!";} catch(e) {}
				return false;
			}
		}
		return true;
	}

	String.prototype.isHangulOnly=function(str) {
	// ÇÑ±Û¸¸ °¡´É°¡´É(°ø¹éÆ÷ÇÔ)
		str = this != window ? this : str;
		var pattern = /[°¡-Èþ\s]+$/;
		var re_value = (pattern.test(str)) ? true : false;
		try { 
			if(!re_value) {
				o_fcn_valid_cfg.error_msg = "ÇÑ±Û¸¸(°ø¹éÆ÷ÇÔ) \nÀÔ·ÂÀÌ °¡´ÉÇÕ´Ï´Ù!!";
			}
		} catch(e) {}
		return re_value;
	}


	String.prototype.isAlphaOnly=function(str) {
	// ¿µ¹®¸¸ °¡´É(°ø¹éÆ÷ÇÔ)
		str = this != window ? this : str;
		var pattern = /^[a-zA-Z\s]+$/;
		var re_value = (pattern.test(str)) ? true : false;
		try { 
			if(!re_value) {
				o_fcn_valid_cfg.error_msg = "¿µ¹®¸¸(°ø¹éÆ÷ÇÔ) \nÀÔ·ÂÀÌ °¡´ÉÇÕ´Ï´Ù!!";
			}
		} catch(e) {}
		return re_value;
	}

	String.prototype.isNumeric=function(str) {
	// ¼ýÀÚ¸¸ °¡´É
		str = this != window ? this : str;
		var pattern = /^[0-9]+$/;
		var re_value = (pattern.test(str)) ? true : false;
		try { 
			if(!re_value) {
				o_fcn_valid_cfg.error_msg = "¼ýÀÚ¸¸ \nÀÔ·ÂÀÌ °¡´ÉÇÕ´Ï´Ù!!";
			}
		} catch(e) {}
		return re_value;
	}
/***************************************
# ÆûÃ¼Å©½Ã ±âº»ÇÔ¼öµé
/**************************************/

	/***************************************
	# NULL Ã¼Å©ÇÔ¼ö
	/**************************************/
		function isnull( input ) {
			var flag = false;
			try{ flag = (input == null || typeof(input) == "undefined" || input == "");} 
			catch( e ) {}
			return flag;
		}

	/***************************************
	# ¾ÕµÚ °ø¹é Á¦°Å
	/**************************************/
		String.prototype.trim = function(str) {
			str = this != window ? this : str;
			return str.replace(/^\s+/g,'').replace(/\s+$/g,'');
		}

	/***************************************
	# ±ÛÀÚ ¹ÙÀÌÆ® Ã¼Å©
	/**************************************/
		String.prototype.bytes = function(str) {
			str = this != window ? this : str;
			var len=0;
			for(j=0; j < str.length; j++) {
				var chr = str.charAt(j);
				len += (chr.charCodeAt() > 128) ? 2 : 1
			}
			return len;
		}
	

/***************************************
# Æû Ã¼Å© ¼³Á¤ÇÔ¼ö
/**************************************/
	function b_fcn_valid_cfg() {
		this.o_form = null;                      // ÇöÁ¦ Ã¼Å©ÁßÀÎ Æû°´Ã¼
		this.o_el = null;                        // ÇöÁ¦ Ã¼Å©ÁßÀÎ ¿¤¸®¸ÕÆ® °´Ã¼
		this.error_msg = "";                     // ¿¡·¯ ¸Þ½ÃÁö
		this.split_char = "|";                   // ÇÔ¼ö ±¸ºÐ ¹®ÀÚ

		this.cfg_name = "f_name";                // »ç¿ëÀÚ ÀÓÀÇ·Î ºÙÀÎ ÀÌ¸§ ¼Ó¼º
		this.cfg_focus = "f_focus";              // Ã¼Å©Áß ¿¡·¯½Ã Æ÷Ä¿½º Ã³¸® ¹æ¹ý [delete:select]
		this.cfg_item = new Array("f_min","f_max","f_fcn","f_user"); // Ã¼Å©ÇÒ ¿É¼Çµé

		/***************************************
		# ¿É¼Ç Ã³¸® ³»ºÎÇÔ¼öµé
		/**************************************/
		this.item_0_pid = function() {
			// ÃÖ¼Ò±ÛÀÚ Ã¼Å©
			var re_value = true;
			var el_value = this.el_value();
			var el_attribute = parseInt(this.o_el.getAttribute(this.cfg_item[0]));

			switch(this.el_type()) {
				case 2 : // Ã¼Å©¹Ú½º
				case 3 : // ¶óµð¿À¹Ú½º
					var i_checked = 0;
					this.error_msg = " "+el_attribute+"°³ ÀÌ»ó\nÇÊ¼ö Ã¼Å©Ç×¸ñÀÔ´Ï´Ù!!";
					var t_o_obj = this.o_form[this.o_el.name];
					if(!isnull(t_o_obj[1])) {
						for(var i = 0, itotal = t_o_obj.length ; i < itotal ; i++) {
							if(t_o_obj[i].checked == true) i_checked++;
						}
					} else {
						if(t_o_obj.checked == true) i_checked++;
					}
					if(i_checked < el_attribute) re_value = false;
				break;
				case 1 : // ¼¿·ºÆ® ¹Ú½º
					if(isnull(el_value) || el_value == '0') {
						re_value = false;
						this.error_msg = " ÇÊ¼ö ¼±ÅÃ »çÇ×ÀÔ´Ï´Ù!!";
					}
				break;
				default : 
					if(el_value.bytes() < el_attribute) {
						// ÃÖ¼ÒÀÔ·Â¹ÙÀÌÆ®º¸´Ù ÀÛÀ»°æ¿ì
						this.error_msg = " ÃÖ¼Ò "+el_attribute+"Bytes ÀÌ»ó \nÇÊ¼öÀÔ·Â »çÇ×ÀÔ´Ï´Ù!!";
						re_value = false;
					}
			} // endswitch
			return re_value;
		}

		this.item_1_pid = function() {

			if(this.el_type() != 0) return true; // ÅØ½ºÆ®°¡ ¾Æ´Ò°æ¿ì true

			var el_value = this.o_el.value.trim();
			var el_attribute = parseInt(this.o_el.getAttribute(this.cfg_item[1]));
			if(el_value.bytes() > el_attribute) {
				this.error_msg = " ÃÖ´ë "+el_attribute+"Bytes ÀÌÇÏ \nÀÔ·Â »çÇ×ÀÔ´Ï´Ù!!";
				return false;
			} else {
				return true;
			}

		}

		this.item_2_pid = function() {
			// prototype ÇÔ¼ö Ã¼Å©
			var el_value = this.el_value();
			var el_att = this.o_el.getAttribute(this.cfg_item[2]);
			var ar_el_att = el_att.split(this.split_char);
			var isTrue = true;

			for(var i = 0,itotal = ar_el_att.length ; i < itotal ; i++) {
				var c_prototype = "el_value."+ar_el_att[i]+"();";
				try { 
					isTrue = eval(c_prototype); 
				} catch(e) {}
				if(!isTrue) break;
			}
			return isTrue;
		}

		this.item_3_pid = function() {
			// »ç¿ëÀÚ ÇÔ¼ö Ã¼Å© 
			var el_value = this.el_value();
			var el_att = this.o_el.getAttribute(this.cfg_item[3]);
			var ar_el_att = el_att.split(this.split_char);
			var isTrue = true;

			for(var i = 0,itotal = ar_el_att.length ; i < itotal ; i++) {
				var c_prototype = ar_el_att[i]+"(el_value);";
				try { 
					isTrue = eval(c_prototype); 
				} catch(e) {}
				if(!isTrue) break;
			}
			return isTrue;
		}

		this.el_type = function (){
			// ¿¤¸®¸ÕÆ® Å¸ÀÔÃ¼Å© 
			//[0] : ±âº» input ,textarea ,password
			//[1] : select
			//[2] : check
			//[3] : radio
			var el_type = this.o_el.type;
			var el_tagName = this.o_el.tagName;
			switch(el_type) {
				//case "input" : case "password" :case "textarea" : el_type = 0; break;
				case "select-one" : el_type = 1; break;
				case "checkbox" : el_type = 2; break;
				case "radio" : el_type=3; break;
				default : el_type = 0;
			}
			return el_type;
		}

		this.el_value = function() {
			// ¹è¿­·ÎµÈ°Ç°¡ Ã¼Å©ÇÏ±â[ÀÛ¾÷Áß]
			re_value = this.o_el.value.trim();

			return  re_value;
		}

		this.error = function() {
			var msg_name = "";
			var el_focus = '';
			if(!isnull(this.o_el.getAttribute(this.cfg_name))) {
				msg_name = this.o_el.getAttribute(this.cfg_name);
			} else {
				msg_name = this.o_el.name;
			}

			alert(msg_name+" "+this.error_msg);
			// Æ÷Ä¿½º Ã³¸®ÇÏ´Â ºÎºÐ ³ÖÀ»°Í
			el_focus = this.o_el.getAttribute(this.cfg_focus);
			
			switch(el_focus) {
				case "delete" :
					this.o_el.value = "";
					this.o_el.focus();
				break;
				case "select" :
					this.o_el.select();
				break;
				default : 
					this.o_el.focus();
			}

		}
	}

/***************************************
# Æû Ã¼Å©ÇÔ¼ö ¸ÞÀÎ
/**************************************/
	var o_fcn_valid_cfg = new b_fcn_valid_cfg();

	function b_fcn_valid (o_form) {
		o_fcn_valid_cfg.o_form = o_form;         // Æû°´Ã¼

		for(var i = 0,i_el_len =  o_form.elements.length ; i < i_el_len ; i++) {
			// ÆûÀÇ ¿¤¸®¸ÕÆ® ¸¸Å­ ¹Ýº¹

			o_fcn_valid_cfg.o_el = o_form.elements[i]; // ¿¤¸®¸ÕÆ® °´Ã¼

			for(var k = 0 , k_len = o_fcn_valid_cfg.cfg_item.length ; k < k_len ; k++) {
				// Ã¼Å© Ç×¸ñ¸¸Å­ÀÇ ¹Ýº¹
				if(!isnull(o_fcn_valid_cfg.o_el.getAttribute(o_fcn_valid_cfg.cfg_item[k]))) {
					// Ç×¸ñ¿¡ °üÇÑ ¼Ó¼º °ªÀÌ ÀÖÀ»°æ¿ì
					//try {
						if(!eval("o_fcn_valid_cfg.item_"+k+"_pid()")) {
							// Àü¼Û°ªÀÌ false ÀÏ°æ¿ì for Á¾·á
							o_fcn_valid_cfg.error();
							return false; 
						}
					//} catch(e) {
						// ½ºÅ©¸³Æ® ¿¡·¯ ·Î±×ÆÄÀÏ·Î º¸³»±â
					//}
				} //endif

			} // end for k
		}
		return true;


	}