/***************
fixcorners functions
****************/

var ie = document.all && window.print && !window.opera && /MSIE [56]/.test(navigator.userAgent);
var ie7 = document.all && window.print && !window.opera && /MSIE [789]/.test(navigator.userAgent);

function JSForCSS() {
	if (document.body) {
		document.body.className+=" hasJS";
		if (ie) document.body.className+=" IS_IE";
		
	} else {
		setTimeout("JSForCSS()",10);
	}
}
JSForCSS();

var CSSBottomCorners=[];
function cssRight(elm) {
	elm.style.right=(parseInt(elm.currentStyle.right)-elm.parentNode.offsetWidth%2)+"px";
}
function cssBottom(elm, pushElement) {
		if (pushElement && !elm.CSSBottomAlreadyCSS) {
			CSSBottomCorners.push(elm);
			elm.CSSBottomAlreadyCSS=true;
		}
		elm.style.bottom=(parseInt(elm.currentStyle.bottom)-elm.parentNode.offsetHeight%2)+"px";

}
function fixCorners() {
	if (ie)  {
		for (var i=0; i<CSSBottomCorners.length; i++) {
			CSSBottomCorners[i].style.bottom="";
		}
	} else {
		if (/safari/i.test(navigator.userAgent)) {
			document.body.className+=" hidecorners";
			setTimeout("fixCornersClean()",10);
		}
	}
}
function fixCornersClean() {
	document.body.className = document.body.className.replace(/hidecorners/g,"");
}

function addHover(elm) {
	elm.style.behavior = " ";
	elm.onmouseenter = function() {
		this.className+= ' hover';
	}
	elm.onmouseleave = function() {
		this.className = this.className.replace(/hover/g,"");
	}
}

function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
}

function addEvent(obj, type, fn ) {
	if (obj.addEventListener)
		obj.addEventListener( type, fn, false );
	else if (obj.attachEvent) {
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
	}
}

function navHover() {
	var nav = document.getElementById("mainnav");
	var ch = nav.getElementsByTagName("li");
	var timeout = 2000;
	var time;
	
	cleanOver = function(){
		for (var j=0; j<nav.childNodes.length; j++){
			if (nav.childNodes[j].nodeName.toUpperCase() == 'LI'){
				nav.childNodes[j].className = nav.childNodes[j].className.replace(/hover/g,"");
			}
		}
	}
	
	for (var i=0; i<ch.length; i++) {
		var x=ch[i];
		var elm=null;
		var ul = x.getElementsByTagName("ul");
		if (ul.length>0) {
			x.theUl = ul[0];
			x.nav = nav;
			x.onmouseover = function() {
				elm = this;
				clearTimeout(time);
				cleanOver();
				this.className+=" hover";
				if (!this.oneTimeOver) {
					var li=this.getElementsByTagName("li");
					var sumWidth=0;
					for (var j=0; j<li.length; j++) {
						sumWidth+=li[j].offsetWidth;
					}
					this.theUl.style.width=sumWidth+"px";
					var ulX = findPos(this.theUl)[0]-findPos(this.nav)[0];
					if (sumWidth+ulX>this.nav.offsetWidth) {
						this.theUl.style.left="auto";
						this.theUl.style.right="0";
					}
					if (findPos(this.theUl)[0]<findPos(this.nav)[0]){
						this.theUl.style.position="absolute";
						this.theUl.style.left=-ulX+"px";
					}
					this.oneTimeOver=true;
				}
			}
		} else {
			x.onmouseover = function() {
				clearTimeout(time);
				cleanOver();
				this.className+=" hover";
			}	
		}
		
		x.onmouseout = function() {
			if (elm && this == elm){
				time = setTimeout("cleanOver()",timeout);
			}else{
				this.className=this.className.replace(/hover/g,"");
				clearTimeout(time);
			}
		}
		
	}
}

function toDefaultValue(elm) {
	elm.defaultOldValue=elm.value;
	elm.onfocus=function() {
		if (!this.isChecking && this.value==this.defaultOldValue) this.value='';			
	}
	elm.onblur=function() {
		if(this.value=='') this.value=this.defaultOldValue;
	}
	if (!elm.isChecking) elm.onfocus();
}

function addCloseFlash(swapFlashId) {
	var tag_div = document.getElementById('zoneFlashVideo');
	if(!tag_div) return;
	var tag_link=document.createElement("a");
	tag_link.innerHTML = "Fermer <strong>X<strong>";
	tag_link.className +=' closeLink';
	tag_link.href='javascript:;';
	if (swapFlashId) {
		tag_link.swapFlashId = swapFlashId;
		tag_link.onclick=function() {switchFlash(document.getElementById(this.swapFlashId), document.getElementById('zoneFlashVideo')); return false;};
	} else {
		tag_link.onclick=function() {closeFlashVideo(); return false;};
	}
	tag_link=tag_div.appendChild(tag_link);
	tag_div.closeLink = tag_link;
	
}

function positionCloseLink() {
	var tag_div = document.getElementById('zoneFlashVideo');
	if(!tag_div) return;
	if (tag_div.closeLink) {
		tag_link = tag_div.closeLink;
		var object = tag_div.getElementsByTagName("object");
		if (object.length==0) object = tag_div.getElementsByTagName("embed");
		if (object.length>0) {
			object = object[0]; 
			tag_link.style.left = object.offsetLeft+object.offsetWidth-tag_link.offsetWidth-10+"px";
		}
	}
}

function openFlashVideo(){
	var flashCtn = document.getElementById("zoneFlashVideo")
	flashCtn.className = flashCtn.className.replace(/display_none/g,"display_blk");
	positionCloseLink();
}

function closeFlashVideo(){
	var flashCtn = document.getElementById("zoneFlashVideo");
	var obj = flashCtn.getElementsByTagName("object");
	if (obj.length>0) {
		obj = obj[0];
	} else {
		var obj = flashCtn.getElementsByTagName("embed"); 
		obj = obj[0];
		
	}
	try {
		obj.stop();
	}
	catch(e) {}
	flashCtn.className = flashCtn.className.replace(/display_blk/g,"display_none");
	
}

function switchFlash(elm1,elm2,close){
	if (elm1.className.match(/\bdisplay_none\b/)){
		elm1.className = elm1.className.replace(/display_none/g,"display_blk");
		elm2.className = elm2.className.replace(/display_blk/g,"display_none");
	}else{
		elm2.className = elm2.className.replace(/display_none/g,"display_blk");
		elm1.className = elm1.className.replace(/display_blk/g,"display_none");
	}
}
addEvent(window, "load", navHover);

function setFontSize(className) {
	document.body.className = document.body.className.replace(/\b(large|normal)\b/g,'') + " "+className;
}

function toggle(elm) {
	var div = elm; 
	while(div.className.indexOf("faq_")==-1) div = div.parentNode;
	div.className = div.className.replace(/\bfaq_(clos|open)ed\b/g," faq_")+(div.className.match(/\bfaq_closed\b/) ? "open" : "clos")+"ed";
}

function test(elm) {
	var div = elm; 
	while(div.className.indexOf("faq_")==-1) div = div.parentNode;
	div.className = div.className.replace(/\bfaq_(clos|open)ed\b/g," faq_")+(div.className.match(/\bfaq_closed\b/) ? "open" : "clos")+"ed";
}

function show(elm){
	function removeCurrent(parentBlock) {
		for (var i=0;i<parentBlock.childNodes.length;i++){
			var o=parentBlock.childNodes[i];
			if (o.nodeType != 3 && o.className.match(/\bcurrent\b/)){
				o.className = o.className.replace(/\bcurrent\b/g,'');
			}
		}
	}
	
	if (!elm.parentNode.className.match(/\boff\b/)){
		var blockLetter = document.getElementById('blockLetter');
		var ul=elm.parentNode;
		while (ul.nodeName != "UL"){
			ul = ul.parentNode;
		}
		
		removeCurrent(ul);
		removeCurrent(blockLetter);
		var elmId = elm.href.match(/.*#(.*)/)[1];
		document.getElementById(elmId).className += " current";
		elm.parentNode.className += " current";
	}
}

