/*
====================
	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 = "/soorten/zout/bestellen/";});
	
	// Toggle cat info
	$("#pathRight").click(function(){$("#catData").toggle();});
	$("#catData").hide();
	
	// Make block link to link inside
	$(".combiProd").click(goToLinkInside);
	
	// Logout
	$("#logout").click(logout);
	
	// Login field
	// $("[name=login_username], [name=login_password]").inputReset();
	
	// Land KvK en BTW
	
	// Bedrijfsnaam
	displayCompanyName();
	
	// Betaalmethod
	$("[name=betaalmethode]").change(betaalmethodeChange);
	betaalmethodeChange();
	
		showHideBTWKVK();
	$("[name=Land]").change(showHideBTWKVK);
	
	// Validate stap 1
	$(".validateStap1").click(validateStap1);
});

/*
===================
	Functions
===================
*/
function validateStap1()
{
	var count = 0;
	$(".form").find("select").each(function(){
		if($(this).get(0).selectedIndex != 0)
			count++;
	});
	$(".errormsg").hide();
	if( count == 0 )
	{
		$(".errormsg").show();
	}
	else
	{
		$("form").attr("action", "/soorten/zout/bestellen/stap-2/").submit();	
	}
		
}
function betaalmethodeChange()
{
	if( $("[name=betaalmethode]:checked").val() == "AutomatischIncasso" )
	{
			$("[name=RekeningNummer]").closest(".form").show();
	}
	else
	{
		$("[name=RekeningNummer]").closest(".form").hide();
	}
}
function showHideBTWKVK()
{
	
	var check = $("[name=soortBestelling]:checked");
	var index = check.parent().find("input:radio").index(check);
	if(index == 0)
	{
		$("[name=KvkNummer]").closest(".formRow").hide();
		$("[name=BTWNummer]").closest(".formRow").hide();
	}
	else
	{
		switch( $("[name=Land]").val() )
		{
			case "Nederland":
			
				$("[name=KvkNummer]").closest(".formRow").show();
				$("[name=BTWNummer]").closest(".formRow").hide();
				break;
			default:
				$("[name=KvkNummer]").closest(".formRow").hide();
				$("[name=BTWNummer]").closest(".formRow").show();
		}	
	}
	
	check.closest(".form").find(".row:visible").each(function(i){
		$(this).removeClass("gray");
		
		if( i % 2 == 0 )
			$(this).addClass("gray");
	});
}
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", "/soorten/zout/bestellen/");
	$("form").submit();	
}
function bestelActieset()
{
	$("[name=what]").val("actieset");
	$("[name=actieset]").val($(this).closest(".combinatieset").attr("actieid"));
	$("form").attr("action", "/soorten/zout/bestellen/");
	$("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 check = $("[name=soortBestelling]:checked");
	var index = check.parent().find("input:radio").index(check);
	if(index == 0)
	{
		$(".bedrijfRow").hide();
		check.closest(".form").find(".row").eq(1).nextAll(".row").removeClass("gray");
		check.closest(".form").find(".row").eq(1).nextAll(".row:even").addClass("gray");
		
	}
	else
	{
		$(".bedrijfRow").show();		
		check.closest(".form").find(".row").eq(0).nextAll(".row").removeClass("gray");
		check.closest(".form").find(".row").eq(0).nextAll(".row:even").addClass("gray");	
	}
	
	showHideBTWKVK();
}
function displayDeliveryAdress()
{
	if($("[name=anderAfleveradres]").is(":checked"))
	{
		$(".anderAfleverAdresForm").show();	
	}
	else
	{
		$(".anderAfleverAdresForm").hide();	
	}
}
function validateForm()
{
	$(".errorText").remove();
	$("[name=Bedrijfsnaam], [name=Kvknummer], [name=BTWNummer]").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") != "RekeningNummer" && $(this).attr("name") != "KvkNummer" && $(this).attr("name") != "BTWNummer" && $(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>");	
			}
		}
	});	
	
	// Rekeningnummer
	$("[name=RekeningNummer]").removeClass("error");
	if( $("[name=betaalmethode]:checked").val() == "AutomatischIncasso" )
	{
		if($("[name=RekeningNummer]").val() == "")
		{
			$("[name=RekeningNummer]").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>");
		}
		
		switch( $("[name=Land]").val() )
		{
			case "Nederland":
				if( $("[name=KvkNummer]").val() == "" )
					$("[name=KvkNummer]").addClass("error").parent().append("<div class='errorText'>Opnieuw invoeren</div>");
				break;
			default:
				if( $("[name=BTWNummer]").val() == "")
					$("[name=BTWNummer]").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", "/soorten/zout/bestellen/stap-3/");
		$("form").submit();		
	}
}
function goToLinkInside()
{
	document.location = $(this).find("a").attr("href");	
}
function logout()
{
	$("form").eq(0).append("<input type='hidden' name='logout' value='yes' />").submit();	
}
