/**
 * @(#)util.js
 *
 * Copyright (C) 2005 D.TRIBE, Inc. All rights reserved.
 *
 * THIS SOFTWARE IS THE PROPRIETARY INFORMATION OF D.TRIBE, INC.
 * USE IS SUBJECT TO LICENSE TERMS.
 *
 * @author	Barney Kim
 * @version	1.0, 2004/03/07 ÆÄÀÏ ÀÛ¼º
 *					1.1, 2004/06/06 ±â´É Ãß°¡
 */
function notSupport() {
	jsMessage("¾ÆÁ÷ Áö¿øÇÏÁö ¾Ê´Â ±â´ÉÀÔ´Ï´Ù.");
}

//
// ÀÏ¹Ý Á¤º¸ ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÑ´Ù.
//
// @param msg Ãâ·ÂÇÒ ¸Þ½ÃÁö
//
function jsMessage(msg) {
	js_msg("Á¤º¸", msg);
}

//
// ¿À·ù ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÑ´Ù.
//
// @param msg Ãâ·ÂÇÒ ¸Þ½ÃÁö
//
function jsError(msg) {
	js_msg("¿À·ù", msg);
}

//
// »ç¿ëÀÚ ¿À·ù ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÑ´Ù.
//
// @param msg Ãâ·ÂÇÒ ¸Þ½ÃÁö
//
function jsUserError(msg) {
	js_msg("»ç¿ëÀÚ ¿À·ù", msg);
}

//
// ½Ã½ºÅÛ ¿À·ù ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÑ´Ù.
//
// @param msg Ãâ·ÂÇÒ ¸Þ½ÃÁö
//
function jsSystemError(msg) {
	js_msg("½Ã½ºÅÛ ¿À·ù", msg);
}

//
// ÀÚ¹Ù½ºÅ©¸³Æ® ¸Þ½ÃÁö¸¦ Ãâ·Â ÇÔ¼ö
//
// @param errType ¿À·ù Á¾·ù
// @param msg Ãâ·ÂÇÒ ¸Þ½ÃÁö
//
function js_msg(errType, msg) {
	//alert(errType + ":\n\n" + msg);
	alert(msg);
}

//
// »èÁ¦È®ÀÎ
//
function checkDelete() {
    //var val1 = confirm("È®ÀÎ:\n\nÁ¤¸» »èÁ¦ÇÏ°Ú½À´Ï±î?");
    var val1 = confirm("Á¤¸» »èÁ¦ÇÏ°Ú½À´Ï±î?");
    return val1;
}

//
// º¯°æ È®ÀÎ
//
function checkModify() {
	//var val1 = confirm("È®ÀÎ:\n\nº¯°æÇÏ½Ã°Ú½À´Ï±î?");
	var val1 = confirm("º¯°æÇÏ½Ã°Ú½À´Ï±î?");
	return val1;
}


//
// ÇÑ±Û ¿©ºÎ È®ÀÎ
//
function isHangul(str) {
	var len = str.length;
	for (var i = 0; i < len; i++) {
		if (str.charCodeAt(i) != 32 &&
			(str.charCodeAt(i) < 44032 || str.charCodeAt(i) > 55191)) {
				return true;
		}
	}
	return false;
}

//
// ¼ýÀÚ ¿©ºÎ È®ÀÎ
//
function isNumber1(str) {
	if(isSpace(str)) return false;
	var rgNum = /\d/;
	if(!rgNum.test(str)) {
		return false;
	}
	return true;
}

//
//	¼ýÀÚ ÀÔ·ÂÀ» °ËÁõÇÑ´Ù.
//
function isNumber( srcNumeric )
{
	if ( srcNumeric.Number == NaN ) return false;
	var tmpChar;

	for( nIndex = 0; nIndex < srcNumeric.length; nIndex++ )
	{
		tmpChar = srcNumeric.charAt( nIndex );

		if ( tmpChar < '0' || tmpChar > '9' ) { return false; }
	}

	return true;
}

function isSpace(str) {
	if(str.indexOf(" ") != -1) {
		return true;
	}
	return false;
}

//
// ÀÌ¸ÞÀÏ È®ÀÎ
//
function isEmail(str) {
	var rgEmail = /^[\w_-]+(\.[\w_-]+)*@[\w_-]+(\.[\w_-]+)*\.\w{2,3}$/i
	if(rgEmail.test(str)) return true;
	return false;
}

//
// ºó°ø¹é »èÁ¦
//
function removeSpace(str) {
	var s = str;
	if(s.indexOf(" ") != -1) {
		s = s.replace(/\s/gi, "" );
	}
	return s;
}

function isNull(str) {
	if(str == null || str.length == 0 || removeSpace(str) == "" || removeSpace(str) == " ") {
		return true;
	}
	return false;
}

function isFormValidFile(obj, file_ext, msg) {
	if(!isFormNotNull(obj, msg)) return false;
	if(obj.value.lastIndexOf(file_ext) < 0) {
		jsMessage(msg);
		return false;
	}
	return true
}

function isFormText(obj, msg) {
	return isFormNotNull(obj, msg);
}

function isFormNumber(obj, msg) {
	if(!isFormNotNull(obj, msg)) return false;
	else if(!isNumber(obj.value)) {
			jsMessage(msg + " ¼ýÀÚ·Î¸¸ ÀÔ·ÂÇÏ½Ê½Ã¿À");
			obj.focus();
			return false;
	}
	return true;
}


//
// ÁöÁ¤ÇÑ ¹®ÀÚ¿­ÀÌ ³¯Â¥ÀÎÁö¸¦ È®ÀÎÇÑ´Ù. ¿©±â¿¡¼­´Â ³¯Â¥ Çü½ÄÀ»
// yyyy-MM-dd ·Î °¡Á¤ÇÑ´Ù.
//
// @param str È®ÀÎÇÒ ¹®ÀÚ¿­
//
function isDate(str) {
	var rgDateFormat = /^\d{4}-\d{2}-\d{2}$/g;
	if(!rgDateFormat.test(str)) return false;
	else {
		var yearStr = str.substring(0,4);
		var monthStr = str.substring(5,7);
		var dayStr = str.substring(8,10);
		if(yearStr < 1900 || yearStr > 2069) return false;
		if(monthStr < 1 || monthStr > 12) return false;
		if(dayStr < 1 || dayStr > 31) return false;
		return true;
	}
}




// ¶óµð¿À ¼±ÅÃ È®ÀÎ
function isRadio(obj) {
	var flag = false;
	if (obj.length == 0) {
		flag = obj.checked;
	} else {
    	for (var i = 0; i < obj.length; i++) {
			if ((flag = obj[i].checked)) {
				break;
			}
		}
	}
	return flag;
}

// ±ÛÀÚÀÇ ±æÀÌ È®ÀÎ (ÀÔ·Â½Ã)
// 
// @param chkObj È®ÀÎ °´Ã¼
// @param maxlength ÃÖ´ë±æÀÌ
//
function str_chkByte(chkObj,maxlength)
{

   var str     = chkObj.value; 
   var strlength = str.length;

   var chklength     = 0;

   for(var i=0; i< strlength; i++) {
      chkchar= str.charAt(i);

      if (escape(chkchar).length > 4) {
         chklength += 2;
      } else {
         chklength++;
      }
   }   
   if (chklength >maxlength) {
		return false;
   } else {
		return true;
   }
}

//³¯Â¥¸¦ ºñ±³ÇÑ´Ù
//
// @param date1 ³¯Â¥1
// @param date2 ³¯Â¥2
//
 function compare_date(date1, date2) {
	date1=date1.value.split("-"); 
	date2=date2.value.split("-"); 

	date1=new Date(date1[0], date1[1], date1[2]).getTime(); 
	date2=new Date(date2[0] ,date2[1], date2[2]).getTime(); 

	var gap = (date2-date1) /  (1000*60*60*24); //Å¸ÀÓ½ºÅÆÇÁÀÇ Â÷ÀÌ¸¦ ÇÏ·ç¿¡ ÇØ´çÇÏ´Â °ªÀ¸·Î ³ª´® 

	return gap; 
 }

//	---------------------------------------- ALERT ÀÚµ¿  ----------------------------------------	//
// ¸Þ¼¼Áö±îÁö ÀÚµ¿ Ãâ·Â ÇÔ¼ö.																					//
//	»ç¿ëÀÚ »çÀÌÆ®¿¡¼­´Â À§ÀÇ ÇÔ¼ö¸¦ »ç¿ëÇÑ´Ù.																//
//	---------------------------------------- ALERT ÀÚµ¿  ----------------------------------------	//
function isFormNotNull(obj, msg) {
	if(isNull(obj.value)) {
		jsMessage(msg + " ÀÔ·ÂÇÏ½Ê½Ã¿À.");
		obj.focus();
		return false;
	}
	return true;
}


// ±ÛÀÚÀÇ ±æÀÌ È®ÀÎ (ÀÔ·Â½Ã)
// 
// @param chkObj È®ÀÎ °´Ã¼
// @param maxlength ÃÖ´ë±æÀÌ
// @param msg ¸Þ¼¼Áö
//
function isLength(chkObj, maxlength, msg) {
	if (str_chkByte(chkObj,maxlength)) {
			return true;
	} else {
			jsMessage(msg + " ÃÖ´ëÀÔ·ÂÅ©±â ÃÊ°ú");
			return false;
	}
}

//
// Æû¿¡¼­ ÁöÁ¤ÇÑ °´Ã¼°¡ ³¯Â¥ÀÎÁö¸¦ È®ÀÎÇÑ´Ù.
//
// @param obj È®ÀÎÇÒ °´Ã¼
// @param msg ¿À·ù½Ã Ãâ·ÂÇÒ °´Ã¼ ÀÌ¸§
//
function isFormDate(obj, msg) {
	if(!isFormNotNull(obj, msg)) {
		return false;
	}else if(!isDate(obj.value)) {
			jsMessage(msg + " ³¯Â¥ Çü½Ä¿¡ ¸Â°Ô ÀÔ·ÂÇÏ½Ê½Ã¿À.(¿¹)2007-04-03");
			obj.focus();
			return false;
	}
	return true;
}

//
// Æû¿¡¼­ ¶óµð¿À ¹öÆ°À» ¼±ÅÃÇß´ÂÁö¸¦ È®ÀÎÇÑ´Ù.
//
// @param obj È®ÀÎÇÒ °´Ã¼
// @param msg ¿À·ù½Ã Ãâ·ÂÇÒ °´Ã¼ ÀÌ¸§
//
function isFormRadio(obj, msg) {
	var flag = isRadio(obj);
  	if (!flag) {
		jsMessage(msg + " ¼±ÅÃÇÏ½Ê½Ã¿À.");
		obj[0].focus();
		return false;
	}
	return true;
}

//
// Æû¿¡¼­ Ã¼Å©¹Ú½º¸¦ ¼±ÅÃÇß´ÂÁö¸¦ È®ÀÎÇÑ´Ù.
//
// @param obj È®ÀÎÇÒ °´Ã¼
// @param msg ¿À·ù½Ã Ãâ·ÂÇÒ °´Ã¼ ÀÌ¸§
//
function isFormCheckBox(obj, msg) {
	var flag = false;
	if (obj.length === undefined) {
		flag = obj.checked;
	}
	else {
    	for (var i = 0; i < obj.length; i++)
			if ((flag = obj[i].checked))
				break;
	}
  	if (!flag) {
		jsMessage(msg + " ¼±ÅÃÇÏ½Ê½Ã¿À.");
		if (obj.length === undefined) {
			obj.focus();
		}
		else {
			obj[0].focus();
		}
		return false;
	}
	return true;
}


//
// Æû¿¡¼­ SELECT¸¦ ¼±ÅÃÇß´ÂÁö¸¦ È®ÀÎÇÑ´Ù.
//
// @param obj È®ÀÎÇÒ °´Ã¼
// @param msg ¿À·ù½Ã Ãâ·ÂÇÒ °´Ã¼ ÀÌ¸§
//
function isFormSelect(obj, msg) {
	if (obj.selectedIndex == -1 ||
		isNull(obj.options[obj.selectedIndex].value)) {
		jsMessage(msg +" ¼±ÅÃÇÏ½Ê½Ã¿À.");
		obj.focus();
		return false;
	}
	return true;
}

//
//	¹®ÀÚ ÀÔ·ÂÀ» °ËÁõÇÑ´Ù.
//
function checkString( srcString ){
	var tmpChar;
	for( nIndex = 0; nIndex < srcString.length; nIndex++ ){
		tmpChar = srcString.charAt( nIndex );
		if ( ! ( (tmpChar < '0' || tmpChar > '9') && (tmpChar < 'a' || tmpChar > 'z') && (tmpChar < 'A' || tmpChar > 'Z') ) ) { return false; }
	}
	return true;
}

//
// ¹®ÀÚ¿­ ±æÀÌ È®ÀÎ
//
function isStringLen(obj, len, msg) {
	if(!isFormNotNull(obj, msg)) return false;
	if(obj.length != len) {
		jsMessage(msg + " ¿Ã¹Ù¸£°Ô ÀÔ·ÂÇÏ½Ê½Ã¿À.");
		obj.focus();
		return false;
	}
	return true;
}

//
// ¹®ÀÚ¿­ ±æÀÌ È®ÀÎ
//
function isFormMinStringLen(obj, minlen, msg) {
	if(!isFormNotNull(obj, msg)) return false;
	if(obj.value.length < minlen) {
		//jsMessage(msg + " ¿Ã¹Ù¸£°Ô ÀÔ·ÂÇÏ½Ê½Ã¿À.");
		jsMessage(msg + " " + minlen +"ÀÚ ÀÌ»ó ÀÔ·ÂÇØÁÖ¼¼¿ä." );
		obj.focus();
		return false;
	}
	//else alert(obj.value.length);
	return true;
}


//
// Á¤¼ö ±æÀÌ È®ÀÎ
//
function isFormNumericLen(obj, len, msg) {
	if(!isFormNotNull(obj, msg)) return false;
	if(!isFormNumber(obj, msg)) return false;
	if(obj.value.length != len) {
		jsMessage(msg + " ¿Ã¹Ù¸£°Ô ÀÔ·ÂÇÏ½Ê½Ã¿À.");
		obj.focus();
		return false;
	}
	return true;
}

//
// Á¤¼ö ±æÀÌ È®ÀÎ
//
function isFormMaxNumericLen(obj, minlen, maxlen, msg) {
	if(!isFormNotNull(obj, msg)) return false;
	if(!isFormNumber(obj, msg)) return false;
	if(obj.value.length < minlen || obj.value.length > maxlen) {
		jsMessage(msg + " ¿Ã¹Ù¸£°Ô ÀÔ·ÂÇÏ½Ê½Ã¿À.");
		obj.focus();
		return false;
	}
	return true;
}

function isFormEmail(obj, msg) {
	if(!isEmail(obj.value)) {
		jsMessage(msg + " ¿Ã¹Ù¸£°Ô ÀÔ·ÂÇÏ½Ê½Ã¿À.");
		obj.focus();
		return false;
	}
	return true;
}

function isFormSepEmail(obj1, obj2, msg) {
	if(!isFormMinStringLen(obj1, 2, msg)) return false;
	if(!isFormMinStringLen(obj2, 6, msg)) return false;
	if(!isEmail(obj1.value + "@" + obj2.value)) {
		jsMessage(msg + " ¿Ã¹Ù¸£°Ô ÀÔ·ÂÇÏ½Ê½Ã¿À.");
		obj1.focus();
		return false;
	}
	return true;
}

function isFormSepPhone(obj1, obj2, obj3, msg) {
	if(!isFormMinStringLen(obj1, 2, msg)) return false;
	if(!isFormMinStringLen(obj2, 3, msg)) return false;
	if(!isFormMinStringLen(obj3, 4, msg)) return false;
	if(!isNumber(obj1.value+obj2.value+obj3.value) && obj1.value.substr(0,1)!=0) {
		jsMessage("¿Ã¹Ù¸¥ ÀüÈ­¹øÈ£°¡ ¾Æ´Õ´Ï´Ù.");
		return false;
	}
	return true;
}

//
// ÁÖ¹Îµî·Ï¹øÈ£ È®ÀÎ
//
function isFormResidenceNo(obj1, obj2, msg) {
	if(!isFormNumericLen(obj1, 6, msg)) return false;
	if(!isFormNumericLen(obj2, 7, msg)) return false;

	var jumin1 = obj1.value;
	var jumin2 = obj2.value;

	if(!(jumin2.charAt(0) == '1' || jumin2.charAt(0)  == '2' || jumin2.charAt(0) == '3' || jumin2.charAt(0) == '4')) {
		jsMessage("¿Ã¹Ù¸¥ ÁÖ¹Îµî·Ï¹øÈ£°¡ ¾Æ´Õ´Ï´Ù.");
		obj1.focus();
		return false;
	}

	var sum = 0;
	sum += jumin1.charAt(0)*2;
	sum += jumin1.charAt(1)*3;
	sum += jumin1.charAt(2)*4;
	sum += jumin1.charAt(3)*5;
	sum += jumin1.charAt(4)*6;
	sum += jumin1.charAt(5)*7;

	sum += jumin2.charAt(0)*8;
	sum += jumin2.charAt(1)*9;
	sum += jumin2.charAt(2)*2;
	sum += jumin2.charAt(3)*3;
	sum += jumin2.charAt(4)*4;
	sum += jumin2.charAt(5)*5;

	var check = (11 - sum%11)%10;

	if(jumin2.charAt(6) != check) {
		jsMessage("¿Ã¹Ù¸¥ ÁÖ¹Îµî·Ï¹øÈ£°¡ ¾Æ´Õ´Ï´Ù.");
		obj1.focus();
		return false;
	}
	return true;
}

//
// ÀÌ¹ÌÁö ÆÄÀÏ ÀÎÁö ¿©ºÎ¸¦ ¸®ÅÏ
//
// @param f ÆÄÀÏÀÌ¸§
//
function isImgFile(f) {
	f = f.replace(/\\/g, "\\\\");
	var ext = f.substring(f.lastIndexOf(".")+1).toUpperCase();
	return (ext == "JPG" || ext=="JPEG" || ext=="GIF" || ext=="PNG")?true:false;
}

function isFormImgFile(obj, msg) {
	if(!isFormNotNull(obj, msg)) return false;
	if(!isImgFile(obj.value)) {
		jsMessage(msg + " ÀÌ¹ÌÁö¸¸ ¼±ÅÃÇÏ½Ê½Ã¿À.");
		return false;
	}
	return true;
}

//
// ±â°£À» È®ÀÎÇÑ´Ù.
//
// @param start_date ½ÃÀÛÀÏ
// @param end_date Á¾·áÀÏ
//
function isCompareDate(start_date, end_date) {
	var gap = compare_date(start_date, end_date);
	if (gap <= 0) { 
		jsMessage( "±â°£ ¼³Á¤ÀÌ Àß¸øµÇ¾ú½À´Ï´Ù."); 
		return false;
	}
	return true; 
}
