///2008-12-10

// ÃÖÁ¾¼öÁ¤ÀÏÀÚ 2008-11-25
// ÀÛ¼ºÀÚ : ±è»ó¼·

function chkForm(form)
{
	F_ele = new_elements(form)

	for(i=0;i<F_ele.length;i++)
	{
		k=F_ele[i];
		currEl = form.elements[k]; 
		fname=currEl.getAttribute("name");
		ftype=currEl.type.toUpperCase();
		hname=currEl.getAttribute("hname");

		if(hname==null) continue;

		//alert(i+":"+fname+","+ftype+","+ currEl.getAttribute("required"));

		// Æû°ËÁõ-ÇÊ¼öÇ×¸ñ required
		if(currEl.getAttribute("required") != null && ftype !="CHECKBOX")
		{
			if(ftype=="RADIO")
			{
				if(chkRadio(form,currEl,hname)==false)return false;
			}
			else
			{
				if(chkText(currEl,hname)==false)return false;
			}
		}

		// Æû°ËÁõ-¹®ÀÚ¿­±æÀÌ maxlength  + Á¤±Ô½Ä			
		if(ftype == "TEXT" || currEl.tagName.toUpperCase() == "TEXTAREA" || ftype == "PASSWORD")
		{
			//# ¹®ÀÚ¿­ ±æÀÌ
			if(currEl.getAttribute("maxlength") != null && currEl.value.length > 0)
			{ 
				if(chkLength(currEl,currEl.getAttribute("maxlength"),getName(currEl))==false)
				{
					return false;
				}
				if(chkMinMax(currEl,getName(currEl))==false)
				{
					return false;
				}
			}

			//# Á¤±Ô½Ä
			if(currEl.getAttribute("option") != null && currEl.value.length > 0)
			{ 
				if(!chkPatten(currEl,currEl.getAttribute("option"),getName(currEl))) 	return false; 
			}
			//# Ãß°¡¿É¼Ç (¿É¼Ç°ªÇÊ¼ö addreq)
			if(currEl.getAttribute("addreq") != null)
			{ 
				if(!chkChekedText(form,currEl))	return false;
				
			}
		}

		// Æû°ËÁõ-Ã¼Å©¹Ú½º Ã¼Å©°¹¼ö ¹× °ªÀÇ ÃÖ¼Ò°ª ÃÖ´ë°ª min max 
		if(ftype == "CHECKBOX")
		{
			if(chkCheckNum(form,currEl,hname)==false) return false;
		}
		
		// ³¯Â¥ Ã¼Å©(³¯ÀÚÀÎÁö ¾Æ´ÑÁö)
		if(currEl.getAttribute("chkDate") != null) {
		
			// ³¯Â¥°¡ ½ÇÁ¦ Á¸ÀçÇÏ´ÂÁö Ã¼Å©
		    if(!isValidDay(currEl.value)) {
		    
		    	alert(hname + "\n\nÇ×¸ñÀº Á¸ÀçÇÏÁö ¾Ê´Â ³¯Â¥ ÀÔ´Ï´Ù.");
		    	return false;
		    }
		    
			if(!chkPatten(currEl,currEl.option,getName(currEl))) 
					return false; 
		}
	}
	
	return true;
}
    
// ½ÇÁ¦ Á¸ÀçÇÏ´Â ³¯Â¥ÀÎÁö Ã¼Å©
function isValidDay(chkDate) {

	if (chkDate == null || chkDate == "") {
		return true;
	}
	
	var year  = chkDate.substring(0, 4);
    var month = chkDate.substring(5, 7);
    var day   = chkDate.substring(8,10);
    
    var m = parseInt(month,10) - 1;
    var d = parseInt(day,10);

    var end = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
    if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
        end[1] = 29;
    }

    return (d >= 1 && d <= end[m]);
}



/* Æ¯Á¤ ÇÊµå¸¸ Æû°ËÁõÀ» Ã¼Å©ÇÑ´Ù (¾ÆÀÌµð°ËÁõ)*/
/*
	var farr = Array('tbl_fog_det_id','wg_id');
	if(chkOverlapId($("pform1"),farr) != true) 
		return;
*/
function chkFormField(form, farr)
{
	F_ele = new_elements(form);
	var cc = 0;
	for(i=0;i<F_ele.length;i++)
	{
		k=F_ele[i];
		currEl = form.elements[k]; 
		fname=currEl.getAttribute("name");
		ftype=currEl.type.toUpperCase();
		hname=currEl.getAttribute("hname");

		if(hname==null) continue;
		if(in_array(fname,farr))
		{

			// Æû°ËÁõ-ÇÊ¼öÇ×¸ñ required
			if(currEl.getAttribute("required") != null && ftype !="CHECKBOX")
			{
				if(ftype=="RADIO")
				{
					if(chkRadio(form,currEl,hname)==false)return false;
				}
				else
				{
					if(chkText(currEl,hname)==false)return false;
				}
			}

			// Æû°ËÁõ-¹®ÀÚ¿­±æÀÌ maxlength  + Á¤±Ô½Ä
			if(ftype == "TEXT" || currEl.tagName.toUpperCase() == "TEXTAREA" || ftype == "PASSWORD")
			{
				//# ¹®ÀÚ¿­ ±æÀÌ
				if(currEl.getAttribute("maxlength") != null && currEl.value.length > 0)
				{ 
					if(!chkLength(currEl,currEl.getAttribute("maxlength"),getName(currEl)))
					{
						return false;
					}
					if(!chkMinMax(currEl,getName(currEl)))
						return false;	
				}
				//# Á¤±Ô½Ä
				if(currEl.getAttribute("option") != null && currEl.value.length > 0)
				{ 
					if(!chkPatten(currEl,currEl.option,getName(currEl))) 
						return false; 
				}		
				//# Ãß°¡¿É¼Ç (¿É¼Ç°ªÇÊ¼ö addreq)
				if(currEl.getAttribute("addreq") != null)
				{ 
					if(!chkChekedText(form,currEl))
						return false;
				}
			}

			// Æû°ËÁõ-Ã¼Å©¹Ú½º Ã¼Å©°¹¼ö ¹× °ªÀÇ ÃÖ¼Ò°ª ÃÖ´ë°ª min max 
			if(ftype == "CHECKBOX")
			{
				if(chkCheckNum(form,currEl,hname)==false) return false;
			}
			
			// ³¯Â¥ Ã¼Å©(³¯ÀÚÀÎÁö ¾Æ´ÑÁö)
			if(currEl.getAttribute("chkDate") != null) {
			
				// ³¯Â¥°¡ ½ÇÁ¦ Á¸ÀçÇÏ´ÂÁö Ã¼Å©
			    if(!isValidDay(currEl.value)) {
			    	alert(hname + "\n\nÇ×¸ñÀº Á¸ÀçÇÏÁö ¾Ê´Â ³¯Â¥ ÀÔ´Ï´Ù.");
			    	return false;
			    }
			    
			    // ³¯Â¥ Çü½Ä Ã¼
				if(!chkPatten(currEl,currEl.option,getName(currEl))) {
					return false; 
				}
			}
		}
	}
	return true;
}

/* ÆûÀÇ ±¸¼º¿ä¼Ò Áß ¿¹ºñ·Î °Ë»ö¿ä¼Ò¸¸ °¡Á®¿Â´Ù. */
function new_elements(form)
{
	F_ele = new Array();
	var tmp_ele;
	var j=0;
	for(i = 0; i < form.elements.length; i++)
	{
		currEl = form.elements[i]; 
		fname=currEl.getAttribute("name");
		ftype=currEl.type.toUpperCase();	 // ´ë¹®ÀÚ
		ftag=currEl.tagName.toUpperCase();
		if(ftype =="TEXT" || ftype =="RADIO" || ftype =="CHECKBOX" || ftag =="SELECT" || ftag=="TEXTAREA" || ftype == "PASSWORD")
		{
			if(ftype=="RADIO" || ftype=="CHECKBOX")
			{
				if(tmp_ele!=fname)		// Ã¼Å©¹Ú½º¿Í ¶óµð¿À´Â Áßº¹Ã¼Å©¸¦ ¸·´Â´Ù.
				{
					F_ele[j]=i;
					j++;
					tmp_ele=fname;
				}
			}
			else
			{
				F_ele[j]=i;
				j++;
			}
		}
	}
	return F_ele; // ¹è¿­¸®ÅÏ
}


/* º¸Á¶ ½ºÅ©¸³Æ® ÇÔ¼ö */
function trim(s)
{
	return s.replace( /^\s*/, "" ).replace( /\s*$/, "" );
}

function ChangeFocus(cur,next) 
{
	if( cur.value.length == cur.size) {
		next.focus();
	}
}

function getName(field)
{
	if (field.getAttribute("hname").length > 0)
	{
		return field.getAttribute("hname");
	} else {
		return field.name;
	}	
}

function in_array(str,carr)
{
	var c = carr.length;
	for(k=0;k<c;k++)
	{
		if(str==carr[k])
		{
			return true;
			break;
		}
	}
	return false;
}

function chkText(field,hname)
{ 
	var Field=trim(field.value);
	var n = Field.length;
	if(Field.length < 1){ 
		if (field.tagName.toUpperCase() == "SELECT")
			alert("[" + hname + "] Ç×¸ñÀ» ¼±ÅÃÇÏ¿© ÁÖ½Ê½Ã¿À."); 
		else
			alert("[" + hname + "] Ç×¸ñÀ» ÀÔ·ÂÇÏ¿© ÁÖ½Ê½Ã¿À."); 
			
		field.focus(); 
		return false; 
	}
	else
	{
		return true;
	}
}

function chkRadio(form,field,hname)
{
	fieldname = eval(form.name+'.'+field.name);
	for (t=0;t<fieldname.length;t++)
	{
		if (fieldname[t].checked)
		{
			return true; 				
			break;
		}
	}
	alert("[" + hname + "] Ç×¸ñÀ» ¼±ÅÃÇÏ¿© ÁÖ½Ê½Ã¿À."); 
	field.focus(); 
	return false; 
}

function getLength(str) 
{
	var l = 0;
	for (var t=0; t<str.length; t++) 
		l += (str.charCodeAt(t) > 128) ? 2 : 1;
	return l;
}

function chkLength(field,len,hname)
{
	if(getLength(field.value) > len){ 
		alert(hname + "\n\nÃÖ´ë " + len + "byte·Î ÀÔ·ÂÀÌ Á¦ÇÑµÇ¾î ÀÖ½À´Ï´Ù.\n(¿µ¹®¼ýÀÚ1byte,ÇÑ±Û2byte·Î °è»ê)"); 
		field.focus(); 
		return false; 
	}
	else
	{
		return true; 
	}
}

function chkMinMax(field, hname)
{ 
	Field=parseInt(trim(field.value),10);
	if(field.getAttribute("min"))
	{
		min=parseInt(field.getAttribute("min"),10);
		if(Field < min)
		{
			alert("[" + hname + "] Ç×¸ñÀÇ °ª("+Field+")ÀÌ ÃÖ¼Ò¼³Á¤°ª "+min+"º¸´Ù ÀÛ½À´Ï´Ù.");
			field.focus();
			return false;
		}
	}
	if(field.getAttribute("max"))
	{
		max=parseInt(field.getAttribute("max"),10);
		if(Field > max)
		{
			alert("[" + hname + "] Ç×¸ñÀÇ °ª("+Field+")ÀÌ ÃÖ´ë¼³Á¤°ª "+max+"º¸´Ù Å®´Ï´Ù.");
			field.focus();
			return false;
		}
	}
	else
	{
		return true; 
	}
}

function chkMinMax_tmp(field, hname)
{ 
	Field=parseInt(trim(field.value),10);
	if(field.getAttribute("min") || field.getAttribute("max"))
	{
		min=parseInt(field.getAttribute("min"),10);
		max=parseInt(field.getAttribute("max"),10);
		if(Field < min || Field > max)
		{
			alert("[" + hname + "] ÀÇ °ªÀ» "+min+"~"+max+"Á¡ »çÀÌ·Î Æò°¡ÇØ ÁÖ¼¼¿ä");
			field.focus();
			return false;
		}
	}
	else
		return true; 
}

function chkPatten(field,patten,hname)
{ 
	var regNum =/^[0-9]+$/; 
	var regNum2 =/^[-.,0-9]+$/;	//ÄÞ¸¶(,) + Á¡(.) + ¼ýÀÚ
	var regNum3 =/^[-0-9]+$/;	//´Ù½Ã(-) + ¼ýÀÚ
	var regNum4 =/^[-.0-9]+$/;	//Á¡(.) + ¼ýÀÚ
	var regPhone =/^[0-9]{2,3}-[0-9]{3,4}-[0-9]{4}$/; 
	var regMail =/^[_a-zA-Z0-9-]+@[._a-zA-Z0-9-]+\.[a-zA-Z]+$/; 
	var regDomain =/^[.a-zA-Z0-9-]+.[a-zA-Z]+$/; 
	var regAlpha =/^[a-zA-Z]+$/;
	var regAlpha2 =/^[ a-zA-Z]+$/; //¿µ¹®+°ø¹é
	var regHost =/^[a-zA-Z-]+$/; 
	var regHangul =/[°¡-ÆR]/; // ÇÑ±ÛÆ÷ÇÔ
	var regHangulOnly =/^[°¡-ÆR]*$/; // ÇÑ±Û¸¸
	var regHangulOnly2 =/^[ °¡-ÆR]*$/; // ÇÑ±Û + °ø¹é¸¸
	var regHangulEng =/[°¡-ÆRa-zA-Z]/; //ÇÑ±Û°ú ¿µ¹®¸¸
	var regEngNum = /^[a-zA-Z0-9]+$/; //¿µ¹®, ¼ýÀÚ¸¸
	var regChar =/^[ .()_a-zA-Z-0-9°¡-ÆR]+$/; //ÇÑ±Û, ¿µ¹®, ¼ýÀÚ, ¾ð´õ¹Ù, (), - , °ø¹é, Á¡
	var regChar2 =/^[_a-zA-Z0-9]+$/; //¿µ¹®, ¼ýÀÚ, ¾ð´õ¹Ù
	var regChar3 =/^[ _a-zA-Z0-9°¡-ÆR]+$/; //ÇÑ±Û, ¿µ¹®, ¼ýÀÚ, ¾ð´õ¹Ù, °ø¹é
	var regChar4 =/^[.a-zA-Z0-9]+$/; //¿µ¹®, ¼ýÀÚ, Á¡
	var regHangulEng2 =/[ °¡-ÆRa-zA-Z]/; //ÇÑ±Û°ú ¿µ¹® ±×¸®°í °ø¹é¸¸
	var regId = /^[a-zA-Z]{1}[a-zA-Z0-9_-]{4,15}$/; 
	var regId2 = /^[a-zA-Z]{1}[a-zA-Z0-9_-]{2,10}$/; 
	var regDate =/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/; 
	var regDate2 =/^[0-9]{4}-[0-9]{2}$/;
	var regNumRst2 = /^[0-9]{2}$/;	// ¼ýÀÚ(2ÀÚ¸®¼ö)
	var regNumRst3 = /^[0-9]{3}$/;	// ¼ýÀÚ(3ÀÚ¸®¼ö)
	var regNumRst4 = /^[0-9]{4}$/;	// ¼ýÀÚ(4ÀÚ¸®¼ö)
	var regNumRst5 = /^[0-9]{5}$/;	// ¼ýÀÚ(5ÀÚ¸®¼ö)
	var regNumRst3_4 = /^[0-9]{3,4}$/;	// ¼ýÀÚ(3ÀÚ¸® ¶Ç´Â 4ÀÚ¸®)
	var regIP = /([1]\d\d|[2][0-5][0-5]|[1-9][0-9]|[0-9]){1}(\.([1]\d\d|[2][0-5][0-5]|[1-9][0-9]|[0-9])){3}/gi;    //+(\.\d)*)/
	var regPhone2 = /(\d{2}).*(\d{3}).*(\d{4})/ //ÀüÈ­¹øÈ£

	patten = eval(patten); 
	if(!patten.test(field.value))
	{ 
		alert(hname + "\n\nÇ×¸ñÀÇ Çü½ÄÀÌ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù."); 
		field.focus(); 
		return false; 
	} 
	else
		return true; 
}

function chkCheckNum(form,field,hname)
{
	var num = 0;
	fieldname = eval(form.name+'.'+field.name);
	for (t=0;t<fieldname.length;t++)
	{ 
		if (fieldname[t].checked)
		{
			num++;
		}
	}

	min_num=currEl.getAttribute("min");
	max_num=currEl.getAttribute("max");

	if (num < min_num)
	{
		alert(hname + '\n\nÃÖ¼Ò ' + min_num + '°³¸¦ ¼±ÅÃÇÏ¼Å¾ß ÇÕ´Ï´Ù.');
		return false;
	}
	if (num > max_num)
	{
		alert(hname + '\n\nÃÖ´ë ' + max_num + '°³±îÁö ¼±ÅÃÇÒ ¼ö ÀÖ½À´Ï´Ù.');
		return false;
	}
	else
	 return true;		
}

function chkChekedText(form,currEl)
{
	RA=currEl.getAttribute("addreq");
	var RA_arr = new Array();
	RA_arr=RA.split(":");
	fv=RA_arr[1]-1;

	fm=form.getAttribute("name");
	fn=eval(fm+"."+RA_arr[0]);

	//k=fn.length;

	if(fn[fv].checked==true)
	{
		if(!chkText(currEl,getName(currEl))) 
		return false; 
	}
	
	if(fn[fv].checked==false) currEl.value="";
	return true;
}

//---------------------------------------------------------------------------------------------

function now_ing(form)
{
		var ing_tmp=new Array();
		ing=form.poll_ing.value;
		ing_tmp=ing.split(":");
		k=ing_tmp[0];
		t=ing_tmp[1];

		a=k/t;
		k=Math.round(a*100);
		ING1.innerText=k;

		j=Math.round(a*10);
		var ing_html="";
		for(i=1;i<11;i++)
		{
			if(j>=i) ing=1
			else ing=0
			ing_html=ing_html+"<img src=\"img/"+ing+".gif\" width=8 height=8 hspace=4>";
		}
		ING2.innerHTML=ing_html;
}

function next_page(form)
{
		this_SH=form.this_SH.value;
		next_SH=form.next_SH.value;

		ThisSH=eval(this_SH+".style");
		NextSH=eval(next_SH+".style");
		ThisSH.display="none";
		NextSH.display="block";
		show_moive(next_SH); // µ¿¿µ»ó ÆäÀÌÁö
}

function datamove(form,real_form)
{
	// ½ÇÁ¦ Æû°ªÀ» ÃÊ±âÈ­ÇÑ´Ù (Àß¸øÇØ¼­ ¹öÆ°À» 2¹ø ´­·¯ °ªÀÌ Áßº¹µÇÁö ¾Êµµ·Ï ÇÏ±â À§ÇÔ)
	real_form_init(form,real_form);

	// °°Àº ±×·ìÀÇ °ªÀ» ¹­¾î¼­ ½ÇÁ¦ Àü¼ÛÆûÀ¸·Î º¸³½´Ù.
	F_ele = new_elements(form);
	for(i=0;i<F_ele.length;i++)
	{
		k=F_ele[i];	
		currEl = form.elements[k]; 
		fname=currEl.getAttribute("name");
		ftype=currEl.type.toUpperCase();
		group=currEl.getAttribute("group");

		/* ÀÌ½Ä¿¡ ¸Õ°¡°¡ ¿À·ù°¡ ÀÖ½¿..
				if(group !=null)
				{
					if(ftype=="CHECKBOX")	val=get_checkvalue(form,fname);
					else if(ftype=="RADIO") val=get_radiovalue(form,fname);
					else val =currEl.getAttribute("value");

					if(val !="")
					{
						fname2=eval("document."+real_form+"."+group);
						fname2_val=fname2.value;
						if(fname2_val) fname2.value=fname2_val+"::"+val;
						else fname2.value = val;			
					}
				}
				else
				{
					val =currEl.getAttribute("value");
					fname2=eval("document."+real_form+"."+fname);
					fname2.value=val;		
				}
		*/

		if(ftype=="CHECKBOX")	val=get_checkvalue(form,fname);
		else if(ftype=="RADIO") val=get_radiovalue(form,fname);
		else
		{	
			val =currEl.getAttribute("value");
			val=val.replace(/,/g,'_'); // ÄÞ¸¶¸¦ ¹Ù²Û´Ù.
		}
		if(group !=null)
		{
			if(val !="")
			{
				fname2=eval("document."+real_form+"."+group);
				fname2_val=fname2.value;
				if(fname2_val) fname2.value=fname2_val+"::"+val;
				else fname2.value = val;			
			}
		}
		else
		{
			fname2=eval("document."+real_form+"."+fname);
			fname2.value=val;		
		}

	}
}	

function real_form_init(form,real_form)
{
	F_ele = new_elements(form);
	for(i=0;i<F_ele.length;i++)
	{
		k=F_ele[i];	
		currEl = form.elements[k]; 
		fname=currEl.getAttribute("name");
		group=currEl.getAttribute("group");

		if(group !=null) fname2=eval("document."+real_form+"."+group);
		else fname2=eval("document."+real_form+"."+fname);
		
		fname2.value="";
	}	
}

function get_checkvalue(form,fname)
{
	check=eval("form."+fname);
	k=check.length;
	val="";

	if(k==undefined) // Ã¼Å©¹Ú½º°¡ 1°³ÀÎ °æ¿ì
	{
		if(check.checked)
			val = check.value;
	}
	else
	{
		p=0;
		var temp = new Array();
		for(j=0;j<k;j++)
		{
			if(check[j].checked==true)
			{ 
				temp[p]=check[j].value;
				p++;
			}
			val = temp.join(",");
		}
	}
	return val;
}

function get_radiovalue(form,fname)
{
	var val="";
	radio=eval("form."+fname);
	k=radio.length;
	for(j=0;j<k;j++)
	{
		if(radio[j].checked==true)
		{ 
			val=radio[j].value;
			break;
		}
	}
	return val;
}

function get_selectmanyvalue(form,fname)
{
	select=eval("form."+fname);
	k=select.options.length;
	val="";
	p=0;
	var temp = new Array();
	for(j=0;j<k;j++)
	{
		if(select[j].selected==true)
		{ 
			temp[p]=select.options[j].value
			p++;
		}
		val = temp.join(",");
	}
	return val;
}


function chk_same_val(arr)
{ // ¹è¿­Áß °°Àº °ªÀ» °¡Áö°í ÀÖ´ÂÁö Ã¼Å© (¼øÀ§Çü ¹Ú½º¾²±â)
	cnt=arr.length;
	for(i=0;i<cnt;i++)
	{
		a1=arr[i];
		for(j=0;j<cnt;j++)
		{
			a2=arr[j];
			if(i != j)
			{
				if(a1==a2)
				{
					return false;
					break;
				}
			}
		}
	}	
}

//---------------------------------------------------------------------------------------------