	/*** 마우스 오른쪽 버튼 클릭 금지 ***/
/*
	var message=""; // 경고 메세지를 넣으려면 여기에 입력합니다
	function clickIE() {if (document.all) {(message);return false;}}
	function clickNS(e) {if 
	(document.layers||(document.getElementById&&!document.all)) {
	if (e.which==2||e.which==3) {(message);return false;}}}
	if (document.layers) 
	{document.captureEvents(Event.MOUSEDOWN);document.onmousedown=clickNS;}
	else{document.onmouseup=clickNS;document.oncontextmenu=clickIE;}
	
	document.oncontextmenu=new Function("return false")
*/
	/*** 마우스 오른쪽 버튼 클릭 금지 ***/


	/**
	 * CheckString()에서 사용할 상수들이다
	 * Parameter astr에 넣어 준다.
	 */
	var STRING_DEF_ALPHA		= 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
	var STRING_DEF_NUMBER		= '1234567890'
	var STRING_DEF_TELDIGIT		= '-1234567890'
	var STRING_DEF_CURRENCY		= ',1234567890'
	var STR_DEF_EMAIL			="@."
	var STRING_DEF_ALPHA_NUMBER	= 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890'

		
	function imageView(fname, w , h) {
		
		var url = "/comm/imageView.jsp?file_name=" + fname; 
		//var features = 'width=' + w + ',height=' + h + ',scrollbars=Y';
		var name = 'ipop' ;
		
		w = document.body.scrollWidth ;
		h = document.body.scrollHeight;
		var features = 'width=' + w + ',height=' + h + ',scrollbars=Y, resize=yes';
		
		window.open(url, name, features);
	}
	
	
	/**
	* 입력필드에 공백만 입력되었는지 검사를 해준다
	* @param obj     : input 객체
	* @param objname : 필드명 (ex) 제목
	* @param showmsg : true이거나 아예 넘기지 않으면 alert를 한다
	*                   false 이면 check하고 결과만 true,false로 return 한다
	*/
	function CheckBlank( obj , objname , showmsg){
		if(obj.value.replace(/ /ig,"")==""){
			if(showmsg!=null && showmsg) {
				alert(objname + "을(를) 입력하세요!");
				//obj.select();
				obj.focus();
			}
			return false;
		}
		return true;
	}
	
	/**
	* 입력필드에 공백만 입력되었는지 검사를 해준다
	* @param str     : input 객체
	* @return 숫자여부 체크 true/false 리턴
	*/
	function CheckNumber(str) {
		var ret = true;
		var temp;
		for (var i=0; i<str.length; i++) {
			temp = "" + str.substring(i, i+1);
			if (STRING_DEF_NUMBER.indexOf(temp) == "-1") 
			ret = false;
		}
		return ret;
	}
	
	/**
	* 입력필드의 유효성 검사를 해준다
	* @param obj     : input 객체
	* @param objname : 필드명 (ex) 제목
	* @param astr    : 입력값의 제한을 둔다(STRING_DEF_ALPHA,STRING_DEF_NUMBER,STRING_DEF_TELDIGIT를 이용하면 편합니다)
	*                  지정해 준 값만 허용하는 것이다
	* @param lmin    : 최소 입력길이(byte 수)
	* @param lmax    : 최대 입력길이(byte 수)
	* @param showmsg : true이거나 아예 넘기지 않으면 alert를 한다
	*                   false 이면 check하고 결과만 true,false로 return 한다
	*/
	function CheckString( obj , objname, astr, lmin, lmax , showmsg ){
		var i
		var t = obj.value;
		var lng = GetByteLength(obj);

		if (lng < lmin || lng > lmax) {
			if(showmsg!=null && showmsg) {
				//if (lmin == lmax) alert(objname + "는 " + lmin + " 자 이어야 합니다");
				//else alert(objname + "는 " + lmin + " ~ " + lmax + " 자 이내로 입력하셔야 합니다");
				obj.focus();
			}
			return false;
		}
		if (astr.length > 1) {
			for (i=0; i < lng; i++){
				if(astr.indexOf(t.substring(i,i+1))<0) {
					if(showmsg!=null && showmsg) {
						//alert(objname + '에 허용할 수 없는 문자가 입력되었습니다');
						obj.focus();
					}
					return false;
				}
			}
		}
		return true;
	}
	
	//Element ID 불러쓰기
	function dEI(elementID){
		return document.getElementById(elementID);
	}
	
	/* --------------------------------------------- 
	 * 함수명 : xss 차단 스크립트
	 * 설  명 : 
	 ---------------------------------------------*/ 
	 function RemoveXSS(obj) {
			var str = obj.value;
			str.replace(/[\"\'][\s]*javascript:(.*)[\"\']/g, "\"\"");
			str = str.replace(/script(.*)/g, "");    
			str = str.replace(/eval\((.*)\)/g, "");
			obj.value = str;
	}
	
	/**
	* 이메일 주소가 유효한지 알아 본다
	* @param value   : 값
	* @return 공백을 없앤 값 , value가 null 이거나 "" 이면 ""을 return
	*/
	function emailCheck (obj) {
		var str = obj.value;
		var filter=/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
		if (!(filter.test(str))) {
			alert("유효한 이메일 주소가 아닙니다!");
			obj.focus();
			return false;
		} else {
			return true;
		}
	}
	
	/**
	* 스트링의 바이트 수를 센다(length를 하면 한글도 길이1로 나오는데 바이트 수는 2가 된다)
	* @param obj   : textfield ,textarea objec
	* @return 바이트 수
	*/
	function GetBytes( str ){
		var str = new String(str);
		var len = str.length;
		var count = 0;

		for (k=0 ; k<len ; k++){
			temp = str.charAt(k);
			
			if (escape(temp).length > 4) {
				count += 2;
			}
			else if (temp == '\r' && str.charAt(k+1) == '\n') { // \r\n일 경우
				count += 2;
			}
			else if (temp == '\r') { // \r일 경우
				count++;
			}
			else if (temp != '\n') {
				count++;
			} else {
				count++;
			}	
		}
		return count;	
	}
	
	/**
	* 스트링의 바이트 수를 센다(length를 하면 한글도 길이1로 나오는데 바이트 수는 2가 된다)
	* @param obj   : textfield ,textarea objec
	* @return 바이트 수
	*/
	function GetByteLength( obj ){
		var msg = obj.value;
		var str = new String(msg);
		var len = str.length;
		var count = 0;
		for (k=0 ; k<len ; k++){
			temp = str.charAt(k);
					if (escape(temp).length > 4) {
				count += 2;
			}
			else if (temp == '\r' && str.charAt(k+1) == '\n') { // \r\n일 경우
				count += 2;
			}
			else if (temp != '\n') {
				count++;
			}
	           else {
	               count++;
	           }
	       }
		return count;	
	}
	
	/*====================================================
	함수명		:	checklen(fform, maxlength)
	함수설명	:	입력 바이트 제한
	=====================================================*/
	function checklen(fform, maxlength)
	{
	    var msgtext, msglen;
	    msgtext = fform.value;
	    var i=0,l=0;
	    var temp,lastl;
	
		chkDiv	=	document.getElementById("chkByteDiv");
	
	    //길이를 구한다.
	    while(i < msgtext.length)
	    {
		    temp = msgtext.charAt(i);
	        if (escape(temp).length > 4)
		        l+=2;
			else if (temp!='\r')
				l++;
			// OverFlow
			if(l>maxlength)
			{
				alert("허용 길이 이상의 글을 쓰셨습니다.\n한글 "+ maxlength/2 +"자, 영문"+ maxlength +"자까지만 쓰실 수 있습니다.");
				temp = fform.value.substr(0,i);
				fform.value = temp;
				l = lastl;
				return false;
				//break;
			}
			lastl = l;
	
			chkDiv.innerHTML = lastl ;
			i++;
		}
	    return true;
	}
	
	/*====================================================
	함수명		:	isNumberValid(fform, maxlength)
	함수설명	:	입력 바이트 제한
	=====================================================*/		
	function isNumberValid(obj)
	{
		var nVal;
		var newVal = "";
		var keyValue	= event.keyCode;
		nVal	= obj.value;
		if(!(keyValue >= 48 && keyValue <= 57))
		{
			alert("숫자 이외의 문자를 허용하지 않습니다.");
			if(nVal.length > 1)
			{
				for(v=0;v<nVal.length;v++)
				{
					alert(nVal.charCodeAt[v]);
				}
			}
			else
			{
				nVal	= "";
			}
		}
	}
	
	//파일의 확장자를 가져옮
	function getFileExtension( filePath )
	{
	    var lastIndex = -1;
	    lastIndex = filePath.lastIndexOf('.');
	    var extension = "";
	
		if ( lastIndex != -1 )
		{
	    	extension = filePath.substring( lastIndex+1, filePath.len );
		} else {
		    extension = "";
		}

	    return extension;
	}
	
	//파일을 선택 후 포커스 이동시 호출
	function uploadImg_Change( obj , imgtype)
	{
	    var src = getFileExtension(obj.value);
	   	var result = true;
	    
	    if (src == "") {
	        //alert("올바른 파일을 입력하세요");
	        return false;
	    } else {

			if(obj.name.indexOf("img") > -1 || obj.name.indexOf("photo") > -1) {
	    		if ( !( (src.toLowerCase() == "jpg") || (src.toLowerCase() == "jpeg") ) ) {
			        //alert(' jpg 파일만 지원합니다.');
			        obj.focus();
			       return false;
	    		}
	    	} else if(imgtype.toUpperCase()=="ZIP"){		    		
	    		if ( !( src.toLowerCase() == "zip")  ) {
			        //alert(' zip 파일만 지원합니다.');
			        obj.focus();
			        return false;
	    		}
	    	} else if(imgtype.toUpperCase()=="DOC"){
	    		
	    		if ( !( (src.toLowerCase() == "doc") || (src.toLowerCase() == "hwp") || (src.toLowerCase() == "pdf")  ) )  {
			        //alert(' doc/hwp/pdf 파일만 지원합니다.');
			        obj.focus();
			       	return false;
	    		}
	    	} 	
	    }
	    	
	}
	
	var MAX_PHOTO 			= 512;
	var MAX_PORTFOLIO 	= 2048;
	var MAX_MINIMG			= 100;
	var MAX_MIDIMG			= 512;
	var MAX_BIGIMG			= 1024;
	var MAX_RESUME		= 512;
	
	var IMG_WIDTH 		= 108;
	var IMG_HEIGHT		= 128;
	
	function checkFile(obj)
	{
  		var objtype="img";
  		
	  	if(obj.name.indexOf("photo") > -1 ){		
	    	maxFileSize = MAX_PHOTO;		
	    	IMG_WIDTH 		= 108;
			IMG_HEIGHT		= 128;		    	
	    } else if(obj.name.indexOf("minimg") > -1 ){		
	    	maxFileSize = MAX_MINIMG;		    
	    	IMG_WIDTH 		= 70;
			IMG_HEIGHT		= 70;		
	    } else if(obj.name.indexOf("midimg") > -1 ){		
	    	maxFileSize = MAX_MIDIMG;	 
	    	IMG_WIDTH 		= 335;
			IMG_HEIGHT		= 226;	
	    } else if(obj.name.indexOf("bigimg") > -1 ){		
	    	maxFileSize = MAX_BIGIMG;		 
	    	IMG_WIDTH 		= 499;
			IMG_HEIGHT		= 500;
	    } else if(obj.name.indexOf("portfolio") > -1 ){		
	    	maxFileSize = MAX_PORTFOLIO;
	    	objtype="zip";
	    } else if(obj.name.indexOf("resume") > -1 ){		
	    	maxFileSize = MAX_RESUME;
	    	objtype="doc";
	    }
	    
	    var filesize = 0; 
	   	var img = new Image();
			
		if( navigator.appName.indexOf("Microsoft") > -1 ){         
	       // 익스플로러이면 버전 6인지 확인
	        if( navigator.appVersion.indexOf("MSIE 6") > -1){         
	           img.dynsrc = obj.value;			
	        // 익스 플로러이면 버전 7인지 확인   			
	        }else if(navigator.appVersion.indexOf("MSIE 7") > -1){ 
				img.src = obj.value;
	        }
	    } else {
	       	img.src = obj.value;		        	
	    }
				
	   	filesize = img.fileSize;
		
		if(img.width > IMG_WIDTH || img.height > IMG_HEIGHT) {				
			 alert('선택하신 파일은 허용 최대크기인 ' + IMG_WIDTH + '*' + IMG_HEIGHT + ' pixel 을 초과하였습니다.');
	    	 obj.focus();
	         return false;
		}
			
	 	if (filesize > (maxFileSize/1024))
	  	{
	    	 alert('선택하신 파일은 허용 최대크기인 ' + maxFileSize/1024 + ' KB 를 초과하였습니다.');
		   	 obj.focus();
		      return false;
		}	 else {
			 return true;
		} 
	}	
	
	/** XSS 보안처리 **/
	function removeTag(objVal)
	{ 	
		var description = objVal;
		var re = /\r\n/g;	
		description = description.replace(re, "@@@");	
		re = /<\s*script.+?<\/\s*script\s*>/gi;	
	 	description = description.replace(re, "");  	       
	   	re = /eval\((.*)\)/gi;   
	   	description = description.replace(re, "");      
	 	re = /</g;
	 	description = description.replace(re, "&lt;");
	 	re = />/g;
	 	description = description.replace(re, "&gt;"); 	
		re = /@@@/g;
	 	description = description.replace(re, "\r\n"); 	 	      

	  	return description;
	}
	
	/** 특정 문자 갯수 **/
    function findCntChar(str, chr)
    {
        var iLen = str.length;
        var i = 0;
        var iCnt = 0;
         for(i = 0; i < iLen; i++)
         {
             if(str.charAt(i) == chr) iCnt++;
          }
         return iCnt;
	}