// 폼 검증 함수
function checkForm(f) {
var fLen = f.elements.length;
var fObj;var fTyp;var fVal;var fMsg;var fNum;var fMax;var fMin;var fMxN;var fMnN;var fMal;var fNonE;var fPhone;var fNumEngKor;var fDate;
for (i=0;i<fLen;i++) {
fObj=f.elements[i];fTyp=toUpperCase(fObj.getAttribute("type"));fVal=fObj.value;fMsg=fObj.getAttribute("msg");fNum=fObj.getAttribute("chknum");fMax=fObj.getAttribute("maxlen");fMin=fObj.getAttribute("minlen");
fMxN = fObj.getAttribute("maxnum");fMnN=fObj.getAttribute("minnum");fMal=fObj.getAttribute("chkmail");fNonE=fObj.getAttribute("chkNumEng");fPhone=fObj.getAttribute("chkPhone");fDate=fObj.getAttribute("chkDate");
fNumEngKor = fObj.getAttribute("chkNumEngKor");
if(fMsg!=null&&(fTyp=="TEXT"||fTyp=="HIDDEN"||fTyp=="TEXTAREA"||fTyp=="PASSWORD"||fTyp=="FILE")&&fVal.replace(/ /gi,"")==""){alert(fMsg+" 입력해 주세요");if(fTyp!="HIDDEN"){fObj.focus();}return false;}
if(fMsg!=null&&(fTyp=="SELECT-ONE"||fTyp=="SELECT-MULTIPLE")&&fVal==""){alert(fMsg+" 선택해 주세요");fObj.focus();return false;}
if(fMsg!=null&&(fTyp=="RADIO"||fTyp=="CHECKBOX")&&checkChecked(fObj)==false){alert(fMsg+" 선택해 주세요");fObj.focus();return false;}
if(fNum!=null&&isNaN(fVal)){alert("숫자로만 입력해 주세요");fObj.focus();return false;}
if(fNonE!=null&&checkNumEng(fVal)==false&&fVal!=""){alert("숫자,영문만 입력가능합니다.");fObj.focus();return false;}
if(fNumEngKor!=null&&checkNumEngKor(fVal)==false&&fVal!=""){alert("한글,숫자,영문만 입력가능합니다.");fObj.focus();return false;}
if(fMax!=null&&fMax<getLen(fVal)){alert("입력된 글자수가 "+fMax+"자보다 작아야합니다.\n(영문 "+fMax+"자, 한글 "+Math.floor(fMax/2)+"자 까지 가능합니다.)");fObj.focus();return false;}
if(fMin!=null&&fMin>getLen(fVal)){alert("입력된 글자수가 "+fMin+"자보다 커야합니다.");fObj.focus();return false;}
if(fMxN!=null&&parseInt(fMxN)<parseInt(fVal)){alert("입력된 숫자는 "+fMxN+" 보다 작아야합니다.");return false;}
if(fMnN!=null&&parseInt(fMnN)>parseInt(fVal)){alert("입력된 숫자는 "+fMnN+"보다 커야합니다.");fObj.focus();return false;}
if(fMal!=null&&checkEmail(fVal)==false&&fVal!=""){alert("이메일 주소가 올바르지 않습니다");fObj.focus();return false;}
if(fPhone!=null&&checkTelPhone(fVal)==false&&fVal!=""){alert("전화번호가 올바르지 않습니다");fObj.focus(); return false;}
if(fDate!=null&&checkDate(fVal)==false&&fVal!=""){alert("날짜형식이 올바르지 않습니다. 예:2009-01-01");fObj.focus(); return false;}
}return true;
}
function initForm(f){
var nLen;var ival;var fTyp;
for (var i=0;i<f.elements.length;i++) {fTyp=toUpperCase(f.elements[i].type);ival=f.elements[i].ival;
if(ival&&fTyp=="SELECT-ONE"){nLen=f.elements[i].options.length;for(varj=0;j<nLen;j++){if (f.elements[i].options[j].value == ival){f.elements[i].options[j].selected = true;}}}
if (fTyp=="SELECT-MULTIPLE"){nLen=f.elements[i].options.length;for (var j=0; j<nLen;j++){if (f.elements[i].options[j].value == f.elements[i].options[j].ival){f.elements[i].options[j].selected = true;}}}
if (ival&&(fTyp=="RADIO"||fTyp=="CHECKBOX")){if (f.elements[i].value == ival){f.elements[i].checked = true;}}}return true;
}
function checkChecked(obj){var fname=obj.form.name;var objnm=obj.name;var oElem=eval(fname+"."+objnm);var ret = false;if(typeof(oElem.length)=="undefined"){if(oElem.checked){ret = true;}}else{for(var i=0;i<oElem.length;i++){if (oElem[i].checked){ret = true;}}}return ret;}
function checkEmail(str){var reg=/^((\w|[\-\.])+)@((\w|[\-\.])+)\.([A-Za-z]+)$/;if(str.search(reg)!=-1){return true;}return false;}// 이메일 유효성 체크
function checkTelPhone(str){var reg=/^[p0-9]{2,3}-[p0-9]{3,4}-[p0-9]{3,4}$/;if(str.search(reg)!=-1){return true;}return false;}// 전화번호 유효성 체크
function checkDate(str){var reg=/^[p0-9]{4}-[p0-1][p0-9]-[p0-3][p0-9]$/;if(str.search(reg)!=-1){return true;}return false;}
function checkNumEng(str){return str.isEngNum();}// 영문/숫자만 입력가능
function checkNumEngKor(str){return str.isNumEngKor();}// 영문/숫자/한글만 입력가능
function getLen(str){var len;var temp;len=str.length;var tot_cnt=0;for(k=0;k<len;k++){temp=str.charAt(k);if(escape(temp).length>4){tot_cnt+=2;}else{tot_cnt++;}}	return tot_cnt;}// 문자 길이 반환 (영문 1byte, 한글 2byte 계산)
function toUpperCase(str){var ret;str!=null?ret=str.toUpperCase():ret="";return ret;}	// 대문자 변환 ex) toUpperCase(문자)
function KeyDownNo(){if(event.keyCode!=13){event.returnValue=false;}else{event.returnValue;}}// 아무것도 적지 못하게함
String.prototype.trim=function(){return this.replace(/(^\s*)|(\s*$)/g,"");}// 문자의 좌, 우 공백 제거// @return : String
String.prototype.ltrim=function(){return this.replace(/(^\s*)/,"");}// 문자의 좌 공백 제거// @return : String
String.prototype.rtrim=function(){return this.replace(/(\s*$)/,"");}// 문자의 우 공백 제거// @return : String
String.prototype.byte=function(){var cnt=0;for(var i=0;i<this.length;i++){if(this.charCodeAt(i)>127){cnt+=2;}else{cnt++;}}return cnt;}// 문자열의 byte 길이 반환// @return : int
String.prototype.int=function(){if(!isNaN(this)){return parseInt(this);}else{return null;}}// 정수형으로 변환// @return : String
String.prototype.num=function(){return (this.trim().replace(/[^0-9]/g,""));}// 숫자만 가져 오기// @return : String
String.prototype.money=function(){var num=this.trim();while((/(-?[0-9]+)([0-9]{3})/).test(num)){num=num.replace((/(-?[0-9]+)([0-9]{3})/),"$1,$2");	}return num;}// 숫자에 3자리마다 , 를 찍어서 반환// @return : String
String.prototype.digits=function(cnt){var digit="";if(this.length<cnt){for(var i=0;i<cnt-this.length;i++){digit+="0";}}return digit+this;}// 숫자의 자리수(cnt)에 맞도록 반환// @return : String
String.prototype.ext=function(){return(this.indexOf(".")<0)?"":this.substring(this.lastIndexOf(".")+1,this.length);}// 파일 확장자만 가져오기// @return : String
String.prototype.uri=function(){var arr=this.split("?");arr=arr[0].split("#");return arr[0];}// URL에서 파라메터 제거한 순수한 url 얻기// @return : String
String.prototype.meta=function(){var str=this;var result="";for(var i=0;i<str.length;i++){if((/([\$\(\)\*\+\.\[\]\?\\\^\{\}\|]{1})/).test(str.charAt(i))){result+=str.charAt(i).replace((/([\$\(\)\*\+\.\[\]\?\\\^\{\}\|]{1})/),"\\$1");}else{result+=str.charAt(i);}}return result;}// 정규식에 쓰이는 특수문자를 찾아서 이스케이프 한다.// @return : String
String.prototype.remove = function(pattern){return(pattern==null)?this:eval("this.replace(/["+pattern.meta()+"]/g,\"\")");}// 정규식에 쓰이는 특수문자를 찾아서 이스케이프 한다.// @return : String
String.prototype.isLength=function(){var min=arguments[0];var max=arguments[1]?arguments[1]:null;var success=true;if(this.length<min){success=false;}if(max&&this.length>max){success = false;}return success;}// 최소 최대 길이인지 검증// @return : boolean
String.prototype.isByteLength=function(){var min=arguments[0];var max=arguments[1]?arguments[1]:null;var success=true;if(this.byte()<min){success=false;}if(max&&this.byte()>max){success=false;}return success;}// 최소 최대 바이트인지 검증// str.isByteLength(min [,max])// @return : boolean
String.prototype.isBlank=function(){var str=this.trim();for(var i=0;i<str.length;i++){if((str.charAt(i)!="\t")&&(str.charAt(i)!="\n")&&(str.charAt(i)!="\r")){return false;}}return true;}// 공백이나 널인지 확인// @return : boolean
String.prototype.isNum=function(){return (/^[0-9]+$/).test(this.remove(arguments[0]))?true:false;}// 숫자로 구성되어 있는지 학인// @return : boolean
String.prototype.isEng=function(){return (/^[a-zA-Z]+$/).test(this.remove(arguments[0]))?true:false;}// 영어만 허용 - arguments[0] : 추가 허용할 문자들// @return : boolean
String.prototype.isEngNum=function(){return (/^[0-9a-zA-Z]+$/).test(this.remove(arguments[0]))?true:false;}// 숫자와 영어만 허용 - arguments[0] : 추가 허용할 문자들// @return : boolean
String.prototype.isNumEng=function(){return this.isEngNum(arguments[0]);}
String.prototype.isNumEngKor=function(){return (/^[0-9a-zA-Z가-힣ㄱ-ㅎㅏ-ㅣ ]+$/).test(this.remove(arguments[0]))?true:false;}// 숫자와 영어, 한글만 허용 - arguments[0] : 추가 허용할 문자들
String.prototype.isKor=function(){return (/^[가-힣]+$/).test(this.remove(arguments[0]))?true:false;}// 한글 체크 - arguments[0] : 추가 허용할 문자들
String.prototype.isEmail=function(){return (/\w+([-+.]\w+)*@\w+([-.]\w+)*\.[a-zA-Z]{2,4}$/).test(this.trim());}// 이메일의 유효성을 체크// @return : boolean
String.prototype.isPhone=function(){var arg=arguments[0]?arguments[0]:"";return eval("(/(02|0[3-9]{1}[0-9]{1})"+arg+"[1-9]{1}[0-9]{2,3}"+arg+"[0-9]{4}$/).test(this)");}// 전화번호 체크 - arguments[0] : 전화번호 구분자// @return : boolean
String.prototype.isMobile=function(){var arg=arguments[0]?arguments[0]:"";return eval("(/01[016789]"+arg+"[1-9]{1}[0-9]{2,3}"+arg+"[0-9]{4}$/).test(this)");}// 핸드폰번호 체크 - arguments[0] : 핸드폰 구분자// @return : boolean
String.prototype.RemoveTags=function(){var tmp=this;tmp=tmp.replace(/(&lt;\/?)SCRIPT language=javascript(&gt;)/ig,"");tmp=tmp.replace(/(&lt;\/?)script(&gt;)/ig,"");tmp=tmp.replace(/(<\/?)script(>)/ig,"");return tmp;}
function OnSelectImage(src,oname){document.getElementById(oname).src = src;}
function OnFlashHTML(src,width,height){var html = "";html += '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="'+width+'" height="'+height+'">';html += '<param name="movie" value="'+src+'">';html += '<param name="quality" value="high">';html += '<embed src="'+src+'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="'+width+'" height="'+height+'"></embed></object>';return html;}
function OnDisplayNone(oname){if(document.getElementById(oname)){document.getElementById(oname).style.display="none";}}
function OnDisplay(oname){if(document.getElementById(oname)){document.getElementById(oname).style.display="inline-block";}}
function OnDisabled(fname,bool){var f=document.getElementById(fname);var fLen=f.elements.length;for(var i=0;i<fLen;i++){f.elements[i].disabled=bool;}}
function OnFavorate(url,title){window.external.AddFavorite(url, title);}
function Left(str,num){if(num<=0) return "";else if(num>String(str).length)return str;else return String(str).substring(0, num);}
function Right(str,num){if(num<=0) return "";else if(num>String(str).length) return str;else{var iLen=String(str).length;return String(str).substring(iLen,iLen-num);}}

var MouseLocationX, MouseLocationY
var iex = (document.all);
document.onmousemove=get_mouse;
function get_mouse(e){if(iex){if(document.body){MouseLocationX=event.x+document.body.scrollLeft;MouseLocationY=event.y+document.body.scrollTop+130;}}else{	MouseLocationX=e.pageX;MouseLocationY=e.pageY;}}
function OnChangeFontSize(dir, oname) {var l_content = document.getElementById(oname);var l_min = 12;var l_max = 18;var l_currentFontSize = parseInt(l_content.style.fontSize || 14, 10);var l_lineHeight = parseInt(l_content.style.lineHeight || (l_currentFontSize + 2) * 10);var l_size = (dir === '+' ? l_currentFontSize + 2 : l_currentFontSize - 2);l_size = (l_size <= l_min ? l_min : (l_size >= l_max ? l_max : l_size));l_content.style.fontSize = l_size + 'px';l_content.style.lineHeight = ((l_size <= 14 ? 16 : (l_size - 2)) * 10) + '%';}
function RequestAjax(url, par, m, com, encoding){new Ajax.Request( url,{method:m,encoding: encoding,parameters:par,onComplete:com,onFailure:null,evalScripts: true });}
function UpdateAjax(oname, url, par, m, encoding){var objAjax=new Ajax.Updater(oname,url,{method: m,encoding: encoding,parameters: par,evalScripts: true});}
function RemoveSelect(oname){var selectBox = document.getElementById(oname);if (null == selectBox || null == selectBox.options) return;var length = selectBox.options.length;for (var index=0;index<length ;index++){ selectBox.options.remove(0); }}
function OnUploadFileExtCheck(filename,arrExt){var result=false;if(filename=="")return true;var ext=filename.ext();for(var i=0;i<arrExt.length;i++){if(ext.toLowerCase()==arrExt[i]){result=true;break;}}return result;}
function resizeImages(divname,size){	var imageCount=document.getElementById(divname).getElementsByTagName('img').length;var documentImages=document.getElementById(divname).getElementsByTagName('img');for(i=0;i<imageCount;i++){	if(documentImages[i].width>size){documentImages[i].width=size;}}}

function menuMove(arg, lname){	var selectedNum;var list=document.getElementById(lname);var i=list.selectedIndex;if(arg=="up"){if(i>0){swap(list,i,i-1);list.options[i-1].selected=true;list.options[i].selected=false;selectedNum=i-1;}else if(i==0){alert("선택된 항목을 더이상 이동시킬수 없습니다.");}else{alert("이동시킬 항목을 선택하세요!!");}}else if (arg=="down"){if((i<list.length-1)&&(i>-1)){swap(list,i+1,i);list.options[i+1].selected=true;list.options[i].selected=false;selectedNum=i+1;}else if(i>-1){alert("선택된 항목을 더이상 이동시킬수 없습니다.");}else{alert("이동시킬 항목을 선택하세요!!");}}else if(arg=="top"){	if(i==-1){alert("이동시킬 항목을 선택하세요!!");return;}var k=i;while(k>0){swap(list,k,k-1);list.options[k-1].selected=true;list.options[k].selected=false;selectedNum=k-1;k--;}}else if(arg=="bottom"){if(i==-1){alert("이동시킬 항목을 선택하세요!!");return;}var k=i;while(k<list.length-1){swap(list, k+1, k);list.options[k+1].selected=true;list.options[k].selected=false;selectedNum=k+1;k++;}}if(typeof selectedNum!="undefined")list.options[selectedNum].selected=true;}
function swap(item,index1,index2){var prevOrder="*"+(index1+1);var prevVal=item.options[index1].value;var prevTxt=item.options[index1].text;var nextOrder="*"+(index2+1);var nextVal=item.options[index2].value;var nextTxt=item.options[index2].text;item.options[index1].value=nextVal.replace(nextOrder,prevOrder);item.options[index1].text=nextTxt;item.options[index2].value=prevVal.replace(prevOrder,nextOrder);item.options[index2].text=prevTxt;}

function OnPopupOpen(url,param,name){var popwin=window.open(url, name, param);}

//전역변수 설정부//
var g_j_imageExt=new Array("jpg","gif","png","jpeg");
var g_j_fileuploadExt = new Array("zip","alz","rar","jpg","gif","png","jpeg","bmp","hwp","gul","doc","docx","xls","xlsx","ppt","pptx");