﻿function imprim()
{
   souschaine = "page=";
   if (document.URL.indexOf(souschaine) != -1)
   {
       if (typeof(modepage)!='undefined')
       {
           if (modepage==2)
           {
               alert('ATTENTION ! L\'impression devra être effectuée en mode paysage.\nPour cela, cliquez sur le bouton Préférences et sélectionnez l\'orientation paysage dans la fenêtre d\'impression suivante.');
           }
       }
       if (typeof (modepage) != 'undefined') {
           //impression_specifique pourra etre défini dans les page WOC qui auront un traitement de l'impression
           //différent de la l'impression du frame iframeasp comme l'inventaire ovin du woc (pdf)
           if (document.getElementById("iframeasp") != null &&
               document.getElementById("iframeasp").contentWindow.impression_specifique)
               document.getElementById("iframeasp").contentWindow.ApplyImpressionSpecifique();
           else {
               eval("iframeasp" + printpage).focus();
               eval("iframeasp" + printpage).print();
           }
       }
   }
   else
   {
       if (typeof(modepage)!='undefined')
       {
           if (modepage==2)
           {
               alert('ATTENTION ! L\'impression devra être effectuée en mode paysage.\nPour cela, cliquez sur le bouton Préférences et sélectionnez l\'orientation paysage dans la fenêtre d\'impression suivante.');
           }
       }
       window.focus();
       window.print();
   }
}

function fctMsgAttente(message,left,top)
{
   //AlignGauche = document.body.clientWidth / 2 + left;
   AlignGauche = parent.parent.document.body.clientWidth / 2 + left;
   //alert(parent.parent.document.body.clientWidth);
   document.write('<div id="MsgAttente" style="z-index:1; background-color:#ffffff; border:1px solid #909090; width:250px; position:absolute; left:' + AlignGauche + 'px; top:' + top + 'px; display:none;">');
   document.write('<span class="msguser">');
   document.write('<table><tr><td align=\'center\'><img src="images/chargement.gif" align="absmiddle" hspace="10" vspace="5"></td><td class="msguser" align=\'center\'>');
   document.write(message + '</td></tr></table>');
   document.write('</span>');
   document.write('</div>');
}

function fctMsgAttenteLong(message,complement,left,top)
{
   AlignGauche = parent.parent.document.body.clientWidth / 2 + left;
   document.write('<div id="MsgAttente" style="z-index:1; background-color:#ffffff; border:1px solid #909090; width:400px; position:absolute; left:' + AlignGauche + 'px; top:' + top + 'px; display:none" class="ombrage">');
   document.write('<span class="msguser">');
   document.write('<table><tr><td align=\'center\'><img src="images/chargement2.gif" hspace="10" vspace="5"></td><td class="msguser">');
   document.write('<b>' + message + '</b><br><br><font color="#808080">' + complement + '</font></td></tr></table>');
   document.write('</span>');
   document.write('</div>');
}

function checkdate(objName1,objName2,nbrDate,msgConfirm) {  // objName1 = Date1   objName2 = Date2   nbrDate = 1 ou 2   msgConfirm = 0 ou 1
if (nbrDate == 2 )   // ------ 2 dates a controler ------
   {
   if (objName1.value.length < 6)   // test si Date1 < 6 caracteres
      {
      alert("La date de début doit comporter au minimum 6 caractères.")
      objName1.select()
      objName1.focus();
      return false;
      }
   if (objName2.value.length < 6)   // test si Date2 < 6 caracteres
      {
      alert("La date de fin doit comporter au minimum 6 caractères.")
      objName2.select()
      objName2.focus();
      return false;
      }
   
   toto = objName1.value;
   result = toto.replace(/\//g,"");
   if (isNaN(result))
   {
      alert("La date de début n'est pas valide.");
      objName1.select();
      objName1.focus();
      return false;
   }
   
   toto = objName2.value;
   result = toto.replace(/\//g,"");
   if (isNaN(result))
   {
      alert("La date de fin n'est pas valide.");
      objName2.select();
      objName2.focus();
      return false;
   }
   
   var datefield = objName1;
   if (chkdate(objName1) == false)  // test si le format de Date1 est OK
      {
      datefield.select();
      alert("La date de début n'est pas valide.");
      datefield.focus();
      return false;
      }
   var datefield = objName2;
   if (chkdate(objName2) == false)  // test si le format de Date2 est OK
      {
      datefield.select();
      alert("La date de fin n'est pas valide.");
      datefield.focus();
      return false;
      }
   if (chkdate(objName1) == true && chkdate(objName2) == true)   // envoi le formulaire si tout est OK
      {
      if (msgConfirm == 1)  // affiche le message de confirmation
         {
         if (confirm("Etes-vous sûr de vouloir lancer le traitement d'édition ?"))
            {
            return true;
            }
         else
            {
            return false;
            }
         }
      else
         {
         return true;
         }
      }
   }
   else  // ------ 1 date a controler ------
      {
      if (objName1.value.length < 6)   // test si Date1 < 6 caracteres
         {
         alert("La date doit comporter au minimum 6 caractères.")
         objName1.select()
         objName1.focus()
         return false;
         }
         
         toto = objName1.value;
         result = toto.replace(/\//g,"");
         if (isNaN(result))
         {
            alert("La date n'est pas valide.");
            objName1.select();
            objName1.focus();
            return false;
         }
         
         var datefield = objName1;
         if (chkdate(objName1) == false)  // test si le format de Date1 est OK
            {
            datefield.select();
            alert("La date n'est pas valide.");
            datefield.focus();
            return false;
            }
         if (chkdate(objName1) == true)   // envoi le formulaire si tout est OK
            {
            if (msgConfirm == 1)  // affiche le message de confirmation
               {
               if (confirm("Etes-vous sûr de vouloir lancer le traitement d'édition ?"))
                  {
                  return true;
                  }
               else
                  {
                  return false;
                  }
               }
            else
               {
               return true;
               }
            }
      }
}

// ------------------------------------------------------------------------------

function checkdate2(objName) {
if (objName.value.length < 6) {
alert("La date doit comporter au minimum 6 caractères.")
objName.select()
objName.focus();
return false;
}
else {
var datefield = objName;
if (chkdate(objName) == false) {
datefield.select();
alert("La date n'est pas valide.");
datefield.focus();
return false;
}
else {
return true;
   }
   }
}

// ------------------------------------------------------------------------------

function chkdate(objName) {
var strDatestyle = "EU";
var strDate;
var strDateArray;
var strDay;
var strMonth;
var strYear;
var intday;
var intMonth;
var intYear;
var booFound = false;
var datefield = objName;
var strSeparatorArray = new Array("-"," ","/",".");
var intElementNr;
var err = 0;
var strMonthArray = new Array(12);
strMonthArray[0] = "01";
strMonthArray[1] = "02";
strMonthArray[2] = "03";
strMonthArray[3] = "04";
strMonthArray[4] = "05";
strMonthArray[5] = "06";
strMonthArray[6] = "07";
strMonthArray[7] = "08";
strMonthArray[8] = "09";
strMonthArray[9] = "10";
strMonthArray[10] = "11";
strMonthArray[11] = "12";
strDate = datefield.value;
if (!isNaN(strDate) && strDate.length > 8) {
return false;
}
if (strDate.length < 1) {
return true;
}
for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++) {
if (strDate.indexOf(strSeparatorArray[intElementNr]) != -1) {
strDateArray = strDate.split(strSeparatorArray[intElementNr]);
if (strDateArray.length != 3) {
err = 1;
return false;
}
else {
strDay = strDateArray[0];
strMonth = strDateArray[1];
strYear = strDateArray[2];
}
booFound = true;
   }
}
if (booFound == false) {
if (strDate.length>5) {
strDay = strDate.substr(0, 2);
strMonth = strDate.substr(2, 2);
strYear = strDate.substr(4);
   }
}
if (strYear.length == 1 || strYear.length == 3) {
return false;
}
if (strYear.length == 2) {
strYear = '20' + strYear;
}
intday = strDay;  // parseInt(strDay, 10);
// si numero du jour inférieur à 2 chiffres, on force sur 2 chiffres avec le 0
if (intday.length == 1) {
intday = '0' + strDay;
}
if (isNaN(intday)) {
err = 2;
return false;
}
intMonth = parseInt(strMonth, 10);
if (isNaN(intMonth)) {
for (i = 0;i<12;i++) {
if (strMonth.toUpperCase() == strMonthArray[i].toUpperCase()) {
intMonth = i+1;
strMonth = strMonthArray[i];
i = 12;
   }
}
if (isNaN(intMonth)) {
err = 3;
return false;
   }
}
intYear = parseInt(strYear, 10);
if (isNaN(intYear)) {
err = 4;
return false;
}
if (intMonth>12 || intMonth<1) {
err = 5;
return false;
}
if ((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8 || intMonth == 10 || intMonth == 12) && (intday > 31 || intday < 1)) {
err = 6;
return false;
}
if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intday > 30 || intday < 1)) {
err = 7;
return false;
}
if (intMonth == 2) {
if (intday < 1) {
err = 8;
return false;
}
if (LeapYear(intYear) == true) {
if (intday > 29) {
err = 9;
return false;
}
}
else {
if (intday > 28) {
err = 10;
return false;
}
}
}
datefield.value = intday + "/" + strMonthArray[intMonth-1] + "/" + strYear
return true;
}

// ------------------------------------------------------------------------------

function LeapYear(intYear) {
if (intYear % 100 == 0) {
if (intYear % 400 == 0) { return true; }
}
else {
if ((intYear % 4) == 0) { return true; }
}
return false;
}

// ------------------------------------------------------------------------------

function doDateCheck(from, to) {
if (from.value == "" || to.value == "") {
alert("Vous devez indiquer une date de début et une date de fin.")
return false;
}
else {
return true;
}
}

// Teste si la date passée en paramètre est supérieure à la date de jour
function Compar2Dates(date1,date2)
{	
	var dtm_Date1 = new Date(date1.getFullYear(),date1.getMonth(),date1.getDate());
	var dtm_Date2 = new Date(date2.getFullYear(),date2.getMonth(),date2.getDate());
	
	if(dtm_Date1.getFullYear() == dtm_Date2.getFullYear() &&
	   dtm_Date1.getMonth() == dtm_Date2.getMonth() &&
	   dtm_Date1.getDate() == dtm_Date2.getDate())
	   return 0;
    if (dtm_Date1 < dtm_Date2)
        return -1;
    else
        return 1;
}

// Convertit une chaîne en date
function StringToDate(ma_chaine)
{
    var j=(ma_chaine.substring(0,2)); 
    var m=(ma_chaine.substring(3,5));
    var a=(ma_chaine.substring(6)); 
	return new Date(a,m-1,j);
}
