var Page ='';
var pageTracker = false;
function showOverlay(ajaxPage) {
	Page = ajaxPage;
	$("#overlay_background").fadeIn('fast', function() {
		$(this).css("opacity", 0.5);
	});
	$("#overlay_box").fadeIn('fast');
	$("#overlay_close").fadeIn('fast');
	$("#overlay_content").fadeIn('fast');
	//Track in Analytics
	if(pageTracker){
	   pageTracker._trackPageview(ajaxPage);
	}

	
	$("#overlay_content").load(ajaxPage, function(data) {
		updateOverlaySize();
	});

	$(".formError").fadeOut(150, function() {
		$(this).remove();
	});


    scrollTo(0,0);
	
}


function showOverlayWithHTMLContent(content) {
	Page = content;

	$("#overlay_background").fadeIn('fast');
	$("#overlay_box").fadeIn('fast');
	$("#overlay_close").fadeIn('fast');
	$("#overlay_content").fadeIn('fast');
	
	$("#overlay_content").html(content, function() {
		updateOverlaySize();
	});
}

function showMessage(data) {
	
	if($('#overlay_content').css('display') == 'none') {
        hideOverlay();
    } else {
    	$("#ajaxmsg").html(data).show();
		$("#ajaxmsg").css("border", "1px solid #f00");
		$("#overlay_box").animate({
			height: $("#overlay_content").height()+60 + "px"
		}, "fast");
	}	
}

function updateOverlaySize() {
	if($(window).height() <= 600) {
	       $("#scroll").height(320);
        $("#overlay_box").animate({
    		height: $("#overlay_content").height()+30 + "px"
    	}, "fast");
	   
	} else {	
        $("#overlay_box").animate({
    		height: $("#overlay_content").height()+60 + "px"
    	}, "fast");
	}
}


 $('#overlay_background').live('click', function() {
 	
   		if(Page != 'ajax/magazine.php' && Page != 'ajax/shop_cart.php' && Page != 'ajax/shop_finish.php' && Page != 'ajax/tellafriend.php' ) {
      		if (confirm('Wilt u het formulier sluiten?')) {
            	hideOverlay();
        	}
		} else {
            	hideOverlay();
		}
	 
	  
	});


function hideOverlay() {
	$("#overlay_background").fadeOut('fast');
	$("#overlay_box").fadeOut('fast');
	$("#overlay_close").fadeIn('fast');
	$("#overlay_content").fadeIn('fast');


	//addded 01-04-2011 to delete errors on close
	$(".formError").fadeOut(150, function() {
		$(this).remove();
	});

}

function tellafriend() {
	//variabelen
	var toprename = $("#toprename").val();
	var tosurname = $("#tosurname").val();
	var toemail = $("#toemail").val();
	
	var fromprename = $("#fromprename").val();
	var fromsurname = $("#fromsurname").val();
	var fromemail = $("#fromemail").val();
	
	var personalmessage = $("#personalmessage").val();
	
	
	var pgid = $("#itemid").val();
	
	if($('#copyemail').is(':checked')) {
		var copyemail = $("#copyemail").val();
	}
	
	$.ajax({
		url: "ajax/tellafriend.php?action=tellafriend&fromprename=" + fromprename + "&fromsurname=" + fromsurname + "&fromemail=" + fromemail + "&toprename=" + toprename + "&tosurname=" + tosurname + "&personalmessage=" + personalmessage + "&copyemail=" + copyemail + "&toemail=" + toemail + "&pgid=" + pgid,
		success: function(data) {
			//alert(data);
			showMessage(data);
			updateOverlaySize();
		}
	});
	
	return false;
}

function isEmail(val) {
	filter = /^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;
	if (!filter.test(val)) {
		return false;
	}
	return true;
}


function addEmailToGM(fromoverlay) {
	document.getElementById("add_email_btn").disabled = true;
	postVars = "email=" + document.getElementById("gm_email").value + "&code=r0x4ht33l";
	if(!isEmail(document.getElementById("gm_email").value)){
		alert("Dit emailadres is niet correct, controleert u de spelling en voer opnieuw in.");
		return;
	}
	$.ajax({
		type: "POST",
		url: "ajax/add_email.php",
		data: postVars,
		success: function(data) {
			//alert(data);
			if (data == "1" || data == '2' || data == '3') {
				updateEmailSignup(data, fromoverlay);
			} else {
				alert(data);
				updateEmailSignup('3');
			}
		}
	});
}

function updateEmailSignup(data, fromoverlay){
	var el = document.getElementById("emailsignup");
	if(fromoverlay){
		el = document.getElementById("gm_overlaycontent");
		document.getElementById("gm_closeoverlay").style.display = "block";
	}

	if(data == '1'){
		el.innerHTML = "<p style='border: 1px solid white; margin: 0px 10px 10px 10px; padding:5px; font-size: 10px;'>Hartelijk dank voor uw inschrijving voor onze nieuwsbrief. Uw inschrijving is verwerkt.</p>";
	} else if(data == '2'){
		el.innerHTML = "<p style='border: 1px solid white; margin: 0px 10px 10px 10px; padding:5px; font-size: 10px;'>Dank voor uw inschrijving, dit adres is reeds geregistreerd, u bent dus al aangemeld voor onze nieuwsbrief.</p>";
	} else if(data == '3'){
		el.innerHTML = "<p style='border: 1px solid white; margin: 0px 10px 10px 10px; padding:5px; font-size: 10px;'>Er is iets misgegaan bij het aanmelden voor de nieuwsbrief. Probeer het later opnieuw.</p>";
	}
}

function saveAccount(form) {
	postVars = makePostString(form);
	$.ajax({
		type: "POST",
		url: "ajax/saveaccount.php",
		data: postVars,
		success: function(data) {
			if (data == "1") {
				//showOverlay("ajax/account.php");
				showMessage("Uw gegevens zijn opgenomen de database");
				$.ajax({
            		type: "POST",
            		url: "ajax/saveaccountcrm.php",
            		data: postVars,
            		success: function(data) {
            		  //alert(data);
                    }
                });
            	//hideOverlay();
			} else {
				showMessage(data);
			}
		}
	});
}

function login(email, password, rememberme) {
	$.ajax({
		url: "ajax/login.php?action=login&email=" + email + "&password=" + password + "&rememberme=" + rememberme,
		success: function(data) {
			if (data == 1) {
				$("#login").html('<a href="javascript:showOverlay(\'ajax/account.php\');">mijn gegevens</a> <span class="white"> | </span><a href="javascript:showOverlay(\'ajax/logout.php\');">uitloggen</a>');
				//showOverlay("ajax/account.php");
				hideOverlay();
			} else {
				showMessage(data);
			}
		}
	});
}

function logout() {
	$.ajax({
		url: "ajax/login.php?action=logout",
		success: function(data) {
			alert(data);
			$("#login").html('<a href="javascript:showOverlay(\'ajax/login.php\');">login</a><span class="white"> | </span><a href="javascript:showOverlay(\'ajax/account.php\');">registreren</a>');
		}
	});
}



var curDays = 31;
function updateDays(){
	var d = document.getElementById("days")[document.getElementById("days").selectedIndex].value;
	var m = document.getElementById("months")[document.getElementById("months").selectedIndex].value;
	var y = document.getElementById("years")[document.getElementById("years").selectedIndex].value;

	if(m != 0){
		//zorg dat er genoeg dagen beschikbaar zijn
		var days = daysInMonth(m, y);
		
		if(days < curDays){
			for(var i=0; i<curDays - days; i++){
				document.getElementById("days").remove(document.getElementById("days").length - 1);
			}
		} else if(days > curDays){
			for(var i=curDays; i<days; i++){
				var elOptNew = document.createElement('option');
			    elOptNew.text = i+1;
			    elOptNew.value = i+1;
			    try {
			    	document.getElementById("days").add(elOptNew, null); // standards compliant; doesn't work in IE
			    }
			    catch(ex) {
			    	document.getElementById("days").add(elOptNew); // IE only
			    }
			}
		}
		curDays = days;
	} else {
		//altijd 31 dagen
		for(var i=curDays; i<31; i++){
			var elOptNew = document.createElement('option');
		    elOptNew.text = i+1;
		    elOptNew.value = i+1;
		    try {
		    	document.getElementById("days").add(elOptNew, null); // standards compliant; doesn't work in IE
		    }
		    catch(ex) {
		    	document.getElementById("days").add(elOptNew); // IE only
		    }
		}
		curDays = 31;
	}
}


function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}

function daysInMonth(month, year) {
	if (month==4 || month==6 || month==9 || month==11) {
		return 30;
	}

	if (month==2) {
		return daysInFebruary(year);
	}
	return 31;
}


