﻿<!--
var isFormDirty=false;
  
function askForSaveBeforeExit(evt) {
  if(isFormDirty) {
    //return confirm("La fiche a été modifiée, souhaitez-vous enregistrer les modifications ?") ? saveObject(evt) : true;
    return saveObject(evt);
    }
  else {
    return true;
    }
  }

function configureForms() {
  //populateIntDate();
  //populateSelects();
  configurePropertiesAutoCheck();
  }

function configurePropertiesAutoCheck() {
  if(typeof(displayMode)=="undefined") {displayMode="";}
  if((displayMode||"").toLowerCase()=="write") {
    $$("FORM").each(function(elt) {
      elt.getElements().each(function(element) {
        if(!element.readAttribute("ignore") && !element.monitored) {
          element.stopObserving().observe("keypress", Form.Element.check).observe("blur", function(evt) {
            if(Form.Element.validate(evt)) {
              if((element.readAttribute("dataType")=="date" || element.readAttribute("dataType")=="dateLong") && element.getValue()) {
                element.value=Date.convert($CDate(element.getValue()), 103);
                }
              }
            });
          new Form.Element.EventObserver(element, function(element, value) {
            element.addClassName("dirty");
            if(!isFormDirty) {
              isFormDirty=true;
              document.title+=" *";
              if($("contextSave")) {
                $("contextSave").observe("click", saveObject).removeClassName("disabled");
                }
              }
            });
            element.monitored=true;
          }
        });
      });
    }
  }

function saveObject(evt) {
  var form=$("currentItemForm");

  if(form && idCurrentItem) {
    Event.stop(evt);
    if(updateXMLFlow()) {
// ===============================================================================
      form.method="POST";
      //form.action=document.location.href.gsub(/(\?|&)mode=write/, function(match){return match[0].gsub("write", "read");});
      form.action+=(!form.action.toQueryParams().id ? "id="+idCurrentItem+"&" : "")+(!form.action.include("action=save") ? "action=save" : "");
      //form.action=document.location.href+(document.location.href.indexOf("?")!=-1 ? "&" : "?")+"action=save";
      form.submit();
      return false;
// ===============================================================================
      }
    else {
      alert("Une ou plusieurs valeurs sont invalides !");  
      return false;
      }
    }
  }

function switchMode(evt) {
  if(!askForSaveBeforeExit(evt)) {
    Event.stop(evt);
    }
  }
  
function updateXMLFlow() {
  if($("currentItemForm") && idCurrentItem) {
    var result=true;
    $("currentItemForm").getElements().each(function(element) {
      if(!element.validate()) {
        result=false;
        throw $break;
        }
      });
    return result;
    }
  }
  
function loadClientLeger() {
  //beginTransition();
  Event.observe("linkSwitchMode", "click",  switchMode);
  Event.observe("formSwitchMode", "submit",  switchMode);
  //Macallan.insertStyleSheet("../themes/compositions/Office%202007%20bleu/default.css");  
  configureForms();
  document.fire("currentItem:afterXSLTransformation");
  $$("A[href='']").each(function(link) {link.observe("click", Event.stop);});
  //document.observe("currentItem:afterXSLTransformation", configureForms);
  //endTransition();
  }
//-->