/*
	skoda-direct.nl
	***************
*/
$(document).ready(
  function() 
  {
		bindAlgemeen();
	
		switch($("body").attr("id"))
		{
			case 'pageSpecificaties':
				bindSpecs();
				break;
			case 'stel-je-edition-samen':
				bindStelsamen();
				break;
			case 'mijn-edition-naw':
				bindMENaw();
				break;
			case 'mijn-edition-offerte':
				bindMEOfferte();
				break;
			case 'mijn-edition-specs':
				bindMESpecs();
				break;
			case 'pageDealeradmin':
				bindDealeradmin();
				break;
		}

		$('.btnModal').click(
			function() 
			{
				showModal($(this).attr("href"));
				return false;
			}
		);
	}
);


/*
	bindAlgemeen
	***************
*/
function bindAlgemeen()
{
// Externe links in een nieuw venster openen
    $("a[href*='http://']:not([href*='"+location.hostname+"'])").attr("target","_blank");

// De sluit knop in de modals
	$('a.btnCloseModal').live("click", 
		function() 
		{
			$("#modal").html('');
			$('#modalBg').hide()
			if ($.browser.msie && jQuery.browser.version < 7) 
			{
				$('select:not(div.modalWrapper select)').show(); // IE6 workaround
			}
			return false;
		}
	);

	$("div.btnSubmit a").live("click",
		function()
		{
			$(this).parent().parent().submit();
		}
	);

	$("#btnPrintPagina").click(
		function()
		{
			window.print();
		}
	);

	$("input[name=postcode], input[name=huisnummer]").live("keyup",
		function()
		{
			getAddress($("input[name=postcode]").val(), $("input[name=huisnummer]").val());
		}
	);

  $("a.fnTooltip").hover(
		function()
		{
			var aOffset = $(this).offset();

			if ($(this).attr("href") != '')
			{
				$.get($(this).attr("href"),
					function(data)
					{
						$("#tooltip .content").html(data);

						var iHeight = $("#tooltip").height();
						var iWidth = $("#tooltip").width();

						var iLeft = aOffset.left - iWidth + 66;
						var iTop = aOffset.top - iHeight - 16;
						
						if (iTop < 0)
						{
							iTop = aOffset.top + 16;
							$("#tooltip .main").addClass('main-with-pointer');
							$("#tooltip .footer").removeClass('footer-with-pointer');
						}
						else
						{
							$("#tooltip .main").removeClass('main-with-pointer');
							$("#tooltip .footer").addClass('footer-with-pointer');
						}
						
						$("#tooltip").css("left", iLeft).css("top", iTop).show();
					}
				);
			}
		},
		function()
		{
			$("#tooltip").hide();
		}
	).click(
		function()
		{
				return false;
		}
  );


	function datepickerDisabled(date)
	{
		var natDays = [];
		var noWeekend = $.datepicker.noWeekends(date);
		if (noWeekend[0])
		{
			for (i = 0; i < natDays.length; i++)
			{
				if (date.getMonth() == natDays[i][0] - 1 && date.getDate() == natDays[i][1])
				{
					return [false, natDays[i][2] + '_day'];
				}
			}
			return [true, ''];
		}
		else 
		{
			return noWeekend;
		}
  }


  var cToday = new Date();
  cToday.setDate(cToday.getDate()+14);
  $(".datepicker").datepicker(
		{
			'minDate': cToday,
			'dateFormat': "dd-mm-yy",
			'beforeShowDay': datepickerDisabled
		}
  );
}

function bindInitModals()
{
	if ($("body").hasClass('proefritI'))
	{
	    showModal("/modals/modalProefritAanvraag.php");
	    setTimeout('$("#modalProefritAanvraag .fnLeusden").click()', 200);

	}
	else if ($("body").hasClass('proefritL'))
	{
	    showModal("/modals/modalProefritAanvraag.php");
	}
	else if ($("body").hasClass('brochure'))
	{
	    showModal("/modals/modalBrochureAanvraag.php");
	}
}

/*
	bindSpecs
	***************
*/
function bindSpecs()
{
    bindInitModals();

	$('#thumbs').serialScroll(
		{
			target:'#thumbs-holder',
			items:'li',
			prev:'a.prev',
			next:'a.next',
			duration:300,
			force:true
		}
	);

	$(".fnColorPickerShow").click(
		function()
		{
			$("#ColorPicker").fadeIn();
		}
	);

	$(".fnColorPickerHide").click(
		function()
		{
			$("#ColorPicker").fadeOut();
		}
	);

	$("#thumbs-holder a").click(
		function()
		{
		  if ($(this).attr("href") != '#')
		  {
			  $("#viewWindowContent img").attr("src", $(this).attr("href"));
			  return false;
		  }
		}
	);

	$(".specs_head").click(
	  function()
	  {
		$(this).next(".specs_body").slideToggle(600);
	  }
	);

}

/*
	bindStelsamen
	***************
*/
function bindStelsamen()
{
	$("#btnBekijkJeEdition").click(
		function()
		{
			if (($(this).parent().find("input[name=optie[1]]:checked").length > 0) &&
			    ($(this).parent().find("input[name=optie[2]]:checked").length > 0))
			{
			    $(this).parent().submit();
			}
			else
			{
			    alert("U moet een kleur en dakmotief kiezen");
			}
		}
	);

	$(".fnBetaaldeOptie").click(
		function()
		{
			getTotaalPrijs($("form#frmEditionSpecs"));
		}
	);
}

/*
	bindSpecs
	***************
*/
function bindMESpecs()
{
    validateform($("form#frmPrfrtAanvraag"));
    $("#btnImgVerstuur").click(
		function()
		{
			$("#frmPrfrtAanvraag").submit();
		}
    );
    fvValideer();
}

/*
	bindMENaw
	***************
*/
function bindMENaw()
{
    fvValideer();
    validateform($("form#frmOfferteAanvraag"));
}

/*
	bindOfferte
	***************
*/
function bindMEOfferte()
{
    validateform($("form#frmBevestigOfferte"));

    $("#maakcontract").hide();

    $("#fnShowMaakContract").click(
	function()
	{
	    $("#maakcontract").slideDown(700);
	    $(this).hide();
	    return false;
	}
    );

    $("#fnKoopNu").click(
		function()
		{
			$("#frmBevestigOfferte").submit();
		}
    );
    fvValideer();
}


/*
	showModal
	***************
*/
function showModal(url)
{
	$.get(  url,
	    function(data)
	    {
			$('#modalBg').show();
			$("#modal").html(data);
			$("#modal div").show(); 
			if ($.browser.msie && jQuery.browser.version < 7) 
			{
				$('select:not(div.modalWrapper select)').hide();
			}	
			bindModalform();
			bindModalPrint();
			fvValideer();

		    // Externe links in een nieuw venster openen
			$("a[href*='http://']:not([href*='"+location.hostname+"'])").attr("target","_blank");
	
			pageTracker._trackEvent('Modal', url, $("#modal h2").text());
	    }
    );
}

/*
	bindModalform
	***************
*/
function bindModalform()
{
    if ($("#modal #modalProefritAanvraag").length > 0)
    {
	bindProefritaanvraag();
    }

    if ($("#modal #modalContact").length > 0)
    {
	bindModalContact();
    }

    if ($("#modal #modalFinancieringAanvraag").length > 0)
    {
	bindFinancieringAanvraag();
    }

	function datepickerDisabled(date)
	{
		var natDays = [];
		var noWeekend = $.datepicker.noWeekends(date);
		if (noWeekend[0])
		{
			for (i = 0; i < natDays.length; i++)
			{
				if (date.getMonth() == natDays[i][0] - 1 && date.getDate() == natDays[i][1])
				{
					return [false, natDays[i][2] + '_day'];
				}
			}
			return [true, ''];
		}
		else 
		{
			return noWeekend;
		}
  }

  $("#modal .datepicker").datepicker(
		{
			'minDate': new Date(),
			'dateFormat': "dd-mm-yy",
			'beforeShowDay': datepickerDisabled
		}
  );

    $("#modal form").submit(
		function()
		{
			var bCorrect = true;
			var bRequiredError = false;
			var bEmailError = false;
			
			$(this).find("input.required:visible").each(
				function()
				{
					if ($(this).fieldValue() == '')
					{
						bRequiredError = true;
						bCorrect = false;
						fvAddError($(this));
					}
					else 
					{
						fvRemoveError($(this));
					}
				}
			);


			$(this).find(".email").each(function()
				{
					var email = $(this).fieldValue();
					var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
			
					if (reg.test(email) == false)
					{
						bEmailError = true;
						bCorrect = false;
						fvAddError($(this));
					}
					else
					{
						fvRemoveError($(this));
					}
				}
			);

			if (!bCorrect)
			{
				if (bRequiredError)
				{
					alert('U moet alle verplichte velden invullen');
				}
				else
				{
					alert('U heeft geen geldig e-mailadres ingevuld');
				}
				return false;
			}
			else
			{
				pageTracker._trackEvent('Modalsubmit', $(this).attr("action"), $("#modal h2").text());
				$.post($(this).attr("action"),
					$(this).serialize(),
					function(data)
					{
						if (data != 'fout')
						{
							$("#modal .Main").html(data);
						}
					}
				);
				return false;
			}
		}
	);
}

/*
	validateform
	***************
*/
function validateform(form)
{
	form.submit(
		function()
		{
			var bCorrect = true;
			var bRequiredError = false;
			var bTelefoonError = false;
			var bEmailError = false;
			var bCheckboxError = false;
	
			form.find("input.required:visible").each(
				function()
				{
					if ($(this).fieldValue() == '')
					{
						bCorrect = false;
						if ($(this).attr("type") == "checkbox")
						{
							bCheckboxError = true;
						}
						else
						{
							bRequiredError = true;
						}
	
						fvAddError($(this));
					}
					else 
					{
						fvRemoveError($(this));
					}
				}
			);

			form.find("input.telefoon:visible").each(
				function()
				{
					if ($(this).val().length != 10)
					{
						bCorrect = false;
						bTelefoonError = true;
	
						fvAddError($(this));
					}
					else 
					{
						fvRemoveError($(this));
					}
				}
			);

			form.find(".email").each(
				function()
				{
					var email = $(this).fieldValue();
					var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	
					if (reg.test(email) == false)
					{
						bEmailError = true;
						bCorrect = false;
						fvAddError($(this));
					}
					else
					{
						fvRemoveError($(this));
					}
				}
			);

			if (!bCorrect)
			{
				if (bRequiredError)
				{
					alert('U moet alle verplichte velden invullen');
				}
				else if (bCheckboxError)
				{
					alert('U moet akkoord gaan met de voorwaarden');
				}
				else if (bTelefoonError)
				{
					alert("U moet een telefoonnummer van 10 getallen opgeven");
				}
				else if (bEmailError)
				{
					alert('U moet een geldig e-mailadres invullen');
				}

				form.find("input.error:first").focus();
				return false;
			}
			else
			{
				return true;
			}
		}
    );
}

/*
	bindProefritaanvraag
	***************
*/

function bindFinancieringAanvraag()
{
	/*$("#financieringAanvraagVerz .btnSubmit a").live("click",
		function()
		{
			$("#frmFinanAanvraag").submit();
		}
	);*/
}

function bindProefritaanvraag()
{
	$("#modalProefritAanvraag #proefritLeusdenLocatie").hide();
	$("#modalProefritAanvraag #proefritLeusdenKalenderSubmit").hide();
	$("#modalProefritAanvraag #proefritLeusden").hide();
	$("#modalProefritAanvraag #proefritLeusdenNaw").hide();
	$("#modalProefritAanvraag #proefritLeusdenNAWSubmit").hide();
	$("#modalProefritAanvraag #proefritLeusdenWatGaatErGebeuren").hide();
//	$("#modalProefritAanvraag #proefritDealer").hide();
//	$("#modalProefritAanvraag #proefritDealerNAWSubmit").hide();

	$("#modalProefritAanvraag .fnDealer").live("click",
		function()
		{
			pageTracker._trackEvent('Modal', '/modals/modalProefritAanvraag.php?loc=dealer', $("#modal h2").text()+' (Dealer aanvraag)');
	  
			$("#modalProefritAanvraag .tabmenu li").removeClass("active");
			$(this).parent().addClass('active');

			$("#modalProefritAanvraag #proefritLeusden").hide();
			$("#modalProefritAanvraag #proefritLeusdenNaw").hide();
			$("#modalProefritAanvraag #proefritLeusdenNAWSubmit").hide();

			$("#modalProefritAanvraag #proefritLeusdenLocatie").hide();
			$("#modalProefritAanvraag #proefritLeusdenWatGaatErGebeuren").hide();
			$("#modalProefritAanvraag #proefritLeusdenKalenderSubmit").hide();

			$("#modalProefritAanvraag #proefritDealer").show();
			$("#modalProefritAanvraag #proefritDealerWatGaatErGebeuren").show();
			$("#modalProefritAanvraag #proefritDealerNAWSubmit").css("display", "inline");
			$("#modalProefritAanvraag .Main").css("overflow", "auto");
		}
	);

	$("#modalProefritAanvraag .fnLeusden").live("click",
		function()
		{
			pageTracker._trackEvent('Modal', '/modals/modalProefritAanvraag.php?loc=leusden', $("#modal h2").text()+' (Centrale aanvraag)');

			$("#modalProefritAanvraag .tabmenu li").removeClass("active");
			$(this).parent().addClass('active');

			$("#modalProefritAanvraag #proefritLeusdenNaw").hide();
			$("#modalProefritAanvraag #proefritLeusdenNAWSubmit").hide();
			$("#modalProefritAanvraag #proefritLeusdenKalenderSubmit").hide();

			$("#modalProefritAanvraag #proefritDealer").hide();
			$("#modalProefritAanvraag #proefritDealerNAWSubmit").hide();
			$("#modalProefritAanvraag #proefritDealerWatGaatErGebeuren").hide();

			$("#modalProefritAanvraag #proefritLeusden").show();
			$("#modalProefritAanvraag #proefritLeusdenLocatie").show();
			$("#modalProefritAanvraag #proefritLeusdenKalenderSubmit").show();
			$("#modalProefritAanvraag .Main").css("overflow", "hidden");
		}
	);
	
	$(".weekverder").live("click",
		function()
		{
			var iWeek = $("#modalProefritAanvraag #proefritkalender input[name=week]").val();
			iWeek++;
		
			$.get("/modals/modalProefritAanvraagKalender.php",
				{week: iWeek},
				function (data)
				{
				  $("#modalProefritAanvraag #proefritLeusden").replaceWith(data);
				}
			);
		}
	);

	$(".weekterug").live("click",
		function()
		{
			var iWeek = $("#modalProefritAanvraag #proefritkalender input[name=week]").val();
		
			if (iWeek > 0)
			{
				iWeek--;
			}
		
			$.get("/modals/modalProefritAanvraagKalender.php",
				{week: iWeek},
				function (data)
				{
					$("#modalProefritAanvraag #proefritLeusden").replaceWith(data);
				}
			);
		}
	);

	$("#proefritLeusdenKalenderSubmit .fnReserveer").live("click",
		function()
		{
			if ($("#proefritLeusdenNaw input[name=datum]").val() != '')
			{
				pageTracker._trackEvent('Modal', '/modals/modalProefritAanvraag.php?stap=2', $("#modal h2").text()+' (Stap 2)');
		  
				$("#modalProefritAanvraag #proefritLeusden").hide();
				$("#modalProefritAanvraag #proefritLeusdenLocatie").hide();
				$("#modalProefritAanvraag #proefritLeusdenWatGaatErGebeuren").show();
				$("#modalProefritAanvraag #proefritLeusdenNAWSubmit").show();
				$("#modalProefritAanvraag #proefritLeusdenKalenderSubmit").hide();
				$("#modalProefritAanvraag #proefritLeusdenNaw").css("display", "inline");
			}
		}
	);

	$("#proefritLeusdenNAWSubmit .fnReserveringVersturen").unbind("click");
	$("#proefritLeusdenNAWSubmit .fnReserveringVersturen").live("click",
		function()
		{
			if ($("#proefritLeusdenNaw input[name=datum]").val() != '')
			{
				$("#frmPrfrtAanvraagLeusden").submit();
		  
				if ($("#frmPrfrtAanvraagLeusden .error").length == 0)
				{
					$("#modalProefritAanvraag #proefritLeusden").hide();
					$("#modalProefritAanvraag #proefritLeusdenNAWSubmit").hide();
				}
			}
		}
	);

	$("#proefritDealerNAWSubmit .fnReserveringVersturen").unbind("click");
	$("#proefritDealerNAWSubmit .fnReserveringVersturen").live("click",
		function()
		{
			$("#frmPrfrtAanvraagDealer").submit();
		 
			if ($("#frmPrfrtAanvraagDealer .error").length == 0)
			{
				$("#modalProefritAanvraag #proefritDealer").hide();
				$("#modalProefritAanvraag #proefritDealerNAWSubmit").hide();
			}
		}
	);

	$("td.vrij a").live("click",
		function()
		{
			$("td.vrij.keuze a").show();
			$("td.vrij.keuze").removeClass("keuze");
			$(this).parent().addClass("keuze");
			$(this).hide();
		
			$("#proefritLeusdenNaw input[name=datum]").val($(this).find('span').text());
			$("#proefritLeusdenNaw input[name=uur]").val($(this).parent().parent().attr("rel"));


			$("#wgegDatum").text($(this).find('span').text());
		
			$.getJSON("/ajax/getProefritRegel.php",
				{
					datum: $(this).find('span').text(),
					tijd: $(this).parent().parent().attr("rel")
				},
				function(data)
				{
					$("#proefritLeusdenWanneer").text(data.regel);
					$("#wgegDatum").text(data.datum);
				}
			);
		}
	);
}

/*
	bindDealeradmin
	***************
*/
function bindDealeradmin()
{
    $("td.vrij a").live("click",
			function()
			{
				$("td.vrij.keuze a").show();
				$("td.vrij.keuze").removeClass("keuze");
				$(this).parent().addClass("keuze");
		
				$("#proefritLeusdenNaw input[name=datum]").val($(this).find('span').text());
				$("#proefritLeusdenNaw input[name=uur]").val($(this).parent().parent().attr("rel"));
			}
    );

    $("td.bezet a").live("click",
			function()
			{
				if (window.confirm("Weet u zeker dat u deze reservering wilt verwijderen ? "))
				{
					$.post(	"/ajax/removeProefrit.php",
						{
							datum: $(this).find("span").text(),
							tijd: $(this).parent().parent().attr("rel")
						}
					);
					$(this).parent().removeClass('bezet');
					$(this).parent().addClass("vrij");
				}
			}
    );

	$("td.vrij.keuze a").live("click",
		function()
		{
		$.post(	"/ajax/addProefrit.php",
			{
				datum: $(this).find("span").text(),
				tijd: $(this).parent().parent().attr("rel")
			}
		);
		$(this).parent().removeClass('vrij').removeClass('keuze').addClass("bezet");
		}
	);

  $(".weekverder").live("click",
		function()
		{
			var iWeek = $("input[name=week]").val();
			iWeek++;
	
			window.location = "index.php?week="+iWeek;
		}
	);

  $(".weekterug").live("click",
		function()
		{
			var iWeek = $("input[name=week]").val();
			iWeek--;
	
			window.location = "index.php?week="+iWeek;
		}
	);
}

/*
	bindModalPrint
	***************
*/
function bindModalPrint()
{
	$("#modal .fnPrintPagina").click(
		function()
		{
			$("#modal .Main").print();
		}
	);
}


/*
	bindModalContact
	***************
*/
function bindModalContact()
{
/*	var tabContainers = $('#frmContactTabs > div');
	tabContainers.hide().filter(':tabContactEmail').show();
	
	$("#frmContactTabs ul.tabNavigation a").click(function()
		{
			tabContainers.hide();
			tabContainers.filter(this.hash).fadeIn();
			
			$("#frmContactTabs ul.tabNavigation a").removeClass('tabSelected');
			$(this).addClass('tabSelected');
			
			return false;
		}
	).filter(':tabContactEmail').click();
	*/
        var tabContainers = $('#frmContactTabs > div');
        tabContainers.hide();

// Standaard het eerste tabje aanzetten
        $("#frmContactTabs #tabContactEmail").show();
	$("#frmContactTabs .tabNavigation .firstchild a").addClass("tabSelected");

	$("#frmContactTabs .tabNavigation a").live("click",
		function()
		{
		    var sID = this.hash;

		    tabContainers.hide();
		    tabContainers.filter(sID).fadeIn();

		    $("#frmContactTabs ul.tabNavigation a").removeClass('tabSelected');
		    $(this).addClass('tabSelected');
		}
	);


}


function getTotaalPrijs(form)
{
//1. vraag values op van de checkboxen voor de opties (optie[4][])
//2. stuur de values (optieID's) door naar een php url
//3. bereken in de php url de totaalprijs, dit door de som van de optie prijzen
//   + de prijsdirect van de auto.
	var dataString = '';

	form.find(".fnBetaaldeOptie").each(
		function()
		{
			if ($(this).fieldValue() != '')
			{
				dataString = String(dataString) + String($(this).attr("name")) + '='  + String($(this).fieldValue()) + "&";
			}
		}
	);

	$.ajax(
		{
			type: "GET",
			url: "/ajax/getTotaalPrijs.php",
			data: dataString,
			dataType: "xml",
			success: function(data)
				{
					var img = $("#auto-preview img");
					img.attr("src", "/gfx/fabia/"+$(data).find("prijzen").find("afbeelding").text())

					$(".PrijsStandaard").text($(data).find("prijzen").find("prijsstandaard").text());
					$(".PrijsDirect").text($(data).find("prijzen").find("prijsdirect").text());
					$(".PrijsPerMaand").text($(data).find("prijzen").find("prijspermaand").text());
				}
		}
	);
}


/*
	getAddress
	***************
*/
function getAddress(postcode, huisnr)
{
  if (postcode.length == 6 && huisnr != '')
  {
		$.ajax(
			{
				type: "GET",
				url: "/ajax/proxy/adres.php",
				data: "postcode="+postcode+"&huisnr="+huisnr,
				dataType: "xml",
				success: function(data)
					{
						if ($(data).find("address").find("error").text() == 'false')
						{
						  $("input[name=straat]").val($(data).find("address").find("street").text());
						  $("input[name=woonplaats]").val($(data).find("address").find("city").text());
						}
						else
						{
						  $("input[name=straat]").val('');
						  $("input[name=woonplaats]").val('');
						}
					}
			}
		);
	}
}
