function validateAndSubmitForm(form) {
  if(form.onsubmit()) form.submit();
}

function existsField(form, field) {
  for(i_=0; i_<form.length; i_++) {
    if(form.elements[i_].name == field) {
      return true;
    }
  }
  return false;
}

function displayElement(elementId, displayed) {
  if(displayed) showElement(elementId);
  else hideElement(elementId);
}

function showElement(elementId) {
  if(document.getElementById) { // DOM3 = IE5, NS6
    document.getElementById(elementId).style.display = "inline";
    //document.getElementById(elementId).style.visibility = "visible";
  }
  else {
    if(document.layers) { // Netscape 4
      eval("document." + elementId + ".visibility = \"visible\";");
    }
    else { // IE 4
      eval("document.all." + elementId + ".style.visibility = \"visible\";");
    }
  }
}

function hideElement(elementId) {
  if(document.getElementById) { // DOM3 = IE5, NS6
    document.getElementById(elementId).style.display = "none";
    //document.getElementById(elementId).style.visibility = "hidden";
  }
  else {
    if(document.layers) { // Netscape 4
      eval("document." + elementId + ".visibility = \"hidden\";");
    }
    else { // IE 4
      eval("document.all." + elementId + ".style.visibility = \"hidden\";");
    }
  }
}

function disableField(form, name, disabled) {
  if(disabled) {
    eval("document." + form + "." + name + ".value = \"\";");
  }
  eval("document." + form + "." + name + ".disabled = disabled;");
}

function disableDateField(form, name, disabled) {
  if(disabled) {
    eval("document." + form + "." + name + ".value = \"\";");
    eval("document." + form + "." + name + "Jour.selectedIndex = 0;");
    eval("document." + form + "." + name + "Mois.selectedIndex = 0;");
    eval("document." + form + "." + name + "Annee.selectedIndex = 0;");
  }
  eval("document." + form + "." + name + "Jour.disabled = disabled;");
  eval("document." + form + "." + name + "Mois.disabled = disabled;");
  eval("document." + form + "." + name + "Annee.disabled = disabled;");
}

function disableRadioField(form, name, disabled) {
  eval("var options = document." + form + "." + name + ".length;");
  for(i_=0; i_<options; i_++) {
    if(disabled) {
      eval("document." + form + "." + name + "[i_].checked = false;");
    }
    eval("document." + form + "." + name + "[i_].disabled = disabled;");
  }
}

function disableSelectField(form, name, disabled) {
  if(disabled) {
    eval("if(document." + form + "." + name + ".length > 0) document." + form + "." + name + ".selectedIndex = 0;");
  }
  eval("document." + form + "." + name + ".disabled = disabled;");
}

function populateDateField(form, name, anneeMin, anneeMax, currentDate) {
  selectedIndex = 0;
  for(i_=1; i_<=31; i_++) {
    value = i_;
    if(i_ < 10) value = "0" + i_;
    eval("document." + form + "." + name + "Jour.options[" + i_ + "] = new Option(\"" + value + "\", \"" + value + "\", false, false);");
    if(currentDate.substr(0, 2) == value) selectedIndex = i_;
  }
  eval("document." + form + "." + name + "Jour.selectedIndex = " + selectedIndex + ";");

  selectedIndex = 0;
  for(i_=1; i_<=12; i_++) {
    value = i_;
    if(i_ < 10) value = "0" + i_;
    eval("document." + form + "." + name + "Mois.options[" + i_ + "] = new Option(\"" + value + "\", \"" + value + "\", false, false);");
    if(currentDate.substr(3, 2) == value) selectedIndex = i_;
  }
  eval("document." + form + "." + name + "Mois.selectedIndex = " + selectedIndex + ";");

  selectedIndex = 0;
  for(i_=anneeMin; i_<=anneeMax; i_++) {
    value = i_;
    eval("document." + form + "." + name + "Annee.options[" + (i_ - anneeMin + 1) + "] = new Option(\"" + value + "\", \"" + value + "\", false, false);");
    if(currentDate.substr(6, 4) == value) selectedIndex = i_ - anneeMin + 1;
  }
  eval("document." + form + "." + name + "Annee.selectedIndex = " + selectedIndex + ";");

  eval("document." + form + "." + name + ".value = \"" + currentDate + "\";");
}

function updateHiddenDateField(index, value, dateField) {
  if(dateField.value == "") dateField.value = "01/00/0000";
  if(index == 1) dateField.value = value + dateField.value.substr(2, 8);
  else if(index == 2) dateField.value = dateField.value.substr(0, 3) + value + dateField.value.substr(5, 5);
  else dateField.value = dateField.value.substr(0, 6) + value;
  if(dateField.value == "01/00/0000") dateField.value = "";
}

function fallBack(contextPath, action) {
  if(confirm("Vous souhaitez revenir \340 une \351tape pr\351c\351dente de la simulation pour modifier votre saisie.\nAttention, vous devrez obligatoirement ressaisir toutes les donn\351es post\351rieures \340 cette \351tape.\n\nConfirmez-vous ce retour ?")) document.location.href = contextPath + "/" + action + "?back=1";
}

function sauvegarderSimulation(contextPath){
	if(confirm("Vous souhaitez sauvegarder votre simulation et quitter l'application pour revenir plus tard.\nToutes les donn\351es saisies seront conserv\351es sauf celles de la page en cours.\nConfirmez-vous votre choix ?")){
		document.location.href = contextPath + "/affichageSauvegardeSimulation.do";
	}
}