jQuery.fn.log = function (msg) {
	console.log("%s: %o", msg, this);
	return this;
};

$(document).ready(function(){
	mpReady();
});

function mpReady() {
	$(".mpValideerEMail").each(function() {
		var VeldId = $(this).attr("id");
		if(!$(this).next('span').length) $(this).after('<span class="Onzeker"></span>')
		
		$(this).keypress(function() {
			$(this).removeClass('Goed');
			$(this).removeClass('Fout');
			$(this).next('span').remove();
			$(this).after('<span class="Onzeker"></span>');
		});
		$(this).blur(function() {
			$(this).removeClass('Fout');
			$(this).removeClass('Goed');
			if(!$(this).next('span').attr('class')!=='') $(this).next('span').remove();
			$(this).after('<span class="Onzeker"></span>');
			$.ajax({url: "/?Ajax=mpCheckEmailadres", data: {"Id": VeldId, "Emailadres": $(this).val()}, dataType: "json", success: function(i) {
				$('#' + VeldId).next('span').remove();
				if(i.Goed) {
					$('#' + VeldId).addClass('Goed');
					$('#' + VeldId).after('<span class="Goed">' + IIf($('#' + VeldId).is('.GeenMelding'), '', i.Melding) + '</span>');
				} else {
					$('#' + VeldId).addClass('Fout');
					$('#' + VeldId).after('<span class="Fout">' + IIf($('#' + VeldId).is('.GeenMelding'), '', i.Melding) + '</span>');
				}
			}});
		});
		if($(this).val()!=='' && !$(this).hasClass('Fout')) $(this).blur();
	});
	$("input.Fout").each(function() {
		if($(this).hasClass('mpValideerEMail')) return true;
		$(this).keypress(function() {
			$(this).removeClass('Fout');
			if($(this).next('span').attr('class')=='Fout') $(this).next('span').remove();
		});
	});
	$("textarea.Fout").each(function() {
		$(this).keypress(function() {
			$(this).removeClass('Fout');
			if($(this).next('span').attr('class')=='Fout') $(this).next('span').remove();
		});
	});
	$("select.Fout").each(function() {
		$(this).click(function() {
			$(this).removeClass('Fout');
			if($(this).next('span').attr('class')=='Fout') $(this).next('span').remove();
		});
	});
	$(".mpMaakBlanco").each(function() {
		$(this).focus(function() {
			if(this.value==this.defaultValue) {
				this.value = "";
			}
		}).blur(function() {
			if(!this.value.length) {
				this.value = this.defaultValue;
			}
		});
	});
	$(".mpScroll").click(function(event){
		event.preventDefault();
		var full_url = this.href;
		var parts = full_url.split('#');
		var trgt = parts[1];
		var target_offset = $('a[name=' + trgt + ']').offset();
		var target_top = target_offset.top;
		$('html, body').animate({scrollTop:target_top}, 500);
	});
	$(".BetaalOptie").each(function() {
		$(this).addClass('Hidden');
	});
	$(".BetaalOptieRij").click(function() {
		BetaalOptieId = $(this).children('.BetaalOptieRadio').children("input[type=radio]").attr("id").replace("bo_", "");
		OpenBetaalOptie();
		$("#bo_" + BetaalOptieId).blur();
	});
	$("#frmWinkelwagenBezorgEnBetaalinfo").submit(function() {
		$("#Submit").attr("disabled", "true");
	});
	if(typeof(BetaalOptieId)!=="undefined") OpenBetaalOptie();
	$(".VerzendOptie").each(function() {
		$(this).addClass('Hidden');
	});
	$(".VerzendOptieRij").click(function() {
		VerzendOptie = $(this).children('.VerzendOptieRadio').children("input[type=radio]").attr("id").replace("vo_", "");
		OpenVerzendOptie();
		$("#vo_" + VerzendOptie).blur();
	});
	if(typeof(VerzendOptie)!=="undefined") OpenVerzendOptie();
	$('.Foto').lightBox();
	$('#ActiePopup').lightBox();
	$('#ProductAantal').change(function() {
		BerekenProductPrijs();
	});
	$('.ProductCombinaties').change(function() {
		BerekenProductPrijs();
	});
	$('.ProductMeebestellers').change(function() {
		BerekenProductPrijs();
	});
	if($('#ProductCategorieId').length!==0) BerekenProductPrijs();
	$('#KortingsCode1').keyup(function() {
		if($(this).val().length == 4) {
			$('#KortingsCode2').focus().select();
		}
	});
	$('#KortingsCode2').keyup(function() {
		if($(this).val().length == 4) {
			$('#KortingsCode3').focus().select();
		}
	});
	$('#KortingsCode3').keyup(function() {
		if($(this).val().length == 4) {
			$('#KortingsCodeInwisselen').focus().select();
		}
	});
}

function BerekenProductPrijs() {
	var ProductAantal = $('#ProductAantal').val();
	var ProductTotaalPrijs, c, d, e;
	var IsKortingAantal;
	var aantGeenKorting = 0;
	var ProductTotaalPrijs = 0;
	
	if(ProductKortingAantal!==0 && ProductAantal >= ProductKortingAantal) {
		var aantGeenKorting, aantVoorKorting;
		aantGeenKorting = ProductAantal % ProductKortingAantal;
		aantVoorKorting = (ProductAantal - aantGeenKorting) / ProductKortingAantal;
		ProductTotaalPrijs = (aantVoorKorting * ProductKortingPrijs) + (aantGeenKorting * ProductPrijs);
		IsKortingAantal = true;
	} else {
		ProductTotaalPrijs = ProductAantal * ProductPrijs;
		IsKortingAantal = false;
	}
	if(AantalCombies!==0) {
		var PrijsCorrectie = 0;
		for(c=1;c<=5;c++) {
			if(c<=ProductAantal) {
				var a, CombinatieId;
				$('#ProductCombinatie' + c).show();
				for (a=1;a<=AantalCombies;a++) {
					PrijsCorrectie = PrijsCorrectie + mpGetProductCombinatiePrijsCorrectie($('#ProductCombinatie' + c + '_' + a).val())
				}
			} else {
				$('#ProductCombinatie' + c).hide();
			}
		}
		ProductTotaalPrijs = ProductTotaalPrijs + PrijsCorrectie;
	}
	if(AantalMeebestellers!==0) {
		for(d=1;d<=AantalMeebestellers;d++) {
			var ProductMeebestellerMaxAantal = mpGetProductMeebestellerMaxAantal(d);
			if(ProductMeebestellerMaxAantal == "1PerProduct") {
				if($('#ProductMeebesteller' + d + 'Aantal').attr('checked')) {
					var AantalPerMeebestellers = 1;
				} else {
					var AantalPerMeebestellers = 0;
				}
			} else {
				var AantalPerMeebestellers = $('#ProductMeebesteller' + d + 'Aantal').val();
			}
			if(ProductMeebestellerMaxAantal == "Bestelaantal") {
				if(AantalPerMeebestellers>ProductAantal) {
					var PullDownMeebesteller = document.getElementById('ProductMeebesteller' + d + 'Aantal');
					PullDownMeebesteller.options.length = 0;
					for(e=0;e<=5;e++) {
						PullDownMeebesteller.options[e] = new Option(e, e, e==ProductAantal, e==ProductAantal);
					}
					AantalPerMeebestellers = ProductAantal;
				}
			} else {
				AantalPerMeebestellers = AantalPerMeebestellers;
			}
			ProductTotaalPrijs = ProductTotaalPrijs + (AantalPerMeebestellers * mpGetProductMeebestellerPrijs(d));
		}
	}
	$('#ProductTotaalPrijs').html(mpMaskValuta(ProductTotaalPrijs));
}

function OpenBetaalOptie() {
	$("#bo_" + BetaalOptieId).attr("checked", true);
	$(".BetaalOptie").each(function() {
		$(this).addClass('Hidden');
	});
	$("#BetaalOptie_" + BetaalOptieId).removeClass('Hidden');
	BerekenTotaal();
}

function BerekenTotaal() {
	var TotaalBedrag = 0;
	if(GratisVerzendkosteniDeal && BetaalOptieId == 1 && (GratisVerzendkosteniDealDrempel == 0 || TotaalPrijs >= GratisVerzendkosteniDealDrempel)) {
		TotaalBedrag = TotaalPrijs;
		$('#htmlStandaardVerzenkosten').html(mpMaskValuta(0));
		if(typeof($('#htmlSpecialeVerzenkosten'))!=="undefined") $('#htmlSpecialeVerzenkosten').html(mpMaskValuta(0));
	} else {
		TotaalBedrag = TotaalPrijs + Verzendkosten + ExtraVerzendkosten - Korting;
		$('#htmlStandaardVerzenkosten').html(mpMaskValuta(Verzendkosten));
		if(typeof($('#htmlSpecialeVerzenkosten'))!=="undefined") $('#htmlSpecialeVerzenkosten').html(mpMaskValuta(ExtraVerzendkosten));
	}
	var BetaalToeslag = mpGetBetaalToeslag(BetaalOptieId);
	TotaalBedrag = TotaalBedrag + BetaalToeslag;
	$('#htmlBetaalToeslag').html(mpMaskValuta(BetaalToeslag));
	$('#htmlTotaalBedrag').html(mpMaskValuta(TotaalBedrag));
}

function mpGetBetaalToeslag(BetaalOptieId) {
	for (var i = 0; i < JSONBetaalOpties.BetaalOpties.length; i++) {
		if(JSONBetaalOpties.BetaalOpties[i].BetaalOptieId==BetaalOptieId) {
			var BetaalToeslag = JSONBetaalOpties.BetaalOpties[i].BetaalToeslag;
			break;
		}
	}
	return BetaalToeslag;
}

function mpGetProductCombinatiePrijsCorrectie(ProductCombinatieId) {
	for (var i = 0; i < JSONProductCombinatiePrijsCorrectie.Records.length; i++) {
		if(JSONProductCombinatiePrijsCorrectie.Records[i].ProductCombinatieId==ProductCombinatieId) {
			var PrijsCorrectie = JSONProductCombinatiePrijsCorrectie.Records[i].PrijsCorrectie;
			break;
		}
	}
	return PrijsCorrectie;
}

function mpGetProductMeebestellerMaxAantal(MeebestellerOrder) {
	for (var i = 0; i < JSONProductMeebestellers.Records.length; i++) {
		if(JSONProductMeebestellers.Records[i].MeebestellerOrder==MeebestellerOrder) {
			var MaxAantal = JSONProductMeebestellers.Records[i].MaxAantal;
			break;
		}
	}
	return MaxAantal;
}

function mpGetProductMeebestellerPrijs(MeebestellerOrder) {
	for (var i = 0; i < JSONProductMeebestellers.Records.length; i++) {
		if(JSONProductMeebestellers.Records[i].MeebestellerOrder==MeebestellerOrder) {
			var MeebestellerPrijs = JSONProductMeebestellers.Records[i].MeebestellerPrijs;
			break;
		}
	}
	return MeebestellerPrijs;
}

function OpenVerzendOptie() {
	$("#vo_" + VerzendOptie).attr("checked", true);
	$(".VerzendOptie").each(function() {
		$(this).addClass('Hidden');
	});
	$("#VerzendOptie_" + VerzendOptie).removeClass('Hidden');
}

function mpMaskValuta(Valuta) {
	var num = Valuta;
	num = num.toString().replace(/\$|/g, '');
	num = num.toString().replace(',', '.')
	if(isNaN(num)) num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10) cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
		num = num.substring(0,num.length-(4*i+3))+'.'+ num.substring(num.length-(4*i+3));
	return (((sign)?'':'-') + num + ',' + cents);
}

function ToggleWinkelwagenInloggen(Tabblad) {
	if(Tabblad=='Winkelwagen') {
		$('#GridWinkelwagen').show();
		$('#GridInloggen').hide();
		$('#HeaderGrid').css('backgroundPosition', '0 0');
		
	} else {
		$('#GridWinkelwagen').hide();
		$('#GridInloggen').show();
		$('#HeaderGrid').css('backgroundPosition', '0 -72px');
	}
}

function PreviewAfbeelding(Afbeelding, FotoNr) {
	if(YouTubeId!='') {
		$('#YouTubeFilm').hide();
		$('#Preview').show();
	}
	$('#Preview').attr('src', '/Images/Thumbnail/Fixed250/' + Afbeelding);
	FotoSelectedId = FotoNr;
}

function ShowYouTube() {
	$('#YouTubeFilm').show();
	$('#Preview').hide();
}

function Zoeken(Pagina) {
	if(Pagina!='') {
		document.getElementById('frmZoeken').action = "/Zoeken/Pagina-" + Pagina + ".html";
	} else {
		document.getElementById('frmZoeken').action = "/Zoeken.html";
	}
	document.getElementById('frmZoeken').submit();
}

function VeranderMediumCode(MediumCode) {
	MediumCode = MediumCode.slice(MediumCode.indexOf('|') + 1);
	if(MediumCode=="1") {
		$('#MediumCode').show();
	} else {
		$('#MediumCode').hide();
	}
}

function GratisVerzenden(JaNee) {
	var StandaardVerzendkosten = $('$StandaardVerzenkosten').val();
	var SpecialeVerzenkosten = $('#SpecialeVerzenkosten').val();
	var NormaalTotaalBedrag = $('#NormaalTotaalBedrag').val();
	var GratisVerzendenTotaalBedrag = $('#GratisVerzendenTotaalBedrag').val();
	
	if(JaNee) {
		$('#htmlStandaardVerzenkosten').html('0,00');
		$('#htmlSpecialeVerzenkosten').html('0,00');
		$('#TotaalBedrag').html(GratisVerzendenTotaalBedrag);
	} else {
		$('#htmlStandaardVerzenkosten').html(StandaardVerzendkosten);
		$('#htmlSpecialeVerzenkosten').html(SpecialeVerzenkosten);
		$('#TotaalBedrag').html($('#TotaalBedrag' + $('#BetaalOptie').val()).val());
	}
}

function ToggleLogin() {
	if($('#InloggenEMailadres').val() == 'Uw e-mailadres') {
		$('#InloggenEMailadres').val('');
		$('#InloggenWachtwoord').val('');
	} else if ($('#InloggenEMailadres').val() == '') {
		$('#InloggenEMailadres').val('Uw e-mailadres');
		$('#InloggenWachtwoord').val('Wachtwoord');		
	}
}

function OpenProducten() {
	$('#VerborgenArtikelen').show();
	$('#ProductenOpenen').hide();
}

function CreateBookmarkLink() {
	title = document.title;
	url = window.location.href;

	if (window.sidebar) {
		window.sidebar.addPanel(title, url, "");
	} else if(window.external) {
		window.external.AddFavorite( url, title);
	} else {
		alert('Uw browser ondersteund geen mogelijkheid\nom deze pagina automatisch aan uw\nfavorieten/bookmarks toe te voegen.\n\nU kunt dit zelf doen via het menu van uw browser.');
	}
}

function WinkelwagenToevoegen(ProductCategorieId, ProductId, ProductAantal) {
	frm = document.createElement("form");
	frm.setAttribute("method", "post");
	frm.setAttribute("id", "tmpWinkelwagen");
	frm.setAttribute("name", "tmpWinkelwagen");
	frm.setAttribute("action", "/Winkelwagen.html");
	
	MaakFormInput("a", "ProductToevoegen", "hidden", frm);
	MaakFormInput("ProductCategorieId", ProductCategorieId, "hidden", frm);
	MaakFormInput("ProductId", ProductId, "hidden", frm);
	MaakFormInput("ProductAantal", ProductAantal, "hidden", frm);
	document.body.appendChild(frm);
	frm.submit()
}

function MaakFormInput(Name, Value, Type, Form) {
	inp = document.createElement("input");
	inp.setAttribute("name", Name);
	inp.setAttribute("value", Value);
	inp.setAttribute("type", Type);
	Form.appendChild(inp);
}

function Ajax(Actie, Data) {
	$.ajax({
		url: Actie,
		data: Data,
		dataType: 'text',
		success: function(j) {
			eval(j);
		}
	});
}

function IIf(psdStr, trueStr, falseStr) {
	if(psdStr) {
		return trueStr;
	} else {
		return falseStr;
	}
}

var MailaFriendAanNaam = '';
var MailaFriendAanEMail = '';
var MailaFriendVanNaam = '';
var MailaFriendVanEMail = '';

//var MailaFriendFrame = '<div id="cMailaFriend"><div id="MailaFriendBoven"><h2>Mail vriend of vriendin</h2><a href="#" onclick="javascript:MailaFriendSluiten(); return false;">Sluiten</a></div><div id="MailaFriendOnder"><p>Breng een vriend of vriendin op de hoogte van dit product. Vul hieronder de gegevens in en klik op verzenden.</p><div id="MailaFriendContent"></div><div id="MailaFriendPrivacy"><p>Ingevoerde gegevens worden éénmalig gebruikt en worden niet verstrekt aan derden.</p></div></div></div>'
//var MailaFriendForm = '<form id="MailaFriend" action="/MailVriendVriendin.html?a=MailVriendVriendin"><div id="MailaFriendAan"><h3>Aan</h3><div class="MailaFriendInvoer"><label for="MailaFriendAanNaam">Naam *</label><input type="text" name="MailaFriendAanNaam" id="MailaFriendAanNaam" value="' + MailaFriendAanNaam + '" /></div><div class="MailaFriendInvoer"><label for="MailaFriendAanEMail">E-mail *</label><input type="text" name="MailaFriendAanEMail" id="MailaFriendAanEMail" class="mpValideerEMail" value="' + MailaFriendAanEMail + '" /></div></div><div id="MailaFriendVan"><h3>Van</h3><div class="MailaFriendInvoer"><label for="MailaFriendVanNaam">Naam *</label><input type="text" name="MailaFriendVanNaam" id="MailaFriendVanNaam" value="' + MailaFriendVanNaam + '" /></div><div class="MailaFriendInvoer"><label for="MailaFriendVanEMail">E-mail *</label><input type="text" name="MailaFriendVanEMail" id="MailaFriendVanEMail" class="mpValideerEMail" value="' + MailaFriendVanEMail + '" /></div></div><div id="MailaFriendSubmit"><input type="button" onclick="javascript:MailaFriend();" name="Submit" value="Verzenden" id="MailaFriendVerzenden" /></div></form>'

var MailaFriendFrame = '<div id="cMailaFriend"><div id="MailaFriendBoven"><h2>Mail vriend of vriendin</h2><a href="#" onclick="javascript:MailaFriendSluiten(); return false;">Sluiten</a></div><div id="MailaFriendOnder"><p>Breng een vriend of vriendin op de hoogte van dit product. Vul hieronder de gegevens in en klik op verzenden.</p><div id="MailaFriendContent"></div><div id="MailaFriendPrivacy"><p>Ingevoerde gegevens worden éénmalig gebruikt en worden niet verstrekt aan derden.</p></div></div></div>'
var MailaFriendForm = '<form id="MailaFriend" action="/MailVriendVriendin.html?a=MailVriendVriendin" class="frmOpmaak"><h3>Aan</h3><fieldset><div class="Rij"><label for="MailaFriendAanNaam" class="MailaFriend">Naam <acronym title="Verplicht veld">*</acronym></label><input type="text" name="MailaFriendAanNaam" id="MailaFriendAanNaam" value="' + MailaFriendAanNaam + '" class="InputNormaal" /></div><div class="Rij"><label for="MailaFriendAanEMail" class="MailaFriend">E-mail <acronym title="Verplicht veld">*</acronym></label><input type="text" name="MailaFriendAanEMail" id="MailaFriendAanEMail" class="InputNormaal mpValideerEMail GeenMelding" value="' + MailaFriendAanEMail + '" /></div></fieldset><h3>Van</h3><fieldset><div class="Rij"><label for="MailaFriendVanNaam" class="MailaFriend">Naam <acronym title="Verplicht veld">*</acronym></label><input type="text" name="MailaFriendVanNaam" id="MailaFriendVanNaam" value="' + MailaFriendVanNaam + '" class="InputNormaal" /></div><div class="Rij"><label for="MailaFriendVanEMail" class="MailaFriend">E-mail <acronym title="Verplicht veld">*</acronym></label><input type="text" name="MailaFriendVanEMail" id="MailaFriendVanEMail" class="InputNormaal mpValideerEMail GeenMelding" value="' + MailaFriendVanEMail + '" /></div><h4><acronym>*</acronym> Vul minimaal deze gegevens in</h4><div id="MailaFriendSubmit"><input type="button" onclick="javascript:MailaFriend();" name="Submit" value="Verzenden" id="MailaFriendVerzenden" /></div></form>'

function MailaFriendOpen() {
	if($('#cMailaFriend').length==0) {
		$('#MailaFriendButton').after(MailaFriendFrame);
		MailaFriendOpnieuw();
	}
	mpReady();
}

function MailaFriendOpnieuw() {
	$('#MailaFriendContent').html(MailaFriendForm);
	$('#MailaFriendAanNaam').val(MailaFriendAanNaam);
	$('#MailaFriendAanEMail').val(MailaFriendAanEMail);
	$('#MailaFriendVanNaam').val(MailaFriendVanNaam);
	$('#MailaFriendVanEMail').val(MailaFriendVanEMail);
	mpReady();
}

function MailaFriend() {
	MailaFriendAanNaam = $('#MailaFriendAanNaam').val();
	MailaFriendAanEMail = $('#MailaFriendAanEMail').val();
	MailaFriendVanNaam = $('#MailaFriendVanNaam').val();
	MailaFriendVanEMail = $('#MailaFriendVanEMail').val();
	var ProductId = $('#ProductId').val();
	var ProductCategorieId = $('#ProductCategorieId').val();
	$('#MailaFriendContent').html('<div id="MailaFriendVerzend"><p class="MailaFriendCenter"><img src="/Images/ImagePopUp-loading.gif" /></p><p class="MailaFriendCenter">Een ogenblik geduld a.u.b.</p></div>');
	Ajax('/MailaFriend.html', 'MailaFriendAanNaam=' + MailaFriendAanNaam + '&MailaFriendAanEMail=' + MailaFriendAanEMail + '&MailaFriendVanNaam=' + MailaFriendVanNaam + '&MailaFriendVanEMail=' + MailaFriendVanEMail + '&ProductId=' + ProductId + '&ProductCategorieId=' + ProductCategorieId);
}

function MailaFriendSucces() {
	MailaFriendAanNaam = '';
	MailaFriendAanEMail = '';
	$('#MailaFriendContent').html('<div id="MailaFriendSucces"><p class="MailaFriendCenter">E-mail succesvol verzonden!</p><p class="MailaFriendCenter"><input type="button" value="Sluiten" onclick="javascript:MailaFriendSluiten();"><input type="button" value="Opnieuw" onclick="javascript:MailaFriendOpnieuw();"></div>');
}

function MailaFriendFout() {
	$('#MailaFriendContent').html('<div id="MailaFriendFout"><p class="MailaFriendCenter">Fout tijdens verzenden!</p><p class="MailaFriendCenter"><input type="button" value="Sluiten" onclick="javascript:MailaFriendSluiten();"><input type="button" value="Opnieuw" onclick="javascript:MailaFriendOpnieuw();"></div>');
}

function MailaFriendSluiten() {
	$('#cMailaFriend').remove();
}


