function init(){
	//init_cookies();
	init_all_handlers();
	init_cookies();
}

function init_cookies()
{
   //charge les parametres javascript de la page 
   if(document.getElementById('google')) document.getElementById('google').focus();
   //intranet
   if (getCookie('__ac_name') && document.getElementById('__ac_name')) document.getElementById('__ac_name').value=getCookie('__ac_name');
   if (getCookie('__ac_password') && document.getElementById('__ac_password')) document.getElementById('__ac_password').value=getCookie('__ac_password');
   //email
   if (getCookie('EMAILADDRESS') && document.getElementById('EMAILADDRESS')) document.getElementById('EMAILADDRESS').value=getCookie('EMAILADDRESS');
   if (getCookie('PASSWORD') && document.getElementById('PASSWORD')) document.getElementById('PASSWORD').value=getCookie('PASSWORD');
   debug = getCookie('__ac_name') + "\n" + getCookie('__ac_password') +"\n" + getCookie('EMAILADDRESS') + "\n" + getCookie('PASSWORD') + "\n";
   //alert(debug);
   if (getCookie('briou_login') && document.getElementById('briou_login')) document.getElementById('briou_login').value=getCookie('briou_login');
   if (getCookie('briou_passwd') && document.getElementById('briou_passwd')) document.getElementById('briou_passwd').value=getCookie('briou_passwd');
}

function init_all_handlers(){
        //je veux associer à l'evenement click de register l'apparition de la form
	if (document.getElementById('registration')){
		reg = document.getElementById('registration');
		DOM2Event.initRegistration(reg);
		reg.addEventListener('click', regHandler, true);
	}
	
        /* Jeff a descid&eacute; de ne plus branch&eacute; les descripteur
	//on branche les descripteurs de la form id = desc_xxxxx
	for (i=1; i < 20; i++) {
	    var desc_str = "choix_" + i;
	    if (document.getElementById(desc_str)){
			desc = document.getElementById(desc_str);
			DOM2Event.initRegistration(desc);
		    desc.addEventListener('mousemove', descShowHandler, true);
		    desc.addEventListener('mouseout', descHideHandler, true);
	    }
	 }
        */
        
        //on branche l'assignation d'un formulaire  de la form id = assignno_xxxxx
	for (i=1; i < 20; i++) {
	    var desc_str = "assignno_" + i;
	    if (document.getElementById(desc_str)){
			desc = document.getElementById(desc_str);
			DOM2Event.initRegistration(desc);
		        desc.addEventListener('click', assignnoHandler, true);
	    }
	 }


	 //on branche les boutons changes de la form change_xxx_xxxx
	 for (i=1; i < 20; i++) {
	    for (j=0; j < 20; j++){
		    var desc_str = "change_" + i + "_" + j;
		    if (document.getElementById(desc_str)){
				var desc = document.getElementById(desc_str);
				DOM2Event.initRegistration(desc);
			    desc.addEventListener('click', choixHandler, true);
		    }
	    }
	 }


	 
}


function subm_intra()
{
  
  var now = new Date();
  fixDate(now);
  now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000);
  setCookie('__ac_name',document.getElementById('__ac_name').value, now);
  setCookie('__ac_password',document.getElementById('__ac_password').value, now);
  //alert( "les cookies ont &eacute;t&eacute; initialis&eacute;" ); 
  setCookie('venu',1, now);  
}

function subm_mail()
{
  var now = new Date();
  fixDate(now);
  now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000);
  setCookie('EMAILADDRESS',document.getElementById('EMAILADDRESS').value, now);
  setCookie('PASSWORD',document.getElementById('PASSWORD').value, now);
  setCookie('venu',1, now);  
}

function subm_briou()
{
  var now = new Date();
  fixDate(now);
  now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000);
  setCookie('briou_login',document.getElementById('briou_login').value, now);
  setCookie('briou_passwd',document.getElementById('briou_passwd').value, now);
  setCookie('venu',1, now);  
}

function subm_search()
{
  var now = new Date();
  fixDate(now);
  now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000);
  setCookie('venu',1, now);  
}


/*
   name - name of the cookie
   value - value of the cookie
   [expires] - expiration date of the cookie
     (defaults to end of current session)
   [path] - path for which the cookie is valid
     (defaults to path of calling document)
   [domain] - domain for which the cookie is valid
     (defaults to domain of calling document)
   [secure] - Boolean value indicating if the cookie transmission requires
     a secure transmission
   * an argument defaults when it is assigned null as a placeholder
   * a null placeholder is not required for trailing omitted arguments
*/

function setCookie(name, value, expires, path, domain, secure) {
  var curCookie = name + "=" + escape(value) +
      ((expires) ? "; expires=" + expires.toGMTString() : "") +
      ((path) ? "; path=" + path : "") +
      ((domain) ? "; domain=" + domain : "") +
      ((secure) ? "; secure" : "");
  document.cookie = curCookie;
}


/*
  name - name of the desired cookie
  return string containing value of specified cookie or null
  if cookie does not exist
*/

function getCookie(name) {
  var dc = document.cookie;
  var prefix = name + "=";
  var begin = dc.indexOf("; " + prefix);
  if (begin == -1) {
    begin = dc.indexOf(prefix);
    if (begin != 0) return null;
  } else
    begin += 2;
  var end = document.cookie.indexOf(";", begin);
  if (end == -1)
    end = dc.length;
  return unescape(dc.substring(begin + prefix.length, end));
}


/*
   name - name of the cookie
   [path] - path of the cookie (must be same as path used to create cookie)
   [domain] - domain of the cookie (must be same as domain used to
     create cookie)
   path and domain default if assigned null or omitted if no explicit
     argument proceeds
*/

function deleteCookie(name, path, domain) {
  if (getCookie(name)) {
    document.cookie = name + "=" +
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    "; expires=Thu, 01-Jan-70 00:00:01 GMT";
  }
}

// date - any instance of the Date object
// * hand all instances of the Date object to this function for "repairs"

function fixDate(date) {
  var base = new Date(0);
  var skew = base.getTime();
  if (skew > 0)
    date.setTime(date.getTime() - skew);
}

function regHandler(evt) {
    var e = new DOM2Event(evt, window.event, this);
    var form_enregistrement = document.getElementById('register');
    form_enregistrement.style.left= e.clientX;
    form_enregistrement.style.top= e.clientY + 10;
    form_enregistrement.style.visibility = 'visible';
}

function descShowHandler(evt){
    var e = new DOM2Event(evt, window.event, this);
    var desc = document.getElementById("desc_" + e.target.id);
    desc.style.left= e.clientX;
    desc.style.top= e.clientY + 10;
    desc.style.visibility = 'visible';
}

function assignnoHandler(evt){

    var e = new DOM2Event(evt, window.event, this);
    var str = e.target.id;
    deb = str.indexOf('_');
    id_form = str.substr(deb+1);
    //alert(id_form);
    document.formo.id_form.value = id_form;
    //maintenant on fait apparaitre la forme qui permettra de choisir la position de ce formulaire dans le rendu
    var choisit_position = document.getElementById('choisit_position');
    //alert(choisit_position);
    choisit_position.style.display = 'block';
    choisit_position.style.left =  e.clientX-100;
    choisit_position.style.top =  e.clientY + 20;
}


function choixHandler(evt){

    var e = new DOM2Event(evt, window.event, this);
    var str = e.target.id;
    deb = str.indexOf('_');
    pos = str.lastIndexOf('_');
    diff = pos - deb;
    position = str.substr(deb+1, diff-1);
    num = str.substr(pos+1);
    document.formo.position.value = position;
	
    //alert (str + " --> " + num);
    var formo = document.getElementById("formo");
    formo.style.left= e.clientX + 20;
    formo.style.top= e.clientY - 20;
    formo.style.visibility = 'visible';
    
    if(num){
		var rad = 'rad_' + num;
		if(document.getElementById(rad)) document.getElementById(rad).checked = true;
    }
        

}

function descHideHandler(evt){
    var e = new DOM2Event(evt, window.event, this);
    var desc = document.getElementById("desc_" + e.target.id);
    desc.style.visibility = 'hidden';
}

function show_form(){
    var formo = document.getElementById("formo");
    formo.style.right= "10%";
    formo.style.top= "110px";
    formo.style.visibility = 'visible';
}



//modifie dynamiquement le moteur de recherche

var url_de_recherche = "";
var moteur_deja_choisi = getCookie('no_moteur');


function transforme_recherche(no_moteur){
         //on garde en mémoire le choix de l'utilisateur
         var now = new Date();
         fixDate(now);
         now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000);
         setCookie('no_moteur',no_moteur, now);
         no_moteur = parseInt(no_moteur);
         switch (no_moteur) {
                case 1:
                     url_de_recherche = "http://www.cci.fr/do_recherche_libre?search=";
                     break;
                case 2:
                     url_de_recherche = "http://www.culture.fr/recherche_documents?recherche_libre=&recherche=";
                     break;
                case 3:
                     url_de_recherche = "http://larecherche.service-public.fr/df/oxide?Rechercher.x=9&Rechercher.y=7&Rechercher=tous&page=resultssprubs&action=launchsearch&DynRubrique=&DynCorpus=&DynDomain=SP&criteriaContent=";
                     break;
                case 4:
                     url_de_recherche = "http://www.insee.fr/fr/recherche/rechercher.asp?SearchString=";
                     break;
                case 5:
                     url_de_recherche = "europe" ;
                     break;
                case 6:
                     url_de_recherche = "legislation";
                     break;
                case 7:
                     url_de_recherche = "http://www.netpme.fr/search/search_data.php?OK.x=0&OK.y=0&recherche=";
                     break;
                case 8:
                     url_de_recherche = "http://recherche.journaldunet.com/cgi-bin/findall?S=JDNET&KEYWORDS=";
                     break;
                case 9:
                     url_de_recherche = "http://mobilnews.info/mobilnews/recherche.php3?recherche=";
                     break;
                case 10:
                     url_de_recherche = "http://tracenews.info/tracenews/recherche.php3?recherche=";
                     break;
                case 11:
                     url_de_recherche = "http://lognews.info/lognews/recherche.php3?recherche=";
                     break;
                case 12:
                     url_de_recherche = "http://search.osha.eu.int/cgi-bin/query?mss=search&oldenc=iso88591&uil=eniso&custom1=default&kl=&custom2=agency&q="
                     break;
                case 13:
                     url_de_recherche = "lesechos"
                     break;
                case 14:
                     url_de_recherche = "http://recherche.tf1.fr/recherche/parmotscles/resume/?query="
                     break;
                case 15:
                     url_de_recherche = "sante"
                     break;
                case 16:
                     url_de_recherche = "http://www.reuters.fr/locales/c_financeQuote.jsp?qtype=sym&localeKey=fr_FR&x=0&y=0&ticker="
                     break;
                default:
                     url_de_recherche = ""
                     break;
         }
         
}

function rappel_moteur(no_courant){
         if (no_courant == moteur_deja_choisi){
                document.write("<option selected='true' value='"+no_courant+"'>");
                transforme_recherche(no_courant);
         }else{
                document.write("<option value='"+no_courant+"'>");
         }
}

function lance_recherche(){
   the_value = document.getElementById('variable_recherche').value;
   if (url_de_recherche == '') url_de_recherche = 'http://www.lemonde.fr/web/recherche_resultats/1,13-0,1-0,0.html?query=';

   //traitement des requetes POST
   //insee
   if (url_de_recherche == "http://www.insee.fr/fr/recherche/rechercher.asp?SearchString="){
          document.insee.SearchString.value = the_value;
          document.insee.submit();
          return 1;
   }

   if (url_de_recherche == "europe"){
          document.europe.QueryText.value = the_value;
          document.europe.submit();
          return 1;
   }
   
   if (url_de_recherche == "legislation"){
          document.legifrance.sa_descript.value = the_value;
          document.legifrance.submit();
          return 1;
   }
   
   if (url_de_recherche == "lesechos"){
          document.lesechos.freeTextField.value = the_value;
          document.lesechos.submit();
          return 1;
   }
   
   if (url_de_recherche == "sante"){
          document.sante.CiRestriction.value = the_value;
          document.sante.submit();
          return 1;
   }

   //traitement get
   url_de_recherche += the_value;

   document.location = url_de_recherche;
   return true;
}

function cree_je_choisis(no_je_choisis){
         
         if (document.getElementById("je_choisis" + no_je_choisis)){


           var nom_site = document.getElementById("nom_site" + no_je_choisis).value;
           if (nom_site == "") alert('vous devez entrez un nom pour votre site');

           var url_site = document.getElementById("url_site" + no_je_choisis).value;
           if (url_site == "") alert('vous devez entrez une url pour votre site');
           //un peu de validation sur l'url
           var url_valide = url_site.indexOf('http://');
           var avec_www = url_site.indexOf('www');
           if(avec_www == -1 && url_valide == -1) url_site = "http://www." + url_site;
           if(avec_www >  -1 && url_valide == -1) url_site = "http://"     + url_site;
           
           //nos url et nos nom sont propres il faut les charger dans les cookie
           var now = new Date();
           fixDate(now);
           now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000);
           setCookie("nom_site" + no_je_choisis, nom_site, now);
           setCookie("url_site" + no_je_choisis, url_site, now);

           var je_choisis_element = document.getElementById("je_choisis" + no_je_choisis);

           var texte_inner = "<table><tr><td width='111'><a href='" + url_site + "'>" + nom_site + "</a></td>";
           texte_inner += "<td><input type='text' size='23' value='identifiant' /></td>";
           texte_inner += "<td><input type='text' size='23' value='mot de passe' /></td>";
           texte_inner += "<td><a href='http://www.intuiteo.com/editeur/traite_choix.php3?id_mot=13'><img src='images/ok.gif' border='0' /></a></td></tr></table>";
           je_choisis_element.innerHTML = texte_inner;

         }

}

var no_je_choisis = 0;



function charge_je_choisis(){
 
		//a la difference de cree_je_choisis charge_je_choisis
        //lui va uniquement à partir du numero choisis
        //chercher dans les cookies le nom et l'url du site pour
        //afficher le formulaire personnalisé, sinon il affiche le formulaire par défaut

        no_je_choisis++;


        //alert (no_je_choisis);

        var je_choisis = "je_choisis" + no_je_choisis;
        document.write("<div id='"+je_choisis+"' style='margin: 0; padding:0;'>");
        //a partir de là à nous de vérifier si un cookie a été posé 

        if (!getCookie("nom_site" + no_je_choisis)){
            nom_site = "";
        }else{
            nom_site = getCookie("nom_site" + no_je_choisis);
            url_site = getCookie("url_site" + no_je_choisis);
        }
        
        var texte_inner = "";
        if (nom_site){
                //ce cookie existe affichons la version 2 du formulaire
                texte_inner =  "";
                texte_inner += "<table><tr><td height='50' width='111'  align='center'><a href='" + url_site + "'>" + nom_site + "</a></td>";
                texte_inner += "<td><input type='text' name='username' size='23' value='identifiant'  onclick = 'this.value=\"\"' /></td>";
                texte_inner += "<td><input type='password' name='p_field' size='23' value='mot de passe' onclick = 'this.value=\"\"' /></td>";
                texte_inner += "<td><input type='image' src='images/ok.gif' border='0' /></a></td></tr></table>";              
                document.write(texte_inner);
                document.write('</div>');
        }else{
                //ce cookie n'existe pas on affiche la version 1 du formulaire
                texte_inner = "<table><tr><td height='50' width='111' align='center'><a href='#' onclick=\"alert('Vous devez rentrez le nom du site et son url, puis cliquez sur ok')\">Je choisis</a></td>";
                texte_inner += "<td><input type='text' id='nom_site" + no_je_choisis + "' size='23' value='Nom du site' onclick = \"this.value=''\" /></td>";
                texte_inner += "<td><input type='text' id='url_site" + no_je_choisis + "' size='23' value='Url du site' onclick = \"this.value=''\" /></td>";
                texte_inner += "<td><a href='#' onclick=\"cree_je_choisis(" + no_je_choisis + ")\"><img src='images/ok.gif' border='0' /></a></td></tr></table>";
                document.write(texte_inner);
                document.write('</div>');
        }

}

function deleteFavoris(){
        deleteCookie("url_site1");
        deleteCookie("url_site2");
        deleteCookie("url_site3");
        deleteCookie("url_site5");
        deleteCookie("nom_site1");
        deleteCookie("nom_site2");
        deleteCookie("nom_site3");
        deleteCookie("nom_site4");
        deleteCookie("nom_site5");
}


/*

function decrit(id_form, evt){
	var id = "desc_" + id_form ;
	coords = getPageEventCoords(evt);
	document.getElementById(id).style.left = coords.left;
	document.getElementById(id).style.top = coords.top;
	document.getElementById(id).style.visibility = 'visible';
}

function cache_decrit(id_form, evt){
	var id = "desc_" + id_form ;
	document.getElementById(id).style.visibility = 'hidden';
}

function montre_formo(position, id_form, evt ){
    var id = "formo";
	coords = getPageEventCoords(evt);
	document.getElementById(id).style.left = coords.left;
	document.getElementById(id).style.top = coords.top;
	document.getElementById(id).style.visibility = 'visible';
	//il faut indiquer à l'activation sur quelle position on se trouve
	//à l'ancienne !!!
	document.formo.position.value = position;
	//et aussi &eacute;ventuellement checker un des boutons radio si une valeur est active.
	if (id_form){
		id = "rad_" + id_form;
		document.getElementById(id).checked = true;
	}
}

function montre_register(position, id_form, evt ){
    var id = "register";
	coords = getPageEventCoords(evt);
	document.getElementById(id).style.left = coords.left;
	document.getElementById(id).style.top = coords.top;
	document.getElementById(id).style.visibility = 'visible';
}






function getPageEventCoords(evt){
	evt  = (evt) ? evt : window.event;
	var coords = {left:0, top:0};
	if (evt.pageX){
	    coords.left = evt.pageX;
	    coords.top = evt.pageY;
	}else if (evt.clientX){
	    coords.left = evt.clientX + document.body.scrollLeft - document.body.clientLeft;
	    coords.top = evt.clientY + document.body.scrollTop - document.body.clientTop;
	    //inclure des &eacute;l&eacute;ments d' espaces  si necessaire
	    if (document.body.parentElement && document.body.parentElement.clientLeft){
	        var bodParent = document.body.parentElement;
	        coords.left += bodParent.scrollLeft - bodParent.clientLeft;
	        coords.top += bodParent.scrollTop - bodParent.clientTop;
	    }
	}
	return coords;
}

*/

