/**
* Auteur : Sébastien Braissant - The DevTowah
* Date de création : 10/04/2009
**/

var timer;
var offleft = 0;

function f_filterResults(n_win, n_docel, n_body) {
	var n_result = n_win ? n_win : 0;
	if (n_docel && (!n_result || (n_result > n_docel)))
		n_result = n_docel;
	return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result;
}

function f_scrollLeft() {
	return f_filterResults (
		window.pageXOffset ? window.pageXOffset : 0,
		document.documentElement ? document.documentElement.scrollLeft : 0,
		document.body ? document.body.scrollLeft : 0
	);
}

function followScroll () {
	if ((document.getElementById("contenu_fix")) && (document.getElementById("paramForm").elements["page"].value != "home")) {
  	if (offleft == 0)
  		offleft = document.getElementById("contenu_fix").offsetLeft;
  	var LeftScroll = f_scrollLeft();
  	var dif = LeftScroll - offleft;
		var tleft = (LeftScroll - offleft) + 120;
		var maxYscroll = document.body.scrollWidth;
		
		if ((tleft)+1208 < maxYscroll)
			document.getElementById("contenu_fix").style.marginLeft = tleft + "px";
  	
  	//document.getElementById("testeur").innerHTML = "Marge Left: "+tleft.toString();
  	timer=window.setTimeout("followScroll()",1);
	}
}

function setMenu () {
	var hauteur = 0;
	var largeur = 0;
  if( typeof( window.innerHeight ) == 'number' ) {
    hauteur = window.innerHeight;
    largeur = window.innerWidth;
  }
  else if(document.documentElement && (document.documentElement.clientHeight)) {
    hauteur = document.documentElement.clientHeight;
    largeur = document.documentElement.clientWidth;
  }
  else if(document.body && (document.body.clientHeight)) {
    hauteur = document.body.clientHeight;
    largeur = document.body.clientWidth;
  }
	
	if (hauteur < 770)
		document.getElementById("contenu_fix").className = "contenu_fix_bottom";
	else
		document.getElementById("contenu_fix").className = "contenu_fix";
}

function stoptimer()
{
  window.clearTimeout(timer);
}

function setFooter () {
	var footerTop = document.getElementById("footer").offsetTop;
	var decalage = 0;
	if (navigator.userAgent.match("MSIE"))
		decalage = 65;
	else
		decalage = 6;
	
	var textTop = footerTop + decalage;
	document.getElementById("footerLegend").style.top = textTop.toString() + "px";
}

/**
* fonction getXhr() qui crée et retourne un objet XMLHTTPRequest
*
* @return object xhr;
**/
function getXhr() {
	var xhr = null; 
	if(window.XMLHttpRequest) // Firefox et autres
	   xhr = new XMLHttpRequest(); 
	else if(window.ActiveXObject){ // Internet Explorer 
	   try {
       xhr = new ActiveXObject("Msxml2.XMLHTTP");
  	 } catch (e) {
       xhr = new ActiveXObject("Microsoft.XMLHTTP");
  	 }
	}
	else { // XMLHttpRequest non supporté par le navigateur 
	   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
	   xhr = false; 
	} 
	return xhr;
}

function go_left () {
	document.getElementById("flesh_gauche").style.display = "none";
	var delai = 10;
	var step = 5;
	var time = 0;
	var todo = '';
	var curent_left = document.getElementById("proj_in").style.left;
	var gauche = parseInt(curent_left.substr(0,curent_left.length-2));
	if (Math.abs(gauche) > 0) {
		var z = gauche
		while (z < gauche+170) {
			z += step;
			todo = 'document.getElementById("proj_in").style.left = "' + z.toString() + 'px"';
			window.setTimeout(todo,time);
			time += delai;
		}
		gauche += 170;
		//document.getElementById("proj_in").style.left = gauche.toString() + "px";
	}
	
	if (Math.abs(gauche) <= 0)
		window.setTimeout('document.getElementById("flesh_gauche").style.display = "none";',time);
	else
		window.setTimeout('document.getElementById("flesh_gauche").style.display = "block";',time);
	window.setTimeout('document.getElementById("flesh_droite").style.display = "block";',time);
}

function go_right () {
	document.getElementById("flesh_droite").style.display = "none";
	var delai = 10;
	var step = 5;
	var time = 0;
	var todo = '';
	var nbe = parseInt(document.getElementById("pfForm").elements["nb_etiquettes"].value);
	var limite = (nbe*170)-680;
	var curent_left = document.getElementById("proj_in").style.left;
	var gauche = parseInt(curent_left.substr(0,curent_left.length-2));
	if (Math.abs(gauche) < limite) {
		var z = gauche
		while (z > gauche-170) {
			z -= step;
			todo = 'document.getElementById("proj_in").style.left = "' + z.toString() + 'px"';
			window.setTimeout(todo,time);
			time += delai;
		}
		gauche -= 170;
		//document.getElementById("proj_in").style.left = gauche.toString() + "px";
	}
	
	if (Math.abs(gauche) >= limite)
		window.setTimeout('document.getElementById("flesh_droite").style.display = "none";',time);
	else
		window.setTimeout('document.getElementById("flesh_droite").style.display = "block";',time);
	window.setTimeout('document.getElementById("flesh_gauche").style.display = "block";',time);
}

function toggleInfos () {
	var delai = 8;
	var step = 4;
	var time = 0;
	if (document.getElementById("infos_bax").style.display == "none") {
		document.getElementById("infos_bax").style.display = "block";
		var gauche = 678;
		var haut = 372;
		var largeur = 0;
		var hauteur = 0;
		var mgauche = -124;
		var mhaut = -156;
		while (gauche > 554) {
			gauche -= step;
			mgauche += step;
			haut -= step;
			mhaut += step;
			largeur += 2*step;
			hauteur += 2*step;
			window.setTimeout('document.getElementById("infos_bax").style.left = "'+gauche.toString()+'px"',time);
			window.setTimeout('document.getElementById("infos_in").style.marginLeft = "'+mgauche.toString()+'px"',time);
			window.setTimeout('document.getElementById("infos_bax").style.top = "'+haut.toString()+'px"',time);
			window.setTimeout('document.getElementById("infos_in").style.marginTop = "'+mhaut.toString()+'px"',time);
			window.setTimeout('document.getElementById("infos_bax").style.width = "'+largeur.toString()+'px"',time);
			window.setTimeout('document.getElementById("infos_bax").style.height = "'+hauteur.toString()+'px"',time);
			time += delai;
		}
		while (haut > 216) {
			haut -= step;
			mhaut += step;
			hauteur += 2*step;
			window.setTimeout('document.getElementById("infos_bax").style.top = "'+haut.toString()+'px"',time);
			window.setTimeout('document.getElementById("infos_in").style.marginTop = "'+mhaut.toString()+'px"',time);
			window.setTimeout('document.getElementById("infos_bax").style.height = "'+hauteur.toString()+'px"',time);
			time += delai;
		}
	}
	else {
		delai = 6;
		var gauche = 554;
		var haut = 216;
		var largeur = 248;
		var hauteur = 312;
		var mgauche = 0;
		var mhaut = 0;
		while (haut < 248) {
			haut += step;
			mhaut -= step;
			hauteur -= 2*step;
			window.setTimeout('document.getElementById("infos_bax").style.top = "'+haut.toString()+'px"',time);
			window.setTimeout('document.getElementById("infos_in").style.marginTop = "'+mhaut.toString()+'px"',time);
			window.setTimeout('document.getElementById("infos_bax").style.height = "'+hauteur.toString()+'px"',time);
			time += delai;
		}
		while (gauche < 678) {
			gauche += step;
			mgauche -= step;
			haut += step;
			mhaut -= step;
			largeur -= 2*step;
			hauteur -= 2*step;
			window.setTimeout('document.getElementById("infos_bax").style.left = "'+gauche.toString()+'px"',time);
			window.setTimeout('document.getElementById("infos_in").style.marginLeft = "'+mgauche.toString()+'px"',time);
			window.setTimeout('document.getElementById("infos_bax").style.top = "'+haut.toString()+'px"',time);
			window.setTimeout('document.getElementById("infos_in").style.marginTop = "'+mhaut.toString()+'px"',time);
			window.setTimeout('document.getElementById("infos_bax").style.width = "'+largeur.toString()+'px"',time);
			window.setTimeout('document.getElementById("infos_bax").style.height = "'+hauteur.toString()+'px"',time);
			time += delai;
		}
		window.setTimeout('document.getElementById("infos_bax").style.display = "none"',time);
	}
}

function showInfos () {
	var hauteur = 0;
	var largeur = 0;
  if( typeof( window.innerHeight ) == 'number' ) {
    hauteur = window.innerHeight;
    largeur = window.innerWidth;
  }
  else if(document.documentElement && (document.documentElement.clientHeight)) {
    hauteur = document.documentElement.clientHeight;
    largeur = document.documentElement.clientWidth;
  }
  else if(document.body && (document.body.clientHeight)) {
    hauteur = document.body.clientHeight;
    largeur = document.body.clientWidth;
  }
	
	if (navigator.userAgent.match("MSIE") && !navigator.userAgent.match("Opera")) { // MSIE
		var opacity = new Array("10","20","30","40","50","60","70","80","90","100");
	}
	else {						// Les autres
		var opacity = new Array("0.1","0.2","0.3","0.4","0.5","0.6","0.7","0.8","0.9","1.0");
	}
	
	cleft = 0;
	ctop = 0;
	
	if (!navigator.userAgent.match("MSIE")) {
		ctop = window.scrollY;
		cleft = window.scrollX;
	}
	else {
		ctop = document.documentElement.scrollTop;
		cleft = document.documentElement.scrollLeft;
	}
	
	/*document.getElementById("infosbox_bg").style.width = largeur.toString()+"px";
	document.getElementById("infosbox_bg").style.height = hauteur.toString()+"px";*/
	document.getElementById("infosbox_bg").style.left = cleft.toString()+"px";
	document.getElementById("infosbox_bg").style.top = ctop.toString()+"px";
	document.getElementById("infosbox_bg").style.display = "block";
	if (!navigator.userAgent.match("MSIE"))
		document.getElementById("infos_bax").style.opacity = opacity[0];
	else
	  document.getElementById("infos_bax").filters.alpha.opacity = opacity[0];
	document.getElementById("infos_bax").style.display = "block";
	var time_step = 24;
	var delai = 0;
	for (var i=1;i<opacity.length;i++) {
		delai += time_step;
		if (!navigator.userAgent.match("MSIE"))
			window.setTimeout('document.getElementById("infos_bax").style.opacity = '+opacity[i]+';',delai);
		else
			window.setTimeout('document.getElementById("infos_bax").filters.alpha.opacity = '+opacity[i]+';',delai);
	}
	/*document.body.style.overflowY = "hidden";
	document.body.style.overflowX = "hidden";*/
}

function hideInfos () {
	//document.getElementById("infos_bax").style.display = "none";
	if (navigator.userAgent.match("MSIE") && !navigator.userAgent.match("Opera")) { // MSIE
		var opacity = new Array("10","20","30","40","50","60","70","80","90","100");
	}
	else {						// Les autres
		var opacity = new Array("0.1","0.2","0.3","0.4","0.5","0.6","0.7","0.8","0.9","1.0");
	}
	var time_step = 20;
	var delai = 0;
	for (var i = opacity.length-2;i > 0;i--) {
		delai += time_step;
		window.setTimeout('document.getElementById("infos_bax").style.opacity = '+opacity[i]+';',delai);
	}
	document.getElementById("infosbox_bg").style.display = "none";
	window.setTimeout('document.getElementById("infos_bax").style.display = "none";',delai);
	document.body.style.overflowY = "auto";
	document.body.style.overflowX = "auto";
}

function setInfos_BG () {
	cleft = 0;
	ctop = 0;
	if (document.getElementById("infosbox_bg").style.display == "block") {
  	if (!navigator.userAgent.match("MSIE")) {
  		ctop = window.scrollY;
  		cleft = window.scrollX;
  	}
  	else {
  		ctop = document.documentElement.scrollTop;
  		cleft = document.documentElement.scrollLeft;
  	}
  	
  	document.getElementById("infosbox_bg").style.left = cleft.toString()+"px";
  	document.getElementById("infosbox_bg").style.top = ctop.toString()+"px";
	}
}

function change_url_lang (lien,langu) {
	old_url = document.getElementById(lien).href;
  tmp = old_url.split("/");
  tmp[tmp.length - 2] = langu.toLowerCase();
  document.getElementById(lien).href = tmp.join("/");
}

/**
* fonction fadeSwitch() qui change le contenu d'un élément html (div de préférence) en faisant un fade-out puis un fade-in
*
* @param item élément html dont le contenu va être changé
* @param fill nouvenu contenu pour l'élément html
**/
function fadeSwitch (item,fill) {
	
	if (navigator.userAgent.match("MSIE") && !navigator.userAgent.match("Opera")) { // MSIE
		var opacity = new Array("10","20","30","40","50","60","70","80","90","100");
	}
	else {						// Les autres
		var opacity = new Array("0.1","0.2","0.3","0.4","0.5","0.6","0.7","0.8","0.9","1.0");
	}
	var a = 9;
	var h = 0;
	var tmp1 = "";
	var tmp2 = "";
	var time_step = 50; //36
	var delai = 0;
	for (i = opacity.length-1;i >= 0;i--) {
		delai += time_step;
		if (!navigator.userAgent.match("MSIE"))
			window.setTimeout('document.getElementById("'+item+'").style.opacity = "'+opacity[i]+'";',delai);
		else
			window.setTimeout('document.getElementById("'+item+'").filters.alpha.opacity = "'+opacity[i]+'";',delai);
	}
	// On rajoute un backslash avant les guillemets
	/*var longueur = fill.length;
	for (var i=0;i < longueur;i++) {
		if (fill.charAt(i) == '"') {
			tmp1 = fill.slice(0,i);
			tmp2 = fill.slice(i);
			fill = tmp1 + "\\" + tmp2;
			i++;
			longueur = fill.length;
		}
	}*/
	// On rajoute un backslash avant les apostrophes
	var longueur = fill.length;
	for (var i=0;i < longueur;i++) {
		if (fill.charAt(i) == "'") {
			tmp1 = fill.slice(0,i);
			tmp2 = fill.slice(i);
			fill = tmp1 + "\\" + tmp2;
			i++;
			longueur = fill.length;
		}
	}
	
	var hop = "document.getElementById('"+item+"').innerHTML = '"+fill+"';";
	window.setTimeout(hop,delai);
	window.setTimeout("setFooter();",delai);
	//document.getElementById(item).innerHTML = fill;
	for (i = 0;i < opacity.length;i++) {
		delai += time_step;
		if (!navigator.userAgent.match("MSIE"))
			window.setTimeout('document.getElementById("'+item+'").style.opacity = '+opacity[i]+';',delai);
		else
			window.setTimeout('document.getElementById("'+item+'").filters.alpha.opacity = '+opacity[i]+';',delai);
	}
}

function MouseOverMenu (item) {
	document.getElementById(item).style.marginTop = "-1px";
	document.getElementById(item).style.width = "102px";
	document.getElementById(item).style.height = "23px";
	document.getElementById(item).style.backgroundPosition = "0px -22px";
}

function MouseOutMenu (item) {
	if (item != (document.getElementById("paramForm").elements["page"].value + "Link")) {
  	document.getElementById(item).style.marginTop = "0px";
  	document.getElementById(item).style.width = "101px";
  	document.getElementById(item).style.height = "22px";
  	document.getElementById(item).style.backgroundPosition = "0px 0px";
	}
}

function MouseOverIE (elem_id) {
	if (navigator.userAgent.match("MSIE")) {
		switch (elem_id) {
			case "newsNext" : 
			case "newsPrev" : document.getElementById(elem_id).style.backgroundPosition = "0px -29px";
												break;
			case "link_spirit"  	: 
			case "link_partners"	: 
			case "link_info" 			: 
			case "link_direction" : 
			case "link_food" 			: 
			case "link_cosmetics"	: document.getElementById(elem_id).style.backgroundPosition = "0px -40px";
													  	break;
			default						 	  : break;
		}
	}
}

function MouseOutIE (elem_id) {
	if (navigator.userAgent.match("MSIE")) {
		switch (elem_id) {
			case "newsNext" : 
			case "newsPrev" : document.getElementById(elem_id).style.backgroundPosition = "";
												break;
			case "link_spirit"  	: 
			case "link_partners"  : 
			case "link_info" 			: 
			case "link_direction" : 
			case "link_food" 			: 
			case "link_cosmetics"	: document.getElementById(elem_id).style.backgroundPosition = "";
														  break;
			default					: break;
		}
	}
}

function zoom_in_map () {
	var tl = document.getElementById("map_box").style.width;
	var largeur = parseInt(tl.substr(0,tl.length-2));
	if (largeur == 372) {
		var xstep = 15;
		var ystep = 11;
	}
	else {
		var xstep = 14;
		var ystep = 11;
	}
	largeur += xstep;
	var th = document.getElementById("map_box").style.height;
	var hauteur = parseInt(th.substr(0,th.length-2)) + 11;
	if (largeur <= 709) {
		var tg = document.getElementById("map_box").style.left;
		var gauche = parseInt(tg.substr(0,tg.length-2)) - xstep;
		document.getElementById("map_box").style.left = gauche.toString() + "px";
		document.getElementById("map_box").style.width = largeur.toString() + "px";
		document.getElementById("map_img").style.width = largeur.toString() + "px";
	}
	else {
		
	}
	if (hauteur <= 539) {
		document.getElementById("map_box").style.height = hauteur.toString() + "px";
		document.getElementById("map_img").style.height = hauteur.toString() + "px";
	}
	//alert("Width : "+largeur.toString()+", Height : "+hauteur.toString());
}

function towahBox_On (Twidth,Theight) {
	var height = 0;
	var width = 0;
	if( typeof( window.innerHeight ) == 'number' ) {
    height = window.innerHeight;
    width = window.innerWidth;
  }
  else if(document.documentElement && (document.documentElement.clientHeight)) {
    height = document.documentElement.clientHeight;
    width = document.documentElement.clientWidth;
  }
  else if(document.body && (document.body.clientHeight)) {
    height = document.body.clientHeight;
    width = document.body.clientWidth;
  }
	
	
	if (navigator.userAgent.match("MSIE") && !navigator.userAgent.match("Opera")) { // MSIE
		var opacity = new Array("10","20","30","40","50","60","70","80","90","100");
	}
	else {						// Les autres
		var opacity = new Array("0.1","0.2","0.3","0.4","0.5","0.6","0.7","0.8","0.9","1.0");
	}
	
	cleft = Math.ceil(width/2) - Math.ceil(Twidth/2);
	ctop = Math.ceil(height/2) - Math.ceil(Theight/2);
	
	if (!navigator.userAgent.match("MSIE"))
		ctop += window.pageYOffset;
	else
		ctop += document.documentElement.scrollTop;
		
	/*height2 = document.getElementById("he1").clientHeight + document.getElementById("he2").clientHeight + 6;
	if (height2 > height)
		height = height2;*/
	
	/*if (document.body.style.overflowY != "hidden")
		width -= 20;*/
	document.getElementById("towahbox_bg").style.width = width.toString()+"px";
	document.getElementById("towahbox_bg").style.height = height.toString()+"px";
	document.getElementById("towahbox_fg").style.width = Twidth.toString()+"px";
	document.getElementById("towahbox_fg").style.height = Theight.toString()+"px";
	document.getElementById("towahbox_fg").style.top = "114px";
	//document.getElementById("towahbox_fg").style.top = ctop.toString()+"px";
	document.getElementById("towahbox_fg").style.left = cleft.toString()+"px";
	document.getElementById("towahbox_bg").style.display = "block";
	if (!navigator.userAgent.match("MSIE"))
		document.getElementById("towahbox_fg").style.opacity = opacity[0];
	else
	  document.getElementById("towahbox_fg").filters.alpha.opacity = opacity[0];
	document.getElementById("towahbox_fg").style.display = "block";
	var time_step = 36;
	var delai = 0;
	for (var i=1;i<opacity.length;i++) {
		delai += time_step;
		if (!navigator.userAgent.match("MSIE"))
			window.setTimeout('document.getElementById("towahbox_fg").style.opacity = '+opacity[i]+';',delai);
		else
			window.setTimeout('document.getElementById("towahbox_fg").filters.alpha.opacity = '+opacity[i]+';',delai);
	}
	document.body.style.overflowY = "hidden";
	document.body.style.overflowX = "hidden";
	//document.getElementById("clav").focus();
}

function towahBox_Off () {
	if (navigator.userAgent.match("MSIE") && !navigator.userAgent.match("Opera")) { // MSIE
		var opacity = new Array("10","20","30","40","50","60","70","80","90","100");
	}
	else {						// Les autres
		var opacity = new Array("0.1","0.2","0.3","0.4","0.5","0.6","0.7","0.8","0.9","1.0");
	}
	var time_step = 20;
	var delai = 0;
	for (var i = opacity.length-2;i > 0;i--) {
		delai += time_step;
		window.setTimeout('document.getElementById("towahbox_fg").style.opacity = '+opacity[i]+';',delai);
	}
	//window.setTimeout('document.getElementById("towahbox_bg").style.display = "none";',delai);
	document.getElementById("towahbox_bg").style.display = "none";
	window.setTimeout('document.getElementById("towahbox_fg").style.display = "none";',delai);
	if (window.outerHeight > document.body.clientHeight)
		document.body.style.overflowY = "";
}

function show_plan () {
	//document.getElementById("box_content").innerHTML = '<img src="http://www.atelier-giganto.ch/images/plan.jpg" border="0" onclick="towahBox_Off();" style="cursor:pointer;" title="Cliquez pour fermer le zoom" />';
	towahBox_On(727,488);
}

function under_construction () {
	// do nothing, just wait
}

/*function show_plan () {
	if (navigator.userAgent.match("MSIE")) {
		var gauche = 0, haut = 0;
		var he = document.getElementById("smallmap_box");
		do {
			gauche += he.offsetLeft;
			haut += he.offsetTop;
			he = he.offsetParent;
		}
		while (he != null);
	}
	else {
		var gauche = document.getElementById("smallmap_box").offsetLeft;
		var haut = document.getElementById("smallmap_box").offsetTop;
	}
	//alert("Left : "+gauche.toString()+", Top : "+haut.toString());
	document.getElementById("map_box").style.left = gauche.toString() + "px";
	document.getElementById("map_box").style.top = haut.toString() + "px";
	document.getElementById("map_box").style.display = "block";
	
	var compteur = window.setInterval("zoom_in_map()",20);
	window.setTimeout("window.clearInterval("+compteur+")",3000);
}*/

function hide_plan () {
	
}

function contact_giganto (who) {
	location.href="mailto:"+who+"@atelier-giganto.ch";
}
