function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function isEmpty(input) {
    if (input.value == null || input.value.replace(/ /gi,"") == "") {
        return true;
    }
    return false;
}

function CheckStrLen(maxlen , field , messe) {

	   var temp; //들어오는 문자값...
	   var msglen = maxlen * 2;
	   var value = field.value;
	   l =  field.value.length; 
	   tmpstr = "";

	   for( x = 0 ; x < value.length ; x++) {
	     if (field.value.substring(x , x+1) == '\n') {
				msglen -= 2;
		  }
	   }

	   if (l == 0) {
		   value = maxlen * 2;
	   } else {
	    for(k = 0 ; k < l ; k++) {
	     temp = value.charAt(k);
		 if (escape(temp).length > 4) {
		   msglen -= 2;
		 } else {
			msglen--;
		 }
		    if(msglen < 0) {
			   alert(messe);
		       field.value = tmpstr;
			   break;
			} else{
			tmpstr += temp; 
			}
		 }
	   }
}

//숫자만 입력가능
function number_Check(str) {
	if(isNaN(str.value)) {
		alert("숫자만 입력 가능합니다.");		
		str.focus();
	}
}

//숫자, - 만 입력가능
function number_Check_(str) {
	
	var strStr = str.value.replace(/-/g, "");
	
	if(isNaN(strStr)) {
		alert("숫자, - 만 입력 가능합니다.");
		str.value = str.value.substring(0, str.value.length-1);
		str.focus();
	}
}

//숫자, . 만 입력가능
function number_Check_dot(str) {
	
	var strStr = str.value.replace(/./g, "");
	
	if(isNaN(strStr)) {
		alert("숫자, - 만 입력 가능합니다.");
		str.focus();
	}
}

String.prototype.numberFormat=function() { 
	return this.replace(/(\d)(?=(?:\d{3})+(?!\d))/g,'$1,'); 
}

//숫자만 입력가능2(money) ',' 자리수 표시
function number_Check2(str) {

	var strStr = str.value.replace(/,/g, "");

	if(isNaN(strStr)) {
		alert("숫자만 입력 가능합니다.");
		str.value ="";
		str.focus();
	}else{
		if(strStr.substring(0,1) == 0){
			if(strStr.length == 1){
				str.value = 0;
			}else{
				str.value = strStr.substring(1,strStr.length);
			}
		}else{
			if (strStr.toString().indexOf(".") < 0) {    // 정수가 나왔으면..
				str.value = strStr.toString().numberFormat();
			} else {             // 소수점이 있으면 . 은 붙이지 않는다
				str.value = strStr.substring(0, strStr.indexOf(".")).numberFormat() + strStr.substring(strStr.indexOf("."));
			}	
		}
	}
}

/**
 * 금액 자리수에 , 표시
 * @param str
 * @return
 */
function number_(str) {

	var strStr = str.replace(/,/g, "");
	
	if(strStr == null) strStr = 0;
	
	if(strStr.substring(0,1) == 0){
		if(strStr.length == 1){
			strStr = 0;
		}else{
			strStr = strStr.substring(1,strStr.length);
		}
		if(strStr.length == 0) strStr = 0;
	}else{
		if (strStr.toString().indexOf(".") < 0) {    // 정수가 나왔으면..
			strStr = strStr.toString().numberFormat();
		} else {             // 소수점이 있으면 . 은 붙이지 않는다
			strStr = strStr.substring(0, strStr.indexOf(".")).numberFormat() + strStr.substring(strStr.indexOf("."));
		}	
	}

	document.write(strStr);
}

function deletePage(url) {
	if (confirm("삭제하시겠습니까?", "" )) {
		location.href=url;
	}
}

function openWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function checkAll(){
	try{
		var cnt = parseInt(document.getElementsByName("mailCodeList").length);
		if(document.getElementById("allCheck").checked){
			for(var i=0; i<cnt; i++){
				if(document.getElementsByName("mailCodeList")[i].checked == false)
					document.getElementsByName("mailCodeList")[i].checked = true;
			}
		} else {
			for(var j=0; j<cnt; j++){
				if(document.getElementsByName("mailCodeList")[j].checked == true)
					document.getElementsByName("mailCodeList")[j].checked = false;
			}
		}
	} catch(e){
		alert("메일링 서비스 전체선택 에러:"+e);
	}
}

/**
 * 삭제 Confirm
 * @param url, pmt
 */
function Del(url, pmt){
	if(confirm("삭제하시겠습니까?")){
		location.href=url+"?"+pmt;
	}		
}
		
/**
 * 밀리세컨드값을 받아 새 게시물인지 체크
 * 현재와 어제의 시간안에 속하면 false, 속하지 않으면 true
 * @param timeInMillis
 * @return
 */
function isNewRecord(timeInMillis) {
	var today		= new Date();
	today.setHours(23, 59, 59, 00);
	
	var yesterday	= new Date();
	yesterday.setDate(yesterday.getDate() - 1);
	yesterday.setHours(23, 59, 59, 00);
	
	var recordDate = new Date(new Number(timeInMillis));
	
	if (yesterday < recordDate && recordDate <= today) {
		return true;
	} else {
		return false;
	}
}

function isNewRecord(timeInMillis, period) {
	var today		= new Date();
	today.setHours(23, 59, 59, 00);
	
	if (period < 1) {
		period = 1;
	}
	var yesterday	= new Date();
	yesterday.setDate(yesterday.getDate() - period);
	yesterday.setHours(23, 59, 59, 00);
	
	var recordDate = new Date(new Number(timeInMillis));
	
	if (yesterday < recordDate && recordDate <= today) {
		return true;
	} else {
		return false;
	}
}


/**
 * 새로운 날짜값이 현재 날짜를 넘어가는지 체크
 * 넘어가면 true, 넘어가지 않으면 false
 * @param recordDate
 * @return
 */
function isOverToday(newDate) {
	if (!checkDateFormat(newDate)) {
		alert("날짜를 0000-00-00 형태로 입력해 주십시오");
		return true;
	}
	
	var arrDate		= newDate.split("-");
	var updateDate	= new Date(arrDate[0], arrDate[1] - 1, arrDate[2]);
	var today		= new Date();
	if (updateDate > today) {
		return true;
	} else {
		return false;
	}
}


/**
 * 날짜 정규식 xxxx-xx-xx
 * @param value
 * @return
 */
function checkDateFormat(value) {
	
	var inputDate = value;
	var regex = /^\d{4}-\d{2}-\d{2}$/;
	
	if (!regex.test(inputDate)) {
	    return false;
	}
	
	return true;
}

/**
 * 날짜 정규식 xxxxxxxx
 * @param value
 * @return
 */
function checkDateFormat2(value) {
	
	var inputDate = value;
	var regex = /^\d{8}$/;
	
	if (!regex.test(inputDate)) {
	    return false;
	}
	
	return true;
}

/**
 * 날짜 정규식 xxxx.xx.xx
 * @param value
 * @return
 */
function checkDateFormat3(value) {
	
	var inputDate = value;
	var regex = /^\d{4}\.\d{2}\.\d{2}$/;
	
	if (!regex.test(inputDate)) {
	    return false;
	}
	
	return true;
}

function isValidMonth(mm) {
    var m = parseInt(mm,10);
    return (m >= 1 && m <= 12);
}

function isValidDay(yyyy, mm, dd) {
    var m = parseInt(mm,10) - 1;
    var d = parseInt(dd,10);

    var end = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
    if ((yyyy % 4 == 0 && yyyy % 100 != 0) || yyyy % 400 == 0) {
        end[1] = 29;
    }

    return (d >= 1 && d <= end[m]);
}

/**
 * 날짜 유효기간 검사
 * 유효 (true), 유효하지 않음 (false)
 */
function checkDateValidation(valueArr) {
	if (valueArr.length < 3 || valueArr.length > 3) {
		return false;
	}
	
	var year = valueArr[0];
	var month = valueArr[1];
	var day = valueArr[2];
	
	if (parseInt(year,10) >= 1900  && isValidMonth(month) &&
		isValidDay(year, month, day) ) {
		return true;
	}

	return false;
		
}

/**
 * 날짜 유효기간 검사
 * 유효 (true), 유효하지 않음 (false)
 */
function checkDateValidation2(value) {
	if (value.length < 8 || value.length > 8) {
		return false;
	}
	
	var year = value.substring(0, 4);
	var month = value.substring(4, 6);
	var day = value.substring(6, 8);
	
	if (parseInt(year,10) >= 1900  && isValidMonth(month) &&
		isValidDay(year, month, day) ) {
		return true;
	}

	return false;
}

/**
 * 수정일 체크
 * @param form
 * @return
 */		
function updateFormCheck(form) {
	if (isEmpty(form.newUpdateDate)) {
		alert("수정일 입력해 주십시오");
		return false;
	}
	if (!checkDateFormat(form.newUpdateDate.value)) {
		alert("수정일을 0000-00-00 형태로 입력해 주십시오");
		form.newUpdateDate.value = "";
		form.newUpdateDate.focus();
		return false;
	}

	if (isOverToday(form.newUpdateDate.value)) {
		alert("현재날짜 이후로는 수정이 불가능합니다.");
		return false;
	}
	
	return true;
}

/**
 * 문자열 길이 체크후 반환
 * @param data
 * @return
 */
function LengthCheck(data) {
	var count = 0;
	for ( var i=0; i < data.length; i++ ) {
		if( data.charCodeAt(i) < 127 )
			count++;
		else
			count = count + 2;
	}
	
	return count;
}

function isImageFile(attachfile, form) {
	
//	if (attachfile.value.match(/.exe|.jsp|.php|.html|.htm|.asp|.aspx|.py|.cgi|.js|.bat|.war|.css|.com|.cab|.php3|.pl|.java|.class$/i)) {
//		alert("업로드 할 수 없는 파일포멧입니다.");
//		if (navigator.appName.match(/Microsoft Internet Explorer$/i)) {		// IE
//			attachfile.select();
//			document.selection.clear();
//		} else {															// Netscape 
//			form.reset();
//		}
//		
//	}
	
	var str_dotlocation, str_ext, str_low;
	str_value = attachfile.value;
	
	str_low = str_value.toLowerCase(str_value);
	str_dotlocation = str_low.lastIndexOf(".");
	str_ext = str_low.substring(str_dotlocation + 1);

	switch(str_ext) {
	case "jsp":
	case "exe":
	case "php":
	case "html":
	case "htm":
	case "asp":
	case "aspx":
	case "py":
	case "cgi":
	case "js":
	case "bat":
	case "war":
	case "css":
	case "com":
	case "cab":
	case "php3":
	case "pl":
	case "java":
	case "class":
		alert("업로드 할 수 없는 파일포멧입니다.");
		if (navigator.appName.match(/Microsoft Internet Explorer$/i)) {		// IE
			attachfile.select();
			document.selection.clear();
		} else {															// Netscape 
			form.reset();
		}
		break;
	}
}

function isNull(text) {
	if (text == null)
		return true;

	var result = text.replace(/(^\s*)|(\s*$)/g, "");

	if (result)
		return false;
	else
		return true;
}

function notLoginRedirect() {
	alert("로그인 후 이용하실 수 있습니다.");
	var referrer = location.href;
	location.href = "/insertUiulForm.chem?referrer=" + encodeURIComponent(referrer);
}