var sDomain = 'http://www.drogistdrogist.nl/';

var iconOK = '<img src="'+sDomain+'images/template/icon-ok.gif" alt="" />';
var iconDisabled = '<img src="'+sDomain+'images/template/icon-disabled.gif" alt="" />';
var iconError = '<img src="'+sDomain+'images/template/icon-error.gif" alt="" />';

/* PAUSE PLUGIN */

$.fn.pause = function(milli,type) {
	milli = milli || 1000;
	type = type || "fx";
	return this.queue(type,function(){
		var self = this;
		setTimeout(function(){
			$.dequeue(self);
		},milli);
	});
};

/* END PAUSE PLUGIN */

$(document).ready(function(){
	filterCategorie();
	fadeMerk();
	selectBox();
	addedToCart();
	showMeldfoutform();
	viewPhotos();	
	emptyVeld();
	winkelwagen();	
	changeArtikelenPerPagina();
	otherAddress();	
});

function Rotator() {
	$("#rotator > ul").tabs({fx:{opacity: "toggle"}}).tabs("rotate", 6000, true);
}

function filterCategorie() {
	$('ul.filter li.hoofd').click(function(){
		loadArtikelen('categorie=' + $(this).attr('id').replace('cat_', ''));
		$(this).toggleClass('active').children('.subfilter').toggle();
		if($(this).attr('class') == 'hoofd') {
			$(this).children('.subfilter').children('li').removeClass();	
		}		
	});
	$('ul.filter li.hoofd ul.subfilter li').click(function(){
		loadArtikelen('subcategorie=' + $(this).attr('id').replace('subcat_', ''));
		$(this).toggleClass('active');
		if(!$(this).parent().children('li .active').length){
			loadArtikelen('catback=1&categorie=' + $(this).parent().parent().attr('id').replace('cat_', ''));
		}
		return false;
	});
}

function fadeMerk() {
	$('.merk img').fadeTo(0, 0.45);
	$('.merk img').hover(function(){
		$(this).fadeTo(100, 1.0);
	}, function() {
		$(this).fadeTo(100, 0.45);
	});	
}

function selectBox() {
	var standaard = $('.select input, .select-bank input').val();
	$('.select .value, .select-bank .value').text(standaard);
	
	var aantalproducten = $('.change_aantalproducten .select input').val();
	$('.change_aantalproducten .select .value').text(aantalproducten);
	
	$('.select, .select-bank').click(function() {
		$(this).children('.select_items').slideToggle('fast');		   
	});
	$('.select_item').click(function() {
		var v = $(this).attr('title');
		var v2 = $(this).text();
		$('.select input').val(v);
		$(this).parent().parent().children('.value').text(v2);
		if($('.select input').attr('id') == 'sorteer') {
			if(v == 24 || v == 36 || v == 48) {
				loadArtikelen('aantalartikelen=' + v);
			} else {
				loadArtikelen('sorteer=' + v);
			}
		}
		if($('.select input').attr('id') == 'letters') {			
			loadMerken('letter=' + v);
		}		
	});
	$('.select_item').hover(function() {
		$(this).addClass('hover');
	}, function() {
		$(this).removeClass('hover');
	});
}

function addedToCart() {
	$('#toevoegen').click(function() {		
		$.ajax({
			type: 'POST',
			url: '../includes/winkelmandje_header.inc.php',
			data: 'artikelnummer=' + $(this).attr('name') + '&aantal=' + $('#aantal').val(),
			success: function(result){
				$('html, body').animate({
					scrollTop:0
				}, 'slow');	
				$('#cartinfo').html(result);			
				$('#toegevoegd').fadeIn('slow').pause(3000).fadeOut('slow');				
			}
		});		
	});
}

function showMeldfoutform() {
	$('#meldfout').click(function() {
		$('#meldfoutform').slideToggle('slow');
	});
}

function viewPhotos() {
	var basicPath = $('.big img').attr('src');
	$('#fotos .thumb').hover(function(){
		var largePath = $(this).children('a').attr('name');
		$('#largeImg').attr({ src: largePath });
	}, function() {
		$('#largeImg').attr({ src: basicPath });
	});
}

function emptyVeld(){
	$('.veld, #zoeken .input, #voordeel .input, #meldfoutformulier textarea').each(function() {
		$(this).focus(function() {
			if(this.value == this.defaultValue) {
				this.value = '';
			}
		}).blur(function() {
			if(!this.value.length) {
				this.value = this.defaultValue;
			}
		});
	});
}

function otherAddress(){
	$('#other-address').click(function(){
		if( $('#other-address').is(':checked') ) {
			$('#other-address-form input:text, #other-address-form select').addClass('required');
			$('#other-address-form select').attr('equalTo', '#sLand2');
			$('#other-address-form').slideDown(150);
		} else {
			$('#other-address-form').slideUp(150);
			$('#other-address-form input:text, #other-address-form select').removeClass('required');			
			$('#other-address-form select').removeAttr('equalTo');
		}
  });	
}

function loadArtikelen(p_sData) {
	$.ajax({
		type: 'POST',
		url: '../includes/artikelen.inc.php',
		data: p_sData,
		success: function(result){
			$('#maincontent').html(result);
			selectBox();
			changeArtikelenPerPagina();
		}
	});
}

function loadMerken(p_sData) {
	$.ajax({
		type: 'POST',
		url: 'includes/merken.inc.php',
		data: p_sData,
		success: function(result){
			$('#merken_overzicht').html(result);			
		}
	});
}

function winkelwagen() {
	$('.info input').change(function(){
		var nArtikelnummer = $(this).attr('id').replace('update_', '');
		var nAantal = $(this).attr('value');		
		loadWinkelwagen('artikelnummer=' + nArtikelnummer + '&updateaantal=' + nAantal);
	});
	
	$('.delete img').click(function(){									  
		var nArtikelnummer = $(this).attr('id').replace('verwijder_', '');
		loadWinkelwagen('artikelnummer=' + nArtikelnummer + '&updateaantal=0');
	});	
	
	$('.papier input').click(function(){									  
		var aSoort = $(this).attr('id').split('_');
		var nArtikelnummer = aSoort[1];
		var sSoort = aSoort[0];		
		loadWinkelwagen('artikelnummer=' + nArtikelnummer + '&papier=' + sSoort);
	});	
	
	$('.button img').click(function(){									  
		var sCode = $('#couponcode_input').val();
		loadWinkelwagen('couponcode=' + sCode);
	});	
	
	$('.inpakken .select input').click(function() {		
		$(this).parent().next('.papier').slideToggle('fast', function(){			
			if(!$(this).prev('.select').children('input').is(':checked')){
				var nArtikelnummer = $(this).prev('.select').children('input').attr('id').replace('checkinpak_', '');
				loadWinkelwagen('artikelnummer=' + nArtikelnummer + '&nietinpakken=1');
			}
		});			
	});
	
	$('.pakpapier').css("opacity","0");
	$('.radio a').hover(function(){
		$(this).next('.pakpapier').stop().animate({opacity: 1}, 'fast');
	}, function() { 
		$(this).next('.pakpapier').stop().animate({opacity: 0}, 'fast');
	});
}

function loadWinkelwagen(p_sData) {
	$.ajax({
		type: 'POST',
		url: 'includes/winkelmandje.inc.php',
		data: p_sData,
		success: function(result){
			$('#maincontent').html(result);
			winkelwagen();
			centerImage();
		}
	});
}

function validateRegister(){	
	
	$('span.icon').html(iconDisabled);
	$('#registreerform').validate({
		rules: {
			sEmail: {
				required: true,
				email: true
			},
			sWachtwoord: 'required',
			sWachtwoord2: {
				required: true,
				equalTo: '#sWachtwoord'
			},
			sNaam: 'required',
			sStraat: 'required',
			sPostcode: 'required',
			sWoonplaats: 'required',			
			sTelefoon: {
				required: true
			},
			sLand1: {
				required: true,
				equalTo: '#sLand2'
			}
		},
		messages: {
			sEmail: {
				required: 'U heeft geen e-mailadres opgegeven.',
				email: 'Dit is geen geldig e-mailadres.'
			},
			sWachtwoord: 'U heeft geen wachtwoord opgegeven.',
			sWachtwoord2: {
				required: 'U heeft uw wachtwoord nog niet bevestigd.',
				equalTo: 'Het wachtwoord komt niet overeen met bovenstaand wachtwoord.'
			},
			sNaam: 'U heeft geen naam opgegeven.',
			sStraat: 'U heeft geen straat opgegeven.',
			sPostcode: 'U heeft geen postcode opgegeven.',
			sWoonplaats: 'U heeft geen woonplaats opgegeven.',
			sLand1: {
				required: 'Selecteer een land.',
				equalTo: 'We bezorgen alleen in Nederland.'
			},
			sLand3: {
				required: 'Selecteer een land.',
				equalTo: 'We bezorgen alleen in Nederland.'
			},
			sTelefoon: {
				required: 'U heeft geen telefoonnummer opgegeven.'
			},
			sNaamOther: 'U heeft geen naam opgegeven.',
			sStraatOther: 'U heeft geen straat opgegeven.',
			sPostcodeOther: 'U heeft geen postcode opgegeven.',
			sWoonplaatsOther: 'U heeft geen woonplaats opgegeven.'			
		},
		errorPlacement: function(error, element){
			error.insertAfter(element.next('span.icon')).slideDown(300);
			element.next('span.icon').html(iconError);			
		},
		submitHandler: function(form) {
			form.submit();
		},
		success: function(label){
			label.prev('span.icon').html(iconOK);
			label.remove();
		}
	});
}

function changeArtikelenPerPagina(){
	$('.aantalproducten a').click(function(){
		$('.aantalproducten').hide();
		$('.change_aantalproducten').show();									   
	});
	$('.change_aantalproducten .select_items .select_item').click(function(){
		var sValue = $('.aantalproducten-select').val();
		$('.aantalproducten span').html(sValue);
		$('.change_aantalproducten').hide();
		$('.aantalproducten').show();
	});
}

function adresGegevens() {
	if($('#checkakkoord').is(':checked')){
		$('#melding_voorwaarden').hide();
		location.href = 'stap2.php';
	} else {
		$('#melding_voorwaarden').fadeIn('slow');
	}
}

function centerImage(){
	var nHeight = 0;
	var nWidth = 0;
	var nTop = 0;
	var nLeft = 0;
	
	var nParentWidth = 0;
	var nParentHeight = 0;
	
	$('.thumb a img, .winkelmandfoto img').each(function(){
		
		nParentWidth = $(this).parents('div').width();
		nParentHeight = $(this).parents('div').height();
		
		nHeight = $(this).height();
		nWidth = $(this).width();
		nTop = (nParentHeight - nHeight) / 2;
		nLeft = (nParentWidth - nWidth) / 2;
		
		$(this).css('margin-top',nTop).css('margin-left',nLeft);
	});

}

function validateFoutmelden(){
	$('span.icon').html(iconDisabled);
	$('#meldfoutformulier').validate({
		rules: {
			sEmail: {
				required: true,
				email: true
			},
			sNaam: 'required',
			sBericht: 'required'
		},
		messages: {
			sEmail: {
				required: 'Geef een e-mailadres op',
				email: 'Geen geldig e-mailadres!'
			},
			sNaam: 'Geef een naam op',
			sBericht: 'Geef een fout op'
		},
		errorPlacement: function(error, element){
			error.insertAfter(element.next('span')).slideDown(300);
			element.next('span.icon').html(iconError);
		},
		submitHandler: function(form) {
			var options = {
				url: sDomain + "includes/foutmelden.inc.php",
				type: "POST",
				success: function(data) {	
					if(data == '1'){
						$('#meldfoutform').html('<p style="float: left; font-size: 11px;">Bedankt voor uw medewerking.</p>');
						$('#meldfoutformulier').clearForm();
					} else {
						alert(data);
					}
				}
			}
			$(form).ajaxSubmit(options);
			return false;
		},
		success: function(label){
			label.prev('span.icon').html(iconOK);
			label.remove();
		}
	});	
}

function wachtwoordVergeten(){
	$('#wachtwoordVergetenForm').validate({
		rules: {
			sEmail_vergeten: {
				required: true,
				email: true,
				remote: sDomain + 'includes/wachtwoordvergeten.inc.php?check=ja'
			}
		},
		messages: {
			sEmail_vergeten: {
				required: 'Geen geldig e-mailadres!',
				email: 'Geen geldig e-mailadres!',
				remote: 'Onbekend e-mailadres!'
			}
		},
		errorPlacement: function(error, element){
			error.insertAfter(element.next('span')).slideDown(300);
			element.next('span.icon').html(iconError);
		},
		submitHandler: function(form) { 
			var sMelding = '';
			var options = {
				url: sDomain + 'includes/wachtwoordvergeten.inc.php',
				type: 'POST',
				success: function(response) {
					if(response == '1'){
						sTitel = 'Gegevens verzonden';
						sMelding = 'Uw wachtwoord is naar uw mail verzonden.';
						$(form).clearForm();
						$('#wachtwoord-vergeten').fadeIn(500,function(){
							$(this).html('<h2>'+sTitel+'</h2><p>'+sMelding+'</p>');
						});
					}
				}
			}
			$(form).ajaxSubmit(options);
			return false;
		},
		success: function(label){
			label.prev('span.icon').html(iconOK);
			label.remove();
		}
	});	
}
function showWachtwoordVergeten(){
	$('#vergeten-link').click(function(){
		if( $('#inloggen-right').is(':visible') ){
			$('#inloggen-right').fadeOut(300, function(){
				$('#wachtwoord-vergeten').fadeIn(300);											
			});		
		} else {
			$('#wachtwoord-vergeten').fadeOut(300, function(){
				$('#inloggen-right').fadeIn(300);											
			});	
		}
	});
	$('#vergeten-link2').click(function(){
		$(this).parent().fadeOut(300, function(){
			$('#wachtwoord-vergeten').fadeIn(300);
		});								   
		wachtwoordVergeten();
	});
}
