/* ============================================================================
 * File Name	: utilType.js
 * Description	: °´Ã¼ È®ÀÎ ¹× Çü½ÄÈ®ÀÎ
 * Author		: ±èÇö¼ö
 * Create Date	: 2004-03-03
 * History		:
 *	- 2004-03-03, ±èÇö¼ö	 : ÃÊ±âÀÛ¼º
 *	- 2004-03-16, ±èÇö¼ö	 : Ãß°¡ÀÛ¼º
 *	- 2004-03-17, ±èÇö¼ö	 : enableElementSettingÀÇ onfocus ºÎºÐ Ãß°¡ÀÛ¼º
 ============================================================================*/


/* -----------------------------------------------------------------------------
 * isEmail		: E-Mail Çü½Ä ¿©ºÎ Ã¼Å©
 * Parameter
	- obj 		: [OBJECT] E-mailÀÌ Æ÷ÇÔµÇ¾îÀÖ´Â TextField
 * return		: [BOOLEAN] E-mailÀÇ Çü½Ä ¿©ºÎ
 ------------------------------------------------------------------------------ */
function isEmail(obj){
	var objControl = obj;

	if(objControl.value != ""){
		if((objControl.value.charCodeAt(0)<48 || objControl.value.charCodeAt(0)>57) && (objControl.value.charCodeAt(0)<65 || objControl.value.charCodeAt(0)>90) && (objControl.value.charCodeAt(0)<97 || objControl.value.charCodeAt(0)>122)) {
				alert("E-mailÀÇ Çü½ÄÀÌ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù.");
				objControl.focus();
				objControl.select();
				return false;
		}	
		else if(objControl.value.indexOf('@') == -1 || objControl.value.indexOf('.') == -1 || objControl.value.length < 6) {
			alert("E-mailÀÇ Çü½ÄÀÌ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù.");
			objControl.focus();
			objControl.select();
			return false;		
		}
		for (var i = 0; i< objControl.value.length; i++) {
			ret = obj.value.charCodeAt(i);
			if ((ret>47 && ret<58) || (ret>96 && ret<123) || (ret>63 && ret<91) || ret==95 || ret==46 || ret==45) { 
			} else {
				alert("E-mailÀÇ Çü½ÄÀÌ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù.");
				objControl.focus();
				return false;
				objControl.select();
			}
		}
	}
	return true;
}

/* -----------------------------------------------------------------------------
 * isUsingEmail	: »ç¿ë°¡´ÉÇÑ ¸ÞÀÏ ¿©ºÎ Ã¼Å©
 * Parameter
	- obj 		: [OBJECT] E-mailÀÌ Æ÷ÇÔµÇ¾îÀÖ´Â TextField
 * return		: [BOOLEAN] »ç¿ë°¡´ÉÇÑ ¸ÞÀÏ(ÇÑ¸ÞÀÏ, ´ÙÀ½¸ÞÀÏ ºÒ°¡)ÀÎÁö ¿©ºÎ
 ------------------------------------------------------------------------------ */
function isUsingEmail(obj){
	var email = obj.value.toLowerCase();
	var arrEmail = email.split("@");

	if(arrEmail.length > 1){
		if(arrEmail[1] == "hanmail.net" || arrEmail[1] == "daum.net"){
			return false;
		}
	}
	return true;
}

/* -----------------------------------------------------------------------------
 * isId			: IDÀÇ Çü½Ä ¿©ºÎ Ã¼Å©
 * Parameter
	- str 		: [STRING] ID °ª
 * return		: [BOOLEAN] IDÀÇ Çü½Ä ¿©ºÎ
 ------------------------------------------------------------------------------ */
function isId(obj, len){
	if(obj.value.length < len){
		alert("¾ÆÀÌµð´Â " + len + "ÀÚ ÀÌ»óÀÌ¾î¾ß ÇÕ´Ï´Ù.");
		obj.focus();
		obj.select();
		return false;
	}

	if((obj.value.charCodeAt(0)<65 || obj.value.charCodeAt(0)>90) && (obj.value.charCodeAt(0)<97 || obj.value.charCodeAt(0)>122)) {
		alert("¾ÆÀÌµð´Â Ã¹±ÛÀÚ ¿µ¹®, ÈÄºÎÅÍ´Â ¿µ¹®/¼ýÀÚ¸¸À» »ç¿ëÇÏ¼Å¾ß ÇÕ´Ï´Ù.");
		obj.focus();
		obj.select();
		return false;
	}

	for (var i = 0; i< obj.value.length; i++) {
		ret = obj.value.charCodeAt(i);
		if((ret>47 && ret<58) || (ret>96 && ret<123) || (ret>64 && ret<91)){ 
		}
		else {
			alert("¾ÆÀÌµð´Â ¿µ¹®/¼ýÀÚ¸¸À» »ç¿ëÇÏ¼Å¾ß ÇÕ´Ï´Ù.");
			obj.focus();
			obj.select();
			return false;
		}
	}

	return true;
}

/* -----------------------------------------------------------------------------
 * isPwd		: ºñ¹Ð¹øÈ£ Çü½Ä ¿©ºÎ Ã¼Å©
 * Parameter
	- str 		: [STRING] ºñ¹Ð¹øÈ£ °ª
 * return		: [BOOLEAN] ºñ¹Ð¹øÈ£ÀÇ Çü½Ä ¿©ºÎ
 ------------------------------------------------------------------------------ */
function isPwd(obj, len){
	if(obj.value.length < len){
		alert("ºñ¹Ð¹øÈ£´Â " + len + "ÀÚ ÀÌ»óÀÌ¾î¾ß ÇÕ´Ï´Ù.");
		obj.focus();
		obj.select();
		return false;
	}
/*
	if((obj.value.charCodeAt(0)<65 || obj.value.charCodeAt(0)>90) && (obj.value.charCodeAt(0)<97 || obj.value.charCodeAt(0)>122)) {
		alert("¾ÆÀÌµð´Â Ã¹±ÛÀÚ ¿µ¹®, ÈÄºÎÅÍ´Â ¿µ¹®/¼ýÀÚ¸¸À» »ç¿ëÇÏ¼Å¾ß ÇÕ´Ï´Ù.");
		obj.focus();
		obj.select();
		return false;
	}

	for (var i = 0; i< obj.value.length; i++) {
		ret = obj.value.charCodeAt(i);
		if((ret>47 && ret<58) || (ret>96 && ret<123) || (ret>64 && ret<91)){ 
		}
		else {
			alert("¾ÆÀÌµð´Â ¿µ¹®/¼ýÀÚ¸¸À» »ç¿ëÇÏ¼Å¾ß ÇÕ´Ï´Ù.");
			obj.focus();
			obj.select();
			return false;
		}
	}
*/
	return true;
}

/* ----------------------------------------------------------------------------
 * isSsn		: ÁÖ¹Î¹øÈ£ À¯È¿¼º Ã¼Å©
 * Parameter	
	- obj		: [OBJECT] °Ë»çÇÒ field
	- str		: [STRING] fieldÀÇ Á¾·ù
 * return       : none
 --------------------------------------------------------------------------- */
function isSsn(ssn) {
	var sex = ssn.substr(6, 1);		// ¼ºº°
	var startPos	= 2;			// logig variable
	var intSum		= 0;

	if(!isNumeric(ssn)){
		return false;
	}

	if(sex > 2){
		var ssnDate = "20" + ssn.substr(0, 6);
	} else {
		var ssnDate = "19" + ssn.substr(0, 6);
	}

	if(!isDate(ssnDate)){
		return false;
	}

	if(sex < 1 || sex > 4){
		return false;
	}

	for (i=0; i<ssn.length-1; i++) {
		intSum += igetInt(ssn.substr(i, 1)) * startPos++;
		if (startPos == 10) startPos = 2;
	}

	var mod = 11 - intSum % 11;
	if (mod == 11) mod = 1;
	if (mod == 10) mod = 0;
	if (mod != igetInt(ssn.substr(12, 1)))	return false;
	else									return true;
}

/* ----------------------------------------------------------------------------
 * checkedAll	: °°Àº ÀÌ¸§ÀÇ checkbox(obj)¸¦ ¸ðµÎ¼±ÅÃ
 * Parameter	
	- obj		: [OBJECT] °°Àº ÀÌ¸§ÀÇ checkbox °´Ã¼
 * return       : none
 --------------------------------------------------------------------------- */
function checkedAll(obj){
	for(var i=0; i<obj.length;i++){
		obj[i].checked = true;
	}
}

/* ----------------------------------------------------------------------------
 * insertCheck	: fieldÀÇ null°ª °ú ±æÀÌ Ã¼Å©
 * Parameter	
	- obj		: [OBJECT] °Ë»çÇÒ field
	- str		: [STRING] fieldÀÇ Á¾·ù
	- len		: [NUMBER] fieldÀÇ °ªÀÇ ±ÛÀÚ ±æÀÌ
 * return       : [BOOLEAN] Çü½ÄÀÇ ÀÏÄ¡ ¿©ºÎ
 --------------------------------------------------------------------------- */
function insertCheck(obj, str, len){
	if(typeof(obj) == "undefined"){
		alert("[" + str + "]Àº Àß¸øµÈ Object ÀÔ´Ï´Ù.");
		return false;
	}

	if(typeof(str) == "undefined"){
		str = obj.alt;
	}

	var objType = obj.type ? obj.type : obj[0].type;

	switch(objType){
		case "text" :
		case "hidden" :
		case "password" :
		case "textarea" :
			if(!obj.value){
				alert("\"" + str + "\"À»(¸¦) ÀÔ·ÂÇØ ÁÖ¼¼¿ä.");
				if(objType != "hidden")
					obj.focus();
				return false;
			}
			if(isFinite(len)){
				if(obj.value.length != len){
					alert("\"" + str + "\"À»(¸¦) " + len + "ÀÚ¸®·Î ÀÔ·ÂÇØ ÁÖ¼¼¿ä.");
					if(objType != "hidden")
						obj.focus();
					return false;
				}
			}
			break;
		case "select-one" :
			if(obj.selectedIndex == 0 || obj[obj.selectedIndex].text == ""){
				alert("\"" + str + "\"À»(¸¦) ¼±ÅÃÇØ ÁÖ¼¼¿ä.");
				obj.focus();
				return false;
			}
			break;
		case "checkbox" :
		case "radio" :
			var len = obj.length;
			for(var i=0; i<obj.length; i++){
				if(obj[i].checked){
					return true;
				}
			}
			alert("\"" + str + "\"À»(¸¦) ¼±ÅÃÇØ ÁÖ¼¼¿ä.");
			obj[0].focus();
			return false;
			break;
		default :
			alert("'" + obj.type + "'ÀÌ Á¤ÀÇµÇ¾î ÀÖÁö ¾Ê½À´Ï´Ù.");
			return false;
	}

	return true;
}

/* ----------------------------------------------------------------------------
 * insertCheckUS	: fieldÀÇ null°ª °ú ±æÀÌ Ã¼Å©
 * Parameter	
	- obj		: [OBJECT] °Ë»çÇÒ field
	- str		: [STRING] fieldÀÇ Á¾·ù
	- len		: [NUMBER] fieldÀÇ °ªÀÇ ±ÛÀÚ ±æÀÌ
 * return       : [BOOLEAN] Çü½ÄÀÇ ÀÏÄ¡ ¿©ºÎ
 --------------------------------------------------------------------------- */
function insertCheckUS(obj, str, len){
	if(typeof(obj) == "undefined"){
		alert("[" + str + "] is invalid object.");
		return false;
	}

	if(typeof(str) == "undefined"){
		str = obj.alt;
	}

	var objType = obj.type ? obj.type : obj[0].type;

	switch(objType){
		case "text" :
		case "hidden" :
		case "password" :
		case "textarea" :
			if(!obj.value){
				alert("Please enter \"" + str + "\".");
				if(objType != "hidden")
					obj.focus();
				return false;
			}
			if(isFinite(len)){
				if(obj.value.length != len){
					alert("Please enter \"" + str + "\" of " + len + " characters.");
					if(objType != "hidden")
						obj.focus();
					return false;
				}
			}
			break;
		case "select-one" :
			if(obj.selectedIndex == 0 || obj[obj.selectedIndex].text == ""){
				alert("Please select \"" + str + "\"");
				obj.focus();
				return false;
			}
			break;
		case "checkbox" :
		case "radio" :
			var len = obj.length;
			for(var i=0; i<obj.length; i++){
				if(obj[i].checked){
					return true;
				}
			}
			alert("Please select \"" + str + "\".");
			obj[0].focus();
			return false;
			break;
		default :
			alert("'" + obj.type + "' is invalid control.");
			return false;
	}

	return true;
}

/* -----------------------------------------------------------------------------
 * getPhoneNo	: ¹®ÀÚ¿­ÀÇ ÀüÈ­¹øÈ£¸¦ 3Â÷¿ø ¹è¿­·Î ¹ÝÈ¯
 * Parameter
	- phoneNo	: [STRING] ÀüÈ­¹øÈ£
 * return		: [ARRAY] Áö¿ª¹øÈ£, ¾ÕÀÚ¸®, µÞÀÚ¸®
 ------------------------------------------------------------------------------ */
function getPhoneNo(phoneNo){
	var arr = new Array(3);
	var splitPno = phoneNo.split("-");

	if(splitPno.length > 2){
		arr[0] = splitPno[0];
		arr[1] = splitPno[1];
		arr[2] = splitPno[2];
	} else if(splitPno.length > 1){
		if((phoneNo[0] <= 3) && (phoneNo[1] > 6)){
			arr[0] = splitPno[0];
			arr[1] = splitPno[1].substring(0, splitPno.length-4);
			arr[2] = splitPno[1].substring(splitPno.length-4, splitPno.length);
		} else if((phoneNo[0] <= 4) && (phoneNo[1] == 4)) {
			arr[0] = "";
			arr[1] = splitPno[0];
			arr[2] = splitPno[1];
		} else {
			arr[0] = "";
			arr[1] = "";
			arr[2] = "";
		}
	}else{
		if(phoneNo.length == 11){
			arr[0] = phoneNo.substring(0,3);
			arr[1] = phoneNo.substring(3,6);
			arr[1] = phoneNo.substring(6,11);
		}else if(phoneNo.length == 10){
			if(phoneNo.substring(0,2) == "02"){
				arr[0] = "02";
				arr[1] = phoneNo.substring(2, 5);
				arr[2] = phoneNo.substring(5, 10);
			} else {
				arr[0] = phoneNo.substring(0,3);
				arr[1] = phoneNo.substring(3, 5);
				arr[2] = phoneNo.substring(3, 10);
			}
		}else if(phoneNo.length == 8){
			arr[0] = "";
			arr[1] = phoneNo.substring(0, 4);
			arr[2] = phoneNo.substring(4, 8);
		}else if(phoneNo.length == 7){
			arr[0] = "";
			arr[1] = phoneNo.substring(0, 3);
			arr[2] = phoneNo.substring(3, 7);
		}else{
			arr[0] = "";
			arr[1] = "";
			arr[1] = "";
		}
	}
	return arr;
}

/* -----------------------------------------------------------------------------
 * getSsn		: ¹®ÀÚ¿­ÀÇ ÁÖ¹Î¹øÈ£¸¦ 2Â÷¿ø ¹è¿­·Î ¹ÝÈ¯
 * Parameter
	- ssn		: [STRING] ÁÖ¹Î¹øÈ£
 * return		: [ARRAY] ¾ÕÀÚ¸®(6), µÞÀÚ¸®(7)
 ------------------------------------------------------------------------------ */
function getSsn(ssn){
	var arr = new Array(2);
	var splitSsn = ssn.split("-");

	if(splitSsn.length == 2){
		arr[0] = splitSsn[0];
		arr[1] = splitSsn[1];
	} else {
		if(ssn.length > 12){
			arr[0] = ssn.substring(0, 6);
			arr[0] = ssn.substring(6, 13);
		} else if(ssn.length > 6) {
			arr[0] = ssn.substring(0, 6);
			arr[0] = ssn.substring(6, ssn.length);
		} else {
			arr[0] = ssn.substring(0, ssn.length);
			arr[0] = "";
		}
	}
	return arr;
}

/* -----------------------------------------------------------------------------
 * getEmail		: ¹®ÀÚ¿­ÀÇ ÀÌ¸ÞÀÏÁÖ¼Ò¸¦ 2Â÷¿ø ¹è¿­·Î ¹ÝÈ¯
 * Parameter
	- email		: [STRING] ÀÌ¸ÞÀÏÁÖ¼Ò
 * return		: [ARRAY] »ç¿ëÀÚ, È£½ºÆ®
 ------------------------------------------------------------------------------ */
function getEmail(email){
	var arr = new Array(2);
	var splitEmail = email.split("@");

	if(splitEmail.length > 1){
		arr[0] = splitEmail[0];
		arr[1] = splitEmail[1];
	} else {
		arr[0] = "";
		arr[1] = "";
	}

	return arr;
}

/* -----------------------------------------------------------------------------
 * getZipCode	: ¹®ÀÚ¿­ÀÇ ¿ìÆí¹øÈ£¸¦ 2Â÷¿ø ¹è¿­·Î ¹ÝÈ¯
 * Parameter
	- zipcode	: [STRING] ¿ìÆí¹øÈ£(XXX-XXX)
 * return		: [ARRAY] ¾ÕÀÚ¸®(3), µÞÀÚ¸®(3)
 ------------------------------------------------------------------------------ */
function getZipCode(zipcode){
	var arr = new Array(2);
	var splitZip = zipcode.split("-");

	if(splitZip.length > 1){
		arr[0] = splitZip[0];
		arr[1] = splitZip[1];
	}
	else{
		if(zipcode ==	null ||	zipcode == ''){
			arr[0] = "";
			arr[1] = "";
		}else if(zipcode.length >= 6){
			arr[0] = zipcode.substring(0,3);
			arr[1] = zipcode.substring(3,6);
		}else if(zipcode.length > 3 && zipcode.length <	6){
			arr[0] = zipcode.substring(0,3);
			arr[1] = zipcode.substring(3,zipcode.length);
		}else{
			arr[0] = zipcode.substring(0,zipcode.length);
			arr[1] = "";
		}
	}
	return arr;

}

function getArr2Str(arr, flag){
	if(typeof(arr) == "undefined" || arr == null) return "";
	var str  = "";
	for(var i=0; i<arr.length; i++){
		str = str + arr[i] + flag;
	}

	return str;
}

function addCommaPrice(intMn){
	var src = intMn.value;
	if(src == 0) intMn.value = "";
	src = src.replace(/,/gi, "");
	var strLen = src.length;
	var str = "";
	if ( strLen > 3){
		for (var i=0; i<=strLen; i++){
			if (i%3 == 0 && i >= 3  && i != strLen){
				str = "," + str;
			}
			str = src.charAt((strLen - 1 ) - i) + str;
		}
		intMn.value = str;
	}
}
