﻿//<![CDATA[
function getWindowHeight() {
	var windowHeight = 0;
	if (typeof(window.innerHeight) == 'number') {
		windowHeight = window.innerHeight;
		} else {
		if (document.documentElement && document.documentElement.clientHeight) {
			windowHeight = document.documentElement.clientHeight;
		} else {
		if (document.body && document.body.clientHeight) {
			windowHeight = document.body.clientHeight;
		}
		}
	}
	return windowHeight;
}

function setFooter() {
	if (document.getElementById) {
	var windowHeight=getWindowHeight();
		if (windowHeight>0) {
		var contentHeight=document.getElementById('wrapper').offsetHeight;
		var footerElement=document.getElementById('footer');
		var footerHeight=footerElement.offsetHeight;
			if (windowHeight-(contentHeight+footerHeight)>=0) {
			footerElement.style.position='relative';
			footerElement.style.top=(windowHeight-(contentHeight+footerHeight))+'px';
			document.getElementById('wrapper').style.height='300px';
			} else {
			footerElement.style.position='absolute';
			}
		}
	}
}

function isnum(sText) {
   var ValidChars = "0123456789";
   var IsNumber=true;
   var Char;
   for (i=0;i<sText.length && IsNumber == true;i++) { 
	  Char = sText.charAt(i); 
	  if (ValidChars.indexOf(Char) == -1) { IsNumber = false; }
	  }
   return IsNumber;
}

function growl(classes,h1,h2,timeout) {
	if (typeof t != "undefined") clearTimeout(t);
	var $m = $('<div class="'+classes+'"></div>');
	if (h1) $m.append('<h1>'+h1+'</h1>');
	if (h2) $m.append('<h2>'+h2+'</h2>');
	if (timeout == undefined) timeout = 1500;
	$('body').prepend($m);
	$('.growl').fadeIn(450);
	t = setTimeout(function() { $('.growl').fadeOut(200,function() { $(this).remove(); }); }, timeout);
}

function bindInputFields() {
	$(".cart_bind").change(function() { 
		manageCart("change",""); 
	});
	$(".cart_bind").keyup(function(e) { 
		var code = (e.keyCode ? e.keyCode : e.which);
		if(code == 13) $(this).change(); //enter key triggers change on input
	});
}

function fetchCart(){
	$('body').prepend('<img src="ajax-loader.gif" alt="loading" style="position:fixed; top:50%; left:50%;z-index:1;" id="ajaxloader" />');
	$.ajax({ 
		type: "GET",
		cache: false,
		data: 'task=fetch',
		url: "managecart_n.php",
		success: function(data) {
			$("#ajaxloader").remove();
			$("#cart").html(data);
			bindInputFields();
		}
	});
}

function manageCart(task,item) {
	if (task == "add") {
		var code = item.split("|",1);
		var id = 'quantity' + code;
		var amt = $('input[name='+id+']').val();
			if (isnum(amt) == true && amt != "" && amt != "0") {
				$('body').prepend('<img src="ajax-loader.gif" alt="loading" style="position:fixed; top:50%; left:50%;z-index:1;" id="ajaxloader" />');
				$.ajax({ 
					type: "GET",
					cache: false,
					data: 'task=' + task + '&item=' + item + '&amount=' + amt,
					url: "managecart_n.php",
					success: function(data) {
						$("#ajaxloader").remove();
						$('.growl').remove();
						growl('growl ok','Merci!', 'Votre choix a été ajouté au panier d\'achat'); 
					}
				});
			} else {
				$('.growl').remove();
				growl('growl err','Erreur', 'Veuillez saisir une quantité de bouteilles définie et supérieure à 0',3000); 
			}
	}
	if (task == "del") {
		$('body').prepend('<img src="ajax-loader.gif" alt="loading" style="position:fixed; top:50%; left:50%; z-index:1;" id="ajaxloader" />');
		$.ajax({ 
			type: "GET",
			cache: false,
			data: 'task=' + task + '&item=' + item,
			url: "managecart_n.php",
			success: function(data) {
				$("#ajaxloader").remove();
				$("#cart").html(data);
				bindInputFields();
			}
		});
	}
	if (task == "empty") {
		$('body').prepend('<img src="ajax-loader.gif" alt="loading" style="position:fixed; top:50%; left:50%;z-index:1;" id="ajaxloader" />');
		$.ajax({ 
			type: "GET",
			cache: false,
			data: 'task=' + task,
			url: "managecart_n.php",
			success: function(data) {
				$("#ajaxloader").remove();
				$("#cart").html(data);
				$("#submitform").css("display","none");
				bindInputFields();
			}
		});
	}
	if (task == "change") {
		var newarrf = "";
		var submit = true;
		var numcheck = new Array();
		for (i=0;i<$('#cartform input').size();i++) {
			numcheck.push($('#cartform input[name=q'+i+']').val());
			newarrf += '&a['+i+']=' + $('#cartform input[name=q'+i+']').val();
		}
		for (j=0;j<numcheck.length;j++) {
			if(!isnum(numcheck[j]) || numcheck[j] == 0 || numcheck[j] == "") {
				$('.growl').remove();
				growl('growl err','Erreur', 'Veuillez ne saisir que des quantités de bouteilles définies et supérieures à 0',3000);
				submit = false;
			}
		}
		if (submit) {
			$('body').prepend('<img src="ajax-loader.gif" alt="loading" style="position:fixed; top:50%; left:50%;z-index:1;" id="ajaxloader" />');
			$.ajax({ 
				type: "GET",
				cache: false,
				data: 'task=' + task + newarrf,
				url: "managecart_n.php",
				success: function(data) {
					$("#ajaxloader").remove();
					$("#cart").html(data);
					bindInputFields();
				}
			});
		}
	}
}

function validate() {
	var emailFilter=/^.+@.+\..{2,3}$/;
	if (document.getElementById('fm-firstname').value == "" || document.getElementById('fm-lastname').value == "") {
		growl('growl err','Erreur', 'Veuillez entrer votre nom et prénom',3000);
		return false;
	} else	if (document.getElementById('fm-city').value == "" || document.getElementById('fm-zipcode').value == "") {
		growl('growl err','Erreur', 'Veuillez entrer votre ville et numéro postal',3000);
		return false;
	} else if (!emailFilter.test(document.getElementById('fm-email').value)) {
		growl('growl err','Erreur', 'Veuillez entrer une adresse email valable',3000);
		return false;
	}
return true;
}

$(document).ready(function() {
	setFooter();
	$('form:input').val("");

	$('#navigation img').hover(function () {
		$(this).attr('src',$(this).attr('src').replace('.jpg','_o.jpg'));
	}, function () {
		$(this).attr('src',$(this).attr('src').replace('_o.jpg','.jpg'));
	});
});
//]]>
