
//document.write("<script src='http://www.pen.co.kr/applex_wdigm/applex_local.js'></script>");
/**
* File name   : kjs.js 
* @author     :±è°æ´ö
* @Version    :1.2
*
* @History
* 2002.11.? ÃÊ±âÁ¦ÀÛ   ±è°æ´ö
* 2003.09.18 kjsOnlyCheck Ãß°¡
* 2004.03.11 ¹öÀü¾÷
* 2005.04.07 Ãß°¡
* 2005.04.14 envetnKeeper »èÁ¦..
*
* »ç¿ë¹ý


°ø¹é°Ë»ç : <input name="obj" type="text" required="¿¡·¯¸Þ¼¼Áö">
µÎ°³ÀÇ ³»¿ëÀÌ °°ÀºÁö °Ë»ç : <input name="obj1" type="text" isSame="obj2"> <input name="obj2" type="text">




*       - required, required="¿¡·¯¸Þ¼¼Áö" , slct_required , moveFocus ='focus°¡ ÀÌµ¿ÇÒ obj name'                           
*         ÇÊµå¸¦ ÇÊ¼öÀÔ·ÂÀ¸·Î ¸¸µç´Ù.                                                                                                     
*       - mask="999-999", stripMask(mask°¡ ÀÖÀ» °æ¿ì¿¡¸¸ »ç¿ë)                                                                                                                  
*       - minlength ="7"                                                                       
*         ÃÖ¼ÒÀÚ¸®¼ö ÀÌ»ó ÀÔ·Â                                                           
*       - date, date='9999-99-99',   dateErrMsg='¿¡·¯ ¸Þ¼¼Áö'                                                   
*          ³¯ÀÚ¸¦ ÀÔ·ÂÇÏ´Â ÇÊµåÀÇ °æ¿ì »ç¿ëÇÑ´Ù.                                      
*        
*       - isLower='ºñ±³µÉ obj name'  isLowerErrMsg='¿¡·¯ ¸Þ¼¼Áö'
*          ºñ±³µÇ´Â obj value°ªº¸´Ù Å©¸é ¿¡·¯ ¸Þ¼¼Áö¸¦ Ãâ·ÂÇÑ´Ù. 
*
*       - isHigher='ºñ±³µÉ obj name'  isHigherErrMsg='¿¡·¯ ¸Þ¼¼Áö'
*          ºñ±³µÇ´Â obj value°ªº¸´Ù  ÀÛÀ¸¸é ¿¡·¯ ¸Þ¼¼Áö¸¦ Ãâ·ÂÇÑ´Ù.
*
*       - isSame='ºñ±³µÉ obj name'  isSameErrMsg='¿¡·¯ ¸Þ¼¼Áö'
*          ºñ±³µÇ´Â obj value°ª°ú °°Áö ¾ÊÀ¸¸é ¿¡·¯ ¸Þ¼¼Áö¸¦ Ãâ·ÂÇÑ´Ù.
*
*       - upper
*         ÀÔ·ÂµÈ value¸¦ ´ë¹®ÀÚ·Î ¹Ù²Û´Ù.
*
*       - lower
*         ÀÔ·ÂµÈ value¸¦ ¼Ò¹®ÀÚ·Î ¹Ù²Û´Ù.
*
*       - isImage,   isImageErrMsg='¿¡·¯ ¸Þ¼¼Áö'
*         file Æû ÇÊµå¿¡¼­ ÀÌ¹ÌÁö¿¡¼­, jpg,gif ÆÄÀÏÃ¼Å©
*
*       - number 
*         ¼ýÀÚ¸¸ ÀÔ·Â°¡´ÉÇÏ´Ù.
*
*       - entSubmit='form Name' onkeyup ="ee_on_keyup(this)"
*         ÅØ½ºÆ® ¹Ú½º¿¡¼­ ¿£ÅÍ¸¦ ´­·¶À»°æ¿ì ÇØ¹æ ÆûÀ» submit ½ÃÅ²´Ù.
*
*       - envetnKeeper »èÁ¦
*          »ç¿ë¹æ¹ý º¯°æ
*           1. mask, date , number ÀÏ°æ¿ì onkeyup="ee_on_keyup(this)"
*           2. entSubmit ÀÏ°æ¿ì     onkeypress ="ee_on_keypress(this)"
*/

// Àü¿ªº¯¼ö¿Í »ó¼ö¸¦ Á¤ÀÇ
// ( ) [ ] { } < > " ' ` ~  $ ! # % ^ & @  , . ; :  \ / |  * = - ? ''
var KJS_DEFAULT_SPECIAL_CHAR  = /(\(|\)|\[|\]|\{|\}|\<|\>|\"|\'|\`|\~|\$|\!|\#|\%|\^|\&|\@|\,|\.|\;|\:|\\|\/|\||\*|\=|\-|\?|\s)*/g; 
var KJS_DEFAULT_BG_COLOR="white";
var KJS_ERROR_BG_COLOR="white";


function beforeKjs(){
    return true;
}
//////////////////////////////////////////////////////////////////////////////////
// ÇÔ¼ö¸í : kjsSubmit(form_name)
// ³»  ¿ë : ÀÔ·Â°ª Submit½Ã ¿¡·¯Ã¼Å©¸¦ À§ÇØ È£ÃâµÇ´Â ÇÔ¼ö
//          
function kjsSubmit(form_name){
//alert("fire_kjs½ÃÀÛ");


			
    eval("mForm=document."+form_name);
    mForm.initialize = fm_initialize;
    mForm.initialize();   
	mForm.beforeSubmit = em_beforeSubmit;
	    if(mForm.beforeSubmit()){
        if(!beforeKjs())  return; //kjsÃ³¸®ÈÄ ¼öÇàÇØ¾ßÇÏ´Â ÇÔ¼ö
		var f = document.PENForm;
        var mFile = "";
        var objReturn;
        try
		{
			var mText = f.contents.value
			var LenWriteForm = document.PENForm.length; 
			for (var i =0; i < LenWriteForm; i++ )
			{
				if (f(i).type == "file")
				{
					
					mFile += "|" + f(i).value;

				}
			}
			
		}
		catch(e)
		{
			
		}
		try
		{    
			objReturn = beScan("",mText , mFile);        
		}
		catch (e)
		{    
			//objReturn = beScan_local("", mText, mFile);    
		}
		if (objReturn == false)
		{
			return false;
		}
        mForm.submit();
    }

}

//////////////////////////////////////////////////////////////////////////////////
// ÇÔ¼ö¸í : kjsOnlyCheck(form_name)
// ³»  ¿ë : ÀÔ·Â°ª  ¿¡·¯Ã¼Å©¸¦ À§ÇØ È£ÃâµÇ´Â ÇÔ¼ö(submitÀº ½ÃÅ°Áö ¾Ê´Â´Ù.)
//          validation Ã¼Å©ÈÄ ¼º°øÀÌ¸é ture, ½ÇÆÐ¸é false¸¦ ¹ÝÈ¯ÇÑ´Ù.
function kjsOnlyCheck(form_name){
	
    eval("mForm=document."+form_name);
    mForm.initialize = fm_initialize;
    mForm.initialize();    
    mForm.beforeSubmit = em_beforeSubmit;
    if(mForm.beforeSubmit()){
        if(!beforeKjs())  return false; //kjsÃ³¸®ÈÄ ¼öÇàÇØ¾ßÇÏ´Â ÇÔ¼ö
        return true;
    }
    return false;
}


//////////////////////////////////////////////////////////////////////////////////
// ÇÔ¼ö¸í : fm_initialize(form_name)
// ¸Þ¼Òµå¸í : element.initialize()
// ³»  ¿ë : ÀüÃ¼ element °´Ã¼¸¦ ÃÊ±âÈ­
//    
function fm_initialize(){
//alert("fm_initialize½ÃÀÛ");
    for(var idx=0; idx < this.elements.length ; idx++){
        this.elements[idx].initialize = em_initialize;
        this.elements[idx].initialize(this);
    }
    
}

//////////////////////////////////////////////////////////////////////////////////
// ÇÔ¼ö¸í : em_initialize()
// ¸Þ¼Òµå¸í : element.initialize(parent)
// ³»    ¿ë : elementÀÇ method, attribute¸¦ redefineÇÑ´Ù.
//
function em_initialize(parent){
    //alert("em_initialize ½ÃÀÛ");
    var sMsg;
    this.parent = parent;
    this.AKey = new Array;
    this.setMessage = em_set_message;
    this.lowering = em_lowering;
    this.uppering = em_uppering;
    this.masking= em_masking;
    this.unmasking= em_unmasking;
    this.isAttribute = em_is_attribute;  // this.getAttribute(attr) != null
    this.keyFactory = em_key_factory; //°³º° element ÃÊ±âÈ­
    this.validate= em_validate;
    this.validate_display=em_validate_display;    
    

    this.keyFactory();
}


//////////////////////////////////////////////////////////////////////////////////
// ÇÔ¼ö¸í : em_is_attribute()
// ¸Þ¼Òµå¸í : element.isAttribute()
// ³»    ¿ë : elementÀÇ attribute ¾Ë¾Æ³½´Ù.
//
function em_is_attribute(attr){
    return ( this.getAttribute(attr) != null ) ? true : false;
}

//////////////////////////////////////////////////////////////////////////////////
// ÇÔ¼ö¸í : em_set_message()
// ¸Þ¼Òµå¸í : element.setMessage()
// ³»    ¿ë : ¿¡·¯¸Þ¼¼Áö¸¦ set
//
function em_set_message(sMsg){
    this.setAttribute("msg",sMsg);
}


//////////////////////////////////////////////////////////////////////////////////
// ÇÔ¼ö¸í : em_beforeSubmit()
// ¸Þ¼Òµå¸í : element.beforeSubmit()
// ³»  ¿ë : submitÀüÀÇ ÀüÃ³¸®
// 
function em_beforeSubmit(){
//alert("em_beforeSubmit ½ÃÀÛ");

    for(var i=0; i< this.elements.length; i++){        
        if (!this.elements[i].validate_display()) return false;
    } 

    for(var i=0; i< this.elements.length; i++){        
        if (this.elements[i].isAttribute("stripMask")) this.elements[i].unmasking();
    }
    
    return true;
}

//////////////////////////////////////////////////////////////////////////////////
// ÇÔ¼ö¸í : em_validate_display()
// ¸Þ¼Òµå¸í : element.validate_display()
// ³»  ¿ë : °¢ ÀÔ·Â °ª¿¡ ´ëÇÑ ÀÔ·Â Ã¼Å©ÈÄ display
//          
function em_validate_display(){
//alert("em_validate_display ½ÃÀÛ");
    if (this.validate()){
        this.style.backgroundColor = KJS_DEFAULT_BG_COLOR;
        return true;
    } else {
        alert(this.getAttribute("msg") );
        this.style.backgroundColor = KJS_ERROR_BG_COLOR;
        if (this.isAttribute("moveFocus")){
            eval("target=this.parent."+this.getAttribute("moveFocus"));
            target.focus();
        }else{
            this.focus();
        }

        return false;
    }
}


//////////////////////////////////////////////////////////////////////////////////
// ¸Þ¼Òµå¸í : em_masking
// ³»¿ë : ÀÏ¹ÝÀûÀÎ maskingÀ» ´ã´çÇÑ´Ù.
//
function em_masking(){

    var sStr = this.value.replace( KJS_DEFAULT_SPECIAL_CHAR ,"");
    var tStr="";
    var i;
    var j=0; 

    for(i=0; i< sStr.length; i++){
     tStr += sStr.charAt(i);
     j++;
     if (j < this.mask.length && this.mask.charAt(j)!="9") tStr += this.mask.charAt(j++);
    }   
    this.value= tStr;
}

//////////////////////////////////////////////////////////////////////////////////
// ¸Þ¼Òµå¸í : em_unmasking
// ³»¿ë : submit ÇÏ±â Àü Æ÷¸ËÇü½ÄÀ» Á¦°ÅÇÑ´Ù.ÀÏ¹ÝÀûÀÎ unmaskingÀ» ´ã´çÇÑ´Ù.
// 
function em_unmasking(){
//alert("½ÃÀÛ");
    if (!this.isAttribute("mask"))  return;   
    var sStr = this.value;
    var tStr="";
    var i;
    for(i=0; i< sStr.length; i++){
     if (this.mask.charAt(i)=="9")  tStr += sStr.charAt(i);
    }
   
    this.value= tStr;
alert(this.value); 
}

//////////////////////////////////////////////////////////////////////////////////
// ¸Þ¼Òµå¸í : em_lowering
// ³»¿ë : submit ÇÏ±â Àü ¸ðµç ¹®ÀÚ¸¦ ¼Ò¹®ÀÚ·Î ¹Ù²Û´Ù.
// 
function em_lowering(){
    this.value=this.value.toLowerCase();
}


//////////////////////////////////////////////////////////////////////////////////
// ¸Þ¼Òµå¸í : em_uppering
// ³»¿ë : submit ÇÏ±â Àü ¸ðµç ¹®ÀÚ¸¦ ´ë¹®ÀÚ·Î ¹Ù²Û´Ù.
// 
function em_uppering(){
    this.value=this.value.toUpperCase();
}






//////////////////////////////////////////////////////////////////////////////////
// ¸Þ¼Òµå¸í : isNum()
// ÆÄ¶ó¸ÞÅÍ : strnum : °Ë»çÇÒ ¼ýÀÚ
// ¸® ÅÏ °ª : boolean(true / false)
// ³»    ¿ë : strnumÀÌ ¼ýÀÚÀÎÁö °Ë»çÇÑ´Ù.
function isNum (strnum){
  return (strnum.toString() && !/\D/.test(strnum));
}


//////////////////////////////////////////////////////////////////////////////////
// ÇÔ¼ö¸í : em_key_factory()
// ¸Þ¼Òµå¸í : element.keyFactory()
// ³»    ¿ë : elementÀÇ type°ú ÁÖ¾îÁø attribute¿¡ µû¶ó ÇÊ¿äÇÑ
//            key¸¦ »ç¿ë °¡´ÉÇÏ°Ô ÇÑ´Ù.
//
function em_key_factory(){
//alert("em_key_factory½ÃÀÛ");

    switch (this.type) {

    case "password" :
    case "text" :
        if ( this.isAttribute("required") )     this.AKey[0]="required";
        if ( this.isAttribute("minlength") )    this.AKey[1]="minlength";
        if ( this.isAttribute("mask") )         this.AKey[2]="mask";
        if ( this.isAttribute("date") )         this.AKey[3]="date";
        if ( this.isAttribute("isLower") )      this.AKey[4]="isLower";
        if ( this.isAttribute("isHigher") )     this.AKey[5]="isHigher";
        if ( this.isAttribute("lower") )        this.AKey[6]="lower";
        if ( this.isAttribute("upper") )        this.AKey[7]="upper";
        if ( this.isAttribute("isSame") )       this.AKey[8]="isSame";
        if ( this.isAttribute("number") )       this.AKey[9]="number";
        if ( this.isAttribute("entSubmit") )    this.AKey[10]="entSubmit";

        
        break;
    
    case "textarea" :
        if ( this.isAttribute("required") )     this.AKey[0]="required";

        break;

    case "checkbox" :

    case "file" :
        if ( this.isAttribute("required") )     this.AKey[0]="required";
        if ( this.isAttribute("isImage") )      this.AKey[1]="isImage";
        break;

    case "select-one" :
        if ( this.value=="slct_required" )      this.AKey[0]="slct_required";
        break;

    default :
        break;
    }    
}

//////////////////////////////////////////////////////////////////////////////////
// ÇÔ¼ö¸í : em_validate()
// ¸Þ¼Òµå¸í : element.validate()
// ³»  ¿ë : °¢ ÀÔ·Â °ª¿¡ ´ëÇÑ ÀÔ·Â Ã¼Å©
//          Select´Â ÇÊ¼öÀÔ·Â¿©ºÎ¸¸À» °Ë»çÇÑ´Ù.
function em_validate(){
//alert("em_validate()½ÃÀÛ");

    for (var i=0;i < this.AKey.length; i++){
        switch(this.AKey[i]){
        case "required" :
            this.xo_required = em_required;
            this.ikey="required";
            this.ikey_value = this.getAttribute(this.ikey);
            if (!this.xo_required())    return false;
            break;

        case "slct_required" :
            this.xo_slct_required = em_slct_required;
            this.ikey="slct_required";
            if (!this.xo_slct_required())    return false;
            break;

        case "minlength" :
            this.xo_minlength = em_minlength;
            this.ikey="minlength";
            this.ikey_value = this.getAttribute(this.ikey);
            if (!this.xo_minlength())    return false;
            break;

        case "mask" :
            this.masking();
            break;

        case "date" :
            this.xo_date = em_date;
            this.ikey="date";
            this.ikey_value = this.getAttribute(this.ikey);
            if (!this.xo_date())    return false;
            break;

        case "isLower" :
            this.xo_isLower = em_is_lower;
            this.ikey="isLower";
            this.ikey_value = this.getAttribute(this.ikey);
            if (!this.xo_isLower())    return false;
            break;

        case "isHigher" :
            this.xo_isHigher = em_is_higher;
            this.ikey="isHigher";
            this.ikey_value = this.getAttribute(this.ikey);
            if (!this.xo_isHigher())    return false;
            break;

        case "lower" :
            this.lowering();
            break;

        case "upper" :
            this.uppering();
            break;

        case "isSame" :
            this.xo_isSame = em_is_same;
            this.ikey="isSame";
            this.ikey_value = this.getAttribute(this.ikey);
            if (!this.xo_isSame())    return false;
            break;

        case "isImage" :
            this.xo_isImage = em_is_image;
            this.ikey="isImage";
            this.ikey_value = this.getAttribute(this.ikey);
            if (!this.xo_isImage())    return false;
            break;

        case "number" :
            this.xo_number = em_number;
            this.ikey="number";
            this.ikey_value = this.getAttribute(this.ikey);
            if (!this.xo_number())    return false;
            break;


        }//end  switch(this.AKey)                                              
    }
    return true;
}


//////////////////////////////////////////////////////////////////////////////////
// ÇÔ¼ö¸í : em_required()
// ³»  ¿ë : ÇÊ¼öÀÔ·ÂÃ¼Å©
// »ç¿ë¹ý: required, required="message"
//          
function em_required(){
sMsg ="ÇÊ¼öÀÔ·ÂÀÔ´Ï´Ù";
    var regExp_whiteSpace = /^[\s]*$/;
    if (regExp_whiteSpace.test(this.value)){
        if (this.ikey_value)    sMsg=this.ikey_value;
        this.setMessage(sMsg);
        this.value = this.value.replace( /(\s)/g,"");
        return false;
    }        
    return true;
}


//////////////////////////////////////////////////////////////////////////////////
// ÇÔ¼ö¸í : em_slct_required()
// ³»  ¿ë : select box ÇÊ¼ö¼±ÅÃÃ¼Å©
// »ç¿ë¹ý: option value="slct_required"
//          
function em_slct_required(){
//alert("em_slct_required ½ÃÀÛ");
    sMsg ="ÇÊ¼ö ¼±ÅÃÀÔ´Ï´Ù";
    this.setMessage(sMsg);
    return false;
}


//////////////////////////////////////////////////////////////////////////////////
// ÇÔ¼ö¸í : em_minlength()
// ³»  ¿ë : ÃÖ¼Ò±æÀÌ Ã¼Å©
// »ç¿ë¹ý: ex)minlength="7"
//         
function em_minlength(){
//alert("em_minlength ½ÃÀÛ");
    if (!this.value) return true; //ÀÔ·Â°ª ¾ø´Â °æ¿ì´Â Pass
    var tsTarget = this.value;
    //Validation Logic for Min Legnth..
    if (tsTarget.length <  this.ikey_value ) {
        sMsg ="ÀÔ·ÂµÈ Ç×¸ñÀÇ ÀÚ¸´¼ö°¡ ³Ê¹« ÀÛ½À´Ï´Ù. \nÃÖ¼Ò " + this.ikey_value + "ÀÚ¸®ÀÌ»óÀÔ´Ï´Ù.";
        this.setMessage(sMsg);
        return false;
    }
    return true;
}



//////////////////////////////////////////////////////////////////////////////////
// ÇÔ¼ö¸í : em_date()
// ³»    ¿ë :³¯Â¥ Æ÷¸ËÃ¼Å© Ã¼Å©
// »ç¿ë¹ý :date=>yyyymmdd Çü½Ä, date='9999-99-99'=> 'yyyy-mm-dd' Çü½ÄÀ¸·Î º¯È¯
function em_date(){
    
    var flag = true;    
    if (!this.value) return flag; //ÀÔ·Â°ªÀÌ ¾ø´Â °æ¿ì´Â Pass

    //Validation Logic for Date..
    var iYear = null;
    var iMonth = null;
    var iDay = null;
    var iDaysInMonth = null;

    var sDate=this.value.replace(/(\,|\.|\-|\/)/g,"");
    var sFormat="YYYYMMDD";  //¾ÆÁ÷±îÁö YYYYMMDDÀÇ ÇüÅÂ¸¸ Áö¿øÇÑ´Ù. --;
    var aDaysInMonth=new Array(31,28,31,30,31,30,31,31,30,31,30,31);

    //¿ÏÀüÇÑ ³¯Â¥ÀÇ ÀÔ·ÂÀÌ µé¾î¿Â °æ¿ìÀÌ´Ù.
    if ( sDate.length != 8 ) flag = false ;

    if (flag) {
    iYear  = eval(sDate.substr(0,4));
    iMonth = eval(sDate.substr(4,2));
    iDay   = eval(sDate.substr(6,2));
    if (!isNum(iYear) || !isNum(iMonth) || !isNum(iDay) )
      flag = false ;
    }

    if (flag) {
     iDaysInMonth = (iMonth != 2) ? aDaysInMonth[iMonth-1] : (( iYear%4 == 0 && iYear%100 != 0 || iYear % 400==0 ) ? 29 : 28 );
     if( iDay==null || iMonth==null || iYear==null  || iMonth > 13 || iMonth < 1 || iDay < 1 || iDay > iDaysInMonth )
      flag = false ;
    }

    if (!flag) {
    sMsg = "³¯Â¥ÀÔ·ÂÀÌ Àß¸øµÇ¾ú½À´Ï´Ù.";
    if ( this.isAttribute("dateErrMsg") )     sMsg=this.dateErrMsg;
    this.setMessage(sMsg);
    }

    if ( flag && this.ikey_value){
        if (flag) this.value=this.value.replace(/(\,|\.|\-|\/)/g,"");
        this.mask=this.ikey_value;
        this.masking();  //Æ÷¸ËÇü½ÄÀÌ ÀÖÀ¸¸é.. ¸®Æ÷¸ËÇÑ´Ù..
    }

    return flag;
}


//////////////////////////////////////////////////////////////////////////////////
// ÇÔ¼ö¸í : em_is_lower()
// ³»  ¿ë : ÁöÁ¤µÈ ÇÊµåÀÇ °ªÀ» ºñ±³ÇÏ¿© ºñ±³µÇ´Â °ªº¸´Ù ÀÛÀ¸¸é true¸¦ ¸®ÅÏ 
// »ç¿ë¹ý: ex)isLower='ºñ±³µÉ obj name'  isLowerErrMsg='¿¡·¯ ¸Þ¼¼Áö'
//         
function em_is_lower(){
//alert("em_is_lower ½ÃÀÛ");
    sMsg ="ÀÔ·ÂµÈ °ªÀÌ ºñ±³µÇ´Â °ªº¸´Ù Å¬¼ö ¾ø½À´Ï´Ù.";
    if (!this.value) return true; //ÀÔ·Â°ª ¾ø´Â °æ¿ì´Â Pass
    var srcValue = this.value.replace(KJS_DEFAULT_SPECIAL_CHAR,"");
    eval("target=this.parent."+this.ikey_value);
    var tgValue= target.value;
    tgValue = tgValue.replace(KJS_DEFAULT_SPECIAL_CHAR,"");

    if (!(tgValue=="" || tgValue==null)){
        if ( srcValue > tgValue ) {
            if ( this.isAttribute("isLowerErrMsg") )     sMsg=this.isLowerErrMsg;
            this.setMessage(sMsg);
            return false;
        }
    }

    return true;
}



//////////////////////////////////////////////////////////////////////////////////
// ÇÔ¼ö¸í : em_is_higher()
// ³»  ¿ë : ÁöÁ¤µÈ ÇÊµåÀÇ °ªÀ» ºñ±³ÇÏ¿© ºñ±³µÇ´Â °ªº¸´Ù Å©¸é true¸¦ ¸®ÅÏ 
// »ç¿ë¹ý: ex)isHigher='ºñ±³µÉ obj name'  isHigherErrMsg='¿¡·¯ ¸Þ¼¼Áö'
//         
function em_is_higher(){
//alert("em_is_higher ½ÃÀÛ");
    sMsg ="ÀÔ·ÂµÈ °ªÀÌ ºñ±³µÇ´Â °ªº¸´Ù ÀÛÀ»¼ö ¾ø½À´Ï´Ù.";
    if (!this.value) return true; //ÀÔ·Â°ª ¾ø´Â °æ¿ì´Â Pass
    var srcValue = this.value.replace(KJS_DEFAULT_SPECIAL_CHAR,"");
    eval("target=this.parent."+this.ikey_value);
    var tgValue= target.value;
    tgValue = tgValue.replace(KJS_DEFAULT_SPECIAL_CHAR,"");

    if (!(tgValue=="" || tgValue==null)){
        if ( srcValue < tgValue ) {
            if ( this.isAttribute("isHigherErrMsg") )     sMsg=this.isHigherErrMsg;
            this.setMessage(sMsg);
            return false;
        }
    }

    return true;
}


//////////////////////////////////////////////////////////////////////////////////
// ÇÔ¼ö¸í : em_is_same()
// ³»  ¿ë : ÁöÁ¤µÈ ÇÊµåÀÇ °ªÀ» ºñ±³ÇÏ¿© ºñ±³µÇ´Â °ª°ú °°À¸¸é true¸¦ ¸®ÅÏ 
// »ç¿ë¹ý: ex)isSame='ºñ±³µÉ obj name'  isSameErrMsg='¿¡·¯ ¸Þ¼¼Áö'
//         
function em_is_same(){
//alert("em_is_same ½ÃÀÛ");
    sMsg ="ÀÔ·ÂµÈ °ªÀÌ ºñ±³µÇ´Â °ª°ú °°Áö ¾Ê½À´Ï´Ù.";
    if (!this.value) return true; //ÀÔ·Â°ª ¾ø´Â °æ¿ì´Â Pass
    var srcValue = this.value.replace(KJS_DEFAULT_SPECIAL_CHAR,"");
    eval("target=this.parent."+this.ikey_value);
    var tgValue= target.value;
    tgValue = tgValue.replace(KJS_DEFAULT_SPECIAL_CHAR,"");

    if (!(tgValue=="" || tgValue==null)){
        if ( srcValue != tgValue ) {
            if ( this.isAttribute("isSameErrMsg") )     sMsg=this.isSameErrMsg;
            this.setMessage(sMsg);
            return false;
        }
    }

    return true;
}

function CheckImageFile(obj){
  var ImageFile = obj.value;
  var extFile = ImageFile.split("\\");
  var ImgInfo = extFile[extFile.length-1];
  var ext = ImgInfo.split(".");
    if (ext[1].toUpperCase() == "JPG" || ext[1].toUpperCase() == "GIF")
      return true;
    else
      return false;
  
}

//////////////////////////////////////////////////////////////////////////////////
// ÇÔ¼ö¸í : em_is_image()
// ³»  ¿ë : file Æû ÇÊµå¿¡¼­ jpg,gif ÆÄÀÏÃ¼Å©
// »ç¿ë¹ý: ex)isImage,   isImageErrMsg='¿¡·¯ ¸Þ¼¼Áö'
//         
function em_is_image(){
//alert("em_is_image ½ÃÀÛ");
    sMsg ="ÀÌ¹ÌÁö ÆÄÀÏÀº gif,jpg, jpeg, png ¸¸ °¡´ÉÇÕ´Ï´Ù!";
    if (!this.value) return true; //ÀÔ·Â°ª ¾ø´Â °æ¿ì´Â Pass

    var ImageFile = this.value;
    var extFile = ImageFile.split("\\");
    var ImgInfo = extFile[extFile.length-1];
    var ext = ImgInfo.split(".");
    if (ext[1].toUpperCase() == "JPG" || ext[1].toUpperCase() == "GIF"
        || ext[1].toUpperCase() == "JPEG" || ext[1].toUpperCase() == "PNG"){
      return true;
    }else{
            if ( this.isAttribute("isImageErrMsg") )     sMsg=this.isImageErrMsg;
            this.setMessage(sMsg);
      return false;
    }


}


//////////////////////////////////////////////////////////////////////////////////
// ÇÔ¼ö¸í : em_number()
// ³»  ¿ë : ¼ýÀÚÀÔ·ÂÃ¼Å©
// »ç¿ë¹ý: required, required="message"
//          
function em_number(){
sMsg ="¼ýÀÚ¸¸ ÀÔ·Â°¡´ÉÇÕ´Ï´Ù.";
    if (!this.value) return true;
    if (!isNum(this.value)){
        this.setMessage(sMsg);
        return false;
    }
        
    return true;
}












//////////////////////////////////////////////////////////////ÀÌÇÏ-ÀÌº¥Æ® °ü·Ã ½ºÅ©¸³Æ®/////////////////////////////////////////////






//////////////////////////////////////////////////////////////////////////////////
// ÇÔ¼ö¸í : em_kek_initialize()
// ¸Þ¼Òµå¸í : element.initialize(parent)
// ³»    ¿ë : elementÀÇ method, attribute, event¸¦ redefineÇÑ´Ù.
//
function em_kek_initialize(){
//alert("em_kek_initialize ½ÃÀÛ-3");
    var sMsg; 
    this.AKey = new Array;
    this.setMessage = em_set_message;
    this.keyupMasking = ee_keyup_masking;
    this.isAttribute = em_is_attribute;  // this.getAttribute(attr) != null
    this.keyFactory = em_key_factory; //°³º° element ÃÊ±âÈ­
    this.enterSubmit = ee_enter_submit;
    
    this.keyFactory();
}





//////////////////////////////////////////////////////////////////////////////////
// ÇÔ¼ö¸í : ee_on_keyup()
// ¸Þ¼Òµå¸í : element.keyup(parent)
// ³»    ¿ë : elementÀÇ onkeyupÀÇ event¸¦ ½ÇÇàÇÑ´Ù.
//
function ee_on_keyup(obj){

    obj.initialize = em_kek_initialize;
    obj.initialize();

    for (var i=0;i < obj.AKey.length; i++){
        switch(obj.AKey[i]){
        case "mask" :
            obj.ikey="mask";
            obj.filter=KJS_DEFAULT_SPECIAL_CHAR;
            obj.keyupMasking();
            break ;
        case "date" :
            obj.keyupDate = ee_keyup_date;
            obj.ikey="date";
            obj.ikey_value = obj.getAttribute(obj.ikey);
            obj.keyupDate();
            break ;

        case "number" :
            obj.keyupNumber = ee_keyup_number;
            obj.ikey="number";
            obj.ikey_value = obj.getAttribute(obj.ikey);
            obj.keyupNumber();
            break ;

        case "entSubmit" :
            obj.ikey="entSubmit";
            obj.ikey_value = obj.getAttribute(obj.ikey);
            obj.enterSubmit();
            break ;

        }//end  switch(obj.AKey)                                              
    }


}


//////////////////////////////////////////////////////////////////////////////////
// ÇÔ¼ö¸í : skipKeyCode()
// ³»    ¿ë : skipÇÒ keyCode check
//
function skipKeyCode(keyCode) {
    if (keyCode == 8 || keyCode == 9 || keyCode == 35 || keyCode == 36 ||
        keyCode == 37 || keyCode == 39 || keyCode == 46) {
        return true;
    } else {
        return false;
    }
}

//////////////////////////////////////////////////////////////////////////////////
// ÇÔ¼ö¸í : ee_keyup_masking()
// ¸Þ¼Òµå¸í : element.keyupMasking(parent)
// ³»    ¿ë : elementÀÇ mask attributeÀÇ onkeyupÀÇ event¸¦ ½ÇÇàÇÑ´Ù.
//
function ee_keyup_masking(){

    var mask = this.getAttribute(this.ikey);
    var sMask = mask.replace( KJS_DEFAULT_SPECIAL_CHAR ,"");//Æ÷¸ËÇü½ÄÀ» Áö¿î´Ù.
    if (skipKeyCode(event.keyCode)) return; //ÇÊ¿äÇÑ Å°´Â °Ç³Ê¶Ú´Ù.
    if (!this.value) return;
    this.value = this.value.replace(this.filter , ""); //¼ýÀÚ¸¸ ÀÔ·Â°¡´É
    //this.value = this.value.replace(/([^0-9])/g, ""); //¼ýÀÚ¸¸ ÀÔ·Â°¡´É

    if (this.value.length < 1) return;
    var tStr = "";
    var j=0; 
    for (var i = 0; i < this.value.length; i++) {
        if (i > sMask.length-1) { //Æ÷¸ËÇü½Ä±æÀÌº¸´Ù ±æ¸é ³ª°£´Ù.
            break;
        }
        tStr += this.value.charAt(i);
        j++;
        if (j < mask.length && mask.charAt(j)!="9") tStr += mask.charAt(j++);
        
    }
    this.value = tStr;
}



//////////////////////////////////////////////////////////////////////////////////
// ÇÔ¼ö¸í : ee_keyup_date()
// ¸Þ¼Òµå¸í : element.keyupDate(parent)
// ³»    ¿ë : elementÀÇ date attributeÀÇ onkeyupÀÇ event¸¦ ½ÇÇàÇÑ´Ù.
//
function ee_keyup_date(){
    this.filter = /([^0-9])/g ; //¼ýÀÚ¿ÜÀÇ ¸ðµç°Í- ¼ýÀÚ¸¸ ÀÔ·Â°¡´É
    if (this.ikey_value)    this.mask=this.ikey_value;        
    this.keyupMasking();
}


//////////////////////////////////////////////////////////////////////////////////
// ÇÔ¼ö¸í : ee_keyup_number()
// ¸Þ¼Òµå¸í : element.keyupNumber(parent)
// ³»    ¿ë : elementÀÇ number attributeÀÇ onkeyupÀÇ event¸¦ ½ÇÇàÇÑ´Ù.
//
function ee_keyup_number(){
    this.filter = /([^0-9])/g ; //¼ýÀÚ¿ÜÀÇ ¸ðµç°Í- ¼ýÀÚ¸¸ ÀÔ·Â°¡´É
    
    if (skipKeyCode(event.keyCode)) return; //ÇÊ¿äÇÑ Å°´Â °Ç³Ê¶Ú´Ù.
    if (!this.value) return;
    this.value = this.value.replace(this.filter , ""); //¼ýÀÚ¸¸ ÀÔ·Â°¡´É
    this.focus();
}


//////////////////////////////////////////////////////////////////////////////////
// ÇÔ¼ö¸í : ee_enter_submit()
// ¸Þ¼Òµå¸í : element.enterSubmit(parent)
// ³»    ¿ë : 
//
function ee_enter_submit(){
    
    if (event.keyCode==13)  kjsSubmit(this.ikey_value);

}

