var verplicht = 'Dit veld is verplicht';

function clearInput() {
	$('.fade').focus(function() {
	   $(this).select();
	   $(this).prev().fadeTo(150, 0);
	   $(this).keydown(function() {
		   $(this).css('background-repeat', 'repeat');                  
	   });
	});
	$('.fade').blur(function() {
	   if($(this).val() == '' ) {
		   $(this).css('background-repeat', 'no-repeat');
		   $(this).prev().fadeTo(150, 1);
	   }
	});
	$('.fade').each(function(){
	   if($(this).val() != '') {
		   $(this).css('background-repeat', 'repeat');
	   };
	});
}

function radioButtons() {
	$('.radio').click(function() {
		$('div.radio').removeClass('checked');	
		$(this).addClass('checked');
		$(this).find('.radio_input').attr('checked','checked');
	});
	$('.radio2').click(function() {
		$('div.radio2').removeClass('checked');	
		$(this).addClass('checked');
		$(this).find('.radio_input').attr('checked','checked');
	});
	$('.checkbox').toggle(
		function() {
			$(this).prev().attr('checked','checked');
			$(this).addClass('checked');
			$(this).children('input').val('Ja');
		},
		function(){
			$(this).prev().attr('checked','');
			$(this).removeClass('checked');
			$(this).children('input').val('');
		}	
	);
}

function validateForm(p_sForm) {

	switch(p_sForm) {
		case 'contact':

			var rules = {};
			rules[oFields[p_sForm][1]] = {
				required: true,
				notags: true,
				nonumber: true,
				minlength: 2
			};
			rules[oFields[p_sForm][4]] = {
				required: true,
				email: true,
				notags: true,
				minlength: 2
			};
			
			var messages = {};
			messages[oFields[p_sForm][1]] = {
				required: 'Vul uw naam in.',
				notags: 'U mag geen tags invoeren.',
				nonumber: 'Vul een geldige naam in',
				minlength: 'Vul minimaal 2 karakters in.'
			};
			messages[oFields[p_sForm][4]] = {
				required: 'Vul uw e-mailadres in.',
				email: 'Vul hier een geldig e-mailadres in.',
				notags: 'U mag geen tags invoeren.',
				minlength: 'Vul minimaal 2 karakters in.'
			};
		
		break;
	}
	
	$('#'+p_sForm).validate({
		rules: rules,
		messages: messages,
		errorPlacement: function(error, element) {
			var obj = element.parent().next('div.icon');
			error.insertAfter(obj);
			obj.attr('class','icon invalid');
		},
		success: function(label) {
			label.prev('div.icon').attr('class','icon valid');
			label.remove();
		},
		submitHandler: function(form) {
			form.trigger('submit');
		}
	});	
}

function validateFormAfrekenen(){
	$('#afrekenen_form').validate({
		rules: {
			//welke velden zijn verplicht? .. namen zijn gelijk aan name attribuut van je input
			email: {
			required: true,
			email: true
			},	
			wachtwoord: 'required',
			wachtwoord2: {
				required: true,
				equalTo: '#wachtwoord'
			},
			telefoonnummer: 'required',
			
			factuur_contactpersoon: 'required',
			factuur_straat: 'required',
			factuur_postcode: 'required',
			factuur_huisnummer: 'required',
			factuur_plaats: 'required'
		},
		messages: {
			// welke foutmeldingen moeten worden getoond bij welk veld?
			// wat ook kan is de meldingen in variabelen opslaan bovenin je javascript 
			// zodat je ze voor meer validatieformulieren kan gebruiken
			wachtwoord: 'Geef een wachtwoord op',
			wachtwoord2:{
				required: 'Herhaal het wachtwoord',
				equalTo: 'Niet gelijk aan eerste wachtwoord'
			},
			telefoonnummer: 'Geef uw telefoonnummer op',
			email: {
				required: 'Geef uw e-mail adres op',
				email: 'Geen geldig e-mailadres!'
			},
			factuur_contactpersoon: 'Geef uw naam op',
			factuur_straat: 'Geef uw adres op',
			factuur_huisnummer: 'Geef uw huisnummer op',
			factuur_postcode: 'Geef uw postcode op',
			factuur_plaats: 'Geef uw plaats adres op',
			aflever_contactpersoon: 'Geef uw contact persoon op',
			aflever_straat: 'Geef uw adres op',
			aflever_huisnummer: 'Geef uw huisnummer op',
			aflever_plaats: 'Geef uw plaats adres op'
		},
		errorPlacement: function(error, element) {
			var obj = element.parent().next('div.icon');
			error.insertAfter(obj);
			obj.attr('class','icon invalid');
		},
		success: function(label) {
			label.prev('div.icon').attr('class','icon valid');
			label.remove();
		},
		submitHandler: function(form) {
			form.trigger('submit');
		}
	});	
}

function validateFormAfrekenenEn(){
	$('#afrekenen_form').validate({
		rules: {
			//welke velden zijn verplicht? .. namen zijn gelijk aan name attribuut van je input
			email: {
			required: true,
			email: true
			},	
			wachtwoord: 'required',
			wachtwoord2: {
				required: true,
				equalTo: '#wachtwoord'
			},
			telefoonnummer: 'required',
			
			factuur_contactpersoon: 'required',
			factuur_straat: 'required',
			factuur_postcode: 'required',
			factuur_huisnummer: 'required',
			factuur_plaats: 'required'
		},
		messages: {
			// welke foutmeldingen moeten worden getoond bij welk veld?
			// wat ook kan is de meldingen in variabelen opslaan bovenin je javascript 
			// zodat je ze voor meer validatieformulieren kan gebruiken
			wachtwoord: 'Please enter a password',
			wachtwoord2:{
				required: 'Please enter the password again',
				equalTo: 'Not the same as first passwrd'
			},
			telefoonnummer: 'Please enter your telephone number',
			email: {
				required: 'Please enter your e-mail address',
				email: 'No valid e-mail address!'
			},
			factuur_contactpersoon: 'Please enter your name',
			factuur_straat: 'Please enter your street',
			factuur_huisnummer: 'Please enter your house number',
			factuur_postcode: 'Please enter your postal/ZIP code',
			factuur_plaats: 'Please enter your city'
		},
		errorPlacement: function(error, element) {
			var obj = element.parent().next('div.icon');
			error.insertAfter(obj);
			obj.attr('class','icon invalid');
		},
		success: function(label) {
			label.prev('div.icon').attr('class','icon valid');
			label.remove();
		},
		submitHandler: function(form) {
			form.trigger('submit');
		}
	});	
}

function validateFormGegevens(){
	$('#gegevens_form').validate({
		rules: {
			//welke velden zijn verplicht? .. namen zijn gelijk aan name attribuut van je input
			email: {
			required: true,
			email: true
			},	
			telefoonnummer: 'required',
			
			factuur_contactpersoon: 'required',
			factuur_straat: 'required',
			factuur_postcode: 'required',
			factuur_huisnummer: 'required',
			factuur_plaats: 'required'
		},
		messages: {
			// welke foutmeldingen moeten worden getoond bij welk veld?
			// wat ook kan is de meldingen in variabelen opslaan bovenin je javascript 
			// zodat je ze voor meer validatieformulieren kan gebruiken
			wachtwoord: 'Geef een wachtwoord op',
			wachtwoord2:{
				required: 'Herhaal het wachtwoord',
				equalTo: 'Niet gelijk aan eerste wachtwoord'
			},
			telefoonnummer: 'Geef uw telefoonnummer op',
			email: {
				required: 'Geef uw e-mail adres op',
				email: 'Geen geldig e-mailadres!'
			},
			factuur_contactpersoon: 'Geef uw naam op',
			factuur_straat: 'Geef uw adres op',
			factuur_huisnummer: 'Geef uw huisnummer op',
			factuur_postcode: 'Geef uw postcode op',
			factuur_plaats: 'Geef uw plaats adres op',
			aflever_contactpersoon: 'Geef uw contact persoon op',
			aflever_straat: 'Geef uw adres op',
			aflever_huisnummer: 'Geef uw huisnummer op',
			aflever_plaats: 'Geef uw plaats adres op'
		},
		errorPlacement: function(error, element) {
			var obj = element.parent().next('div.icon');
			error.insertAfter(obj);
			obj.attr('class','icon invalid');
		},
		success: function(label) {
			label.prev('div.icon').attr('class','icon valid');
			label.remove();
		},
		submitHandler: function(form) {
			form.trigger('submit');
		}
	});	
}

function validateFormReseller(){
	$('#reseller').validate({
		rules: {
			//welke velden zijn verplicht? .. namen zijn gelijk aan name attribuut van je input
			klant_naam: 'required',
			kvk_nummer: 'required',
			telefoonnummer: 'required',
			email: {
				required: true,
				email: true
			},
			factuur_contactpersoon: 'required',
			factuur_straat: 'required',
			factuur_postcode: 'required',
			factuur_huisnummer: 'required',
			factuur_plaats: 'required'
		},
		messages: {
			// welke foutmeldingen moeten worden getoond bij welk veld?
			// wat ook kan is de meldingen in variabelen opslaan bovenin je javascript 
			// zodat je ze voor meer validatieformulieren kan gebruiken
			klant_naam: 'Geef uw bedrijfsnaam op',
			kvk_nummer: 'Geef uw Kamer van Koophandel nummer op',
			telefoonnummer: 'Geef uw telefoonnummer op',
			email: {
				required: 'Geef uw e-mail adres op',
				email: 'Geen geldig e-mailadres!'
			},
			factuur_contactpersoon: 'Geef uw contact persoon op',
			factuur_straat: 'Geef uw adres op',
			factuur_huisnummer: 'Geef uw huisnummer op',
			factuur_postcode: 'Geef uw postcode op',
			factuur_plaats: 'Geef uw plaats adres op',
			aflever_contactpersoon: 'Geef uw contact persoon op',
			aflever_straat: 'Geef uw adres op',
			aflever_huisnummer: 'Geef uw huisnummer op',
			aflever_plaats: 'Geef uw plaats adres op'
		},
		errorPlacement: function(error, element) {
			var obj = element.parent().next('div.icon');
			error.insertAfter(obj);
			obj.attr('class','icon invalid');
		},
		success: function(label) {
			label.prev('div.icon').attr('class','icon valid');
			label.remove();
		},
		submitHandler: function(form) {
			form.trigger('submit');
		}
	});	
}

function validateFormResellerEn(){
	$('#reseller_en').validate({
		rules: {
			//welke velden zijn verplicht? .. namen zijn gelijk aan name attribuut van je input
			klant_naam: 'required',
			telefoonnummer: 'required',
			email: {
				required: true,
				email: true
			},
			factuur_contactpersoon: 'required',
			factuur_straat: 'required',
			factuur_postcode: 'required',
			factuur_huisnummer: 'required',
			factuur_plaats: 'required'
		},
		messages: {
			// welke foutmeldingen moeten worden getoond bij welk veld?
			// wat ook kan is de meldingen in variabelen opslaan bovenin je javascript 
			// zodat je ze voor meer validatieformulieren kan gebruiken
			klant_naam: 'Enter your company name',
			telefoonnummer: 'Enter your telephone number',
			email: {
				required: 'Enter your email address',
				email: 'Enter a valig email address'
			},
			factuur_contactpersoon: 'Enter a contact person',
			factuur_straat: 'Enter your address',
			factuur_huisnummer: 'Enter your house number',
			factuur_postcode: 'Enter your Postal/ZIP code',
			factuur_plaats: 'Enter your city name'
		},
		errorPlacement: function(error, element) {
			var obj = element.parent().next('div.icon');
			error.insertAfter(obj);
			obj.attr('class','icon invalid');
		},
		success: function(label) {
			label.prev('div.icon').attr('class','icon valid');
			label.remove();
		},
		submitHandler: function(form) {
			form.trigger('submit');
		}
	});	
}

function product() {
	
	$('.product').hover(function () {
      $(this).find('.bestellen').addClass('hover');
    },function() {
		$(this).find('.bestellen').removeClass('hover');	
	});
}

function googlemaps(){
	var myCenter = new google.maps.LatLng(51.81851, 3.97712);
	var myOptions = {
	  zoom: 16,
	  center: myCenter,
	  mapTypeId: google.maps.MapTypeId.ROADMAP,	  
	  mapTypeControl: false,
	  scrollwheel: false
	}
	var myLatlng = new google.maps.LatLng(51.818244,3.977279);
	var map = new google.maps.Map(document.getElementById("map"), myOptions);
	var image = new google.maps.MarkerImage('images/template/marker-wimood.png',
		new google.maps.Size(136, 89),
		// The origin for this image is 0,0.
		new google.maps.Point(0,0),
		// The anchor for this image is the base of the flagpole at 0,32.
		new google.maps.Point(66,83)
	);
	var marker = new google.maps.Marker({
		position: myLatlng, 
		map: map,
		icon: image
	});
}

function changeMerk(p_sMerk, p_sCategorie, taal){
	loadArtikelen('merk_id=' + p_sMerk + '&categorie_id=' + p_sCategorie, taal);
}

function changeCategorie(p_sCategorie, p_sMerk, taal){
	loadArtikelenMerk('categorie_id=' + p_sCategorie + '&merk_id=' + p_sMerk, taal);
}

function changeFilter(p_swWaarde, p_sCategorie, p_sEigenschap, taal){
	loadArtikelen('waarde=' + p_swWaarde + '&categorie_id=' + p_sCategorie + '&eigenschap_id=' + p_sEigenschap, taal);
}

function changeSortering(p_sSort, p_sCategorie, taal){
	loadArtikelen('sortering=' + p_sSort + '&categorie_id=' + p_sCategorie, taal);
}

function changeSorteringMerk(p_sSort, p_sMerk, taal){
	loadArtikelenMerk('sortering=' + p_sSort + '&merk_id=' + p_sMerk, taal);
}

function changeFotoGroot(product_afbeelding_id)
{
	var fotoGrootElem = document.getElementById("foto-groot");
	fotoGrootElem.innerHTML = "<img src='/image.php?id="+product_afbeelding_id+"&type=1' alt='product-foto'><a href='/image.php?id="+product_afbeelding_id+"&type=2' id='zoom'></a>";
	$('a.#zoom').lightBox();
}

function loadArtikelen(p_sData, taal) {
	$.ajax({
		type: 'POST',
		url: '/functions/artikelen_' + taal + '.php',
		data: p_sData,
		success: function(result){
			$('#producten').html(result);
			product();	
		}
	});
}

function loadArtikelenMerk(p_sData, taal) {
	$.ajax({
		type: 'POST',
		url: '/functions/artikelen_merk_' + taal + '.php',
		data: p_sData,
		success: function(result){
			$('#producten').html(result);
			product();	
		}
	});
}

function winkelwagen(taal) {
	$('#winkelmandje-update input').change(function(){
		var product_id = $(this).parent().children('div').children('img').attr('id').replace('update_', '');
		var nAantal = $(this).attr('value');		
		loadWinkelwagen('product_id=' + product_id + '&updateaantal=' + nAantal, taal);
	});
	$('.update img').click(function(){
		var product_id = $(this).attr('id').replace('update_', '');
		var nAantal = $(this).parent().parent().children('input').attr('value');		
		loadWinkelwagen('product_id=' + product_id + '&updateaantal=' + nAantal, taal);
	});	
	$('.verwijder img').click(function(){
		var product_id = $(this).attr('id').replace('verwijder_', '');
		loadWinkelwagen('product_id=' + product_id + '&updateaantal=0', taal);
	});	
}

function loadWinkelwagen(p_sData, taal) {
	$.ajax({
		type: 'POST',
		url: '/functions/winkelmand_data_' + taal + '.php',
		data: p_sData,
		success: function(result){
			$('#winkelmand_data').html(result);
			winkelwagen(taal);
		}
	});
}
