//On document load
$(document).ready(
		function() {
			$("a#fancyImageFiche").fancybox({ 
				'zoomOpacity': true,
				'zoomSpeedIn': 500, 
				'zoomSpeedOut': 300, 
				'overlayShow': true
				});
			
			
			
			//Hover - changepetiteImageFiche
			$("img#petiteImageFiche0").mouseover(function(){
				//:hover cursor : pointer
				$("img#petiteImageFiche0").css("cursor","pointer");
				//Remplace la grande image par la petite
				$("a#fancyImageFiche img").attr("src",
						$("img#petiteImageFiche0").attr("src"));
				$("a#fancyImageFiche").attr("href",
						$("img#petiteImageFiche0").attr("src"));
				});
			$("img#petiteImageFiche1").mouseover(function(){
				//:hover cursor : pointer
				$("img#petiteImageFiche1").css("cursor","pointer");
				//Remplace la grande image par la petite
				$("a#fancyImageFiche img").attr("src",
						$("img#petiteImageFiche1").attr("src"));
				$("a#fancyImageFiche").attr("href",
						$("img#petiteImageFiche1").attr("src"));
				});
			
			//Button hovers 
			boutonHover(".hoverValider", "images/bouton_valider_on.jpg");
			boutonHover(".hoverDemande", "images/bouton_faireunedemande_on.jpg");
			boutonHover(".hoverInscription", "images/bouton_creer_compte_on.jpg");
			boutonHover("#boutonDeconnexion", "images/bouton_deconnection_on.png");
			boutonHover("#boutonEspacePerso", "images/bouton_espace_perso_on.jpg");
			boutonHover(".rubriqueBoutonCommander", "images/bouton_commander_on.jpg");
			boutonHover(".ficheBoutonAjouter", "images/bouton_ajouter_on.jpg");
			boutonHover(".bouton_retour a img", "images/bouton_retour_on.jpg");
			boutonHover("#boutonvider", "images/bouton_vider_panier_on.png");
			boutonHover("#boutonValiderCommande", "images/bouton_valider_panier_on.png");
			boutonHover(".bModif", "images/bouton_modifier_on.png");
			boutonHover("#validerCommande", "images/bouton_valider_commande_on.png");
			boutonHover(".hoverRecommander", "images/bouton_recommander_on.png");
			boutonHover(".supprimerPanierHover", "images/supprimer_on.png");
			boutonHover(".hoverVoirFiche", "images/bouton_voirfiche_on.jpg");
			
			//Border degueulasse des radios et checkbox sous ie
			//$("input[type='radio']").css("background-color","transparent !important");
			
			//Lancement du diaporama
			firstGo();
			
			//Select pour IE
			var wSelect = new Array();
			var hasFocus = new Array();
			var isIE = (navigator.appName.indexOf("Microsoft")!=-1);

			$(document).ready(function(){
			    if(isIE){
			       
			        $(".selectIE").each(function (i) {
			           
			            hasFocus[i] = false;
			            wSelect[i] = $(this).width()+2;

			            $(this).focus(function(){
			                hasFocus[i] = true;
			            });
			           
			            $(this).bind("mouseover", function(){
			                $(this).width('auto');
			                if($(this).width()<wSelect[i]){
			                    $(this).width(wSelect[i]);
			                }
			           });
			           
			            $(this).bind("mouseout", function(){
			            if(!hasFocus[i]){
			                $(this).width(wSelect[i]);
			            }
			           });
			          
			           $(this).blur(function(){
			             hasFocus[i] = false;
			             $(this).width(wSelect[i]);
			           });
			    });
			       
			    }
			});
			
		});

//Regex
var int = "\\d*";
var validMail = "\\b[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}\\b";
var validDate = "^(0[1-9]|[12][0-9]|3[01])/(0[1-9]|1[012])/(19|20)\\d\\d$";
var validTel = "^\\+?\\d{10,11}$";
var validMdp = "\\S{6,15}";

//Valide le contenu d'un ï¿½lï¿½ment par son id et une regex 
//sinon affiche le message
function isValid(expr, regex, message) {
	//Construction de la regex
	tester = new RegExp(regex);
	//Si regex invalide
	if ($(expr).attr('value')=="" || !tester.test($(expr).attr('value'))) {
		//afficher le message
		appendToToolTip(expr,message);
		return false;
	} else {
		removeFromToolTip(expr)
		return true;
	}
}

function isEqualValues(expr1, expr2, message) {
	if($(expr1).attr('value') == $(expr2).attr('value')) {
		return true;
		removeFromToolTip(expr1)
	} else {
		appendToToolTip(expr1,message);
		return false;
	}
}

function isEmptyValue(expr, message) {
	var empty = true;
	if($(expr).attr('type') == 'radio') {
		for (i=0; i<$(expr).size() ;i++){
			if ($(expr).get(i).checked ==true){
				empty=false;
				break
			}
		}	
	} else {
		empty = $(expr).val() == "";
	}

	if (empty) {
		//afficher le message
		appendToToolTip(expr, message);
		return true;
	} else {
		removeFromToolTip(expr);
		return false;
	}
}

function appendToToolTip(expr, message) {
	$(expr).css('border','#e31f1c 2px solid');
	exprErr = '#tooltipErreur';
	if(message != "") {
		if(!$(exprErr).html() == '') {
			$(exprErr).append('<br/>');
		}
		$(exprErr).append(message);
	}
}

function removeFromToolTip(expr) {
	$(expr).css('border','');
}

function majPrixFiche(prix) {
	var prixTotal = $('#selectQuantite').val()*prix;
	$('#prix_total').html(truncateFloat(prixTotal) +' &euro;');
}

function onEventChangeImage(expr,image) {
	$(expr).attr('src',image);
}

function boutonHover(expr, image) {
	var image2 = $(expr).attr('src');
	$(expr).mouseover(function() {$(expr).attr('src',image)});
	$(expr).mouseout(function() {$(expr).attr('src',image2)});
}

function onClickShowOrHide(expr) {
	$(expr).slideToggle("slow");
}

function onClickHide(expr) {
	$(expr).slideUp("slow");
}

function loadGmap() {
	 if (GBrowserIsCompatible()) {
   var map = new GMap2(document.getElementById("map"));
   map.setCenter(new GLatLng(44.871098693673936,-0.4656529426574707),15);
   var point = new GLatLng(44.871098693673936,-0.4656529426574707);
   map.addOverlay(new GMarker(point));
			map.addControl(new GMapTypeControl());
			map.addControl(new GSmallMapControl());
			map.checkResize();
	}
}

function changeUserBlock(userBlock) {
	
	$('#zone_droite > div:first').fadeOut(function(){
				$('#zone_droite > div:first').remove();
				$('#zone_droite').prepend(userBlock);
				$('#zone_droite > div:first').css('display','none');
				$('#zone_droite > div:first').fadeIn();
			});
}

function deconnectUtilisateur() {
	$.post("index.php?getD=deconnectUtilisateurAjax",function(data, textStatus) {
		location=data;
	})
}

function connectUtilisateur() {
	$.post("index.php?getD=connectUtilisateurAjax", $("#connectionForm").serialize(),
			function(data, textStatus) {
				if(data != '') {
					showToolTipUpToElement('#validerConnexion',data);
				} else {
					location.reload(true);
				}
			});
}

function inputAssist(expr, assist) {
	if($(expr).val() == "")
		$(expr).val(assist);
	$(expr).focus(function() {
		if($(expr).val() == assist)$(expr).val("");
	});
	$(expr).blur(function() {
		if($(expr).val() == "") $(expr).val(assist);
	});
}

function genereSelectRecherche(nomForm, niv){
	
	var id = $('#selRub'+niv).val();
	var niv1 = 1;
	var niv2 = 2;
	var niv3 = 3;
	
	var id1 = $('#selRub'+niv1).val();
	var id2 = $('#selRub'+niv2).val();
	var id3 = $('#selRub'+niv3).val();
	/*
	if(niv != niv1) {
		// On vide la liste
		$('#selRub1 > option:not(#selRub1 > option:first)').remove();
		$.get('index.php?getD=listeProduit&id=' + id + '&idOld=' + id1, function(data) {
			if(data == ' ') {
				$('#selRub1').attr('disabled',true);
			} else {
				$('#selRub1').attr('disabled',false);
				$('#selRub1').append(data);
			}
		});
	}
	*/
	if(niv != niv2) {
		if(id1 == '22') {
			
			// On vide la liste
			$('#selRub2 > option:not(#selRub2 > option:first)').remove();
			$.get('index.php?getD=listePays&id=' + id + '&idOld=' + id2, function(data) {
				if(data == ' ') {
					$('#selRub2').attr('disabled',true);
				} else {
					$('#selRub2').attr('disabled',false);
					$('#selRub2').append(data);
				}
				
			});
		} else {
			$('#selRub2').val('');
			$('#selRub2').attr('disabled',true);
		}
	}
	
	if(niv != niv3) {
		// On vide la liste
		$('#selRub3 > option:not(#selRub3 > option:first)').remove();
		$.get('index.php?getD=listeAppelation&id=' + id + '&idOld=' + id3, function(data) {
			if(data == ' ') {
				$('#selRub3').attr('disabled',true);
			} else {
				$('#selRub3').attr('disabled',false);
				$('#selRub3').append(data);
			}
		});
	}
	
	if(id1 == '1' || id1 == '22' || id1 == '') {
		var rub = '1';
		
		if(id1 != '') rub = id1;
		if(id2 != '') rub = id2;
		if(id3 != '') rub = id3;
		
		//On vide la liste des couleurs
		$('#couleur > option:not(#couleur > option:first)').remove();
		$.get('index.php?getD=listeCouleurs&id=' + rub, function(data) {
			if(data == '') {
				$('#couleur').attr('disabled',true);
			} else {
				$('#couleur').attr('disabled',false);
				$('#couleur').append(data);
			}
		});
	} else {
		$('#couleur').attr('disabled',true);
	}
	
	
	if($('.rechercheAvancee').css('display') != 'none') {
		if(id1 == '1' || id1 == '22') {
			var rub = '1';
			
			if(id1 != '') rub = id1;
			if(id2 != '') rub = id2;
			if(id3 != '') rub = id3;
			
			//On vide la liste des millésimes
			$('#millesime > option:not(#millesime > option:first)').remove();
			$.get('index.php?getD=listeMillesimes&id=' + rub, function(data) {
				if(data == '') {
					$('#millesime').attr('disabled',true);
				} else {
					$('#millesime').attr('disabled',false);
					$('#millesime').append(data);
				}
			});
		} else {
			$('#millesime').attr('disabled',true);
		}
	}
}

function showToolTipUpToElement(expr, message) {
	exprErr = '#tooltip';
	if(message != "") {
		if($(exprErr).size() > 0) {
			$(exprErr).remove();
		}
		var toolTip = '<div id="tooltip" class="toolTip" '+ 
						'onClick="$(this).remove();">'+message+'</div>';
		$(expr).before(toolTip);
		var errOffsetTop = $(expr).offset().top - (-20);
		var errOffsetLeft = $(expr).offset().left - 50;
		
		$(exprErr).css('top',errOffsetTop);
		$(exprErr).css('left',errOffsetLeft);
		
	}
}

function showCaddieToolTip(message) {
	expr = "#panier";
	exprErr = '#tooltipCaddie';
	if(message != "") {
		if($(exprErr).size() > 0) {
			$(exprErr).remove();
		}
		var toolTip = '<div id="tooltipCaddie" class="toolTip" '+ 
						'onClick="$(this).remove();">'+message+'</div>';
		$(expr).before(toolTip);
		var errOffsetTop = $(expr).offset().top -30;
		var errOffsetLeft = $(expr).offset().left;
		
		$(exprErr).css('top',errOffsetTop);
		$(exprErr).css('left',errOffsetLeft);
		
	}
	$(exprErr).oneTime(5000, function() {$(exprErr).remove();});
}

function addToCaddie(expr) {
	
	var form = '#ajoutProduit';
	
	if(expr != '') form = expr;
		
	$.post("index.php?getD=addToCaddieAjax", $(form).serialize(),
			function (data) {
				showCaddieToolTip(data);
				majPanier();
	});
				
}

function majCaddie(idElement) {
	$.post("index.php?getD=majCaddieAjax", $('#form'+idElement).serialize(),
	        function(data){
				
					var prix = '';
					prix = parseInt($("#form"+idElement+" select[name='qt']").val())
							* parseFloat($("#form"+idElement+" input[name='prix']").val());
					prix = prix.toString();
					$('#ligneProduit'+idElement+' .prix_t').html(truncateFloat(prix));
					majPrixTotal(data);
				
	       },"json");
	
}

function deleteFromCaddie(idElement) {
	$.post("index.php?getD=deleteFromCaddieAjax", $('#form'+idElement).serialize(),
	        function(data){
				
					$('#ligneProduit'+idElement).remove();
					if(parseFloat(data) == 0)
						document.location='index.php';
					majPrixTotal(data);
				
	       }, "json");
	
}

function majPrixTotal(data) {
	$('#prixTotalHT').html(truncateFloat(data.prixTotal));
	taxe55 = truncateFloat(parseFloat(data.prix55)*0.055);
	taxe196 = truncateFloat(parseFloat(data.prix196)*0.196);
	$('#taxes').html(truncateFloat(parseFloat(taxe55) + parseFloat(taxe196)));
	$('#prixTotalTTC').html(truncateFloat(parseFloat(data.prixTotal) + parseFloat(taxe55) + parseFloat(taxe196)));
	majPanier();
}

function truncateFloat(float) {
	
	var res = float.toString();
	if(res.indexOf('.',0) != -1)
		res = res.substring(0,res.indexOf('.',0)+3)
	return res;
}

function majPanier() {
	$.getJSON("index.php?getD=getQteEtPrixTotalAjax",
	        function(data){
	            $('#panierPrixTotal').html(truncateFloat(data.prixTotal));
	            $('#panierQteTotale').html(truncateFloat(data.qteTotale));
	       });
}

function validerCommande() {
	$.getJSON("index.php?getD=getQteEtPrixTotalAjax",
	        function(data){
			     if(parseInt($('#panierQteTotale').html()) == parseInt( data.qteTotale)) {
	                   
	            	document.location = '?getA=payer_caddie';
	            } else {
	            	showToolTipUpToElement('#boutonValiderCommande', 'Le panier a été modifier,'
	            			+'rechargez la page pour voir les modifications et valider la commande.');
	            }
	            	
	       });
}

function validFormulaireAdresse(form) {

	$('#tooltipErreur').empty();
	
	var empty = isEmptyValue(form+" input[name='nom']",'Veuillez indiquer votre nom');
	empty = isEmptyValue(form+" input[name='civilite_f']",'Veuillez indiquer votre civilitée') || empty;
	empty = isEmptyValue(form+" input[name='prenom']",'Veuillez indiquer votre prénom') || empty;
	empty = isEmptyValue(form+" input[name='adresse']",'Veuillez indiquer l\'adresse') || empty;
	empty = isEmptyValue(form+" input[name='cp']",'Veuillez indiquer le code postal') || empty;
	empty = isEmptyValue(form+" input[name='ville']",'Veuillez indiquer la ville') || empty;
	
	var tel = isValid(form+" input[name='tel1']", validTel, 'Téléphone invalide');
	
	var date = isValid(form+" input[name='date_naissance']", validDate, 'Date invalide');

	if($('#tooltipErreur').html() != "") {
		var errOffsetTop = $(form).offset().top - -10;
		var errOffsetLeft = $(form).offset().left - -250;
		
		$('#tooltipErreur').css('top',errOffsetTop);
		$('#tooltipErreur').css('left',errOffsetLeft);
		$('#tooltipErreur').show();
	} 
	
	
	if(!empty && tel && date) {
		$(form).submit();
	}
}

function validFormulaireNewMail(form) {
	$('#tooltipErreur').empty();

	var mail = isValid(form+" input[name='mail']", validMail, 'Mail invalide');
	mail = isValid(form+" input[name='mail_conf']", validMail, 'Confirmation du mail invalide') && mail;
	if(mail) {
		mail = isEqualValues(form+" input[name='newmail']",
							form+" input[name='newmailconf']",
							'Le mail et sa confirmation ne correspondent pas') && mail;
	}
	
	if($('#tooltipErreur').html() != "") {
		var errOffsetTop = $(form).offset().top - -10;
		var errOffsetLeft = $(form).offset().left - -250;
		
		$('#tooltipErreur').css('top',errOffsetTop);
		$('#tooltipErreur').css('left',errOffsetLeft);
		$('#tooltipErreur').show();
	} 
	
	
	if(mail) {
		$(form).submit();
	}
}


function validFormulaireNewMdp(form) {
	$('#tooltipErreur').empty();

	var mdp = isValid('#s_mdp2', validMdp, 'Mot de passe invalide : 6 à 15 caracteres');
	mdp = isValid('#s_mdp3', validMdp, 'Confirmation du mot de passe invalide : 6 à 15 caracteres') && mdp;
	if(mdp) {
		mdp = isEqualValues('#s_mdp2','#s_mdp3','Le mot de passe et sa confirmation ne correspondent pas') && mdp;
	}	
	
	if($('#tooltipErreur').html() != "") {
		var errOffsetTop = $(form).offset().top - -10;
		var errOffsetLeft = $(form).offset().left - -250;
		
		$('#tooltipErreur').css('top',errOffsetTop);
		$('#tooltipErreur').css('left',errOffsetLeft);
		$('#tooltipErreur').show();
	} 
	
	
	if(mdp) {
		$(form).submit();
	}
}

function valideContact() {
	
	var form = '#formContact';
	
	$('#tooltipErreur').empty();
	
	var empty = isEmptyValue(form+" input[name='nom']",'Veuillez indiquer votre nom');
	empty = isEmptyValue(form+" input[name='civilite']",'Veuillez indiquer votre civilitée') || empty;
	empty = isEmptyValue(form+" input[name='prenom']",'Veuillez indiquer votre prénom') || empty;
	
	//var tel = isValid(form+" input[name='tel']", validTel, 'Téléphone invalide');
	
	var mail = isValid(form+" input[name='mail']", validMail, 'Mail invalide');
	mail = isValid(form+" input[name='conf_email']", validMail, 'Confirmation du mail invalide') && mail;
	if(mail) {
		mail = isEqualValues(form+" input[name='mail']",
							form+" input[name='conf_email']",
							'Le mail et sa confirmation ne correspondent pas') && mail;
	}
	
	if($('#tooltipErreur').html() != "") {
		var errOffsetTop = $(form).offset().top - -10;
		var errOffsetLeft = $(form).offset().left - -250;
		
		$('#tooltipErreur').css('top',errOffsetTop);
		$('#tooltipErreur').css('left',errOffsetLeft);
		$('#tooltipErreur').show();
	} 
	
	
	if(!empty && mail) {
	
	$.post("index.php?getD=contactAjax", $('#formContact').serialize(),
		function (data) {
			if(data.indexOf('Erreur : ',0) > 0) {
				showToolTipUpToElement('#validerContact',data);
			} else {
				$("#formContact *:not(#formContact input[type='hidden'])").val('');
				dialogBox(data);
			}
		});
	}	
}

function fenetre_magique(expr) {
	$(expr).dialog({
		draggable: false,
		resizable: false,
		title: 'Information',
		modal: true 
	});
	$(expr).click(function() {$(expr).dialog('close')});
	
	$('.ui-widget-overlay').click(function() {$(expr).dialog('close')});
	
	$(expr).oneTime(5000, function() {$(expr).dialog('close')});
}

function loadCommande() {
	if($('#commandeLoader').val() != '' &&
		$('#commandeLoader').val() != 'all') {
	
		$.post('index.php?getD=voirCommandeSeulAjax',$('#form_commande').serialize(),
			function(data) {
				$('#pageCommande').empty();
				$('#pageCommande').html(data);
			});
		}				
}

function addCommandeToPanier(idCommande) {
	$.get('index.php?getD=addCommandeToPanierAjax&idCom='+idCommande,
			function(data) {
				showCaddieToolTip(data);
				if(!(data.indexOf('Erreur : ',0) > 0)) {
					majPanier();
					document.location = "?getA=caddie";
				}
			});
		}

function dialogBox(message) {
	
	var dialog = '#dialogBox';
	
	$('body').append('<div id="dialogBox">'+message+'</div>');
	
	$(dialog).dialog({
		draggable: false,
		resizable: false,
		title: 'Information',
		modal: true,
		close:function(){$(dialog).remove();}
	});
	
	$(dialog).click(function() {$(dialog).dialog('close')});
	
	$('.ui-widget-overlay').click(function() {$(dialog).dialog('close')});
	
	$(dialog).oneTime(5000, function() {$(dialog).dialog('close')});
}


function getPdfAjax(idp, idmere) {
	
	$('body').load('index.php?getD=getPdfAjax&idp='+idp+'&idmere='+idmere);
	
}










