// JavaScript Document

//fonction connexion

function connect() {
  
  Effect.toggle('boutons','APPEAR');
  
  ancienDiv=document.getElementById('boutons').innerHTML;
  connectForm="<div id='connect'><form id='formConnect' method='POST'><table><tr><td>&nbsp;Votre Pseudo:</td><td>&nbsp;Votre mot de Passe:</td></tr><tr><td><input type='text' id='form120' name='test-pseudo'></td><td><input type='password' id='form120' name='test-passwd'></td></tr><tr><td colspan='2' align='right'><a href='/login-motdepasse-oublie.php' id='passoublie'>pseudo ou mot de passe oublié?</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type='image' src='themes/original/img/bt_connect.gif' name='Se connecter' onclick='login(this.form);return false;'></td></tr><tr><td colspan='2' align='right'></td></tr></table><img src='themes/original/img/spacer.gif' width='2'></form></div>";
  setTimeout("document.getElementById('boutons').innerHTML=connectForm;",1400);
  setTimeout("new Effect.toggle('boutons','SLIDE');",1400);
}

//fonction login
function login(f) {
  Effect.toggle('boutons','SLIDE');
  connectForm=document.getElementById('boutons').innerHTML;
  document.getElementById('boutons').style.visibility="visible";

	var connectForm=document.getElementById('boutons').innerHTML;
	
	var xhr_object = null;
  if(window.XMLHttpRequest) // Firefox
	 xhr_object = new XMLHttpRequest();
  else if(window.ActiveXObject) // Internet Explorer
	 xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
  else { // XMLHttpRequest non supporté par le navigateur
	 alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
	 return;
  }

  var login = f.elements["test-pseudo"].value;
  var passwd = f.elements["test-passwd"].value;
  var filename = "login.php";
  var data = null;
  
  xhr_object.open("POST", filename, true); 
   
  xhr_object.onreadystatechange = function() { 
  if(xhr_object.readyState == 4) 
		tmp = xhr_object.responseText;
		if(typeof(tmp) != "undefined") {  
		  //eval(xhr_object.responseText);
		  setTimeout("document.getElementById('boutons').innerHTML=tmp",1400);
		  setTimeout("new Effect.toggle('boutons','SLIDE');",2000);
		}
  } 
 
  xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
  var data = "login="+login+"&password="+passwd;
  xhr_object.send(data);

}

// fonction formulaire 'Aguia dourada en un clic' HP
function one_clic(slct) {
	location.href=
	'http://'+location.hostname+slct.options[slct.selectedIndex].value;
}
function verifMoteur() {
	if (document.moteur.recherche.value!='') {
		document.moteur.submit();
	}
	else {
		alert('Merci de saisir un ou plusieurs mot(s) clé(s).');
	}
	
}
function display(div)
{
if ((document.getElementById(div).style.display)=="") {
document.getElementById(div).style.display="none";
}
document.getElementById(div).style.display=document.getElementById(div).style.display=="none"?"block":"none";
}

//envoi email petites annonces
function envoyeremail(f,div,loading) {
	imgLoading=document.getElementById(loading).innerHTML;
	if(document.getElementById(loading).style.opacity==0) changeOpac(100,loading);

  document.getElementById(loading).style.visibility="visible";
	var xhr_object = null;
  
  if(window.XMLHttpRequest) // Firefox
	 xhr_object = new XMLHttpRequest();
  else if(window.ActiveXObject) // Internet Explorer
	 xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
  else { // XMLHttpRequest non supporté par le navigateur
	 alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
	 return;
  }
  var mail = f.elements["mail_perso"].value;
  var message = f.elements["message"].value;
  var annonce = f.elements["annonce"].value;
  var id = f.elements["id"].value;
  var annonce_id = f.elements["annonce_id"].value;
  var filename = "sendemail.php";
  var data = null;
  xhr_object.open("POST", "sendemail.php", true); 
   
  xhr_object.onreadystatechange = function() { 
  if(xhr_object.readyState == 4) 
		var tmp = xhr_object.responseText;
		if(typeof(tmp) != "undefined") {  
		  //eval(xhr_object.responseText);
			  f.elements["mail_perso"].value="";
		  f.elements["message"].value="";
	
		  document.getElementById(loading).innerHTML=tmp;
		  opacity(loading, 100, 0, 1000,imgLoading);
		}
  } 
 
  xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
  var data = "id="+id+"&email="+mail+"&msg="+message+"&annonce="+annonce+"&annonce_id="+annonce_id;
  xhr_object.send(data); 
}


//fonctions opacité
function changeOpac(opacity, id) {
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
}

function opacity(id, opacStart, opacEnd, millisec,imgLoading) {
    //speed for each frame
    var speed = Math.round(millisec / 100);
    var timer = 500;

    //determine the direction for the blending, if start and end are the same nothing happens
    if(opacStart > opacEnd) {
        for(i = opacStart; i >= opacEnd; i--) {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    } else if(opacStart < opacEnd) {
        for(i = opacStart; i <= opacEnd; i++)
            {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    } 
  setTimeout("document.getElementById('"+id+"').innerHTML=imgLoading",((timer * speed)));
	setTimeout("new Effect.toggle('reponse_email','BLIND')",((timer * speed)));
}

function flashMsgbox(div) {
  //setTimeout("new Effect.toggle(div,'BLIND')",((1000)));
  new Effect.toggle(div,'BLIND')
}



function verifForm(els){
    var formulaire = els;
    var els = els.elements; // éléments du formulaire
    var regEx =/^test-(.+)/; // expression régulière testant si le champs est à valider
      for ( var i = 0 ; i < els.length ; i++ ) { // on boucle sur les éléments du formulaire
        if(regEx.test(trim(els[i].name.toString()))){ // test si le champs est à valider
             switch(els[i].type){ //Chaque élément à son test personnalisé
             
             //test des champs de type text
                case "text":
                    if(trim(els[i].value).length <= 0){
                        alert("vous devez renseigner tous les champs obligatoires");
                        els[i].focus();
                        return false;
                    }else{ // test si c'est un champs contenant un email
                        regExEmail = /^test-email-(.+)/;
                        if(regExEmail.test(trim(els[i].name.toString()))){
                            if(!isEmail(els[i].value)){
                                alert("l'email saisie est invalide");
                                els[i].focus();
                                return false;
                            }
                        }
                        regExDate = /^test-date-(.+)/;
                        if(regExDate.test(trim(els[i].name.toString()))){
                            if(!isDate(els[i].value)){
                                alert("la date saisie est invalide");
                                els[i].focus();
                                return false;
                            }
                        }
                    }
                 break;
                 
            case "password":
                    if(trim(els[i].value).length <= 0){
                        alert("vous devez renseigner tous les champs obligatoires");
                        els[i].focus();
                        return false;
                    }
                    if (els[i].name == "test-password-1"){
                        if (els[i].value != els[i+1].value){
                            alert("Les mots de passe ne sont pas identiques");
                            els[i].focus();
                            return false;
                        }
                    }
                 break;
                 
                 
              //test des champs de type textarea   
                case "textarea":
                    if(trim(els[i].value).length <= 0){
                        alert("vous devez renseigner tous les champs obligatoires");
                        els[i].focus();
                        return false;
                    }
                 break;
                 
              //test des champs de type file   
                case "file":
                    if(trim(els[i].value).length <= 0){
                        alert("vous devez envoyer un fichier");
                        els[i].focus();
                        return false;
                    }else{
                        //test si l'extention est valide
                        regExFile = /^(.+)\.(pdf|jpg|gif|avi)/gi;
                        if(!regExFile.test(trim(els[i].value))){
                            alert("Le type de fichier est incorrect");
                            els[i].focus();
                            return false;
                        }
                    }
                 break;
                 
                 
              //test des champs de type radio
                case "radio": // test pour les champs radio
                    var test = false;
                    var nom_champ = els[i].name; // si des champs radio se suivent et ne porte pas le même nom on les traites séparément
                    // on boucle sur les champs radio pour savoir si au moins un champs est sélectionné
                        while(els[i].type == "radio" && nom_champ == els[i].name){
                            if(els[i].checked){
                                test = true;
                            }
                            i++;
                        }
                        i--;
                    if(!test){
                        alert("vous devez renseigner tous les champs obligatoires");
                        els[i].focus();
                        return false;
                    }
                 break;
                 
                 
            //test des champs de type checkbox
                case "checkbox":
                    if(!els[i].checked){
                        alert("vous devez renseigner tous les champs obligatoires");
                        els[i].focus();
                        return false;
                    }
                 break;
                 
                 
            //test des champs de type select où une seul sélection est possible  
                case "select-one":
                    var test = false;
                    for(var x=0; x < els[i].length; x++){
                        if(els[i][x].selected && els[i][x].value != '-1'&& trim(els[i][x].value) != ''){
                            test = true;
                        }
                    }
                    if(!test){
                        alert("vous devez sélectionner une option dans la liste déroulante");
                        els[i].focus();
                        return false;
                    }
                 break;
                 
                 
            //test des champs de type select où plusieurs sélections sont possible     
                case "select-multiple":
                    var test = false;
                    for(var x=0; x < els[i].length; x++){
                        if(els[i][x].selected && els[i][x].value != '-1'&& trim(els[i][x].value) != ''){
                            test = true;
                        }
                    }
                    if(!test){
                        alert("vous devez sélectionner une option dans la liste multipe");
                        els[i].focus();
                        return false;
                    }
                 break;
             } // fin du switch
          } // fin du for
        } // fin du if
        if(test){
          // return false;  
        }
        //alert('form.sumit');
        formulaire.submit();
}
function trim(aString) {
    var regExpBeginning = /^\s+/;
    var regExpEnd       = /\s+$/;
    return aString.replace(regExpBeginning, "").replace(regExpEnd, "");
}

function isEmail(strSaisie) {  
    var verif = /^[^@]+@(([\w\-]+\.){1,4}[a-zA-Z]{2,4}|(([01]?\d?\d|2[0-4]\d|25[0-5])\.){3}([01]?\d?\d|2[0-4]\d|25[0-5]))$/  
    return ( verif.test(strSaisie) );  
}

function isDate(strSaisie) {  
// Cette fonction permet de vérifier la validité d'une date au format jj/mm/aa ou jj/mm/aaaa


if (strSaisie == "") // si la variable est vide on retourne faux
return false;

e = new RegExp("^[0-9]{1,2}\/[0-9]{1,2}\/([0-9]{2}|[0-9]{4})$");

if (!e.test(strSaisie)) // On teste l'expression régulière pour valider la forme de la date
return false; // Si pas bon, retourne faux

// On sépare la date en 3 variables pour vérification, parseInt() converti du texte en entier
j = parseInt(strSaisie.split("/")[0], 10); // jour
m = parseInt(strSaisie.split("/")[1], 10); // mois
a = parseInt(strSaisie.split("/")[2], 10); // année

// Si l'année n'est composée que de 2 chiffres on complète automatiquement
if (a < 1000) {
  if (a < 89) a+=2000; // Si a < 89 alors on ajoute 2000 sinon on ajoute 1900
   else a+=1900;
}

// Définition du dernier jour de février
// Année bissextile si annnée divisible par 4 et que ce n'est pas un siècle, ou bien si divisible par 400
if (a%4 == 0 && a%100 !=0 || a%400 == 0) fev = 29;
else { fev = 28;

// Nombre de jours pour chaque mois
nbJours = new Array(31,fev,31,30,31,30,31,31,30,31,30,31);

// Enfin, retourne vrai si le jour est bien entre 1 et le bon nombre de jours, idem pour les mois, sinon retourn faux
return ( m >= 1 && m <=12 && j >= 1 && j <= nbJours[m-1] );
}
return true;  
}







