var isInteger_regEx = /^\d+$/;
var isDecimal_regEx = /^\d+\.?\d*$/;

function indeXys_validerFormulaire(formIn) {
  var errors='',test_radio='',test_checkbox='';
  for (i=0; i<formIn.elements.length; i++) { 
    monChamp = formIn.elements[i];
    if (monChamp.tagName == "INPUT" 
	    && monChamp.getAttribute("type") == "text" 
		&& monChamp.value == '') {
      if (monChamp.className.indexOf("obligatoire")==0
&& errors.indexOf(" " + monChamp.name)<0) {
        errors += '- champ/field '+monChamp.name+'\n';
      }
    }
	else if (monChamp.tagName == "TEXTAREA"
		&& monChamp.value == '') {
      if (monChamp.className.indexOf("obligatoire")==0
&& errors.indexOf(" " + monChamp.name)<0) {
        errors += '- champ/field '+monChamp.name+'\n';
      }
    }
	else if (monChamp.tagName == "INPUT"
	    && monChamp.getAttribute("type") == "radio"
		&& test_radio.indexOf("," + monChamp.name + ",")!=0) {
	  var checked = false;
	  for (j=0 ; j<document.getElementsByName(monChamp.name).length; j++) {
		if (document.getElementsByName(monChamp.name)[j].checked) {
		  checked = true;
		}
	  }
	  if (checked == false
&& monChamp.className.indexOf("obligatoire")==0
&& errors.indexOf(" " + monChamp.name)<0) {
        errors += '- champ/field '+monChamp.name+'\n';
	  }
	  test_radio = test_radio + "," + monChamp.name + ",";
    }
	else if (monChamp.tagName == "INPUT"
	    && monChamp.getAttribute("type") == "checkbox"
		&& test_checkbox.indexOf("," + monChamp.name + ",")!=0) {
	  var checked = false;
	  for (j=0 ; j<document.getElementsByName(monChamp.name).length; j++) {
		if (document.getElementsByName(monChamp.name)[j].checked) {
		  checked = true;
		}
	  }
	  if (checked == false
&& monChamp.className.indexOf("obligatoire")==0
&& errors.indexOf(" " + monChamp.name)<0) {
        errors += '- champ/field '+monChamp.name+'\n';
	  }
	  test_checkbox = test_checkbox + "," + monChamp.name + ",";
    }
  } 
  if (errors) {
    alert('Certains champs obligatoires ne sont pas remplis\n/ Some mandatory fields are missing :\n'+errors);
    return false;
  }

  return true;
}

function print()
{
	if (window.print) window.print();
	else alert('This script does not work in your browser');
}

function indeXys_swapGalerie(aTitle, aHref, aClass, aRel, imgSrc, imgTitle, imgAlt, idDivImageGrande)
{
	document.getElementById(idDivImageGrande).innerHTML = '<img src="' + imgSrc + '" alt="' + imgTitle + '" title="' + imgAlt + '"">';
}

function validateField(idElement,largeurMin,largeurMax) {

  	field = document.getElementById(idElement);

	if ((field.value*0 != 0)
			|| (field.value < largeurMin)
			|| (field.value > largeurMax))
	{
		alert("Vous devez saisir un nombre compris entre " + largeurMin + " et " + largeurMax + ".");
		setTimeout(function() { document.getElementById(idElement).focus(); }, 100)
	}
}

function indeXys_validateCheckboxIsChecked(idElement, messageErreur)
{
  	field = document.getElementById(idElement);

	if (field.checked == false)
	{
		alert(messageErreur);
		return false;
	}

	return true;
}

function indeXys_limitationSaisieTexte(element, nombreCaracteres)
{
	if (element.value.length > nombreCaracteres)
	{
		alert('la saisie est limitée à '+ nombreCaracteres +' caractères')
		element.value = element.value.substring(0,nombreCaracteres);
	}
}

function indeXys_controleSaisieNombreEntier(element)
{
	myValue = element.value;

	if (element.value.substring(0,1) == '+'
		|| element.value.substring(0,1) == '-')
	{
		myValue = myValue.substring(1,myValue.length);
	}

	if (myValue.length > 0
		&& myValue != myValue.match(isInteger_regEx))
	{
		alert('vous devez saisir un nombre entier');
		element.value = element.value.substring(0,element.value.length-1);
	}
}

function indeXys_controleSaisieNombreDecimal(element)
{
	if (element.value.substring(element.value.length-1,element.value.length) == ',')
	{
		element.value = element.value.substring(0,element.value.length-1) + '.';
	}

	myValue = element.value;

	if (element.value.substring(0,1) == '+'
		|| element.value.substring(0,1) == '-')
	{
		myValue = myValue.substring(1,myValue.length);
	}

	if (myValue.length > 0
		&& myValue != myValue.match(isDecimal_regEx))
	{
		alert('vous devez saisir un nombre décimal (avec des points)');
		element.value = element.value.substring(0,element.value.length-1);
	}
}

function indeXys_creerCookie(nom,contenu,jours) {
   var expireDate = new Date();
   expireDate.setTime(expireDate.getTime() + jours*24*3600*1000);
   document.cookie = nom + "=" + escape(contenu)
      + ";expires=" + expireDate.toGMTString();
}
  
function indeXys_lireCookie(nom) {
   var deb,fin;
   deb = document.cookie.indexOf(nom + "=");
   if (deb >= 0) {
      deb += nom.length + 1;
      fin = document.cookie.indexOf(";",deb);
      if (fin < 0) fin = document.cookie.length
      return unescape(document.cookie.substring(deb,fin));
      }
   return "";
}
  
function indeXys_supprimerCookie(nom) { indeXys_creerCookie(nom,"",-1) }

function indeXys_showBusy() {
	Element.show('busyBox');
	Element.show('busyMessage');
}