var regExpBeginning = /^\s+/;
var regExpEnd = /\s+$/;  

// Supprime les espaces inutiles en début et fin de la chaîne passée en paramètre.
function trim(aString) {
    return aString.replace(regExpBeginning, "").replace(regExpEnd, "");
}


// JavaScript Document
function apercu_modifiercasier() {
  var nomcasier = document.modifcasier.nomcasier.value;
  var typecasier = document.modifcasier.typecasier.value;
  var imagecasier = get_imagecasier();
  var nbcasesX = document.modifcasier.nbcasesX.value;
  var nbcasesY = document.modifcasier.nbcasesY.value;
  //var nbbouteillesX = document.modifcasier.nbbouteillesX.value;
  //var nbbouteillesY = document.modifcasier.nbbouteillesY.value;
  var url = "apercu_casier_fini.php?mode=modif&nomcasier=" + nomcasier +
  "&typecasier=" + typecasier +
  "&imagecasier=" + imagecasier +
  "&nbcasesX=" + nbcasesX +
  "&nbcasesY=" + nbcasesY;
  //"&nbbouteillesX=" + nbbouteillesX +
  //"&nbbouteillesY=" + nbbouteillesY;
  popup(url);
}

function verifsuppcasier() {
	if (document.supprimecasier.idcasier.value == 0) {
		return;
	}
	var url = window.location.href;
	var msg = "";
	if (url.indexOf('/en/') > 0)
		msg = "Do you really want to delete this rack?";
	else
		msg = "Etes vous sûr de vouloir supprimer ce casier ?";
	if ( confirm(msg) ) {
		document.supprimecasier.submit();
	}
}

function reload_page_modifcasier(idcasier) {
  document.location = "modif_casier.php?idcasier=" + idcasier;
}

function popup(nomfic, alt) {
  window.open("image.php?image="+nomfic+"&alt="+alt+"",'','resizable=yes, location=no, width=660, height=700, menubar=no, status=no, scrollbars=yes, menubar=no');
}

function viewlabel(nomfic, alt) {
  window.open("image.php?image="+nomfic+"&alt="+alt+"",'','resizable=yes, location=no, width=660, height=700, menubar=no, status=no, scrollbars=yes, menubar=no');
}

function viewcharts(url) {
  window.open(url,'','resizable=yes, location=no, width=780, height=700, menubar=no, status=no, scrollbars=yes, menubar=no');
}

function popup(url) {
  window.open(url,'','resizable=yes, location=no, width=660, height=700, menubar=no, status=no, scrollbars=yes, menubar=no');
}

function popup2(url) {
  window.open(url,'','resizable=yes, location=no, width=660, height=700, menubar=no, status=no, scrollbars=yes, menubar=no');
}

function popupinfo(id) {
  popup('visuser_info.php?param_iduser=' + id);
}

function confirmsuppr(id) {
	var url = window.location.href;
	var msg = "";
	if (url.indexOf('/en/') > 0)
		msg = "Do you really want to delete this recipe?";
	else
		msg = "Etes vous sûr de vouloir supprimer cette recette ?";

	if ( confirm(msg) == true) {
		document.location = "supprime_mets.php?idMets=" + id;
	}
}

function confirm_suppr(idcru, search) {
	var url = window.location.href;
	var msg = "";
	if (url.indexOf('/en/') > 0)
		msg = "Do you really want to delete this wine sheet?";
	else
		msg = "Etes vous sûr de vouloir supprimer cette fiche ?";

	if (confirm(msg)) {
		document.location = "supprime_cru.php?idcru=" + idcru + "&search=" + search;
	}
}

function visuemplacement(id) {
  popup('visuemplacement.php?idencavement=' + id);
}

function verifsuppsortie(id){
	var url = window.location.href;
	var msg = "";
	if (url.indexOf('/en/') > 0)
		msg = "You are about to delete a consumption registration. This action can change your consumption statistics. Do your really want to delete this consumption?"
	else
		msg = "Vous êtes sur le point de supprimer un enregistrement de sortie de cave. Cette opération peut affecter vos staisitques de sorties globales. Etes-vous sûr de vouloir supprimer cet enregistrement ?";

	if ( confirm(msg) ) {
		document.location = "supprimer_sortie.php?idsortie=" + id;
	}
}

function verifretirerpopup(id){
	var url = window.location.href;
	var msg = "";
	if (url.indexOf('/en/') > 0)
		msg = "Do you really want to pull this bottle out of your wine cellar?";
	else
		msg = "Etes vous sûr de vouloir retirer cette bouteille de la cave ?";
		
	if ( confirm(msg) ) {
		window.close();
		window.opener.location = "retirer_bouteille.php?idencavement=" + id;
	}
}

function verifderackerpopup(id){
	var url = window.location.href;
	var msg = "";
	if (url.indexOf('/en/') > 0)
		msg = "You are about to pull this bottle from a rack and this bottle will be pending storage. Do you really want to unrack this bottle?";
	else
		msg = "Vous allez retirer cette bouteille et la passer dans le tableau des bouteilles non rangées. Etes vous sûr de vouloir remettre cette bouteille en attente de rangement ?";

	if ( confirm(msg) ) {
		window.close();
		window.opener.location = "deracker_bouteille.php?mode_txt=1&idencavement=" + id;
	}
}

function verifsuppcru(){
	var url = window.location.href;
	var msg = "";
	if (url.indexOf('/en/') > 0)
		msg = "Do you really want to delete this wine sheet?";
	else
		msg = "Etes vous sûr de vouloir supprimer cette fiche ?";
	return confirm(msg);
}

function verifsuppdegust(){
	var url = window.location.href;
	var msg = "";
	if (url.indexOf('/en/') > 0)
		msg = "Do you really want to delete this tasting note?";
	else
		msg = "Etes vous sûr de vouloir supprimer cette fiche de dégustation ?";
	if (document.supprimedegust.iddegustation.value == 0) return false;
    return confirm(msg);
}

function verifsupppopup(id){
	var url = window.location.href;
	var msg = "";
	if (url.indexOf('/en/') > 0)
		msg = "You are about to delete this bottle because of an input error! If you have drunk this bottle, you'd better click on Pull.";
	else
		msg = "Vous êtes sur le point de supprimer cette bouteille en raison d'une erreur de saisie ! Si vous avez consommé cette bouteille, cliquez plutôt sur Retirer.";

	if ( confirm(msg) ) {
		window.close();
		window.opener.location = "supprimer_bouteille_placee.php?idencavement=" + id;
	}
}

function reload_page_deplacer(idcasier, idencavement) {
  document.location = "deplacer_bouteille.php?idcasier=" + idcasier + "&idencavement=" + idencavement;
}

function reload_page_placer(idcasier, idusercru, dateencavement) {
  document.location = "placer_bouteille.php?idcasier=" + idcasier + "&idusercru=" + idusercru + "&dateencavement=" + dateencavement;
}

function change_location_placer(url, dateencavement) {
  document.location = url + "&dateencavement=" + dateencavement;
}

function verifemailurl(email, url){
	var urlweb = window.location.href;
	var msg = "";
	if (urlweb.indexOf('/en/') > 0){
		msgweb = "The url is invalid. Example of a real url: http://www.cavusvinifera.com";
		msgemail = "Your email address is invalid!";
	}
	else{
		msgweb = "Votre adresse du site internet est invalide. Exemple de bon format : http://www.cavusvinifera.com";
		msgemail = "Votre adresse email est invalide !";
	}
	
	var modele_email = /^\w+[\+\.\w-]*@([\w-]+\.)*\w+[\w-]*\.([a-z]{2,4}|\d+)$/i;
	var modele_url   = /^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/;
	//alert("Email : " + email + " - URL : " + url);
	if (modele_email.test(trim(email)) || email == ""){
		if (modele_url.test(trim(url)) || url == ""){
		   return true; 
		}
		else{
		  alert(msgweb);
		  return false;        
		}
	 }
	else{
		alert(msgemail);
		return false;
	}
}

function set_status(text) {
  window.status = text;
}

function verifencaver(){
	var url = window.location.href;
	var msg = "";
	if (url.indexOf('/en/') > 0){
		msgqte = "You have to enter a quantity!";
		msgprix = "You have to enter a price!";
		msgachat = "You have to enter a purchasing date!";
		msgmin = "You have to enter a minimum number of years!";
		msgmax = "You have to enter a maximum number of years!";
		msgmil = "Warning, you have not entered a vintage.\nDo you really want to continue?";
	}
	else{
		msgqte = "Vous devez spécifier une quantité !";
		msgprix = "Vous devez spécifier un prix !";
		msgachat = "Vous devez spécifier une date d'achat !";
		msgmin = "Vous devez spécifier une garde minimum !";
		msgmax = "Vous devez spécifier une garde maximum !";
		msgmil = "Attention, vous n'avez pas spécifié de millésime.\nEtes-vous sûr de vouloir continuer ?";
	}

	if ( document.encaver3.quantite.value == "" ) {
		alert(msgqte);
		return false;
	}
	/*if ( document.encaver3.prix.value == "" ) {
		alert(msgprix);
		return false;
	}*/
	if ( document.encaver3.dateachat.value == "" ) {
		alert(msgachat);
		return false;
	}
	if ( document.encaver3.gardemin.value == "" ) {
		alert(msgmin);
		return false;
	}
	if ( document.encaver3.gardemax.value == "" ) {
		alert(msgmax);
		return false;
	}
	if ( document.encaver3.millesime.value == "-" ) {
		return confirm(msgmil);
	}
	return true;
}

function verifdegust(){
	var url = window.location.href;
	var msg = "";
	if (url.indexOf('/en/') > 0){
		msgdate = "You have to enter a tasting date!";
		msgabs = "You have to enter a few words to describe your tasting!";
	}
	else{
		msgdate = "Vous devez spécifier une date de dégustation !";
		msgabs = "Vous devez spécifier un résumé de dégustation !";
	}
	
  if ( document.ajoutdegust.dtdegust.value == "" ) {
	alert(msgdate);
	return false;
  }
  if ( document.ajoutdegust.titre.value == "" ) {
	alert(msgabs);
	return false;
  }
  return true;
}

function verifexport() {
  url = "exporter.php?modif=bouteilles&visu=previsu&";
  if (document.form_bout.bout_nom.checked) url += "bout_nom=on&";
  if (document.form_bout.bout_appellation.checked) url += "bout_appellation=on&";
  if (document.form_bout.bout_couleur.checked) url += "bout_couleur=on&";
  if (document.form_bout.bout_millesime.checked) url += "bout_millesime=on&";
  if (document.form_bout.bout_date_achat.checked) url += "bout_date_achat=on&";
  if (document.form_bout.bout_volume.checked) url += "bout_volume=on&";
  if (document.form_bout.bout_garde_min.checked) url += "bout_garde_min=on&";
  if (document.form_bout.bout_garde_max.checked) url += "bout_garde_max=on&";
  if (document.form_bout.bout_quantite_achat.checked) url += "bout_quantite_achat=on&";
  if (document.form_bout.bout_quantite_courante.checked) url += "bout_quantite_courante=on&";
  if (document.form_bout.bout_prix.checked) url += "bout_prix=on&";
  if (document.form_bout.bout_date_encavement.checked) url += "bout_date_encavement=on&";
  if (document.form_bout.bout_casier.checked) url += "bout_casier=on&";
  if (document.form_bout.bout_position.checked) url += "bout_position=on&";
  
  if (document.form_bout.bout_tri[0].checked) url += "bout_tri=nom&";
  if (document.form_bout.bout_tri[1].checked) url += "bout_tri=appellation&";
  if (document.form_bout.bout_tri[2].checked) url += "bout_tri=couleur&";
  if (document.form_bout.bout_tri[3].checked) url += "bout_tri=millesime&";
  if (document.form_bout.bout_tri[4].checked) url += "bout_tri=date_achat&";
  if (document.form_bout.bout_tri[5].checked) url += "bout_tri=volume&";
  if (document.form_bout.bout_tri[6].checked) url += "bout_tri=garde_min&";
  if (document.form_bout.bout_tri[7].checked) url += "bout_tri=garde_max&";
  if (document.form_bout.bout_tri[8].checked) url += "bout_tri=quantite_achat&";
  if (document.form_bout.bout_tri[9].checked) url += "bout_tri=quantite_courante&";
  if (document.form_bout.bout_tri[10].checked) url += "bout_tri=prix&";
  if (document.form_bout.bout_tri[11].checked) url += "bout_tri=date_encavement&";
  //if (document.form_bout.bout_tri[12].checked) url += "bout_tri=casier&";
  //if (document.form_bout.bout_tri[13].checked) url += "bout_tri=position&";
  
  
  if (document.form_bout.bout_sens[0].checked) url += "bout_sens=bout_sens_croissant&";
  if (document.form_bout.bout_sens[1].checked) url += "bout_sens=bout_sens_decroissant&";
  
  if (document.form_bout.bout_type_fichier[0].checked) url += "bout_type_fichier=bout_excel";
  if (document.form_bout.bout_type_fichier[1].checked) url += "bout_type_fichier=bout_csv";
  
  window.open(url,'','resizable=yes, location=no, width=680, height=480, menubar=no, status=no, scrollbars=yes, menubar=no');
}

function verifexport2() {
  url = "exporter.php?modif=producteurs&visu=previsu&";
  if (document.form_prod.prod_nom.checked) url += "prod_nom=on&";
  if (document.form_prod.prod_appellation.checked) url += "prod_appellation=on&";
  if (document.form_prod.prod_couleur.checked) url += "prod_couleur=on&";
  if (document.form_prod.prod_quantite_courante.checked) url += "prod_quantite_courante=on&";
  if (document.form_prod.prod_producteur.checked) url += "prod_producteur=on&";
  if (document.form_prod.prod_proprietaire.checked) url += "prod_proprietaire=on&";
  if (document.form_prod.prod_adresse.checked) url += "prod_adresse=on&";
  if (document.form_prod.prod_cp.checked) url += "prod_cp=on&";
  if (document.form_prod.prod_ville.checked) url += "prod_ville=on&";
  if (document.form_prod.prod_tel.checked) url += "prod_tel=on&";
  if (document.form_prod.prod_fax.checked) url += "prod_fax=on&";
  if (document.form_prod.prod_email.checked) url += "prod_email=on&";
  if (document.form_prod.prod_web.checked) url += "prod_web=on&";
  
  
  if (document.form_prod.prod_tri[0].checked) url += "prod_tri=nom&";
  if (document.form_prod.prod_tri[1].checked) url += "prod_tri=appellation&";
  if (document.form_prod.prod_tri[2].checked) url += "prod_tri=couleur&";
  if (document.form_prod.prod_tri[3].checked) url += "prod_tri=quantite_courante&";
  if (document.form_prod.prod_tri[4].checked) url += "prod_tri=producteur&";
  if (document.form_prod.prod_tri[5].checked) url += "prod_tri=proprietaire&";
  if (document.form_prod.prod_tri[6].checked) url += "prod_tri=adresse&";
  if (document.form_prod.prod_tri[7].checked) url += "prod_tri=cp&";
  if (document.form_prod.prod_tri[8].checked) url += "prod_tri=ville&";
  if (document.form_prod.prod_tri[9].checked) url += "prod_tri=tel&";
  if (document.form_prod.prod_tri[10].checked) url += "prod_tri=fax&";
  if (document.form_prod.prod_tri[11].checked) url += "prod_tri=email&";
  if (document.form_prod.prod_tri[12].checked) url += "prod_tri=web";
  
  
  
  if (document.form_prod.prod_sens[0].checked) url += "prod_sens=prod_sens_croissant&";
  if (document.form_prod.prod_sens[1].checked) url += "prod_sens=prod_sens_decroissant&";
  
  if (document.form_prod.prod_type_fichier[0].checked) url += "prod_type_fichier=prod_excel";
  if (document.form_prod.prod_type_fichier[1].checked) url += "prod_type_fichier=prod_csv";
  
  window.open(url,'','resizable=yes, location=no, width=680, height=480, menubar=no, status=no, scrollbars=yes, menubar=no');
}

function checkformcasier(){
  if (document.ajoutcasier1.nomcasier.value == "") {
    alert("Vous devez donner un nom à votre casier !");
    return;
  }
  document.ajoutcasier1.submit();
}

function apercucasier() {
  var nomcasier = document.ajoutcasier3.nomcasier.value;
  var typecasier = document.ajoutcasier3.typecasier.value;
  var imagecasier = document.ajoutcasier3.imagecasier.value;
  var nbcasesX = document.ajoutcasier3.nbcasesX.value;
  var nbcasesY = document.ajoutcasier3.nbcasesY.value;
  var nbbouteillesX = document.ajoutcasier3.nbbouteillesX.value;
  var nbbouteillesY = document.ajoutcasier3.nbbouteillesY.value;
  var url = "apercu_casier_fini.php?nomcasier=" + nomcasier +
  "&typecasier=" + typecasier +
  "&imagecasier=" + imagecasier +
  "&nbcasesX=" + nbcasesX +
  "&nbcasesY=" + nbcasesY +
  "&nbbouteillesX=" + nbbouteillesX +
  "&nbbouteillesY=" + nbbouteillesY;
  popup(url);
}

function get_imagecasier() {
  for (var i=0; i < document.modifcasier.idimagecasier.length; i++) {
    if (document.modifcasier.idimagecasier[i].checked) {
      return document.modifcasier.idimagecasier[i].value;
    }
  }
  return 0;
}

function checkallcolors(){
	document.rech_cru_cavus.colors1.checked = true ;
	document.rech_cru_cavus.colors2.checked = true ;
	document.rech_cru_cavus.colors3.checked = true ;
	document.rech_cru_cavus.colors4.checked = true ;
	document.rech_cru_cavus.colors5.checked = true ;
	document.rech_cru_cavus.colors6.checked = true ;
	document.rech_cru_cavus.colors7.checked = true ;
	document.rech_cru_cavus.colors8.checked = true ;
	document.rech_cru_cavus.colors9.checked = true ;
	document.rech_cru_cavus.colors10.checked = true ;
	document.rech_cru_cavus.colors11.checked = true ;
	document.rech_cru_cavus.colors12.checked = true ;
	document.rech_cru_cavus.colors13.checked = true ;
	document.rech_cru_cavus.colors14.checked = true ;
	document.rech_cru_cavus.colors15.checked = true ;
}

function uncheckallcolors(){
	document.rech_cru_cavus.colors1.checked = false ;
	document.rech_cru_cavus.colors2.checked = false ;
	document.rech_cru_cavus.colors3.checked = false ;
	document.rech_cru_cavus.colors4.checked = false ;
	document.rech_cru_cavus.colors5.checked = false ;
	document.rech_cru_cavus.colors6.checked = false ;
	document.rech_cru_cavus.colors7.checked = false ;
	document.rech_cru_cavus.colors8.checked = false ;
	document.rech_cru_cavus.colors9.checked = false ;
	document.rech_cru_cavus.colors10.checked = false ;
	document.rech_cru_cavus.colors11.checked = false ;
	document.rech_cru_cavus.colors12.checked = false ;
	document.rech_cru_cavus.colors13.checked = false ;
	document.rech_cru_cavus.colors14.checked = false ;
	document.rech_cru_cavus.colors15.checked = false ;
}

function trim(str, chars) {
    return ltrim(rtrim(str, chars), chars);
}

function ltrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}

function rtrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}

function addtext(id) {
	var url = window.location.href;
	var newtext = "";
	if (url.indexOf('/en/') > 0){
		newtext = "\nVarieties: ";
	}
	else{
		newtext = "\nCépages : ";
	}
	if (id == 1) newtext += "100% Pinot Noir";
	if (id == 2) newtext += "100% Chardonnay";
	if (id == 3) newtext += "100% Gamay";
	if (id == 4) newtext += "100% Chenin";
	if (id == 5) newtext += "100% Cabernet Franc";
	if (id == 6) newtext += "100% Cabernet Sauvignon";
	if (id == 7) newtext += "100% Merlot";
	if (id == 8) newtext += "100% Syrah";
	if (id == 9) newtext += "100% Viognier";
	if (id == 10) newtext += "100% Riesling";
	if (id == 11) newtext += "100% Gewurztraminer";
	if (id == 12) newtext += "100% Pinot Gris";
	if (id == 13) newtext += "100% Sauvignon";
	if (id == 14) newtext += "100% Malbec";
	if (id == 15) newtext += "100% Muscat";
	if (id == 16) newtext += "100% Sylvaner";
	if (id == 17) newtext += "100% Grenache";
	if (id == 18) newtext += "100% Aligoté";
	if (id == 19) newtext += "100% Carignan";
	if (id == 20) newtext += "100% Mourvèdre";
	
	
	if (id == 0)
		document.ajoutcru.divers.value = "";
	else
		document.ajoutcru.divers.value += newtext;
	document.ajoutcru.divers.value = trim(document.ajoutcru.divers.value);
}

function writeUrl(toLang){
	var url = window.location.href;
	if (url.indexOf('/fr/') > 0) fromLang = "fr";
	if (url.indexOf('/en/') > 0) fromLang = "en";
	if (url.indexOf('/fr/') > 0) lang = "french";
	if (url.indexOf('/en/') > 0) lang = "english";

	var Newurl=url.replace('/'+fromLang+'/','/'+toLang+'/');
	if (toLang == "fr") Newurl=Newurl.replace('/varietal-','/cepage-');
	if (toLang == "fr") Newurl=Newurl.replace('www.youcellar.com','www.cavusvinifera.com');
	if (toLang == "fr") Newurl=Newurl.replace('beta.youcellar.com','beta.cavusvinifera.com');
	if (toLang == "en") Newurl=Newurl.replace('/cepage-','/varietal-');
	if (toLang == "en") Newurl=Newurl.replace('www.cavusvinifera.com','www.youcellar.com');
	if (toLang == "en") Newurl=Newurl.replace('beta.cavusvinifera.com','beta.youcellar.com');
	
				
	//document.write("<a href=\"" + Newurl + "\" title=\"" + lang + "\"><img border=0 src=\"./images/layout/flag_" + toLang + ".png\" height=22 alt=\"" + lang + "\"></a>");
	if (toLang == "fr")
		document.write("<a href=\"http://www.cavusvinifera.com/fr/\" title=\"" + lang + "\"><img border=0 src=\"./images/layout/flag_" + toLang + ".png\" height=22 alt=\"" + lang + "\"></a>");
	else
		document.write("<a href=\"http://www.youcellar.com/en/\" title=\"" + lang + "\"><img border=0 src=\"./images/layout/flag_" + toLang + ".png\" height=22 alt=\"" + lang + "\"></a>");
}

function searchAdvanced() {
	var nom 			= document.search_form.nom.value;
	var lieu			= document.search_form.lieu.value;
	var couleur			= document.search_form.couleur.value;
	var annee_from		= document.search_form.annee_from.value;
	var annee_to		= document.search_form.annee_to.value;
	var prix_from		= document.search_form.prix_from.value;
	var prix_to			= document.search_form.prix_to.value;
	var cote_from		= document.search_form.cote_from.value;
	var cote_to			= document.search_form.cote_to.value;
	var canal			= document.search_form.canal.value;
	var dateachat_from	= document.search_form.dateachatfrom.value;
	var dateachat_to	= document.search_form.dateachatto.value;
	var drink_from		= document.search_form.drink_from.value;
	var drink_to		= document.search_form.drink_to.value;
	var cepages			= document.search_form.cepages.value;
	var comment			= document.search_form.comment.value;
	var tri				= document.search_form.tri.value;
	
	var url = "search_advanced_results.php?nom=" + nom + "&lieu=" + lieu + 
	"&couleur=" + couleur +
	"&tri=" + tri +
	"&annee_from=" + annee_from + "&annee_to=" + annee_to +
	"&prix_from=" + prix_from + "&prix_to=" + prix_to +
	"&cote_from=" + cote_from + "&cote_to=" + cote_to +
	"&canal=" + canal +
	"&dateachat_from=" + dateachat_from + "&dateachat_to=" + dateachat_to +
	"&drink_from=" + drink_from + "&drink_to=" + drink_to +
	"&cepages=" + cepages +
	"&comment=" + comment;
	window.opener.location = url;
}

function setAllCheckBoxes(FormName, FieldName, CheckValue)
	{
		if(!document.forms[FormName])
			return;
		var objCheckBoxes = document.forms[FormName].elements[FieldName];
		if(!objCheckBoxes)
			return;
		var countCheckBoxes = objCheckBoxes.length;
		if(!countCheckBoxes)
			objCheckBoxes.checked = CheckValue;
		else
			// set the check value for all check boxes
			for(var i = 0; i < countCheckBoxes; i++)
				objCheckBoxes[i].checked = CheckValue;
	}
	
function checkLimit(FormName, limit)
	{
		var url = window.location.href;
		var message1 = "";
		var message2 = "";
		if (url.indexOf('/en/') > 0){
			message1 = "In order to protect our users from spamming, please reduce the number of messages you want to send.\n" + limit + " is the maximum number of messages.";
			message2 = "Please select at least one user";
		}
		else{
			message1 = "Afin d'éviter à nos utilisateurs d'être spammés, merci de réduire le nombre d'utilisateurs pour le message à envoyer.\n" + limit + " est le nombre maximum de messages que vous pouvez envoyer en une seule fois.";
			message2 = "Sélectionnez au moins un utilisateur";
		}
		if(!document.forms[FormName])
			return;
		var objCheckBoxes = document.forms[FormName].getElementsByTagName("INPUT");
		if(!objCheckBoxes)
			return;
		var countCheckBoxes = objCheckBoxes.length;
		
		if (countCheckBoxes < 1){
			alert(message2);
			return false;
		}
		
		var cpt = 0;
		for(var i = 0; i < countCheckBoxes; i++)
			if (objCheckBoxes[i].type == "checkbox")
				if (objCheckBoxes[i].checked == true)
					cpt++;
		if (cpt > limit){
			alert(message1);
			return false;
		}
		return true;
	}
	
function textCounter(field,cntfield,maxlimit) {
	if (field.value.length > maxlimit) // if too long...trim it!
		field.value = field.value.substring(0, maxlimit);
	// otherwise, update 'characters left' counter
	else
		cntfield.value = maxlimit - field.value.length;
}

function verif_numeric(variable)
{
	var exp = new RegExp("^[0-9]+$","g");
	return exp.test(variable);
}

function updateField(zone)
{
	var millesime = document.getElementById("millesime").value;

	if ((millesime != "-") && verif_numeric(document.getElementById(zone).value))
		document.getElementById("div"+zone).innerHTML = parseInt(millesime) + parseInt(document.getElementById(zone).value);
	else
		document.getElementById("div"+zone).innerHTML = "-";
}

// Script AJAX pour ajout à la wishlist

function addWishList(idCru, lg) {
    var xmlHttpReq = false;
    var self = this;
	var strURL = "/ajout_wishlist.php";
    // Mozilla/Safari
    if (window.XMLHttpRequest) {
        self.xmlHttpReq = new XMLHttpRequest();
    }
    // IE
    else if (window.ActiveXObject) {
        self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    self.xmlHttpReq.open('POST', strURL, true);
    self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    self.xmlHttpReq.onreadystatechange = function() {
        if (self.xmlHttpReq.readyState == 4) {
			if (lg == "fr")
				alert("Vin ajouté à vos favoris");
			else
				alert("Wine added to your wishlist");
        }
    }
    self.xmlHttpReq.send("idCru="+idCru);
}


