/*********************************************
* Functions Javascript
*
* Ce fichier contient les differentes fonction JS utilisees
* sur le site de postformation.ch
*
* @author  Frederic Cornu
* @version 1.0 (septembre 2003).
********************************************/


/*
* Contractible Headers script- © Dynamic Drive (www.dynamicdrive.com)
* This notice must stay intact for use
*
* Script cachant des éléments possedant certains style CSS
* script modifié pour convenir aux besoins du site !
* Quelques fonctionalites ont ete rajoutees
*/


//Cache les éléments grâce au CSS
if (document.getElementById){
  document.write('<style type="text/css">')
  document.write('.switchcontent{display:none;}')
  document.write('</style>')
}

//Crée la collection d'éléments
function getElementbyClass(classname){
  ccollect=new Array()
  var inc=0
  var alltags=document.all? document.all : document.getElementsByTagName("*")
  for (i=0; i<alltags.length; i++){
    if (alltags[i].className==classname)
    ccollect[inc++]=alltags[i]
  }
}
//cache l'élément passé en parametre
function contractcontent(omit){
  var inc=1
  while (ccollect[inc]){
    if (ccollect[inc].id!=omit)
    ccollect[inc].style.display="none"
    treeView(inc)
    inc++
  }
}
//prend en parametre le nombre d'elements à etendre/contracter
function expendall(nb) {
  var inc=1
  while (inc <=nb ){
    if (typeof ccollect!="undefined"){
      document.getElementById(inc).style.display=(document.getElementById(inc).style.display!="block")? "block" : "none"
      selectedItem=inc+"|"+document.getElementById(inc).style.display
      treeView(inc)
      inc++
    }
  }
}

//prend le N° (ID) de l'element a afficherou a cacher
function expandcontent(cid){
  if (typeof ccollect!="undefined"){
    //contractcontent(cid)
    document.getElementById(cid).style.display=(document.getElementById(cid).style.display!="block")? "block" : "none"
    selectedItem=cid+"|"+document.getElementById(cid).style.display

  }
}

//Au chargement de la page, collecte tous les éléments à utiliser
function do_onload(){
  getElementbyClass("switchcontent")
  getElementbyClass("visible")
}


if (window.addEventListener)
window.addEventListener("load", do_onload, false)
else if (window.attachEvent)
window.attachEvent("onload", do_onload)
else if (document.getElementById)
window.onload=do_onload

//Affiche + ou - En fonction de l'etat (pour faire une arborescence)
//var d'entree l'ID de la class
//var de sortie aucune
function treeView(cid)
{
  if (document.getElementById('a'+cid).innerHTML =="-")
  {
    document.getElementById('a'+cid).innerHTML ="+"
  }
else
  {
    document.getElementById('a'+cid).innerHTML ="-"
  }
}

//efface la valeur d'un element
//var d'entree l'ID de la class
//var de sortie aucune
function info(cid)
{
  document.getElementById(cid).innerHTML =""

}

//fonction chargeant simplement l'url passé en parametre
function changeURL(url) {
  window.location.href = url;
}


//fonction pour montrer l'élément passer en parametre (l'adresse de facturation)
function expand(cid){
  if (typeof ccollect!="undefined"){
    document.getElementById(cid).style.display="block"
    return true;
  }
}
//fonction cachant l'élément passé en parametre (l'adresse de facturation)
function contract(cid){
  //if (typeof ccollect!="undefined"){
    document.getElementById(cid).style.display="none"
    return true;
 // }
}

/************
*
*Fin du script
*
************/

/**
* Vérifie les champs du formulaire de la page contact
* @param f le formulaire a verifier
* @return true/false
*/

function contact(f) {


  if ((f.EMAIL.value != "") || (f.EMAIL.value=="")){

    if (!(f.EMAIL.value.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)){
      alert("Veuillez entrer une adresse mail valide s'il-vous-plaît!")
      return false;
    }
  }

  if (f.MESSAGE.value=="") {
    alert("Veuillez entrer un message s'il-vous-plaît!")
    return false;
  }

  return true;

}
/**
* Fonction ouvrant une nouvelle fenetre, sans menu, et d'une largeur pre fixée.
* @param url, le lien de la fenetre
* @param name, le nom de la fenetre
* 
*/

function openWin(url,name) {

window.open(url,name,'HEIGHT=600, WIDTH=750,menubar=0,titlebar=0,toolbar=0,scrollbars,resizable')

}


/**
* Fonction controlant les différents champs du formulaire  d'inscription
* @param f le formulaire a verifier
* @return true/false
*/

function pasBien(f){
  ok=false;

  /*
  var i;
  for(i=0;i<f.elements["DateSession[]"].length;i++) {
  alert(f.elements["DateSession[i]"].value);
  if(f.elements.DateSession[i].checked==true) {
  ok=true;
  alert("tout va bien");//pour tester le script
  }
  }
  */
  //verfifie si le titre est selectionn

  var i;
  for(i=0;i<f.elements.TITRE.length;i++){
    if(f.elements.TITRE[i].checked){
      ok=true;
    }
  }
  if (ok==false) {
    alert("Veuillez saisir le titre s'il vous plaît!");
    return false;
  }

  if (f.NOM.value == ""){
    ok=false;
    alert("Veuillez saisir le nom s'il-vous-plaît!");
    return false;
  }

  if (f.PRENOM.value == ""){
    ok=false;
    alert("Veuillez saisir le prénom s'il-vous-plaît!")
    return false;
  }

  if (f.ADRESSEPRIVEE.value == ""){
    ok=false;
    alert("Veuillez saisir l'adresse s'il-vous-plaît!")
    return false;
  }

  if (f.NAPPRIVE.value == ""){
    ok=false;
    alert("Veuillez saisir le NPA s'il-vous-plaît!")
    return false;
  }

  if (f.VILLEPRIVE.value == ""){
    ok=false;
    alert("Veuillez saisir la ville s'il-vous-plaît!")
    return false;
  }
  //verification de la date de naissance
  if ((f.jj.value != "" ) && (f.mm.value != "") && (f.yyyy.value != "")){
    if ((isNaN(f.jj.value)) || (isNaN(f.mm.value)) || (isNaN(f.yyyy.value))) {
      if (f.jj.value < 1 || f.jj.value > 31) {
        ok=false;
        alert("Le jour de la date de naissance n'est pas correct!")
        return false;
      }
      if (f.mm.value < 1 || f.mm.value > 12){
        ok=false;
        alert("Le mois de la date de naissance n'est pas correct!")
        return false;
      }
      if ((f.mm.value==4 || f.mm.value==6 || f.mm.value==9 || f.mm.value==11) && f.jj.value==31) {
        ok=false;
        alert("La date de naissance n'est pas valide!")
        return false;
      }

      if (f.yyyy.value<1940 ) {
        ok=false;
        alert("L'année de naissance n'est pas valide!")
        return false;
      }
      if (f.mm.value == 2) { // controle si la date == 29 fevruer
        var isleap = (f.yyyy.value % 4 == 0 && (f.yyyy.value % 100 != 0 || f.yyyy.value % 400 == 0));
        if (f.jj.value>29 || (f.jj.value==29 && !isleap)) {
          ok=false;
          alert("La date de naissance n'est pas valide!")
          return false;
        }
      }
      ok=false;
      alert("La date de naissance n'est pas correcte")
      return false;
    }
  }
else {
  ok=false;
  alert("La date de naissance est obligatoire!")
  return false;
}

if ((f.EMAIL.value != "") || (f.EMAIL.value=="")){

  if (!(f.EMAIL.value.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)){
    ok=false;
    alert("Veuillez entrer une adresse mail valide s'il-vous-plaît!")
    return false;
  }
}

//Si facture entreprise


if (f.FACTURE.value=="entreprise") {
  if (f.ENTREPRISE.value=="") {
    ok=false;
    alert("Veuillez saisir le nom de l'entreprsie s'il-vous-plaît!")
    return false;
  }
  if (f.NAPPROF.value=="") {
    ok=false;
    alert("Veuillez saisir le NPA de l'entreprsie s'il-vous-plaît!")
    return false;
  }
  if (f.ADRESSEPROF.value=="") {
    ok=false;
    alert("Veuillez saisir l'adresse de l'entreprsie s'il-vous-plaît!")
    return false;
  }
  if (f.VILLEPROF.value=="") {
    ok=false;
    alert("Veuillez saisir la ville de l'entreprsie s'il-vous-plaît!")
    return false;
  }
}

if (f.FACTURE.selected=="autre") {
  if (f.NOMFACT.value=="") {
    ok=false;
    alert("Veuillez saisir le nom de l'adresse de facturation s'il-vous-plaît!")
    return false;
  }
  if (f.NPAFACT.value=="") {
    ok=false;
    alert("Veuillez saisir le NPA de l'adresse de facturation s'il-vous-plaît!")
    return false;
  }
  if (f.ADRESSEFACT.value=="") {
    ok=false;
    alert("Veuillez saisir l'adresse de l'adresse de facturation s'il-vous-plaît!")
    return false;
  }
  if (f.VILLEFACT.value=="") {
    ok=false;
    alert("Veuillez saisir la ville de l'adresse de facturation s'il-vous-plaît!")
    return false;
  }
}

if (ok)
{
  return true;

}
}
