function addValidation() {

	var vl = new LiveValidation('voorletters', {validMessage: "Ok"});
	vl.add( Validate.Presence, { wait: 500, failureMessage: "Verplicht" } );
	
	var an = new LiveValidation('lastname', {validMessage: "Ok"});
	an.add( Validate.Presence, { wait: 500, failureMessage: "Verplicht" } );
	
	var str = new LiveValidation('straat', {validMessage: "Ok","insertAfterWhatNode":"straat_validate"});
	str.add( Validate.Presence, { wait: 500, failureMessage: "Verplicht" } );
	
	var hnr = new LiveValidation('huisnummer', {validMessage: "Ok","insertAfterWhatNode":"huisnummer_validate"});
	hnr.add( Validate.Presence, { wait: 500, failureMessage: "Verplicht" } );

	var pc = new LiveValidation('postcode', {validMessage: "Ok","insertAfterWhatNode":"postcode_validate"});
	pc.add( Validate.Format, { pattern: /^[0-9]{4}[ ]{0,1}[a-z]{2}$/i, wait: 500, failureMessage: "Onjuist" } );
	pc.add( Validate.Presence, {wait: 500, failureMessage: "Verplicht"} );
	
	var pl = new LiveValidation('plaats', {validMessage: "Ok","insertAfterWhatNode":"plaats_validate"});
	pl.add( Validate.Presence, { wait: 500, failureMessage: "Verplicht" } );
	
	var email = new LiveValidation('email', {validMessage: "Ok"});
	email.add( Validate.Email, { wait: 500, failureMessage: "E-mail onjuist"} );
	email.add( Validate.Presence, {wait: 500, failureMessage: "Verplicht"} );
	
	var akk = new LiveValidation('akkoord', {validMessage: "Ok","insertAfterWhatNode":"akkoord_validate"});
	akk.add( Validate.Acceptance, { wait: 500, failureMessage: "Verplicht om aan te vinken" } );
}

//bankrekeningcheck op actief/nonactief zetten afhankelijk van betaalmethode
var bnr = false
function incasso(o) {
	//betaalmethode is incasso, toon banknr veld en valideer deze
	if (o == 'incasso') {
	     if (!bnr) {
	          bnr = new LiveValidation('banknr', {validMessage: "Ok"});
			bnr.add( Validate.Custom, {against:checkBank, wait: 500, failureMessage: "Bankrekening onjuist" } );
			bnr.add( Validate.Presence, {wait: 500, failureMessage: "Verplicht"} );
		}
		else {
			bnr.enable();
		}
		
		jQuery("#tr_banknr").show();
	}
	//betaalmethode is iets anders, verberg banknr veld en stop validatie
	else {
	     if (bnr) {
	     	bnr.disable();
	     }
          jQuery("#tr_banknr").hide();
	}
}

//maakt van zoeknavigatie een ajax bladerfunctie
function bind_bladeren(f) {
	var bl = jQuery("#zoeknavigatie a");
	if (bl.length > 0) {
		bl.click(function() {
			var deze = jQuery(this);
			var page = deze.attr("page");
			if (page != "") {
			     f.find("input[name='page']").val(page)
				f.trigger("submit")
			}
			return false;
		})
	}
}

jQuery(function() {
	//delete alle links die met js niet getoond hoeven worden in het filter
	//jQuery("a.r_link").remove()
	

     //zoek betaalmethode input en hang er een event aan om te kijken of banknr actief moet zijn of niet
	var ii = jQuery("input[name=betaalmethode]");
	if (ii.length > 0) {
		jQuery(ii).change(function() {
			incasso(jQuery(this).val())
		})
		//alert(ii.val())
		incasso(jQuery("input[name=betaalmethode][checked]").val())
	}
	//console.log(ii)
	
	//zoek filterform, bij filteren in categorieeen
	var ff = jQuery("#filterform");
	if (ff.length > 0) {
	
	     bind_bladeren(ff);

		ff.submit(function() {
		     jQuery.post(ff.attr("action"),ff.serialize(),function(rr) {
				jQuery("div.product_list").html(rr)
				bind_bladeren(ff);
			})
			return false;
		})
		

		ff.find("input,textarea").change(function() {
               //reset paginateller
			ff.find("input[name='page']").val(0)
			ff.trigger("submit")
		})
		ff.find("select").change(function() {
			ff.trigger("submit")
		})
		var keytimer = null;
		ff.find("input,textarea").keyup(function() {
		     try {clearTimeout(keytimer)} catch (e){}
			keytimer = setTimeout(function() {
			     //reset paginateller
			     ff.find("input[name='page']").val(0);
    				ff.trigger("submit");
			},300)
		})

	}
})


function checkBank(nr) {

	var banknr = nr.replace(/ /g,"");
	banknr = banknr.replace(/\./g,"");
	document.getElementById('banknr').value = banknr
	
	
	if (banknr.length == 8 || banknr.length < 5) {
		return false;
	}
	else if (banknr.length == 9) {
		var b = nr;
		var total = 0;
		var j = b.length;
		for( var i = 0; i < b.length; i++ ) {
			total += b.charAt( i ) * j;
			j -= 1;
		}
		
		if( ( total % 11 ) != 0 ) {
			return false;
		}
		return true;
	}
	else {
		return true;
	}
}

/* functie die aantal in de webshop automatisch verandert */

var timer_aantal = null
function verander_aantal(obj) {
	var val = $(obj).attr("value");
	
	clearTimeout(timer_aantal)
	if (val != '' && val != undefined) {
		timer_aantal = setTimeout('$("#bijwerken").trigger("click")',1000);
	}
}


/* functies voor tonen van producten */
function changeimage(newimage,smallimg) {	
	$('#changeable-image').attr('src',newimage);
}

jQuery(function() {
	jQuery("#changeable-image").load(function() {
		//CUSTOM FUNCTIES VOOR WERKEMA - scrollbar opnieuw instellen		
		jscroller.data("jsp").reinitialise()		
		jQuery(".jspVerticalBar").css({"opacity":0.5})
	})
	//bij kleine plaatjes mouseover -> verander het grote plaatje
 	jQuery("#smallimgdiv img").mouseover(function() {
		var deze = jQuery(this);
		changeimage(deze.attr("fullimage"),deze.attr("id")) 
	})
	//als er op het grote plaatje geklikt wordt, en er zijn kleine plaatjes aanwezig, start fancybox
	jQuery("#changeable-image").click(function() {
		var fancysrc = jQuery(this).attr("src")		
		jQuery("#smallimgdiv img[fullimage='"+fancysrc+"']").parent().trigger("click")
	})
	//hang fancybox op plaatjes
	jQuery("a.fancybox").fancybox({"padding":0});
})

