﻿// JScript File
/**********************************/
/*              XML               */
/**********************************/

function GetXMLChildValue(XMLObj, ChildName, objNodelist, Row){
    var Value = "";
   
    if ((objNodelist==null)||(Row==null)) {
        var XMLChild = XMLObj.getElementsByTagName(ChildName);
        Value = XMLChild[0].childNodes[0].nodeValue;
    }
    else {
        var XMLChild = objNodelist[Row].getElementsByTagName(ChildName)[0].childNodes;
        //alert(XMLChild.length);
        if (XMLChild.length>0) {
            Value = XMLChild[0].nodeValue;
        }
        else { 
            Value = "";
        }
    }
    return Value;
}

function LoadXMLPrototype(Response){
    // code for IE
    if (window.ActiveXObject) {
        try {
            var XMLObj=new ActiveXObject("Microsoft.XMLDOM");
            XMLObj.async="false";
            XMLObj.loadXML(Response);
        } catch(err) {
            alert ('LoadXMLPrototype exception: ' + err);
            throw err;
        }
    }
    // code for Mozilla, Firefox, Opera, etc.
    else {
       try {
            var parser=new DOMParser();
            var XMLObj=parser.parseFromString(Response,"text/xml");
        } catch(err) {
            alert ('LoadXMLPrototype exception: ' + err);
            throw err;
        }
    }
    //Check for SessionTime Out
    if (GetXMLChildValue(XMLObj, "m_SysCodeRes")=="10"){parent.window.location.href = "default.aspx"; }
    
    return XMLObj;
}
/**********************************/
/*            Windows             */
/**********************************/

function ShowLoader(Message) {
    Dialog.info(Message, {className: "alphacube", width:250, height:100, showProgress: true});
}

function ShowAlert(Message) {
    Dialog.alert(Message, {
        width:300, 
        height:100,
        className: "alphacube", 
        okLabel: "close", 
        ok:function(win) {
            debug("validate alert panel"); 
            return true;
        }
    });
}

function ShowCancel(Message) {
    Dialog.confirm(Message, {
        width:300, 
        height:100,
        className: "alphacube", 
        okLabel: "Ok", 
        ok:function(win) {
            debug("validate alert panel"); 
            window.location = "PendingLimitApplicationList.aspx";
            //history.go(-1);
            return true;
        }
    });
}

function CloseLoader() {
    Dialog.closeInfo();
}

function Cancel(element) {
    ShowCancel(element.value + "?");
}
/**********************************/
/*       General Functions        */
/**********************************/
function IsCookieEnabled() {   
    var lDate=new Date 
    lDate.setTime( lDate.getTime() );
    var expires = 1000 * 60 * 10.2; 
    var expires_date = new Date( lDate.getTime() + (expires) ); 
    
    document.cookie = "cookiecheck="+expires_date.toGMTString()+"; expires="+expires_date.toGMTString()+"; path=/";
     if (document.cookie.length==0){
        document.write("<p align='center'><img src='images/LombardMainHeader.jpg' alt='Lombard Insurance Company'/><br><br><br><br>This site requires cookies. Please enable cookies on this browsers and refresh.</p>");
     }
}

function DetectBrowser() {
    var RegEx="";
    var BrowserName=new String();
    var Version=new String();
    if (document.all) {
        RegEx=/MSIE \d+.\d+/
        BrowserName="MSIE"
        Version = navigator.appVersion.match(RegEx)
        VersionNumber = parseFloat(Version.toString().replace(BrowserName, ""));
        if (VersionNumber<6){
            //alert("This Web application requires Internet Explorer 6 or higher to run. Please upgrade your browser.");
            document.write("<p align='center'><img src='images/LombardMainHeader.jpg' alt='Lombard Insurance Company'/><br><br><br><br>This Web application requires Internet Explorer 6 or higher to run. Please upgrade your browser.</p>");
        }
    }
    else {
        RegEx=/Firefox\/\d+.\d+/  
        BrowserName="Firefox/"
        Version = navigator.userAgent.match(RegEx) 
        VersionNumber = parseFloat(Version.toString().replace(BrowserName, ""));
        if (VersionNumber<2){
            //alert("This Web application requires Firefox 2 or higher to run. Please upgrade your browser.");
            document.write("<p align='center'><img src='images/LombardMainHeader.jpg' alt='Lombard Insurance Company'/><br><br><br><br>This Web application requires Firefox 2 or higher to run. Please upgrade your browser.</p>");
        }
    }
    
}
/**********************************/
/*             Login              */
/**********************************/

function checkKeyLogin(fld, milSep, decSep, e) {
    var whichCode;
    if(window.event) // IE
    {
        whichCode = e.keyCode;
    }
    else if(e.which) // Netscape/Firefox/Opera
    {
        whichCode = e.which;
    }    
    //alert(whichCode);
    //if enter key
    if (whichCode == 13) {        
        Login();
    }    
}

function CheckLoginForm(){
    if ($("PARAM1").value==""){ShowAlert("Please enter a user name"); return false;}
    if ($("PARAM2").value==""){ShowAlert("Please enter a password"); return false;}
    return true;
}

function Login() {
    if (CheckLoginForm()){
        ajaxFunctionLoginIn();
    }
}

/**********************************/
/*           Erros Hanlder        */
/**********************************/

function ajaxFunctionErrorHandle(FUNCID, ErrorClass, FunctionCallID, SysCodeRes) {
       var FUNCID = FUNCID || "";
       var ErrorClass = ErrorClass || "B";
       var SysCodeRes = SysCodeRes || "";  
       var FunctionCallID = FunctionCallID || "";
       var qString = "Error.aspx?ecid="+ErrorClass+"&scid="+SysCodeRes+"&fcid="+FunctionCallID+"&fid="+FUNCID;  
       new Ajax.Request("WebServiceCall.aspx", {
        method: 'post', parameters: {
                        FUNCID: '50000'
                       },
                       onSuccess: function(transport){
                           var Response = transport.responseText || CloseLoader(); window.location.href = qString;
                           CloseLoader();                    
                           window.location.href = qString;
                       },     
                       onFailure: function(){ 
                           CloseLoader();
                           window.location.href = qString;
                       },
                       onException: function(){
                           window.location.href = qString;
 
                       }
        }); 
}

/**********************************/
/*             Login              */
/**********************************/

function ajaxFunctionLoginIn() {
    $('btnSubmit').disabled = true;
    $('loader').setStyle({visibility:'visible'});    
    $('frmLogin').request({   
        method: 'post',
        parameters: {FUNCID:'60000'},
        onSuccess: function(transport){ 
                        var Response = transport.responseText /*|| ajaxFunctionErrorHandle("60000")*/;
                        //alert("60000\n" + Response);
                        if (GetXMLChildValue(LoadXMLPrototype(Response), "m_SysCodeRes")=="1") {
                            if (GetXMLChildValue(LoadXMLPrototype(Response), "m_Integer")=="1") {
                               window.location.href = "PendingLimitApplicationList.aspx";   
                            }
                            else {
                                $('loader').setStyle({visibility:'hidden'});  
                                var ErrorString = GetXMLChildValue(LoadXMLPrototype(Response), "m_String");
                                ShowAlert(ErrorString);
                            }
                        }
                        else {
                            $('loader').setStyle({visibility:'hidden'});
                            try {
                                var ErrorString = GetXMLChildValue(LoadXMLPrototype(Response), "m_String");
                                ShowAlert(ErrorString); 
                            } catch(err) {
                                ajaxFunctionErrorHandle("60000", "C", GetXMLChildValue(LoadXMLPrototype(Response), "m_FunctionCallID"), GetXMLChildValue(LoadXMLPrototype(Response), "m_SysCodeRes"));
                                //ShowAlert("m_SysCodeRes : "+GetXMLChildValue(LoadXMLPrototype(Response), "m_SysCodeRes"));                     
                            }
                        }                        
                        $('btnSubmit').disabled = false;
                    },
        onFailure: function(transport){
                        //alert("onFailure");
                        ajaxFunctionErrorHandle("60000", "ajaxFunctionLoginIn.onFailure");
                        //$('loader').hide();
                        //$('btnSubmit').disabled = false;
                        //ShowAlert('Form data submittion error!') 
                    },
        onException: function(transport){
                        //alert("onException");
                        ajaxFunctionErrorHandle("60000", "ajaxFunctionLoginIn.onException");
                        //$('loader').hide();  
                        //$('btnSubmit').disabled = false;
                        //ShowAlert('Server not responding!')                        
                    }
    });
}