$(document).ready(function(){

	$("div.log_summary").click(function() { $(this).fadeOut(); $("div.login_overlay").fadeOut(); $(".msgbox_overlay").fadeOut(); });
	$("div.login_overlay").click(function() { $(this).fadeOut(); $("div.log_summary").fadeOut(); $(".msgbox_overlay").fadeOut(); });
	
	$("div#main_container").click(function() { 
		$("div.log_summary").fadeOut(); 
		$("div.login_overlay").fadeOut();  		
	});
	
	$(".msgbox_overlay").click(function() { $(this).fadeOut(); } );
	
	
});

function init_js() {
	var header = document.getElementById("header");
	var ul_list = header.getElementsByTagName("ul");
	var ss_ul_list = new Array();	

	var mss_li = getByClassAndTag("a","m_ss",document.getElementById("header"));
	var msssel_li = getByClassAndTag("a","m_ss_sel",document.getElementById("header"));
	mss_li = mss_li.concat(msssel_li);
	
	var log_summary = getByClassAndTag("div","log_summary",document.body)[1];
	if(log_summary)
	{
		//log_summary.onclick = function() { this.style.display = "none"; this.style.top = "-20px"; this.style.paddingTop = "0"; } //faire disparaitre l'erreur au click
	}	
	
	for(var i=0;i<mss_li.length;i++)
	{
		mss_li[i].href="javascript: void(0)";
	}
	
	for(var i=0;i<ul_list.length;i++)
	{
		if(ul_list[i].className.match("ss_"))
		{
			ul_list[i].style.display = "none";
			previous_sibling = prev_sibling(ul_list[i]);
			
			//add events
			if (window.addEventListener) 
			{ 
				previous_sibling.parameter = ul_list[i];
				previous_sibling.addEventListener("mouseover", function () { this.parameter.style.display = "block"; this.style.backgroundColor="#FFFFFF"; this.style.color="#000000"; }, false);
				previous_sibling.addEventListener("mouseout", function () { this.parameter.style.display = "none"; this.style.backgroundColor="transparent"; this.style.color="#FFFFFF"; }, false);
				
				ul_list[i].parameter = ul_list[i];
				ul_list[i].addEventListener("mouseover", function () { this.parameter.style.display = "block"; prev_sibling(this.parameter).style.backgroundColor="#FFFFFF"; prev_sibling(this.parameter).style.color="#000000"; }, false);
				ul_list[i].addEventListener("mouseout", function () { this.parameter.style.display = "none"; prev_sibling(this.parameter).style.backgroundColor="transparent"; prev_sibling(this.parameter).style.color="#FFFFFF"; }, false);
			} 
			else if (window.attachEvent) { 	
				previous_sibling.parameter = ul_list[i];
				previous_sibling.onmouseover = function () { this.parameter.style.display = "block"; this.style.backgroundColor="#FFFFFF"; this.style.color="#000000"; }
				previous_sibling.onmouseout = function () { this.parameter.style.display = "none"; this.style.backgroundColor="transparent"; this.style.color="#FFFFFF"; }
				
				ul_list[i].parameter = ul_list[i];
				ul_list[i].onmouseover = function () { this.parameter.style.display = "block"; prev_sibling(this.parameter).style.backgroundColor="#FFFFFF"; prev_sibling(this.parameter).style.color="#000000"; }
				ul_list[i].onmouseout = function () { this.parameter.style.display = "none"; prev_sibling(this.parameter).style.backgroundColor="transparent"; prev_sibling(this.parameter).style.color="#FFFFFF"; }
			}
			
			ss_ul_list.push(ul_list[i]); 
		}
	}
	replaceSubNav_Events();
}
function prev_sibling(n) {
	do n = n.previousSibling;
	while (n && n.nodeType != 1);
	return n;
}
function next_sibling(n) {
	do n = n.nextSibling;
	while (n && n.nodeType != 1);
	return n;
}
function addListener(element, type, expression, bubbling)
{
	bubbling = bubbling || false;
	
	if(window.addEventListener)	{ // Standard
		element.addEventListener(type, expression, bubbling);
		return true;
	} else if(window.attachEvent) { // IE
		element.attachEvent('on' + type, expression);
		return true;
	} else return false;
}
function removeListener(element, type, expression, bubbling)
{
	bubbling = bubbling || false;
	
	if(window.addEventListener)	{ // Standard
		element.removeEventListener(type, expression);
		return true;
	} else if(window.attachEvent) { // IE
		element.detachEvent('on' + type, expression);
		return true;
	} else return false;
}
function getByClassAndTag(find_tag,find_class,rootElement)
{

	
	var find_elems = new Array(); //array to store elements found
	var elems = rootElement.getElementsByTagName(find_tag); //elements by tagname
	
	//loop all given elements
	for(var i=0;i<elems.length;i++)
	{
		elem_classes = elems[i].className.split(" "); //split classes into array
		
		for(var j=0;j<elem_classes.length;j++) //loop classes
		{
			if(elem_classes[j] == find_class) //if class fits, add to array
			{
				j=elem_classes.length+1;
				find_elems.push(elems[i]);
			}
		}
	}
	
	//return array if not empty - else, false
	if(find_elems.length>0) { return find_elems; }
	else { return false; }
}
function replaceSubNav_Events()
{
	var ms_li = getByClassAndTag("li","m_s",document.getElementById("header"));
	var mssel_li = getByClassAndTag("li","m_s_sel",document.getElementById("header"));
	ms_li = ms_li.concat(mssel_li);

	for(var i=0;i<ms_li.length;i++)
	{
			
		if (window.addEventListener) 
			{ 
				ms_li[i].parameter = ms_li[i];			
				ms_li[i].addEventListener("mouseover", function () { replaceSubNav(this.parameter.parentNode,this.parameter.childNodes[1]); }, false);
				ms_li[i].addEventListener("mouseout", function () {
					this.parameter.childNodes[1].style.display = "none"; 
					this.parameter.parentNode.style.height = "";
					}, false);
					
				if(ms_li[i].childNodes[1]!=null) { //si la section a des pages
					ms_li[i].childNodes[1].parameter = ms_li[i];			
					ms_li[i].childNodes[1].addEventListener("mouseover", function () { replaceSubNav(this.parameter.parentNode,this.parameter.childNodes[1]); }, false);
					ms_li[i].childNodes[1].addEventListener("mouseout", function () {
						this.parameter.childNodes[1].style.display = "none"; 
						this.parameter.parentNode.style.height = "";
						}, false);
				}					
			} 
			else if (window.attachEvent) { 	
			
				ms_li[i].parameter = ms_li[i];			
				ms_li[i].onmouseover = function () { replaceSubNav(this.parameter.parentNode,this.parameter.childNodes[1]); };
				ms_li[i].onmouseout = function () {
					this.parameter.childNodes[1].style.display = "none"; 
					this.parameter.childNodes[1].style.height = "";
					this.parameter.parentNode.style.height = "";			
					};	
				
				if(ms_li[i].childNodes[1]!=null) {	//si la section a des pages
					ms_li[i].childNodes[1].parameter = ms_li[i];			
					ms_li[i].childNodes[1].onmouseover = function () { replaceSubNav(this.parameter.parentNode,this.parameter.childNodes[1]); };
					ms_li[i].childNodes[1].onmouseout = function () {
						this.parameter.childNodes[1].style.display = "none";
						this.parameter.childNodes[1].style.height = "";
						this.parameter.parentNode.style.height = "";
						};	
				}	
			}
	}

	
}
function replaceSubNav(parent_list,child_list)
{

	curr_ul = parent_list;
	curr_ul.style.display = "block";
	
	curr_ul_child = child_list;
	curr_ul_child.style.display = "block";
				
	if(curr_ul.style.height != "")
	{
		if(curr_ul.style.height<curr_ul_child.style.height)
		{
			curr_ul.style.height = (curr_ul_child.style.height.replace("px","") + 0)+ "px";
			curr_ul_child.style.height = (curr_ul_child.style.height.replace("px","") + 0)+ "px";
			
		}
		else
		{
			curr_ul_child.style.height =  (curr_ul.style.height.replace("px",""))+ "px";
		}
		
		
	}
	else
	{
		if(curr_ul.offsetHeight<curr_ul_child.offsetHeight)
		{
			curr_ul.style.height = curr_ul_child.offsetHeight + "px";
			curr_ul_child.style.height = curr_ul_child.offsetHeight + "px";
		}
		else
		{
			curr_ul_child.style.height = (curr_ul.offsetHeight-20) + "px";
		}
	}
}
addListener(window, 'load', init_js);


