// Code JavaScript

/* variables globales */
var affiche = false; 		// flag de detection de l'affichage
var flag_Contenu = false; 		// flag de detection de l'affichage des Contenu


/* CAFE NOIR Affiche les Contenus */
function Inint_AJAX() {
   try { return new ActiveXObject("Msxml2.XMLHTTP");  } catch(e) {} //IE
   try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {} //IE
   try { return new XMLHttpRequest();          } catch(e) {} //Native Javascript
   alert("XMLHttpRequest not supported");
   return null;
};

function afficherMasquer()
/* change la classe CSS des objets donn&eacute;s en param&egrave;tres. Syntaxe :
afficherMasquer('id_div1','afficher','id_div2','masquer','id_div3','masquer',...) */
{ 
   var args=afficherMasquer.arguments;
   var action, objet, css;
   
   // on parcours tous les arguments de la fonction
   for(var i=0; i<(args.length-1); i+=2)
   {
      if((objet=document.getElementById(args[i]))!=null)
      {
         action=args[i+1];
         switch(action)
         {
            /* la valeur de "css" est &agrave; remplacer avec les noms des classes
            utilis&eacute;es dans la feuille de style */
            case 'afficher':
            case '1':
               css='apparent';
               break;
               
            case 'afficherSOUS':
            case '1':
               css='apparentSOUS';
               break;


            case 'masquer':
            case '0':
            default:
               css='cache';
         }
         
         objet.className=css;
      }
   }
}


// Affichage FORMULAIRE
function afficherFORMULAIRE()
/* change CSS class of objects Syntax :
afficherFORMULAIRE('id_div1','afficher','id_div2','masquer','id_div3','masquer',...) */
{ 
   var args=afficherFORMULAIRE.arguments;
   var action, objet, css;
   
   // we browse all the args of the function
   for(var i=0; i<(args.length-1); i+=2)
   {
      if((objet=document.getElementById(args[i]))!=null)
      {
         action=args[i+1];
         switch(action)
         {
            /* "css" value must be replaced by class name
            used in the CSS sheet */
            case 'afficher':
            case '1':
               css='apparentFORM';
               break;
               
            case 'masquer':
            case '0':
            default:
               css='cache';
         }
         
         objet.className=css;
      }
   }
}
// Affichage FORM opaque
function afficherFORMopaque()
/* change CSS class of objects Syntax :
afficherFORMULAIRE('id_div1','afficher','id_div2','masquer','id_div3','masquer',...) */
{ 
   var args=afficherFORMopaque.arguments;
   var action, objet, css;
   
   // we browse all the args of the function
   for(var i=0; i<(args.length-1); i+=2)
   {
      if((objet=document.getElementById(args[i]))!=null)
      {
         action=args[i+1];
         switch(action)
         {
            /* "css" value must be replaced by class name
            used in the CSS sheet */
            case 'afficher':
            case '1':
               css='apparentOPAQ';
               break;
               
            case 'masquer':
            case '0':
            default:
               css='cache';
         }
         
         objet.className=css;
      }
   }
}



/* Efface le texte par defaut d'un input Recherche */
function cleanSITEgb(element) {
	if(element.value == "Search this site") element.value = "";
}

/* Efface le texte par defaut d'un input Recherche dans le site */
function cleanSITE(element) {
	if(element.value == "Rechercher dans le site") element.value = "";
}

/* Efface le texte par defaut d'un input Rechercher */
function cleanANUA(element) {
	if(element.value == "Rechercher") element.value = "";
}

/* Efface le texte par defaut d'un input NOTE */
function cleanNOTE(element) {
	if(element.value == "Vos commentaires ici ...") element.value = "";
}

function MM_validateForm() { //v4.0
  if (document.getElementById){
    var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
    for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=document.getElementById(args[i]);
      if (val) { nm=val.name; if ((val=val.value)!="") {
        if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
          if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
        } else if (test!='R') { num = parseFloat(val);
          if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
          if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
            min=test.substring(8,p); max=test.substring(p+1);
            if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
      } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
    } if (errors) alert('The following error(s) occurred:\n'+errors);
    document.MM_returnValue = (errors == '');
} }

function recup_extension(fichier) // fonction de récupération extension fichier
   {
         if (fichier!="")// si le champ fihier n'est pas vide
         {
            nom_fichier=fichier;// on récupere le chemin complet du fichier
            nbchar = nom_fichier.length;// on compte le nombre de caractere que compose ce chemin
            extension = nom_fichier.substring(nbchar-4,nbchar); // on récupere les 4 derniers caracteres
            extension=extension.toLowerCase(); //on uniforme les caracteres en minuscules au cas ou cela aurait été écris en majuscule...
            return extension; // on renvoi l'extension vers la fonction appelante
         }
   }

function verif_extension(fichier)// fonction vérification de l'extension aprés avoir choisi le fichier
   {
   ext = recup_extension(fichier);// on appelle la fonction de récupération de l'extension et on récupere l'extension
   
            if(ext==".jpg"||ext==".gif"||ext==".png"){}// si extension = a une des extension suivante alors tout est ok donc ... pas d'erreur
            else // sinon on alert l'user de la mauvaise extension
            {
               alert("L'extension du fichier que vous voulez uploader est :'"+extension+"'\n cette extension n'est pas autorisée !\n Seules les extensions suivantes sont autorisées :\n'JPG;PNG;GIF' !");
            }
   }

function verif_before_valid_form()// fonction de validation de formulaire
   {
      var msgerr="Veuillez vérifier les erreurs suivantes :\n";// préparation message d'erreur 
      var erreur = 0;// par defaut tout est ok
      
      if(document.transfert_file.ajout_fichier.value!="")// si le champ fihier n'est pas vide
      {
               ext = recup_extension(document.transfert_file.ajout_fichier.value);// on appelle la fonction de récupération de l'extension et on récupere l'extension
               
               if(ext==".jpg"||ext==".gif"||ext==".png"){} // si extension = a une des extension suivante alors tout est ok donc ... pas d'erreur
               else // sinon message d'erreur
               {
                  msgerr=msgerr+"- L'extension du fichier n'est pas valide, les extensions acceptées sont 'JPG;PNG;GIF' ! \n";// prépare message d'erreur
                  erreur = 1;// il y a une erreur donc on l'informe
               }
      }
   
   if(erreur==1)
      {
         alert(msgerr);
      }
   else
      {
         transfert_file.submit();
      }
}

/**
 * Displays an confirmation box before to submit a "DROP/DELETE/ALTER" query.
 * This function is called while clicking links
 *
 * @param   object   the link
 * @param   object   the sql query to submit
 *
 * @return  boolean  whether to run the query or not
 */
function confirmLink(theLink, theSqlQuery)
{
    // Confirmation is not required in the configuration file
    // or browser is Opera (crappy js implementation)
    if (confirmMsg == '' || typeof(window.opera) != 'undefined') {
        return true;
    }

    var is_confirmed = confirm(confirmMsg + ' :\n' + theSqlQuery);
    if (is_confirmed) {
    	if ( typeof(theLink.href) != 'undefined' ) {
            theLink.href += '&is_js_confirmed=1';
        } else if ( typeof(theLink.form) != 'undefined' ) {
            theLink.form.action += '?is_js_confirmed=1';
        }
    }

    return is_confirmed;
} // end of the 'confirmLink()' function
