﻿// JScript File - Mangesh Validation File

/* eFile Login Form - Validation - Starts*/

function ValidateFormOnLogin()
{
//debugger;
    var reason = "";
    
    reason += validateUsername(document.forms[0].txtLogUserName);
    reason += validatePassword(document.forms[0].txtLogPassword);    
      
    if (reason != "") 
    {
        //alert("Some fields need correction:\n" + reason);
        document.getElementById('pnlLogError').style.display='';
        document.getElementById('Label3').innerHTML=reason;
        return false;
    }
    else
    {        
        var cookieVal_logout=""
        cookieVal_logout=getCookie("logout");
        if(cookieVal_logout=="" || cookieVal_logout ==null)
        {
        }
        else
        {
            deleteCookie("logout");
        }
        var MouseClick=getCookie("RightClick");        
        if(MouseClick=="" || MouseClick ==null)
        {
        }
        else
        {
            deleteCookie("RightClick");
        }
        return true;
    }
}

//Check user name
function validateUsername(fld) 
{
    var error = "";
    var illegalChars = /\W/; // allow letters, numbers, and underscores
    var alphaExp = /^[\-\]+[\_\]+[0-9a-zA-Z]+$/;
    
    if (fld.value == "") 
    {        
        error = "Enter username.\n";
    } 
//    else if (fld.value.length < 8) 
//    {        
//        error = "Username should contain the minimum length of 8 characters.\n";
//    } 
    else if (fld.value.length > 20) 
    {        
        error = "Username exceeds the maximum length of 20 characters.\n";
    } 
    else if (!(fld.value.match(alphaExp)))  
    {        
        error = "Username contains illegal characters.\n";
    } 
    
    return error;
}

//Check password
function validatePassword(fld) 
{
    //debugger;
    var error = "";
    //var illegalChars = /[\W_]/; // allow only letters and numbers 
    var alphaExp = /^[\-\]+[\_\]+[0-9a-zA-Z]+$/;
    var illegalChars = /\W/; 
    
    if (fld.value == "") 
    {        
        error = "Enter password.\n";
    } 
//    else if (fld.value.length < 8) 
//    {        
//        error = "Password should contain the minimum length of 8 characters.\n";
//    }
    else if (fld.value.length > 20) 
    {
        error = "Password exceeds the maximum length of 20 characters.\n";        
    } 
    else if (!(fld.value.match(alphaExp)))  
    {
        error = "Password contains illegal characters.\n";        
    } 
    else if (!((fld.value.search(/(a-z)+/)) && (fld.value.search(/(0-9)+/)))) 
    {
        error = "Password must contain at least one numeral.\n";        
    } 
    
    return error;
}  

/* eFile Login Form - Validation - Ends*/

/* eFile Forgot Password - Validation - Starts*/

function ValidateFormOnSendEmail()
{
    var reason = "";
      
    reason += validateUsername(document.forms[0].ctl00_ContentPlaceHolder1_txtUserID);    
      
    if (reason != "") 
    {
        //alert("Some fields need correction:\n" + reason);
        document.getElementById('ctl00_ContentPlaceHolder1_lblError').style.display='';
        document.getElementById('ctl00_ContentPlaceHolder1_lblError').innerHTML=reason;
        return false;
    }
    else
    {
        return true;
    }
}

/* eFile Forgot Password - Validation - Ends*/

/* eFile - Generate Declaration - strats */
function CheckForDeclaration(ByPass)
{
    var QPFirmName=document.getElementById('cboQPFirm');    
    var EEName=document.getElementById('cboElectrical');
    var MEName=document.getElementById('cboMechanical');
    var MEFirmName=document.getElementById('cboMEFirm');
    var EEFirmName=document.getElementById('cboEEFirm');
    
    var varMech=document.getElementById('cboMechanical').value;
    var varElec=document.getElementById('cboElectrical').value;
    
    if(ByPass==1)
    {
        alert("Generate Declarations with Modifications allowed by BP");
    }
    if(document.getElementById('cboQPFirm').value==0)
    {        
        alert("QP(BP) firm missing, please select firm.");
        document.getElementById('cboQPFirm').focus();
        return false;
    }   
    else if(QPFirmName.options[QPFirmName.selectedIndex].text=="") 
    {
        alert("QP(BP) firm name is missing, Please check.");
        document.getElementById('cboQPFirm').focus();
        return false;
    }
    else if(varMech == 0 && varElec == 0)
    {
        alert("Please Select Mechanical and Electrical Practitioners");     
        return false;
    }   
    else if((MEName.options[MEName.selectedIndex].text=="") && (EEName.options[EEName.selectedIndex].text=="")) 
    {
        alert("Mechanical & Electrical Practitioner name is missing, Please check.");
        //document.getElementById('cboQPFirm').focus();
        return false;
    }
    else if(varMech == 0)
    { 
        alert("Please Select Mechanical Practitioner");
        document.getElementById('cboMechanical').focus();      
        return false;
    }       
    else if(MEName.options[MEName.selectedIndex].text=="") 
    {
        alert("Mechanical Practitioner name is missing, Please check.");
        document.getElementById('cboMechanical').focus();
        return false;
    } 
    else if(varElec == 0)
    {
        alert("Please Select Electrical Practitioner");  
        document.getElementById('cboElectrical').focus();   
        return false;
    } 
    else if(EEName.options[EEName.selectedIndex].text=="") 
    {
        alert("Electrical Practitioner name is missing, Please check.");
        document.getElementById('cboElectrical').focus();
        return false;
    }  
    
    if((varMech != 1 && varMech != 0) && (varElec != 1 && varElec != 0))
    {
        if(document.getElementById('cboMEFirm').value==0 && document.getElementById('cboEEFirm').value==0)
        {
            alert("Please Select Mechanical & Electrical Practitioner Firm");     
            return false;     
        }
        else if((MEFirmName.options[MEFirmName.selectedIndex].text=="") && (EEFirmName.options[EEFirmName.selectedIndex].text=="")) 
        {
            alert("Mechanical & Electrical Practitioner firm name is missing, Please check.");
            //document.getElementById('cboQPFirm').focus();
            return false;
        }
    } 
    
    if(varMech != 1 && varMech != 0)
    {
        if(document.getElementById('cboMEFirm').value==0)
        {
            alert("Please Select Mechanical Practitioner Firm");     
            document.getElementById('cboMEFirm').focus();
            return false;            
        }
        else if(MEFirmName.options[MEFirmName.selectedIndex].text=="") 
        {
            alert("Mechanical Practitioner firm name is missing, Please check.");
            document.getElementById('cboMEFirm').focus();
            return false;
        }
    } 
    
    if(varElec != 1 && varElec != 0)
    {
        if(document.getElementById('cboEEFirm').value==0)
        {
            alert("Please Select Electrical Practitioner Firm");  
            document.getElementById('cboEEFirm').focus();   
            return false;            
        }
        else if(EEFirmName.options[EEFirmName.selectedIndex].text=="") 
        {
            alert("Electrical Practitioner firm name is missing, Please check.");
            document.getElementById('cboEEFirm').focus();
            return false;
        }
    } 
    
    if(varMech == 1 && varElec == 1)
    {
        return confirm(" 1.)  You have selected  ''Not Applicable''  for both Mechanical & Electrical\n        Practitioners.\n\n 2.)  Please ensure there is no scoring for items that are under the \n        responsibility of PE(Mechanical) and PE(Electrical) as stated in Annex A\n        of the code for Environmental Sustainability of Buildings.\n\n 3.)  QP(BP) is required to e-sign the submission forms generated and submit \n        together with the BP plan via Corenet at later stage.\n\n 4.)  Please note that no further change is allowed. Do you want to proceed ?");
    }
    if(varMech == 1 && varElec != 1)
    {
        return confirm(" 1.)  You have selected  ''Not Applicable''  for Mechanical Practitioner.\n\n 2.)  Please ensure there is no scoring for items that are under the \n        responsibility of PE(Mechanical) as stated in Annex A of the code for \n        Environmental Sustainability of Buildings. \n\n 3.)  QP(BP) and Electrical Engineer are required to e-sign the submission forms \n        generated and submit together with the BP plan via Corenet at later stage.\n\n 4.)  Please note that no further change is allowed. Do you want to proceed ?");
    }
    if(varMech != 1 && varElec == 1)
    { 
        return confirm(" 1.)  You have selected  ''Not Applicable''  for Electrical Practitioner.\n\n 2.)  Please ensure there is no scoring for items that are under the \n        responsibility of PE(Electrical) as stated in Annex A of the code for \n        Environmental Sustainability of Buildings. \n\n 3.)  QP(BP) and Mechanical Engineer are required to e-sign the submission forms \n        generated and submit together with the BP plan via Corenet at later stage.\n\n 4.)  Please note that no further change is allowed. Do you want to proceed ?");
    }    
    if(varMech != 1 && varElec != 1)
    {
        return confirm("  1.)  Please note that no further change is allowed.\n\n 2.)  QP(BP), Mechanical Engineer and Electrical Engineer are\n        required to e-sign the submission forms generated and \n        submit together with the BP plan via Corenet at later stage.\n\n 3.)  Do you want to proceed ?'")
    }
    
}
/* eFile - Generate Declaration - Ends */

/* Import Eplan file starts */

function CheckForTransaction_BeforeImport(fileName)
{
    //alert(fileName);
    var oAjaxDemo = new AjaxDemo(sRequestUrl);  
    XmlDataObject = oAjaxDemo.getResponseXml("Purpose=CheckTransaction&XMLFile="+fileName+"&CurrURL="+document.location.href); 
    if(XmlDataObject.responseText=="Del")
    {
        if(confirm('Press Ok to proceed importing eplan file (Importing eplan file will overwrite those information in the current submission, if any)'))
        {
            //alert('ok');
            var oAjaxDemo = new AjaxDemo(sRequestUrl);  
            XmlDataObject = oAjaxDemo.getResponseXml("Purpose=DeleteTransaction");
            if(XmlDataObject.responseText=="S")
            {  
                document.forms[0].ctl00_ContentPlaceHolder1_Grm_Import_Eplan_File_hid1.value=document.location.href;
                CallServer('ok--'+document.location.href,'Encrypt');
            } 
            else            
            {
                document.forms[0].ctl00_ContentPlaceHolder1_Grm_Import_Eplan_File_hid1.value=document.location.href;
                CallServer('cancel--'+document.location.href,'Encrypt');
            }
        }
        else
        {
            //alert('cancel');
            document.forms[0].ctl00_ContentPlaceHolder1_Grm_Import_Eplan_File_hid1.value=document.location.href; 
            CallServer('cancel--'+document.location.href,'Encrypt');
        }        
    }
    else if(XmlDataObject.responseText=="NoDel")
    {
        document.forms[0].ctl00_ContentPlaceHolder1_Grm_Import_Eplan_File_hid1.value=document.location.href; 
        CallServer('ok--'+document.location.href,'Encrypt');
    }
    else
    {
        alert(XmlDataObject.responseText);
//        document.forms[0].ctl00_ContentPlaceHolder1_Grm_Import_Eplan_File_lblImportError.style.display='';
//        document.forms[0].ctl00_ContentPlaceHolder1_Grm_Import_Eplan_File_lblImportError.innerHTML=XmlDataObject.responseText;
    }    
}

//call server return function
function ReceiveServerData(arg, context)
{
    if(arg!="")
    {
        document.location.href=arg;
    }
    else
    {
        
    }    
}
/* Import Eplan file ends */

/* Admin - QP Section All*/

function AQSA(evt)
{
    var AQSA_Checked=false;
    if(evt!=null)
    {
        AQSA_Checked=evt.getElementsByTagName("tbody")[0].getElementsByTagName("tr")[0].getElementsByTagName("td")[2].          getElementsByTagName("input")[0].checked;
                
        if(AQSA_Checked==true)
        {
            //document.getElementById('ctl00_ContentPlaceHolder1_txtQPRegNo').disabled=true;
            document.getElementById('QPInput').style.display='none';
        }
        else
        {
            //document.getElementById('ctl00_ContentPlaceHolder1_txtQPRegNo').disabled=false;
            document.getElementById('QPInput').style.display='';
        }
    }
}

/* End */


