/*routine d'inclusion en java cot client*/
/*rev 2 introduction de la notion de balise*/
/*rev 3 la balise peut tre une balise div */
/*rev 4 il  peut y avoir des balises div imbriques*/
/*rev 5 20.09.09 pas de modif*/ 
/*rev 6 03.04.10 Ajout de dossiers */
/*pour copier une partie de code seulement*/

function TrouveTexte(tts,ttf,ttd,tta,tte) {
	//tts est le string
	//ttf is texte to find
	//ttd debut ou il faut commencer la recherche
	if (! ttd) {ttd = 0;}
	//tta true positionner le curseur apres
	//tta false positionner le curseur avant
	//tte false = mode silencieux
	tti = tts.indexOf(ttf,ttd);
	if (tti == -1) { 
	               if (tte) {alert('Balise '+balised+' Absente');}
	               if (tta) {tti = 0;} else {tti = tts.length-(ttd+1);}   //positionn debut ou fin 
		    } else { if (tta) {tti = tti+ttf.length+1;} else {tti = tti-(ttd+1);} // derriere ou devant
		         //alert('Routine en cours de modifivation ok pour continuer '+balised+' trouve '+i+' '+s.substr(i-balised.length-1,balised.length)); 
		         } 
    return tti;
}

function IncludeJava(id, url,balise) {
	//alert('Routine en cours de modifivation ok pour continuer '+id+' '+url+' '+balise);
  var req = false;
  var i = -1; //le debut de balise
  var j = -1; //la fin de balise
  var k = -1; //utiliser pour chercher la balise imbrique
  var n =  0; //nbre de balise imbrique ?
  if (! balise) {
	    balise  = "";  //une balise vide
	    balised = "<body>";
		balisef = "</body>";
		} else {
		balised = '<div id="'+balise+'">';
		balisef = "</div>";
		}
  // For Safari, Firefox, and other non-MS browsers
  if (window.XMLHttpRequest) 
    {try { req = new XMLHttpRequest();} catch (e) { req = false;}
    } else if (window.ActiveXObject) {
    // For Internet Explorer on Windows
    try {req = new ActiveXObject("Msxml2.XMLHTTP");} 
     catch (e) {
      try {req = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e) {req = false;}
    }
  }
 var element = document.getElementById(id);
 if (!element) {
  alert("id " + id +" invalide"+ 
   "dans IncludeJava." +
   "Doit tre une balise <div ou <span " +
   "avec cet id dans le code.");
  return;
 }  //else {alert('Routine en cours de modifivation ok pour continuer '+'element '+id+' trouv '); }
  var s = "";
  if (req) {
    // Synchronous request, wait till we have it all
    req.open('GET', url, false);
    req.send(null);
	//localiser la balise i le dbut j la longeur
	s = req.responseText;
	i = TrouveTexte(s,balised,0,true,true);
	j = TrouveTexte(s,balisef,i,false,true);			 
	//recherche de la balise imbrique
	if (balise != "") {
		//boucler ici jusqu'a ce que k > j
		k = i; //rechercher a partir de la balise de dbut
		while (k < j) 
		  {
	        k = TrouveTexte(s,"<div ",k,true,true);  //y a t'il une autre balise <div
	        if (k == 0) { //alert('en cours de test, OK, aucune autre balise <div> trouve '+k+' '+j);
	                      n = 0;   //aucune balise imbrique 
						  k = j;
		        } else { 
		              if (k < j) { //alert('en cours de test, OK, balise <div'+balise+'> imbrique trouve '+k+' '+j);//la balise est imbrique
						          n = n+1;
								  //trouver la balise </di> suivante
								  j = j + TrouveTexte(s,balisef,k,false,true);
						         }
		         //alert('Routine en cours de modifivation ok pour continuer '+balised+' trouve '+i+' '+s.substr(i-balised.length-1,balised.length)); 
		      }
		  } //end while
	}
	s = s.substr(i,j);
	//alert('final body '+i+' '+j+' '+s);
    element.innerHTML = s; //req.responseText; 
  } else {
    element.innerHTML =
      "Désolé, votre navigateur ne supporte pas " +
      "les objets XMLHTTPRequest . Cette page nescessite " +
      "Internet Explorer 5 ou superieur pour Windows, " +
      "ou Firefox, ou Safari. D'autre navigateur " +
      "compatible peuvent egalement exister.";
  }
}
 

/*ajouter ce fichier  la balise <head> 
/*<script language="JavaScript" src="includejava.js"></script>*/
/*lement  inclure*/
/*<span id="includemenu"></span>*/

/*ajouter onLoad()  la balise body*/
/*<body onLoad="IncludeJava('includemenu', 'menu.html','body');">*/

function menushow(monid) {
	menuhideall(monid);
	divshow(monid);
}	
function divshow(monid) {
	var e = document.getElementById(monid);
	if (! e)  { alert('Element '+monid+' invalide dans OnShowMenu (bug)');
	   } else { e.style.visibility = "visible"; } // La rendre visible.
  }
function menuhide(monid) {
	var e = document.getElementById(monid);
	if (! e)  { alert('Element '+monid+' invalide dans OnHideMenu (bug)');
	   } else { e.style.visibility = "hidden"; }// La rendre invisible.
  }
function menuhideall(monid) {   /*hide all*/
    //alert('menuHideAll except '+monid);
	if (monid != "menuoffice") { menuhide("menuoffice");}
	if (monid != "menuwebcam") { menuhide("menuwebcam");}
	if (monid != "menuinfos")  { menuhide("menuinfos"); } 
	if (monid != "menuhelp")   { menuhide("menuhelp"); }
	if (monid != "menublogs")  { menuhide("menublogs"); }
	if (monid != "menucommerce")  { menuhide("menucommerce"); }
	if (monid != "menusearch")  { menuhide("menusearch"); }
	if (monid != "menusite")  { menuhide("menusite"); }
	if (monid != "menudossier")  { menuhide("menudossier"); }
  }

/*la fonction soumettre pour essayer d'avoir plus de rponse ... pad de barre de navigation ... */
function soumettre(texte) {    
   window.open(texte,'','width=800,height=745,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes');
}

var _gaq = _gaq || [];
    _gaq.push(['_setAccount', 'UA-16821791-3']);
    _gaq.push(['_trackPageview']);
 
  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

