﻿function initFinanceValidation() {
    jQuery.validator.setDefaults({
        errorLabelContainer: jQuery("#quote_error_list"),
        errorContainer: jQuery("#quoteerrors"),
        wrapper: "li",
        rules: {
			quoteVoornaam: { required: true },
			quoteAchternaam: { required: true },
            quoteEmail: { required: true, email: true },
            quotePostcode: { required: true },
            quoteHuisNr: { required: true },
            quoteBedrag: { required: true },
            quoteNettoInkomen: { required: true },
            quoteNettoInkomenPartner: { required: true },
            quoteNettoLastenWoning: { required: true },
            quoteBirthDay: { required: true },
            quoteTelNr: { required: true }
        },
        messages: {
			quoteVoornaam: "Vul uw voornaam in",
			quoteAchternaam: "Vul uw achternaam in",
            quoteEmail: { required: "Vul een emailadres in", email: "Vul een correct emailadres in" },
            quotePostcode: { required: "Vul een postcode in", maxlength: "Voer een correcte postcode in" },
            quoteHuisNr: { required: "Vul uw huisnummer in" },
            quoteBedrag: { required: "Vul het bedrag in wat u wilt lenen" },
            quoteBirthDay: { required: "Selecteer uw geboortedatum" },
            quoteNettoInkomen: { required: "Vul uw netto inkomen in" },
            quoteNettoInkomenPartner: { required: "Vul uw huisnummer in" },
            quoteNettoLastenWoning: { required: "Vul uw netto maandlasten voor uw woning in" },
            quoteTelNr: { required: "Vul uw telefoon nummer in" }
        }
    });
}
function sendInsuranceQuoteWS() {
	
	var perEmail = false;
	if (jQuery('input[id=perEmailVerz]:checked').size() == 1)
		perEmail = true;
	var perPost = false;
	if (jQuery('input[id=perPostVerz]:checked').size() == 1)
		perPost = true;
	var snelvarend = false;
	if (jQuery('input[id=quoteSnelvarend]:checked').size() == 1)
		snelvarend = true;
	var aanbieders = new Array();
	var pos = 0;
	jQuery(':checkbox[id$=sendToAdvertiserVerz]:checked').each(function() {
		aanbieders[pos] = jQuery(this).siblings('>:hidden').val();
		++pos;
	});

	var insuranceQuote = new Object();
	insuranceQuote.__type = "framework.Logica.Quotation.InsuranceQuoteData";
	insuranceQuote.Voornaam = jQuery('input[id=quoteVerzVoornaam]').val();
	insuranceQuote.Achternaam = jQuery('input[id=quoteVerzAchternaam]').val();
	insuranceQuote.EmailAanvrager = jQuery('input[id=quoteVerzEmail]').val();
	insuranceQuote.TelefoonNrAanvrager = jQuery('input[id=quoteVerzTelNr]').val();
	insuranceQuote.PostcodeAanvrager = jQuery('input[id=quoteVerzPostcode]').val();
	insuranceQuote.HuisnummerAanvrager = jQuery('input[id=quoteVerzHuisNr]').val();
	insuranceQuote.Vaargebied = jQuery('select[id$=quoteVaargebied]>option:selected').val();
	insuranceQuote.Aanbieder = aanbieders;
	insuranceQuote.perEmail = perEmail;
	insuranceQuote.perPost = perPost;
	insuranceQuote.Lengte = jQuery('select[id=quoteLengte]>option:selected').val();
	insuranceQuote.Bouwjaar = jQuery('select[id=quoteBouwjaar]>option:selected').val();
	insuranceQuote.Rompmateriaal = jQuery('select[id=quoteRompmateriaal]>option:selected').val();
	insuranceQuote.SoortObject = jQuery('select[id=quoteSoortobject]>option:selected').val();
	insuranceQuote.snelVarend = snelvarend;
	insuranceQuote.Dagwaarde = jQuery('input[id=quoteDagwaarde]').val();

	var JSONdata = "{'voornaamAanvrager': '" + insuranceQuote.Voornaam + "','achternaamAanvrager': '" + insuranceQuote.Achternaam + "','emailAanvrager': '" + insuranceQuote.EmailAanvrager + "','telefoonNrAanvrager': '" + insuranceQuote.TelefoonNrAanvrager + "','postcodeAanvrager': '" + insuranceQuote.PostcodeAanvrager + "','huisnummerAanvrager': '" + insuranceQuote.HuisnummerAanvrager + "','vaargebied': '" + insuranceQuote.Vaargebied + "','aanbieder': '" + aanbieders + "','perEmail': '" + perEmail + "','perPost': '" + perPost + "','lengte': '" + insuranceQuote.Lengte + "','bouwjaar': '" + insuranceQuote.Bouwjaar + "','rompmateriaal': '" + insuranceQuote.Rompmateriaal + "','snelvarend': '" + snelvarend + "','dagwaarde': '" + insuranceQuote.Dagwaarde + "'}";

	//var JSONdata = '{quoteData:' + JSON.stringify(insuranceQuote) + '}';
	jQuery.ajax({
		type: "POST",
		url: "/Quotation/ws/quote.asmx/SendInsuranceQuoteWS",
		contentType: "application/json; charset=utf-8",
		data: JSONdata,
		dataType: "json",
		success: isSucces,
		error: isError
	});
	jQuery('#sendverzquote').attr('disabled', true);
	return false;
}

function sendFinanceQuoteWS(event) {
	var voornaam = jQuery('input[id=quoteVoornaam]').val();
	var achternaam = jQuery('input[id=quoteAchternaam]').val();
    var email = jQuery('input[id=quoteEmail]').val();
    var telnr = jQuery('input[id=quoteTelNr]').val();
    
    var bedrag = jQuery('input[id=quoteBedrag]').val();
    var dayofbirth = jQuery('input[id=quoteBirthDay]').val();
    var nettoInkomen = jQuery('input[id=quoteNettoInkomen]').val();
    var nettoInkomenPartner = jQuery('input[id=quoteNettoInkomenPartner]').val();
    var nettoLastenWoning = jQuery('input[id=quoteNettoLastenWoning]').val();
    
    var postcode = jQuery('input[id=quotePostcode]').val();
    var huisnummer = jQuery('input[id=quoteHuisNr]').val();
    var perEmail = 'false';
    if (jQuery('input[id=perEmail]:checked').size() == 1)
        perEmail = 'true';
    var perPost = 'false';
    if (jQuery('input[id=perPost]:checked').size() == 1)
        perPost = 'true';

    var aanbieders = new Array();
    var pos = 0;
    jQuery(':checkbox[id$=sendToAdvertiser]:checked').each(function() {
        aanbieders[pos] = jQuery(this).siblings('>:hidden').val();
        ++pos;
    });

    jQuery.ajax({
        type: "POST",
        url: "/Quotation/ws/quote.asmx/SendFinanceQuoteWS",

        contentType: "application/json; charset=utf-8",
        data: "{'voornaamAanvrager': '" + voornaam + "','achternaamAanvrager': '" + achternaam + "','emailAanvrager': '" + email + "','telefoonNrAanvrager': '" + telnr + "','postcodeAanvrager': '" + postcode + "','huisnummerAanvrager': '" + huisnummer + "','aanbieder': '" + aanbieders + "','perEmail': '" + perEmail + "','perPost': '" + perPost + "','bedrag':'" + bedrag + "','nettoinkomen':'" + nettoInkomen + "','nettoinkomenpartner':'" + nettoInkomenPartner + "','nettomaandlasten':'" + nettoInkomenPartner + "','nettowoninglasten':'" + nettoLastenWoning + "','dayofbirth':'" + dayofbirth + "'}",
        dataType: "json",
        success: isSuccesFin,
        error: isError
    });
    jQuery('#sendquote').attr('disabled', true);
    return false;
}

function isError(msg, msg2, msg3)
{
    alert(msg.responseText);
}
function isSucces(msg) {
    jQuery("#verzquote").children().remove();
    jQuery("#verzquote").addClass("verzondenws");
    jQuery("#verzquote").html("<div>Uw aanvraag is verzonden!</div>");
    pageTracker._trackPageview("/Dynamic/InsuranceQuoteWatersportLinkSuccess");
    globalTracker._trackPageview("/Dynamic/InsuranceQuoteWatersportLinkSuccess");    
}
function isSuccesFin(msg) {
    jQuery("#finquote").children().remove();
    jQuery("#finquote").addClass("verzondenws");
    jQuery("#finquote").html("<div>Uw aanvraag is verzonden!</div>");
    globalTracker._trackPageview("/Dynamic/FinanceQuoteWatersportLinkSuccess");    
}

function loadFinanceQuoteWSForm() {
    initFinanceValidation();
    jQuery("input[id$=quoteBirthDay]").datepicker(jQuery.extend({}, jQuery.datepicker.regional["nl"], {buttonImageOnly: true, yearRange: '1920:2008'  }));
    jQuery("#sendquote").click(function(event) {
        jQuery("#aspnetForm").validate({
            errorLabelContainer: jQuery("#quote_error_list"),
            errorContainer: jQuery("#quoteerrors")
        });
        var valid = true;
        if (jQuery("#aspnetForm").validate().element('#quoteVoornaam') == false)
        	valid = false;
        if (jQuery("#aspnetForm").validate().element('#quoteAchternaam') == false)
        	valid = false;
        if (jQuery("#aspnetForm").validate().element('#quoteEmail') == false)
            valid = false;
        if (jQuery("#aspnetForm").validate().element('#quotePostcode') == false)
            valid = false;
        if (jQuery("#aspnetForm").validate().element('#quoteBirthDay') == false)
            valid = false;
        if (jQuery("#aspnetForm").validate().element('#quoteBedrag') == false)
            valid = false;
        if (jQuery("#aspnetForm").validate().element('#quoteHuisNr') == false)
            valid = false;
        if (jQuery("#aspnetForm").validate().element('#quoteNettoInkomen') == false)
            valid = false;
        if (jQuery("#aspnetForm").validate().element('#quoteNettoLastenWoning') == false)
            valid = false;
        if (jQuery("#aspnetForm").validate().element('#quoteTelNr') == false)
            valid = false;
        
        if (valid)
            sendFinanceQuoteWS(event);
    });
}

function loadInsuranceQuoteWSForm() {

    initInsuranceValidation();  
    jQuery("#sendverzquote").click(function(event) {
        jQuery("#aspnetForm").validate({
            errorLabelContainer: jQuery("#quote_error_list"),
            errorContainer: jQuery("#quoteerrors")
        });
        var valid = true;
        if (jQuery("#aspnetForm").validate().element('#quoteVerzVoornaam') == false)
        	valid = false;
        if (jQuery("#aspnetForm").validate().element('#quoteVerzAchternaam') == false)
        	valid = false;
        if (jQuery("#aspnetForm").validate().element('#quoteVerzEmail') == false)
            valid = false;
        if (jQuery("#aspnetForm").validate().element('#quoteVerzPostcode') == false)
            valid = false;
        if (jQuery("#aspnetForm").validate().element('#quoteVerzHuisNr') == false)
            valid = false;
        if (jQuery("#aspnetForm").validate().element('#quoteDagwaarde') == false)
            valid = false;
        if (jQuery("#aspnetForm").validate().element('#quoteLengte') == false)
            valid = false;
        if (jQuery("#aspnetForm").validate().element('#quoteBouwjaar') == false)
            valid = false;
        if (jQuery("#aspnetForm").validate().element('#quoteRompmateriaal') == false)
            valid = false;
        if (valid)
            sendInsuranceQuoteWS(event);
    });
}
function initInsuranceValidation() 
{
    jQuery("#aspnetForm").validate({
        errorLabelContainer: jQuery("#quote_error_list"),
        errorContainer: jQuery("#quoteerrors"),
        wrapper: "li",
        rules: {
			quoteVerzVoornaam: { required: true },
			quoteVerzAchternaam: { required: true },
            quoteVerzEmail: { required: true, email: true },
            quoteVerzPostcode: { required: true },
            quoteVerzHuisNr: { required: true },
            quoteDagwaarde: { required: true },
            quoteLengte: { required: true },
            quoteBouwjaar: { required: true },
            quoteRompmateriaal: { required: true }
        },
        messages: {
			quoteVerzVoornaam: "Vul uw voornaam in",
			quoteVerzAchternaam: "Vul uw achternaam in",
            quoteVerzEmail: { required: "Vul een emailadres in", email: "Vul een correct emailadres in" },
            quoteVerzPostcode: { required: "Vul een postcode in", maxlength: "Voer een correcte postcode in" },
            quoteVerzHuisNr: { required: "Vul uw huisnummer in" },
            quoteDagwaarde: { required: "Vul dagwaarde in" },
            quoteLengte: { required: "Selecteer lengte" },
            quoteBouwjaar: { required: "Selecteer bouwjaar" },
            quoteRompmateriaal: { required: "Selecteer rompmateriaal" }
        }
    });
}