// JavaScript Document

// JQuery based hover menu
	
$(document).ready(function(){	
	
	$("#commentForm_btn").click(function(){
		var error = true;
		$("#commentForm input").each(function(){
			var name = $(this).attr("name");
			if(name != "krant_id" && name != "undefined"){
				if($(this).val() != "dd-mm-jjjj"  && $(this).val() != "kranten bevestigen"){
					error = false;
				}
			}
		});
		if(error){
			alert("Vul a.u.b. een datum in bij de krant die u wilt bestellen");
			return false;
		} else {
			$("#commentForm").submit();
			return true;
		}
		return false;
	});
	

$("#openkrantenservice").submit(function(){
	tb_show('', '/titelbewerken.asp?width=620&amp;height=400&amp;modal=true'); 
	
	this.blur();
	return false;
});
$("#openleerlingabbos").submit(function(){
	tb_show('', '/leerlingenabonnement.htm?width=500&height=220&modal=true');
	
	this.blur();
	return false;
});
	
//	$("#bestellingBevestigen").submit(function(){
//		alert('kick');
//	});
	
	$("#bestellingBevestigen").submit(function(){
			var errors = 0;
			var errortxt1 = "Zijn uw adresgegevens juist ingevuld? Zo ja, bevestig dit door het daarvoor bestemde veld aan te vinken.";
			var errortxt2 = "Vult u alstublieft in hoe u bent geattendeerd op Kik.";
			
			if ($("#ja_adres").attr("checked")) {
				// do nothing
			} else {
				errors = 1;
			}
			
			if($("#gevonden_lijst").val() == 0 && $("#gevonden").val() == ""){
				errors = 2;
			}
			
			if(errors == 1){
				alert(errortxt1);
				
				this.blur();
				return false;
			} else if(errors == 2){
				alert(errortxt2);
				
				this.blur();
				return false;
			}else{
				return true;
			}
			
		this.blur();
		return false;
	});
	
	filterProducts();
	editBasket();
});

var activeItem1 = "";
var activeItem2 = "";
var activeItem3 = "";

function initAddresses(){
	activeItem1 = $('input[name=afleveradres]:checked');
	activeItem2 = $('input[name=bezorgadres]:checked');
	activeItem3 = $('input[name=factuuradres]:checked');

	$('input[name=afleveradres]').click(function(){
		if(activeItem1 != ""){
			activeItem1.parent().parent().removeClass("editable");
		}
		activeItem1 = $(this);
		activeItem1.parent().parent().addClass("editable");
	});
	
	$('input[name=bezorgadres]').click(function(){
		if(activeItem2 != ""){
			activeItem2.parent().parent().removeClass("editable");
		}
		activeItem2 = $(this);
		activeItem2.parent().parent().addClass("editable");
	});
	
	$('input[name=factuuradres]').click(function(){
		if(activeItem3 != ""){
			activeItem3.parent().parent().removeClass("editable");
		}
		activeItem3 = $(this);
		activeItem3.parent().parent().addClass("editable");
	});
}

function editAccount(num) {
	$('#editAccount').attr('action',$('#editAccount'+num).attr('action'));
	//alert($('#editAccount'+num).attr('action'));
	$('#editAccount').submit();
}

function initPapers(){
	/*$('input[type=checkbox]:not(:checked)').each(function() {
		$("select[@name=ingangsdatum_" + $(this).val() + "]").attr("disabled","disabled");
		if($(this).val() == 1){
			$("select[@name=ingangsdatum_regio]").attr("disabled","disabled");
			$("select[@name=regios]").attr("disabled","disabled");
		}
	  }
	);
	
	$("input[type=checkbox]").click(function(){
		if($(this).is(':checked')){
			$("select[@name=ingangsdatum_" + $(this).val() + "]").attr("disabled","");
			if($(this).val() == 1){
				$("select[@name=ingangsdatum_regio]").attr("disabled","");
				$("select[@name=regios]").attr("disabled","");
			}
		} else {
			$("select[@name=ingangsdatum_" + $(this).val() + "]").attr("disabled","disabled");
			if($(this).val() == 1){
				$("select[@name=ingangsdatum_regio]").attr("disabled","disabled");
				$("select[@name=regios]").attr("disabled","disabled");
			}
		}
	});*/
	
	$(".titels .period1").change(function(){
		if($(this).next().val() != "0"){
			var date1 = new Date(getDateFromFormat($(this).val(),"d-M-y"));
			var date2 = new Date(getDateFromFormat($(this).next().val(),"d-M-y"));
			
   			var diff = date2 - date1;
			var days = diff/(1000*60*60*24);
			
			if(days < 180){
				$(this).val("0");
				alert("Tussen bezorgperiode 1 en bezorgperiode 2 dient minimaal 26 weken verschil te zitten");
			}
		}
		
		var id = $(this).attr("name").split("ingangsdatum_period1_").join("");
		if($(this).val()) {
			$("input[name=krant_id]").each(function() {
				if($(this).val() == id){
					$(this).attr("checked","checked");
				}
			});
		}
	  });
	
	
	$(".titels .period2").change(function(){
		if($(this).prev().val() != "0"){
			var date1 = new Date(getDateFromFormat($(this).val(),"d-M-y"));
			var date2 = new Date(getDateFromFormat($(this).prev().val(),"d-M-y"));
			
   			var diff = date1 - date2;
			var days = diff/(1000*60*60*24);
			
			if(days < 180){
				$(this).val("0");
				alert("Tussen bezorgperiode 1 en bezorgperiode 2 dient minimaal 26 weken verschil te zitten");
			}
		}
		
		var id = $(this).attr("name").split("ingangsdatum_period2_").join("");
		if($(this).val()) {
			$("input[name=krant_id]").each(function() {
				if($(this).val() == id){
					$(this).attr("checked","checked");
				}
			});
		}
	  });
	
	
	$(".ingangsdatum_left .period1").change(function(){
		if($(this).next().next().val() != "0"){
			var date1 = new Date(getDateFromFormat($(this).val(),"d-M-y"));
			var date2 = new Date(getDateFromFormat($(this).next().next().val(),"d-M-y"));
			
   			var diff = date2 - date1;
			var days = diff/(1000*60*60*24);
			
			if(days < 180){
				$(this).val("0");
				alert("Tussen bezorgperiode 1 en bezorgperiode 2 dient minimaal 26 weken verschil te zitten");
			}
		}
	  });
	
	
	$(".ingangsdatum_left .period2").change(function(){
		if($(this).prev().prev().val() != "0"){
			var date1 = new Date(getDateFromFormat($(this).val(),"d-M-y"));
			var date2 = new Date(getDateFromFormat($(this).prev().prev().val(),"d-M-y"));
			
   			var diff = date1 - date2;
			var days = diff/(1000*60*60*24);
			
			if(days < 180){
				$(this).val("0");
				alert("Tussen bezorgperiode 1 en bezorgperiode 2 dient minimaal 26 weken verschil te zitten");
			}
		}
	  });
	
	
		
	var id = $(this).attr("name").split("ingangsdatum_period2_").join("");
	if($(this).val()) {
		$("input[name=krant_id]").each(function() {
			if($(this).val() == id){
				$(this).attr("checked","checked");
			}
		});
	}
	
	
		$("select[@name=regios]").change(function() {
			if($(this).val() != "0"){
				$("input[@name=regionaal]").attr("checked","checked");
			} else {
				$("input[@name=regionaal]").attr("checked","");
			}
		});
	
	if($("#abbo_select").is(":checked")){
		showSelects();
	} else {
		hideSelects();
	}
	
	// controleer formulier 
	$("#krantenservice_form").submit(function(){
		var error = 0;
		
		if($("input[value=196]:checked").length){
			if($("input[type=checkbox]:checked").length < 2 ) {			
				error = 3;
			}
		}
		
		if($("input[type=checkbox]:checked").length){
			if($("#abbo_all").is(':checked')){
				if($("select[@name=ingangsdatum_period1_all]").val() == 0 && $("select[@name=ingangsdatum_period2_all]").val() == 0){
					error = 1;
				}
				
				
				if($("input[@name=regionaal]").is(':checked')){
					if($("select[@name=regios]").val() == 0){
						error = 2;
					}
				}
			} else {
				// krant is aangevinkt
				$('input[type=checkbox]:checked').each(function() {
					if($("select[@name=ingangsdatum_period1_" + $(this).val() + "]").val() == 0 && $("select[@name=ingangsdatum_period2_" + $(this).val() + "]").val() == 0){
						error = 1;
					}
				  });
				
				if($("input[@name=regionaal]").is(':checked')){
					if($("select[@name=ingangsdatum_period1_regio]").val() == 0 && $("select[@name=ingangsdatum_period2_regio]").val() == 0){
						error = 1;
					}
					if($("select[@name=regios]").val() == 0){
						error = 2;
					}
				}
			}
			
		} else {
			alert("U heeft nog geen krant geselecteerd");
			
			this.blur();
			return false;
	   }
	   
	   
	   if (error == 1) {
				alert("Voor één of meerdere geselecteerde kranten heeft u nog geen ingangsdatum geselecteerd.");
				
				this.blur();
				return false;
			 }
	   
	   if (error == 2) {
				alert("Kies een regionaal dagblad.");
				
				this.blur();
				return false;
			 }
	   if (error == 3) {
		   alert("7Days kan alleen worden aangevraagd in combinatie met één of meer dagbladen besteld worden. Kies eerst nog de dagbladtitels en ga dan verder.");
		   
			this.blur();
			return false;
	   }
					
	});
}

function hideSelects(){
	$('.titels .timeTable').hide();
	$('#delivery_period1,#delivery_period2').hide();
	$("select[@name=ingangsdatum_period1_all]").attr("disabled","");
	$("select[@name=ingangsdatum_period2_all]").attr("disabled","");
}

function showSelects(){
	$('.titels .timeTable').show();
	$('#delivery_period1,#delivery_period2').show();
	$("select[@name=ingangsdatum_period1_all]").attr("disabled","disabled");
	$("select[@name=ingangsdatum_period2_all]").attr("disabled","disabled");
}

function updateSession(){
	$.ajax({
		type: "POST",
		dataType: "json",
		url: "/updateCart.asp",
		success: function(msg){
			if(msg.error==0){
				
			} else {
				
			}
		}
	});
}

function filterProducts(){
	if($('.filter').length){
	
		$('.filter').click(function(){
			
			$('.filter').parent().removeClass('active');
			$(this).parent().addClass('active');
			
			if($(this).is('#all')){
				$('.filterable .webshopItem').show();
			}else{
				$('.filterable .webshopItem').hide();
				$('.filterable .'+$(this).attr('id')).show();
			}
		
		});
	
	}
}

// Round a number nicely
function roundNumber(num, dec) {
	var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
	return result;
}

// Edit the nr of items in the basket
function editBasket(){
	//if($(".aanpassen").length){
		
		$('.aanpassen').click(function(){
			
			$("input[type='text'].amount_count").each(function(){
				setPrice($(this));
			});
			
			thisItem = $(this).parents('.basketitem');
			id = $('.product_id', thisItem).val();
		
			$(this).hide();
			cntCell = $(this).parent().prev();
			inp = $('<input type="text" name="amount_'+id+'" class="amount_count textfield" value="'+cntCell.children("input.amount_count']").val()+'"/>');
			cntCell.empty().append(inp);
			inp.focus();
			inp.blur(function(){
				setPrice($(this));
			});
			
		});
		
		
		$('.verwijderen').click(function(){				 
			thisItem = $(this).parents('.basketitem');
			
			$('input[name^=remove]', thisItem).val(1);
		
			thisItem.hide();
			setTotals();
		});
	//}
}

// Reset the price of an item after editing
function setPrice(thisItem){

	par = thisItem.parent();
	bItem = par.parents('.basketitem');
	
	id = $('.product_id', bItem).val();
	nr = parseInt(thisItem.val());
	
	par.empty().html(nr+'<input type="hidden" name="amount_'+id+'" class="amount_count" value="'+nr+'"/>');
	par.next().children('.aanpassen').show();
	
	basePrice = $('.baseprice', bItem).html();
	if(basePrice == '' || basePrice == 'Gratis'){
		basePrice = 0.0;
	}else{
		basePrice = parseFloat(basePrice.replace(',','.'));
	}
	
	totalPrice = roundNumber((basePrice * nr),2).toFixed(2);
	
	$('.subTotal', bItem).html(totalPrice.replace('.', ','));
	
	setTotals();
}

// Calculate the total ammount for the basket
function setTotals(){
	
	if($('.basketitem:visible').length){
		var subTotal = 0.0;
	
		$('.subTotal').each(function(e){
		
			nr = parseFloat($(this).html().replace(',','.'));
			subTotal = subTotal + nr;
			
			if(e == ($('.basketitem:visible .subTotal').length-1)){
				cartTotal = roundNumber(subTotal,2).toFixed(2);
				$('.cartTotal').html(cartTotal.replace('.', ','));
			}
		});
	} else {
		$(".winkelmandje_form").submit();
	}
}

var MONTH_NAMES=new Array('januari','februari','maart','april','mei','juni','juli','augustus','september','oktober','november','december','Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');var DAY_NAMES=new Array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sun','Mon','Tue','Wed','Thu','Fri','Sat');
function LZ(x){return(x<0||x>9?"":"0")+x}
function isDate(val,format){var date=getDateFromFormat(val,format);if(date==0){return false;}return true;}
function compareDates(date1,dateformat1,date2,dateformat2){var d1=getDateFromFormat(date1,dateformat1);var d2=getDateFromFormat(date2,dateformat2);if(d1==0 || d2==0){return -1;}else if(d1 > d2){return 1;}return 0;}
function formatDate(date,format){format=format+"";var result="";var i_format=0;var c="";var token="";var y=date.getYear()+"";var M=date.getMonth()+1;var d=date.getDate();var E=date.getDay();var H=date.getHours();var m=date.getMinutes();var s=date.getSeconds();var yyyy,yy,MMM,MM,dd,hh,h,mm,ss,ampm,HH,H,KK,K,kk,k;var value=new Object();if(y.length < 4){y=""+(y-0+1900);}value["y"]=""+y;value["yyyy"]=y;value["yy"]=y.substring(2,4);value["M"]=M;value["MM"]=LZ(M);value["MMM"]=MONTH_NAMES[M-1];value["NNN"]=MONTH_NAMES[M+11];value["d"]=d;value["dd"]=LZ(d);value["E"]=DAY_NAMES[E+7];value["EE"]=DAY_NAMES[E];value["H"]=H;value["HH"]=LZ(H);if(H==0){value["h"]=12;}else if(H>12){value["h"]=H-12;}else{value["h"]=H;}value["hh"]=LZ(value["h"]);if(H>11){value["K"]=H-12;}else{value["K"]=H;}value["k"]=H+1;value["KK"]=LZ(value["K"]);value["kk"]=LZ(value["k"]);if(H > 11){value["a"]="PM";}else{value["a"]="AM";}value["m"]=m;value["mm"]=LZ(m);value["s"]=s;value["ss"]=LZ(s);while(i_format < format.length){c=format.charAt(i_format);token="";while((format.charAt(i_format)==c) &&(i_format < format.length)){token += format.charAt(i_format++);}if(value[token] != null){result=result + value[token];}else{result=result + token;}}return result;}
function _isInteger(val){var digits="1234567890";for(var i=0;i < val.length;i++){if(digits.indexOf(val.charAt(i))==-1){return false;}}return true;}
function _getInt(str,i,minlength,maxlength){for(var x=maxlength;x>=minlength;x--){var token=str.substring(i,i+x);if(token.length < minlength){return null;}if(_isInteger(token)){return token;}}return null;}
function getDateFromFormat(val,format){val=val+"";format=format+"";var i_val=0;var i_format=0;var c="";var token="";var token2="";var x,y;var now=new Date();var year=now.getYear();var month=now.getMonth()+1;var date=1;var hh=now.getHours();var mm=now.getMinutes();var ss=now.getSeconds();var ampm="";while(i_format < format.length){c=format.charAt(i_format);token="";while((format.charAt(i_format)==c) &&(i_format < format.length)){token += format.charAt(i_format++);}if(token=="yyyy" || token=="yy" || token=="y"){if(token=="yyyy"){x=4;y=4;}if(token=="yy"){x=2;y=2;}if(token=="y"){x=2;y=4;}year=_getInt(val,i_val,x,y);if(year==null){return 0;}i_val += year.length;if(year.length==2){if(year > 70){year=1900+(year-0);}else{year=2000+(year-0);}}}else if(token=="MMM"||token=="NNN"){month=0;for(var i=0;i<MONTH_NAMES.length;i++){var month_name=MONTH_NAMES[i];if(val.substring(i_val,i_val+month_name.length).toLowerCase()==month_name.toLowerCase()){if(token=="MMM"||(token=="NNN"&&i>11)){month=i+1;if(month>12){month -= 12;}i_val += month_name.length;break;}}}if((month < 1)||(month>12)){return 0;}}else if(token=="EE"||token=="E"){for(var i=0;i<DAY_NAMES.length;i++){var day_name=DAY_NAMES[i];if(val.substring(i_val,i_val+day_name.length).toLowerCase()==day_name.toLowerCase()){i_val += day_name.length;break;}}}else if(token=="MM"||token=="M"){month=_getInt(val,i_val,token.length,2);if(month==null||(month<1)||(month>12)){return 0;}i_val+=month.length;}else if(token=="dd"||token=="d"){date=_getInt(val,i_val,token.length,2);if(date==null||(date<1)||(date>31)){return 0;}i_val+=date.length;}else if(token=="hh"||token=="h"){hh=_getInt(val,i_val,token.length,2);if(hh==null||(hh<1)||(hh>12)){return 0;}i_val+=hh.length;}else if(token=="HH"||token=="H"){hh=_getInt(val,i_val,token.length,2);if(hh==null||(hh<0)||(hh>23)){return 0;}i_val+=hh.length;}else if(token=="KK"||token=="K"){hh=_getInt(val,i_val,token.length,2);if(hh==null||(hh<0)||(hh>11)){return 0;}i_val+=hh.length;}else if(token=="kk"||token=="k"){hh=_getInt(val,i_val,token.length,2);if(hh==null||(hh<1)||(hh>24)){return 0;}i_val+=hh.length;hh--;}else if(token=="mm"||token=="m"){mm=_getInt(val,i_val,token.length,2);if(mm==null||(mm<0)||(mm>59)){return 0;}i_val+=mm.length;}else if(token=="ss"||token=="s"){ss=_getInt(val,i_val,token.length,2);if(ss==null||(ss<0)||(ss>59)){return 0;}i_val+=ss.length;}else if(token=="a"){if(val.substring(i_val,i_val+2).toLowerCase()=="am"){ampm="AM";}else if(val.substring(i_val,i_val+2).toLowerCase()=="pm"){ampm="PM";}else{return 0;}i_val+=2;}else{if(val.substring(i_val,i_val+token.length)!=token){return 0;}else{i_val+=token.length;}}}if(i_val != val.length){return 0;}if(month==2){if( ((year%4==0)&&(year%100 != 0) ) ||(year%400==0) ){if(date > 29){return 0;}}else{if(date > 28){return 0;}}}if((month==4)||(month==6)||(month==9)||(month==11)){if(date > 30){return 0;}}if(hh<12 && ampm=="PM"){hh=hh-0+12;}else if(hh>11 && ampm=="AM"){hh-=12;}var newdate=new Date(year,month-1,date,hh,mm,ss);return newdate.getTime();}
function parseDate(val){var preferEuro=(arguments.length==2)?arguments[1]:false;generalFormats=new Array('y-M-d','MMM d, y','MMM d,y','y-MMM-d','d-MMM-y','MMM d');monthFirst=new Array('M/d/y','M-d-y','M.d.y','MMM-d','M/d','M-d');dateFirst =new Array('d/M/y','d-M-y','d.M.y','d-MMM','d/M','d-M');var checkList=new Array('generalFormats',preferEuro?'dateFirst':'monthFirst',preferEuro?'monthFirst':'dateFirst');var d=null;for(var i=0;i<checkList.length;i++){var l=window[checkList[i]];for(var j=0;j<l.length;j++){d=getDateFromFormat(val,l[j]);if(d!=0){return new Date(d);}}}return null;}