jQuery(function($) {
	
	jQuery('a[href^=http]:not(.in), a[href$=pdf]').attr({'target':'_blank'});
	
	$('.promo-list-2 li a.lightview').fancybox();
	
	$('.promo-categorie').click(function() {
		var id = ($(this).attr('class')).split(' ');
		$('.promo-list-2 li').hide();
		$('.promo-list-2 li.'+id[1]).show();
	});
	
	$('.promo-categorie-0').click(function() {
		$('.promo-list-2 li').show();
	});	
	
	if (window.location.hash.indexOf('#cid')==0) {
		$('.promo-categorie.'+window.location.hash.substring(1)).click();
	}
	
	$('.addtocart').click(function() {
		var lan = "en";
		if (document.location.href.toLowerCase().indexOf('catalogue') >= 0) lan = 'fr';
		jQuery('#panier, #panier2').load("/articles.php?ajouteraupanier=1&lan="+lan,{id:'prod_'+jQuery(this).attr('id').substring(1)},function() { $('#panier-wrapper').show(); $('#basket-nav').show(); });
		if ($(this).next().find('b').text().indexOf(',') >= 0 || $(this).next().find('b').text() == "Gratuit") $(this).find('span').text('Article ajouté');
		else $(this).find('span').text('Item added');
		$(this).find('span').addClass('vert');
		$('#panier-footer').show();
		return false;
	});
	
	$('.soustraire').click(function() {
		if ($(this).next().val() == 0) return false;
		$(this).next().val(parseInt($(this).next().val())-1);
		return false;
	});
	
	$('.ajouter').click(function() {
		$(this).prev().val(parseInt($(this).prev().val())+1);
		return false;
	});
	
	$('#updateorder').click(function() {
		if (validerQuantites()) $('#orderitems').submit();
	});
	
	$('#cancelorder').click(function() {
		var url ="";
		if ($('[name="langue"]').val() == 'fr') url = "/Vider-panier";
		else url = "/Empty-cart";
		document.location.href = url;
	});
	
	$('#printorder').click(function() {
		window.print();
	});
	
	$('#continueshopping').click(function() {
		var url ="";
		if ($('[name="langue"]').val() == "fr") url = "/Catalogue";
		else url = "/Catalog";
		document.location.href = url;
	});
	
	$('#ordersubmit').click(function() {
		var valide = true;
		var msg = "";
		
		if ($('#order-nom').val() == "") {
			$('#order-nom-val').show();
			valide = false;
			if ($('[name="langue"]').val() == 'fr') msg += "Votre nom est requis\n";
			else msg += "Your name is required\n";
		}
		else $('#order-nom-val').hide();
		
		if ($('#order-address').val() == "") {
			$('#order-address-val').show();
			valide = false;
			if ($('[name="langue"]').val() == 'fr') msg += "Votre adresse est requise\n";
			else msg += "Your address is required\n";
		}
		else $('#order-address-val').hide();
		
		if ($('#order-city').val() == "") {
			$('#order-city-val').show();
			valide = false;
			if ($('[name="langue"]').val() == 'fr') msg += "Votre ville est requise\n";
			else msg += "Your city is required\n";
		}
		else $('#order-city-val').hide();
		
		if ($('#order-province').val() == "") {
			$('#order-province-val').show();
			valide = false;
			if ($('[name="langue"]').val() == 'fr') msg += "Votre province est requise\n";
			else msg += "Your province is required\n";
		}
		else $('#order-province-val').hide();
		
		if ($('#order-postalcode').val() == "") {
			$('#order-postalcode-val').show();
			valide = false;
			if ($('[name="langue"]').val() == 'fr') msg += "Votre code postal est requis\n";
			else msg += "Your postal code is required\n";
		}
		else if (!validCanPC($('#order-postalcode').val(),true) && !validUSZip($('#order-postalcode').val(),true)) {
			$('#order-postalcode-val').show();
			valide = false;
			if ($('[name="langue"]').val() == 'fr') msg += "Votre code postal est erroné\n";
			else msg += "Your postal code is in a wrong format\n";
		}
		else $('#order-postalcode-val').hide();
		
		/*if ($('#order-email').val() == "") {
			$('#order-email-val').show();
			valide = false;
			if ($('[name="langue"]').val() == 'fr') msg += "Votre courriel est requis\n";
			else msg += "Your email is required\n";
		}
		else*/ if ($('#order-email').val() != "" && !validMail($('#order-email').val(),true)) {
			$('#order-email-val').show();
			valide = false;
			if ($('[name="langue"]').val() == 'fr') msg += "Votre courriel est erroné\n";
			else msg += "Your email is in a wrong format\n";
		}
		else $('#order-email-val').hide();
		
		if ($('#order-phone').val() == "") {
			$('#order-phone-val').show();
			valide = false;
			if ($('[name="langue"]').val() == 'fr') msg += "Votre numéro de téléphone est requis\n";
			else msg += "Your phone number is required\n";
		}
		else if (!validPhone($('#order-phone').val(),true)) {
			$('#order-phone-val').show();
			valide = false;
			if ($('[name="langue"]').val() == 'fr') msg += "Votre numéro de téléphone est erroné\n";
			else msg += "Your phone number is in a wrong format\n";
		}
		else $('#order-phone-val').hide();
		
		if (valide) {
			$('[name="update"]').val(2);
			/*var print;
			if ($('[name="langue"]').val() == 'fr') print = confirm("Désirez-vous imprimer votre commande?");
			else print = confirm("Do you want to print your order?");
			if (print) window.print();*/
			return true;
		}
		else {
			if ($('[name="langue"]').val() == 'fr') alert("Veuillez corriger la (les) erreur(s) suivante(s):\n\n" + msg);
			else alert("Please correct the following error(s):\n\n" + msg);
			return false;
		}
	});
});

function validerQuantites() {
	var valide = true;
	jQuery('.quantite').each(function() {
		if (!jQuery(this).val().match(/^\d+$/)) {
			valide = false;
			var msg = "";
			if (jQuery('[name="langue"]').val() == 'fr') msg = "Une (ou plusieurs) quantité est erronée.";
			else msg = "One or more quantity is incorrect";
			alert(msg);
			jQuery(this).focus();
			return false;
		}
	});
	return valide;
}

function sabonner() {
	var result = false
	var theStr = new String(jQuery("#email").val());
	var index = theStr.indexOf("@");
	if (index > 0) {
		var pindex = theStr.indexOf(".",index);
		if ((pindex > index+1) && (theStr.length > pindex+1)) result = true;
	}
	if (result == true) {
		jQuery.ajax({
			type: "POST",
			url: "/inscrire.php",
			data: "nom="+escape(jQuery('#nom').val())+"&email="+escape(jQuery('#email').val())+"&lan="+escape(jQuery("#lan").val()),
			success: function() {
				jQuery('#nom').val('');
				jQuery('#email').val("");
				if (jQuery("#lan").val() == "fr") alert('Votre adresse a été ajoutée à la liste de diffusion.');
				else alert('Your email was successfully added.');
			}
		})
	}
	else {
		if (jQuery("#lan").val() == "fr") alert("Votre adresse de courriel n'est pas dans un format accepté.\nEx.: nom@site.com");
		else alert("Your email address in not in the right format.\nEx.: name@site.com");
	}
}

var validMail = function(email,isrequired) {
	if (!isrequired && email=='') return true;
	var result = false
	var theStr = new String(email)
	var index = theStr.indexOf("@");
	if (index > 0) {
		var pindex = theStr.indexOf(".",index);
		if ((pindex > index+1) && (theStr.length > pindex+1)) result = true;
	}
	return result;
}

var validPhone = function(val,isrequired) {
	if (!isrequired && val=='') return true;
	if (val.match(/^[(]{0,1}\d{3}[) -]{0,2}\d{3}[- ]{0,1}\d{4}$/) || val.match(/^\d{10}$/)) return true;
	return false;
}

var validCanPC = function(fStr,isrequired){
	if (!isrequired && fStr=='') return true;
	var myReg = /^[a-zA-Z][0-9][a-zA-Z][\s]{0,1}[0-9][a-zA-Z][0-9]$/;
	if(myReg.exec(fStr)!=fStr){return false};
	return true;
}

var validUSZip = function(fStr,isrequired){
	if (!isrequired && fStr=='') return true;
	var myReg = /^[0-9]{5}$/;
	if(myReg.exec(fStr)!=fStr){return false};
	return true;
}
