/* Javascripts utilisés sur le site
 * Mettez l'ensemble de vos fonctions générique javascript ici
 * 
 * La liaison avec les page se fait à l'aide du code ci-dessous :
 * <script type="text/javascript" src="css-js/scripts.js"></script>
 */

/* addRemoveEvent
********************/
function addRemoveEvent(add, el, evt, func){
	if(add){
		if(el.addEventListener) el.addEventListener(evt, func, false);
		else if (el.attachEvent) el.attachEvent("on" + evt, func);
	}else{
		if(el.removeEventListener) el.removeEventListener(evt, func, false);
		else if (el.detachEvent) el.detachEvent("on" + evt, func);
	}
}

/* subMenu
********************/
var shiftMenus = 198;
var openedMenus = new Array();

function showHideSubMenu(e){
	var evt = e || window.event;
	var evtTarget = evt.target || evt.srcElement;
	while (evtTarget.nodeName != "LI") evtTarget = evtTarget.parentNode;
	var parentLink = evtTarget.getElementsByTagName("a")[0];
	var submenu = evtTarget.getElementsByTagName("ul")[0];
	if(evt.type == "mouseover" && submenu){
		parentLink.className = "trigered";
		submenu.style.left = shiftMenus + "px";
		openedMenus.push([submenu, parentLink]);
	}else if(evt.type == "mouseout"){
		var relatedNode = evt.relatedTarget || evt.toElement;
		while (relatedNode.nodeName != "UL"){
			if (relatedNode.nodeName == "HTML") break;
			relatedNode = relatedNode.parentNode;
		}
		for(var i=openedMenus.length-1; i>=0; --i){
			if(relatedNode.nodeName == "UL" && openedMenus[i][0] == relatedNode) break;
			openedMenus[i][0].style.left = "-6000px";
			openedMenus[i][1].className = "";
			openedMenus.pop();
		}
	}
}

function initSubMenu(){
	var menu = document.getElementById("colleft").getElementsByTagName("ul")[0];
	var menuItems = menu.getElementsByTagName("li");
	for(var i=0; i<menuItems.length; ++i){
		var submenu = menuItems[i].getElementsByTagName("ul")[0];
		if(submenu){
			submenu.style.position = "absolute";
			submenu.style.top = "0";
			submenu.style.left = "-6000px";
		}
	}
	addRemoveEvent(true, menu, "mouseover", showHideSubMenu);
	addRemoveEvent(true, menu, "mouseout", showHideSubMenu);
}

/* clearOnFocus
********************/
var toClear = new Array();
toClear.push("head_inp_search");
toClear.push("qte");

function initClearOnFocus(){
	for (var i=0; i<toClear.length; ++i){
		var itemToClear = document.getElementById(toClear[i]);
		if(!itemToClear) continue;
		addRemoveEvent(true, itemToClear, "focus", clearOnFocus);
	}
}
function clearOnFocus(e){
	var evt = e || window.event;
	var evtTarget = evt.target || evt.srcElement;
	evtTarget.value="";
	addRemoveEvent(false, evtTarget, "focus", clearOnFocus);
}

/* anchors
********************/
function initAnchors(){
	var anchors = document.getElementsByTagName("a");
	for (var i=0; i<anchors.length; ++i){
		if (!anchors[i].getAttribute("href") || !anchors[i].getAttribute("rel")) continue;
		var relation = String(anchors[i].getAttribute("rel"));
		if (relation.match("popup")) anchors[i].onclick=popup;
		if (relation == "external") anchors[i].onclick=externalLink;
	}
}
function popup(){
	var relation = String(this.getAttribute("rel"));
	if(relation == "popup"){
		window.open(this, "pop", "scrollbars=no");
	}else{
		var arguments = relation.substring(6,relation.length-1).split(";");
		window.open(this,arguments[0],'toolbar=0,location=0,directories=0,status=0,menubar=0,' + arguments[1] + ',resizable=no,width=' + arguments[2] + ',height=' + arguments[3] + ',top=' + arguments[4] + ',left=' + arguments[5]);
	}
	return false;
}
function externalLink(){
	window.open(this);
	return false;
}

/* swf object
********************/
function injectSO(){
	try{
		var so_head = new SWFObject("swf-xml/header.swf", "soInjected_header", "990", "118", "8", "#3A79BE");
		so_head.write("head_fla");
	} catch(err) {}
}

/* init
********************/
addRemoveEvent(true, window, "load", injectSO);
addRemoveEvent(true, window, "load", initSubMenu);
addRemoveEvent(true, window, "load", initAnchors);
addRemoveEvent(true, window, "load", initClearOnFocus);

