/*Fonctions JavaScript du site Orbel
Christophe Grangé (PC-Conseil.Net) Septembre 2005*/

/* ici on détermine quel type de navigateur et quelle syntaxe
 utiliser pour contrôler les calques et les champs HTML */
var ie=true;

if ((document.all) && (document.getElementById))
{
  //MIE 5
  layerVis0 = "hidden";
  layerVis1 = "visible";
  layerRef = "document.getElementById";
  styleSwitch = ".style";
  syntaxe1 = "(";
  syntaxe2 = ")";
  lefttxt = 82 ;
  sentence=".top = document.body.scrollTop +";
}

if ((!document.all) && (document.getElementById))
{
  ie=false;
  //Netscape 6
  layerVis0 = "hidden";
  layerVis1 = "visible";
  layerRef = "document.getElementById";
  styleSwitch = ".style";
  syntaxe1 = "(";
  syntaxe2 = ")";
  lefttxt = 82 ;
  sentence=".top = window.pageYOffset +";
}

if ((document.all) && (!document.getElementById))
{
  //MIE 4
  layerVis0 = "hidden";
  layerVis1 = "visible";
  layerRef = "document.all";
  styleSwitch = ".style";
  syntaxe1 = "[";
  syntaxe2 = "]";
  lefttxt = 82 ;
  sentence=".posTop = document.body.scrollTop +";
}

if ((!document.all) && (!document.getElementById))
{
  ie=false;
  //Netscape 4
  layerVis0 = "hide";
  layerVis1 = "show";
  layerRef = "document.layers";
  styleSwitch = "";
  syntaxe1 = "[";
  syntaxe2 = "]";
  lefttxt = 82 ;
  sentence=".pageY = window.pageYOffset +";
}

function OuvrirPaiement(total)
{
  //Ouvre le paiement avant SPPLUS dans une fenêtre à part
  top.frame_page.location.href='accueil.php';
  OuvrePopup('commande.php?totttc='+total,'paiement',50,50,800,600,'yes','yes');
}

function TestRecherche()
{
  //Teste la recherche dans la page recherche
  eval('var mots='+layerRef+syntaxe1+'"mots"'+syntaxe2+'.value');
  if(mots=='')
  {
      alert('Vous devez saisir au moins un mot-clé !');
  } else {
      document.forms[0].submit();
  }
}

function TestRechercheRecette()
{
  //Teste le mot clé de la recherche de la page des recettes si tout est OK
  eval('var recherche='+layerRef+syntaxe1+'"recherche"'+syntaxe2+'.value');
  if (recherche=='')
  {
      alert('Vous devez spécifier un ou plusieurs mots-clés avant de lancer la recherche !');
  } else {
      OuvrePopup('recherche_recettes.php?recherche='+recherche,'recherche',50,50,800,480,'yes','yes');
  }
}

function SelCategorie()
{
  //Sélectionne la catégorie de la liste et rafraichit la page recettes de cuisine
  eval('var cpt='+layerRef+syntaxe1+'"categorie"'+syntaxe2+'.selectedIndex');
  eval('var valeur='+layerRef+syntaxe1+'"categorie"'+syntaxe2+'.options[cpt].value');
  eval('var txt='+layerRef+syntaxe1+'"categorie"'+syntaxe2+'.options[cpt].text');
  document.location.href='recettes.php?categorie='+valeur+'&libelle_categorie='+escape(txt);
}

function AjoutQte()
{
  //Ajout d'une qté par produit
  eval('var qte='+layerRef+syntaxe1+'"qte"'+syntaxe2+'.value');
  if(confirm('Etes-vous sur de vouloir ajouter '+qte+' pièces à votre panier ?')) {document.forms[0].submit();}
}

function FocusMotPasse()
{
  //Teste si le focus doit être donné au changement de mot de passe en cas de modif
  eval('var mp='+layerRef+syntaxe1+'"old_password"'+syntaxe2);
  if (mp) {mp.focus();}
}

function FocusChamp(nomchamp)
{
  //Donne le focus à un champ
  eval('var champ='+layerRef+syntaxe1+'nomchamp'+syntaxe2);
  champ.focus();
}

function DeconnexionClient()
{
  //Déconnecte le client du site (sur bouton déconnexion)
  if (top.frame_page.location.href.search('/clients.php')!=-1)
  {
     top.frame_page.location.href='accueil.php';
  }
}

function ClientConnecte()
{
  if (top.frame_page.location.href.search('/clients.php')!=-1)
  {
      top.frame_page.location.reload();
  }
}

function RechercheRapide()
{
  //Recherche rapide du menu à gauche
  eval('var recherche='+layerRef+syntaxe1+'"recherche"'+syntaxe2+'.value');
  if(recherche=='')
  {
      alert('Vous devez spécifier un mot ou plusieurs mots clés !');
  } else {
      top.frame_page.document.location.href='recherche.php?page=menu&mots='+recherche;
      eval(layerRef+syntaxe1+'"recherche"'+syntaxe2+'.value=""');
  }
}

function Espaces(chaine)
{
  //Remplace les espaces par des vides
  var retour="";
  for (i=0;i<=chaine.length;i++)
  {
    if (chaine.substr(i,1)!=' ') {retour=retour+chaine.substr(i,1);}
  }
  return retour;
}

function OuvrePopup(url,nomfenetre,x,y,largeur,hauteur,scroll,resize)
{
  //Ouvre un popup formaté
  /*nomfenetre    -> Nom de la fenêtre
    url           -> URL
    x             -> Position X de la fenêtre
    y             -> Position Y
    hauteur       -> Hauteur en pixels
    largeur       -> Largeur
    scroll        -> Flag si la fenêtre est affichée avec les scrollbars
    resize        -> Flag si la fenêtre est resizable
  */
  if(window.fenetre)
  {
    fenetre.close();
  }
  fenetre=window.open(url,nomfenetre,'height='+hauteur+',width='+largeur+',scrollbars='+scroll+',resizable='+resize);
  fenetre.moveTo(x,y);
  fenetre.focus();
}

function TesteNavigateur()
{
  //Teste le navigateur et retourne IE ou NS
  if (document.layers)
  {
    return "NS";
  } else {
    return "IE";
  }
}

//Formate un chiffre avec 2 décimales (pour l'affichage)
function Decimales(chiffre)
{
  var decimale="";
  //Arrondi les chiffres à 2 décimales
  if (chiffre!='')
  {
    //Convertit le chiffre en string
    var chiffre=chiffre.toString();
    //Recherche le car .
    var pos=chiffre.search(/\./);
    if (pos!=-1)
    {
      //Si trouvé alors extrait la partie entière et la partie décimale
      var entier=chiffre.slice(0,pos);
      var decimale=chiffre.slice(pos+1,chiffre.length);
      //Si pas de décimale met à 0
      if (decimale.length!=0)
      {
        if (decimale.length==1)
        {
          decimale=decimale+"0";
        } else {
          decimale=decimale.substr(0,2);
        }
      }
    } else {
      //Si pas de décimale retourne le chiffre
      var entier=chiffre;
    }
    if (decimale=="") {var retour=entier;} else {var retour=entier+"."+decimale;}
    return retour;
  } else {
    return "0";
  }
}

function CreerURL(adresse)
{
  //Crée l'URL de retour pour le serveur SPPLUS
  eval(layerRef+syntaxe1+'"url"'+syntaxe2+'.value=adresse');
}

function ValiderCde()
{
  //Valide la cde
  eval(layerRef+syntaxe1+'"validation"'+syntaxe2+'.value="FIN"');
  document.forms[0].submit();
}

function QtePanier(qte,i)
{
  //Permet de modifier la qté dans le panier (après validation)
  eval('var cpt='+layerRef+syntaxe1+'qte'+syntaxe2+'.selectedIndex');
  eval('var valeur='+layerRef+syntaxe1+'qte'+syntaxe2+'.options[cpt].value');
  if (confirm('Etes-vous sur de vouloir modfier la qté en '+valeur+' pièces ?'))
  {
      document.location.href='panier.php?mode=modif&indice='+i+'&qte='+valeur;
  } else {
      eval('var old='+layerRef+syntaxe1+'"old_'+qte+'"'+syntaxe2+'.value');
      eval(layerRef+syntaxe1+'qte'+syntaxe2+'.value=old');
  }
}

function RetourneVille(codepostal,ville)
{
  //Retourne le cp et la ville de l'écran des villes pour le retour dans le formulaire d'origine
  eval('window.opener.'+layerRef+syntaxe1+'"cp"'+syntaxe2+'.value=codepostal');
  eval('window.opener.'+layerRef+syntaxe1+'"ville"'+syntaxe2+'.value=ville');
  self.close();
}

function Connexion()
{
  //Vérifie si les paramètres sont correctements saisis
  //User et password saisis
  eval('var user='+layerRef+syntaxe1+'"user"'+syntaxe2+'.value');
  eval('var password='+layerRef+syntaxe1+'"password"'+syntaxe2+'.value');
  if (user==''||password=='')
  {
    alert('Compte client et mot de passe obligatoire !');
    //User contient le caractère @ et . (mail)
  } else if (user.search('@')!=-1&&user.search(/\./)!=-1) {
    document.forms[0].submit();
  } else {
    alert ('Le compte client est invalide, ce doit être une adresse email !');
  }
}

function ChercherVille()
{
  //Récupère le CP (numéro du formulaire passé en paramètre)
  eval('var sel='+layerRef+syntaxe1+'"cp"'+syntaxe2+'.value');
  var flag=true;

  //Si le CP est vide alors oblige à saisir au moins le département pour la recherche, sinon trop long
  //Teste aussi si le CP est un nombre
  if (sel.length>=2)
  {
    if (isNaN(sel)) {flag=false;}
  } else {
    flag=false;
  }
  //Passe le CP et le nom du formulaire pour le retour
  if (flag)
  {
    OuvrePopup('chercher_ville.php?cp='+sel,'chercherville',100,100,400,600,'yes','yes');
  } else {
    alert('Le code postal doit être un nombre, et contenir au moins le département pour lancer la recherche !');
  }
}

function SeptCentCar()
{
  //Vérifie qu'il reste des caractères pour la saisie du TextArea (seulement 500 cars)
  eval('var message='+layerRef+syntaxe1+'"message"'+syntaxe2+'.value');
  var nbre=500-(message.length);
  eval(layerRef+syntaxe1+'"caracteres"'+syntaxe2+'.value=nbre');
  //Si on dépasse les 500 enlève les caractères en trop
  if (nbre<=0)
  {
    eval('var message='+layerRef+syntaxe1+'"message"'+syntaxe2+'.value');
    eval(layerRef+syntaxe1+'"message"'+syntaxe2+'.value=message.susbtr(0,499)');
    eval(layerRef+syntaxe1+'"caractere"'+syntaxe2+'.value=0');
  }
}

function ValiderCoordonnees(formulaire)
{
  //Vérifie si tous les champs obligatoires ont été saisis et si les valeurs sont correctes
  //Formulaire est le nom du form de la page appelante (contact ou clients)
  //Les tests dépendent du formulaire
  var flag=true;
  //Crée les variables JS par rapport aux formulaires
  eval('var nom='+layerRef+syntaxe1+'"nom"'+syntaxe2+'.value');
  eval('var prenom='+layerRef+syntaxe1+'"prenom"'+syntaxe2+'.value');
  eval('var adresse1='+layerRef+syntaxe1+'"adresse1"'+syntaxe2+'.value');
  eval('var cp='+layerRef+syntaxe1+'"cp"'+syntaxe2+'.value');
  eval('var ville='+layerRef+syntaxe1+'"ville"'+syntaxe2+'.value');
  if (formulaire=='contact') {eval('var message='+layerRef+syntaxe1+'"message"'+syntaxe2+'.value');;}
  eval('var email='+layerRef+syntaxe1+'"email"'+syntaxe2+'.value');
  eval('var tel='+layerRef+syntaxe1+'"tel"'+syntaxe2+'.value');
  if (formulaire=='clients')
  {
    eval('var coche='+layerRef+syntaxe1+'"accepter"'+syntaxe2+'.checked');
    eval('var mot_passe='+layerRef+syntaxe1+'"mot_passe"'+syntaxe2+'.value');
  }

  if (nom==''||prenom==''||adresse1==''||cp==''||ville=='')
  {
    alert('Les zones marquées d\'une * sont obligatoires !');
    flag=false;
  //Teste si mot de passe validé
  } else if (formulaire=='clients'&&mot_passe=='') {
    alert('Vous devez saisir un mot de passe !');
    flag=false;
  //Teste spécifique coche case dans compte client
  } else if (formulaire=='clients'&&!coche) {
    alert('Vous devez accepter les conditions générales de vente avant de valider !');
    flag=false;
  //Teste spécifique contact
  } else if (formulaire=='contact'&&message=='') {
    alert('Les zones marquées d\'une * sont obligatoires !');
    flag=false;
  //Cherche si zone numérique OK
  } else if (isNaN(cp)) {
    alert('Le code postal doit être un nombre !');
    flag=false;
  //Cherche si email valide
  } else if (email.indexOf('@')==-1||email.indexOf('.')==-1) {
    alert('L\'adresse email doit comporter un @ et un .');
    flag=false;
  }

  //Si Flag OK alors soumet le formulaire
  if (flag)
  {
    document.forms[0].submit();
  }
}

function ModifCde()
{
  //Valide la modification de la commande
  eval('var message='+layerRef+syntaxe1+'"message"'+syntaxe2+'.value');
  if (message=='')
  {
     alert('Vous devez saisir un message !');
  } else {
     document.forms[0].submit();
  }
}

function ValiderMotPasse(passe)
{
  //Valide soit un nouveau mot de passe (nouveau client) soit une modification de mot de passe existant
  var flag=true;
  eval('var newpassword='+layerRef+syntaxe1+'"new_password"'+syntaxe2+'.value');
  eval('var confirmpassword='+layerRef+syntaxe1+'"confirm_password"'+syntaxe2+'.value');
  //Si mot de passe vide alors nouveau compte, donc ne compare que le nouveau mot de passe et la resaisie
  if (passe!="")
  {
    eval('var oldpassword='+layerRef+syntaxe1+'"old_password"'+syntaxe2+'.value');
    //Compare mot de passe actuel et mot de passe saisie
    if (passe!=oldpassword)
    {
      alert('Le mot de passe actuel n\'est pas correct !');
      flag=false;
      eval(layerRef+syntaxe1+'"old_password"'+syntaxe2+'.value=""');
    }
  }
  //Si flag=false alors ne teste pas la suite, sinon teste la confirmation
  if (flag)
  {
    if (newpassword!=confirmpassword||newpassword=='')
    {
      alert('La confirmation du mot de passe doit correspondre au nouveau mot de passe, et ne peut pas être vide !');
      eval(layerRef+syntaxe1+'"new_password"'+syntaxe2+'.value=""');
      eval(layerRef+syntaxe1+'"confirm_password"'+syntaxe2+'.value=""');
      flag=false;
    }
  }
  //Si flag = true alors valide le formulaire
  if (flag)
  {
    document.forms[0].submit();
  }
}

function popupcentre()
{
  var top=(screen.Height-600)/2;
  var left=(screen.Width-800)/2;
  self.resizeTo(800,600);
  self.moveTo(top,left);
}

function Ouvrir_Spplus(url)
{
  //Ouvre la fenêtre Vide SPPLUS pour afficher l'URL sécurisée (nom fenêtre SPPLUS EN DUR dans FONCTION !)
  // Largeur et hauteur préconisées de la fenêtre SPPLUS
  var PopupSpplus_largeur = 750;
  var PopupSpplus_hauteur = 560;

  // Position haut et gauche de la fenêtre SPPLUS pour affichage centré dans l'écran
  var PopupSpplus_top =((screen.height-PopupSpplus_hauteur)/2);
  var PopupSpplus_left  =((screen.width-PopupSpplus_largeur)/2);

  // Ouverture du popup SPLUS avec barre état uniquement et focus sur la fenêtre
  var win = window.open(url, "SPPLUS","status=yes,top="+PopupSpplus_top+",left="+PopupSpplus_left+",width="+PopupSpplus_largeur+",height="+PopupSpplus_hauteur);
  win.focus();
}

function ValiderPaiement()
{
  eval('var paiement0='+layerRef+syntaxe1+'"paiement0"'+syntaxe2);
  eval('var paiement1='+layerRef+syntaxe1+'"paiement1"'+syntaxe2);
  eval('var paiement2='+layerRef+syntaxe1+'"paiement2"'+syntaxe2);
  eval('var paiement3='+layerRef+syntaxe1+'"paiement3"'+syntaxe2);
  eval('var paiement4='+layerRef+syntaxe1+'"paiement4"'+syntaxe2);
  eval('var url='+layerRef+syntaxe1+'"url"'+syntaxe2+'.value');

  //Valide et envoie vers la bonne page en fonction de Input URL du form
  if (!paiement0.checked&&!paiement1.checked&&!paiement2.checked&&!paiement3.checked&&!paiement4.checked)
  {
    alert('Vous devez sélectionner un mode de paiement !');
  } else {
    //Si mode chèque-mandat sélectionné alors page retour commande directement sinon SPPLUS
    if (paiement0.checked)
    {
      document.location.href=url;
    } else {
      Ouvrir_Spplus(url);
    }
  }
}


