// ****************************************************************************
//	Title 					: 	utility functions
//	Author					: 	greenwaves@estylers.com
//	copyrighter				:	Jin Shin. Jung 	
//	First Date 				: 	2002.06.21	
//	Update 					:	2002.08.14
// ****************************************************************************

<!--			
	// ¾÷·Îµå Çã¿ë °¡´ÉÇÑ ÀÌ¹ÌÁö 
	var validUploadImg = /.JPEG|.JPG|.GIF|/;
	// ¾÷·Îµå Çã¿ë °¡´É ÀÌ¹ÌÁö È®ÀåÀÚ ¸Þ½ÃÁö ¹Ú½º¿¡ ³ªÅ¸³¾ ¹®ÀÚ¿­
	var uploadImgExt = "*.jpeg, *.jpg, *.gif";


	// empty charcter include space 
	function isStringEmpty(strData) {
		if(typeof(strData) == "string" && 
			(strData == null || strData.length == 0 || 
				strData.length == strData.split(" ").length - 1)) {
			return true;
		}	
		
		return false;	
	}
	
	/*
		Leading byte range:    0x81-0xFE
		Trailing byte range:   0x41-5A,0x61-0x7A,0x81-0xFE 
		
		event transaction : onkeydown - not input Hangul, onkeypress
		backspace:8, tab:9, shift:16, home:36, end:35, left:37, right:39 
		96 ~ 105 : onkeydonwÀÏ¶§ NumLock, 229 : Hangul/English
	*/
	function checkNumber() {
	  var nKeyCode = event.keyCode;
		if(!(nKeyCode >= 48 && nKeyCode <= 57 || nKeyCode == 13 ||
			nKeyCode == 8 || nKeyCode == 46 || nKeyCode == 16 ||
			(nKeyCode >= 35 && nKeyCode <= 39) || nKeyCode == 9 ||
			(nKeyCode >= 96 && nKeyCode <= 105 ) ||
			(event.ctrlKey && nKeyCode == 86))) {
				event.returnValue = false;
				event.cancelBubble = true;
		}
	}
	
	function isNumber(strData) {		
		return !isNaN(parseInt(strData));
	}	
	
	function isTransFaildMessage(obj, msgArgs) {
		for(var nIndex = 0; nIndex < msgArgs[0].length; nIndex++) {
	  	var value = obj.all.item(msgArgs[0][nIndex]).value;
		  if(value == "" || isStringEmpty(value)) {
		  	alert(msgArgs[1][nIndex]);
		  	obj.all.item(msgArgs[0][nIndex]).focus();
		  	return true;
		  }		
		}
	  return false;
	}

	// bIsRestCheck : isRestCheckFaild ÇÔ¼ö Ã³¸® ¿©ºÎ °áÁ¤ 
	function dataForward(obj, bIsRestCheck) {
		if(typeof(msg) != "undefined") {
			if(isTransFaildMessage(obj, msg)) {
		 	  return;
		 	}
		 }
	
		if(typeof(dataForward.isRestCheckFaild) != "undefined" && 
			typeof(bIsRestCheck) != "undefined" && 
			bIsRestCheck == true && 
		  	dataForward.isRestCheckFaild(obj)) {
		  return ;
		}
	 	
	 	obj.submit();  
	}
	
	function isValidEmail(email) {
		var regDoNot = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; 
		var regMust = /^[a-zA-Z0-9\-\.\_]+\@[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3})$/;
		
		if ( !regDoNot.test(email) && regMust.test(email) ){
			return true;
		}
		
		return false;	
	}
	
	function checkValidEmail(emailObj) {
		var warningmsg = "Àß ¸øµÈ ÀüÀÚ¿ìÆí ÁÖ¼ÒÀÔ´Ï´Ù. \ ´Ù½ÃÇÑ¹ø ÀÔ·ÂÇØÁÖ¼¼¿ä";
		if(typeof(emailObj) == "object" && emailObj != null) {
			if(isValidEmail(emailObj.value)) {
				return true;
			}
		}
		
		alert(warningmsg);
		emailObj.select();
		return false;
	}
	
	// test resident registration number 
	function isValidResidentRegistrationNumber(regNumber) {	
		
		var total = 0, sex = parseInt(regNumber.substring(6,7));;
		var checkKey = "234567892345";
	
		for(var index=0; index < checkKey.length; index++) {
			total += parseInt(regNumber.substring(index, index+1)) *
								parseInt(checkKey.substring(index, index+1));
		} 	
		
		total = (checkKey.length-1) - (total % (checkKey.length-1));
		if(total >= 10) {
			total %= 10;
		}
		
		// month, day, sex ±¸º° 
		if(total == parseInt(regNumber.substring(12,13)) &&
			parseInt(regNumber.substring(2,4)) < 13 &&
			parseInt(regNumber.substring(4,6)) < 32 && 
			(sex == 1 || sex == 2) ) {
			// correct resident registration number	
			return true; 
		}
		
		return false;
	}
	
	function checkResidentNumber(regNumberFirst, regNumberSecond) {
		var warningmsg = "Àß¸ø µÈ ÁÖ¹Îµî·Ï¹øÈ£ÀÔ´Ï´Ù.\ ´Ù½Ã ÀÔ·ÂÇØÁÖ¼¼¿ä!";
		var regNum = regNumberFirst.value + regNumberSecond.value;
		
		if(!isStringEmpty(regNumberFirst.value) && 
				!isStringEmpty(regNumberSecond.value) && 
				regNum.length == 13) {
			if(isValidResidentRegistrationNumber(regNum)) {
				return true;
			}	
		}
		
		alert(warningmsg);
		regNumberFirst.select();
		return false;
	}
	
	// VBScript Array¸¦ JScript Array·Î º¯È¯ 
	function vBArrayToJSArray(vbArray) {
		var arrVb = new VBArray(vbArray);
		return (typeof(arrVb) == "undefined" ? null : arrVb.toArray());
	}
	
	// alphabet, hangul, etc 
	function getStringLength(dataStr) {
	  var len = 0, index = 0, regUnicode = /%u/i, regNonUnicode = /%/i;
	 	if(dataStr == null || typeof(dataStr) != "string") {
	 		return len;
	 	}
	 	
	 	for(; index < dataStr.length; index++) {
	    var c = escape(dataStr.charAt(index));
	    // Hangul character
	    c.search(regUnicode) != -1 ? len += 2 : 
	    // space etc character
	    (c.length == 1 || c.search(regNonUnicode) != -1) ? len++ : len;
	 	}
	 	return len;	
	}
	
	function getAbsoluteString(dataStr, length) {
		// not implement 
	}
	
	function isEnglish(objStr) {
		var bRet = true;
		var retChar;
	
		for(count = 0; count < objStr.length; count++) {
			retChar = objStr.substr(count,1).toUpperCase();
			if((retChar<"0" || retChar>"9") && (retChar<"A" || retChar>"Z")) { 
				bRet = false;
				break; 
			}		
		}
	
		return bRet;
	}	
	
	// ¾÷·Îµå °¡´ÉÇÑ ÆÄÀÏ Ã¼Å©
	function isValidUploadFile(fileObj) {
		var imgFile = fileObj.value.toUpperCase();	
		imgFile = imgFile.substr(imgFile.length - 4, 4);		
		if(null == imgFile.match(validUploadImg)) {
			alert("¾÷·Îµå °¡´ÉÇÑ ÆÄÀÏÀÇ È®Àå¸íÀº\n" + uploadImgExt + " ÀÔ´Ï´Ù.");
			return false;
		}		
								
		return true;
	}
// -->
