// standaard tekst voor in het 'aanmelden nieuwsbrief' element: dit wordt op meerdere plaatsen binnen dit bestand gebruikt, dus 
// bij wijzigen hoeft dit maar op één plek
var default_emailadres = "uw emailadres";

// functie tbv het submitten van het 'zoekformulier'
function doZoek() {
	var sZoek = $('#input_zoek').val();
	
	if (jQuery.trim(sZoek) != '') {
		// bouw de url op
		sUrl = baseUrl + 'shop/zoek/' + sZoek + '/';
		window.location.href = sUrl;
	} else {
		// geen zoekterm opgegeven
		alert('U dient een of meerdere woorden op te geven');
		$('#input_zoek').focus();
	}
}

// functie tbv het submitten van het aanmelden nieuwsbrief 'formulier'
function doAanmeldenNieuwsbrief() {
	var sEmail = $('#input_nieuwsbrief').val();
	
	if ((jQuery.trim(sEmail) != '') && (sEmail != default_emailadres)) {
		// bouw de url op
		sUrl = baseUrl + 'nieuws/aanmelden/' + sEmail + '/';
		window.location.href = sUrl;
	} else {
		// geen zoekterm opgegeven
		alert('U dient uw e-mailadres op te geven');
		$('#input_nieuwsbrief').focus();
	}
}

//functie tbv het submitten van aanvragen van wachtwoord 'formulier'
function doAanvragenPassword(){
	$('div.kolom_midden').find('form#wachtwoordvergeten').submit();
}


$(function() {
	// uitklaplagen hoofdmenu:
	$('div#menu > ul > li').hover(function() {
		$(this).addClass('active');
		var $ul = $(this).parents('ul').eq(0);
		var $l = $(this).find('div.menu_rollout').eq(0);
		var $a = $(this).children('a');
		$l.show();
		var offset = $a.offset().left - $ul.offset().left;
		var offsetDiff = offset + $l.width() - $ul.width();
		if(offsetDiff > 0) {
			$l.css('left',-1 * offsetDiff+5);
		}
	}, function() {
		$(this).removeClass('active');
		$(this).find('div.menu_rollout').eq(0).hide();
	});
	
	// verbreden hoofdmenu tot netjes gevuld:
	var oWidth = $('div#menu > ul').width();
	var iWidth = 0;
	$('div#menu > ul > li').each(function() {
		iWidth += $(this).width();
	});
	$as = $('div#menu > ul > li > a');
	var cPadL = parseInt($as.eq(0).css('padding-left'));
	var cPadR = parseInt($as.eq(0).css('padding-right'));
	var rightPad = true;
	loop1:
	while(1) {
		var rightPad = !rightPad;
		rightPad ? cPadR++ : cPadL++;
		for(curA = 0; curA < $as.length; curA++) {
			var padtag = 'padding-'+(rightPad?'right':'left');
			$as.eq(curA).css(padtag,(rightPad ? cPadR : cPadL) + 'px');
			iWidth++;
			if(iWidth >= oWidth) {
				break loop1;
			}
		}
	}
	
	// jQuery code voor een eenvoudige roll over. Plaats class="img_mo" op een plaaje en zorg dat de rollover dezelfde naam heeft met toevoeging -over.
	// Dus example.jpg en example-over.jpg of 
	// nog_een_vb.gif en nog_een_vb-over.gif
	PEPS.rollover.init();
	
	// voor de merken een iets andere rollover: hier moet precies het tegenovergestelde met de bestandsnaam gedaan worden; er iets af in plaats van bij 
	$('.merk_mo').hover(function() {
			var src = $(this).attr('src');
			$(this).attr('src', src.replace(/_grijs/, ''));
		}, function() {
			var src = $(this).attr('src');
			var patt = /.*image\/\d+\/\d+\/\S+\/\S+/i;
			if (patt.test(src)) {
				// met seo tekst
				var aUrl = src.split('/');
				// op een na laatste element '_grijs' toevoegen
				aUrl[aUrl.length - 2] += '_grijs'; 
				$(this).attr('src', aUrl.join('/'));
			} else {
				// zonder seo tekst
				$(this).attr('src', src + '_grijs');
			}
		});
	
	// zorg dat als men op enter drukt het zoekformulier wordt gesubmit
	$('#input_zoek').keyup(function(e) {
		if (e.keyCode == 13) {
			doZoek();
		}
	});
	
	// stel de waarde in voor het veld
	$('#input_nieuwsbrief').val(default_emailadres);
	// set onfocus event voor veld aanmelden nieuwsbrief
	$('#input_nieuwsbrief').focus(function() {
		// als inhoud gelijk is aan 'uw emailadres', dan invoerveld leeg maken
		if (jQuery.trim($('#input_nieuwsbrief').val()) == default_emailadres) {
			// maak veld leeg
			$('#input_nieuwsbrief').val('');
		}
	});
	// set onblur event voor veld aanmelden nieuwsbrief
	$('#input_nieuwsbrief').blur(function() {
		// als inhoud gelijk is aan lege string, dan inhoud 'uw emailadres' instellen
		if (jQuery.trim($('#input_nieuwsbrief').val()) == '') {
			$('#input_nieuwsbrief').val(default_emailadres);
		}
	});	
	// zorg dat als men op enter drukt het aanmelden nieuwsbrief 'formulier' wordt gesubmit
	$('#input_nieuwsbrief').keyup(function(e) {
		if (e.keyCode == 13) {
			doAanmeldenNieuwsbrief();
		}
	});	
});

PEPS = {};

PEPS.rollover = {
	init: function(){
		this.preload();
		$(".img_mo").hover(
			function () { $(this).attr( 'src', PEPS.rollover.newimage($(this).attr('src')) ); },
			function () { $(this).attr( 'src', PEPS.rollover.oldimage($(this).attr('src')) ); }
		);
	},
	preload: function() {
		$(window).bind('load', function() {
			$('.img_mo').each( function( key, elm ) { $('<img>').attr( 'src', PEPS.rollover.newimage( $(this).attr('src') ) ); });
		});
	},
	newimage: function(src) {
		return src.substring( 0, src.search(/(\.[a-z]+)$/) ) + '-over' + src.match(/(\.[a-z]+)$/)[0];
	},
	oldimage: function(src) {
		return src.replace(/-over\./, '.');
	}
};	

function checkField(veld_id, melding, type, melding_type) {
	if (jQuery.trim($('#' + veld_id).val()) == '') {
		alert(melding);
		$('#' + veld_id).focus();
		return false;
	} else {
		// controleer ook of er een geldig e-mailadres in het veld staat
		var bTest = false;
		switch (type) {
			case 'textonly':
				var objRegExp = /^[a-zA-Z\s\.]+$/
				bTest = true;
				break;
			case 'numeriek':
				var objRegExp = /^\d+$/
				bTest = true;
				break; 
			case 'e-mail':
				var objRegExp = /^[a-z0-9\!\#\$\%\*\/\?\|\^\{\}\`\~\&\'\+\-\=\_\?][a-z0-9\!\#\$\%\*\/\?\|\^\{\}\`\~\&\'\+\-\=\_\?\.]*@([a-z0-9][a-z0-9\-\.]*[a-z0-9]\.[a-z]{2,6}|[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})(\:([0-9]+))?$/i
				bTest = true;
				break;
			case 'postcode-nl':
				var objRegExp = /^[1-9][0-9]{3}\s{0,1}[A-Z]{2}$/
				bTest = true;
				break;
			case 'telefoon':
				var objRegExp = /^(0|\+[0-9]{2})([1-9][0-9]{8}|[1-9][0-9](\-|\s{0,1})[1-9][0-9]{6}|[1-9][0-9]{2}(\-|\s{0,1})[1-9][0-9]{5}|6(\-|\s{0,1})[0-9]{8})$/
				bTest = true;
				break;
		}

		if (bTest) { 
			if (!objRegExp.test($('#' + veld_id).val())) {
				alert(melding_type);
				$('#' + veld_id).focus();
				return false;
			}
		}
		// alles in orde
		return true;
	}
}


function getInfoTekst(cmId, divId, btnId) {
	// als de div reeds zichtbaar is, dan deze sluiten
	if ($('#' + divId + ':visible').length > 0) {
		$('#' + divId).hide();
	} else {
		// haal de tekst op als de tekst ongelijk is aan 'Informatie wordt opgehaald...'
		if ($('#' + divId + ' .content_tekst').html() == 'Informatie wordt opgehaald...') {
			// positioneer de div
			var offsets = $('#' + btnId).offset();
			// bepaal de offset top van de div (zit in een container div, dus correctie op de offset van de button)
			// - hoogte van de header: 240px
			// - hoogte van de button: 16px
			var iTop = offsets.top - 240 + 16; 
			$('#' + divId).css('top', iTop);
			
			// tekst inladen
			jQuery.get(baseUrl + 'shopinfo/' + cmId, function(data) {
				// plaats de tekst in de div
				$('#' + divId + ' .content_tekst').html(data);
			});
			// toon de div
//			$('#' + divId).show();
		}
		// tekst is reeds geladen: toon de div 
		$('#' + divId).show();
	}
}

function showInfoTekst(cmId, divId, btnId) {
	if ($('#' + divId + ':hidden').length > 0) {
		// item is verborgen: boots een onclick na
		getInfoTekst(cmId, divId, btnId);
	} else {
		// zorg dat het item getoond blijft
		$('#' + divId).show();
	}
}

function hideInfoTekst(divId) {
	$('#' + divId).hide();
}

$(document).ready(function(){

	if($("div.klantgegevens_row div.klantgegevens_input input.type:checked").val() == "particulier"){
		$("div.bedrijfsnaam").hide();
	}

	$("div.klantgegevens_row div.klantgegevens_input input.type").click(function(){
		if($("div.klantgegevens_row div.klantgegevens_input input.type:checked").val() == "zakelijk"){
			$("div.bedrijfsnaam").show();
		}else{
			$("div.bedrijfsnaam").hide();
			$("div.klantgegevens_row div.klantgegevens_input input.bedrijfsnaam").val('');
		}
	});
	
	$(".firstlink").click(function() {
        $(this).find('a[href]').eq(0).each(function() {
            document.location.href=$(this).get(0).href;
	    });
	    return false;
	});
});
