function shoppingcart() {
	$('.number input').change(function(){
		var sArtikel = $(this).parents('.product').attr('id').replace('artikel_', '');
		var aProduct = sArtikel.split('_');
		var nArtikelID = aProduct[0];
		var sSize = $(this).parents('.product').find('.select').children('.selectbox').val();
		var nQuantity = $(this).val();
		nQuantity = parseInt(nQuantity);
		//alert('nArtikelID=' + nArtikelID + '&nQuantity=' + nQuantity + '&sSize=' + sSize + '&nUpdateQuantity=' + nQuantity);
		updateShoppingcart('nArtikelID=' + nArtikelID + '&nQuantity=' + nQuantity + '&sSize=' + sSize + '&nUpdateQuantity=' + nQuantity);
	});
	$('.selectbox-wrapper ul li').click(function(){
		var sNewSize = $(this).attr('id');
		var sArtikel = $(this).parents('.product').attr('id').replace('artikel_', '');
		var aProduct = sArtikel.split('_');
		var nArtikelID = aProduct[0];
		var sSize = aProduct[1];
		var nQuantity = $(this).parents('.product').find('.number').children('input').val();	
		nQuantity = parseInt(nQuantity);
		//alert('nArtikelID=' + nArtikelID + '&nQuantity=' + nQuantity + '&sSize=' + sSize + '&sUpdateSize=' + sNewSize);
		updateShoppingcart('nArtikelID=' + nArtikelID + '&nQuantity=' + nQuantity + '&sSize=' + sSize + '&sUpdateSize=' + sNewSize);
	});
	$('.refresh img').click(function(){
		var sArtikel = $(this).parents('.product').attr('id').replace('artikel_', '');
		var aProduct = sArtikel.split('_');
		var nArtikelID = aProduct[0];
		var sSize = aProduct[1];
		var nQuantity = $(this).parents('.product').find('.number').children('input').val();	
		var sSize = $(this).parents('.product').find('.select').children('.selectbox').val();
		nQuantity = parseInt(nQuantity);
		//alert('nArtikelID=' + nArtikelID + '&nQuantity=' + nQuantity + '&sSize=' + sSize + '&nUpdateQuantity=' + nQuantity);
		updateShoppingcart('nArtikelID=' + nArtikelID + '&nQuantity=' + nQuantity + '&sSize=' + sSize + '&nUpdateQuantity=' + nQuantity);
	});	
	$('.remove img').click(function(){
		var sArtikel = $(this).parents('.product').attr('id').replace('artikel_', '');
		var aProduct = sArtikel.split('_');
		var nArtikelID = aProduct[0];
		var sSize = aProduct[1];
		//alert('nArtikelID=' + nArtikelID + '&nQuantity=0&sSize=' + sSize);
		updateShoppingcart('nArtikelID=' + nArtikelID + '&nQuantity=0&sSize=' + sSize);
	});
}

function updateKledingtas() {
	//alert(p_sData);
	$.ajax({
		type: 'POST',
		url: sDomain+'inc/uw-kledingtas.inc.php',
		success: function(result){
			//alert(result);
			$('#amount').html(result);
		}
	});
}

function selectMaat() {
	$('.select_maat').selectbox();
}

// Function for updating shoppingcart
function updateShoppingcart(p_sData) {
	//alert(p_sData);
	$.ajax({
		type: 'POST',
		url: sDomain+'inc/kledingtas-1.inc.php',
		data: p_sData,
		success: function(result){
			//alert(result);
			$('#kledingtas').html(result);
			selectMaat();
			updateKledingtas();
			shoppingcart();
		}
	});
}

// Function for update the levertijd
function updateDeliveryPeriod(){
	$('div.select div.selectbox-wrapper ul li').click(function(){
		var nArtikelID = $('#submit-product').children('.artikelID').val();
		var sSize = $(this).attr('id');	
		$.ajax({
			type: 'POST',
			url: sDomain+'requests/delivery.inc.php',
			data: 'nArtikelID='+nArtikelID+'&sSize='+sSize,
			success: function(result){
				$('#voorraad').html(result);
			}
		});
	});	
}

// Function for sorting the products
function sortProducts(){
	$('div.select div.selectbox-wrapper ul li').click(function(){
		var sValue = $(this).attr('id');	
		loadProducts('sort=' + sValue);
	});	
}
// Function for loading the products
function loadProducts(p_sData) {
	//alert(p_sData);
	$.ajax({
		type: 'POST',
		url: sDomain+'inc/producten.inc.php',
		data: p_sData,
		success: function(result){
			$('#test').html(result);	
			hoverItem();
			$('#sorteer').selectbox();
			sortProducts();
		}
	});
}

function otherAddress(){
	if( $('#other-address').is(':checked') ) {
		$('.other-address').show();
		$('.other-address .field input:text').addClass('required');
	} 
	$('#other-address').click(function(){
		if( $('#other-address').is(':checked') ) {
			$('.other-address .field input:text').addClass('required');
			$('.other-address .field input').each(function() {
				switch($(this).attr('name')) {
					case 'sBedrijfsnaam':
						$(this).removeClass('required');
					break;
					case 'sAnderAdres':
						$(this).addClass('lettersnummer');
					break;
					case 'sAnderPostcode':
						$(this).addClass('postcode');
					break;
					case 'sAnderWoonplaats':
						$(this).addClass('geennummers');
					break;
					case 'sAnderTelefoon':
						$(this).addClass('telefoon');
					break;
				}
				
			});
			$('.other-address').slideDown(300);
		} else {
			$('.other-address').slideUp(300);
			$('.other-address .field input:text').removeClass('required')
												 .removeClass('postcode')
												 .removeClass('email')
												 .removeClass('telefoon')
												 .removeClass('lettersnummer');
		}
  });	
}

// Function for resetting field
function resetField() {
	$('input').each(function() {
		$(this).focus(function() {
			if(this.value == this.defaultValue) {
				this.value = '';
			}
			if($(this).hasClass('input_field')) {
				$(this).removeClass('inactive');
			}
		}).blur(function() {
			if(!this.value.length) {
				this.value = this.defaultValue;
				if($(this).hasClass('input_field')) {
					$(this).addClass('inactive');
				}
			}
		});
	});
}

// Function for set Options
function setOption() {
	var sValue;
	$('.option').click(function() {
		$(this).parent().children('.option').removeClass('active');								
		$(this).addClass('active');
		sValue = $(this).attr('title');
		$(this).parent().children('input').val(sValue);
	});
}

// Function for hovering products
function hoverItem() {
	$('.item').hover(function() {
		$(this).addClass('hover');							  
	}, function() {
		$(this).removeClass('hover');
	});
}
// Function for cycle pictures
function initSlideshow() {
	$('.sfeer .pictures').cycle({
		fx:     'fade',
		timeout: 4000,
		speed:	 1500
	});
}

// Enter formID as Parameter to validate
function validateDetailForms(p_sForm, p_bAjax) {

	var iconOK = {
		'background-image' : 'url('+sDomain+'images/template/icons.gif)',
		'background-position' : '9px -20px'
	}
	var iconError = {
		'background-image' : 'url('+sDomain+'images/template/icons.gif)',
		'background-position' : '9px -40px'
	};

	var aMessage = new Array();
	aMessage[0] = 'Vul uw voorletters in.';
	aMessage[1] = 'Vul uw achternaam in.';
	aMessage[2] = 'Vul uw naam in.';
	aMessage[3] = 'Vul uw adres in.';
	aMessage[4] = 'Vul een geldig adres in.';
	aMessage[5] = 'Vul uw postcode in.';
	aMessage[6] = 'Vul een geldige postcode in.';
	aMessage[7] = 'Vul uw woonplaats in.';
	aMessage[8] = 'Vul een geldige woonplaats in.';
	aMessage[9] = 'Vul uw e-mailadres in.';
	aMessage[10] = 'Vul een geldig e-mailadres in.';
	aMessage[11] = 'Vul uw telefoonnummer in.';
	aMessage[12] = 'Vul een geldig telefoonnummer in.';
	aMessage[13] = 'Vul uw vraag in.';
	aMessage[14] = 'Vul uw bericht in.';
	aMessage[15] = 'Vul de naam van de bekende in.';
	aMessage[16] = 'Vul het e-mailadres van de bekende in.';
	aMessage[17] = 'Vul het onderwerp in.';
	aMessage[19] = 'De e-mailadressen komen niet overeen';
	aMessage[20] = 'Vul een wachtwoord in';
	aMessage[21] = 'De wachtwoorden komen niet overeen';

	$.validator.addMethod("postcode", function(postcode, element) {
		postcode = postcode.replace(/\s+/g, ""); 
		return this.optional(element) ||
			postcode.match(/^[1-9]{1}[0-9]{3}[ ]?[a-z]{2}/i);
	}, "Vul a.u.b. een geldige postcode in.");
	
	$.validator.addMethod("telefoon", function(phone_number, element) {
    	phone_number = phone_number.replace(/\s+/g, ""); 
		return this.optional(element) || phone_number.length > 9 &&
			phone_number.match(/^(\(?\+?[0-9]*\)?)?[0-9_\- \(\)]*$/);
	}, "Vul a.u.b. een geldig telefoonnummer in.");
	
	$.validator.addMethod("geennummers", function(geennummers, element) {
		   var reg = /[0-9]/;
		   return this.optional(element) || !geennummers.match(reg);
	}, "Getallen zijn niet toegestaan.");
	
	$.validator.addMethod("lettersnummer", function(lettersnummer, element) {
		   var reg = /([a-z]+)/;
		   var reg2 = /([0-9]+)/;
		   return this.optional(element) || (lettersnummer.match(reg) && lettersnummer.match(reg2));
	}, "In dit veld moeten letters en getallen voorkomen.");
	
	$('#'+p_sForm).validate({
		rules: {
			sVoorletters: 'required',
			sAchternaam: 'required',
			sNaam: 'required',
			sAdres: {
				required: true,
				lettersnummer: true
			},
			sPostcode: {
				required: true,
				postcode: true
			},
			sWoonplaats: {
				required: true,
				geennummers: true
			},
			sEmail: {
				required: true,
				email: true
			},
			sEmail2: {
				required: true,
				email: true,
				equalTo: '#sEmail'
			},
			sPassword: {
				required: true
			},
			sPassword2: {
				required: true,
				equalTo: '#sPassword'
			},
			sEmail_afzender: {
				required: true,
				email: true
			},
			sEmail_bekende: {
				required: true,
				email: true
			},
			sTelefoon: {
				required: true,
				telefoon: true
			},
			sVraag: 'required',
			sBericht: 'required',
			sNaam_afzender: 'required',
			sNaam_bekende: 'required',
			sOnderwerp: 'required'
		},
		messages: {
			sVoorletters: aMessage[0],
			sAchternaam: aMessage[1],
			sNaam: aMessage[2],
			sAdres: {
				required: aMessage[3],
				lettersnummer: aMessage[4]
			},
			sPostcode: {
				required: aMessage[5],
				postcode: aMessage[6]
			},
			sWoonplaats: {
				required: aMessage[7],
				geennummers: aMessage[8]
			},
			sEmail: {
				required: aMessage[9],
				email: aMessage[10]
			},
			sEmail2: {
				required: aMessage[9],
				email: aMessage[10],
				equalTo: aMessage[19]
			},
			sPassword: {
				required: aMessage[20]
			},
			sPassword2: {
				required: aMessage[20],
				equalTo: aMessage[21]
			},
			sEmail_afzender: {
				required: aMessage[9],
				email: aMessage[10]
			},
			sEmail_bekende: {
				required: aMessage[16],
				email: aMessage[10]
			},
			sTelefoon: {
				required: aMessage[11],
				telefoon: aMessage[12]
			},
			sVraag: aMessage[13],
			sBericht: aMessage[14],
			sAnderNaam: aMessage[2],
			sAnderAdres: {
				required: aMessage[3],
				lettersnummer: aMessage[4]
			},
			sAnderPostcode: {
				required: aMessage[5],
				postcode: aMessage[6]
			},
			sAnderWoonplaats: {
				required: aMessage[7],
				geennummers: aMessage[8]
			},
			sAnderTelefoon: {
				required: aMessage[11],
				telefoon: aMessage[12]
			},
			sNaam_afzender: aMessage[2],
			sNaam_bekende: aMessage[15],
			sOnderwerp: aMessage[17]
		},
		errorPlacement: function(error, element) {
			error.insertAfter(element.parent().next('div.icon'));
			element.parent().next('div.icon').css(iconError);
		},
		success: function(label) {
			label.prev('div.icon').css(iconOK);
			label.remove();
		},
		submitHandler: function(form) {
			
			if(p_bAjax) {
				
				switch(p_sForm){
					case 'klantenservice':
						var sUrl = 'requests/klantenservice.inc.php';
					break;
					case 'adresgegevens':
						var sUrl = 'requests/klantenservice.inc.php';
					break;
					case 'registreren':
						var sUrl = 'requests/registreren.inc.php';
					break;
				}	
				var sDiv = '';
				
				var options = {
					url: sDomain + sUrl,
					type: 'POST',
					success: function(sData) {

						alert(sData);

						var aResponse = sData.split('|');
						
						if(aResponse[0] == 'ok'){
							
							$('div.melding-registratie').hide();
							
							$('#'+p_sForm).fadeOut(500, function(){
								$(this).remove();									 
							});
							
							sDiv += '<div class="melding">';
							sDiv += aResponse[1];
							sDiv += '</div>';
							
							$('div.form').html(sDiv);
													
							$('html, body').animate({
								scrollTop: 0
							}, 500, function(){
								
								$('.melding').fadeIn(700);
								
							});
							
						} else if(aResponse[0] == 'error') {
							
							sDiv += '<div class="melding">';
							sDiv += aResponse[1];
							sDiv += '</div>';
							
							$('div.melding-registratie').html(sDiv);
							
							$('html, body').animate({
								scrollTop: 0
							}, 500, function(){
								$('.melding').fadeIn(700);
							});
						}
					}
				}
				$(form).ajaxSubmit(options);
				return false;
				
			} else {
				
				form.submit();
				
			}
			
		}
	});	
}
