﻿// Assurland borrow form javascript ressources

// Business data
var borrow_applicantNb = 1;
var borrow_loanNb = 1;
var borrow_occupationCodeSansProfession = 11;
var borrow_occupationCodeChefEntreprise = 2;

/////////////////
// Page 1
/////////////////

// UI element's Id(s) page 1
var borrow_rowLoanDiffered1Id;
var borrow_rowLoanAmount2Id;
var borrow_rowLoanType2Id;
var borrow_rowLoanRateType2Id;
var borrow_rowLoanRate2Id;
var borrow_rowLoanMonthDuration2Id;
var borrow_rowLoanDiffered2Id;
var borrow_txtLoanAmount2Id;
var borrow_ddlLoanType2Id;
var borrow_ddlLoanRateType2Id;
var borrow_txtLoanRate2Id;
var borrow_ddlLoanYearDuration1Id;
var borrow_ddlLoanMonthDuration1Id;
var borrow_ddlLoanYearDuration2Id;
var borrow_ddlLoanMonthDuration2Id;
var borrow_tbLoanDiffered2Id;
var borrow_tbLoanDiffered1Id;
var borrow_rowLoan1Title1Id;
var borrow_rowLoan1Title2Id;
var borrow_rowLoan2TitleId;
var borrow_rowLoan2SeparatorId;
var borrow_tbBirthDate1Id;
var borrow_tbBirthDate2Id;
var borrow_txtLoanAmount1Id;
var borrow_amountToken = 0;

function borrow_updateMonthDuration1() {
    dropDownList_clearError(borrow_ddlLoanYearDuration1Id);
    dropDownList_clearError(borrow_ddlLoanMonthDuration1Id);
    // Reevaluate error on differed field
    textBox_onUpdate($get(borrow_tbLoanDiffered1Id));
}
function borrow_updateMonthDuration2() {
    dropDownList_clearError(borrow_ddlLoanYearDuration2Id);
    dropDownList_clearError(borrow_ddlLoanMonthDuration2Id);
    // Reevaluate error on differed field
    $get(borrow_tbLoanDiffered2Id).onblur();
}

function borrow_updateApplicantNb(nb)
{
   // Update business data
   borrow_applicantNb = nb;
   textBox_onUpdate($get(borrow_txtLoanAmount1Id)); 
}

function borrow_updateLoanNb(nb)
{
    // Update business data
    borrow_loanNb = nb;
    // Hide/Show rows
   
    if(nb == 1)
    {   
        hideRow(borrow_rowLoanAmount2Id);       
        hideRow(borrow_rowLoanType2Id);
        hideRow(borrow_rowLoanRateType2Id);
        hideRow(borrow_rowLoanRate2Id);
        hideRow(borrow_rowLoanMonthDuration2Id);        
        hideRow(borrow_rowLoanDiffered2Id);
        hideRow(borrow_rowLoan1Title2Id);
        hideRow(borrow_rowLoan2TitleId);
        hideRow(borrow_rowLoan2SeparatorId);
        
        showRow(borrow_rowLoan1Title1Id);
        
        textBox_clearError(borrow_txtLoanAmount2Id);
        dropDownList_clearError(borrow_ddlLoanType2Id);
        dropDownList_clearError(borrow_ddlLoanRateType2Id);
        textBox_clearError(borrow_txtLoanRate2Id);
        dropDownList_clearError(borrow_ddlLoanYearDuration2Id);
        textBox_clearError(borrow_tbLoanDiffered2Id);
    }
    else
    {   
        hideRow(borrow_rowLoan1Title1Id);
         
        showRow(borrow_rowLoan1Title2Id);
        showRow(borrow_rowLoan2TitleId);
        showRow(borrow_rowLoan2SeparatorId);
        showRow(borrow_rowLoanAmount2Id);
        showRow(borrow_rowLoanType2Id);
        showRow(borrow_rowLoanRateType2Id);
        showRow(borrow_rowLoanRate2Id);
        showRow(borrow_rowLoanMonthDuration2Id);
        if($get(borrow_ddlLoanType2Id).value=="1")
            showRow(borrow_rowLoanDiffered2Id);
        
    }
   textBox_onUpdate($get(borrow_txtLoanAmount1Id)); 
}

function borrow_updateLoanType(loanId, loanType)
{
    if(loanId == 1)
    {
        if(loanType=="1")
            showRow(borrow_rowLoanDiffered1Id);
        else
        {
             hideRow(borrow_rowLoanDiffered1Id);
             textBox_clearError(borrow_tbLoanDiffered1Id);
        } 
    }
    else 
    {
        if(loanType=="1")
            showRow(borrow_rowLoanDiffered2Id);
        else
        {
             hideRow(borrow_rowLoanDiffered2Id);
             textBox_clearError(borrow_tbLoanDiffered2Id);
        }            
    }
}

function borrow_onChangeAmountFrom(index)
{
    
    if (borrow_amountToken!=index)//jeton pris par index
    {
        if (borrow_amountToken==0) //premiere fois
        {
            var LoanAmountCtrl;
            borrow_amountToken=index;//lanceur =index
            if (index==1)
                LoanAmountCtrl =$get(borrow_txtLoanAmount1Id);
            else
                LoanAmountCtrl =$get(borrow_txtLoanAmount2Id);
            //recupere le montant    
            var v = getInt(RemoveNumericMask(LoanAmountCtrl.value));
            //on le remet
            if (v==0){
                LoanAmountCtrl.value='';
            }
            else{
                LoanAmountCtrl.value=RestoreNumericMask(v);
            }
        }
        if (index==1)
            if (borrow_loanNb == 2)
                textBox_onUpdate($get(borrow_txtLoanAmount2Id));
            else
                 borrow_amountToken=0;   
        else
            textBox_onUpdate($get(borrow_txtLoanAmount1Id));
    } 
    else//jeton pris par autre index
    {
        borrow_amountToken=0;//reinit le jeton
    }
    
}

function borrow_checkAmount(sender) {
    var v = getInt(RemoveNumericMask($get(borrow_txtLoanAmount1Id).value));
    if (borrow_loanNb == 2)
        v = v + getInt(RemoveNumericMask($get(borrow_txtLoanAmount2Id).value));
    if (v != null && v != "") {
        if (v < 7500)
            return "Le montant renseigné est trop faible. Aucun de nos assureurs partenaires ne pourra vous assurer pour un montant si faible.";
        else if( v > (borrow_applicantNb * 7600000))
            return "Le montant renseigné est trop élevé. Aucun de nos assureurs partenaires ne pourra vous assurer pour un montant si élevé."                
    }
    return "";
}

function borrow_errorMonthDiffered1(sender) {
    if (sender.value != '') {
        var months1 = getInt(sender.value);
        var months2 = getInt($get(borrow_ddlLoanYearDuration1Id).value) * 12 + getInt($get(borrow_ddlLoanMonthDuration1Id).value);
        if (months1 >= months2) {
            return "La durée du différé ne peut pas être supérieure à la durée du prêt";
        }
    }
    return "";
}
function borrow_errorMonthDiffered2(sender) {
    if (sender.value != '') {
        var months1 = getInt(sender.value);
        var months2 = getInt($get(borrow_ddlLoanYearDuration2Id).value) * 12 + getInt($get(borrow_ddlLoanMonthDuration2Id).value);
        if (months1 >= months2) {
            return "La durée du différé ne peut pas être supérieure à la durée du prêt";
        }
    }
    return "";
}

/////////////////
// Page 2
/////////////////

// UI element's Id(s) page 2
var borrow_rowOccupationPrecisionId;
var borrow_rowEmploymentContractId;
var borrow_rowWorkingTimeId;
var borrow_rowTravelId;
var borrow_rowRiskId;
var borrow_ddlOccupation1Id;
var borrow_ddlOccupation2Id;
var borrow_ddlOccupationPrecision1Id;
var borrow_ddlOccupationPrecision2Id;
var borrow_ddlEmploymentContract1Id;
var borrow_ddlEmploymentContract2Id;
var borrow_ddlWorkingTime1Id;
var borrow_ddlWorkingTime2Id;
var borrow_ddlTravel1Id;
var borrow_ddTravel2lId;
var borrow_rblRisk1Id;
var borrow_rblRisk2Id;
var borrow_ddlSharePercent1Id;
var borrow_ddlSharePercent2Id;

function borrow_updateOccupation(applicant, occupation)
{
    // In IE 6 and previous, screen blink for an unknown reason.
    // Delay the updates seems to solve the problem ...
    if(BrowserDetect.browser == 'Explorer' && BrowserDetect.version < 7)
        setTimeout("_borrow_updateOccupation(" + applicant + ",'" + occupation + "');",50);
    else
        _borrow_updateOccupation(applicant, occupation)
}
function _borrow_updateOccupation(applicant, occupation)
{
    // Update row visibility (rows depending on occupation code)    
    var visibility = false;
    if(borrow_applicantNb == 1)
    {
        if(occupation != borrow_occupationCodeSansProfession && occupation != "")
            visibility = true;
        else
        {
            visibility = false;
        }
    }
    else if(borrow_applicantNb == 2)
    {
        var otherApplicantOccupation;
        if(applicant == 1)
            otherApplicantOccupation = $get(borrow_ddlOccupation2Id).value;
        else if(applicant == 2)
            otherApplicantOccupation = $get(borrow_ddlOccupation1Id).value;
        if((occupation != borrow_occupationCodeSansProfession && occupation != "") 
            || (otherApplicantOccupation != borrow_occupationCodeSansProfession && otherApplicantOccupation != "") )
            visibility = true;
        else
            visibility = false;
    }
    setRowVisibility(borrow_rowEmploymentContractId,visibility);
    setRowVisibility(borrow_rowWorkingTimeId,visibility);
    setRowVisibility(borrow_rowTravelId,visibility);
    setRowVisibility(borrow_rowRiskId,visibility);
    
    visibility = false;
    if(borrow_applicantNb == 1)
    {
        if(occupation != borrow_occupationCodeChefEntreprise && occupation != "")
            visibility = true;
        else
        {
            visibility = false;
        }
    }
    else if(borrow_applicantNb == 2)
    {
        var otherApplicantOccupation;
        if(applicant == 1)
            otherApplicantOccupation = $get(borrow_ddlOccupation2Id).value;
        else if(applicant == 2)
            otherApplicantOccupation = $get(borrow_ddlOccupation1Id).value;
        if((occupation != borrow_occupationCodeChefEntreprise && occupation != "") 
            || (otherApplicantOccupation != borrow_occupationCodeChefEntreprise && otherApplicantOccupation != "") )
            visibility = true;
        else
            visibility = false;
    }
    setRowVisibility(borrow_rowOccupationPrecisionId,visibility);

    // Update control state (enabled/disabled)
    var enabled = false
    if(occupation != borrow_occupationCodeSansProfession && occupation != "")
        enabled = true;
    else
        enabled = false;
    
    if(applicant == 1)
    {
        dropDownList_setEnabled(borrow_ddlEmploymentContract1Id, enabled);
        dropDownList_setEnabled(borrow_ddlWorkingTime1Id, enabled);
        dropDownList_setEnabled(borrow_ddlTravel1Id, enabled);
        radioButtonList_setEnabled(borrow_rblRisk1Id, enabled);
        if(enabled == false)
        {
            dropDownList_hide(borrow_ddlEmploymentContract1Id);
            dropDownList_hide(borrow_ddlWorkingTime1Id);
            dropDownList_hide(borrow_ddlTravel1Id);
            radioButtonList_hide(borrow_rblRisk1Id);
        }
        else
        {
            dropDownList_show(borrow_ddlEmploymentContract1Id);
            dropDownList_show(borrow_ddlWorkingTime1Id);
            dropDownList_show(borrow_ddlTravel1Id);
            radioButtonList_show(borrow_rblRisk1Id);
        }
    }
    else if(applicant == 2)
    {
        dropDownList_setEnabled(borrow_ddlEmploymentContract2Id, enabled);
        dropDownList_setEnabled(borrow_ddlWorkingTime2Id, enabled);
        dropDownList_setEnabled(borrow_ddTravel2lId, enabled);
        radioButtonList_setEnabled(borrow_rblRisk2Id, enabled);
        if(enabled == false)
        {
            dropDownList_hide(borrow_ddlEmploymentContract2Id);
            dropDownList_hide(borrow_ddlWorkingTime2Id);
            dropDownList_hide(borrow_ddTravel2lId);
            radioButtonList_hide(borrow_rblRisk2Id);
        }
        else
        {
            dropDownList_show(borrow_ddlEmploymentContract2Id);
            dropDownList_show(borrow_ddlWorkingTime2Id);
            dropDownList_show(borrow_ddTravel2lId);
            radioButtonList_show(borrow_rblRisk2Id);
        }
    }

    // Update occupation precision
    var listId = 0;
    
    if(occupation == "1") // Agriculteur/exploitant
		listId = 251
	else if(occupation == "10") // Ouvrier
		listId = 258
	else if(occupation == "11") // Sans profession
		listId = 259
	//else if(occupation == "2") // Chef d'entreprise
	else if(occupation == "3") // Artisan/commerçant
		listId = 252
	else if(occupation == "4") // Restauration/métier de bouche
		listId = 253
	else if(occupation == "5") // Ingénieur et cadre
		listId = 254
	else if(occupation == "6") // Profession intellectuelle
		listId = 260
    else if(occupation == "7") // Santé
		listId = 255
	else if (occupation == "8") // Profession intermédiaire
		listId = 256
	else if(occupation == "9") // Employé
		listId = 257

	if(listId > 0)
	{
	    // Load list
        if(applicant == 1)
        {
            dropDownList_fill(borrow_ddlOccupationPrecision1Id, listId)
            dropDownList_enable(borrow_ddlOccupationPrecision1Id)
            dropDownList_show(borrow_ddlOccupationPrecision1Id);
        }
        else if(applicant == 2)
        {
            dropDownList_fill(borrow_ddlOccupationPrecision2Id, listId)
            dropDownList_enable(borrow_ddlOccupationPrecision2Id)
            dropDownList_show(borrow_ddlOccupationPrecision2Id);
        }
	}
	else
	{
	    // Clear and disable list
	    if(applicant == 1)
	    {
	        dropDownList_clear(borrow_ddlOccupationPrecision1Id);
	        dropDownList_disable(borrow_ddlOccupationPrecision1Id);
	        dropDownList_hide(borrow_ddlOccupationPrecision1Id);
        }
        else if(applicant == 2)
        {
        	dropDownList_clear(borrow_ddlOccupationPrecision2Id);
	        dropDownList_disable(borrow_ddlOccupationPrecision2Id);
	        dropDownList_hide(borrow_ddlOccupationPrecision2Id);
        }
	}
}

function borrow_warningAge1(sender)
{
   if ( $get(borrow_ddlOccupation1Id).value == "11" && sender.value == "1" )
    {
   
        var dTmp=getDateByFormat($get(borrow_tbBirthDate1Id).value,'dd/MM/yyyy');
        if (isValidDate(dTmp))
            if (calcul_age(dTmp) < 50 )			
		        return "Vous nous avez mentionné que vous êtiez retraité(e). Etes vous sûr(e) d'avoir saisi la bonne date de naissance ?";
		
	}
	return "";
}

function borrow_warningAge2(sender)
{
	if ( $get(borrow_ddlOccupation2Id).value == "11" && sender.value == "1" )
    {
        var dTmp=getDateByFormat($get(borrow_tbBirthDate2Id).value,'dd/MM/yyyy');
        if (isValidDate(dTmp))
            if (calcul_age(dTmp) < 50 )			
		        return "Vous nous avez mentionné que le co-emprunteur est retraité(e). Etes vous sûr(e) d'avoir saisi la bonne date de naissance ?";
		
	}			
	return "";
}

function borrow_warningSharePercent(sender)
{
    
    if( borrow_applicantNb == 1)
    {
	    if (getInt(sender.value) < 100)					
		    return "Etes-vous sûr(e) de vouloir assurer moins de 100% du montant emprunté ? <br/>Le crédit risque d'être refusé par votre organisme prêteur faute de garantie suffisante.";	
	}
	else
	{	
	    if ((getInt($get(borrow_ddlSharePercent1Id).value)  + getInt($get(borrow_ddlSharePercent2Id).value) ) < 100)
		    return "Etes-vous sûr(e) de vouloir assurer moins de 100% du montant emprunté ? <br/>Le crédit risque d'être refusé par votre organisme prêteur faute de garantie suffisante.";
    }
    return "";
}
