

//HttpRequest
function getHTTPObject(callBack) {
	 var xhr;

	if (window.XMLHttpRequest) {
	   xhr = new XMLHttpRequest();
	   if (xhr.overrideMimeType) xhr.overrideMimeType("text/xml");
	 } else {
	   if (window.ActiveXObject) {
		 try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); } 
		 catch (e) {
		   try { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } 
			catch (e) { window.alert("Votre navigateur ne prend pas en charge l'objet XMLHTTPRequest."); } 
		 }
	   }
	 }

	 if (xhr) {
		 xhr.onreadystatechange=function() {
			if (xhr.readyState == 4 && xhr.status == 200) callBack( xhr.responseXML.documentElement);
		 };
	  }
	  return xhr;
}


function onMenuLoaded (dX) {
	docXml=dX;
	buildMenu();
}



classItem.itemsList=new Array();

function classItem (id, label, link) {
	this.id=id;
	this.label=label;
	this.niveau=0;
	this.link=link;
	this.constructor.itemsList.push(this);
	this.parentNode=null;
	this.xmlNode=null;
	this.parentItem=null;
	this.sonsList=new Array();
}


classItem.prototype.toString=function () { return this.label; }

classItem.prototype.toHtml=function () { 

		var completeLabel='<span id="mic_'+this.id+'">'+( (this.niveau>0) ? '. ':'')+this.label+"</span>";
		var t='';
		t+="<p class='menu"+this.niveau+"'>";
		if (this.link.length>0) t+="<a href='"+this.link+"'>"+completeLabel+"</a>";
		else {
			if (this.sonsList.length>0) t+="<a href='javascript:clickItem("+this.id+")'>"+completeLabel+"</a>";
			else t+=completeLabel;
		}
		t+="</p>";
		return t;
}

function clickItem (id) {
	var ref=classItem.itemsList[id];
	ref.click();
}

classItem.prototype.click=function () {

		for (var i=0; i<this.sonsList.length ; i++ )
		{
			var ref=this.sonsList[i];
			var el=document.getElementById('mic_'+ref.id);
			
			
			if (el!=null) {
				 var dis=el.style.display;
				if (dis=='none') el.style.display='block'; else el.style.display='none'; 
			}
		}

}

classItem.prototype.show=function(b) {
	var el=document.getElementById('mic_'+this.id);
	if (el==null) return;
	if (b) el.style.display='block'; 
	else el.style.display='none';
}


classItem.startWithNoMenu =function () {	
		for (var i=0; i<classItem.itemsList.length ; i++ )
		{
			var ref=classItem.itemsList[i];
			if (ref.sonsList.length>0)
			{
				for (var j=0; j<ref.sonsList.length ; j++)
				{
					var ref2=ref.sonsList[j];
					ref2.show(false);
				}
			}
		}
}


classItem.findItemWithXml =function(n) {

	for (var i=0; i<classItem.itemsList.length; i++ )
	{
		var ref=classItem.itemsList[i];
		if (ref.xmlNode==n) return ref;
	}
	return null;
}

classItem.prototype.setParent =function (it) { this.parentItem=it; }
classItem.prototype.addSon =function (it) { this.sonsList.push(it); }

classItem.addSonsInfos =function () {
	for (var i=0; i<classItem.itemsList.length; i++ ) {
		var ref=classItem.itemsList[i];
		var foundParent=null;
		if (ref.parentNode!=null) foundParent=classItem.findItemWithXml(ref.parentNode);
		if (foundParent!=null) {
			foundParent.addSon (ref);
			ref.setParent (foundParent);
			ref.niveau=foundParent.niveau+1;
		}
	}
}

function buildMenu () {
	var item = docXml.getElementsByTagName('ITEM');
	var id=0;
	for (i=0; i<item.length; i++)
	{
		var plus='';
		if (item[i].childNodes.length>1) plus='[+] ';

		var link='';
		if (item[i].attributes[0] != null) link=item[i].attributes[0].nodeValue;
		var it=new classItem (id, plus+item[i].firstChild.nodeValue, link);

		it.parentNode=item[i].parentNode;
		it.xmlNode=item[i];
		id++;
	}

	classItem.addSonsInfos();

//	var col=document.getElementById['leftColumn'];
	writeMenu();
	classItem.startWithNoMenu();
}

function writeMenu() {
	var col=document.getElementById("menuColumn");
	var micMenu='';
	for (var i=0;i<classItem.itemsList.length ; i++ )
	{
		var ref=classItem.itemsList[i];
		micMenu+=ref.toHtml();
	}
	col.innerHTML=micMenu;
}
/// FIN MENU

///TEMOIGNAGES

function onTemoignagesLoaded (dX) {
	docTemXml=dX;
	buildTemoignages();
}



function classTemoignage (texte,signature,marque) {
	this.texte=texte;
	this.signature=signature;
	this.marque=marque;
}

classTemoignage.temsList=new Array();

classTemoignage.ajouteTem =function (texte,signature,marque) {
	var t=new classTemoignage(texte, signature,marque);
	classTemoignage.temsList.push(t);
}

function buildTemoignages () {
	var tem = docTemXml.getElementsByTagName('TEMOIGNAGE');
	var id=0;
	for (i=0; i<tem.length; i++)
	{

		var ref=tem[i];
		var texte=ref.getElementsByTagName('TEXTE')[0].firstChild.nodeValue;
		var marque=ref.getElementsByTagName('MARQUE')[0].firstChild.nodeValue;
		texte=texte.split(String.fromCharCode(10)).join('<br/>');
		var signature=ref.getElementsByTagName('SIGNATURE')[0].firstChild.nodeValue;
		classTemoignage.ajouteTem(texte,signature,marque);
	}

	currentTem=Math.floor(tem.length*Math.random());
	afficheTemoignage(currentTem);

	afficheTousLesTemoignages();
}

classTemoignage.prototype.toHtml=function () {
	var idx=this.signature.indexOf(',');
	var nom=this.signature.substring(0,idx);
	var org=this.signature.substring(idx);

	var t='';
	t+='<h3>'+this.marque+'</h3>';
	t+='<p class="citation">';
	t+=this.texte;
	t+='</p><p class="signature">';
	t+='<b>'+nom+'</b>';
	t+=org;
	t+='</p>';
	return t;
}

function afficheTemoignage(n) {
	var t=classTemoignage.temsList[n];
	var el=document.getElementById('temoignages');
	if (el!=null)
		el.innerHTML=addPalette()+t.toHtml();
}

function clickPalette (dec) {
	currentTem=currentTem+dec;
	if (currentTem>=classTemoignage.temsList.length) currentTem=0;
	if (currentTem<0) currentTem=classTemoignage.temsList.length-1;
	afficheTemoignage(currentTem);
}

function addPalette () {
	var t='<br/>';
	t+='<p class="boutonsPalette"><a href="javascript:clickPalette(-1);"><img src="images/paletteG.gif" /></a>';
	t+='<a href="javascript:clickPalette(1);"><img src="images/paletteD.gif" /></a></p>';
	return t;
}


//MISE EN PAGE
function addTop () {
	var t='';
	t+="<div id='logo'>";
	t+="	<h1><span>Microscopie / Développements durables</span></h1>";
	t+="</div>";
	document.write(t);
}

function addHr (laius) {
		var t='';
		t+="<span class='hrTextBarre'></span>";
		t+="<span class='hrText'>"+laius+"</span>";
		t+="<span class='hrSpace'></span>";
		document.write(t);
}

function afficheTousLesTemoignages () {
	var t=classTemoignage.temsList;
	var el=document.getElementById('tousTemoignages');
	if (el)
	{
		var res='';
		for (var i=0; i<t.length ; i++ )
		{
			res+='<hr/>'+t[i].toHtml();
		}
		el.innerHTML=res;
	}
}

//ANTI SPAM
function ecrire (nom, sub) {
	if (sub==null) sub="Contact%20site%20microscopie";
	var t="<a href='mailto:"+nom+"@"+"microscopie.fr";
	t+="?subject="+sub;
	t+="'>"+nom+"@microscopie.fr</a>";
	
	document.write(t);
}

//WINDOW.ONLOAD

window.onload = function() {
	var xMenu = getHTTPObject(onMenuLoaded);
	xMenu.open("GET", "menu/menu.xml",true);
	xMenu.send(null);

	var el1=document.getElementById('temoignages');
	var el2=document.getElementById('tousTemoignages');
	if (el1!=null || el2!=null)
	{
		var xTemoignages = getHTTPObject(onTemoignagesLoaded);
		xTemoignages.open("GET", "menu/temoignages.xml",true);
		xTemoignages.send(null);
	}


	var isIE=navigator.appName.toLowerCase().indexOf('internet explorer')>0;
	var dContent=document.getElementById('content');
	if (dContent==null) dContent=document.getElementById('contentOneCol');
	if (dContent==null) return;
	if (dContent.offsetHeight<800) {
		if (isIE) dContent.style.height=800;
		else dContent.style.offsetHeight=800;
	}

};


