 //=======================================================

function getQueryVariable(variable) 
{
  var query = window.location.search.substring(1);
  var vars = query.split("&");
  
  for(var i=0;i<vars.length;i++) 
  {
    var pair = vars[i].split("=");
    if (pair[0] == variable) 
    {
      return pair[1];
    }
  } 

}

//=======================================================
function PopulatePageFromQueryString()
{
    var i;
    
    for(i=0; i<document.forms['loansGadgetForm'].residentialStatus.options.length; i++)
    {
       if(document.forms['loansGadgetForm'].residentialStatus.options[i].value == getQueryVariable('residentialStatus'))
       {
       document.forms['loansGadgetForm'].residentialStatus.selectedIndex = i;
       } 
    }

    for(i=0; i<document.forms['loansGadgetForm'].repaymentPeriod.options.length; i++)
    {
       if(document.forms['loansGadgetForm'].repaymentPeriod.options[i].value == getQueryVariable('repaymentPeriod'))
       {
       document.forms['loansGadgetForm'].repaymentPeriod.selectedIndex = i;
       } 
    }
    
    for(i=0; i<document.forms['loansGadgetForm'].loanPurpose.options.length; i++)
    {
       if(document.forms['loansGadgetForm'].loanPurpose.options[i].value == getQueryVariable('loanPurpose'))
       {
       document.forms['loansGadgetForm'].loanPurpose.selectedIndex = i;
       } 
    }
    
    if(getQueryVariable('loanAmount') > 0)
    {
    document.forms['loansGadgetForm'].loanAmount.value = getQueryVariable('loanAmount');
    }
    
    if(getQueryVariable('channelID') > 0)
    {
    document.forms['loansGadgetForm'].channelID.value  = getQueryVariable('channelID');
    }
    
 }  
 
//=======================================================

function PopulateDropdownLoanRepayPeriod(x)
{
    document.getElementById('repaymentPeriod').options.length = 0;
    document.getElementById('repaymentPeriod').options[0] = new Option('Please Select...','-1');
    
    for(i=1; i<=x; i++)
    {
       if (i==1)
       {
          document.getElementById('repaymentPeriod').options[i] = new Option(i + ' year ',i * 12);
       }
       else
       {
          document.getElementById('repaymentPeriod').options[i] = new Option(i + ' years',i * 12);
       }
    }   
 }   
 
//=======================================================

function PopulateDropdownLoanRepayPeriodForMiniConsole(x)
{
    document.getElementById('repaymentPeriod').options.length = 0;
    document.getElementById('repaymentPeriod').options[0] = new Option('Select...','-1');
    
    for(i=1; i<=x; i++)
    {
       if (i==1)
       {
          document.getElementById('repaymentPeriod').options[i] = new Option(i + ' year ',i * 12);
       }
       else
       {
          document.getElementById('repaymentPeriod').options[i] = new Option(i + ' years',i * 12);
       }
    }   
 }   
 
//=======================================================

function DisplayRiskQuestions(bool)
{
  document.getElementById('divCreditExpertQuestions').style.display = bool ? "" : "none";   
}

//=======================================================

function chkValidNumber(textObj) 
{
var newValue   = textObj.value;
var newLength  = textObj.length;

if(newLength == 0)
  {
  return false;
  }

for(var i=0; i != newLength; i++) 
    {
	aChar = textObj.substring(i,i+1);
	aChar = aChar.toUpperCase();

	if((aChar < "0" || aChar > "9")) 
	   {
	   return false;
	   }
    }    
return true;
}

//=======================================================

function ResetTenantHomeownerValuesForMiniConsole()
{
var errorMsg = '';
    
    //==== If is a tenant 
    if(document.getElementById('residentialStatus').value == 2)
    {
         //maximum borrowing length is 10 years
        if (document.forms['loansGadgetForm'].repaymentPeriod.value > 120)
        {
            errorMsg += " - Tenants can only borrow over a maximum of 10 years.";
        }
            
        //===check that if client is a tenant repayment period is up to 10 years
        if(document.forms['loansGadgetForm'].repaymentPeriod.options.length > 11)
        { 
            var intIndex = document.forms['loansGadgetForm'].repaymentPeriod.selectedIndex;     //=== keep the selection value
            PopulateDropdownLoanRepayPeriodForMiniConsole(10);        //=== reset the dropdown values 
            
            if(intIndex < 11)       //=== reset selection if there is one AND it is still valid
            {
                document.forms['loansGadgetForm'].repaymentPeriod.selectedIndex = intIndex;
            }
        }

        //maximum borrowing value is £25K
        if(document.getElementById('loanAmount').value > 25000)
        {
            errorMsg += " - Tenants can only borrow a maximum of £ 25000.";
        } 
     }
     //==== If is a homeowner 
     else 
     {
        //===check that if client is a homeowner repayment period is up to 45 years
        if(document.forms['loansGadgetForm'].repaymentPeriod.options.length < 40)
        {
            var intIndex = document.forms['loansGadgetForm'].repaymentPeriod.selectedIndex; //=== keep the selection value
            PopulateDropdownLoanRepayPeriodForMiniConsole(45);                                    //=== reset the dropdown values 
            document.forms['loansGadgetForm'].repaymentPeriod.selectedIndex = intIndex;     //=== reset selection 
        } 
            
        //maximum borrowing value is £250K
        if(document.getElementById('loanAmount').value > 250000)
        {
            errorMsg += " - Homeowners can only borrow a maximum of &pound; 250000.";
        }            
     }
     
     return errorMsg;
}

//=======================================================

function ResetTenantHomeownerValues()
{
    var errorMsg = '';
    
    //==== If is a tenant 
    if(document.getElementById('residentialStatus').value == 2)
    {
         //maximum borrowing length is 10 years
        if (document.forms['loansGadgetForm'].repaymentPeriod.value > 120)
        {
            errorMsg += "<li class='errortext'>Tenants can only borrow over a maximum of 10 years.</li>";
        }
            
        //===check that if client is a tenant repayment period is up to 10 years
        if(document.forms['loansGadgetForm'].repaymentPeriod.options.length > 11)
        { 
            var intIndex = document.forms['loansGadgetForm'].repaymentPeriod.selectedIndex;     //=== keep the selection value
            PopulateDropdownLoanRepayPeriod(10);        //=== reset the dropdown values 
            
            if(intIndex < 11)       //=== reset selection if there is one AND it is still valid
            {
                document.forms['loansGadgetForm'].repaymentPeriod.selectedIndex = intIndex;
            }
        }

        //maximum borrowing value is £25K
        if(document.getElementById('loanAmount').value > 25000)
        {
            errorMsg += "<li class='errortext'>Tenants can only borrow a maximum of £ 25000.</li>";
        } 
     }
     //==== If is a homeowner 
     else 
     {
        //===check that if client is a homeowner repayment period is up to 45 years
        if(document.forms['loansGadgetForm'].repaymentPeriod.options.length < 40)
        {
            var intIndex = document.forms['loansGadgetForm'].repaymentPeriod.selectedIndex; //=== keep the selection value
            PopulateDropdownLoanRepayPeriod(45);                                    //=== reset the dropdown values 
            document.forms['loansGadgetForm'].repaymentPeriod.selectedIndex = intIndex;     //=== reset selection 
        } 
            
        //maximum borrowing value is £250K
        if(document.getElementById('loanAmount').value > 250000)
        {
            errorMsg += "<li class='errortext'>Homeowners can only borrow a maximum of &pound; 250000.</li>";
        }            
     }
     
     return errorMsg;
}    
//=======================================================

   function chkOutCode(strOutCode) 
   {
   var re = new RegExp("^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1}$");
   var m  = re.exec(strOutCode);
   
   if(m == null || m.length < 1)
    {
    return false;
    }
   else
    {
    return true;
    }
   }

//=======================================================

   function chkInCode(strOutCode) 
   {
   var re = new RegExp("^[0-9][A-Za-z]{2}$");
   var m  = re.exec(strOutCode);
   
   if(m == null || m.length < 1)
    {
    return false;
    }
   else
    {
    return true;
    }
   }

//=======================================================

function Validate()
{
    var errorMsg = "";
    var header   = "<b>Please check the following items:</b><br/><ul>";
    var footer   = "</ul></font>";
           
    if (!(chkValidNumber(document.getElementById('loanAmount').value)))
    {
        errorMsg += "<li class='errortext'>Loan Amount is a mandatory value.</li>";
    }
    
    if (document.getElementById('repaymentPeriod').value == -1)
    {
        errorMsg += "<li class='errortext'>Please select the Loan Period.</li>";
    }
    
    if (document.getElementById('loanPurpose').value == -1)
    {
        errorMsg += "<li class='errortext'>Please select the Purpose of the Loan.</li>";
    }
    
    if (document.getElementById('residentialStatus').value == -1)
    {
        errorMsg += "<li class='errortext'>Please select your Residential Status.</li>";
    }
    else 
    {
       errorMsg += ResetTenantHomeownerValues();
    }
    if (document.getElementById('trTotalCurrentDebt').style.display == "" && document.getElementById('totalCurrentDebt').value == -1)
    {
    errorMsg += "<li class='errortext'>Please select your Total Current Debt.</li>";
    }
    
    
    //==== credit check section
    if(document.getElementById('creditSearch').checked)
    {
        if (document.getElementById('noCards').value == -1)
        {
            errorMsg += "<li class='errortext'>Specify the number of credit or store cards you own.</li>";
        }
       
        if (document.getElementById('noProductsApplied').value == -1)
        {
            errorMsg += "<li class='errortext'>Specify the number of credit products applied for in the last 6 months.</li>";
        }
        
        if (document.getElementById('noAccountsWithBalance').value == -1)
        {
            errorMsg += "<li class='errortext'>Specify the number of credit accounts with an outstanding balance.</li>";
        }
        
        if (document.getElementById('lengthCurrentHome').value == -1)
        {
            errorMsg += "<li class='errortext'>Specify how long you have lived in your current home.</li>";
        }
        
        if (document.getElementById('age').value == -1)
        {
            errorMsg += "<li class='errortext'>Specify your age.</li>";
        } 
        
        if (!(chkOutCode(document.getElementById('txtOutCode').value)))
        {
            errorMsg += "<li class='errortext'>The first part of your postcode is invalid.</li>";
        }

        if (!(chkInCode(document.getElementById('txtInCode').value)))
        {
            errorMsg += "<li class='errortext'>The second part of your postcode is invalid.</li>";
        }      
    }

    if(errorMsg != "")
    { 
        document.getElementById('lblErrors').innerHTML = header + errorMsg + footer;
        document.getElementById('lblErrors').display   = "block";
        return false;
    }
    else
    {
        return true;
    }
}  
//======================================================= 

function ShowHideTotalCurrentDebt() {
    if (document.getElementById('residentialStatus').value == 2 && document.getElementById('poor').checked == true) {
        document.getElementById('trTotalCurrentDebt').style.display = "";
    } else {
        document.getElementById('trTotalCurrentDebt').style.display = "none";
    }
}
//======================================================= 
function DisplayCreditProfileQuestion() {
			    if (document.getElementById('creditSearch').checked == true) {
			        document.getElementById('creditprofilequestion').style.display = "none";
			        document.getElementById('divCreditExpertQuestions').style.display = "";
			    } else {
			        document.getElementById('creditprofilequestion').style.display = "";
			        document.getElementById('divCreditExpertQuestions').style.display = "none";
			    }
			}
			
//=======================================================
function ValidateMiniConsole()
{
   var errorMsg = "";
   var header   = "Please check the following items:\n\n";
                       
   if (!(chkValidNumber(document.getElementById('loanAmount').value)))
   {
      errorMsg += " - Please enter a Loan Amount.\n";
   }
                
   if (document.getElementById('repaymentPeriod').value == -1)
   {
      errorMsg += " - Please select a Loan Period.\n";
   }
                
   if (document.getElementById('loanPurpose').value == -1)
   {
      errorMsg += " - Please select the Purpose of the Loan.\n";
   }
   
   if (document.getElementById('residentialStatus').value == -1)
   {
      errorMsg += " - Please select your Residential Status.\n";
   }
   else 
   {
      errorMsg += ResetTenantHomeownerValuesForMiniConsole();
   }
               
   if (document.getElementById('creditProfile').value == -1)
   {
      errorMsg += " - Please select your Credit Profile.\n";
   }
                
   if(errorMsg != "")
   { 
      alert(header + errorMsg);
      return false;
   }
   else
   { 
      document.getElementById('loansGadgetForm').submit();
      return true;
   }               
}