// functions.js - Fonctions javascript


// --------------------------------------------
// -------------- AGENDA PERMIS ---------------
// --     Sites & Print - Novembre 2006      --
// --        contact@sitesetprint.fr         --
// --------------------------------------------



// Cache - affiche un element
function toggle( id )
{
    document.getElementById(id).style.display = (document.getElementById(id).style.display=='none')?'block':'none';

}


// ----------------------------------------------------------------
// Neutralise la barre d'état
// function hideStatusBar() {
//     window.status='Bienvenue sur le site de AGENDAPERMIS.FR';
//     window.setTimeout(hideStatusBar,10);
// }
// hideStatusBar();


// ----------------------------------------------------------------
// AutoSelect
function chgMenu(targ,selObj,restore){
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  // EG DEBUG
  //alert(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  //
  if (restore) selObj.selectedIndex=0;
}


// ----------------------------------------------------------------
// Rediriger vers une page
function del_session(location){
         window.location=location;
}


// ----------------------------------------------------------------
// Vérifie si une saisie est numerique (espace autorisé)
function valid_numeric(field) {
 var valid = "0123456789 "
 var ok = "yes";
 var temp;
 for (var i=0; i<field.value.length; i++) {
   temp = "" + field.value.substring(i, i+1);
   if (valid.indexOf(temp) == "-1") ok = "no";
 }
 if (ok == "no") {
   alert("Numéro invalide ! ");
   field.focus();
   field.select();
 }
}
// Vérifie si une saisie est numerique et en minuscule(espace non-autorisé) -------
function valid_saisie(field) {
 var valid = "0123456789abcdefghijklmnopqrstuvwxyz"
 var ok = "yes";
 var temp;
 for (var i=0; i<field.value.length; i++) {
   temp = "" + field.value.substring(i, i+1);
   if (valid.indexOf(temp) == "-1") ok = "no";
 }
 if (ok == "no") {
   alert("Saisie invalide, vous ne pouvez saisir que des chiffres ou des lettres minuscules sans espace.\r Modifier votre saisie! ");
   field.focus();
   field.select();
 }
}




// ----------------------------------------------------------------
function checkemailogin(){
  var str=document.formLogin.login.value
  var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
  if(str!=""){
          if (filter.test(str)) return true;
          else return false;
  } else {
          return true;
  }
}


// ----------------------------------------------------------------
function verifAuth(){


  var login = document.formLogin.login.value;
  var pass  = document.formLogin.pass.value;


    if (login=="") {
      alert("Vous n'avez pas saisi votre email !");
    } else if(!checkemailogin()) {
      alert("L'adresse email est incorrecte !");
      return false;
    } else if (pass=="") {
      alert("Vous n'avez pas saisi votre mot de passe !");
    } else {
      return true;
    }
    return false;
}


// ----------------------------------------------------------------
function checkemailcontact(){
  var str=document.formContact.email.value
  var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
  if(str!=""){
          if (filter.test(str)) return true;
          else return false;
  } else {
          return true;
  }
}


// ----------------------------------------------------------------
function validContact(){


  var nom     = document.formContact.nom.value;
  var email   = document.formContact.email.value;
  var message = document.formContact.message.value;


  if (nom=="") {
      alert("Vous n'avez pas saisi votre nom !");
    } else if (email=="") {
      alert("Vous n'avez pas saisi votre email !");
    } else if(!checkemailcontact()) {
      alert("L'adresse email est incorrecte !");
      return false;
    } else if (message=="") {
      alert("Vous n'avez pas saisi de message !");
    } else {
      return true;
    }
    return false;
}


// ----------------------------------------------------------------
function validAcces() {


  var login = document.formPw.login.value;
  var pw    = document.formPw.pw.value;


  if (login=="") {
      alert("Vous n'avez pas saisi votre login !");
    } else if (pw=="") {
      alert("Vous n'avez pas saisi votre mot de passe !");
    } else {
      return true;
    }
    return false;
  }


// ----------------------------------------------------------------
function validMembre() {


  var login = document.frm.login.value;
  var pw    = document.frm.pw.value;


  if (login=="") {
      alert("Vous n'avez pas saisi votre login !");

    } else if (pw=="") {
      alert("Vous n'avez pas saisi votre mot de passe !");
    } else {
      return true;
    }
    return false;
  }

// ----------------------------------------------------------------
// retourne la date d'aujourd'hui
function getTodayDate() {
  var d = new Date();
  var date = d.getFullYear()+"-"+d.getMonth()+"-"+d.getDate();
  return date;
}


// ----------------------------------------------------------------
function validRadar() {
  	var date_pv   = document.formRadar._d_datepv.value;
  	var date_avis = document.formRadar._d_dateavis.value;
	var date_auj  = getTodayDate();

	var vitesse1 = document.formRadar._i_vitesse1.value;
	var vitesse2 = document.formRadar._i_vitesse2.value;
	var vitesse3 = document.formRadar._i_vitesse3.value;

  if (date_pv=="") {
    alert("Vous n'avez pas saisi la date de l'infraction !");
  } else if (date_pv > date_auj) {
	alert("l'infraction ne peut pas avoir lieu dans le futur !");
  } else if (date_avis == "") {
    alert("Vous n'avez pas saisi la date de l'avis de la contravention !");
  } else if (date_avis > date_auj) {
	alert("La date de l'avis de la contravention ne peut pas avoir lieu dans le futur !");
  } else if (date_pv!="" && date_avis < date_pv) {
    alert("La date de l'avis de la contravention ne peut pas précédé la date de l'infraction !");
  } else if (vitesse1 == "" || vitesse2 == "" || vitesse3 == "" ) {
	alert(" Les trois champs vitesse doivent être remplis !		");
  } else {

    return true;
  }
  return false;
}
// ----------------------------------------------------------------

function validInfraction() {

  var date_inf      = document.formInfraction.infraction_date.value;
  var date_recept   = document.formInfraction.infraction_reception.value;
  var date_auj = getTodayDate();

  if (date_inf=="") {
    alert("Vous n'avez pas saisi la date de l'infraction  !");
  } else if (date_inf > date_auj) {
	alert("l'infraction ne peut pas avoir lieu dans le futur !");
  } else if (date_recept == "") {
    alert("Vous n'avez pas saisi la date de reception de la contravention !");
  } else if (date_recept > date_auj) {
	alert("la reception de la contravention ne peut pas avoir lieu dans le futur !");
  } else if (date_inf!="" && date_recept < date_inf) {
      alert("La contravention ne peut pas être reçu avant l'infraction !");
  } else if (date_paiement!="" && date_paiement<date_inf) {
      alert("Date de paiement incorrecte !");
  } else if (date_paiement!="" && date_jugement!="" && date_paiement<date_jugement) {
      alert("Date de paiement ou de jugement incorrecte !");
  } else {
      return true;
  }
    return false;
  }

// ----------------------------------------------------------------
function validJugement() {

  var date_recept = date_reception;
  var date_jugement   = document.formJugement.date_jugement.value;
  var date_auj = getTodayDate();
  if (date_recept == "") {
  	alert("Vous n'avez pas saisi la date de reception de la contravention !")
  } else if(date_jugement < date_recept) {
	alert("la date de jugement ne peut être inférieur à la date d'infraction !");
  } else if (date_jugement > date_auj) {
  	alert ("la date de jugement ne peut pas être dans le futur !");
  } else {
    return true;
  }
  return false;

}
// ---------------------------------------------------------------
// fonction qui valide la date de paiement de l'infraction
function validPaiement() {

  var date_recept = date_reception;
  var date_jugment = date_jugment;
  var date_auj = getTodayDate();
  var date_paiement = document.formPaiement.date_paiement.value;

  if (date_recept == "") {
  	alert("Vous n'avez pas saisi la date de reception de la contravention !")
  } else if (date_jugment != "0000-00-00" && date_paiement < date_jugment ) {
	alert("Le paiement ne peut pas avoir lieu avant le jugement");
  } else {
    return true;
  }
  return false;
}

// ----------------------------------------------------------------
function validStage() {


  var date_stage = document.formStage.date_stage.value;
  var stage_lbl  = document.formStage.stage_lbl.value;


  if (date_stage=="") {
      alert("Vous n'avez pas saisi la date du stage !");
    } else if (stage_lbl==0) {
      alert("Vous n'avez pas saisi le libellé du stage !");
    } else {
      return true;
    }
    return false;
  }


// ----------------------------------------------------------------
function validRecup() {


  var date_recup = document.formRecup.date_recup.value;
  var type_recup = document.formRecup.type_recup.value;
//   var ref_infrac = document.formRecup.ref_infrac.value;
  var nbr_point  = document.formRecup.nbr_point.value;


  if (date_recup=="") {
      alert("Vous n'avez pas saisi la date de la récupération !");
    } else if (type_recup==0) {
      alert("Vous n'avez pas saisi le type de la récupération !");
//     } else if (type_recup==2 && ref_infrac==0) {
//       alert("Vous n'avez pas saisi l'infraction concernée !");
    } else if (nbr_point=="" || nbr_point==0) {
      alert("Vous n'avez pas saisi le nombre de points récupérés !");
    } else if (nbr_point>12) {
      alert("Le nombre de points récupérés  n'est pas valide !");
    } else {

      return true;
    }
    return false;
  }


// ----------------------------------------------------------------
function validPref() {

  var date_pref = document.formPref.date_pref.value;
  var type_pref = document.formPref.type_pref.value;

  var nbr_point = document.formPref.nbr_point.value;


  if (date_pref=="") {
      alert("Vous n'avez pas saisi la date de la constatation !");
    } else if (type_pref==0) {
      alert("Vous n'avez pas saisi le type de la constatation !");
    } else if (nbr_point=="" ) {
      alert("Vous n'avez pas saisi le solde en préfecture !");
    } else if (nbr_point>12) {
      alert("Ce solde en préfecture n'est pas valide !");
    } else {
      return true;
    }
    return false;
  }


// ----------------------------------------------------------------
function checkemailInsc(){
  var str=document.formInscription.email.value
  var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
  if(str!=""){
          if (filter.test(str)) return true;
          else return false;
  } else {
          return true;
  }
}

/*
function validInscription() {

  var nom          = document.formInscription.nom.value;
  var prenom       = document.formInscription.prenom.value;
  var jour_dob     = document.formInscription.jour_dob.value;
  var mois_dob     = document.formInscription.mois_dob.value;
  var annee_dob    = document.formInscription.annee_dob.value;
  var lieu         = document.formInscription.lieu.value;
  var adresse      = document.formInscription.adresse.value;
  var cp           = document.formInscription.cp.value;
  var ville        = document.formInscription.ville.value;
  var tel          = document.formInscription.tel.value;
  var email        = document.formInscription.email.value;
  var permis_num   = document.formInscription.permis_num.value;
  var permis_lieu  = document.formInscription.permis_lieu.value;
  var jour_permis  = document.formInscription.jour_permis.value;
  var mois_permis  = document.formInscription.mois_permis.value;
  var annee_permis = document.formInscription.annee_permis.value;
  var cat_permis   = document.formInscription.cat_permis.value;



  if (nom=="") {
      alert("Il faut renseigner le nom !");
    } else if (prenom=="") {
      alert("Il faut renseigner le prénom !");
    } else if (jour_dob==0 || mois_dob==0 || annee_dob==0) {
      alert("Date de naissance manquante ou incomplète !");
    } else if (lieu=="") {
      alert("Il faut renseigner le lieu de naissance !");
    } else if (adresse=="") {
      alert("Il faut renseigner l'adresse !");
    } else if (cp=="") {
      alert("Il faut renseigner le code postal !");
    } else if (ville=="") {
      alert("Il faut renseigner la ville !");
    } else if (tel=="") {
      alert("Il faut renseigner le téléphone !");
    } else if (email=="") {
      alert("Il faut renseigner l'email !");
    } else if(!checkemailInsc()) {
      alert("L'adresse email est incorrecte.");
      return false;
    } else if (permis_num=="") {
      alert("Il faut renseigner le numéro de votre permis de conduire !");
    } else if (permis_lieu=="") {
      alert("Il faut renseigner le lieu de délivrance de votre permis de conduire !");
    } else if (jour_permis==0 || mois_permis==0 || annee_permis==0) {
      alert("Date de délivrance  de votre permis de conduire manquante ou incomplète !");
    } else if (cat_permis==0) {
      alert("Il faut renseigner la catégorie de votre permis de conduire !");
    } else {
      return true;
    }
    return false;
  }
*/

// Déconnexion Membre ----------------------------------------------------------------
function delog_mem(){
	if(confirm('Voulez-vous vous déconnecter de votre espace abonné ?')){
		window.location='index.php?headingid='+headingid+'&op=log_out';
	}
}

// Supprimer une infraction ----------------------------------------------------------------
function supp_infraction(id) {
	if(confirm('Voulez-vous supprimer cette infraction ?')){
		window.location='index.php?op=traitement&headingid='+headingid+'&form=supp&type=inf&inf_supp='+id;
	}
}


// Supprimer une stage ----------------------------------------------------------------
function supp_stage(id){
	if(confirm('Voulez-vous supprimer ce stage ?')){
		//alert('traitements.php?form=supp&type=stage&inf_supp='+id');
		window.location='./modules/AgendaPermis/traitements.php?form=supp&type=stage&inf_supp='+id;
	}
}


// Supprimer une récupération de points ----------------------------------------------------------------
function supp_recup(id){
	if(confirm('Voulez-vous supprimer cette récupération de points ?')){
		//alert('traitements.php?form=supp&type=recup&inf_supp='+id');
		window.location='traitements.php?form=supp&type=recup&inf_supp='+id;
	}
}

// Supprimer une constatation en préfecture ------------------------------------------------------------
function supp_pref(id){
	if(confirm('Voulez-vous supprimer cette constatation de points en préfecture ?')){
		//alert('traitements.php?form=supp&type=pref&inf_supp='+id');
		window.location='traitements.php?form=supp&type=pref&inf_supp='+id;
	}
}


// Redirections
function redirect_top(the_link){
 	top.location.href=the_link;
}


// function redirect_blank(the_link){
//  	top.location.href=the_link;
// }




// ----------------------------------------------------------------
function validPw() {


  var login   = document.formPw.login.value;
  var old_pw  = document.formPw.old_pw.value;
  var new_pw1 = document.formPw.new_pw1.value;
  var new_pw2 = document.formPw.new_pw2.value;


  if (login=="") {
      alert("Vous n'avez pas saisi votre login !");
    } else if (old_pw=="") {
      alert("Vous n'avez pas saisi votre mot de passe !");
    } else if (new_pw1=="") {
      alert("Vous n'avez pas saisi votre nouveau mot de passe !");
    } else if (new_pw2=="") {
      alert("Vous n'avez pas cofirmé votre nouveau mot de passe !");
    } else if (new_pw1!=new_pw2) {
      alert("Erreur lors de la saisie de votre nouveau mot de passe !");
    } else {
      return true;
    }
    return false;
  }


// ----------------------------------------------------------------
function RunFlash(file,w,h){


    document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="'+w+'" height="'+h+'">\n');
    document.write('<param name="movie" value="'+file+'" />\n');
    document.write('<param name="quality" value="high" />\n');
    document.write('<embed src="'+file+'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="'+w+'" height="'+h+'"></embed>\n');
    document.write('</object>\n');
}


// Ajouter aux favoris -------------------------------------------------------------------------
nav = navigator.appName.substring(0,3);
ver = navigator.appVersion.substring(0,1)
function addFav(){


	if (nav == "Mic" && ver >= 4){
		url_site="http://www.agendapermis.fr/";
		titre_site = "Site - AGENDA PERMIS - Maintenir son capital points";
		document.write('<a href="#" onClick="window.external.AddFavorite(url_site, titre_site);return(false);" class=btnbas7>Ajouter à vos favoris</a>')
        } else {
		document.write('Tapez CTRL+D pour ajouter cette page à vos favoris!')
	}
}


// ----------------------------------------------------------------


function ieTrick(sep)
{
	d = new Date();
	trick = d.getYear() + "ie" + d.getMonth() + "t" + d.getDate() + "r" + d.getHours() + "i"
		+ d.getMinutes() + "c" + d.getSeconds() + "k" + d.getMilliseconds();


	if (sep != "?")
	{
		sep = "&";
	}


	return sep + "ietrick=" + trick;
}




function getSearchResults()
{

	var elem = document.getElementById("searchResults");
	var keywords = document.getElementById("keywords").value;

	if( keywords.length > 2 ){

	elem.innerHTML = '<p style="text-align:center;">Chargement en cours</p>';

	dims_xmlhttprequest_todiv("index.php","dims_action=public&workspaceid="+ workspace_id + "&dims_moduleid=" + module_id + "&headingid=" + headingid + "&op=AjaxSearch&keywords=" + keywords + "&" + ieTrick(), '', "searchResults");

	} else {
	    elem.innerHTML = "Le motif de recherche doit faire au moins 3 caractères";
	}
}


var myElem;
var myAlpha = 0;

function setAlpha( elem, value )
{
     if( document.all ) {
        value *= 100;
        elem.style.filter = "alpha(opacity="+ value +")";
     } else {
        elem.style.MozOpacity = value;
     }
}

function fade( id, mode )
{

    myElem = document.getElementById(id);
    if( mode == "in" ) {
        myAlpha = 0;
        setAlpha(myElem,0 );
        myElem.style.visibility = 'visible';
        _fadeIn();
    } else {
        myAlpha = 1;
        setAlpha(myElem,1 );
        myElem.style.visibility = 'visible';
        _fadeOut();
    }
}

function _fadeIn()
{
    if( myAlpha < 1 ) {
        myAlpha += 0.1;
        setAlpha( myElem, myAlpha );
        setTimeout( _fadeIn , 50 );
    } else {
        myAlpha = 0;
    }
}

function _fadeOut()
{
    if( myAlpha > 0 ) {
        myAlpha -= 0.1;
        setAlpha( myElem, myAlpha );
        setTimeout( _fadeOut , 50 );
    } else {
        myAlpha = 0;
        myElem.style.visibility = 'hidden';
    }
}



