///////////////////// Validation check functions //////////////////////
function replaceString(sString, sReplaceThis, sWithThis) 
{ 
	if (sReplaceThis != "" && sReplaceThis != sWithThis) 
	{
		var counter = 0;
		var start = 0;
		var before = "";
		var after = "";
		while (counter<sString.length) 
		{
			start = sString.indexOf(sReplaceThis, counter);
			if (start == -1)
			{
				break;
			}
			else 
			{
				before = sString.substr(0, start);
				after = sString.substr(start + sReplaceThis.length, sString.length);
				sString = before + sWithThis + after;
				counter = before.length + sWithThis.length;
			}
		}
	}
	return sString;
}

String.prototype.trim = function()
{
	return this.replace(/(^\s*)|(\s*$)/g, ""); 
}

function isFunction(a) {
    return typeof a == 'function';
}

function isObject(a) {
    return (a && typeof a == 'object') || isFunction(a);
}

function isDefined(a)
{
    return (typeof(window[a]) == "undefined")?  false: true;
}

function isNumber(value)
{
	for( var i = 0 ; i < value.length ; i++ )
	{
		var ch = value.charAt(i) ;
		if( ch < "0" || ch > "9" )
		{
			return false ;
		}
	}
	
	return true ;
}
/**
*ÀÔ·ÂÇÊµå¿¡ ¼ýÀÚ¸¸ ÀÔ·Â¹ÞÀ»¼ö ÀÖµµ·Ï Á¦¾î
*/
function isNumberByEvent(){
  if ( (event.keyCode == 46) ||  // DEL
       (event.keyCode == 8)  ||  // backspace
       (event.keyCode == 9)  ||  // tab
       (event.keyCode == 37) ||  // ¡ç key
       (event.keyCode == 38) ||  // ¡è key
       (event.keyCode == 39) ||  // ¡æ key
       (event.keyCode == 40) ||  // ¡é key
       (event.keyCode == 35) ||  // HOME key
       (event.keyCode == 36) ||  // END key
       (event.keyCode == 13) ||  // Enter key       
       ((event.keyCode >= 48) && (event.keyCode <= 57 )) || // 0 ~ 9
       ((event.keyCode >= 96) && (event.keyCode <= 105 ))||   // 0 ~ 9 in ¼ýÀÚÆÐµå
		 !isNaN(String.fromCharCode(event.keyCode))
     )
  {
		event.returnValue=true;
 
  }
  else{
		event.returnValue=false;
  }
}
// ÀÌ¸ÞÀÏ À¯È¿¼º Ã¼Å©
function checkEmail(str)
{
	var reg = /^((\w|[\-\.])+)@((\w|[\-\.])+)\.([A-Za-z]+)$/;
	if (str.search(reg) != -1) 
	{
		return true;
	}
	return false;
}
// ¹®ÀÚ ±æÀÌ ¹ÝÈ¯ (¿µ¹® 1byte, ÇÑ±Û 2byte °è»ê)
function getLen(str) {
	var len;
    var temp;

    len = str.length;
    var tot_cnt = 0;

    for(k=0;k < len;k++)
    {
	    temp = str.charAt(k);
		if(escape(temp).length > 4)
			tot_cnt += 2;
		else
			tot_cnt++;
    }
    return tot_cnt;
}

//Form°ªÀÌ ¼ýÀÚÀÎÁö È®ÀÎ
function checkNumber(txt)
{
	if (!isNumber(txt.value)) 
	{       
		alert("¼ýÀÚ¸¸ ÀÔ·ÂÇÒ¼öÀÖ½À´Ï´Ù."); 
		txt.value="";    
		txt.focus();
		return false;
	}
  
  return true;
}

// Null °ª Ã¼Å©
// txt : °ªÀÌ ÀÔ·ÂµÇ¾ßÇÒ ÄÁÆ®·Ñ
// warn : ÀÔ·Â °ª ÀÌ¸§
// °ªÀÌ ÀÔ·ÂµÇ¾îÀÖÀ¸¸é true
function checkNull(txt,warn)
{
	if( txt.value == "" )
	{
		alert(warn+"Àº ¹Ýµå½Ã ÀÔ·ÂÇÏ¼Å¾ß ÇÕ´Ï´Ù") ;
		txt.focus() ;
		return false ;
	}
	
	return true ;
}

// txt : °ªÀÌ ÀÔ·ÂµÇ¾ßÇÒ ÄÁÆ®·Ñ
// ÀÔ·Â°ªÀÌ ¸Â´Â ³¯Â¥Çü½Ä('yyyymm')ÀÌ¸é true
function checkYYYYMM(txt)
{
	var ch = txt.value ;
	var yy ;
	var mm ;

	if(ch.length < 6)
	{
		for( var i = 0 ; i < 6 - ch.length ; i++ )
		{
			ch = ch + "0" ; //6ÀÚ¸® ¹Ì¸¸À¸·Î ÀÔ·ÂÇßÀ» °æ¿ì µÚ¿¡ '0'À» ºÙ¿©ÁØ´Ù
		}
	}
	else if( ch.length > 6 )
	{
		alert("±âÁØ¿ùÀ» ¹Ù¸£°Ô ÀÔ·ÂÇØ ÁÖ½Ê½Ã¿À. ¿¹: 200503") ;
		txt.focus();
		return false ;
	}
	
	yy = ch.substring(0,4) ;
	mm = ch.substring(4,6) ;
	
	if( checkNumber(txt) )
	{
		if( yy < 1996 || yy > 2100 )
		{
            alert("À¯È¿ÇÑ ³âµµ°¡ ¾Æ´Õ´Ï´Ù\n(À¯È¿ÇÑ ¿¬µµ´Â 1997³â¿¡¼­ 2099³â±îÁö ÀÔ´Ï´Ù.") ;
			txt.focus() ;
			return false ;
		}
		
		if( mm < "01" || mm > "12" )
		{
			alert("À¯È¿ÇÑ ¿ùÀÌ ¾Æ´Õ´Ï´Ù") ;
			txt.focus() ;
			return false;
		}
		
		return true ;
	}
	else
	{
		return false ;
	}

}

// txt : °ªÀÌ ÀÔ·ÂµÇ¾ßÇÒ ÄÁÆ®·Ñ
// ÀÔ·Â°ªÀÌ ¸Â´Â ³¯Â¥Çü½Ä('yyyymm')ÀÌ¸é true
function checkYYYYMMDD(txt)
{
	var ch = txt.value ;
	var yy ;
	var mm ;
	var dd ;
/*
	if(ch.length < 8)
	{
		for( var i = 0 ; i < 8 - ch.length ; i++ )
		{
			ch = ch + "0" ; //8ÀÚ¸® ¹Ì¸¸À¸·Î ÀÔ·ÂÇßÀ» °æ¿ì µÚ¿¡ '0'À» ºÙ¿©ÁØ´Ù
		}
	}
	
	else */
	if( ch.length > 8 || ch.length < 8 )
	{
		alert("±âÁØÀÏÀ» ¹Ù¸£°Ô ÀÔ·ÂÇØ ÁÖ½Ê½Ã¿À. ¿¹: 20050302") ;
		txt.focus();
		return false ;
	}
	
	yy = ch.substring(0,4) ;
	mm = ch.substring(4,6) ;
	dd = ch.substring(6,8) ;
	
	if( checkNumber(txt) )
	{
		if( yy < 1996 || yy > 2100 ) //?
		{			
			alert("À¯È¿ÇÑ ³âµµ°¡ ¾Æ´Õ´Ï´Ù\n(À¯È¿ÇÑ ¿¬µµ´Â 1997³â¿¡¼­ 2099³â±îÁö ÀÔ´Ï´Ù.") ;
			txt.focus() ;
			return false ;
		}
		
		if( mm < 1 || mm > 12 )
		{
			alert("À¯È¿ÇÑ ¿ùÀÌ ¾Æ´Õ´Ï´Ù") ;
			txt.focus() ;
			return false;
		}
		
		var m = parseInt(mm) ;
		if( m == 2 )
		{
			if( dd < 1 || dd > 28 )
			{
				alert("À¯È¿ÇÑ ÀÏÀÌ ¾Æ´Õ´Ï´Ù") ;
				txt.focus() ;
				return false;
			}
		}
		
		if( ( m/2 == 0 && m < 7 ) || (m/2 == 1 && m > 8 ) ) //Â¦¼ö¿ùÀÌ°í 4,6¿ù or È¦¼ö¿ùÀÌ°í 9,11¿ù
		{
			if( dd < 1 || dd > 30 )
			{
				alert("À¯È¿ÇÑ ÀÏÀÌ ¾Æ´Õ´Ï´Ù") ;
				txt.focus() ;
				return false;
			}
		}
		
		if( (m/2 == 0 && m > 7 ) || (m/2 == 1 && m < 8 ) ) //Â¦¼ö¿ùÀÌ°í 8,10,12¿ù or È¦¼ö¿ùÀÌ°í 1,3,5,7¿ù
		{
			if( dd < 1 || dd > 31 )
			{
				alert("À¯È¿ÇÑ ÀÏÀÌ ¾Æ´Õ´Ï´Ù") ;
				txt.focus() ;
				return false;
			}
		}
		
		return true ;
	}
	else
	{
		return false ;
	}

}

function DoCallback(url, params)
{
	var pageUrl = url + "?callback=true&param=" + params;
	//alert(pageUrl) ;

	var xmlRequest = new ActiveXObject("Microsoft.XMLHTTP");
	xmlRequest.open("POST", pageUrl, false);
	//alert('post') ;
    xmlRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    //alert('reqeustHeader') ;
    xmlRequest.send(null);
    //alert('send') ;
    return xmlRequest;
}

//
// TextboxÀÇ EnterKey¸¦ catchÇÏ¿© ´ë»ó °´Ã¼ÀÇ ÀÌº¥Æ®¸¦ ¹ß»ý½ÃÅ²´Ù.
// ¿¹: pressEnterkey(this, 'btnSearch', 'onclick()')
/*
function pressEnterkey(sourceObj, targetObjID, eventType)
{
	var targetObj = document.getElementById(targetObjID) ;
	if (event.keyCode == 13) 
	{
		eval("document.getElementById('" + targetObjID + "')." + eventType)  ;
		sourceObj.select() ;
		return false;
	}
}		
*/

function getCookie( name )
{
	var nameOfCookie = name + "=";
	var x = 0;

	while ( x <= document.cookie.length )
	{
		var y = (x+nameOfCookie.length);
		if ( document.cookie.substring( x, y ) == nameOfCookie )
		{
			if ( (endOfCookie=document.cookie.indexOf( ";", y )) == -1 )
				endOfCookie = document.cookie.length;
			return unescape( document.cookie.substring( y, endOfCookie ) );
		}
		x = document.cookie.indexOf( " ", x ) + 1;
		if ( x == 0 )
			break;
	}
	return "";
}

function getCookie1(name)
{
       var prefix = name + "=";

        var cookieStartIndex = document.cookie.indexOf(prefix);
        if (cookieStartIndex == -1) return null;
       var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex + prefix.length);
        if (cookieEndIndex == -1) cookieEndIndex = document.cookie.length;

        return unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex));
}

function setCookie( name, value, expiredays )
{
	var todayDate = new Date();
	todayDate.setDate( todayDate.getDate() + expiredays );
	document.cookie = name + "=" + escape( value ) + "; path=/; expires=" + todayDate.toGMTString() +";" 
}
function NewWindow(mypage, myname, w, h, scroll) {
	var winl = (screen.width - w) / 2;
	var wint = (screen.height - h) / 2;
	winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable=false'
	win = window.open(mypage, myname, winprops)
	if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}

function centerNewWin(url, winName, width, height) {
  var wi = screen.width - width;
  var hi = screen.height - height;
  
  if( wi < 0 ) wi = 0;   
  if( hi < 0 ) hi = 0;
  
  var info = 'left=' + (wi/2) + ',top=' + (hi/2) + ',width='  + width + ',height=' + height + ',resizable=no,scrollbars=no,menubars=no,status=no';
  var newwin = window.open(url, winName, info);
  newwin.focus();
  return newwin;
}  
