<!-- // JavaScript Document
/**
 * Bibliothèque de scripts utilisables soit depuis une page PHP5 soit depuis une page HTML.
 *
 * JavaScript
 *
 * LICENSE: Ce script vous est gracieusement offert par The Liberated Seven Dwarfs et est libre de tout droit
 * d'utilisation privée et non commerciale sous la restriction de conserver le présent entête et de respecter
 * la licence Creative Commons : By-Nc-Sa.
 *
 * @category Web utilities
 * @package the_LSD_Php5_Counter2
 * @author The Liberated Seven Dwarfs
 * @copyright 2008-2009 Advanced Software Solutions Inc.
 * @license Creative-Commons_By-Nc-Sa - http://creativecommons.org/licenses/by-nc-sa/2.0/fr/
 * @link http://theliberated7dwarfs.as2.com
 * @version 2.0.0.a - February 9, 2009
 * @filesource LSD_Bib2.js
 */
 
// LSD_Ajax_Stuff2.js
/**
 * Ajax connector
 */
var net=new Object();
/**
 * Constants
 */
net.READY_STATE_UNINITIALIZED=0;
net.READY_STATE_LOADED=1;
net.READY_STATE_INTERACTIVE=2;
net.READY_STATE_COMPLETE=4;
/**
 * 
 */
net.ParamOnload=function(param)
   {
      if(param)
         {
            this.paramOnload=(param=='NULL')?null:param;
         }
      else
         {
            return this.paramOnload;
         }
   }
/**
 * Constructors
 */
net.ContentLoader=function(url,onload,onerror,method,params,contentType)
   {
      this.url=url;
      this.req=null;
      this.onload=onload;
      this.onerror=(onerror)?onerror:this.defaultError;
      this.paramOnLoad=net.ParamOnload();
      this.loadXMLdoc(url,method,params,contentType,this.paramOnload);
   }
/**
 *
 */
net.ContentLoader.prototype.loadXMLdoc=function(url,method,params,contentType)
   {
      if(!method)
         {
            method="GET";
         }
      if(!contentType&&method=="POST")
         {
            contentType="application/x-www-form-urlencoded";
         }
      if(window.XMLHttpRequest)
         {
            this.req=new XMLHttpRequest();
         }
      else
         if(window.ActiveObject)
            {
               this.req=new ActiveObject("Microsoft.XMLHTTP");
            }
         if(this.req)
            {
               try
                  {
                     var loader=this;
                     this.req.onreadystatechange=function()
                        {
                           loader.onReadyState.call(loader);
                        }
                     this.req.open(method,url,true);
                     if(contentType)
                        {
                           this.req.setRequestHeader("content-Type",contentType);
                        }
                     this.req.send(params);
                  }
               catch(err)
                  {
                     this.onerror.call(this);
                  }
            }
   }
/**
 *
 */
net.ContentLoader.prototype.onReadyState=function()
   {
      var req=this.req;
      var ready=req.readyState;
      if(ready==net.READY_STATE_COMPLETE)
         {
            var httpStatus=req.status;
            if(httpStatus==200||httpStatus==0)
               {
                  this.onload.call(this,this.paramOnLoad);
               }
            else
               {
                  this.onerror.call(this);
               }
         }
   }
/**
 *
 */
net.ContentLoader.prototype.defaultError=function()
   {
      alert("Erreur pour obtenir les données : "+"\n readystate:"+this.req.readyState+"\n status :"+this.req.status+"\n headers:"+this.req.getAllResponseHeaders());
   }
/**
 * Short_cut Function
 * 
 * @param element
 * @return document.getElementById(element)
 */
function LSD_$(element)
   {
      var my_Element="";
      if(element)
         {
            my_Element=element;
         }
      return document.getElementById(my_Element);
   }
/**
 *
 */
function ajax_Update(element,option)
   {
       var param, url, method = 'POST';
       if(element)
          {
              net.ParamOnload(element);
          }
// option url: , param: , method:
       if (option)
	      {
			  url=option.url ;
			  if (option.method || 0) method = option.method ;
			  if (option.param || 0 ) param = option.param;
		  }
	
	   htppReq = new net.ContentLoader(url, show_Ajax, null, method,param); 
   }
/**
 *
 */
function call_Ajax(element, url)
   {
      if(element)
         {
            net.ParamOnload(element);
         }
      if (url)
         {
            htppReq = new net.ContentLoader(url, show_Ajax, null, 'GET'); 
         }
   }
/**
 *
 */
function show_Ajax(element)
    {
       if(element)
         {
            LSD_$(element).innerHTML = this.req.responseText;
         }
    }

/** ************************************************************************* */
// LSD_Holy_Stuff2.js
/**
 * 
 */
function celebrate(element, php_Script_Path)
   {
      if (element)
         {    
            var today = new Date() ;
            var my_Url = "";
            if (php_Script_Path)
               {
                    my_Url = php_Script_Path ;
                    my_Url += '?day=' + today.getDate() + '&month=' + (today.getMonth()+1) ;
                    call_Ajax(element, my_Url);
               }
          }
     }
/**
 * 
 */
function get_DateFr(my_Date)
   {
      var month_List = new Array("Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre") ;
      var day_List = new Array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi") ;
      if (arguments.length == 0 )
         { 
            var the_Date = new Date() ;
         }
      else
         {
            var the_Date = my_Date ;
         }
      var day_Date = 
         {
            day_Name : day_List[the_Date.getDay()],
            Day : the_Date.getDate(),
            Month : month_List[the_Date.getMonth()],
            Year : the_Date.getFullYear()
         } ;
      return day_Date ;
   }
/**
 * 
 */
function write_Today(element_Name, my_Day)
   {
      if (arguments.length > 0)
         {
            var my_Element = LSD_$(element_Name) ;
            var now = (my_Day)? get_DateFr(my_Day) : get_DateFr();
            my_Element.innerHTML = now['day_Name'] + " " + now['Day'] + " " + now['Month'] + " " + now['Year'] + " " ;	
         }
   }
/**
 * 
 */
function update_My_Elements (element_Name1, element_Name2, php_Script_Path)
   {
      var current_Day ;
      var my_Day = new Date() ;
      if (!current_Day || current_Day != my_Day.getDate())
         {
            current_Day = my_Day.getDate() ;
            if (element_Name1)
               {
                  write_Today(element_Name1) ;
               }
            if (php_Script_Path)
               {
                  celebrate(element_Name2, php_Script_Path) ;
               }
         }
      setTimeout('update_My_Elements(\''+ element_Name1 + '\',\''+ element_Name2 + '\',\''+ php_Script_Path +'\');',10000) ;
   }

/** ************************************************************************* */
// LSD_Ephemerides_Stuff2.js
/**
 * 
 */
function select_Day(element)
   {
      var i = 0 ;
      if (element)
         {
            LSD_$(element).options[i] = new Option("", 1, false, false) ;
            LSD_$(element).options.length = 0 ;
            for ( i = 1; i != 32 ; i ++)
               {
                  LSD_$(element).options[i] = new Option(i, i, false, false) ;
               }
         }
     }
/**
 * 
 */
function good_Month(selected_Day)
   {
      var i = 0 ;
      if ( selected_Day && selected_Day != 0 )
         {
            change_Color('day', 'default_Color')
            switch (selected_Day)
               {
                  case 31:
                     var month_List = new Array("","Janvier","Mars","Mai","Juillet","Août","Octobre","Décembre") ;
                     break;
                  case 30:
                     var month_List = new Array("","Janvier","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre") ;
                     break;
                  default:
                     var month_List = new Array("","Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre") ;
                     break;
               }
            var month_Num = {"Janvier":1,"Février":2,"Mars":3,"Avril":4,"Mai":5,"Juin":6,"Juillet":7,"Août":8,"Septembre":9,"Octobre":10,"Novembre":11,"Décembre":12} ;
            var element_Month = LSD_$('month') ;
            element_Month.options.length = 0 ;
            var element_Year = LSD_$('year') ;
            element_Year.options.length = 0 ;
            for ( i = 1; i < month_List.length ; i ++ )
               {
                  element_Month.options[i] = new Option(month_List[i], month_Num[month_List[i]], false, false) ;
               }
         }
   }
/**
 * 
 */
function tire(selected_Month)
   {
      var i = 0 ;
      var k = 1 ;
      var j = new Date() ;
      j = j.getFullYear() ;
      j++ ;
      if (selected_Month && selected_Month != 0)
         {
            change_Color('month', 'default_Color')
            var element_Year = LSD_$('year') ;
            element_Year.options.length = 0 ;
            if ( LSD_$('month').options[selected_Month].text == "Février" && LSD_$('day').selectedIndex == 29 )
               {
                  for ( i = j; i != 1899; i -- )
                     {
                        if (is_Leap_Year(i) )
                           {
                              element_Year.options[k] = new Option(i, i, false, false) ;
                              k++ ;
                           }
                     }
               }
            else
               {
                  for ( i = j; i != 1899; i -- )
                     {
                        element_Year.options[k] = new Option(i, i, false, false) ;
                        k++ ;
                     }
               }
         }
   }
/**
 * 
 */
function is_Leap_Year(year) 
     {
          var leap_Year = false
          if (year && year %4 == 0 )
               {
                    leap_Year = true; 	
               if ( (year % 100) == 0 && (year % 400 ) != 0 )
                    {
                         leap_Year = false ; 
                    }
                    return leap_Year ;
               }
          else 
               {
                    return leap_Year ;
               }
     }
/**
 * 
 */
function write_Holy_Name_Selected()
     {
          var my_Element = LSD_$('selected_Celebration') ;
          my_Element.innerHTML = this.req.responseText ; 
     }
/**
 * 
 */
function show_Response(element1, element2, php_Script_Path) 
     {
          var url = "" ;
          if (php_Script_Path)
               {
                    url = php_Script_Path ;
               }
          url += '?day=' ;
          if ( LSD_$('year').selectedIndex == 0 || LSD_$('month').selectedIndex == 0 || LSD_$('day').selectedIndex == 0 )
               {
                    if ( LSD_$('year').selectedIndex == 0 )
                         {
                              LSD_$('year').focus() ;
                              change_Color('year', 'error_Color')
                         }
                    if ( LSD_$('month').selectedIndex == 0 )
                         {
                              LSD_$('month').focus() ;
                              change_Color('month', 'error_Color')
                         }
                    if ( LSD_$('day').selectedIndex == 0 )
                         {
                              LSD_$('day').focus() ;
                              change_Color('day', 'error_Color')
                         }
                    return ; 
               }
          else 
              {
                   change_Color('year', 'default_Color')
                   write_Today(
                                 element1 ,
                                 new Date( 
                                           LSD_$('year').options[LSD_$('year').selectedIndex].value ,
                                           LSD_$('month').options[LSD_$('month').selectedIndex].value-1 ,
                                           LSD_$('day').options[LSD_$('day').selectedIndex].value
                                         )
                              ) ;
                   url +=  LSD_$('day').options[LSD_$('day').selectedIndex].value ;
                   url += '&month=' +  LSD_$('month').options[LSD_$('month').selectedIndex].value ;
                   call_Ajax(element2, url);
              }
     }
/**
 * 
 */
function change_Color(element, color)
     {
          if (element && color)
               {
                    switch (color)
                         {
                              case "error_Color": 
                                   LSD_$(element).style.backgroundColor = "#FF0000" ;
                                   break ;
                              case "default_Color": 
                                   LSD_$(element).style.backgroundColor = "#D2D2D2" ;
                                   break ;
                              default:
                                   LSD_$(element).style.backgroundColor = "inherit" ;
                                   break ;
                         }
               }
     }

/** ************************************************************************* */
// LSD_Clock_Stuff2.js
/**
 * 
 */
function get_Time()
     {
          var now = new Date() ;
          var now_Hour = now.getHours() ;
          var now_Minute = now.getMinutes();
          var now_Second = now.getSeconds();
          var my_Hours = 
               {
                    hour : (now_Hour < 10 ? "0" + now_Hour : now_Hour),
                    minute : (now_Minute <10 ? "0" + now_Minute : now_Minute),
                    second : (now_Second <10 ? "0" + now_Second : now_Second)
               } ;
          return my_Hours ;
     }
/**
 * 
 */
function write_Time(element)
     {
          if (arguments.length > 0)
               {
                    var my_Element = LSD_$(element) ;
                    var now = get_Time() ; //
                    my_Element.innerHTML = now['hour'] + " - " + now['minute'] + " - " + now['second'] + " " ;
               }
     }
/**
 * 
 */
function show_Time(element_Name)
     {
          write_Time(element_Name) ;
          setTimeout('show_Time(\''+ element_Name +'\');',1000) ;
     }

/** ************************************************************************* */
// LSD_Counter2_Stuff2.js
/**
 * @param string -
 *         url_Id
 * @param string -
 *         php5_Root
 * @param array -
 *         counter2_Params [Config] [Debug] [Mode] [Pad] [Read] [Hidden]
 *         [Session] [Call]
 * @param array -
 *         ajax_Params [Html_Id] [Form_Id] [Msg_Id] [Html_El]
 */
function LSD_Load_Php_Script(url_Id, rough_Response, php5_Root, counter2_Params, ajax_Params)
    {
        var my_Url_Id = '';
        var js_Fct = "LSD_Download_File";
        var my_Php5_Load = 'AJAX';
        var my_Rough_Response = '';
        var my_Php5_Root = '';
        var my_Param = '';
        var my_Url_Post = '';
        var my_Url_Get = '';
        
        if(url_Id)
            {
                my_Url_Id = url_Id;
            }
        if(my_Url_Id)
            {
                if(ajax_Params && ajax_Params['html_Id'] || ajax_Params['html_El'] )
                    {
                        if(rough_Response)
                            {
                                my_Rough_Response = rough_Response;
                            }
                        if(php5_Root)
                            {
                                my_Php5_Root = php5_Root;
                            }
                        if(counter2_Params)
                            {
                                var my_Counter2_Config = '';
                                var my_Counter2_Debug = '';
                                var my_Counter2_Mode = '';
                                var my_Counter2_Pad = '';
                                var my_Counter2_Read = '';
                                var my_Counter2_Hidden = '';
                                var my_Counter2_Session = '';
                                var my_Js_Call = 'POST';
                                for (var key in counter2_Params)
                                    {
                                        switch(key)
                                            {
                                                case 'Config':
                                                    var counter2_Config = counter2_Params[key];
                                                    my_Counter2_Config = counter2_Config;
                                                    break;
                                               case 'Debug':
                                                    var counter2_Debug = counter2_Params[key];
                                                    if (counter2_Debug == 'DEBUG'.toUpperCase())
                                                        {
                                                            my_Counter2_Debug = counter2_Debug;
                                                        }
                                                    break;
                                                case 'Mode':
                                                    var counter2_Mode = counter2_Params[key];
                                                    my_Counter2_Mode = counter2_Mode;
                                                    break;
                                                case 'Pad':
                                                    var counter2_Pad = counter2_Params[key];
                                                    my_Counter2_Pad = counter2_Pad;
                                                    break;
                                                case 'Read':
                                                    var read_Mode = counter2_Params[key];
                                                    my_Counter2_Read = read_Mode;
                                                    break;
                                                case 'Hidden':
                                                    var counter2_Hidden = counter2_Params[key];
                                                    my_Counter2_Hidden = counter2_Hidden;
                                                    break;
                                                case 'Session':
                                                    var session_Id = counter2_Params[key];
                                                    my_Counter2_Session = session_Id;
                                                    break;
                                                case 'Call':
                                                    var Js_Call = counter2_Params[key].toUpperCase();
                                                    if (Js_Call == 'GET')
                                                        {
                                                             my_Js_Call = 'GET';
                                                        }
                                                    break;
                                                default:
                                                    break;
                                            }
                                    }
                            }
                        my_Param =  'LSD_Load='+my_Php5_Load+
                                    '&LSD_Rough='+my_Rough_Response+
                                    '&LSD_Root='+my_Php5_Root+
                                    '&LSD_Debug='+my_Counter2_Debug+
                                    '&LSD_Config='+my_Counter2_Config+
                                    '&LSD_Mode='+my_Counter2_Mode+
                                    '&LSD_Pad='+my_Counter2_Pad+
                                    '&LSD_Read='+my_Counter2_Read+
                                    '&LSD_Hidden='+my_Counter2_Hidden+
                                    '&LSD_Session='+my_Counter2_Session;
                        my_Url_Get = my_Url_Id + '?'+ my_Param;
                        my_Url_Post = my_Url_Id; 
                                var my_Js_Fct = eval(js_Fct);
                                if (my_Js_Call != 'POST')
                                    {
                                        LSD_Get_Ajax_Data(my_Url_Get,ajax_Params,my_Js_Fct);
                                    }
                                else
                                    {
                                        LSD_Post_Data(my_Url_Post,ajax_Params,my_Param,null,my_Js_Fct);
                                    }
                        if(ajax_Params['html_Id'] && LSD_$(ajax_Params['html_Id']))
                            {
                                LSD_$(ajax_Params['html_Id']).innerHTML='';
                                LSD_$(ajax_Params['html_Id']).style.display='block';
                            }
                    }
            }
    }
/**
 * @param array -
 *         params
 */
function LSD_Download_File(params)
    {
        if(params)
            {
                for( var key in params)
                    {
                        switch(key)
                            {
                                case 'html_Id':
                                    var my_Html_Id = params[key];
                                    break;
                                case 'form_Id':
                                    var my_Form_Id = params[key];
                                    break;
                                case 'msg_Id':
                                    var my_Msg_Id = params[key];
                                    break;
                                case 'html_El':
                                    var my_Html_El = params[key];
                                    break;
                                default:
                                    break;
                            }
                    }
                if(my_Form_Id && LSD_$(my_Form_Id))
                    {
                        if(confirm(my_Msg_Id))
                            {
                                LSD_$(my_Form_Id).submit();
                            }
                    }
                if(my_Html_Id)
                    {
                        if(!my_Form_Id)
                            {
                                if(my_Msg_Id)
                                    {
                                        alert(my_Msg_Id);
                                    }
                            }
                     if (LSD_$(my_Html_Id)) LSD_$(my_Html_Id).innerHTML = this.req.responseText;
                    }
                if(my_Html_El)
                    {
                        my_Html_El.title = this.req.responseText;
                    }
            }
    }
/**
 * @param string -
 *         url_Id est la page à appeller (php, asp, txt avec les paramètres)
 * @param string -
 *         element_Id est l'id de l'élément HTML où écrire la réponse
 * @param function -
 *         js_Fct est la fonction JS à exécuter
 */
function LSD_Get_Ajax_Data(url_Id, element_Id, js_Fct)
    {
        var my_Url_Id = "";
        var my_Element_Id = "";
        var my_Js_Fct = "";
        if(url_Id)
            {
                my_Url_Id = url_Id;
                if(element_Id)
                    {
                        my_Element_Id = element_Id;
                        net.ParamOnload(my_Element_Id);
                    }
                else
                    {
                        net.ParamOnload('NULL');
                    }
                if(js_Fct)
                    {
                        my_Js_Fct = js_Fct;
                    }
                new net.ContentLoader(my_Url_Id, my_Js_Fct, null, 'GET');
            }
    }
/**
 * @param string -
 *         url_Id est l'id de la page à appeler
 * @param string_ou_object -
 *         element_Id est soit l'Id d'un élément HTML soit un objet {html_Id :
 *         xxx, html_El:xxx}
 * @param string -
 *         param est la valeur à envoyer par le POST. Exemple :
 *         nom=valeur&xxx=yyy etc ...
 * @param string -
 *         content est le header à envoyer par défaut text/html
 * @param function -
 *         js_Fct est la fonction JS à executer pour traiter les données
 *         retournées
 */
function LSD_Post_Data(url_Id, element_Id, param, content, js_Fct)
    {
        var my_Url = "";
        var my_Param = "";
        var my_Content = "";
        var my_Js_Fct = "";
        if(url_Id)
            {
                my_Url = url_Id;
                if(element_Id)
                    {
                        var my_Element_Id = element_Id;
                        net.ParamOnload(my_Element_Id);
                    }
                else
                    {
                        net.ParamOnload('NULL');
                    }
                if(param)
                    {
                        my_Param = param;
                    }
                if(content)
                    {
                        my_Content = content;
                    }
                
                if(js_Fct)
                    {
                        my_Js_Fct = js_Fct;
                    }
                new net.ContentLoader(my_Url, my_Js_Fct, null, 'POST', my_Param, my_Content);
            }
    }

/** ************************************************************************* */
// LSD_Change_Img.js
/**
 * 
 */
function change_Img (img_Id, img_Name)
     {
          my_New_Img = LSD_$(img_Id);
          my_New_Img.src = img_Name;
     }
//


/** ************************************************************************** */
// LSD_News
/**
 *
 */
function start_News(my_Message, form_Length, speed, font, size)
   {
      var x = new Date(); 
      var form_Count = x.getTime();
      var form_Name = "scrollForm" + form_Count;
      var field_Name = "scrollField" + form_Count;
      var family_Font = font;
      if (family_Font == '')
         {
            family_Font = "Courier";
         }
      var font_Size = size;
      if (font_Size == '')
         {
            font_Size = 10;
         }
      if ((navigator.userAgent.indexOf("MSIE") == -1) && (navigator.userAgent.indexOf("msie") == -1))
         {
            size = size-2;
         } 
      else
        {
            size = size+2;
        }
      document.write('<Form name="'+ form_Name + '"><INPUT NAME="'+ field_Name + '" SIZE="'+ form_Length + '" STYLE="font-size:' + font_Size + 'px; font-family:'+ family_Font + '"></Form>');
      eval("scroll_Message(document." + form_Name + "." + field_Name + ", my_Message, form_Length, speed, 0, 0, 0)");
   }

function scroll_Message(theField,my_Message,theWidth,theSpeed,scrollStart,scrollEnd,scrollCount)
   {
      theOtherField = theField;
      if (scrollEnd < (my_Message.length))
         {
            theField.value = pad_Message_Prefix(my_Message.substring(scrollStart,scrollEnd)," ",theWidth-scrollCount);
            scrollEnd++;
         }
      else
         {
            scrollCount++;
            theField.value = pad_Message_Suffix(pad_Message_Prefix(my_Message.substring(scrollStart,scrollEnd)," ",theWidth-scrollCount)," ",theWidth);
         }
      if (scrollCount == (parseInt(theWidth)-my_Message.substring(scrollStart,scrollEnd).length+1))
         {
            scrollStart++;
         }
      if (scrollStart == scrollEnd)
         {
            scrollStart = 0;
            scrollEnd = 0;
            scrollCount = 0;
         }
      scrollTimeout=eval("window.setTimeout('scroll_Message(theOtherField,\""+my_Message+"\"," + theWidth + "," + theSpeed + "," + scrollStart + "," + scrollEnd + "," + scrollCount + ")',theSpeed)");
   }

function pad_Message_Prefix (InString, PadChar, DefLength)
   {
      if (InString.length>=DefLength)
         {
            return (InString);
         }
            var OutString = InString;
            for (Count = InString.length; Count<DefLength; Count++)
               {
                  OutString=PadChar+OutString
               }
      return (OutString);
   }

function pad_Message_Suffix (InString, PadChar, DefLength)
   {
      if (InString.length >= DefLength)
         {
            return (InString);
         }
      var OutString = InString;
      for (Count = InString.length; Count<DefLength; Count++)
         {
            OutString = OutString + PadChar
         }
      return (OutString);
}

-->

