/////////////////////////////////////////////////////////////////////////////////////
// SCRIPT : fonctionnalités de base du site
// ...
/////////////////////////////////////////////////////////////////////////////////////

/////////////////////////////////////////////////////////////////////////////////////
// SOMMAIRE :
// Fonctions générales
// Initialisation
// Popup
// - Image
// - Popup Flash accueil
// Mailto
// Carte recherche de magasin
// Fonctions pour les formulaires
// Fonctions affichage photos Univers
/////////////////////////////////////////////////////////////////////////////////////

/////////////////////////////////////////////////////////////////////////////////////
// Fonctions générales
/////////////////////////////////////////////////////////////////////////////////////

// Aller a une page 
function allerA(page) {
	document.location.href=page;
}

// Vide un champs 
function clearChamp(elt,defaut){
	if(defaut){
		if(elt.value==defaut){
			elt.value='';
		}
	}else{
		elt.value='';
	}
}

// fonction qui retourne un tableau des valeurs selectionnés dans un select multiple
function multiselectValues(id){
	laListe = document.getElementById(id);
	
	var lesValeurs = new Array();
	for (var i=0; i<laListe.options.length; i++) {
		if (laListe.options[i].selected) {
			lesValeurs.push(laListe.options[i].value);
		}
	}
	
	return lesValeurs;
}

/////////////////////////////////////////////////////////////////////////////////////
// Initialisation
/////////////////////////////////////////////////////////////////////////////////////
window.addEvent('domready', function() {
	// Masques de saisies
	if($('nl_cp')){
		cpMask = new Mask("#", "number");
		cpMask.attach($('nl_cp'));
	}
	if($('cp')){
		cpMask = new Mask("#", "number");
		cpMask.attach($('cp'));
	}
	if($('cp1')){
		cpMask = new Mask("#", "number");
		cpMask.attach($('cp1'));
	}
	if($('cp2')){
		cpMask = new Mask("#", "number");
		cpMask.attach($('cp2'));
	}
	// texte défilant
	if($('actuInfo')){
		var obj;
		w = $('actuInfo').getStyle('width').toInt();
		h = $('actuInfo').getStyle('height').toInt();
		obj = new mooquee($('actuInfo'),{ marHeight: h,marWidth: w});
	}
});

/////////////////////////////////////////////////////////////////////////////////////
// Popup
/////////////////////////////////////////////////////////////////////////////////////
// Image
window.addEvent('domready', function() {
	SqueezeBox.assign($$('a[rel=boxed]'));
});
// Popup Flash accueil
function SWFpopupPromo(leNum){
	//SqueezeBox.open('images/promo/zoom-'+leNum+'.jpg');
	SqueezeBox.open('import/PUB/'+cataloguePrioritaire+'/images/promo/zoom-'+leNum+'.jpg');
}

/////////////////////////////////////////////////////////////////////////////////////
// Mailto
/////////////////////////////////////////////////////////////////////////////////////
function encodeMailto(leNom, leDomaine, laClasse, laPhrase){
	var tg = "<";
	var name = leNom;
	var at = "@";
	var host = leDomaine;
	var text = laPhrase;
	document.write(tg+"a hr"+"ef=mai"+"lto:"+name);
	document.write(at+host+" class='"+laClasse+"'>"+text+tg+"/a>");
}

/////////////////////////////////////////////////////////////////////////////////////
// Carte recherche de magasin
/////////////////////////////////////////////////////////////////////////////////////
function enregistrerDepartement(urlListe, leDep){
		document.location.href=urlListe+"?d="+leDep;
}

/////////////////////////////////////////////////////////////////////////////////////
// AJAX
/////////////////////////////////////////////////////////////////////////////////////

// charge une liste de ville en fonction d'un code postal
function chargerVille(cp,lib_champs,urlsite,lib_mags,id_mags){
	// le champs select
	champs = $(lib_champs);
	// ajax request
	var req = new Request({
		url:urlsite+'script/ajax/ville-par-cp.php',
		method:'post',
		autoCancel:true,
		data:'cp=' + cp ,
		onRequest: function() {
			// action réalisée au lancement de la requete
			champs.erase('html');
			var opt = new Element ('option',{'value' : '', 'html' : "Patientez" }) ;
			opt.inject(champs);
		},
		onSuccess: function(text,xml) {
			// action réalisée à la fin du script php
			
			// init
			champs.erase('html');
			
			// récupération des villes
			var item_ville = xml.getElementsByTagName("ville");
			nb_ville = item_ville.length;
			
			// boucle sur les villes
			for(i=0;i<nb_ville;i++){
				ville = item_ville.item(i).firstChild.data;
				var opt = new Element ('option',{'value' : ville, 'html' : ville }) ;
				opt.inject(champs);
			}
			
			// requete magasins
			if($(id_mags)){
				chargerMagasins(cp,lib_mags,id_mags,urlsite);
			}
		}
	}).send();
}

// charge une liste de magasins en fonction d'un code postal
function chargerMagasins(cp,lib_champs,id_mags,urlsite){
	// le champs select
	lediv = $(id_mags);
	// ajax request
	var req = new Request({
		url:urlsite+'script/ajax/magasin-par-cp.php',
		method:'post',
		autoCancel:true,
		data:'cp=' + cp ,
		onRequest: function() {
			// action réalisée au lancement de la requete
			lediv.erase('html');
			lediv.set('html','Patientez');
		},
		onSuccess: function(text,xml) {
			// action réalisée à la fin du script php
			
			// init
			lediv.erase('html');
			
			// récupération des villes
			var item_dep = xml.getElementsByTagName("dep");
			nb_dep = item_dep.length;
			
			// boucle sur les département
			content = "";
			cpt = 0;
			for(i=0;i<nb_dep;i++){
				lib = item_dep.item(i).firstChild.data;
				dep = item_dep.item(i).attributes.getNamedItem("code").value;
				libelle = dep+' '+lib;
				//var gp = new Element ('optgroup',{'label' : libelle }) ;
				//gp.inject(champs);
				content += '<strong>'+libelle+'</strong><br />';
				
				// récupération des magasins
				var item_mag = xml.getElementsByTagName("mag"+dep);
				nb_mag = item_mag.length;
				for(j=0;j<nb_mag;j++){
					lib = item_mag.item(j).firstChild.data;
					code = item_mag.item(j).attributes.getNamedItem("code").value;
					//var opt = new Element ('option',{'value' : code, 'html' : lib }) ;
					//opt.inject(gp);
					content += '<input type="checkbox" name="'+lib_champs+'[]" id="'+lib_champs+cpt+'" value="'+code+'" onclick="maxSelected(\'contact_mag\',3,this);" />&nbsp;<label for="'+lib_champs+cpt+'">'+lib+'</label><br />';
					cpt++;
				}
				
				delete item_mag;
			}
			lediv.set('html',content);
		}
	}).send();
}

// fonction qui controle le nombre de choix selectionné
function maxSelected(idListe,nbmax,selection){
	// est-on sur une selection ?
	selected = selection.checked;
	
	// nombres de selectionné
	nb=0;
	i=0;
	elt = $(idListe+i);
	while(elt){
		if(elt.checked){
			nb++;	
		}
		i++;
		elt = $(idListe+i);
	}
	
	// traitement
	if(selected){
		if(nb>nbmax){
			selection.checked = false;
			alert("Vous ne pouvez choisir plus de "+nbmax+" magasins !");
		}
	}
}

/////////////////////////////////////////////////////////////////////////////////////
// Fonctions affichage photos Univers
/////////////////////////////////////////////////////////////////////////////////////
function affichPhoto(id){
	$('photoPrincipale1').style.display="none";
	$('photoPrincipale2').style.display="none";
	$('photoPrincipale3').style.display="none";
	$('photoPrincipale4').style.display="none";
	$('photoPrincipale'+id).style.display="block";
}