/*INISEAL:[jLjtYR4mArAlYGXI7oOL5XeMxNA%3D%0A]*/
/*****************************************************************************
 * ÆÄÀÏ¸í : pbk-commoncheckatp.js
 * ÀÛ¼ºÀÏ : 2008. 04. 19
 * ÀÛ¼ºÀÚ : ej
 * ¼³   ¸í : pbk_common.js¸¦ ±â´Éº° ºÐ¸®.
 * ===========================================================================
 * º¯°æÀÌ·Â:
 * DATE				AUTHOR		DESCRIPTION
 * ---------------------------------------------------------------------------
 * º¯°æ ÀÌ·ÂÀº ÀÌ°÷¿¡ Ãß°¡ ÇÕ´Ï´Ù.
 *****************************************************************************/
/**
 * °èÁÂ ºñ¹Ð¹øÈ£ °ËÁõ.
 * @author jk
 * @since 2009. 01. 19
 */
pbk.common.checkAcctPwd = function(){
	return {
        // ´ÙÀ½´Ü°è·Î ³Ñ±æ Æû
        formObj : null,
        // °ËÁõÈÄ °»½ÅÇÒ È­¸é DIV ¿µ¿ª.
        passDiv : "hanaBodyDiv",
        // °ËÁõ ¿Ï·áÈÄ ½ÇÇàÇÒ ¾×¼Ç url 
        nextUrl : null,
        // °èÁÂ ºñ¹Ð¹øÈ£ °ËÁõ callback È½¼ö
        callBackCount : 0,
        // Ãâ±Ý°èÁÂ°ËÁõ¿©ºÎ(ÀÔÃâ±ÝÁöÁ¤°èÁÂ¿©ºÎ °ËÁõ½Ã Y)
        wdrwAcctVrfcYn : null,
        // °èÁÂ¼­ºñ½ºÄÚµå(ÀÔÃâ±ÝÁöÁ¤°èÁÂ±¸ºÐ(01: Ãâ±Ý°èÁÂ, 02: ÀÔ±Ý°èÁÂ). ÀÔ·ÂÇÏÁö ¾ÊÀ¸¸é 01·Î ÀÚµ¿ SET)
        acctSvcCd : null,
        // ÀºÇàÄÚµå(°ËÁõ´ë»ó°èÁÂÀÇ ÀºÇàÄÚµå. ÀÔ±ÝÁöÁ¤°èÁÂÀÎ °æ¿ì´Â Å¸ÇàÀÌ °¡´ÉÇÏ¹Ç·Î ÀÌ °æ¿ì¿¡ »ç¿ëÇÏ±â À§ÇÑ ¿ëµµÀÌ¸ç ºñ¿öµÎ´Â °æ¿ì ´çÇà(081)·Î ÀÚµ¿¼¼ÆÃ)
        bnkCd : null,
        // ½Ç¸í¹øÈ£Ã¼Å©¿©ºÎ(½Ç¸íÃ¼Å©¿©ºÎ¸¦ °ËÁõÀ» ÇÒ °æ¿ì Y·Î SET)
        acnmNoChckYn : 'Y',
        // ºñ¹Ð¹øÈ£ °ËÁõ È½¼ö
        nCnt : 0,
        // °ËÁõÈÄ ½ÇÇàÇÒ ¾×¼ÇÀÇ Æû
        nextForm : 0,
        // º¸¾ÈÄ«µå Á¦Ãâ¿©ºÎ
        secCard : false,
        
        /**
         * °ËÁõ ½ÇÇà.
         * 
         * @praram (Object) formObj
         * @praram (Stirng) passDiv
         * @praram (Stirng) nextUrl
         * @praram (Object) nextForm
         * @praram (int) nCnt
         * @praram (Stirng) acctNoFieldNm
         * @praram (Stirng) acctPwFieldNm
         * @praram (boolean) secCard
         *
         * @since 2008.10.03 jk
         */
        initAccountPassword : function(formObj,passDiv,nextUrl,nextForm,nCnt,acctNoFieldNm,acctPwFieldNm,secCard) {
            if(formObj == null || formObj == undefined){
                message.alert('ÀÔ·Â ¿À·ù','ºñ¹Ð¹øÈ£ °ËÁõÇÒ Form ÀÌ ¼³Á¤µÇÁö ¾Ê¾Ò½À´Ï´Ù!');
                return;
            }     
            
            // º¯¼ö ÃÊ±âÈ­
            pbk.common.checkAcctPwd.clearAccountPassword();  
 
             // °ËÁõÆû ¼³Á¤.
            pbk.common.checkAcctPwd.formObj = formObj;
            
             // °ËÁõÈÄ ½ÇÇàÇÒ ¾×¼ÇÀÇ Æû ¼³Á¤.
            if(nextForm == null || nextForm == undefined){
                pbk.common.checkAcctPwd.nextForm = formObj;
            }else{
                pbk.common.checkAcctPwd.nextForm = nextForm;
            }     
            
             // °ËÁõ ÇÊµå¸í ¼³Á¤.
            if(acctNoFieldNm == null || acctNoFieldNm == undefined){
                acctNoFieldNm = "acctNo";
            }     
            if(acctPwFieldNm == null || acctPwFieldNm == undefined){
                acctPwFieldNm = "acctPw";
            }     
            form.createHiddenField(formObj, 'acctNoFieldNm', acctNoFieldNm, false);
            form.createHiddenField(formObj, 'acctPwFieldNm', acctPwFieldNm, false);
            
            // ºñ¹Ð¹øÈ£ °ËÁõÇÒ È½¼ö. default=1
            pbk.common.checkAcctPwd.nCnt = nCnt;
            
            if(pbk.common.checkAcctPwd.nCnt == undefined){
                pbk.common.checkAcctPwd.nCnt = 1;
            }
            
            // º¸¾ÈÄ«µå Á¦Ãâ¿©ºÎ
            if(secCard != null && secCard != undefined){
                pbk.common.checkAcctPwd.secCard = secCard;
            }
            
            // ¿É¼Ç¼³Á¤.
            //form.createHiddenField(formObj, 'wdrwAcctVrfcYn', pbk.common.checkAcctPwd.wdrwAcctVrfcYn, false);
            //form.createHiddenField(formObj, 'acctSvcCd', pbk.common.checkAcctPwd.acctSvcCd, false);
            //form.createHiddenField(formObj, 'bnkCd', pbk.common.checkAcctPwd.bnkCd , false);
            form.createHiddenField(formObj, 'acnmNoChckYn', pbk.common.checkAcctPwd.acnmNoChckYn, false);
            
            if(passDiv != undefined)        pbk.common.checkAcctPwd.passDiv  = passDiv;
            if(nextUrl != undefined)        pbk.common.checkAcctPwd.nextUrl  = nextUrl;
            
            // °ËÁõ ½ÇÇà.
            pbk.common.checkAcctPwd.checkAccountPassword();
        },
        // ¹öÆ° Ã³¸®Áß.. Ç¥½Ã Ã³¸® Ãß°¡ 
        initAccountPassword2 : function(formObj,passDiv,nextUrl,nextForm,nCnt,acctNoFieldNm,acctPwFieldNm,secCard) {
            if(formObj == null || formObj == undefined){
                message.alert('ÀÔ·Â ¿À·ù','ºñ¹Ð¹øÈ£ °ËÁõÇÒ Form ÀÌ ¼³Á¤µÇÁö ¾Ê¾Ò½À´Ï´Ù!');
                return;
            }     
            
            // º¯¼ö ÃÊ±âÈ­
            pbk.common.checkAcctPwd.clearAccountPassword();  
 
             // °ËÁõÆû ¼³Á¤.
            pbk.common.checkAcctPwd.formObj = formObj;
            
             // °ËÁõÈÄ ½ÇÇàÇÒ ¾×¼ÇÀÇ Æû ¼³Á¤.
            if(nextForm == null || nextForm == undefined){
                pbk.common.checkAcctPwd.nextForm = formObj;
            }else{
                pbk.common.checkAcctPwd.nextForm = nextForm;
            }     
            
             // °ËÁõ ÇÊµå¸í ¼³Á¤.
            if(acctNoFieldNm == null || acctNoFieldNm == undefined){
                acctNoFieldNm = "acctNo";
            }     
            if(acctPwFieldNm == null || acctPwFieldNm == undefined){
                acctPwFieldNm = "acctPw";
            }     
            form.createHiddenField(formObj, 'acctNoFieldNm', acctNoFieldNm, false);
            form.createHiddenField(formObj, 'acctPwFieldNm', acctPwFieldNm, false);
            
            // ºñ¹Ð¹øÈ£ °ËÁõÇÒ È½¼ö. default=1
            pbk.common.checkAcctPwd.nCnt = nCnt;
            
            if(pbk.common.checkAcctPwd.nCnt == undefined){
                pbk.common.checkAcctPwd.nCnt = 1;
            }
            
            // º¸¾ÈÄ«µå Á¦Ãâ¿©ºÎ
            if(secCard != null && secCard != undefined){
                pbk.common.checkAcctPwd.secCard = secCard;
            }
            
            // ¿É¼Ç¼³Á¤.
            //form.createHiddenField(formObj, 'wdrwAcctVrfcYn', pbk.common.checkAcctPwd.wdrwAcctVrfcYn, false);
            //form.createHiddenField(formObj, 'acctSvcCd', pbk.common.checkAcctPwd.acctSvcCd, false);
            //form.createHiddenField(formObj, 'bnkCd', pbk.common.checkAcctPwd.bnkCd , false);
            form.createHiddenField(formObj, 'acnmNoChckYn', pbk.common.checkAcctPwd.acnmNoChckYn, false);
            
            if(passDiv != undefined)        pbk.common.checkAcctPwd.passDiv  = passDiv;
            if(nextUrl != undefined)        pbk.common.checkAcctPwd.nextUrl  = nextUrl;
            
            // °ËÁõ ½ÇÇà.
            pbk.common.checkAcctPwd.checkAccountPassword2();
        },
        /**
         * º¯¼ö ÃÊ±âÈ­.
         *
         * @since 2008.10.03 jk
         */
        clearAccountPassword : function() {        
            pbk.common.checkAcctPwd.formObj = null;
            pbk.common.checkAcctPwd.passDiv  = "hanaBodyDiv";
            pbk.common.checkAcctPwd.nextUrl  = null;
            pbk.common.checkAcctPwd.callBackCount = 0;
            pbk.common.checkAcctPwd.wdrwAcctVrfcYn = null;
            pbk.common.checkAcctPwd.acctSvcCd = null;
            pbk.common.checkAcctPwd.bnkCd = null;
            pbk.common.checkAcctPwd.acnmNoChckYn = 'Y';
            pbk.common.checkAcctPwd.nCnt = 0;
        },
        
        /**
         * ºñ¹Ð¹øÈ£ °ËÁõ ¿¢¼Ç Ajax È£Ãâ.
         *
         * @param (Object) url
         * @since 2008.10.03 jk
         */
        checkAccountPassword : function() {
            var formObj = pbk.common.checkAcctPwd.formObj;
            form.createHiddenField(formObj, 'currentCnt', pbk.common.checkAcctPwd.callBackCount, false);
            
            // º¸¾ÈÄ«µå Á¦Ãâ½Ã Ã³À½ °ËÁõ¿¡¸¸ Á¦Ãâ.
            if(pbk.common.checkAcctPwd.secCard == true && pbk.common.checkAcctPwd.callBackCount == 0){
                if(securityPasswdCheck()){
                    var url = pbk.APPLICATION_CONTEXT_ROOT + "/common/acctPwCheckSec.do";
                    var hanaAjax = new hana.JHanaAjax(null, true, true);
                    hanaAjax.ajaxSubmit(url, formObj, true, pbk.common.checkAcctPwd.confirmPasswordCallback,'UTF-8');
                }          
            }else{
                var url = pbk.APPLICATION_CONTEXT_ROOT + "/common/acctPwCheck.do";
                var hanaAjax = new hana.JHanaAjax(null, true, true);
                hanaAjax.ajaxSubmit(url, formObj, true, pbk.common.checkAcctPwd.confirmPasswordCallback,'UTF-8');          
            }
        },
        /**
         * ºñ¹Ð¹øÈ£ °ËÁõ ¿¢¼Ç Ajax È£Ãâ.
         *
         * @param (Object) url
         * @since 2008.10.03 jk
         */
        checkAccountPassword2 : function() {
            var formObj = pbk.common.checkAcctPwd.formObj;
            form.createHiddenField(formObj, 'currentCnt', pbk.common.checkAcctPwd.callBackCount, false);
            
            // º¸¾ÈÄ«µå Á¦Ãâ½Ã Ã³À½ °ËÁõ¿¡¸¸ Á¦Ãâ.
            if(pbk.common.checkAcctPwd.secCard == true && pbk.common.checkAcctPwd.callBackCount == 0){
                if(securityPasswdCheck()){
                    var url = pbk.APPLICATION_CONTEXT_ROOT + "/common/acctPwCheckSec.do";
                    var hanaAjax = new hana.JHanaAjax(null, true, true, null, 'confirmBtn');
                    hanaAjax.ajaxSubmit(url, formObj, true, pbk.common.checkAcctPwd.confirmPasswordCallback,'UTF-8');
                }          
            }else{
                var url = pbk.APPLICATION_CONTEXT_ROOT + "/common/acctPwCheck.do";
                var hanaAjax = new hana.JHanaAjax(null, true, true, null, 'confirmBtn');
                hanaAjax.ajaxSubmit(url, formObj, true, pbk.common.checkAcctPwd.confirmPasswordCallback,'UTF-8');          
            }
        },
        /**
         * °èÁÂ ºñ¹Ð¹øÈ£ Ã¼Å© ÄÝ¹éÇÔ¼ö
         * @param {Object} res
         * @param {Object} opt
         * 
         * since 2008.10.03 jk
         */
         confirmPasswordCallback : function(res, opt){
            // JsonÅ¸ÀÔÀ¸·Î º¯È¯
            var data = eval('(' + res.responseText + ')');
                            
            // °ËÁõÈ½¼ö
            pbk.common.checkAcctPwd.callBackCount = parseInt(pbk.common.checkAcctPwd.callBackCount) + 1;
            var currentCnt = pbk.common.checkAcctPwd.callBackCount;
            
            // ºñ¹Ð¹øÈ£ °ËÁõ ¿Ï·á(°èÁÂ°¡ ÀÖ°Å³ª ºñ¹Ð¹øÈ£ °Ë»ç skip)
            if (data && data.outputMsg && data.outputMsg != undefined && (data.outputMsg.prsBal != undefined || data.outputMsg == 'skip')) {
                var _data = data.outputMsg;
                
                if(currentCnt < pbk.common.checkAcctPwd.nCnt){
                    // ´ÙÀ½ °èÁÂ ºñ¹Ð¹øÈ£ °ËÁõ
                    pbk.common.checkAcctPwd.checkAccountPassword();
                }else{
                    // ¸ðµç °èÁÂ ºñ¹Ð¹øÈ£ °ËÁõÈÄ ´ÙÀ½´Ü°è·Î ÀÌµ¿
                    if(pbk.common.checkAcctPwd.nextUrl != null){
                        var hanaAjax = new hana.JHanaAjax(pbk.common.checkAcctPwd.passDiv, true, true);
                        hanaAjax.ajaxCommSubmit(pbk.common.checkAcctPwd.nextUrl, pbk.common.checkAcctPwd.nextForm);
                    }  
                    return true;
                }  
            // ºñ¹Ð¹øÈ£ °ËÁõ ½ÇÆÐ.         
            }else{
                return false;
            }
        }    
	}
}();

