/////////////////////////////////////////////////////////////////
// Project     : LG CALTEX ¸¶ÄÉÆÃ SITE
// Program id  : jslib.js
// Description : JavaScript Util 
// ÀÛ¼ºÀÚ      : ¼Õ»ó¸ð
// ¼Ò ¼Ó       : FID
// ÀÏ ÀÚ       : 2001.12.11 ÃÖÃÊÀÛ¼º            
//             : 
//////////////////////////////////////////////////////////////

//
// Sub ID		: isEmail
// Description	: Email Format Check
// Param		: str	- Email Address
// Return		: true or false
//
function isEmail(str) {
  // regular expression Áö¿ø ¿©ºÎ Á¡°Ë
  var supported = 0;
  if (window.RegExp) {
    var tempStr = "a";
    var tempReg = new RegExp(tempStr);
    if (tempReg.test(tempStr)) supported = 1;
  }
  if (!supported) 
    return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
  return (!r1.test(str) && r2.test(str));
}


/*
' Sub ID		: isResNo
' Description	: ÁÖ¹Î¹øÈ£ Sum Check
' @Param		: s		- ÁÖ¹Î¹øÈ£
' Return		: true or false
**/
function isResNo(s) {
	if( s.charAt(6) == 1 || s.charAt(6) == 2 ){
		if( s.charAt(12) ==	(( 11 - ((s.charAt(0)*2+s.charAt(1)*3+s.charAt(2)*4
			 +s.charAt(3)*5+s.charAt(4)*6+s.charAt(5)*7
			 +s.charAt(6)*8+s.charAt(7)*9+s.charAt(8)*2
			 +s.charAt(9)*3+s.charAt(10)*4+s.charAt(11)*5)
			% 11)))%10)
			return true;
	}
	return false;
}

/*
' Sub ID		: fgn_no_chksum
' Description	: ¿Ü±¹ÀÎ ÁÖ¹Î¹øÈ£ Sum Check
' @Param		: reg_no		- ÁÖ¹Î¹øÈ£
' Return		: true or false
**/

function fgn_no_chksum(reg_no) {
    var sum = 0;
    var odd = 0;
    
    buf = new Array(13);
    for (i = 0; i < 13; i++) buf[i] = parseInt(reg_no.charAt(i));

    odd = buf[7]*10 + buf[8];
    
    if (odd%2 != 0) {
      return false;
    }

    if ((buf[11] != 6)&&(buf[11] != 7)&&(buf[11] != 8)&&(buf[11] != 9)) {
      return false;
    }
    	
    multipliers = [2,3,4,5,6,7,8,9,2,3,4,5];
    for (i = 0, sum = 0; i < 12; i++) sum += (buf[i] *= multipliers[i]);


    sum=11-(sum%11);
    
    if (sum>=10) sum-=10;

    sum += 2;

    if (sum>=10) sum-=10;

    if ( sum != buf[12]) {
        return false;
    }
    else {
        return true;
    }
}

/*
' Sub ID		: isAlpabatNum
' Description	: ÇØ´ç ¹®ÀÚ¿­ÀÌ ¾ËÆÄºª°ú ¼ýÀÚ·Î¸¸ ÀÌ·ç¾î Á³´ÂÁö Ã¼Å©
' @Param		: obj - Ã¼Å©ÇÏ°í ½ÍÀº ¹®ÀÚ¿­
' Return		: true or false
**/
function isAlpabatNum(obj) {

	var str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
	for (i=0; i < obj.length; i++) {
        if (str.indexOf(obj.substring(i,i+1))<0) {			 	
			return false;
		}
       
	}

	return true;
}

/*
' Sub ID		: CheckAlpabatNum
' Description	: ÇØ´ç ¹®ÀÚ¿­ÀÌ ¾ËÆÄºª°ú ¼ýÀÚ·Î¸¸ ÀÌ·ç¾î Á³´ÂÁö Ã¼Å©
' @Param		: obj - Ã¼Å©ÇÏ°í ½ÍÀº ¹®ÀÚ¿­
' Return		: true or false
**/
function CheckAlpabatNum(obj) {

	var str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
	for (i=0; i < obj.value.length; i++) {
        if (str.indexOf(obj.value.substring(i,i+1))<0) {			 	
			alert('¿µ¾î¿Í ¼ýÀÚ ÀÌ¿Ü¿¡´Â ÀÔ·ÂÇÒ ¼ö ¾ø½À´Ï´Ù.');
			obj.focus();
			obj.value = "";
			return false;
		}
       
	}

	return true;
}

//
// Sub ID		: isnum
// Description	: Number Format Check
// Param		: Num	- number
// Return		: true or false
//
function isnum(NUM) {
	for(var i=0;i<NUM.length;i++){
		achar = NUM.substring(i,i+1);
		if( achar < "0" || achar > "9" ){
			return (false);
		}
	}
	return true;
}

//
// Sub ID		: OnlyNum
// Description	: ¼ýÀÚ Å°º¸µå¸¸ Àû¿ëµÊ
// Param		: obj ÇØ´çtext°´Ã¼
// Return		: 
//
function OnlyNum(obj)
{
	if (event.keyCode >= 48 && event.keyCode <= 57) {

	} else {
		event.returnValue = false
	}
}

//
// Sub ID		: isCheck
// Description	: Check Box Check À¯¹«
// Param		: obj	- checkbox object
// Return		: true or false
//
function isCheck(obj) {
	if (obj.length > 1) {
		for(i=0;i<obj.length;i++) if (obj[i].checked) return true;
	} else {
		return obj.checked;
	}
	return false;
}

// 
//	Sub ID		: currency
//	Description	: ¼ýÀÚ¸¸ ÀÔ·Â¹Þµµ·Ï
//  Param		: obj	- text
function currency(obj)
{
	for (var i = 0; i < obj.value.length ; i++){
		chr = obj.value.substr(i,1);		
		chr = escape(chr);
		key_eg = chr.charAt(1);
		if (key_eg == 'u'){
			key_num = chr.substr(i,(chr.length-1));			
			if((key_num < "AC00") || (key_num > "D7A3")) { 
				event.returnValue = false;
			} 			
		}
	}
	if (event.keyCode >= 48 && event.keyCode <= 57) {
		
	} else {
		event.returnValue = false;
	}
}

// 
//	Sub ID		: com
//	Description	: ÀÚ¸´¼ö(3ÀÚ¸®)¸¶´Ù ÄÞ¸¶ Ã³¸®
//  Param		: obj	- Object¸í
function com(obj)
{
	obj.value = unComma(obj.value);
	obj.value = Comma(obj.value);
}

// 
//	Sub ID		: com
//	Description	: ÀÚ¸´¼ö(3ÀÚ¸®)¸¶´Ù ÄÞ¸¶ Ã³¸®
//  Param		: input	- ÀÔ·Â°ª

function Comma(input) {

  var inputString = new String;
  var outputString = new String;
  var counter = 0;
  var decimalPoint = 0;
  var end = 0;
  var modval = 0;

  inputString = input.toString();
  outputString = '';
  decimalPoint = inputString.indexOf('.', 1);

  if(decimalPoint == -1) {
     end = inputString.length - (inputString.charAt(0)=='0' ? 1:0);
     for (counter=1;counter <=inputString.length; counter++)
     {
        var modval =counter - Math.floor(counter/3)*3;
        outputString = (modval==0 && counter <end ? ',' : '') + inputString.charAt(inputString.length - counter) + outputString;
     }
  }
  else {
     end = decimalPoint - ( inputString.charAt(0)=='-' ? 1 :0);
     for (counter=1; counter <= decimalPoint ; counter++)
     {
        outputString = (counter==0  && counter <end ? ',' : '') +  inputString.charAt(decimalPoint - counter) + outputString;
     }
     for (counter=decimalPoint; counter < decimalPoint+3; counter++)
     {
        outputString += inputString.charAt(counter);
     }
 }
    return (outputString);
}

// 
//	Sub ID		: com
//	Description	: ÄÞ¸¶ Ã³¸®µÈ °ªÀ» È¯¿ø
//  Param		: input	- º¯È¯µÉ°ª

function unComma(input) {
   var inputString = new String;
   var outputString = new String;
   var outputNumber = new Number;
   var counter = 0;
   if (input == '')
   {
	return 0
   }
   inputString=input;
   outputString='';
   for (counter=0;counter <inputString.length; counter++)
   {
      outputString += (inputString.charAt(counter) != ',' ?inputString.charAt(counter) : '');
   }
   outputNumber = parseFloat(outputString);
   return (outputNumber);
}

// 
//	Sub ID		: MoveObject
//	Description	: ÀÏÁ¤Å©±âÀÇ °ªÀ» ¹Þ¾ÒÀ»¶§ ´Ù¸¥ object·Î ÀÌµ¿
//  Param		: obj	- ÇØ´ç obj
//	Param		: len	- ±æÀÌ
//	Param		: nobj	- ÀÌµ¿ÇÒ obj
//
function MoveObject(obj,len,nobj){
	if(obj.value.length == len){
		nobj.focus();
		return true;
	}
	return false;
}
