// JavaScript Document

function ftc_requete(mode,id,fichier,cible,type) {
	if ((mode == '') && (mode == '') && (mode == '') && (mode == '') && (mode == '')) {
		mode = LireCookie("recherche_mode"); EffaceCookie("recherche_mode");
		id = LireCookie("recherche_id"); EffaceCookie("recherche_id");
		fichier = LireCookie("recherche_fichier"); EffaceCookie("recherche_fichier");
		cible = LireCookie("recherche_cible"); EffaceCookie("recherche_cible");
		type = LireCookie("recherche_type"); EffaceCookie("recherche_type");
	}
	texte = file(escape('includes/'+fichier)+'.php?mode='+escape(mode)+'&id='+escape(id)+'&type='+escape(type));
	var url = document.location.href;
	if ((url.lastIndexOf("recherche.php") == -1) && (url.lastIndexOf("restaurant.php") == -1) && (url.lastIndexOf("recherche.php") == -1)) {
		document.location.href = "recherche.php";
		EcrireCookie("recherche_mode", mode);
		EcrireCookie("recherche_id", id);
		EcrireCookie("recherche_fichier", fichier);
		EcrireCookie("recherche_cible", cible);
		EcrireCookie("recherche_type", type);
	} else {
		document.getElementById(cible).innerHTML = texte;
	}
}

function EcrireCookie(nom, valeur) {
	var argv=EcrireCookie.arguments;
	var argc=EcrireCookie.arguments.length;
	var expires=(argc > 2) ? argv[2] : null;
	var path=(argc > 3) ? argv[3] : null;
	var domain=(argc > 4) ? argv[4] : null;
	var secure=(argc > 5) ? argv[5] : false;
	document.cookie=nom+"="+escape(valeur)+
	((expires==null) ? "" : ("; expires="+expires.toGMTString()))+
	((path==null) ? "" : ("; path="+path))+
	((domain==null) ? "" : ("; domain="+domain))+
	((secure==true) ? "; secure" : "");
}

function getCookieVal(offset) {
	var endstr=document.cookie.indexOf (";", offset);
	if (endstr==-1) endstr=document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}

function LireCookie(nom) {
	var arg=nom+"=";
	var alen=arg.length;
	var clen=document.cookie.length;
	var i=0;
	while (i<clen) {
		var j=i+alen;
		if (document.cookie.substring(i, j)==arg) return getCookieVal(j);
		i=document.cookie.indexOf(" ",i)+1;
		if (i==0) break;
	}
	return null;
}

function EffaceCookie(nom) {
	date=new Date;
	date.setFullYear(date.getFullYear()-1);
	EcrireCookie(nom,null,date);
}

function ftc_requete_av(mode,param1,param2,param3,param4,fichier,cible,type) {
	texte = file(escape('includes/'+fichier)+'.php?mode='+escape(mode)+'&rechloca='+escape(param1)+'&rechtypecuis='+escape(param2)+'&rechprixmin='+escape(param3)+'&rechprixmax='+escape(param4)+'&type='+escape(type));
	document.getElementById(cible).innerHTML = texte;
}

function file(fichier) {
	if (window.XMLHttpRequest) {
		xhr_object = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		return(false);
	}
	xhr_object.open("GET", fichier, false);
	xhr_object.send(null);
	if (xhr_object.readyState == 4) {
		return(xhr_object.responseText);
	} else {
		return(false);
	}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function changimg(id,lib) {
	var obj = document.getElementById("grd_img");
	obj.src = "photos/"+id+"_g.jpg";
	var modif_lien = document.getElementById("lien_blocimg");
	modif_lien.title = lib;
	modif_lien.href = "photos/"+id+"_xl.jpg";
	var txt_photo = document.getElementById("txt_photo");
	txt_photo.innerHTML = "<img src='images/icon_loupe.gif' border='0' align='absmiddle' alt='Cliquez pour agrandir' title='Cliquez pour agrandir'>&nbsp;"+lib;
}

function getXMLHTTP(){
  var xhr=null;
  if(window.XMLHttpRequest) // Firefox et autres
  xhr = new XMLHttpRequest();
  else if(window.ActiveXObject){ // Internet Explorer
    try {
      xhr = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        xhr = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e1) {
        xhr = null;
      }
    }
  }
  else { // XMLHttpRequest non supporté par le navigateur
    alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
  }
  return xhr;
}

function imprime() {
	var f ="";
    //var Headers = '<!DOCTYPE HTML PUBLIC ><HTML><HEAD><title>Impression</title></HEAD><BODY style="color:black; background-color:white; padding:5px; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px;" onload="window.print();window.close()">';
	var Headers = '<!DOCTYPE HTML PUBLIC ><HTML><HEAD><title>Impression</title></HEAD><BODY style="color:black; background-color:white; padding:5px; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px;">';
    var Footers = '</body></html>';
    var zi = "<hr>"+document.getElementById("infos").innerHTML+"<hr>";
    var f = window.open("", "ZoneImpr", "height=700, width=600,toolbar=1, menubar=1, scrollbars=1, resizable=1, status=0, location=0, left=10, top=10");

    f.document.write ("" + Headers + zi +Footers);
    f.document.close();
    return;
}

function favoris(titre,url) {
	if ( navigator.appName != 'Microsoft Internet Explorer' ) {
		window.sidebar.addPanel(titre,url,"");
	} else {
		window.external.AddFavorite(url,titre);
	}
}

function JS_ValidFormulaire() { // Script permettant la validation d'un formulaire
	var i,p,q,nm,param1,param2,param3,num,lng; // On déclare les variables
	var errors=''; // On re-initialise les messages d'erreurs
	var args=JS_ValidFormulaire.arguments; // On extrait les arguments passés en paramètre
	for (i=0; i<(args.length-2); i+=3) { // On parcourt ces arguments
		param1=args[i]; // Parametre 1
		param2=args[i+1]; // Parametre 2
		param3=args[i+2]; // Parametre 3
		val=MM_findObj(param1); // On récupère l'objet cible défini
		if (val) { // Si l'objet existe
			nm=val.title; // On récupère son titre
			if ((val=val.value)!="") { // Si la valeur du champ n'est pas vide
				if (param2.indexOf('isEmail')!=-1) { // Le champ doit etre un email
					p=val.indexOf('@');	// Test de la présence d'un arobase
					if (p<1 || p==(val.length-1)) { // Si aucune présence de l'arobase
						errors+='- '+nm+' doit contenir une adresse email valide.\n';
					}
				}
				if (param2.indexOf('isNum')!=-1) { // Le champ doit etre numérique
					num = parseFloat(val); // Extraction du nombre
					if (isNaN(val)) { // Si aucune présence d'un nombre
						errors+='- '+nm+' doit contenir un nombre.\n';
					}
				}
				if (param2.indexOf('isMax')!=-1) { // Le champ doit avoir X caractères
					lng=val.length; // Extraction du nombre de caractère du champ
					if (lng > param3) { // Si la longeur dépasse le nombre indiqué
						errors+='- '+nm+' doit contenir un maximum de '+param3+' caractères.\n';
					}
				}
				if (param2.indexOf('isMin')!=-1) { // Le champ doit avoir X caractères
					lng=val.length; // Extraction du nombre de caractère du champ
					if (lng < param3) { // Si la longeur dépasse le nombre indiqué
						errors+='- '+nm+' doit contenir un minimum de '+param3+' caractères.\n';
					}
				}
			} else if (param2.charAt(0) == 'R') { // Si la valeur du champ est vide et que le premier caractère est R
				errors += '- '+nm+' doit être renseigné.\n';
			}
		}
	}
  	if (errors) { // Messages d'erreurs
		alert('Des erreurs ont étés trouvées :\n'+errors);
	}
	document.JS_retourValeur = (errors == '');
	if (document.JS_retourValeur2 == false) { document.JS_retourValeur=false; }
}

function affiche_menu(param) {
	var Mouse_X;
	var Mouse_Y;

	function WhereMouse( e ){
		var DocRef;	
		if( e){
			Mouse_X = e.pageX;
			Mouse_Y = e.pageY;
		} else {
			Mouse_X = event.clientX;
			Mouse_Y = event.clientY;
			if( document.documentElement && document.documentElement.clientWidth) {
				DocRef = document.documentElement;
			} else {
				DocRef = document.body;
			}
			Mouse_X += DocRef.scrollLeft;
			Mouse_Y += DocRef.scrollTop;
		}
		var element = document.getElementById("menu_"+param);
		element.style.position = "absolute";
		element.style.display = "block";
		element.style.left = 100+Mouse_X+"px";
		element.style.top = 100+Mouse_Y-element.offsetHeight+"px";
	}
	document.getElementById("lien_"+param).onmousemove = WhereMouse;
}

function enleve_menu(param) {
	document.getElementById("menu_"+param).style.display = "none";
}

function ouvr_fiche(param) {
	window.open('details.php?id='+param+'','wclose','width=800,scrollbars=yes,location=no,resize=yes,toolbar=no,status=no,left=20,top=30,menubar=no');
}
