//값비교후 속하는 지 검사하는 함수
function wordCheck(tempstr, str){
	for (i=0; i<str.length;i++)	{
		if (tempstr.indexOf(str.substring(i, i+1)) == -1){
			return false;
			break;
		}
	}
	return true;
}

//문자열의 공백을 제외한 길이
String.prototype.strLen = function(){var val = this; var nval = "";nval = val.replace(/ /g, "");return nval.length;}
//숫자값만 리턴 (.- 포함)
String.prototype.toNumber = function () {var ret = this.replace(/[^0-9\.-]/g,""); return ret;}
//오로지 숫자만 리턴
String.prototype.toOnlyNumber = function () {var ret = this.replace(/[^0-9]/g,""); return ret;}
//콤마 붙이기
String.prototype.comma = function(){return this.replace(/(\d)(?=(?:\d{3})+(?!\d))/g,'$1,');}
//값이 숫자인지 확인
String.prototype.isNumber = function(){return wordCheck("0123456789", this);}
//숫자, 영문만 가능하도록 하는 함수
String.prototype.isString = function(){return wordCheck("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ", this);}
//영문소문자만 가능한 함수
String.prototype.isLower = function(){return wordCheck("abcdefghijklmnopqrstuvwxyz", this);}
String.prototype.isUpper = function(){return wordCheck("ABCDEFGHIJKLMNOPQRSTUVWXYZ", this);}
//도메인 제거한 URL 값 리턴하기
String.prototype.DomainRemoveURL = function(){var ret = this.replace("http://"+document.domain, "");return ret;}

// 숫자를 3단위로 콤마 붙이기
/*
function number_format(str){
	var ret = str.replace(/(\d)(?=(?:\d{3})+(?!\d))/g,'$1,');
	return ret;
}
*/
//휴대전화 번호 정규식
String.prototype.isMobile = function(){
	var re=/(010|011|016|017|018|019)-(\d{3,4})-(\d{4})/ig;
	var str = this;
	if (re.test(str)){return true;}
	else {return false;}
}
// 일반전화 번호 정규식
String.prototype.isPhone = function(){
	var re=/^0(\d{1,2})-(\d{3,4})-(\d{4})/ig;
	var str = this;
	if (re.test(str)){return true;}
	else {return false;}
}

// 메일주소가 올바른지 검사
String.prototype.isMail = function(){
	var re=/^[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*\.[a-zA-Z]{2,3}$/i;
	var str = this;
	if (re.test(str)){return true;}
	else {return false;}
}
//띄어쓰기가 있는 지 검사하는 함수
String.prototype.checkSpace = function(){
	if(this.search(/\s/) != -1){return true;}
	else {return false;}
}
//한글 검색
String.prototype.isHangul = function(){
	var len;
	var s = this;
	len = s.length;
	for (var i = 0; i < len; i++)  {
		if (s.charCodeAt(i) != 32 && (s.charCodeAt(i) < 44032 || s.charCodeAt(i) > 55203))
		return false;
	}
	return true;
}
//첨부파일이 이미지 형식인지 검사
String.prototype.isMpd = function(){
	var filename = this.toLowerCase();
	filename = filename.substr(filename.length - 5);
	if (filename.length == 0){
		return false;	
	}
	else if (filename.match(/\.mpd$/i) != null){
		return true
	} else {
		return false;
	}	
}

//첨부파일이 xls 형식인지 검사
String.prototype.isXls = function(){
	var filename = this.toLowerCase();
	filename = filename.substr(filename.length - 5);
	if (filename.length == 0){
		return false;	
	}
	else if (filename.match(/\.xls$/i) != null){
		return true
	} else {
		return false;
	}	
}


//첨부파일이 이미지 형식인지 검사
String.prototype.isImage = function(){
	var filename = this.toLowerCase();
	filename = filename.substr(filename.length - 5);
	if (filename.length == 0){
		return false;	
	}
	else if (filename.match(/\.(gif|jpg|bmp|png)$/i) != null){
		return true
	} else {
		return false;
	}	
}

//첨부파일이 이미지 또는 플래시 형식인지 검사
String.prototype.isImageFlash = function(){
	var filename = this.toLowerCase();
	filename = filename.substr(filename.length - 5);
	if (filename.length == 0){
		return false;	
	}
	else if (filename.match(/\.(gif|jpg|bmp|png|swf)$/i) != null){
		return true
	} else {
		return false;
	}	
}


//숫자만 입력받는 함수 - 값 허용
function minusNumber(obj){
	if (event.keyCode == 13){
		return false;
	}
	else if ((event.keyCode == 45) || (event.keyCode >= 48 && event.keyCode <= 57)) {
		return true;
	} 
	else {
		event.returnValue = false;
	}
}

//숫자만 입력받는 함수 (양수) - 값 허용 안함
function plusNumber(obj){
	if (event.keyCode == 13){return false;}
	else if (event.keyCode >= 48 && event.keyCode <= 57) {return true;} 
	else {event.returnValue = false;}
}

//개체가 존재하면 true 아니면 false를 리턴
function isObject(obj) {
	return ((typeof(obj) == "object") ? true : false);
}


function checkedCount(obj){
	var num = 0;
	if (!isObject(obj)){
		num = 0;	
	} else {
		if (obj.length > 1){
			for (var i=0; i<obj.length; i++){
				if (obj[i].checked){
					num++;
				}
			}
		} else {
			if (obj.checked){
				num = 1;
			} else {
				num = 0;
			}
		}
	}
	return num;
}
//체크박스 명으로 모두체크
function allChecked(chkname, flag){
	if (!isObject(chkname)){
		return;	
	}else{
		if (chkname.length > 1){
			for (var i=0; i<chkname.length; i++){
				chkname[i].checked = flag;	
			}
		}else{
			chkname.checked = flag;	
		}
	}
}
//폼안에 있는 것 모두 체크
function allChk(frm, chk){
	for (var i=0; i<frm.elements.length; i++){
		if (frm.elements[i].type == "checkbox"){
			frm.elements[i].checked = chk;
		}
	}
}
//ID값으로 모두 체크
function subChk(vidx, chk){
	var obj = document.getElementsByName(vidx);
	if (obj.length >= 1){
		for (var i=0; i<obj.length; i++){
			obj[i].checked = chk;
		}
	}	
}

function printProgress(){ //파일업로드시 가장 먼저 호출
	var divtag = '<div id="div_frmnUp" style="HEIGHT:90px;WIDTH:360px;POSITION:absolute;display:none;FILTER:alpha(opacity=80);"><IFRAME frameBorder="0" width="360" height="90" marginHeight="0" marginWidth="0" name="frmnUp" scrolling="no" src="about:blank"></IFRAME></div>';
	document.write(divtag);
}

function showProgress(uniqID){ //파일업로드 진행상태 보여줌
	if (isObject(document.getElementById("div_frmnUp"))){
		var obj = document.getElementById("div_frmnUp");
		obj.style.display = "block";
		obj.style.top = document.body.scrollTop + ((document.body.scrollHeight - document.body.scrollTop) / 2) - 30;
		obj.style.left = (document.body.scrollWidth / 2) - 160;
		window.frmnUp.location.href = "/include/uploading.asp?ID="+uniqID;
	}
	return uniqID;
}

function hideProgress(){
	if (isObject(document.getElementById("div_frmnUp"))){
		document.getElementById("div_frmnUp").style.display = "none";
	}
}

function img_width_check(){
	var imgwidth = 650;
	var resizecount = document.boximgs.length;
	for(i = 0; i < resizecount; i++){ 
		if (document.boximgs[i].width > imgwidth) {
			document.boximgs[i].width = imgwidth;
		}
	}
}
/*
function viewDelivery(ord, ct, dvn){
	centerWin("/provider/delivery.asp?od="+ ord +"&ct="+ ct + "&dvn="+ dvn, "delivery", "width=800,height=600,menubar=no,toolbar=no,scrollbars=yes");
}
*/
function viewDelivery(ct){
	centerWin("/mypage/delivery.asp?ct="+ ct, "delivery", "width=800,height=600,menubar=no,toolbar=no,scrollbars=yes");
}

//이미지이면 이미지, 플래시면 플래시 출력
function echoFile(strSrc, strW, strH)
{
	var ext = strSrc.toLowerCase().substring(strSrc.length - 3);
	if (ext == "jpg" || ext == "png" || ext == "bmp" || ext == "gif")
	{document.write("<img src=\""+ strSrc +"\" width=\""+ strW +"\" height=\""+ strH +"\" />");}
	else if (ext == "swf")	{flash_write(strSrc, strW, strH);}
}

//플래시 출력하기
function flashstring(strSrc, strW, strH)
{	
	var str = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="'+strW+'" height="'+strH+'" id="flv" ALIGN="">\n';
	str += '<PARAM NAME=movie VALUE="'+strSrc+'">\n';
	str += '<PARAM NAME=menu VALUE=false>\n';
	str += '<PARAM NAME=quality VALUE=high>\n';
	str += '<PARAM NAME=wmode VALUE=transparent>\n';
	str += '<PARAM NAME=bgcolor VALUE=#CCCCCC>\n';
	str += '<EMBED src="'+strSrc+'" menu=false quality=high wmode=transparent bgcolor=#CCCCCC  WIDTH="'+strW+'" HEIGHT="'+strH+'" NAME="company_flash_sub_v1" ALIGN="" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED>\n';
	str += '</OBJECT>';
	return str;
}

function flash_write(strSrc, strW, strH){
	document.write(flashstring(strSrc, strW, strH));
}

//팝업창 가운데로 띄우기
function centerWin(url, winname, features) {
	features = features.toLowerCase();
	len = features.length;
	sumchar= "";
	for (i=1; i <= len; i++){
		onechar = features.substr(i-1, 1); 
		if (onechar != " ") sumchar += onechar;
	} 
	features = sumchar;  
	sp = new Array(); 
	sp = features.split(',', 10);
	splen = sp.length;
	for (i=0; i < splen; i++){
		if (sp[i].indexOf("width=") == 0){
			width = Number(sp[i].substring(6));}
		else if (sp[i].indexOf("height=") == 0){
			height = Number(sp[i].substring(7));}
	} 
	sleft = (screen.width - width) / 2; 
	sstop = (screen.height - height) / 2; 
	features = features + ",left=" + sleft + ",top=" + sstop + ",status=no,location=no";
	return window.open(url, winname, features);  
}

function allSelect(lst){
	for (var i=0; i<lst.length; i++){
		lst.options[i].selected = true;
	}
}

function activeObj(obj, val){
	obj.style.background = (val == true) ? "#FFFFFF" : "#E4E1DC";
	obj.disabled = !(val);
	if (val == true) obj.focus();
}

function activeInput(obj, val){
	var ctl = document.getElementById(obj);
	activeObj(ctl, val)
}

function showHideSpan(spn){
	var ctl = document.getElementById(spn);
	ctl.style.display = ctl.style.display == "none" ? "block" : "none";
}

function setClip(val){
	window.clipboardData.setData('Text',val);
}

function kcpValueCheck(val){
	var tval = val.replace(/,/g, "");
	tval = tval.replace(/&/g, "");
	tval = tval.replace(/;/g, "");
	tval = tval.replace(/\\n/g, "");
	tval = tval.replace(/\\/g, "");
	tval = tval.replace(/\|/g, "");
	tval = tval.replace(/\'/g, "");
	tval = tval.replace(/\"/g, "");
	return tval;
}

function disactiveOS(frm, ctl, flag){
	for (var i=0; i<frm.elements.length; i++){
		if (frm.elements[i].type == "checkbox" && frm.elements[i].name==ctl){
			activeObj(frm.elements[i], flag);
		}
	}	
}

function checkedVal(ele){
	var mystr = '';
	if (!isObject(ele)){
		return '';	
	} else {
		if (ele.length > 1){
			for (var i=0; i<ele.length; i++){
				if (ele[i].checked == true){
					mystr = ele[i].value;
					break;
				}
			}
		} else {
			if (ele.checked == true){
				mystr = ele.value;
			}
		}
		return mystr;
	}
}


function elesArray(ele, joinv, op){
	var mystr = new Array();
	var arrnum = 0;
	if (!isObject(ele)){
		return '';	
	}else{
		if (ele.length > 1){
			for (var i=0; i<ele.length; i++){
				if (op == "1"){
					if (ele[i].checked == true){
						mystr[arrnum] = ele[i].value;
						arrnum++;
					}
				} else {
					mystr[arrnum] = ele[i].value;
					arrnum++;
				}
			}
		}else{
			if (op == "1"){
				if (ele.checked == true){
					mystr[0] = ele.value;
				}
			} else {
				mystr[0] = ele.value;
			}
		}
		return mystr.join(joinv);
	}
}	

// 마우스 롤오버 이미지 스크립트 시작 //
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 iframeSize (flag1, flag2){
	try{
		var ifrm = eval("parent." + window.name);
		var s_height = 15;
		var s_width = 0;
	
		if (ifrm.document.height){
			var iEl = parent.document.getElementById(ifrm.name);
			if (flag1) {iEl.style.width = ifrm.document.width + s_width + 'px';}		
			if (flag2)	{iEl.style.height = ifrm.document.height + s_height + 'px';}				
		}else if (document.all){
			var iEl = parent.document.all[ifrm.name];
			if (ifrm.document.compatMode && ifrm.document.compatMode != 'BackCompat'){
				if (flag1)	{iEl.style.width=ifrm.document.documentElement.scrollWidth + s_width + 'px';}
				if (flag2)	{iEl.style.height=ifrm.document.documentElement.scrollHeight + s_height + 'px';}				
			}else{
				if (flag1)	{iEl.style.width=ifrm.document.body.scrollWidth + s_width + 'px';}
				if (flag2)	{iEl.style.height=ifrm.document.body.scrollHeight + s_height + 'px';}				
			}
		}
	} catch (e){
	}
}


function ck_form(form)
{

	var reschk = 0;
	for (i=0;i<form.elements.length;i++){
		currEl = form.elements[i];
		if (currEl.disabled) continue;
		if (currEl.getAttribute("exp")!=null){
			if (currEl.type=="checkbox" || currEl.type=="radio"){
				if (!chkSelect(form,currEl,currEl.getAttribute("msgR"))) return false;
			} else {
				if (!chkText(currEl,currEl.value,currEl.getAttribute("msgR"))) return false;
			}
		}

		if (currEl.getAttribute("exp")=='주민등록번호'  && currEl.getAttribute("name") == 'resno[]' && currEl.value.length>0){
			reschk = 1;

		}
		if (currEl.getAttribute("option")!=null && currEl.value.length>0){
			if (!chkPatten(currEl,currEl.getAttribute("option"),currEl.getAttribute("msgO"))) return false;
		}
		if (currEl.getAttribute("minlength")!=null){
			if (!chkLength(currEl,currEl.getAttribute("minlength"))) return false;
		}
	}
	if (form.txt_repw){
		if (form.txt_pw.value!=form.txt_repw.value){
			alert("비밀번호가 일치하지 않습니다");
			form.txt_pw.value = "";
			form.txt_repw.value = "";
			return false;
		}
	}
	if (reschk && !chkResno(form)) return false;

	return true;
}


function chkLength(field,len)
{
	text = field.value;
	if (text.trim().length<len){
		alert(len + "자 이상 입력하셔야 합니다");
		field.focus();
		return false;
	}
	return true;
}

function chkText(field,text,msg)
{
	text = text.trim();
	if (text==""){
		var caption = field.parentNode.parentNode.firstChild.innerText;
		if (!field.getAttribute("exp")) field.setAttribute("exp",(caption)?caption:field.name);
		if (!msg) msg = "[" + field.getAttribute("exp") + "] 필수입력사항";
		//if (msg) msg2 += "\n\n" + msg;
		alert(msg);
		if (field.tagName!="SELECT") field.value = "";
		if (field.type!="hidden" && field.style.display!="none") field.focus();
		return false;
	}
	return true;
}

function chkSelect(form,field,msg)
{
	var ret = false;
	fieldname = eval("form.elements['"+field.name+"']");
	if (fieldname.length){
		for (j=0;j<fieldname.length;j++) if (fieldname[j].checked) ret = true;
	} else {
		if (fieldname.checked) ret = true;
	}
	if (!ret){
		if (!field.getAttribute("exp")) field.getAttribute("exp") = field.name;
		var msg2 = "[" + field.getAttribute("exp") + "] 필수선택사항";
		if (msg) msg2 += "\n\n" + msg;
		alert(msg2);
		field.focus();
		return false;
	}
	return true;
}

function chkPatten(field,patten,msg)
{
	var regNum			= /^[0-9]+$/;
	var regEmail		= /^[^"'@]+@[._a-zA-Z0-9-]+\.[a-zA-Z]+$/;
	var regUrl			= /^(http\:\/\/)*[.a-zA-Z0-9-]+\.[a-zA-Z]+$/;
	var regAlpha		= /^[a-zA-Z]+$/;
	var regHangul		= /[가-힣]/;
	var regHangulEng	= /[가-힣a-zA-Z]/;
	var regHangulOnly	= /^[가-힣]*$/;
	var regId			= /^[a-zA-Z0-9]{1}[^"']{3,9}$/;
	var regPass			= /^[a-zA-Z0-9_-]{4,12}$/;

	patten = eval(patten);
	if (!patten.test(field.value)){
		var caption = field.parentNode.parentNode.firstChild.innerText;
		if (!field.getAttribute("exp")) field.setAttribute("exp",(caption)?caption:field.name);
		var msg2 = "[" + field.getAttribute("exp") + "] 입력형식오류";
		if (msg) msg2 += "\n\n" + msg;
		alert(msg2);
		field.focus();
		return false;
	}
	return true;
}

function chkRadioSelect(form,field,val,msg)
{
	var ret = false;
	fieldname = eval("form.elements['"+field+"']");
	if (fieldname.length){
		for (j=0;j<fieldname.length;j++){
			if (fieldname[j].checked) ret = fieldname[j].value;
		}
	} else {
		if (fieldname.checked) ret = true;
	}
	if (val != ret){
		alert(msg);
		return false;
	}
	return true;
}

/// 스트링 객체에 메소드 추가 ///
String.prototype.trim = function(str) {
	str = this != window ? this : str;
	return str.replace(/^\s+/g,'').replace(/\s+$/g,'');
}

function getCookie(name){
        var arg = name + "=";
        var alen = arg.length;
        var clen=document.cookie.length;
        var i=0;
        
        while (i< clen){
                var j = i+alen;
                if(document.cookie.substring(i,j)==arg){
                        var end = document.cookie.indexOf(";",j);
                        if(end== -1) end = document.cookie.length;
                        return unescape(document.cookie.substring(j,end));
                }
	        i = document.cookie.indexOf(" ", i)+1;
		    if (i==0) break;
        }
        return null;
}

function setCookie(name, value, termtime){
	var today = new Date();
	var expires = new Date();
	expires.setTime(today.getTime() + 1000*60*60*eval(termtime));
	document.cookie = name + "=" + escape(value)+ ((expires == null)? "" : (" ; expires=" + expires.toGMTString() +"; path=/"));
}

//아이디에 값셋팅
function makeValueID(v1, obj) {
	$(obj).val(v1);
/*
	alert($(obj).val());
	alert($(obj).attr('ID'));
*/
}


function datediff(option, day1, day2){
	var d1 = new Date(day1.substring(0,4), day1.substring(5,7) - 1, day1.substring(8,10));
	var d2 = new Date(day2.substring(0,4), day2.substring(5,7) - 1, day2.substring(8,10));
	
	if (option == "y"){
		return Math.floor(d2.getFullYear() - d1.getFullYear());
	} else if (option == "m"){
		var years  = d2.getFullYear() - d1.getFullYear();
		var months = d2.getMonth() - d1.getMonth();
		var days   = d2.getDate() - d1.getDate();
		
		return (years * 12 + months + (days >= 0 ? 0 : -1));		
	} else if (option == "d"){
		return Math.floor(d2.valueOf() / (24*3600*1000) - d1.valueOf()/(24*3600*1000));
	}
}

function dateadd(strTargetDate , strAmount){
	var strAmount = Number(strAmount);
	var strPhoneTime = new Date(strTargetDate.substring(0,4), strTargetDate.substring(5,7) - 1, strTargetDate.substring(8,10));
	var strIDay = strPhoneTime.getTime() + 24*3600*1000*strAmount;
	var strDay = new Date();
	strDay.setTime(strIDay);
	var strYear = strDay.getFullYear();
	var strMonth = strDay.getMonth()+1;
	var strDay = strDay.getDate();
	if(strMonth < 10){
		strMonth = "0" + strMonth;
	}
	if(strDay < 10){
		strDay = "0" + strDay;
	}
	return strYear.toString() + '-' + strMonth.toString() + '-' + strDay.toString();
}

//영수증 출력
function printReceipt(ordkey){
	centerWin("/maxsys/_payment/printReceipt.asp?ordn="+ ordkey, "", "width=500,height=700,menubar=no,toolbar=no,scrollbars=yes");
}
