/*
====================
	Initials
====================
*/
$(function(){
	// Producten klikbaar maken
	$(".productRow > span").click(gotoProductPage);
	
	// Product naar beneden scroller
	$(".gotoBeschrijving").click(scrollToBeschrijving);
	
	// bestelProduct
	$(".bestelProduct").click(bestelProduct);
	$(".combiBestel").click(bestelActieset);
	
	// Winkelmand stap post
	$("[postTo]").click(postToPage);
	
	// Update aantallen
	$(".mandNum select").change(submitForm);
	
	// Verwijder product uit winkelmand
	$(".mandDel img").click(deleteProduct);
	
	// Soort bestelling stap-2
	$("[name=soortBestelling]").click(displayCompanyName);
	$("[name=anderAfleveradres]").click(displayDeliveryAdress);
	displayDeliveryAdress();
	
	$("[validateBtn]").click(validateForm);
	
	$(".updateBG").find(".formRow").removeClass("gray").eq(0).nextAll(".formRow:even").addClass("gray");	
	
	// To basket
	$("#basket").click(function(){document.location = "/kassa/stap-1.html";});
	
	// Toggle cat info
	$("#pathRight").click(function(){$("#catData").toggle();});
	$("#catData").hide();
	
	// Make block link to link inside
	$(".combiProd").click(goToLinkInside);

});

/*
===================
	Functions
===================
*/
function gotoProductPage()
{
	document.location = $(this).find("a").attr("href");
}
function scrollToBeschrijving()
{
	var top = $(".prodDetBeschrijving").eq(0).offset().top;
	$("body,html").stop().animate({scrollTop : top}, 500);
	return false;
}
function bestelProduct()
{
	$("[name=what]").val("product");
	$("form").attr("action", "/kassa/stap-1.html");
	$("form").submit();	
}
function bestelActieset()
{
	$("[name=what]").val("actieset");
	$("[name=actieset]").val($(this).closest(".combinatieset").attr("actieid"));
	$("form").attr("action", "/kassa/stap-1.html");
	$("form").submit();	
}
function postToPage()
{
	$("form").attr("action", $(this).attr("postTo")).submit();	
}
function deleteProduct()
{
	if($(this).attr("actie") == 1)
	{
			$("form").append("<input type='hidden' name='deleteactie' value='" + $(this).attr("prodId") + "' />").submit();	
	}
	else
	{
		$("form").append("<input type='hidden' name='deleteproduct' value='" + $(this).attr("prodId") + "' />").submit();	
	}
}
function submitForm()
{
	$("form").submit();	
}
function displayCompanyName()
{
	var index = $(this).parent().find("input:radio").index($(this));
	if(index == 0)
	{
		$(".bedrijfRow").hide();
		$(this).closest(".form").find(".row").eq(1).nextAll(".row").removeClass("gray");
		$(this).closest(".form").find(".row").eq(1).nextAll(".row:even").addClass("gray");
		
	}
	else
	{
		$(".bedrijfRow").show();		
		$(this).closest(".form").find(".row").eq(0).nextAll(".row").removeClass("gray");
		$(this).closest(".form").find(".row").eq(0).nextAll(".row:even").addClass("gray");	
	}
}
function displayDeliveryAdress()
{
	if($("[name=anderAfleveradres]").is(":checked"))
	{
		$(".anderAfleverAdresForm").show();	
	}
	else
	{
		$(".anderAfleverAdresForm").hide();	
	}
}
function validateForm()
{
	$(".errorText").remove();
	$("[name=Bedrijfsnaam]").removeClass("error");
	
	validate = ".validate input";
	
	// Ander afleveraders?
	if($("[name=anderAfleveradres]").is(":checked"))
	{
		validate += ", .anderValidate input";	
	}
	
	// Algemene input velden
	$(validate).removeClass("error").each(function(){
		if($(this).attr("name") != "Mobiel" && $(this).attr("name") != "soortBestelling" && $(this).attr("name") != "Bedrijfsnaam")
		{
			if($(this).val() == "")
			{
				$(this).addClass("error").parent().append("<div class='errorText'>Opnieuw invoeren</div>");	
			}
		}
	});	
	
	// Algemene voorwaarden + betaalmethode
	$("[name=voorwaarden]").closest(".form").removeClass("error");
	if(!$("[name=voorwaarden]").is(":checked"))
	{
		$("[name=voorwaarden]").closest(".form").addClass("error").find("div").append("<span class='errorText inline'>U bent nog niet akkoord gegaan met de algemene voorwaarden</span>");
	}
	
	// Zakelijk
	if($("[name=soortBestelling]").eq(1).is(":checked"))
	{
		if($("[name=Bedrijfsnaam]").val() == "")
		{
			$("[name=Bedrijfsnaam]").addClass("error").parent().append("<div class='errorText'>Opnieuw invoeren</div>");
		}
	}
	
	// Radio button checked
	$(".paymentValidate").removeClass("error");
	if($(".paymentValidate input:radio:checked").length == 0)
	{
		$(".paymentValidate").addClass("error").prepend("<div class='errorText'>U heeft nog geen betaalwijze gekozen</div>");	
	}
	
	// E-mail	
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	if(reg.test($("[name=E-mail]").val()) == false) 
	{
		$("[name=E-mail]").addClass("error").parent().append("<div class='errorText'>Opnieuw invoeren</div>");	
	}

	// Post if no errors
	if($(".error").length == 0)
	{
		$("form").attr("action", "/kassa/stap-3.html");
		$("form").submit();		
	}
}
function goToLinkInside()
{
	document.location = $(this).find("a").attr("href");	
}
