//=======================================================
//	Shin Kyung Seop, 2000/04/09, Sunday
//=======================================================
function LTrim( s ) {
	while (1) {
		if ( s.substring(0, 1) != " " ) {
			break;
		}
		s = s.substring(1, s.length);
	}
	return s;
}
/////////////////////////////////////////////////////////////////////
function RTrim( s ) {
	while (1) {
		if ( s.substring(s.length - 1, s.length) != " " ) {
			break;
		}
		s = s.substring(0, s.length - 1);
	}
	return s;
}
/////////////////////////////////////////////////////////////////////
function Trim( s) {
	var tmpstr = LTrim(s);
	return RTrim(tmpstr);
}
/////////////////////////////////////////////////////////////////////
function Replace(s, x, y) {
	if ((x == y) || (parseInt(y.indexOf(x)) > -1)) {
		errmessage = "replace function error: \n";
		errmessage += "Second argument and third argument could be the same ";
		errmessage += "or third argument contains second argument.\n";
		errmessage += "This will create an infinite loop as it's replaced globally.";
		alert(errmessage);
		return false;
	}
	while (s.indexOf(x) != -1) {
		var leading = s.substring(0, s.indexOf(x));
		var trailing = s.substring(s.indexOf(x) + x.length, s.length);
		s = leading + y + trailing;
	}
	return s;
}
/////////////////////////////////////////////////////////////////////
function isNull(s) {   
	return ((s == null) || (s.length == 0))
}
/////////////////////////////////////////////////////////////////////
function isEmpty(s) {
	for ( var i = 0 ; i < s.length ; i++ ) {
		if ( s.substring( i, i+1 ) != " " ) { 
			return false; 
		}
	}
	return true;
}
/////////////////////////////////////////////////////////////////////
function isInteger(s) {
	if (s.length > 0) { 
		sNum = s;
		for (i=0; i<sNum.length; i++) {
			if (sNum.charAt(i) < '0' || sNum.charAt(i) > '9') { 
				return false; 
			}
		}
		return true;
	} else { 
		return false; 
	}
}
/////////////////////////////////////////////////////////////////////
function isFloat(s) {
	RefString     = "-1234567890.";
	DecimalPoints = 0;
	for (i=0; i<s.length; i++) {
		TempChar = s.substring ( i, i+1 );
		// Can only have zero or one decimal points in a number
		if (  TempChar == "." ) { DecimalPoints++; }				
		// Minus Sign must be first character
		if (( TempChar == "-" ) && ( i != 0 )) { return ( false ); }	
		// Check if current character is valid(character not found in RefString)
		if ( RefString.indexOf (TempChar,0) == -1) { return ( false ); }
	}
	if ( DecimalPoints > 1 ) { return ( false ); } 
	return(true);
}
/////////////////////////////////////////////////////////////////////
function isAlphaNumeric(s) {
	if (s.length > 0) { 
		sNum = s;
		for (i=0; i<sNum.length; i++) {
			if (!(((sNum.charAt(i) >= 'A' && sNum.charAt(i) <= 'Z') || 
					sNum.charAt(i) >= 'a' && sNum.charAt(i) <= 'z') || 
					(sNum.charAt(i) >= '0' && sNum.charAt(i) <= '9')) ) {
				return false;
			}
		}
		return true;
	} else { 
		return false; 
	}
}
/////////////////////////////////////////////////////////////////////
function isLenFromTo(s, iFrom, iTo) {
	iL = s.length
	if (iFrom <= iL && iL <= iTo) { 
		return true;  
	} else { 
		return false; 
	} 
}
/////////////////////////////////////////////////////////////////////
function isTime(s) {
	//12:00:59
	//012345678
	//hh:mm:ss
	//hh = 00 ~ 23
	//mm = 00 ~ 59
	//ss = 00 ~ 59
	if (s.length == 8) {
		if (s.substring(2,3) != ":") { return false; }
		if (s.substring(5,6) != ":") { return false; }
		if (s.substring(0,2) >= '00' && s.substring(0,2) <= '23')
			if (s.substring(3,5) >= '00' && s.substring(3,5) <= '59')
				if (s.substring(6,8) >= '00' && s.substring(6,8) <= '59') { return true; }	
	}
	return false;
}
/////////////////////////////////////////////////////////////////////
function LeapYear(yr) {
	/*	Is it a leap year?
	**	1.Years divisible by 4 are leap years, but 
	**	2.Years divisible by 100 are not leap years, but 
	**	3.Years divisible by 400 are leap years. 
	*/
	if (((yr % 4 == 0) && yr % 100 != 0) || yr % 400 == 0) { return true; }
	else { return false; }
}
/////////////////////////////////////////////////////////////////////
function isDate(s)
{
	/* Note: Date must be in the format MM/DD/YYYY */
	/* Allow empty fields as dates. */
	if (s.length > 0) {    
		Slashes   = 0;
		Month     = 0;
		Day       = 0;
		Year      = 0;
		RefString = "01234567890/";
		for (i=0; i<s.length; i++) {  
			TempChar = s.substring(i, i +1);
			/* Invalid character? */
			if (RefString.indexOf(TempChar,0) == -1) {	
				//alert ( "Invalid character in date string.  Format must be: MM/DD/YYYY." ); 
				return (false); 
			}
			/* Must have two slashes */	
			if ( TempChar == "/" ) { Slashes++; }
		}
		if ( Slashes != 2 ) { 
			//alert ( "Date string must have two slashes in it.  Format must be: MM/DD/YYYY." ); 
			return (false); 
		}
		/* Parse out the date pieces */
		i =  0;
		x = "";
		/* Month */
		while ((s.charAt(i) != "/") && (i <= s.length))	{
			x = x +  s.charAt(i);
			i++;
		}
		Month = Month + x;  // Rely on implicit conversion of char string x to a number  
		if (( Month < 1 ) || ( Month > 12 )) { 
			//alert ( "Month must be between 1 and 12." ); 
			return (false); 
		}
		/* Day */
		i++; // Skip the slash
		x = "";
		while ((s.charAt(i) != "/") && (i <= s.length))	{
			x = x +  s.charAt(i);
			i++;
		}
		Day = Day + x; 
		if (( Day < 1 ) || ( Day > 31 )) { 
			//alert ( "Day must be between 1 and 31." ); 
			return (false); 
		}
		/* Year */
		i++; 
		x = "";
		while ((s.charAt(i) != "/") && (i <= s.length))	{
			x = x +  s.charAt(i);
			i++;
		}
		Year = Year + x; 
		if (( Year < 1000 ) || ( Year > 9999 )) { 
			//alert ( "Year must be between 1000 and 9999." ); 
			return (false); 
		}
		/* Check Day a bit more closely */
		if (( Month == 4 || Month == 6 || Month == 9 || Month == 11 ) && ( Day > 30 )) { 
			//alert( "Month " + Month + " can not have more than 30 days." );
			return ( false );
		}
		if ( Month == 2) {
			if ( LeapYear(Year) ) {
				if ( Day > 29 ) { 
					//alert( "February can not have more than 29 days in " + Year + "." ); 
					return false; 
				}
			} else { 
				if ( Day > 28 ) { 
					//alert( "February can not have more than 28 days in " + Year + "." ); 
					return false; 
				}
			}

		}
	}
	return ( true );
}
/////////////////////////////////////////////////////////////////////
// 0123456789    
// YYYY/MM/DD -> MM/DD/YYYY
// alert(convDateYMD2MDY("1999/12/01"));
function convDateYMD2MDY(sDate) {
	var ret = "";
	ret += sDate.substring(5,7) + "/";
	ret += sDate.substring(8,10) + "/";
	ret += sDate.substring(0,4)
	return ret;
}
/////////////////////////////////////////////////////////////////////
function isSSN( s ) {
	var Sum = 0;
	if ( s.length != 13 ) return false;
	if ( isInteger(s) == false ) return false;
	for(i = 0; i < 12; i++)	{
		if( i < 6 ) { Sum += parseInt(s.charAt(i)) * (i + 2); }
		if( i > 5 && i < 8) { Sum += parseInt(s.charAt(i)) * ( i + 1); }
		if( i > 7 ) { Sum += parseInt(s.charAt(i)) * ( i - 7); }
	}
	if( 11 - (Sum % 11) != parseInt(s.charAt(12)) )	{ return false; } 
	return true;
}
/////////////////////////////////////////////////////////////////////
function isUrl(s) {
	if (s.indexOf(" ") != -1) {	return false; }
	else if (s.indexOf("http://") == -1) { return false; }
	else if (s == "http://") { return false; }
	else if (s.indexOf("http://") > 0) { return false; }
	s = s.substring(7, s.length);
	if (s.indexOf(".") == -1) {	return false; }
	else if (s.indexOf(".") == 0) {	return false; }
	else if (s.charAt(s.length - 1) == ".") { return false; }
	if (s.indexOf("/") != -1) {
		s = s.substring(0, s.indexOf("/"));
		if (s.charAt(s.length - 1) == ".") { return false; }
	}
	if (s.indexOf(":") != -1) {
		if (s.indexOf(":") == (s.length - 1)) {	return false; }
		else if (s.charAt(s.indexOf(":") + 1) == ".") {	return false; }
		s = s.substring(0, s.indexOf(":"));
		if (s.charAt(s.length - 1) == ".") { return false; }
	}
	return true;
}
/////////////////////////////////////////////////////////////////////
function isEmail(s) {
	if (s.indexOf(" ") != -1)
		return false;
	else if (s.indexOf("@") == -1)
		return false;
	else if (s.indexOf("@") == 0)
		return false;
	else if (s.indexOf("@") == (s.length-1))
		return false;
	var arrayString = s.split("@"); //(works only in netscape3 and above.)
	//var retSize = customSplit(argvalue, "@", "arrayString");
	if (arrayString[1].indexOf(".") == -1)
		return false;
	else if (arrayString[1].indexOf(".") == 0)
		return false;
	else if (arrayString[1].charAt(arrayString[1].length-1) == ".") {
		return false;
	}
	return true;
}
/////////////////////////////////////////////////////////////////////
function isWord(argvalue) {
	var onechar = "";
	for (var n = 0; n < argvalue.length; n++) {
		onechar = argvalue.substring(n, n+1);
		if ((onechar < "0" || onechar > "9") && (onechar < "A" || onechar > "Z") && (onechar < "a" || onechar > "z") && (onechar != "_")) {
			return false;
		}
	}
	return true;
}
/////////////////////////////////////////////////////////////////////
function JFormat(argvalue, format) {
	var numOfDecimal = 0;
	if (format.indexOf(".") != -1) {
		numOfDecimal = format.substring(format.indexOf(".") + 1, format.length).length;
	}
	argvalue = formatDecimal(argvalue, true, numOfDecimal);
	argvalueBeforeDot = argvalue.substring(0, argvalue.indexOf("."));
	retValue = argvalue.substring(argvalue.indexOf("."), argvalue.length);
	strBeforeDot = format.substring(0, format.indexOf("."));
	for (var n = strBeforeDot.length - 1; n >= 0; n--) {
		oneformatchar = strBeforeDot.substring(n, n + 1);
		if (oneformatchar == "#") {
			if (argvalueBeforeDot.length > 0) {
				argvalueonechar = argvalueBeforeDot.substring(argvalueBeforeDot.length - 1, argvalueBeforeDot.length);
				retValue = argvalueonechar + retValue;
				argvalueBeforeDot = argvalueBeforeDot.substring(0, argvalueBeforeDot.length - 1);
			}
		}
		else {
			if (argvalueBeforeDot.length > 0 || n == 0)
			retValue = oneformatchar + retValue;
		}
	}
	return retValue;
}
// These are the basic functions to set, get and delete a cookie.
function setCookie (name, value, expires) {
  //Set a cookie given a name, value and expiration date.
  document.cookie = name + "=" + escape(value) + "; expires=" + expires.toGMTString() +  "; path=/";
}
/////////////////////////////////////////////////////////////////////
function getCookie(name) {
  var search;
  // Returns the value of the named cookie.
  search = name + "="
  offset = document.cookie.indexOf(search) 
  if (offset != -1) {
    offset += search.length ;
    end = document.cookie.indexOf(";", offset) ;
    if (end == -1)
      end = document.cookie.length;
    return unescape(document.cookie.substring(offset, end));
  }
  else
    return "";
}
/////////////////////////////////////////////////////////////////////
function deleteCookie(name) {
  var expdate = new Date();
  // Delete the named cookie.
  expdate.setTime(expdate.getTime() - (86400 * 1000 * 1));
  setCookie(name, "", expdate);
}
/////////////////////////////////////////////////////////////////////
// convert a character into ascii code
// <INPUT NAME="ASCIICode" VALUE="65" onChange="Letter.value=Character(parseInt(ASCIICode.value))">
function Chr2Asc(Letter) {  
	var Alpha = ' !"#$%& ()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[ ]^_`abcdefghijklmnopqrstuvwxyz{|}~'
	if (Letter == "'") {
		return 39;
	} else if (escape(Letter) == "%5C") {
		return 92;
	} else if (Alpha.indexOf(Letter) < 0) { 
		return Alpha.indexOf(Letter);
	} else {
		return Alpha.indexOf(Letter)+ 32;
	}
}
/////////////////////////////////////////////////////////////////////
// convert ascii code into a character
// <INPUT NAME="Letter" VALUE="A" onChange="ASCIICode.value=ASCII(Letter.value)">
function Asc2Chr(Code)
{  var Alpha = ' !"#$%& ()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[ ]^_`abcdefghijklmnopqrstuvwxyz{|}~'
   if (Code == 39) return "'"
   else if (Code == 92) return unescape("%5C")
        else return Alpha.charAt(Code - 32)
}
/////////////////////////////////////////////////////////////////////
function HLen(s) {
	if (s.length <= 0) { 
		return 0; 
	}
	var chlen = 0;
	for ( var i = 0 ; i < s.length ; i++ ) {
		if ( Chr2Asc(s.substring(i, i + 1)) < 0 ) { 
			chlen += 2;
		} else {
			chlen += 1;
		}
	}
	return chlen;
}
/////////////////////////////////////////////////////////////////////
function isOdd (n) {
	if ((n % 2) == 1) {
		return true;
	}
	return false;
}
/////////////////////////////////////////////////////////////////////
function isEven (n) {
	if ((n % 2) != 1) {
		return true;
	}
	return false;
}
/////////////////////////////////////////////////////////////////////
function scrollstatus()
{
  var str = '';
  if (scrollstatus.arguments.length > 0) {
    var i;
    for (str = '', i = 0; i < 100; i++)
      str += ' ';
    for (i = 0; i < scrollstatus.arguments.length; i++)
      str += scrollstatus.arguments[i] + ' ';
    document.scrollstatus = str;
  } else {
    var src_str = document.scrollstatus;
    str  = src_str.substring(1, src_str.length);
    str += src_str.substring(0, 1);
    document.scrollstatus = str;
  }
  window.status = str;
  setTimeout('scrollstatus()', 100);
}
/////////////////////////////////////////////////////////////////////
var caution = false 

function setCookie(name, value, expires, path, domain, secure) { 
	var curCookie = name + "=" + escape(value) + 
	
	    ((expires) ? "; expires=" + expires.toGMTString() : "") + 
	
	    ((path) ? "; path=" + path : "") + 
	
	    ((domain) ? "; domain=" + domain : "") + 
	
	    ((secure) ? "; secure" : "") 
	
	if (!caution || (name + "=" + escape(value)).length <= 4000){
		document.cookie = curCookie 
	}else {
        if (confirm("Cookie exceeds 4KB and will be cut!")){
			document.cookie = curCookie 
		}
	}
	
} 
/////////////////////////////////////////////////////////////////////
function getCookie(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 deleteCookie(name, path, domain) { 

        if (getCookie(name)) { 

                document.cookie = name + "=" + 

                ((path) ? "; path=" + path : "") + 

                ((domain) ? "; domain=" + domain : "") + 

                "; expires=Thu, 01-Jan-70 00:00:01 GMT" 

        } 

} 
/////////////////////////////////////////////////////////////////////
function fnRegNoCheck(strVal1, strVal2)	{
	var str_jumin1 = strVal1;
	var str_jumin2 = strVal2;

	var i3=0;

	for (var i=0;i<str_jumin1.length;i++){
		var ch1 = str_jumin1.substring(i,i+1);
		
		if (ch1<'0' || ch1>'9') {
			i3=i3+1 ;
		}
	}

	if ((str_jumin1 == '') || ( i3 != 0 )){
		alert('ÁÖ¹Îµî·Ï¹øÈ£°¡ Àß¸øµÇ¾ú½À´Ï´Ù.\n\n´Ù½ÃÀÔ·ÂÇØÁÖ¼¼¿ä!');
		return false;
	}

	var i4=0;

	for (var i=0;i<str_jumin2.length;i++){
		var ch1 = str_jumin2.substring(i,i+1);
		
		if (ch1<'0' || ch1>'9') { 
			i4=i4+1;
		}
	}

	if ((str_jumin2 == '') || ( i4 != 0 )){
		alert('ÁÖ¹Îµî·Ï¹øÈ£°¡ Àß¸øµÇ¾ú½À´Ï´Ù.\n\n´Ù½ÃÀÔ·ÂÇØÁÖ¼¼¿ä!');
		return false;
	}

	if(str_jumin1.substring(0,1) < 4){
		alert('ÁÖ¹Îµî·Ï¹øÈ£°¡ Àß¸øµÇ¾ú½À´Ï´Ù.\n\n´Ù½ÃÀÔ·ÂÇØÁÖ¼¼¿ä!');
		return false;
	}

	if(str_jumin2.substring(0,1) > 2){
		alert('ÁÖ¹Îµî·Ï¹øÈ£°¡ Àß¸øµÇ¾ú½À´Ï´Ù.\n\n´Ù½ÃÀÔ·ÂÇØÁÖ¼¼¿ä!');
		return false;
	}

	if((str_jumin1.length > 7) || (str_jumin2.length > 8)){
		alert('ÁÖ¹Îµî·Ï¹øÈ£°¡ Àß¸øµÇ¾ú½À´Ï´Ù.\n\n´Ù½ÃÀÔ·ÂÇØÁÖ¼¼¿ä!');
		return false;
	}

	if ((str_jumin1 == '72') || ( str_jumin2 == '18')){
		alert('ÁÖ¹Îµî·Ï¹øÈ£°¡ Àß¸øµÇ¾ú½À´Ï´Ù.\n\n´Ù½ÃÀÔ·ÂÇØÁÖ¼¼¿ä!');
		return false;
	}

	var f1=str_jumin1.substring(0,1);
	var f2=str_jumin1.substring(1,2);
	var f3=str_jumin1.substring(2,3);
	var f4=str_jumin1.substring(3,4);
	var f5=str_jumin1.substring(4,5);
	var f6=str_jumin1.substring(5,6);

	var hap=f1*2+f2*3+f3*4+f4*5+f5*6+f6*7;
	
	var l1=str_jumin2.substring(0,1);
	var l2=str_jumin2.substring(1,2);
	var l3=str_jumin2.substring(2,3);
	var l4=str_jumin2.substring(3,4);
	var l5=str_jumin2.substring(4,5);
	var l6=str_jumin2.substring(5,6);
	var l7=str_jumin2.substring(6,7);

	hap=hap+l1*8+l2*9+l3*2+l4*3+l5*4+l6*5;

	hap=hap%11;
	hap=11-hap;
	hap=hap%10;
	
	if (hap != l7){
		alert('ÁÖ¹Îµî·Ï¹øÈ£°¡ Àß¸øµÇ¾ú½À´Ï´Ù.\n\n´Ù½ÃÀÔ·ÂÇØÁÖ¼¼¿ä!');
		return false;
	}

	return true;
}
