// ***** FONCTIONS SPECIFIQUES ***************************************************************************************************

function fctRunFichierFlash()
{             
   document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="167" height="100">\n');
   document.write('<param name="movie" value="fileadmin/nimmedias/interface/anim_logo_ni.swf" />\n');
   document.write('<param name="quality" value="high" />\n');
   document.write('<embed src="fileadmin/nimmedias/interface/anim_logo_ni.swf" quality="high" type="application/x-shockwave-flash" width="167" height="100"></embed>\n');
   document.write('</object>\n');
}


function fctRunFichierFlashCom()
{             
   document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="167" height="100">\n');
   document.write('<param name="movie" value="fileadmin/nimmedias/interface/anim_logo_nicom.swf" />\n');
   document.write('<param name="quality" value="high" />\n');
   document.write('<embed src="fileadmin/nimmedias/interface/anim_logo_nicom.swf" quality="high" type="application/x-shockwave-flash" width="167" height="100"></embed>\n');
   document.write('</object>\n');
}


function fctRunFichierFlashBandeauHeader(fichierswf)
{             
	tab_param=fichierswf.split(',');
	nb_fichier = tab_param.length;

	if (nb_fichier > 1){
		num_sort = Math.floor(Math.random()*(nb_fichier));
		fichierswf_choisi = tab_param[num_sort];
	}else{
		fichierswf_choisi = tab_param[0];
	}
  /* document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="728" height="87">\n');
   document.write('<param name="movie" value="fileadmin/nimmedias/interface/'+fichierswf_choisi+'" />\n');
   document.write('<param name="quality" value="high" />\n');
   document.write('<embed src="fileadmin/nimmedias/interface/'+fichierswf_choisi+'" quality="high" type="application/x-shockwave-flash" width="728" height="87"></embed>\n');
   document.write('</object>\n');*/
   
   
   document.write('<object width="728" height="87">');
   document.write('<param name="quality" value="high" />');
   document.write('<param name="movie" value="fileadmin/nimmedias/interface/'+fichierswf_choisi+'" />');
   document.write('<embed src="fileadmin/nimmedias/interface/'+fichierswf_choisi+'" type="application/x-shockwave-flash" width="728" height="87">');
   document.write('</embed>');
   document.write('</object>');
   
   
   
}



// NEW JUDITH : formulaire auteur sur .com

// verif champs obligatoires formulaire auteur
// ------------------------------------------------------------------------------------------------------------------------------
function fct_verif_formauteur (vform, vlangue) {
	var saisieok = false;
	msg = "Veuillez saisir les champs obligatoires.";
	vForm = document.forms[vform];
	if (verifChampTxt(vForm, "vnom")) { 
		if (verifChampTxt(vForm, "vprenom")) { 
			if (verifListeCasesAcocher (vForm, "nationalite", "vautresnationalites")) {
				if (!verifDate(vForm, "vdatenaissance")) {
					msg = "Votre date de naissance n'est pas au bon format.";
				} else {
					if (verifListeCasesAcocher (vForm, "profil", "vautreprofil")) {
						if (verifListeCasesAcocher (vForm, "theme", "vautresthemes")) {
							if (verifChampTxt(vForm, "vformation")) { 
								if (verifListeCasesAcocher (vForm, "courant", "vautrescourants")) {
									if (verifChampTxt(vForm, "voeuvres")) {
										if (verifChampTxt(vForm, "vrelationni")) {
											if (verifChampTxt(vForm, "vexpositions")) {
												if (verifChampTxt(vForm, "vsitesweb")) {
													saisieok = true;
												}
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}
	}
	if (!saisieok) {
		alert (msg);
//		if (vlangue == "fr")  alert ("Veuillez saisir les champs obligatoires.");
//		else  alert ("[en] Veuillez saisir les champs obligatoires.");
	}
	return saisieok;
}


// renvoie vrai si au moins une case cochee ou si quelque chose de saisi dans le champ autre
// ------------------------------------------------------------------------------------------------------------------------------
function verifListeCasesAcocher (vForm, vRef, vRefautre) {
	var saisieok = false;
	saisiecase = verifUneCaseCochee (vForm, vRef);
	if (saisiecase) {
		saisieok = true;
	} else {
		if (verifChampTxt(vForm, vRefautre)) { saisieok = true; }
		else { saisieok = false; }
	}
	return saisieok;
}


// renvoie vrai si au moins une case cochee
// ------------------------------------------------------------------------------------------------------------------------------
function verifUneCaseCochee (vForm, vRef) {
	var trouve = false;
	champ = "nb"+vRef;
    var nbcases = vForm.elements[champ].value;
	for (i=1;i<=nbcases;i++) {
		refcase = vRef + i;
		if (vForm.elements[refcase].checked == true) { trouve = true; }
	}
	return trouve;
}


// verifie format date jj/mm/aaaa et date valide
// ------------------------------------------------------------------------------------------------------------------------------
function verifDate (vForm, vChampDate) {
	var ok = false;
	datesaisie = vForm.elements[vChampDate].value;
	posjour = datesaisie.indexOf("/", 0);
	if (posjour >= 0) {
		jour = datesaisie.substring(0,posjour);
		posmois = datesaisie.indexOf("/", posjour+1);
		if (posmois >= 0) {
			mois = datesaisie.substring(posjour+1,posmois);
			annee = datesaisie.substring(posmois+1);
			if (annee.length == 4) ok = true;
		}
	}
	return ok;
}


// FIN NEW JUDITH



function href_dates_vides (pForm, pDatedeb, pDatefin, pLangue) {
  if ((saisie_vide (pForm, pDatedeb, pLangue)) && (saisie_vide (pForm, pDatefin, pLangue))) {
    document.forms[pForm].submit();
  }
}
//function href_saisie_vide_dates (pForm, pDatedeb, pDatefin, pLangue) {
 // if ((saisie_vide (pForm, pDatedeb, pLangue)) && (saisie_vide (pForm, pDatefin, pLangue))) {
 //   document.forms[pForm].submit();
 // }


// envoie le formulaire par lien 'a href' apres verif javascript
// ------------------------------------------------------------------------------------------------------------------------------
function href_saisie_vide (pForm, pSaisie, pLangue) {
  if (saisie_vide (pForm, pSaisie, pLangue)) {
    document.forms[pForm].submit();
  }
}


// verif champ de saisie dans gestion comptes backoffice
// ------------------------------------------------------------------------------------------------------------------------------
function saisie_vide (pForm, pSaisie, pLangue) {
  //saisie = document.forms[pForm].elements[0].value;
  saisie = eval("document." + pForm + "." + pSaisie + ".value");
  if (saisie == "") {
    // alert ("Ce champs de saisie est vide.");
	alert (message  [pLangue]["01_champ_vide"]);
	return false;
  } else {
    //document.forms[pForm].submit();
	return true;
  }
}


// envoie le formulaire par lien 'a href' apres verif javascript
// ------------------------------------------------------------------------------------------------------------------------------
function href_article_panier (pForm, pQuantite, pLangue, pTypeArticle, pTypePanier) {
  if (article_panier(pForm, pQuantite, pLangue, pTypeArticle, pTypePanier)) {
    document.forms[pForm].submit();
  }
}


// si la quantite saisie est valide, envoie le formulaire en cours
// (soit ajout nouvel article depuis catalogue ou fiche detaille, soit maj quantite dans panier)
// ------------------------------------------------------------------------------------------------------------------------------
function article_panier (pForm, pQuantite, pLangue, pTypeArticle, pTypePanier) {
  quantite = document.forms[pForm].elements["vquantite"].value;
  if (isNaN(quantite) || (quantite<=0)) {
    //alert ("Veuillez saisir une quantité valide.");
	alert (message [pLangue]["02_quantite_valide"]);
	document.forms[pForm].elements["vquantite"].value = pQuantite;
	return false;
  } else {
    if (pTypeArticle != pTypePanier) {
		if (pTypeArticle == "W"){
		    alert (message [pLangue]["23_article_vers_specifique"+pTypePanier]);
		 }else{
			alert (message [pLangue]["23_specifique"+pTypeArticle+"_vers_article"]); 
		 }
		return false;
	} else {
      //document.forms[pForm].submit();
	  return true;
	}
  }
}


// valide le panier si les conditions generales de vente ont ete acceptees
// ------------------------------------------------------------------------------------------------------------------------------
function valide_panier (pForm, pVide, pErreurs, pLangue, pEmail) {
  if (pVide == true) {
    //alert("Votre panier est vide.");
	alert (message [pLangue]["03_panier_vide"]);
  } else {
    if (pErreurs == true) {
	  //alert("Votre commande comporte des erreurs, veuillez les corriger avant de valider.");
	  alert (message [pLangue]["04_erreurs_commande"]);
	} else {
      if (pEmail == false) {
	    //alert("Nous avons besoin de votre adresse de courriel pour accuser réception de votre commande.");
	    alert (message [pLangue]["19_email_inconnu"]);
	  } else {
        if (document.forms[pForm].elements["vcgv"].checked == true) {
          document.forms[pForm].submit();
        } else {
          //alert ("Vous devez accepter les conditions générales de vente avant de valider votre commande.");
	      alert (message [pLangue]["05_accepte_cgv"]);
		}
	  }
	}
  }
}


// verif zone de saisie commande express non vide
// ------------------------------------------------------------------------------------------------------------------------------
function verif_saisie_express(pForm, pLangue) {
  saisie = document.forms[pForm].elements["vexpress"].value;
  if (saisie == "") {
    //alert ("Veuillez saisir une référence d'article, un conditionnement et une quantité.");
	alert (message [pLangue]["07_saisie_express"]);
  } else {
    document.forms[pForm].submit();
  }
}


// verif champ de saisie modification profil
// ------------------------------------------------------------------------------------------------------------------------------
function modif_profil_vide (pForm, pLangue) {
  saisie = document.forms[pForm].elements["vmodifs"].value;
  if (saisie == "") {
    // alert ("Ce champs de saisie est vide.");
	alert (message  [pLangue]["18_modif_profil_vide"]);
  } else {
    document.forms[pForm].submit();
  }
}


// verifie date saisie valide
// ------------------------------------------------------------------------------------------------------------------------------
function valide_date_livraison (pForm, pLangue) {
  var jour = document.forms[pForm].elements["vjour"].value;
  var mois = document.forms[pForm].elements["vmois"].value;
  var annee = document.forms[pForm].elements["vannee"].value;
  if ((jour != "") && (mois != "") && (annee != "")) {
    date_correcte = verif_format_date(jour, mois, annee, pLangue);
	if (date_correcte) {
	  document.forms[pForm].submit();
	}
  } else {
    //alert ("Vous devez saisir le jour, le mois et l'année");
	alert (message [pLangue]["06_saisie_date"]);
  }
}


// msg d'alerte si aucune date de livraison saisie pour les calendriers en souscription
// ------------------------------------------------------------------------------------------------------------------------------
function date_livraison_vide(pLangue) {
  alert (message  [pLangue]["16_date_livraison_vide"]);
}


// verif champs obligatoires renseignes
// ------------------------------------------------------------------------------------------------------------------------------
function adresse_livraison_complete(pForm, pLangue) {
  raisonsociale = document.forms[pForm].elements["vraisonsociale"].value;
  adresse1 = document.forms[pForm].elements["vadresse1"].value;
  codepostal = document.forms[pForm].elements["vcodepostal"].value;
  ville = document.forms[pForm].elements["vville"].value;
  pays = document.forms[pForm].elements["vpays"].value;
  if ((raisonsociale == "") || (adresse1 == "") || (codepostal == "") || (ville == "") || (pays == "***")) {
    alert (message  [pLangue]["17_saisie_obligatoire"]);
  } else {
    document.forms[pForm].submit();
  }
}


// ***** FONCTIONS GENERIQUES ***************************************************************************************************


// verifie format date jj/mm/aaaa et date valide (ie: pas de ja passee et > dans 15 jours)
// ------------------------------------------------------------------------------------------------------------------------------
function verif_format_date(pJour, pMois, pAnnee, pLangue) {
  var annee_min=2006; // année mini
  var annee_max=2010; // année maxi
  var ok=1;
  pJour = parseFloat(pJour);
  pMois = parseFloat(pMois);
  if ( ((isNaN(pJour))||(pJour<1)||(pJour>31)) && (ok==1) ) {
    //alert("Le jour n'est pas correct."); 
	alert (message [pLangue]["08_jour_erreur"]);
	ok=0;
  }
  if ( ((isNaN(pMois))||(pMois<1)||(pMois>12)) && (ok==1) ) {
    //alert("Le mois n'est pas correct."); 
	alert (message [pLangue]["09_mois_erreur"]);
	ok=0;
  }
  if ( ((isNaN(pAnnee))||(pAnnee<annee_min)||(pAnnee>annee_max)) && (ok==1) ) {
    //alert("L'année n'est pas correcte."); 
	alert (message [pLangue]["10_annee_erreur"]);
	ok=0;
  }
  if (ok==1) {
    pJour=complete_nombre(pJour);
	pMois=complete_nombre(pMois);
    var d2=new Date(pAnnee,pMois-1,pJour);
    j2=complete_nombre(d2.getDate());
    m2=complete_nombre(d2.getMonth()+1);
    a2=d2.getFullYear();
    if (a2<=100) {a2=1900+a2}
    if ( (pJour!=j2)||(pMois!=m2)||(pAnnee!=a2) ) {
	  datesaisie = pJour+"/"+pMois+"/"+pAnnee;
      //alert("La date "+datesaisie+" n'existe pas !");
	  fct_alert_avec_parametre (pLangue, "11_date_erreur", datesaisie);
      ok=0;
    } else {
	  aujourdhui = new Date();
	  if (d2 < aujourdhui) {
		//alert ("Cette date est déjà passée.");
	    alert (message [pLangue]["12_date_deja_passee"]);
		ok=0;
	  } else {
	    joursEnPlus = 15;
	    dans15jours = new Date(aujourdhui.getTime() + (1000 * 60 * 60 * 24 * joursEnPlus));
	    jj = complete_nombre(dans15jours.getDate()); 
	    mm = complete_nombre(dans15jours.getMonth()+1); 
	    aaaa = dans15jours.getFullYear(); 
	    datemin = jj+"/"+mm+"/"+aaaa;
	    if (d2 < dans15jours) {
		  //alert ("Nous ne pouvons garantir la livraison avant le "+datemin+". Vous devez saisir une date plus éloignée.");
	      fct_alert_avec_parametre (pLangue, "13_date_min_livraison", datemin);
		  ok=0;
		}
	  }
    }
  }
  return ok;
}


// met un "0" devant un nombre si inférieur à 10
// ------------------------------------------------------------------------------------------------------------------------------
function complete_nombre(nombre) {
  return ((nombre <= 9) ? "0" : "") + nombre;
}


// envoie le formulaire par lien 'a href' apres verif javascript
// ------------------------------------------------------------------------------------------------------------------------------
function href_verif_format_email (pForm, pQuantite, pLangue) {
  if (verif_format_email(pForm, pQuantite, pLangue)) {
    document.forms[pForm].submit();
  }
}


// verif adresse email
// ------------------------------------------------------------------------------------------------------------------------------
function verif_format_email (pForm, pEmail, pLangue) {
   email = eval("document." + pForm + "." + pEmail + ".value");
   var reg = /^([a-zA-Z0-9\-_]+[a-zA-Z0-9\.\-_]*@[a-zA-Z0-9\-_]+\.[a-zA-Z\.\-_]{1,}[a-zA-Z\-_]+)$/;
   reussi = reg.test(email);
   if (reussi) {
	//document.forms[pForm].submit();
	return true;
  } else {
    //alert ("Cette adresse email n'est pas correcte.");
	alert (message [pLangue]["14_email_erreur"]);
	return false;
  }  
}


// envoie le formulaire par lien 'a href' apres verif javascript
// ------------------------------------------------------------------------------------------------------------------------------
function href_verif_nouveau_motdepasse (pForm, pMotdepasse1, pMotdepasse2, pLangue) {
  if (verif_nouveau_motdepasse (pForm, pMotdepasse1, pMotdepasse2, pLangue)) {
    document.forms[pForm].submit();
  }
}


// verif nouveau mot de passe
// ------------------------------------------------------------------------------------------------------------------------------
function verif_nouveau_motdepasse (pForm, pMotdepasse1, pMotdepasse2, pLangue) {
	motdepasse = document.forms[pForm].elements[pMotdepasse1].value;
	motdepasse_confirmation = document.forms[pForm].elements[pMotdepasse2].value;
	if (motdepasse != motdepasse_confirmation) {
		alert (message [pLangue]["20_motdepasse_erreur_confirmation"]);
		document.forms[pForm].elements[pMotdepasse1].value = "";
		document.forms[pForm].elements[pMotdepasse1].focus();
		document.forms[pForm].elements[pMotdepasse2].value = "";
		return false;
	} else {
		String(motdepasse);
		nbcar = motdepasse.length;
		if (nbcar < 6) {
			alert (message [pLangue]["21_motdepasse_erreur_nb"]);
			document.forms[pForm].elements[pMotdepasse1].value = "";
			document.forms[pForm].elements[pMotdepasse1].focus();
			document.forms[pForm].elements[pMotdepasse2].value = "";
			return false;
		} else {
			erreur = false;
  			for(i=0;i<nbcar;i++) {
    			codeT = motdepasse.charCodeAt(i);
    			if ((verif_texte(codeT) == false) && (verif_chiffre(codeT) == false)) { erreur = true; }
			}
			if (erreur) {
				alert (message [pLangue]["22_motdepasse_erreur_caracteres"]);
				document.forms[pForm].elements[pMotdepasse1].value = "";
				document.forms[pForm].elements[pMotdepasse1].focus();
				document.forms[pForm].elements[pMotdepasse2].value = "";
				return false;
			} else {
				return true;
			}
		}
	}
}

// verif exclusivement un chiffre
// ------------------------------------------------------------------------------------------------------------------------------
function verif_chiffre(pCodeChiffre) {
	if (pCodeChiffre >= 48 && pCodeChiffre <= 57) { return true; }
    else { return false; }
}

// verif exclusivement du texte
// ------------------------------------------------------------------------------------------------------------------------------
function verif_texte(pCodeCar) {
	if ((pCodeCar >= 65 && pCodeCar <= 90) || (pCodeCar >= 97 && pCodeCar <= 122 )) { return true; }
	else { return false; }
}

// verif champs obligatoire formulaire contact
// ------------------------------------------------------------------------------------------------------------------------------
function verif_form_contact (vLangue, vForm) {
	var saisieok = false;
	var emailok = true;
	if (verifListSelect(vForm,'vpays')) {
		//if (verifChampTxt(vForm,'vville')) {
			//if (verifChampTxt(vForm,'vadresse')) {
				//if (verifChampTxt(vForm,'vcp')) { 
					if (verifEmail (vForm,'vemail')) {
						if (verifChampTxt(vForm,'vcommentaires')) {
							saisieok = true;
						}
					} else {
						emailok = false;
					}
				//}
			//}
		//}
	}
	if (!emailok)  alert (message [vLangue]["14_email_erreur"]);
	else if (!saisieok)  alert (message [vLangue]["17_saisie_obligatoire"]);
	return saisieok;
}


// verif champs texte non vide
// ******************************************************************************
function verifChampTxt(vForm,vChampTxt) {
   var txtsansespaces = vForm.elements[vChampTxt].value;
   txtsansespaces = suppEspacesDebut(txtsansespaces);
   txtsansespaces = suppEspacesFin(txtsansespaces);
   var veriftxt = addslashes(addbr(txtsansespaces));
   if (veriftxt=="") {
     // vide champs txt pour supprimer espaces eventuels
     vForm.elements[vChampTxt].value = '';
	 return false;
   } else {
	 vForm.elements[vChampTxt].value = txtsansespaces;
     return true;
   }
}

// verif selection dans une liste
// ******************************************************************************
function verifListSelect (vForm,vSelect) {
   selection = vForm.elements[vSelect].value;
   if (selection == "****") {
     return false;
   } else {
     return true;
   }  
}

// verif adresse email
// ******************************************************************************
function verifEmail (vForm,vEmail) {
   email = vForm.elements[vEmail].value;
   var reg = /^([a-zA-Z0-9\-_]+[a-zA-Z0-9\.\-_]*@[a-zA-Z0-9\-_]+\.[a-zA-Z\.\-_]{1,}[a-zA-Z\-_]+)$/;
   return reg.test(email);
}

// supprime les espaces en début de texte
// ******************************************************************************
function suppEspacesDebut(vTxt) {
  if (vTxt!="") {
    if (vTxt.charAt(0)==" ") {
	  while (vTxt.charAt(0) == " ") {
	    vTxt = vTxt.substring(1,vTxt.length);
	 }
    }
  }
  return vTxt;
}


// supprime les espaces en fin de texte
// ******************************************************************************
function suppEspacesFin(vTxt) {
  if (vTxt!="") {
    if (vTxt.charAt(vTxt.length-1)==" ") {
	  while (vTxt.charAt(vTxt.length-1) == " ") {
	    vTxt = vTxt.substring(0,(vTxt.length-1));
	 }
    }
  }
  return vTxt;
}


// remplace les retours à la ligne par des <br>
// ******************************************************************************
function addbr(ch) {
   ch = ch.replace(String.fromCharCode(13),"<br>");
   ch = ch.replace(String.fromCharCode(10),"");
   return ch
}


// ajoute des slashes pour les apostrophes
// ******************************************************************************
function addslashes(ch) {
   ch = ch.replace(/\\/g,"\\\\") 
   ch = ch.replace(/\'/g,"\\'") 
   ch = ch.replace(/\"/g,"\\\"")
   return ch
}


