// Bonne lecture ;)
function t_hxt_connect()
{
	var working=false;
	// Création de l'objet xmlhttp :
	var xmlhttp = false;
	/* Compilation conditionnelle d'IE */
	/*@cc_on
	@if (@_jscript_version >= 5)
	try
	{
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch (e)
	{
		try
		{
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch (E)
		{
			xmlhttp = false;
		}
	}
	@else
		xmlhttp = false;
	@end @*/
	
	/* on essaie de créer l'objet si ce n'est pas déjà fait */
	if (!xmlhttp && typeof XMLHttpRequest != 'undefined')
	{
		try
		{
			xmlhttp = new XMLHttpRequest();
		}
		catch (e)
		{
			xmlhttp = false;
		}
	}
	var pile = new Array;
	this.async= true;
	this.silent= false;
	
	this.donext= function donext()
	{
		if((pile.length>0) && !working)
		{
			eval(pile.pop());
		}
	}
	
	this.open= function open(method, url, vars, action)
	{
		pile.push("hxt_connect.send('"+method+"','"+url+"','"+vars+"',"+action+")");
		hxt_connect.donext();
	}
	
	
	this.send = function send(method, url, vars, action)
	{
		var timerHXT;
		var istime=false;
		if(method=="GET")
		{
			if(vars!="") url=url+"&"+vars;
			vars=null;
		}
		url="./"+url;
		url=url+"&"+Math.round(Math.random()*10000);// Merci au cache d'IE
		working=true;
		xmlhttp.open(method, url, this.async);
		
		if(method=="POST") xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		xmlhttp.setRequestHeader('Cache-Control','no-cache');
		xmlhttp.onreadystatechange = function (aEvt) 
		{
			if(xmlhttp.readyState == 4)
			{
				working=false;
				if(!hxt_connect.silent)
				{
					if(istime) clearTimeout(timerHXT);
					hxt_loading.toggleLoading('hide');
					istime=false;
				}
				if(xmlhttp.status == 200)
				{
					if(xmlhttp.responseXML)
					{
						var reponse = xmlhttp.responseXML.documentElement;
						action(reponse);
						//alert(xmlhttp.responseText);
					}
					else alert(url+" ne renvoit aucune information valide.")
				}
				else
				alert("Problème lors du chargement de la page.\nErreur : "+xmlhttp.status+"\nPage= : "+url);
				setTimeout("hxt_connect.donext()",10);
			}
		};
		if(!istime && !hxt_connect.silent)
		{
			istime=true;
			timerHXT=setTimeout("hxt_loading.toggleLoading('show')",500);
		}
		xmlhttp.send(vars);
	}
}
function t_hxt_board()
{
	var HB_timeout;
	var HB_theboard;
	this.move=function moveHB(HB_angle)
	{
		document.getElementById("hxt_board").style.top=Math.cos(this.HB_angle)*10+1+"px";
		this.HB_angle=this.HB_angle+0.05;
		if(this.HB_angle>=6.30) this.HB_angle=0;
		HB_timeout=setTimeout(HB_theboard+".move("+this.HB_angle+")",10);
	}
	this.toggle = function toggle()
	{
		if(HB_timeout==0)
		{
			this.move(this.HB_angle);
		}
		else
		{
			clearTimeout(HB_timeout);
			HB_timeout=0;
		}
	}
	this.init= function(theboard)
	{
		HB_timeout=0;
		this.HB_angle=0;
		HB_theboard=theboard;
		this.toggle();
		document.getElementById("hxt_board").style.visibility="visible";
	}
}

function t_progressbar()
{
	var seconds=0;
	var minutes=0;
	var hours  =0;
	var days   =0;
	var timeisover = false;
	var posmax =0;
	var pos=0;
	var next=false;
	function display()
	{
		var toshow="Il reste "+days;
		if(days >1){toshow+=" jours, "+hours}
		else{toshow+=" jour, "+hours}
		if(hours >1){toshow+=" heures, " +minutes}
		else{toshow+=" heure, "+minutes}
		if(minutes >1){toshow+=" minutes et "+seconds}
		else{toshow+=" minute et "+seconds}
		if(seconds >1){toshow+=" secondes"}
		else{toshow+=" seconde"}
		toshow+=" avant la prochaine soutenance... (";
		document.getElementById('hp_timeisover').innerHTML=toshow+"le "+next.getDate()+"/"+(next.getMonth()+1)+"/"+next.getFullYear()+" à "+next.getHours()+":"+next.getMinutes()+")";
	}
	this.run = function()
	{
		seconds--;
		if(seconds<0)
		{
			seconds=59;
			minutes--;
		}
		if(minutes<0)
		{
			minutes=59;
			hours--;
		}
		if(hours<0)
		{
			hours=23;
			days--;
		}
		display();
		if(seconds==0) upbar();
		if(days<0){hxt_progressbar.today()} 
		else{timeisover=setTimeout("hxt_progressbar.run()",1000)};
	}
	this.today = function()
	{
		if(timeisover!=false) clearTimeout(timeisover);
		var now= new Date();
		next = new Date("Sat, 22 Apr 2006 10:30:00 GMT+02");
		if((now.getTime() >= next.getTime()) && (now.getTime() <= (next.getTime()+1000*60*15))){
			document.getElementById('hp_timeisover').innerHTML="Soutenance en cours !";
			timeisover=setTimeout("hxt_progressbar.run()",(next.getTime()+1000*60*15)-now.getTime());
			return false;
		}
		else if(now.getTime() > (next.getTime()+1000*60*15))
		{
			next = new Date("Tue, 14 Jun 2006 11:00:00 GMT+02");
			if((now.getTime() >= next.getTime()) && (now.getTime() <= (next.getTime()+1000*60*25)))
			{
				document.getElementById('hp_timeisover').innerHTML="Soutenance finale en cours !";
				timeisover=setTimeout("hxt_progressbar.run()",(next.getTime()+1000*60*15)-now.getTime());
				return false;
			}
			else if (now.getTime() > (next.getTime()+1000*60*25))
			{
				document.getElementById('hp_timeisover').innerHTML="L'aventure Hoverboard Xtrem est terminée. Téléchargez le jeu dès à présent !";
				return false;
			}
		}
		if(now.getTime() <= (next.getTime()+1000*60*15))
		{
			var time= parseInt((next.getTime()-now.getTime())/1000);
			seconds = parseInt((time/60 - parseInt(time/60))*60);
			minutes = parseInt((time/60/60 - parseInt(time/60/60))*60);
			hours   = parseInt((time/60/60/24 - parseInt(time/60/60/24))*24);
			days    = parseInt(time/60/60/24);
			hxt_progressbar.run();
		}
		return true;
	}

	this.init=function()
	{
		/*document.getElementById('hp_timeisover').innerHTML="";*/
		var now= new Date();
		var begin = new Date("Sat, 22 Apr 2006 10:30:00 GMT+02");
		var end = new Date("Tue, 14 Jun 2006 11:00:00 GMT+02");
		posmax=parseInt((now.getTime()-begin.getTime())/(end.getTime()-begin.getTime())*184)+504;
		if(posmax>695) posmax=695;
		this.jump();
	}

	function upbar()
	{
		var now= new Date();
		var begin = new Date("Sat, 22 Apr 2006 10:30:00 GMT+02");
		var end = new Date("Tue, 14 Jun 2006 11:00:00 GMT+02");
		posmax=parseInt((now.getTime()-begin.getTime())/(end.getTime()-begin.getTime())*184)+504;
		if(posmax>695) posmax=695;
		document.getElementById('hp_progress').style.width=posmax+"px";
	}

	this.jump=function()
	{
		if(pos<posmax)
		{
			pos=pos+3;
			//window.status=pos;
			document.getElementById('hp_progress').style.width=pos+'px';
			timeisover=setTimeout("hxt_progressbar.jump()",10);
		}
		else
		{
			document.getElementById('hp_progress').style.width=posmax+"px";
			this.today();
		}
	}

	this.kill = function()
	{
		if(timeisover!=false) clearTimeout(timeisover);
		pos=0;
	}
}

var hxt_progressbar = new t_progressbar();
var hxt_connect = new t_hxt_connect();
var js_hxt_board   = new t_hxt_board();

function t_user()
{
	this.nick="";
	this.email="";
	this.remember="";

	this.set= function set(nnick,nemail,nremember)
	{
		this.nick=nnick;
		this.email=nemail;
		this.remember=nremember;
		document.getElementById("com_author").value=this.nick;
		document.getElementById("com_email").value=this.email;
		document.getElementById("com_remember").checked=(this.remember=="true");
	}

	this.checkSave=function checkSave(XML)
	{
		var page= XML.getElementsByTagName('code')[0].getAttribute('status');
		
		if(page!="error")
		{
			//window.status="Modifications appliquées avec succès !";
		}
		else
		{
			alert(XML.getElementsByTagName('msg')[0].firstChild.nodeValue);
		}
	}

	this.save=function save()
	{
		var nnick= document.getElementById("com_author").value;
		var nemail= document.getElementById("com_email").value;
		if(document.getElementById("com_remember").checked) var nremember="true";
		else var nremember="false";
		if((nremember=="true" && ( nnick!=this.nick || nemail!=this.email)) || nremember!=this.remember)
		{
			hxt_connect.open("POST", "?user/", "nick="+escape(nnick)+"&email="+escape(nemail)+"&remember="+nremember, "user.checkSave");
			this.set(nnick,nemail,nremember);
		}
		if(nremember=="false") this.set("","",nremember);
	}

	this.checkAdminTest=function checkAdminTest(XML)
	{
		var page= XML.getElementsByTagName('code')[0].getAttribute('status');
		
		if(page!="error")
		{
			/*if(XML.getElementsByTagName('msg')[0].firstChild.nodeValue>100)
			{
				alert("Connexion réussie !");
			}
			else alert("Perdu !");*/
			document.location.href="./?";
		}
		else
		{
			alert(XML.getElementsByTagName('msg')[0].firstChild.nodeValue);
		}
	}

	this.adminTest=function adminTest()
	{
		var nnick= document.getElementById("com_author").value;
		var nemail= document.getElementById("com_email").value;
		if(document.getElementById("com_remember").checked) var nremember="true";
		else var nremember="false";
		var key= document.getElementById("admin_key").value;
		document.getElementById("admin_key").value="";
		hxt_connect.open("POST", "?user/", "nick="+escape(nnick)+"&email="+escape(nemail)+"&remember="+nremember+"&key="+key, "user.checkAdminTest");
	}

	this.adminEnter = function(e)
	{
		if (document.all)
		{ 
			e = window.event;
			var myChar = e.keyCode;
		}
		else var myChar = e.which;
		if(myChar==13)
		{
			this.adminTest();
			return false;
		}
		else 
		{
			return (true);
		}
	}
}

var user= new t_user;

function t_loading()
{
	var alphaLoading=0;
	var speedLoading=0.02;
	var timeLoading;

	function round(value,tol)
	{
		return(Math.round(value*tol)/tol);
	}

	function alpha(opacity)
	{
	if(document.all){
				/*document.getElementById('site_loading').style.width='100%';
				document.getElementById('site_loading').style.height='100%';*/
				document.getElementById('site_loading').style.visibility='visible';
				document.getElementById('site_loading').style.filter="alpha(opacity="+(round(opacity,100)*100)+")";
			}
			else document.getElementById('site_loading').setAttribute('style',"visibility:visible;opacity: "+round(opacity,100)+";");
	}

	function toggleLoading(alphaStatus)
	{
		/*alert("Hého !"+alphaLoading);*/
		if(alphaStatus=="show" && alphaLoading==0)
		{
			//document.getElementsByTagName('html')[0].style.overflow='hidden';
			alphaLoading=alphaLoading+speedLoading;
			alpha(alphaLoading);
			timeLoading=setTimeout("hxt_loading.toggleLoading('show')",10);
		}
		else if(alphaStatus=="show" && alphaLoading<0.2)
		{
			alphaLoading=alphaLoading+speedLoading;
			alpha(alphaLoading);
			timeLoading=setTimeout("hxt_loading.toggleLoading('show')",10);
		}
		else if(alphaStatus=="show" && alphaLoading==0.2)
		{
		
		}
		else if(alphaStatus=="hide" && alphaLoading>0)
		{
			clearTimeout(timeLoading);
			alphaLoading=alphaLoading-speedLoading;
			if(alphaLoading<0) alphaLoading=0;
			alpha(alphaLoading);
			timeLoading=setTimeout("hxt_loading.toggleLoading('hide')",10);
		}
		else if(alphaStatus=="hide" && alphaLoading==0)
		{
			//document.getElementsByTagName('html')[0].style.overflow='auto';
			if(document.all){
				document.getElementById('site_loading').style.visibility='hidden';
			}
			else document.getElementById('site_loading').setAttribute('style',"visibility:hidden;");
		}
		//window.status="alphaStatus= "+alphaStatus+" / alphaLoading : "+alphaLoading;
	}
	this.toggleLoading=toggleLoading;
}

var hxt_loading = new t_loading();

function t_site()
{
	var sizeHeader=0;
	var speedHeader=3;
	var moveHeader="stable";
	var timeHeader;
	var pageLoaded=true;
	var headerContent="";
	var showPage="";
	this.maxNews=5;
	this.maxCom=5;
	this.offsetNews=0;
	this.offsetCom=0;
	this.currentID=-1;
	var x,y;

	this.init=function(page)
	{
		js_hxt_board.init("js_hxt_board");
		document.getElementById('page_header').style.height="0px";
		document.getElementById('com_form').style.display="none";
		document.getElementById('logo_epichat').style.visibility="visible";
		setTimeout('site.sendPage("'+page+'")',1000);
	}

	function pageArg(page)
	{
		switch(page)
		{
			case 'news': return("size="+site.maxNews+"&offset="+site.offsetNews);
			default : return("");
		} 
	}


	if (self.innerHeight) // all except Explorer
	{
		x = self.innerWidth;
		y = self.innerHeight;
	}
	else if (document.documentElement && document.documentElement.clientHeight)
		// Explorer 6 Strict Mode
	{
		x = document.documentElement.clientWidth;
		y = document.documentElement.clientHeight;
	}
	else if (document.body) // other Explorers
	{
		x = document.body.clientWidth;
		y = document.body.clientHeight;
	}
	
	function NewWindow(url,width,height) {
		var winl = (x - width) / 2;
		var wint = (y - height) / 2;
		var date_t = new Date;
		var time = date_t.getTime();
		//window.status=window.status+"screen.width="+screen.width+" screen.height="+screen.height+" / width="+width+" height="+height;
		var winprops = 'height='+height+',width='+width+',top='+wint+',left='+winl+',scrollbars=1,resizable'
		window.open(url, time, winprops)
	}
	
	this.openImage=function openImage(link,width,height)
	{
		width=width+20;
		height=height+20;
		
		//window.status="width="+width+" height="+height+" / ";
		if(width > x && height <= y) { height=Math.round(height*(x/width)); width=x ; }
		if(height > y && width <= x) { width=Math.round(width*(y/height));height=y ; }
		if(height > y && width > x)
		{ 
			if(width/x>height/y){ height=Math.round(height*(x/width)); width=x ;}
			if(width/x<height/y){ width=Math.round(width*(y/height));height=y ;}
		}
		NewWindow(link,width,height);
		return false;
	}

	function showPageHeader()
	{
		if(moveHeader=="stable" && sizeHeader==0)
		{
			pageLoaded=false;
			document.getElementById('page_content').style.display='none';
			//document.getElementById('page_admin').style.display='none';
			if(showPage!="close")
			{
				hxt_connect.open("GET", "?xml-nav/"+showPage+"/",pageArg(showPage), "site.checkPage");
				moveHeader="show";
				sizeHeader=sizeHeader+speedHeader;
				document.getElementById('page_header').style.height=sizeHeader+"px";
				checkLoaded();
			}
		}
		else if(moveHeader=="show" && sizeHeader<48)
		{
			sizeHeader=sizeHeader+speedHeader;
			document.getElementById('page_header').style.height=sizeHeader+"px";
			timeHeader=setTimeout("site.showPageHeader()",10);
			
		}
		else if(moveHeader=="show" && sizeHeader==48)
		{
			document.getElementById('page_content').style.display='block';
			//document.getElementById('page_admin').style.display='block';
			moveHeader="stable";
		}
		else if(moveHeader=="stable" && sizeHeader==48)
		{
			document.getElementById('page_content').style.display='none';
			//document.getElementById('page_admin').style.display='none';
			moveHeader="hide";
			sizeHeader=sizeHeader-speedHeader;
			document.getElementById('page_header').style.height=sizeHeader+"px";
			timeHeader=setTimeout("site.showPageHeader()",10);
		}
		else if(moveHeader=="hide" && sizeHeader>0)
		{
			sizeHeader=sizeHeader-speedHeader;
			document.getElementById('page_header').style.height=sizeHeader+"px";
			timeHeader=setTimeout("site.showPageHeader()",10);
		}
		else if(moveHeader=="hide" && sizeHeader==0)
		{
			document.getElementById('content1').style.display='none';
			moveHeader="stable";
			timeHeader=setTimeout("site.showPageHeader()",10);
		}
		//window.status="moveHeader= "+moveHeader+" / sizeHeader : "+sizeHeader;
	}
	this.showPageHeader=showPageHeader;
	
	function checkLoaded()
	{
		if(pageLoaded) 
		{
			document.getElementById('content1').style.display='block';
			document.getElementById('page_header').innerHTML=headerContent;
			showPageHeader();
		}
		else timeHeader=setTimeout("site.checkLoaded()",500);
	}
	this.checkLoaded=checkLoaded;
	
	/*function hidePageHeader()
	{
		if(sizeHeader>-48)
		{
			sizeHeader=sizeHeader-2;
			document.getElementById('page_header').style.marginTop=sizeHeader+"px";
			setTimeout("site.hidePageHeader()",10);
		}
	}
	this.hidePageHeader=hidePageHeader;*/
	
	this.makeSwitcher=function makeSwitcher(offset,max,total,begin,end)
	{
		var tempshow="<div class='switcher'>";
		if(offset>0) tempshow +="<a href='#"+(offset-1)+"' onClick=\""+begin+"offset="+(offset-1)+"&size="+max+""+end+"\">«</a> ";
		else tempshow+="« ";
		//tempshow += " "+(offset+1)+"/";
		//if((total/max)!=Math.round(total/max)) tempshow+=Math.round(total/max)+1;
		//else tempshow+=total/max;
		//tempshow+=" ("+max+") ";
		for(var i=0;i*max<total;i++)
		{
			tempshow +="<a href='#"+i+"' onClick=\""+begin+"offset="+i+"&size="+max+""+end+"\">";
			if(i==offset) tempshow+="<span class='switchhover'>"+(i+1)+"</span>";
			else tempshow+=""+(i+1)+"";
			tempshow+="</a> "
		}
		if((offset+1)*max<total) tempshow +="<a href='#"+(offset+1)+"' onClick=\""+begin+"offset="+(offset+1)+"&size="+max+end+"\">»</a>";
		else tempshow+="»";
		//tempshow+= " (<select size=\'1\' onChange=\""+begin+"&offset="+offset+"&size='+this.value+'"+end+"\"><option value=\'5\'>5</option><option value=\'10\'>10</option><option value=\'20\'>20</option><option value=\'50\'>50</option></select>)";
		tempshow+="</div>";
		return(tempshow);
	}
	
	this.showNews_check=function showNews_check(XML)
	{
		var page= XML.getElementsByTagName('page')[0].getAttribute('statut');
		
		if(page!="error")
		{
			var toshow="";
			var total=XML.getElementsByTagName('count')[0].getAttribute('total');
			site.offsetNews=XML.getElementsByTagName('count')[0].firstChild.nodeValue *1;
			toshow+=site.makeSwitcher(site.offsetNews,site.maxNews,total,"hxt_connect.open('GET', '?xml-nav/news/', '","', 'bridge.showNews_check' );");
			var precDate="";
			for(i=0;i<XML.getElementsByTagName('news').length;i++)
			{
				var id=XML.getElementsByTagName('news')[i].getAttribute('id');
				if(XML.getElementsByTagName('date')[i].firstChild.nodeValue!=precDate) toshow+="<div class='news_date'>"+XML.getElementsByTagName('date')[i].firstChild.nodeValue+"</div>";
				precDate=XML.getElementsByTagName('date')[i].firstChild.nodeValue;
				toshow = toshow+ "<div class='news_msg'><div class='news_title'><a id='news"+id+"'> </a>"+XML.getElementsByTagName('title')[i].firstChild.nodeValue+"</div>";
				toshow = toshow+ XML.getElementsByTagName('content')[i].firstChild.nodeValue;
				toshow = toshow+ "<br /><div class='news_cat'>";
				switch(XML.getElementsByTagName('cat')[i].firstChild.nodeValue)
				{
					case '0': toshow = toshow+ "à propos du Site"; break;
					case '1': toshow = toshow+ "à propos du Jeu"; break;
					case '2': toshow = toshow+ "à propos de la Team";break;
					default : toshow = toshow+ "";
				} 
				toshow = toshow+ " par "+XML.getElementsByTagName('author')[i].firstChild.nodeValue;
				toshow = toshow+ " à "+XML.getElementsByTagName('time')[i].firstChild.nodeValue+" - ";
				toshow = toshow+ "<a href='#' onclick='site.showCom("+id+")' >";
				if(XML.getElementsByTagName('com')[i].firstChild.nodeValue>1) toshow+=XML.getElementsByTagName('com')[i].firstChild.nodeValue+" commentaires</a></div></div>";
				else toshow+=XML.getElementsByTagName('com')[i].firstChild.nodeValue+" commentaire</a></div></div>";
			}
			toshow+=site.makeSwitcher(site.offsetNews,site.maxNews,total,"hxt_connect.open('GET', '?xml-nav/news/', '","', 'bridge.showNews_check' );");
			document.getElementById("page_content").innerHTML=toshow;
		}
		else
		{
			alert(XML.getElementsByTagName('msg')[0].firstChild.nodeValue);
		}
	}
	
	
	this.showNews=function()
	{
		hxt_connect.open("GET", "?xml-nav/news/", "size="+site.maxNews, "bridge.showNews_check");
	}
	

	this.checkPage=function checkPage(XML)
	{
		var page= XML.getElementsByTagName('page')[0].getAttribute('status');
		if(page!="error")
		{
			hxt_progressbar.kill();
			if(page=="accueil")
			{
				document.getElementById("lnk_accueil").className="activepage";
				var valeurmsg = XML.getElementsByTagName('msg')[0].firstChild.nodeValue;
				document.getElementById('page_content').innerHTML=valeurmsg;
				setTimeout("hxt_progressbar.init()",1000);
			}
			else{document.getElementById("lnk_accueil").className="";}
			if(page=="news")
			{
				document.getElementById("lnk_news").className="activepage";
				bridge.showNews_check(XML);
			}
			else{document.getElementById("lnk_news").className="";}
			if(page=="team")
			{
				document.getElementById("lnk_team").className="activepage";
				var valeurmsg = XML.getElementsByTagName('msg')[0].firstChild.nodeValue;
				document.getElementById('page_content').innerHTML=valeurmsg;
			}
			else{document.getElementById("lnk_team").className="";}
			if(page=="projet")
			{
				document.getElementById("lnk_projet").className="activepage";
				var valeurmsg = XML.getElementsByTagName('msg')[0].firstChild.nodeValue;
				document.getElementById('page_content').innerHTML=valeurmsg;
			}
			else{document.getElementById("lnk_projet").className="";}
			if(page=="manuel")
			{
				document.getElementById("lnk_manuel").className="activepage";
				var valeurmsg = XML.getElementsByTagName('msg')[0].firstChild.nodeValue;
				document.getElementById('page_content').innerHTML=valeurmsg;
			}
			else{document.getElementById("lnk_manuel").className="";}
			if(page=="images")
			{
				document.getElementById("lnk_images").className="activepage";
				var valeurmsg = XML.getElementsByTagName('msg')[0].firstChild.nodeValue;
				document.getElementById('page_content').innerHTML=valeurmsg;
			}
			else{document.getElementById("lnk_images").className="";}
			if(page=="dl")
			{
				document.getElementById("lnk_dl").className="activepage";
				var valeurmsg = XML.getElementsByTagName('msg')[0].firstChild.nodeValue;
				document.getElementById('page_content').innerHTML=valeurmsg;
			}
			else{document.getElementById("lnk_dl").className="";}
			if(page=="liens")
			{
				document.getElementById("lnk_liens").className="activepage";
				bridge.showLink_check(XML);
			}
			else{document.getElementById("lnk_liens").className="";}
			
			document.getElementById('site_footerlink').href="?HTML/"+page+"/";
			if(XML.getElementsByTagName('admin')[0].firstChild.nodeValue!="false")
			{
				document.getElementById('page_admin').innerHTML=XML.getElementsByTagName('admin')[0].firstChild.nodeValue;
				document.getElementById('page_admin').style.display='block';
			}
			else
			{
				document.getElementById('page_admin').style.display='none';
			}
			headerContent = "<h1>"+XML.getElementsByTagName('page')[0].firstChild.nodeValue+"</h1><br /><h2>"+XML.getElementsByTagName('desc')[0].firstChild.nodeValue+"</h2>";
			pageLoaded=true;
			
		}
		else alert("C'est la merde baby !");
	}
	
	this.sendPage=function sendPage(page)
	{
		if(moveHeader!="show")
		{
			showPage=page;
			if(moveHeader=="stable") showPageHeader();
		}
	}

	this.showCom_check=function ShowCom_check(XML)
	{
		var page= XML.getElementsByTagName('code')[0].getAttribute('statut');
		
		if(page!="error")
		{
			var toshow="";
			var total=XML.getElementsByTagName('count')[0].getAttribute('total');
			site.offsetCom=XML.getElementsByTagName('count')[0].firstChild.nodeValue *1;
			toshow+=site.makeSwitcher(site.offsetCom,site.maxCom,total,"hxt_connect.open('GET', '?comments/"+site.currentID+"/', '","', 'bridge.showCom_check' );");
			toshow+="<br />";
			for(i=0;i<XML.getElementsByTagName('msg').length;i++)
			{
				//toshow = toshow+ "<strong>Message "+XML.getElementsByTagName('msg')[i].getAttribute('id')+" :</strong> <br />";
				toshow = toshow+ "<div id='com"+XML.getElementsByTagName('msg')[i].getAttribute('id')+"' class='com_msg'>"+XML.getElementsByTagName('message')[i].firstChild.nodeValue;
				if(XML.getElementsByTagName('email')[i].firstChild.nodeValue!="")
				{
					toshow = toshow+ "<br /><div class='com_author'>par <a href='mailto:"+XML.getElementsByTagName('email')[i].firstChild.nodeValue+"'>"+XML.getElementsByTagName('author')[i].firstChild.nodeValue+"</a>";
				}
				else toshow = toshow+ "<br /><div class='com_author'>par "+XML.getElementsByTagName('author')[i].firstChild.nodeValue;
				toshow = toshow+ " à "+XML.getElementsByTagName('date')[i].firstChild.nodeValue+"</div></div><br />";
			}
			if(XML.getElementsByTagName('msg').length==0)
			{
				if(XML.getElementsByTagName('count')[0].getAttribute('total')>0)
				{
					hxt_connect.open('GET', '?comments/'+site.currentID+'/', 'offset='+site.offsetCom-1+'&size='+site.maxCom, 'bridge.showCom_check');
				}
				else toshow+="<b>Aucun commentaire.</b><br /><div style='text-align:right;'>- <i>A vous de réparer cette injustice !</i></div><br />";
			}
			document.getElementById("com_view").innerHTML=toshow;
			//if(i>=1) document.getElementById("com_box").style.height="auto";
			if(document.all){
				document.getElementById('com_box').style.display='block';
				document.getElementById('com_box').style.filter="alpha(opacity=92)";
			}
			else
			{
				document.getElementById('com_box').setAttribute('style',"display:block; opacity: 0.92");
			}
			document.getElementById('page_content').style.overflow="hidden";
			document.getElementById('page_content').style.height=Math.round(0.5*self.screen.height)+"px";
		}
		else
		{
			alert(XML.getElementsByTagName('msg')[0].firstChild.nodeValue);
		}
	}

	this.showCom=function showCom(id)
	{
		site.offsetCom=0;
		site.currentID=id;
		hxt_connect.open("GET", "?comments/"+id+"/", "size="+site.maxCom, "bridge.showCom_check");
		//alert(document.getElementById('site_body').scrollHeight+"px");
		/*document.getElementById('site_mainbox').style.visibility='hidden';
		document.getElementById('com_box').style.height=document.getElementsByTagName('html')[0].scrollHeight+"px";*/
	}
	
	this.hideCom=function()
	{
		document.getElementById('com_box').style.display='none';
		this.currentID=-1;
		document.getElementById('page_content').style.overflow="auto";
		document.getElementById('page_content').style.height="auto";
	}
	
	this.SendCom_check=function SendCom_check(XML)
	{
		user.save();
		setTimeout("hxt_connect.open('GET', '?xml-nav/news/','size="+site.maxNews+"&offset="+site.offsetNews+"', 'site.checkPage')",1000);
		var page= XML.getElementsByTagName('code')[0].getAttribute('status');
		
		if(page!="error")
		{
			document.getElementById("com_message").value="";
			document.location.href="#";
		}
		else
		{
			alert(XML.getElementsByTagName('msg')[0].firstChild.nodeValue);
		}
		document.getElementById('com_button').style.visibility="visible";
		site.showCom(site.currentID);
	}

	this.sendCom=function sendCom()
	{
		
		var message= document.getElementById("com_message").value;
		var author= document.getElementById("com_author").value;
		var email= document.getElementById("com_email").value;
		if(message!="" && author!="")
		{
			document.getElementById('com_button').style.visibility="hidden";
			hxt_connect.open("POST", "?addcom/"+this.currentID+"/", "message="+escape(message)+"&author="+escape(author)+"&email="+escape(email), "site.SendCom_check");
		}
		else
		{
			alert("Merci de remplir les champs Message et Auteur.");
		}
	}

	this.showLink_check=function showNews_check(XML)
	{
		var page= XML.getElementsByTagName('page')[0].getAttribute('statut');
		
		if(page!="error")
		{
			if(XML.getElementsByTagName('link').length>0)
			{
				var toshow="<div class='marge'><h3>"+XML.getElementsByTagName('cat')[0].firstChild.nodeValue+"</h3><ul>";
				var prevCat = XML.getElementsByTagName('cat')[0].firstChild.nodeValue;
				for(i=0;i<XML.getElementsByTagName('link').length;i++)
				{
					if(XML.getElementsByTagName('cat')[i].firstChild.nodeValue!=prevCat)
					{
						toshow+="</ul><h3>"+XML.getElementsByTagName('cat')[i].firstChild.nodeValue+"</h3><ul>";
					}
					toshow+="<li class='lilink'><a href=\""+XML.getElementsByTagName('url')[i].firstChild.nodeValue+"\">"+XML.getElementsByTagName('title')[i].firstChild.nodeValue+"</a> - "+XML.getElementsByTagName('description')[i].firstChild.nodeValue+"</li>";
					prevCat = XML.getElementsByTagName('cat')[i].firstChild.nodeValue;
				}
				toshow+"</ul></div>";
				document.getElementById("page_content").innerHTML=toshow;
			}
			else
			{
				document.getElementById("page_content").innerHTML="Aucun lien pour le moment...";
			}
		}
		else
		{
			alert(XML.getElementsByTagName('msg')[0].firstChild.nodeValue);
		}
	}

  this.resizeText= function(t)
  {
    //var t = document.getElementById('com_message');
    while(t.rows>2 && t.scrollHeight<=t.clientHeight) t.rows--;
    while(t.scrollHeight>t.clientHeight) t.rows++;
  }

	this.toggle=function toggle(id)
	{
		if(document.getElementById(id).style.display=='block')
		{
			document.getElementById(id).style.display='none';
		}
		else{document.getElementById(id).style.display='block';}
	}
}
var site = new t_site();
