//¸Þ´º Æ®·»Áö¼Ç
function bt(id,after) 
{ 
eval(id+'.filters.blendTrans.stop();'); 
eval(id+'.filters.blendTrans.Apply();'); 
eval(id+'.src="'+after+'";'); 
eval(id+'.filters.blendTrans.Play();'); 
}


//ÇÁ¸®·Îµå ÀÌ¹ÌÁö
function MM_preloadImages() {
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

//------------------------------------------------------
// Name : fnTrimString
// Desc : remove blank string
// Parm : inString - check string
// Cret : Jul., 28, 2003
// Updt : 
// Retn : 
//------------------------------------------------------	
function fnTrimString(inString) 
{
	var outString;
	var startPos;
	var endPos;
	var ch;

	startPos = 0;
	ch = inString.charAt(startPos);
	while ((ch == " ") || (ch == "\b") || (ch == "\f") || (ch == "\n") || (ch == "\r") || (ch == "\n")){
		startPos++;
		ch = inString.charAt(startPos);
	}

	endPos = inString.length - 1;
	ch = inString.charAt(endPos);
	while ((ch == " ") || (ch == "\b") || (ch == "\f") || (ch == "\n") || (ch == "\r") || (ch == "\n")){ 
		endPos--;
		ch = inString.charAt(endPos);
	}

	outString = inString.substring(startPos, endPos + 1);

	return outString;
}

//------------------------------------------------------
// Name : fnTrimComma
// Desc : remove comma
// Parm : inString - check string
// Cret : Jul., 28, 2003
// Updt : 
// Retn : 
//------------------------------------------------------	
function fnTrimComma(inString) 
{
	var len = inString.length;
	var ch, outString = "c";

	for (i=1; i<=len; i++ ){
		ch = inString.substr(i-1, 1);
		if (ch == ","){
        	continue;
		}
		else{
			outString = outString + ch;
		}
	}
	outlen = outString.length;
    outString = outString.substring(1,outlen);
    
	return outString;
}

//------------------------------------------------------
// Name : fnTrimZeroDcm
// Desc : remove 0 with decimal
// Parm : argSt - check string
// Cret : Jul., 28, 2003
// Updt : 
// Retn : 
//------------------------------------------------------	
function fnTrimZeroDcm(argSt)
{
	var len = argSt.length;
	var out = "";
	if(len <= 0) 
		return out;
		
	var nPos = argSt.indexOf(".");
	
	var nPosVal = "";	
	var nNegVal = "";
	if(nPos < 0){
		out = fnTrimZero(argSt);
	}
	else{
		nPosVal = argSt.substring(0,nPos);
		nNegVal = argSt.substring(nPos+1);
		
		nPosVal = fnTrimZero(nPosVal);
		
		if(nNegVal.length > 0 && parseInt(nNegVal) > 0 ){
			nNegVal = fnTrimZeroUnderPos(nNegVal);
			out = nPosVal+"."+nNegVal;
		}
		else{
			out = nPosVal;
		}
	}
	return out;
	
}

//------------------------------------------------------
// Name : fnTrimZero
// Desc : remove 0
// Parm : argSt - check string
// Cret : Jul., 28, 2003
// Updt : 
// Retn : 
//------------------------------------------------------	
function fnTrimZero(argSt)
{
	var len = argSt.length;
	var out = "";;
	if(len <= 0) return out;
	
	for(var i=0; i <= len; i++){
		var ch = argSt.substr(i-1, 1);
		if (ch > "0" || ch == "-") break;	
		//if (ch > "0") break;
	}
	
	out = argSt.substring(i-1);
	return out;
}

//------------------------------------------------------
// Name : fnTrimZeroUnderPos
// Desc : remove 0 under valid point format
// Parm : argSt - check string
// Cret : Sep., 29, 2003
// Updt : 
// Retn : 
//------------------------------------------------------	
function fnTrimZeroUnderPos(argSt)
{
	var len = argSt.length;
	var out = "";
	if(len <= 0) 
		return out;
	var nIndexZero = argSt.indexOf("0");
	if(nIndexZero < 0)
		return argSt;
	else
		return argSt.substring(0,nIndexZero);
}

//------------------------------------------------------
// Name : fnFmtNum2
// Desc : check valid number format include (., -)
// Parm : argSt - check string
// Cret : Sep., 29, 2003
// Updt : 
// Retn : 
//------------------------------------------------------	
function fnFmtNum2(checkText) 
{
	var foundNum = true;
	var i = 0;
	var len = checkText.length;
	var ch;

	while (i < len){
		ch = checkText.substring(i, i+1);
		if (!((ch >= "0") && (ch <= "9")) && !(ch == ".") && !(ch == "-")){
			foundNum = false;
			break;
		}
		i++;
	}
	return foundNum;
}


//------------------------------------------------------
// Name : fnMakeCommaDcm
// Desc : make comma per 3 digits with decimal
// Parm : argSt - check string
// Cret : Jul., 28, 2003
// Updt : 
// Retn : 
//------------------------------------------------------	
function fnMakeCommaDcm(argSt)
{
	var nMinus = argSt.indexOf("-");
	var out = "";
	
	var nPosVal = "";	
	var nNegVal = "";
	
	if(nMinus >= 0){
		argSt = argSt.substring(1);
	}
	var nPos = argSt.indexOf(".");
	
	if(nPos < 0){
		out = fnMakeComma(argSt);
	}
	else{
		nPosVal = argSt.substring(0,nPos);
		nNegVal = argSt.substring(nPos+1);
		
		nPosVal = fnMakeComma(nPosVal);
		if(nNegVal.length < 0){
			out = nPosVal;
		}
		else{
			out = nPosVal+"."+nNegVal;
		}
	}
	
	if(nMinus >= 0)
		out = "-" + out;
		
	return out;
}

//------------------------------------------------------
// Name : fnMakeComma
// Desc : make comma per 3 digits
// Parm : checkText - check string
// Cret : Jul., 28, 2003
// Updt : 
// Retn : 
//------------------------------------------------------	
function fnMakeComma(checkText)
{

	var len = checkText.length;
	var str = checkText;
  var isMinusFlag;
	if (len > 0)
	{
		if(checkText.substr(0,1)=="-")
			isMinusFlag = true;
		else
			isMinusFlag = false;
	}
	if(!isMinusFlag)
	{
		if(len < 4){
			return str;
		}
		else if (len == 4){
			str = checkText.substr(0,1) + "," + checkText.substr(1,len);
			return str;
		}
		else if(len == 5){
			str = checkText.substr(0,2) + "," + checkText.substr(2,len);
			return str;
		}
		else if(len == 6){
			str = checkText.substr(0,3) + "," + checkText.substr(3,len);
			return str;
		}
		else if(len == 7){
			str = checkText.substr(0,1) + "," + checkText.substr(1,3) + "," + checkText.substr(4,len);
			return str;
		}
		else if(len == 8){
			str = checkText.substr(0,2) + "," + checkText.substr(2,3) + "," + checkText.substr(5,len);
			return str;
		}
		else if(len == 9){
			str = checkText.substr(0,3) + "," + checkText.substr(3,3) + "," + checkText.substr(6,len);
			return str;
		}
		else if(len == 10){
			str = checkText.substr(0,1) + "," + checkText.substr(1,3) + "," + checkText.substr(4,3) + "," + checkText.substr(7,len);
			return str;
		}
		else if(len == 11){
			str = checkText.substr(0,2) + "," + checkText.substr(2,3) + "," + checkText.substr(5,3) + "," + checkText.substr(8,len);
			return str;
		}
		else if(len == 12){
			str = checkText.substr(0,3) + "," + checkText.substr(3,3) + "," + checkText.substr(6,3) + "," + checkText.substr(9,len);
			return str;
		}
		else if(len > 12){
			alert("ÇöÀç ÀÔ·ÂµÈ °ªÀ» È®ÀÎÇÏ¼¼¿ä!" + '\n' + "°è»êµÈ °ªÀÌ 1Á¶ÀÌ»óÀÔ´Ï´Ù!");
			return checkText;
		}
	}
	else
	{
		if(len < 5){
			return str;
		}
		else if (len == 5){
			str = checkText.substr(0,2) + "," + checkText.substr(2,len);
			return str;
		}
		else if(len == 6){
			str = checkText.substr(0,3) + "," + checkText.substr(3,len);
			return str;
		}
		else if(len == 7){
			str = checkText.substr(0,4) + "," + checkText.substr(4,len);
			return str;
		}
		else if(len == 8){
			str = checkText.substr(0,2) + "," + checkText.substr(2,3) + "," + checkText.substr(5,len);
			return str;
		}
		else if(len == 9){
			str = checkText.substr(0,3) + "," + checkText.substr(3,3) + "," + checkText.substr(6,len);
			return str;
		}
		else if(len == 10){
			str = checkText.substr(0,4) + "," + checkText.substr(4,3) + "," + checkText.substr(7,len);
			return str;
		}
		else if(len == 11){
			str = checkText.substr(0,2) + "," + checkText.substr(2,3) + "," + checkText.substr(5,3) + "," + checkText.substr(8,len);
			return str;
		}
		else if(len == 12){
			str = checkText.substr(0,3) + "," + checkText.substr(3,3) + "," + checkText.substr(6,3) + "," + checkText.substr(9,len);
			return str;
		}
		else if(len == 13){
			str = checkText.substr(0,4) + "," + checkText.substr(4,3) + "," + checkText.substr(7,3) + "," + checkText.substr(10,len);
			return str;
		}
		else if(len > 13){
			alert("ÇöÀç ÀÔ·ÂµÈ °ªÀ» È®ÀÎÇÏ¼¼¿ä!" + '\n' + "°è»êµÈ °ªÀÌ -1000¾ïÀÌÇÏÀÔ´Ï´Ù!");
			return checkText;
		}
	}
}


//------------------------------------------------------
// Name : fnDcmDelete
// Desc : decimal delete
// Parm : checkText - check string
//				pos - delete position
// Cret : Jul., 28, 2003
// Updt : 
// Retn : 
//------------------------------------------------------	
function fnDcmDelete(checkText, pos)
{
	value = parseFloat(checkText);

	if(pos == 1){
		value = parseInt(value);
		return value ;
	}
	else if(pos == 2){
		value = value * 10;
		value = parseInt(value);
		value = value/10;
		return value ;
	}
	else if(pos == 3){
		value = value * 100;
		value = parseInt(value);
		value = value/100;
		return value ;
	}
	else if(pos == 4){
		value = value * 1000;
		value = parseInt(value);
		value = value/1000;
		return value ;
	}
}

//------------------------------------------------------
// Name : fnFmtNum1
// Desc : check valid number format
// Parm : checkText - check string
// Cret : Sep., 29, 2003
// Updt : 
// Retn : 
//------------------------------------------------------	
function fnFmtNum1(checkText) 
{
	var foundNum = true;
	var i = 0;
	var len = checkText.length;
	var ch;

	// walk through a string and quit if we find a number
	while (i < len){
		ch = checkText.substring(i, i+1);
		if (!(ch >= "0") && (ch <= "9"))
        {
			foundNum = false;
			break;
		}
		i++;
	}
	return foundNum;
}

//------------------------------------------------------
// Name : fnFmtDate1
// Desc : format date (00000000 -> 0000-00-00)
// Parm : title - form name
//				checkText - check text
// Cret : Sep., 29, 2003
// Updt : 
// Retn : 
//------------------------------------------------------	
function fnFmtDate1(title, checkText)
{
	var len = checkText.value.length
	var date = checkText.value

	if (len == 0){
		return date;
	}
	else if ( 0 < len && len < 8 ){
		alert("[ " + title + " ]" + "\n" + "³â¿ùÀÏÀ» ´ÙÀ½8ÀÚ¸® ¼ýÀÚÇüÅÂ·Î ÀÔ·ÂÇÏ¼¼¿ä!" + "\n" + "YYYYMMDD : 20010101");
		checkText.focus();
		checkText.select();
		return -1;
	}
	else if (len == 8){
		chkdate = date;

		//¼ýÀÚÀÌ¿ÜÀÇ °ªÃ¼Å©
		if (fnFmtNum1(chkdate)){ //°Ë»çÁ¤»ó
		}
		else{
			alert("[ " + title + " ]" + "\n" + "Á¤»óÀûÀÎ ¼ýÀÚ°¡ ¾Æ´Õ´Ï´Ù!" + "\n" + "ÇØ´çÇ×¸ñÀÇ ¼ýÀÚ¸¸ ÀÔ·ÂÇÏ¼¼¿ä!" + "\n" + "¹®ÀÚ³ª °ø¹é¹é¿©ºÎ¸¦ È®ÀÎÇÏ¼¼¿ä!") ;
			checkText.focus();
			checkText.select();
			return -1;
		}
		date = date.substring(0,4) + '-' + date.substring(4,6) + '-' + date.substring(6,8);
		return date;
	}
	else if (len == 10){
		var chkdate = date.substring(0,4) + date.substring(5,7) + date.substring(8,10);
	
		//¼ýÀÚÀÌ¿ÜÀÇ °ªÃ¼Å©
		if (fnFmtNum1(chkdate)){ //°Ë»çÁ¤»ó
		}
		else{
			alert("[ " + title + " ]" + "\n" + "Á¤»óÀûÀÎ ¼ýÀÚ°¡ ¾Æ´Õ´Ï´Ù!" + "\n" + "ÇØ´çÇ×¸ñÀÇ ¼ýÀÚ¸¸ ÀÔ·ÂÇÏ¼¼¿ä!" + "\n" + "¹®ÀÚ³ª °ø¹é¹é¿©ºÎ¸¦ È®ÀÎÇÏ¼¼¿ä!") ;
			checkText.focus();
			checkText.select();
			return -1;
		}
		date = date.substring(0,4) + '-' + date.substring(5,7) + '-' + date.substring(8,10);
		return date;
	}
	else{
		alert("[ " + title + " ]" + "\n" + "³â¿ùÀÏÀ» ´ÙÀ½8ÀÚ¸® ¼ýÀÚÇüÅÂ·Î ÀÔ·ÂÇÏ¼¼¿ä!" + "\n" + "YYYYMMDD : 20010101");
		checkText.focus();
		checkText.select();
		return -1;
	}
}

//------------------------------------------------------
// Name : fnDateFormat
// Desc : check date format to (YY/MM)
// Parm : checkText - check form value
//				type - date type (month, day)
// Cret : Jul., 29, 2003
// Updt : 
// Retn : 
//------------------------------------------------------	
function fnDateFormat(checkText, typ)
{
	var len = checkText.value.length
	var date = checkText.value

	if (len == 0){
		return date;
	}
	else if (len == 1 || len > 2){
		//alert("01 ÇüÅÂ·Î ÀÔ·ÂÇÏ¼¼¿ä!");
		checkText.value = '0'+date;
		//checkText.focus();
		//checkText.select();
		//return -1;
	}
	else if (len == 2){
		if (!(fnCharHas(date, '1234567890'))){
			alert("01 ÇüÅÂ·Î ÀÔ·ÂÇÏ¼¼¿ä!");
			checkText.focus();
			checkText.select();
			return -1;
		}
		
		if ( ((typ == 'm') && (date < 0 || date > 12)) || ((typ == 'd') && (date < 0 || date > 31)) ) {
			alert("¿Ã¹Ù¸¥ ³¯Â¥¸¦ ÀÔ·ÂÇÏ¼¼¿ä!");
			checkText.focus();
			checkText.select();
			return -1;
		}
	
	}
	
}



//------------------------------------------------------
// Name : fnChkValidPubDate
// Desc : check valid DTI issue date
// Parm : dt - check date
// Cret : Jul., 28, 2003
// Updt : 
// Retn : 
//------------------------------------------------------	
function fnChkValidPubDate(dt)
{
	var inputDate = dt;
	if (inputDate.length != 10) {
		alert('³¯Â¥¸¦ Á¤È®È÷ ¼±ÅÃÇÏ¼¼¿ä!');
		return false;
	}
	inputDate = inputDate.replace("-", "");
	inputDate = inputDate.replace("-", "");
	var yyyy = inputDate.substring(0, 4);
	var mm = inputDate.substring(4, 6);
	var dd = inputDate.substring(6, 8);

	var today = new Date();
	var curYear = today.getYear(); 
	if (curYear < 2000) 
		curYear+=1900;
	var curMonth = today.getMonth() + 1;
	var curDay = today.getDate();

	var curDate = curYear+""+fnFilZero(curMonth, 2)+""+fnFilZero(curDay, 2);

	if (mm < "01" || mm > "12" ){
		alert("¿ùÀ» Á¤È®È÷ ¼±ÅÃÇÏ¼¼¿ä!");
		return false ;
	}
	    
	if (dd < "01" || dd > "31" ){
		alert("ÀÏÀ» Á¤È®È÷ ¼±ÅÃÇÏ¼¼¿ä!");
	    return false ;
	}
	
	if( yyyy < "2002" || parseInt(yyyy) > curYear )	{
		alert("¿¬µµ¸¦ Á¤È®È÷ ¼±ÅÃÇÏ¼¼¿ä!");
		return false;
	}
	
	if( (parseInt(yyyy) + 1) != curYear && parseInt(mm) > curMonth ) {
		alert("¿¬µµ¸¦ Á¤È®È÷ ¼±ÅÃÇÏ¼¼¿ä!");
		return false;
	}
	if (mm == "02" || mm == "04" || mm == "06" || mm == "09" || mm == "11"){
		if (dd > "30"){
			alert("ÀÏÀ» Á¤È®È÷ ¼±ÅÃÇÏ¼¼¿ä!");
		    return false ;
		}

		if ((inputDate == '20040229') || (inputDate == '20080229')){
		}
		else{
		   if (mm == "02")
			{
				if (dd > "28")
				{
					alert("ÀÏÀ» Á¤È®È÷ ¼±ÅÃÇÏ¼¼¿ä!");
					return false ;
				}
			}
		}
		
	}
	return true;
}

//------------------------------------------------------
// Name : fnFilZero
// Desc : fill digit with '0'
// Parm : dt - check date
// Cret : Jul., 28, 2003
// Updt : 
// Retn : 
//------------------------------------------------------	
function fnFilZero(textvalue, count)
{ 
	var sValue = "";
	var iLen = textvalue+"";
	iLen = iLen.length;

      if(iLen < 1)
      {
         sValue = "";
      }
      else if(iLen >= count)
      {
         sValue = textvalue;
      }
      else
      {
         sValue = textvalue ;
         iLen = count - iLen ;
    
         for (var i=0; i<iLen ;i++ ){
	          sValue = "0" + sValue;
         }
      }
      return sValue;
}


//------------------------------------------------------
// Name : fnIsNull
// Desc : check form is null or not
// Parm : f - target form
// Cret : Jul., 18, 2003
// Updt : 
// Retn : 
//------------------------------------------------------
function fnIsNull(f) {
    if (f.value == null || f.value == "") 
			return true;
		else
    	return false;
}

//------------------------------------------------------
// Name : fnErrMsg
// Desc : alert message and focus
// Parm : m - alert message
//				o - focus object
// Cret : Jul., 16, 2003
// Updt : 
// Retn : 
//------------------------------------------------------
function fnErrMsg(o, m){
	alert(m);
	o.select();
	o.focus();
}



//------------------------------------------------------
// Name : fnByteLen
// Desc : get value's byte length
// Parm : f - target form
// Cret : Jul., 18, 2003
// Updt : 
// Retn : 
//------------------------------------------------------
function fnByteLen(f) {
    var byteLength = 0;
    for (var inx = 0; inx < f.value.length; inx++) {
	var oneChar = escape(f.value.charAt(inx));
	if ( oneChar.length == 1 ) {
	    byteLength ++;
	} else if (oneChar.indexOf("%u") != -1) {
	    byteLength += 2;
	} else if (oneChar.indexOf("%") != -1) {
	    byteLength += oneChar.length/3;
	}
    }
    return byteLength;
}
//------------------------------------------------------
// Name : fnIsNumber
// Desc : value has only numeric
// Parm : input - target value
// Cret : Jul., 21, 2003
// Updt : 
// Retn : 
//------------------------------------------------------
function fnIsNumber(input) {
    var chars = "0123456789";
    return containsCharsOnly(input,chars);
}


//------------------------------------------------------
// Name : fnIsAlphaNum
// Desc : value has only alphabet and numeric
// Parm : input - target value
// Cret : Jul., 21, 2003
// Updt : 
// Retn : 
//------------------------------------------------------
function fnIsAlphaNum(input) {
    var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
    return containsCharsOnly(input,chars);
}


function isAlpha(input) {
    var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
    return containsCharsOnly(input,chars);
}

function isNumDash(input) {
    var chars = "-0123456789";
    return containsCharsOnly(input,chars);
}

function isDigit(obj){
	if(fnIsNull(obj)){
		return false;
	}else{
		var checkString="0123456789";
		return checkContains(obj,checkString);
    }
}

function containsCharsOnly(input,chars) {
    for (var inx = 0; inx < input.value.length; inx++) {
       if (chars.indexOf(input.value.charAt(inx)) == -1)
	   return false;
    }
    return true;
}

//------------------------------------------------------
// Name : fnCharHas(input, cons)
// Desc : input has value only in constarint
// Parm : input - target value
//				cons - constraint
// Cret : Jul., 28, 2003
// Updt : 
// Retn : 
//------------------------------------------------------
function fnCharHas(input,cons) {
    for (var inx = 0; inx < input.length; inx++) {
       if (cons.indexOf(input.charAt(inx)) == -1)
	   return false;
    }
    return true;
}

//============inputÀÇ °ªÀÌ checkString¿¡ Æ÷ÇÔµÈ charÀÎÁö Ã¼Å©===================
function checkContains(obj, checkString){
	var inputValue=fnTrimString(obj.value);
	for(var index=0; index < inputValue.length; index++){
		if(checkString.indexOf(inputValue.charAt(index))== -1 ){//-1:Ã£´Â ¹®ÀÚ¿­ÀÌ ¾ø´Â°æ¿ì
			return false;
		}
	}
	return true;
}

//------------------------------------------------------
// Name : fnPsnRegNo
// Desc : personal registration number check
// Parm : objNo1 - first 6 digits
//				objNo2 - last  7 digits
// Cret : Jul., 18, 2003
// Updt : 
// Retn : 
//------------------------------------------------------
function fnPsnRegNo(objNo1, objNo2){

	//first 6 digits
	if( fnIsNull(objNo1)){
		return false;
	}
	var No1=fnTrimString(objNo1.value); //first 6 digits

	if( !isDigit(objNo1) || (No1.length != 6 )){
		return false;
	}

	//last  7 digits
	if( fnIsNull(objNo2)){
		return false;
	}

	var No2=fnTrimString(objNo2.value); //last  7 digits

	if( !isDigit(objNo2) || (No2.length != 7 )){
		return false;
	}
	//sex : 1, 2, 3, 4
	var check= No2.charAt(0);
	
	if(check != '1' && check !='2' && check !='3' && check !='4'){
		return false;
	}

	//validitity check
	if(!fnPsnRegNoValidity(''+No1+No2)){
		return false;
	}
	return true;

	
}


//------------------------------------------------------
// Name : fnPsnRegNo2
// Desc : personal registration number check
// Parm : objNo1 - first 6 digits
//				objNo2 - last  7 digits
// Cret : Jul., 18, 2003
// Updt : 
// Retn : 
//------------------------------------------------------
function fnPsnRegNo2(objNo1, objNo2){

	//first 6 digits
	if( fnIsNull(objNo1)){
		return false;
	}
	var No1=fnTrimString(objNo1); //first 6 digits

	if( !isDigit(objNo1) || (No1.length != 6 )){
		return false;
	}

	//last  7 digits
	if( fnIsNull(objNo2)){
		return false;
	}

	var No2=fnTrimString(objNo2); //last  7 digits

	if( !isDigit(objNo2) || (No2.length != 7 )){
		return false;
	}
	//sex : 1, 2, 3, 4
	var check= No2.charAt(0);
	
	if(check != '1' && check !='2' && check !='3' && check !='4'){
		return false;
	}

	//validitity check
	if(!fnPsnRegNoValidity(''+No1+No2)){
		return false;
	}
	return true;

	
}

//------------------------------------------------------
// Name : fnPsnRegNoValidity
// Desc : personal registration number validity check
// Parm : no - reg no
// Cret : Jul., 18, 2003
// Updt : 
// Retn : 
//------------------------------------------------------
function fnPsnRegNoValidity(no){

	no=fnTrimString(no);
	var year  = no.substring(0,2);
    var month = no.substring(2,4);
    var day   = no.substring(4,6);
	var sex   = no.substring(6,7);
	var result=false;

	if(sex=="1" || sex=="2"){
		year="19"+year;
	}else if(sex=="3" || sex=="4"){
		year="20"+year;
	}   
	
    if( isValidMonth( month ) && isValidDay(year, month, day )){

		 var check=0;
		 var frontNo=no.substring(0,6);
		 var rearNo=no.substring(6,13);
		 for(var i=0 ; i<=5 ; i++){
			 check = check + (( i % 8 + 2 )* parseInt(frontNo.substring(i,i+1)));
		 }
		 for(var i=6 ; i<=11 ; i++){
			 check = check + (( i % 8 + 2 )* parseInt(rearNo.substring(i-6,i-5))); 
		 }
		 check = 11 - (check % 11);
		 check = check % 10;
		 if(check == parseInt(no.substring(12,13))){
			result=true;
		 }
	}
	return result;
}

//------------------------------------------------------
// Name : fnChkComRegNo
// Desc : company registration number validation
// Parm : v - ret no
// Cret : Jul., 16, 2003
// Updt : 
// Retn : 
//------------------------------------------------------
function fnChkComRegNo(v)
{
	var BizNo=fnTrimString(v);
	bizValue=0;
	comStr="13713713";
	bizValue=0;
	for(  i=0; i < 8 ; i++){
		bizValue=bizValue + ( parseFloat(BizNo.substring(i,i+1)) * parseFloat(comStr.substring(i,i+1))) % 10;
	}
	tempCom= parseFloat(BizNo.substring(8,9)) * 5 + "0";
	checkValue=parseFloat(tempCom.substring(0,1)) +parseFloat(tempCom.substring(1,2));
	checkDigit=( 10 - (bizValue + checkValue ) % 10 ) %10 ;
	if( BizNo.substring(9,10) != checkDigit){
		return false;
	}
	else{
		return true;
	}
}


function isValidMonth(mm) {
    var m = parseInt(mm,10);
    return (m >= 1 && m <= 12);
}

function isValidDay(yyyy, mm, dd) {
    var m = parseInt(mm,10) - 1;
    var d = parseInt(dd,10);

    var end = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
    if ((yyyy % 4 == 0 && yyyy % 100 != 0) || yyyy % 400 == 0) {
	end[1] = 29;
    }

    return (d >= 1 && d <= end[m]);
}

function isValidFormat(input,format) {
    if (input.value.search(format) != -1) {
	return true; 
    }
    return false;
}

function isValidEmail(input) {
    var format = /^((\w|[\-\.])+)@((\w|[\-\.])+)\.([A-Za-z]+)$/;
    return isValidFormat(input,format);
}



//------------------------------------------------------
// Name : fnRadioChecked
// Desc : radio button was checked or not
// Parm : r - target radio
// Cret : Jul., 18, 2003
// Updt : 
// Retn : 
//------------------------------------------------------
function fnRadioChecked(r)
{
    if (r.length > 1){
			for (var inx = 0; inx < r.length; inx++)
				if (r[inx].checked) return true;
		}
	else 	{
		if (r.checked) return true;
  }
    return false;
}
//------------------------------------------------------
// Name : fnMoveFocus
// Desc : automatically move focus
// Parm : t - curren focus
//        d - current focused form value digit
//        n - move target
// Cret : Jul., 16, 2003
// Updt : 
// Retn : 
//------------------------------------------------------
function fnMoveFocus(t, d, n){
	if (t.value.length == d) {
		n.focus() ;
		return;
	 }
}

//------------------------------------------------------
// Name : fnChkNum
// Desc : insert only number (onKeyPress)
// Parm : 
// Cret : Jul., 16, 2003
// Updt : May , 06, 2004 (by theyleave)
// Retn : 
//------------------------------------------------------
function fnChkNum(){
	if (!((event.keyCode>47)&(event.keyCode<58)||event.keyCode==45||event.keyCode==46)){   
			event.returnValue=false;
	}
}

//------------------------------------------------------
// Name : fnSltRadio
// Desc : radio button select with given value
// Parm : formName - target form
//				objectName - radio button
//				selectedCode - given value
// Cret : Jul., 18, 2003
// Updt : 
// Retn : 
//------------------------------------------------------
	function fnSltRadio(formName, objectName, selectedCode){
		var len = eval(formName+"."+objectName+".length");
		for(var i=0; i<len; i++){
			if(eval(formName+"."+objectName+"[i].value") == selectedCode){
				eval(formName + "."+objectName+"[i].checked=true");
			}
		}
	}
	
//------------------------------------------------------
// Name : fnChkRadioValue
// Desc : get value in checked radio button
// Parm : formName - target form
//				objectName - radio button
// Cret : Jul., 18, 2003
// Updt : 
// Retn : 
//------------------------------------------------------
	function fnChkRadioValue(formName, objectName){
		var len = eval(formName+"."+objectName+".length");
		for(var i=0; i<len; i++){
			if(eval(formName+"."+objectName+"[i].checked") == true){
				return eval(formName+"."+objectName+"[i].value");
			}
		}
	}
	
//------------------------------------------------------
// Name : fnChkSelect
// Desc : select with given value
// Parm : slt - select form
//				sltValue - value
// Cret : Jul., 31, 2003
// Updt : 
// Retn : 
//------------------------------------------------------
function fnChkSelect(slt, sltvalue){
	for (i=0; i <= slt.options.length-1;i++){
		if (slt.options[i].value == sltvalue){
				slt.options[i].selected = true;
		}
	}
}

//------------------------------------------------------
// Name : fnChkCheckBox
// Desc : check with given value
// Parm : chx - select form
//				sltValue - value
// Cret : Jul., 31, 2003
// Updt : 
// Retn : 
//------------------------------------------------------
function fnChkCheckBox(chx, chxvalue){
	for (i=0; i <= chx.length-1;i++){
		if (chxvalue.indexOf(chx[i].value) >= 0 ){
				chx[i].checked = true;
		}
	}
}

//------------------------------------------------------
// Name : fnChkRadio
// Desc : check with given value
// Parm : rad - select form
//				sltValue - value
// Cret : Jul., 31, 2003
// Updt : 
// Retn : 
//------------------------------------------------------
function fnChkRadio(rad, radvalue){
	for (i=0; i <= rad.length-1;i++){
		if (rad[i].value == radvalue){
				rad[i].checked = true;
		}
	}
}

//------------------------------------------------------
// Name : fnPg
// Desc : move page
// Parm : p - page num
// Cret : Jul., 31, 2003
// Updt : 
// Retn : 
//------------------------------------------------------
function fnPg(p){
	document.frm.page.value = p;
	frm.submit();
}

//------------------------------------------------------
// Name : fnChkAll
// Desc : check all checkbox
// Parm : f - form
// Cret : Aug., 01, 2003
// Updt : 
// Retn : 
//------------------------------------------------------
function fnChkAll(f)
{
	for (var i=0;i<f.elements.length;i++){
		var e = f.elements[i];
		if ((e.name == 'chbEach') && (e.type=='checkbox'))
		e.checked = f.chbAll.checked;
	}
}
//------------------------------------------------------
// Name : fnChkEach
// Desc : check each checkbox and all checkbox that has same-name check 'chbAll'
// Parm : f - form
// Cret : Aug., 01, 2003
// Updt : 
// Retn : 
//------------------------------------------------------
function fnChkEach(f)
{
	var TotalBoxes = 0;
	var TotalOn = 0;
	for (var i=0;i<f.elements.length;i++){
		var e = f.elements[i];
		if ((e.name == 'chbEach') && (e.type=='checkbox')){
			TotalBoxes++;
		if (e.checked){
			TotalOn++;
		}
		}
	}
	if (TotalBoxes==TotalOn){f.chbAll.checked=true;}
	else{f.chbAll.checked=false;}
}

//------------------------------------------------------
// Name : fnOpenPop
// Desc : common popup
// Parm : w - width
//				h - height
//				f - file 
//				t - target name
// Cret : Sep., 16, 2003
// Updt : 
// Retn : 
//------------------------------------------------------
function fnOpenPop(w, h, f, t){
	var iMyWidth;
	var iMyHeight;
	width = (window.screen.width-w)/2
	if(width<0)width=0;
	iMyWidth = width; 
	height = (window.screen.height-h)/2;
	if(height<0)height=0;
	iMyHeight = height; 
	
    var OpenPop = window.open(f,t, 
		"resizable=no,  scrollbars=no, left=" + iMyWidth + ",top=" + iMyHeight + ",screenX=" + iMyWidth + ",screenY=" + iMyHeight + ",width=" + w + ", height=" + h + "");
	OpenPop.focus();
	return;
}

//------------------------------------------------------
// Name : fnOpenPopAction
// Desc : common popup with form submit
// Parm : none
// Cret : Sep., 22, 2003
// Parm : w - width
//				h - height
//				f - form
//				a - action 
//				t - target name
// Retn : 
//------------------------------------------------------	
function fnOpenPopAction(w, h, f, a, t){

	var iMyWidth;
	var iMyHeight;
	width = (window.screen.width-w)/2
	if(width<0)width=0;
	iMyWidth = width; 
	height = (window.screen.height-h)/2;
	if(height<0)height=0;
	iMyHeight = height; 

	 var ActPop = window.open("", t,
		"resizable=yes,  scrollbars=no, left=" + iMyWidth + ",top=" + iMyHeight + ",screenX=" + iMyWidth + ",screenY=" + iMyHeight + ",width="+w+"px, height="+h+"px");
	 f.action = a;
	 f.method="post";
	 f.target= t;
	 f.submit();
	 f.target="_self";
	 ActPop.focus();
}

//------------------------------------------------------
// Name : fnOpenPopScroll
// Desc : common popup with scroll
// Parm : w - width
//				h - height
//				f - file 
//				t - target name
// Cret : Sep., 16, 2003
// Updt : 
// Retn : 
//------------------------------------------------------
function fnOpenPopScroll(w, h, f, t){
	var iMyWidth;
	var iMyHeight;
	width = (window.screen.width-w)/2
	if(width<0)width=0;
	iMyWidth = width; 
	height = (window.screen.height-h)/2;
	if(height<0)height=0;
	iMyHeight = height; 
	
    var OpenPop = window.open(f,t, 
		"resizable=yes,  scrollbars=yes, left=" + iMyWidth + ",top=" + iMyHeight + ",screenX=" + iMyWidth + ",screenY=" + iMyHeight + ",width=" + w + ", height=" + h + "");
	OpenPop.focus();
	return;
}

//------------------------------------------------------
// Name : handleEnter
// Desc : when press enter
// Parm : none
// Cret : Mar., 29, 2004
// Updt : 
// Retn : 
//------------------------------------------------------	
function handleEnter (field, event) {
 var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
 if (keyCode == 13) {
         var i;
         for (i = 0; i < field.form.elements.length; i++)
                 if (field == field.form.elements[i])
                         break;
         i = (i + 1) % field.form.elements.length;
         frmMain.action = '/inc/loginDo.asp';
				 frmMain.submit();
         return false;
 } 
 else
 return true;
}  

//------------------------------------------------------
// Name : handleEnter4
// Desc : when press enter
// Parm : none
// Cret : Mar., 29, 2004
// Updt : 
// Retn : 
//------------------------------------------------------	
function handleEnterPage (field, event, page) {
 var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
 if (keyCode == 13) {
         var i;
         for (i = 0; i < field.form.elements.length; i++)
                 if (field == field.form.elements[i])
                         break;
         i = (i + 1) % field.form.elements.length;
         frmMain.action = page;
				 frmMain.submit();
         return false;
 } 
 else
 return true;
}  

//------------------------------------------------------
// Name : fnOnlyNum
// Desc : allow only num
// Parm : none
// Cret : Apr., 27, 2004
// Updt : 
// Retn : 
//------------------------------------------------------	
 function fnOnlyNum(f){
   var str= f.value
   count=0
   for (i=0;i<str.length;i++){
     if(str.charAt(i)<'0' || str.charAt(i)>'9') count++
   }
   if(count!=0) {
     alert("¼ýÀÚ¸¸ ÀÔ·ÂÇÏ¼¼¿ä!") ;
		 f.value="";
		 f.focus();
     return ;
   }
 }

/*
*element : Æû¿ä¼Ò ex) setOption(document.ListForm.ctgr,0,'2');
*num : Æû¿ä¼ÒÁßÀÇ num¹øÂ° ¿ä¼Ò
*val : Æû¿ä¼ÒÀÇ °ª
*¼¿·ºÆ®(select)ÀÇ °ªÀ» ¼¼ÆÃÇÑ´Ù.
*/
function setOption(element,val){
	optLen = element.options.length;
	for(i=0;i<optLen;i++){
		if(element.options[i].value == val){
			element.options[i].selected = true;
		}
	}
}
 //------------------------------------------------------
// Name : fnIDSearch
// Desc : zipcode search
// Parm : none
// Cret : Jul., 21, 2003
// Updt : 
// Retn : 
//------------------------------------------------------
function fnIDSearch(){
	fnOpenPop(400, 250, "/member/pop_findpass.asp", "ZipSearch");
}


function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function MM_popupMsg(msg) { //v1.0
  alert(msg);
}

//****************************************************************************************
//Element ID ºÒ·¯¾²±â
//****************************************************************************************
function dEI(elementID){
	return document.getElementById(elementID);
} 

//****************************************************************************************
// toggle List
//****************************************************************************************
function toggleList(tabContainer) {
	var tabContainer=document.getElementById(tabContainer)
	var triggers = tabContainer.getElementsByTagName("a");

	for(i = 0; i < triggers.length; i++) {
		if (triggers.item(i).href.split("#")[1])
			triggers.item(i).targetEl = document.getElementById(triggers.item(i).href.split("#")[1]);

		if (!triggers.item(i).targetEl)
			continue;

		triggers.item(i).targetEl.style.display = "none";
		triggers.item(i).className="";
		triggers.item(i).onclick = function () {
			if (tabContainer.current == this) {
				this.targetEl.style.display = "none";
				this.className="";
				tabContainer.current = null;
			} else {
				if (tabContainer.current) {
					tabContainer.current.targetEl.style.display = "none";
					tabContainer.current.className="";
				}
				this.targetEl.style.display = "block";
				this.className="on";
				tabContainer.current = this;
			}
			return false;
		}
	}
	//triggers.item(0).targetEl.style.display = "block";
}

//****************************************************************************************
// first ¿¹¿ÜÃ³¸® firstChild(ºí·°Id, ÅÂ±×³×ÀÓ, Ã³¸®ÇÒ ¾ÆÀÌÅÛ ¹øÈ£) 
// ¾ÆÀÌÅÛ¹øÈ£´Â 0¹øºÎÅÍ ¹ÝÈ¯
//****************************************************************************************
function firstChild(Elid, Etn, Num){
	if(Num==""){Num=0;}
	liEl = dEI(Elid).getElementsByTagName(Etn);
	if (liEl.item(Num)) {
		liEl.item(Num).className += " first-child";
	}
}

// first ¿¹¿ÜÃ³¸® listFirst(ºí·°Id, ÅÂ±×³×ÀÓ, Ã³¸®ÇÒ ¾ÆÀÌÅÛ °¹¼ö) // ¾ÆÀÌÅÛ¹øÈ£´Â 0¹øºÎÅÍ ¹ÝÈ¯
function listFirst(Elid, Etn, Num){
	liEl = dEI(Elid).getElementsByTagName(Etn);
	for(i=0; liEl.length>i; i=i+Num){
		liEl.item(i).className += " first";
	}
}
//****************************************************************************************
// Tab Ã¼ÀÎÁö
//****************************************************************************************
// Tab Content
function tabCheck(dotabid, num){
		var inum=parseInt(num)-1;
		var linkTab=dEI(dotabid).getElementsByTagName("a");
		for (i=0;i<linkTab.length;i++) {
			var tabimg = linkTab.item(i).getElementsByTagName("img").item(0);
			var  tabContents= dEI(dotabid+(1+i));
			if (i==inum) {
				if(tabContents.style.display!="block"){
					tabimg.src=tabimg.src.replace(".gif", "_on.gif");
					tabContents.style.display="block";
				}
		}else{
			tabimg.src=tabimg.src.replace("_on.gif", ".gif");
			tabContents.style.display="none";
		}
	}
}
// Tab Content Rollover
function tabRollover(dotabid , tnum){
	var inum=parseInt(tnum)-1;
	var linkTab=dEI(dotabid).getElementsByTagName("a");
	for (i=0;i<linkTab.length;i++) {
		var tabimg = linkTab.item(i).getElementsByTagName("img").item(0);
		var tabContents= dEI(dotabid+(1+i));
		if (i==inum) {
			if(tabContents.style.display!="block"){
			tabContents.style.display="block";
			tabimg.src=tabimg.src.replace(".gif", "_on.gif");
			}
		}else{
		tabimg.src=tabimg.src.replace("_on.gif", ".gif");
		tabContents.style.display="none";
		}
	}
}


