﻿//////////////////////////////////////////////////////////////////////
//  - readonly                                                      //
//    필드를 읽기전용으로 만든다.                                   //
//                                                                  //
//  - required                                                      //
//    필드를 필수입력으로 만든다.                                   //
//                                                                  //
//  - right                                                         //
//    필드내 text-alignment를 오른쪽으로 정리한다.                  //
//                                                                  //
//  - center                                                        //
//    필드내 text-alignment를 중앙정렬로 한다.                      //
//                                                                  //
//  - filter="[abcde-y]"                                            //
//                                                                  //
//  - mask="999-999"                                                //
//                                                                  //
//  - money                                                         //
//    금액 입력후 필드를 벗어나게 되면 세자리마다 콤마(,)가 생성된다//
//                                                                  //
//  - date                                                          //
//    날자를 입력하는 필드의 경우 사용한다.                         //
//                                                                  //
//  - number="(x,x)"                                                //
//   오라클 db에서 number(5,2)표시된 항목을 number="(5,2)" 표현     //
//                                                                  //
//  - number                                                        //
//   뒤에 포멧이 없을경우 [0-9] 사이의 숫자만 입력된다.             //
//                                                                  //
//////////////////////////////////////////////////////////////////////


var g_btn_Name;              // 클릭한 버튼 Object 저장.
var g_Error = "N";
var SUCCESS = 0;
var ERR_REQUIRED = 10;
var ERR_FORMAT = 20;
var ERR_DATE = 30;
var ERR_NUMBER = 40; 
var ERR_MAXLENGTH = 50;
var ERR_JUMIN = 60;
var ERR_MAIL = 70;
var ERR_COMP = 80;
var ERR_TEL = 90;
var ERR_LENGTH = 110;
var ERR_TIME = 120;
var ERR_YYYY = 130;
var ERR_FLOAT = 140;
var ERR_DATESHORT = 150;


var MSG_ERR010 = "필수입력 항목입니다";
var MSG_ERR020 = "입력형식을 확인해주세요.";
var MSG_ERR030 = "날짜만 입력가능합니다 .";
var MSG_ERR040 = "숫자만 입력가능합니다.";
var MSG_ERR050 = "최대 입력 자리수를 초과했습니다.";
var MSG_ERR060 = "주민등록번호를 확인해주세요.";
var MSG_ERR070 = "메일주소룰 확인해주세요.";
var MSG_ERR080 = "사업자등록번호를 확인해주세요.";
var MSG_ERR090 = "전화번호를 확인해주세요.";
var MSG_ERR100 = "지정되지 않은 에러입니다. 반드시관리자에게 연락하십시요";
var MSG_ERR110 = "입력 자리수를 확인해주세요.";
var MSG_ERR120 = "시간만 입력가능합니다.";
var MSG_ERR140 = "Float 형태만 입력가능합니다.";
var MSG_ERR150 = "[YYYY-MM] 형태로만 입력가능합니다.";

var TYPE_NONE = 0;
var TYPE_MONEY = 10;
var TYPE_DATE = 20;
var TYPE_MASK = 30;
var TYPE_NUMBER = 40;
var TYPE_JUMIN = 50;
var TYPE_MAIL = 60;
var TYPE_COMP = 70;
var TYPE_TEL = 80;
var TYPE_MMDD = 90;
var TYPE_HHMM = 100;
var TYPE_CSN = 110;
var TYPE_PSN = 120;
var TYPE_POST = 130;
var TYPE_FLOAT = 140;
var TYPE_DATESHORT = 150;


///////////////////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////////////////
// 함수명 : f_validate()
// 내  용 : 각 입력 값에 대한 입력 체크
//          Select는 필수입력여부만을 검사한다.
// Object : element
///////////////////////////////////////////////////////////////////////////////
function f_validate()
{
    var cValidTargetGroupName = this.getAttribute("ValidTargetGroupName");

    if(cValidTargetGroupName!=null && cValidTargetGroupName!="")
    {
        var cVal_array = cValidTargetGroupName.split(",");
        for(var k=0;k<cVal_array.length;k++){
          
	        if ( (cVal_array[k]==GroupName) && isBlank(this) && eval(this.getAttribute("Required")))
	        {
			        return ERR_REQUIRED;
	        }
	        else
	        {
	        if ( this.getAttribute("Required") != null && isBlank(this) && GroupName=="" ) return ERR_REQUIRED;
	        }
        }
    }
    else
    {
        return SUCCESS;
    }
    
    switch(this.iType){        
        case TYPE_MONEY :
            if(!isValid(this)) return ERR_NUMBER;
            break;
        case TYPE_DATE :
            if(!isDate(this)) return ERR_DATE;
            break;
        case TYPE_MMDD :
            if(!isDateMMDD(this)) return ERR_DATE;
            break;
        case TYPE_DATESHORT :
            if(!isDate(this)) return ERR_DATESHORT;
            break;    
        case TYPE_HHMM :
            if(!isTimeHHMM(this)) return ERR_TIME;
            break;
        case TYPE_MASK :
            if(!isValid(this)) return ERR_FORMAT;
            break;
        case TYPE_NUMBER :        
            if(!isValid(this)) return ERR_NUMBER;
            break;
        case TYPE_FLOAT :        
            if(!isFloat(this)) return ERR_FLOAT;
            break;
        case TYPE_JUMIN :
            if(!isJumin(this)) return ERR_JUMIN;
            break;
        case TYPE_COMP :
            if(!isComp(this)) return ERR_COMP;
            break;
        case TYPE_MAIL :
            if(!isMail(this)) return ERR_MAIL;
            break;
        case TYPE_TEL :
            if(!isTel(this)) return ERR_TEL;
            break;
        case TYPE_PSN :
            if(!isTel(this)) return ERR_FORMAT;
            break;
        case TYPE_CSN :
            if(!isTel(this)) return ERR_FORMAT;
            break;
        case TYPE_POST :
            if(!isTel(this)) return ERR_FORMAT;
            break;
        case TYPE_NONE :
            if(!isValid(this)) return ERR_FORMAT;
            if(!isLength(this)) return ERR_MAXLENGTH;
            if(!isCorrectLength(this)) return ERR_LENGTH;
            break;
    }

    return SUCCESS;
}

///////////////////////////////////////////////////////////////////////////////
// 함수명 : f_validate_display()
// 내  용 : 입력값 체크 결과에 따라 처리
// Object : element
///////////////////////////////////////////////////////////////////////////////
function f_validate_display()
{
//alert("ddd");
    var ret = this.validate();
    var msg = "";
    //alert("--- "+ret);

    switch(ret){
        case SUCCESS :
                    //if(this.getAttribute("readonly"))
                       //this.style.backgroundColor = "white";
                    //else
                        //this.style.backgroundColor = "";
                        
                    g_Error = "N";
                    return true;
        case ERR_REQUIRED :
                    msg = MSG_ERR010;
                    break;
        case ERR_DATE:
                    msg = MSG_ERR030;
                    break;
        case ERR_DATESHORT:
                    msg = MSG_ERR150;
                    break;
        case ERR_TIME:
                    msg = MSG_ERR120;
                    break;
        case ERR_JUMIN:
                    msg = MSG_ERR060;
                    break;
        case ERR_COMP:
                    msg = MSG_ERR080;
                    break;
        case ERR_MAIL:
                    msg = MSG_ERR070;
                    break;
        case ERR_TEL:
                    msg = MSG_ERR090;
                    break;
        case ERR_FORMAT :
                    msg = MSG_ERR020;
                    if(this.getAttribute("mask"))
                        msg += " 형식["+this.getAttribute("mask")+"]";
                    if(this.getAttribute("filter"))
                        msg += " 허용값"+this.getAttribute("filter");
                    break;
        case ERR_NUMBER :
                    msg = MSG_ERR040;
                    if(this.getAttribute("numeric"))
                        msg += " 형식"+this.getAttribute("numeric");
                    break;
         case ERR_FLOAT :
                    msg = MSG_ERR140;
                    if(this.getAttribute("fnumeric"))
                        msg += " 형식"+this.getAttribute("fnumeric");
                    break;
        case ERR_MAXLENGTH :
                    msg = MSG_ERR050 + "[최대자리수:"+this.getAttribute("MAXLENGTH")+"]";
                    break;
        case ERR_LENGTH :
                    msg = MSG_ERR110+ "[입력자리수:"+this.getAttribute("LENGTH")+"]";
                    break;        
        default :
                    msg = MSG_ERR100;
                    break;
    }
    //2009-12-22 박세건
    //System alert창이 아닌 사용자 창을 사용하기 위해 등록
    if (this.getAttribute("msgObject") == "X") {
        UserPopup(this.getAttribute("msg"));
        //alert(this.getAttribute("msg"));
    }
    else {
        if (this.getAttribute("msg"))
            alert(this.getAttribute("msg"));
        else
            alert("[" + this.getAttribute("msgObject") + "] " + msg);
    }
    this.style.backgroundColor = "YELLOW";
    if(this.focus) this.focus();
    
    g_Error = "Y";

    return false;
}

///////////////////////////////////////////////////////////////////////////////
// 함수명 : f_onkeypress()
// 내  용 : 키입력을 처리하기위한 핸들러
// Event : onKeyPress
// Object : element
///////////////////////////////////////////////////////////////////////////////
EnterVal = false;
function f_onkeypress() 
{
    var sFilter = this.getAttribute("filter");
    
    if(this.oldkeypress)
        this.oldkeypress();

    if(String.fromCharCode(event.keyCode) == "\r") {        
      if(this.getAttribute("date") != null) {           
            EnterVal = true;                
            return    DateCheck(this);
      }
      
      
    } else if(sFilter){
        var sKey = String.fromCharCode(event.keyCode);
        var re = new RegExp(sFilter);
        if(!re.test(sKey)) event.returnValue = false;
    }    
    
}

///////////////////////////////////////////////////////////////////////////////
// 함수명 : f_onfocus()
// 내  용 : 각 element의 focus를 위한 이벤트핸들러
// Event  : onFocus
// Object : element
///////////////////////////////////////////////////////////////////////////////
//달력컴포넌트 데이터 템프에 셋
function f_onfocus()
{
    var number = this.getAttribute("numeric");
    var money =  this.getAttribute("money");
    var date =  this.getAttribute("date");
    var nohangul = this.getAttribute("nohangul");

    if(number != null || money != null || date != null || nohangul != null){                 
         this.style.imeMode="disabled";                  
    }
                

    //일부수정 - 최종천------------------------------------------------------------------    
	if( this.value == null || this.value.length == null || this.value == "" ){                
        if(number != null || money != null){                 
            this.setAttribute("oldValue" ,0);                    
        }
	    return;	
	}
	else
    {
        this.setAttribute("oldValue" ,this.value);
    }
    //-----------------------------------------------------------------------------------    
    if(this.readOnly) return;

    toUnformat(this);
    if(this.select) this.select();
}


///////////////////////////////////////////////////////////////////////////////
// 함수명 : getNowDate()
// 내  용 :  오늘날짜.. 스크립트셋
///////////////////////////////////////////////////////////////////////////////
var  Temp_date=getNowDate();;
// 오늘날짜 가져오기 스크립트에서 
function getNowDate()
{
    var dDate = new Date();
    var dCurMonth = dDate.getMonth()+1;
    var dCurDayOfMonth = dDate.getDate();
    var dCurYear = dDate.getFullYear();
    if( dCurMonth < 10 )
	    {
		    dCurMonth = "0" + dCurMonth;
	    }
    	
    if( dCurDayOfMonth < 10 )
	    {
		    dCurDayOfMonth = "0" + dCurDayOfMonth;
	    }
    	
    return dCurYear +"" + dCurMonth + dCurDayOfMonth;
}


///////////////////////////////////////////////////////////////////////////////
// 함수명 : f_onblur()
// 내  용 : 각 element의 blur를 위한 이벤트핸들러
// Event  : onBlur
// Object : element
///////////////////////////////////////////////////////////////////////////////
function f_onblur()
{
    toUnformat(this); 
    
    //2008-10-16 김정일
    //파일업로드 타입처리시 stack overflow 오류처리때문에
    //조건구문 추가함.
    //추가전 코드
//    if(this.oldblur)
//        this.oldblur();        
    if(this.oldblur)
    {
        if(this.type!="file")  //김정일추가
            this.oldblur();
    } 
    
                         
    var number = this.getAttribute("numeric");
    //var fnumber = this.getAttribute("float");
    var money =  this.getAttribute("money");
    
    if(number != null || money != null){
       CheckDataNumber(this);
    }
    
    if(number == 'true'){
    
    var vdata = this.value.substring(1);
                      
    var minus = false;
		if(vdata.indexOf("-") != -1)
		    minus = true;
		
      if(minus){
    	alert("숫자만 입력가능합니다.");				 
			this.focus();
			this.value = this.getAttribute("oldValue");
			this.select();
		return false;
		}
		
		}
    
    var date = this.getAttribute("date");
    
    if( date != null && !EnterVal  )
    {  
        if(this.getAttribute("NODATA") && this.value.length==0) return true

        if( CheckDateNumber(this))
            this.setAttribute("validDate",this.value);                      
    }
    var yyyy = this.getAttribute("yyyy");
    if( yyyy != null ){
        if( CheckYYYYNumber(this)) this.setAttribute("validDate",this.value);                      
    }
                
    nMode = number;          
    					
    if( nMode != 'true')
    {
         //alert(nMode);
	    if( nMode != null && nMode != "") 
	    {                             
		    var FirstNum = nMode.substring(1,nMode.indexOf(","));
		    var LastNum = nMode.substring(nMode.indexOf(",")+1, nMode.indexOf(")"));
		    var result = FloatCheck(this, FirstNum,LastNum);
	    }   
    }
        
    toFormat(this);     
    EnterVal = false;       
}

///////////////////////////////////////////////////////////////////////////////
// 함수명 : f_onsubmit()
// 내  용 : Form에서 입력값 Submit시 에러체크를 위한 함수
// Event : onSubmit
// Object : Form
///////////////////////////////////////////////////////////////////////////////
function f_onsubmit()
{
    
   //모래시계표시..
   //Wait(); 
    for(var i = 0; i < this.elements.length; i++){
        if(this.elements[i].validate) {
            if(!this.elements[i].validate_display()){
            	// 2004.09.21           	
            	this.onsubmit = this.oldSubmit;
                return false;
            }
        }
    }
    
    for(var i = 0; i < this.elements.length; i++)
        toUnformat(this.elements[i]);

    for(var i = 0; i < this.elements.length; i++)
        if(this.elements[i].disabled)
            this.elements[i].disabled = false;
    
    // GSDF 버튼 컨트롤에 [ShowLoad] Attribute를 추가하면 로딩바를 보여주도록 함.
    //var isShowLoading = GetObject(g_btn_Name).getAttribute("ShowLoad");
    //if (isShowLoading != null)
    //{
    //   showLoading();
    //}
        
    
    //this.submit();
    return true;
}


///////////////////////////////////////////////////////////////////////////////
// 함수명 : init()
// 내  용 : Body가 Load될때 Form의 각 Elements에 Attribute지정 및 EventHandler지정
///////////////////////////////////////////////////////////////////////////////
function init() {
    var objType;
    var bCheckObj = false;
    
    for(var f = 0; f < document.forms.length; f++)
    {
        var mForm =  document.forms[f];
        var iElements = mForm.elements.length;
        for(var i = 0; i < iElements; i++){
            objType = mForm.elements[i].type;
            
            /// 체크할 Object 판단.
            if (objType == "text" || objType == "password" || objType == "file" || objType == "select-one" || objType == "textarea")
            {
                bCheckObj = true;
            }
                
            if (bCheckObj) 
            {
                var required = mForm.elements[i].getAttribute("Required");
                var number = mForm.elements[i].getAttribute("numeric");
                var fnumber =  mForm.elements[i].getAttribute("float");
                var money = mForm.elements[i].getAttribute("money");
                var date = mForm.elements[i].getAttribute("date");
                var jumin = mForm.elements[i].getAttribute("jumin");
                var comp = mForm.elements[i].getAttribute("comp");
                var mail = mForm.elements[i].getAttribute("mail");
                var mask = mForm.elements[i].getAttribute("mask");
                var tel = mForm.elements[i].getAttribute("tel");
                var fcs = mForm.elements[i].getAttribute("fcs");
                var mmdd = mForm.elements[i].getAttribute("mmdd");
                var hhmm = mForm.elements[i].getAttribute("hhmm");
                var yyyy = mForm.elements[i].getAttribute("yyyy");
                var csn = mForm.elements[i].getAttribute("csn");
                var psn = mForm.elements[i].getAttribute("psn");
                var post = mForm.elements[i].getAttribute("post");
                var dateshort = mForm.elements[i].getAttribute("dateshort");    
                var className = mForm.elements[i].getAttribute("className");
                           
//                // style 적용
//                if (className != "")
//                {
//                    mForm.elements[i].className = className;   
//                }
                
                switch( mForm.elements[i].type ) {
                    case "text" :
                        if(money != null) {
                            mForm.elements[i].iType = TYPE_MONEY;
                            mForm.elements[i].style.textAlign = "right";
                            // filter 속성이 있는 경우는 filter필터 속성을 사용함 (수정)
                            if(mForm.elements[i].getAttribute("filter") == null) 
                            mForm.elements[i].setAttribute("filter","[-0-9]");                                                        
                        } else if(date != null) {
                            mForm.elements[i].iType = TYPE_DATE;
                            mForm.elements[i].style.textAlign = "center";
                            mForm.elements[i].setAttribute("filter","[0-9]");                            
                            if(!mask)
                                mForm.elements[i].setAttribute("mask","9999-99-99");
                        } else if(mmdd != null) {
                            mForm.elements[i].iType = TYPE_MMDD;
                            mForm.elements[i].style.textAlign = "center";
                            mForm.elements[i].setAttribute("filter","[0-9]");
                            if(!mask)
                                mForm.elements[i].setAttribute("mask","99-99");
                        } else if(dateshort != null) {
                            mForm.elements[i].iType = TYPE_DATESHORT;
                            mForm.elements[i].style.textAlign = "center";
                            mForm.elements[i].setAttribute("filter","[0-9]");
                            if(!mask)
                                mForm.elements[i].setAttribute("mask","YYYY-MM");
                        } else if(hhmm != null) {
                            mForm.elements[i].iType = TYPE_HHMM;
                            mForm.elements[i].style.textAlign = "center";
                            mForm.elements[i].setAttribute("filter","[0-9]");
                            if(!mask)
                                mForm.elements[i].setAttribute("mask","99:99");
                        } else if(number != null) {
                            mForm.elements[i].iType = TYPE_NUMBER;
                            mForm.elements[i].style.textAlign = "right";                                     
                            if(number)                                                            
                                mForm.elements[i].setAttribute("filter","[-.0-9]");
                            else
                                mForm.elements[i].setAttribute("filter","[0-9]");    
                        } else if(fnumber != null) {
                            mForm.elements[i].iType = TYPE_FLOAT;
                            mForm.elements[i].style.textAlign = "right";                                     
                            if(fnumber)                                                            
                                mForm.elements[i].setAttribute("filter","[-.0-9]");
                            else
                                mForm.elements[i].setAttribute("filter","[-.0-9]");  
                        } else if( yyyy != null) {
                            mForm.elements[i].iType = TYPE_NUMBER;
                            mForm.elements[i].style.textAlign = "center";                                     
                            if(number)
                                mForm.elements[i].setAttribute("filter","[.0-9]");
                            else
                                mForm.elements[i].setAttribute("filter","[0-9]"); 
                        }
                         else if(jumin != null) {
                            mForm.elements[i].iType = TYPE_JUMIN;
                            mForm.elements[i].style.textAlign = "center";
                            mForm.elements[i].style.imeMode = "inactive";
                            mForm.elements[i].setAttribute("filter","[0-9]");
                            mForm.elements[i].setAttribute("mask","999999-9999999");
                        } else if(psn != null) {
                            mForm.elements[i].iType = TYPE_PSN;
                            mForm.elements[i].style.textAlign = "center";
                            mForm.elements[i].style.imeMode = "inactive";
                            mForm.elements[i].setAttribute("filter","[-0-9]");
                            mForm.elements[i].setAttribute("mask","999999-9999999");
                        } else if(csn != null) {
                            mForm.elements[i].iType = TYPE_CSN;
                            mForm.elements[i].style.textAlign = "center";
                            mForm.elements[i].style.imeMode = "inactive";
                            mForm.elements[i].setAttribute("filter","[-0-9]");
                            mForm.elements[i].setAttribute("mask","999-99-99999");
                        } else if(post != null) {
                            mForm.elements[i].iType = TYPE_POST;
                            mForm.elements[i].style.textAlign = "center";
                            mForm.elements[i].style.imeMode = "inactive";
                            mForm.elements[i].setAttribute("filter","[-0-9]");
                            mForm.elements[i].setAttribute("mask","999-999");
                        } else if(mail != null) {
                            mForm.elements[i].iType = TYPE_MAIL;
                            mForm.elements[i].style.imeMode = "inactive";
                            mForm.elements[i].setAttribute("filter","[a-zA-Z0-9.@]");
                        } else if(tel != null) {
                            mForm.elements[i].iType = TYPE_TEL;
                            mForm.elements[i].style.imeMode = "inactive";
                            mForm.elements[i].setAttribute("filter","[0-9-]");
                        } else if(mask) {
                            mForm.elements[i].iType = TYPE_MASK;                                                 
                         }else {
                            mForm.elements[i].iType = TYPE_NONE;
                        }
                    case "password" :
                    case "file" :
                        if(required != null ) {
                            mForm.elements[i].style.backgroundImage="url(/Resources/Images/Common/required.gif)";
                            mForm.elements[i].style.backgroundPosition="top right";
                            mForm.elements[i].style.backgroundRepeat="no-repeat";
                        }

                        mForm.elements[i].oldkeypress = mForm.elements[i].onkeypress;
                        mForm.elements[i].onkeypress = f_onkeypress;
                        mForm.elements[i].onfocus = f_onfocus;
                        mForm.elements[i].oldblur = mForm.elements[i].onblur;
                        mForm.elements[i].onblur = f_onblur;
                    case "select-one":
                        mForm.elements[i].validate = f_validate;
                        mForm.elements[i].validate_display = f_validate_display;
                        break;
                    case "textarea" :
                        if(required != null ) {
                            mForm.elements[i].style.backgroundImage="url(/Resources/Images/Common/required.gif)";
                            mForm.elements[i].style.backgroundPosition="top right";
                            mForm.elements[i].style.backgroundRepeat="no-repeat";
                        }
                        mForm.elements[i].validate = f_validate;
                        mForm.elements[i].validate_display = f_validate_display;
                        break;
                    default:
                        break;
                }
            }

//            if(mForm.elements[i].getAttribute("readonly")) {
//                mForm.elements[i].style.backgroundColor = "";
//                mForm.elements[i].tabIndex = -1;
//            }

            if( mForm.elements[i].getAttribute("left") != null )
                mForm.elements[i].style.textAlign = "left";
            if( mForm.elements[i].getAttribute("right") != null )
                mForm.elements[i].style.textAlign = "right";
            if( mForm.elements[i].getAttribute("center") != null )
                mForm.elements[i].style.textAlign = "center";

            if( mForm.elements[i].type != "hidden")
                toFormat(mForm.elements[i]);

            if(fcs != null)
                mForm.elements[i].focus();
        }       
    }

    
    if(document.all && document.all.tags("BLINK").length > 0)
        setInterval("setBlink()",500);
}


/////////////////////////////////////////////////////////////////////////////////////
function Controlinit(objname) 
{              
    obj = GetObject(objname);
    var required = obj.getAttribute("Required");
    var number = obj.getAttribute("numeric");
    var fnumber = obj.getAttribute("float");
    var money = obj.getAttribute("money");
    var date = obj.getAttribute("date");
    var jumin = obj.getAttribute("jumin");
    var comp = obj.getAttribute("comp");
    var mail = obj.getAttribute("mail");
    var mask = obj.getAttribute("mask");
    var tel = obj.getAttribute("tel");
    var fcs = obj.getAttribute("fcs");
    var mmdd = obj.getAttribute("mmdd");
    var hhmm = obj.getAttribute("hhmm");
    var yyyy = obj.getAttribute("yyyy");  
    var csn = obj.getAttribute("csn");
    var psn = obj.getAttribute("psn");
    var post = obj.getAttribute("post");    
    var dateshort = obj.getAttribute("dateshort");         

    switch( obj.type ) 
    {
        case "text" :
        if(money != null) {
            obj.iType = TYPE_MONEY;
            obj.style.textAlign = "right";
            obj.setAttribute("filter","[0-9]");                                                        
        } else if(date != null) {
            obj.iType = TYPE_DATE;
            obj.style.textAlign = "center";
            obj.setAttribute("filter","[0-9]");                            
            if(!mask)
                obj.setAttribute("mask","9999-99-99");
        } else if(mmdd != null) {
            obj.iType = TYPE_MMDD;
            obj.style.textAlign = "center";
            obj.setAttribute("filter","[0-9]");
            if(!mask)
                obj.setAttribute("mask","99-99");
         } else if(dateshort != null) {
            obj.iType = TYPE_DATESHORT;
            obj.style.textAlign = "center";
            obj.setAttribute("filter","[0-9]");
            if(!mask)
                obj.setAttribute("mask","YYYY-MM");
        } else if(hhmm != null) {
            obj.iType = TYPE_HHMM;
            obj.style.textAlign = "center";
            obj.setAttribute("filter","[0-9]");
            if(!mask)
                obj.setAttribute("mask","99:99");
        } else if(number != null ) {
            obj.iType = TYPE_NUMBER;
            obj.style.textAlign = "right";                                     
            if(number)
                obj.setAttribute("filter","[.0-9]");
            else
                obj.setAttribute("filter","[0-9]");   
         } else if(fnumber != null ) {
            obj.iType = TYPE_FLOAT;
            obj.style.textAlign = "right";                                     
            if(fnumber)
                obj.setAttribute("filter","[-.0-9]");
            else
                obj.setAttribute("filter","[-.0-9]");  
        } else if(yyyy != null) {
            obj.iType = TYPE_NUMBER;
            obj.style.textAlign = "center";                                     
            if(number)
                obj.setAttribute("filter","[.0-9]");
            else
                obj.setAttribute("filter","[0-9]");                                
        } else if(jumin != null) {
            obj.iType = TYPE_JUMIN;
            obj.style.textAlign = "center";
            obj.style.imeMode = "inactive";
            obj.setAttribute("filter","[0-9]");
            obj.setAttribute("mask","999999-9999999");
        } else if(psn != null) {
            obj.iType = TYPE_PSN;
            obj.style.textAlign = "center";
            obj.style.imeMode = "inactive";
            obj.setAttribute("filter","[-0-9]");
            obj.setAttribute("mask","999999-9999999");
        } else if(csn != null) {
            obj.iType = TYPE_CSN;
            obj.style.textAlign = "center";
            obj.style.imeMode = "inactive";
            obj.setAttribute("filter","[-0-9]");
            obj.setAttribute("mask","999-99-99999");
        } else if(post != null) {
            obj.iType = TYPE_POST;
            obj.style.textAlign = "center";
            obj.style.imeMode = "inactive";
            obj.setAttribute("filter","[-0-9]");
            obj.setAttribute("mask","999-999");
        } else if(mail != null) {
            obj.iType = TYPE_MAIL;
            obj.style.imeMode = "inactive";
            obj.setAttribute("filter","[a-zA-Z0-9.@]");
        } else if(tel != null) {
            obj.iType = TYPE_TEL;
            obj.style.imeMode = "inactive";
            obj.setAttribute("filter","[0-9-]");
        } else if(mask) {
            obj.iType = TYPE_MASK;
        } else {
            obj.iType = TYPE_NONE;
        }                
    default:
        break;
    }

    obj.oldkeypress = obj.onkeypress;
    obj.onkeypress = f_onkeypress;
    obj.onfocus = f_onfocus;
    obj.oldblur = obj.onblur;
    obj.onblur = f_onblur;

    if(obj.getAttribute("readonly")) {
    //  obj.style.backgroundColor = "#E8E8E8";
    obj.tabIndex = -1;
    }

    if( obj.getAttribute("left") != null )
    obj.style.textAlign = "left";
    if( obj.getAttribute("right") != null )
    obj.style.textAlign = "right";
    if( obj.getAttribute("center") != null )
    obj.style.textAlign = "center";

    if( obj.type != "hidden")
    toFormat(obj);

    if(fcs != null)
    obj.focus(); 
}


/////////////////////////////////////////////////////////////////////////////////////
var GroupName ="";

function serveSubmit(groupName)
{
    g_btn_Name = event.srcElement.id;
        
    try
	{  
        //alert(groupName); 
		if(!fnCommValidateCheck())
		{
		    //g_Error = "Y";
		    return false;
		}
	}
	catch(exception)
	{
	    		
	}
    
    GroupName = groupName;
    for(var f = 0 ; f< document.forms.length ; f++)
    {
        
        var mForm = document.forms[f];        
        mForm.oldSubmit = mForm.onsubmit;
	    mForm.onsubmit = f_onsubmit; 
    } 
  
}


function CheckItems()
{
    for(var f = 0 ; f< document.forms.length ; f++)
	{	 
        var mForm = document.forms[f];
	       
        for(var i = 0; i < mForm.elements.length; i++)
        {
        //------------컴포넌트 From To 체크 ----
          
          from_to =mForm.elements[i].getAttribute("NumFromTo");						  
	        if(from_to != null){
		           from = from_to.split(",")[0]
 		           to = from_to.split(",")[1]						   
                   if(checkFromTo(from,to) == false) return false ;							
            }
          // 로직끝...

	        if(mForm.elements[i].validate) {
			        if(!mForm.elements[i].validate_display())  return false;
	        }
        }
	}
	return true;
}		
   
function checkFromTo(from,to)
{	   		
	toUnformat(GetObject(from));
	toUnformat(GetObject(to));
	from_n = intValue2(from);
	to_n = intValue2(to);             		  
	toFormat(GetObject(from));
	toFormat(GetObject(to));
   
    if( from_n > to_n )
    {
        alert("시작금액은 종료금액보다 작아야 합니다. ");
        GetObject(from).focus();
        GetObject(from).select();
        return false;
    }
    return true;
}
   

function intValue2(obj)
{             
    return Number(GetObject(obj).value);		                    
}		     

