﻿// JScript File
String.prototype.trim = function ()
{
    var re1 = /^\s+/
    var re2 = /\s+$/
    return this.replace(re1,"").replace(re2,"");
}

        function CheckLength(obj,errorObjId)
        {
            var errorObj=document.getElementById(errorObjId);
            if(obj.value.length==250)
                errorObj.style.display="";
            else
                errorObj.style.display="none";
        }
        function GetFuncRegPostCodeValidate()
        {
            var fields=arguments;
            return function (sender, args)
		    {
		         var reg=RegExp("^[A-Za-z]([0-9A-Za-z]{3}|[0-9A-Za-z]{2}|[0-9A-Za-z])[0-9][A-Za-z]{2}$","m");
		         var flagRe=true;
		         var flagNe=true;
                 var txt="";
                 for(var i=0; i<fields.length; i++){
        		      var obj=document.getElementById(fields[i]);
                      flagNe &= (obj.value.trim().length>0);
                      txt += obj.value;
                 }
		         if(flagNe)
		         {
		            args.IsValid = /^[A-Za-z]([0-9A-Za-z]{3}|[0-9A-Za-z]{2}|[0-9A-Za-z])[0-9][A-Za-z]{2}$/m.test(txt);
		         }
		         else
		         {
		            args.IsValid=true;
		         }
		    }
		}
		function GetFunctReqValidation()
		{
            var fields=arguments;
		    return function (sender, args)
		    {
		        var flag=true;
                for(var i=0; i<fields.length; i++){
        		     var obj=document.getElementById(fields[i]);
                     flag &= (obj.value.trim().length>0);
                }
		        args.IsValid=flag;
		    }
        }
        function GetFuncBoxSetChecked()
        {
            var boxIds=arguments;
		    return function (source,args)
            {
                var temp = false;
                for(var i=0; i<boxIds.length; i++){
                    temp |=  document.getElementById(boxIds[i]).checked 
                }
                args.IsValid = temp;
            }
        }
        
        		//------------------------------------------
		function formatDate(chaine) {
  var ctl = /^(\d\d?)\/(\d\d?)\/(\d\d)(\d\d)?$/;
  var tab = ctl.exec(chaine);
  if (tab && tab.length) {
     this.jour = tab[1];
     this.mois = tab[2] - 1;
     if (tab.length > 4) this.an = (tab[4]) ? tab[3] + tab[4] : 2000 + eval(tab[3]);
     else this.an = 2000 + eval(tab[3]);
     this.OK = true;
  }
  else this.OK = false;
}

function nombreJours(autreDate) {
  if (this.OK) {
     var date1 = new Date(this.an, this.mois, this.jour);
     if (autreDate.OK)
        var date2 = new Date(autreDate.an, autreDate.mois, autreDate.jour);
     else return "erreur";
  }
  else return "erreur";
  if (date1.getTime() < date2.getTime() || date1.getTime() == date2.getTime())
     return Math.floor((date2.getTime() - date1.getTime()) / 1000 / 60 / 60 / 24);
  else  
     return "";
}

formatDate.prototype.nombreJours = nombreJours;

function calcDuree(startId,endId,destId){
  var startElem=document.getElementById(startId);
  var endElem=document.getElementById(endId);
  var destElem=document.getElementById(destId);
  if ( startElem.value.trim().length==0 || endElem.value.trim().length == 0 )
  {
     destElem.value = "";
  }
  else {
     var date1 = new formatDate(startElem.value);
     var date2 = new formatDate(endElem.value);
     destElem.value = date1.nombreJours(date2);
     if(isNaN(destElem.value)) destElem.value = "";
  }
}
