function isSafari()
{
	var agt=navigator.userAgent.toLowerCase();
	if (agt.indexOf("safari") != -1)
		return true;
	else
		return false;
}

var bSafari = isSafari();

var const_menu_width = 951;
var iMenuLength = 0;
var iMenuSelected = -2;

function menu_resetSeparations()
{
	for (i = 0 ; i < (iMenuLength - 1) ; i++)
	{
		$("menu_separation_" + i).style.visibility = "hidden"; 
	}
}

function menu_addEvents()
{	
	if ($("menu") && $("menu_hover") && $("menu_left_mask") && $("menu_right_mask") && (iMenuLength != 0) && (iMenuSelected != -2))
	{
		for (i = 0 ; i < iMenuLength ; i++)
		{
			$("menu_element_" + i).style.width = (const_menu_width / iMenuLength) - 1 + "px";
			$("menu_element_" + i).style.zIndex = 4;	
			
			$("menu_element_" + i).onmouseover = function()
			{
				$("menu_hover").style.display = "none";
				
				j = this.id.substring(13);
				
				$("menu_hover").onclick = function()
				{	
					location.href = $("menu_element_a_" + j).href;
				}
				
				aPosition = cumulativeOffset(this);
				aDimensions = getDimensions(this);

				$("menu_hover").style.left = 	aPosition["left"] + "px";
				$("menu_hover").style.top = 	aPosition["top"]  + "px";
				
				if (bSafari)
					$("menu_hover").style.top = 	aPosition["top"] - 4  + "px";
								
				$("menu_hover").style.width = 	aDimensions["width"] + "px";
				$("menu_hover").style.height = 	aDimensions["height"] + "px";
				
				$("menu_hover").style.display = "inline";
				$("menu_hover").style.zIndex =	4;			
				
				 menu_resetSeparations();
				 
				 if ($("menu_separation_" + (j - 1)))
				 {
					 $("menu_separation_" + (j - 1)).style.visibility = "visible";
				 }

				 if ($("menu_separation_" + j))
				 {
					 $("menu_separation_" + j).style.visibility = "visible";
				 }
				 
				 menu_moveMasks();
			}
				
			$("menu_element_a_" + i).onmouseover = function()
			{
				$("menu_hover").style.display = "none";
				
				j = this.id.substring(15);
				
				aPosition = cumulativeOffset($("menu_element_" + i));
				aDimensions = getDimensions($("menu_element_" + i));
			
				$("menu_hover").style.left = 	aPosition["left"] + "px";
				$("menu_hover").style.top = 	aPosition["top"] + "px";
				
				if (bSafari)
					$("menu_hover").style.top = 	aPosition["top"] - 4  + "px";
				
				$("menu_hover").style.width = 	aDimensions["width"] + "px";
				$("menu_hover").style.height = 	aDimensions["height"] + "px";
				
				$("menu_hover").style.display = "inline";
				$("menu_hover").style.zIndex =	4;	
				
				 menu_resetSeparations();

				 if ($("menu_separation_" + (j - 1)))
				 {
					 $("menu_separation_" + (j - 1)).style.visibility = "visible";
				 }

				 if ($("menu_separation_" + j))
				 {
					 $("menu_separation_" + j).style.visibility = "visible";
				 }
				 
				 menu_moveMasks();
			}
			
			
			aPosition = cumulativeOffset($("menu_element_" + i));
			aDimensions = getDimensions($("menu_element_" + i));
			
			/*
			$("menu_element_a_" + i).style.left = 		aPosition["left"] + "px";
			$("menu_element_a_" + i).style.top = 		aPosition["top"] + "px";
			$("menu_element_a_" + i).style.width = 		aDimensions["width"] + "px";
			$("menu_element_a_" + i).style.height = 	aDimensions["height"] + "px";
			$("menu_element_a_" + i).style.display =	"block";
			$("menu_element_a_" + i).style.zIndex = 	6;		
			*/
			/*
			$("menu_element_a_" + i).style.left = 		0 + "px";
			$("menu_element_a_" + i).style.top = 		0 + "px";
			$("menu_element_a_" + i).style.width = 		aDimensions["width"] + "px";
			$("menu_element_a_" + i).style.height = 	aDimensions["height"] + "px";
			$("menu_element_a_" + i).style.display =	"block";
			$("menu_element_a_" + i).style.zIndex = 	6;	*/
			
			$("menu_element_a_" + i).style.width = 		(const_menu_width / iMenuLength) - 1 + "px";
			$("menu_element_a_" + i).style.zIndex = 	6;
		}
		
		menu_resetSeparations();
		
		menu_moveMasks_events();
		
		// Forced
		
		if (iMenuSelected != -1)
		{
			$("menu_hover").style.display = "none";
					
			j = iMenuSelected;
			
			$("menu_hover").onclick = function()
			{	
				location.href = $("menu_element_a_" + j).href;
			}
			
			aPosition = cumulativeOffset($("menu_element_" + j));
			aDimensions = getDimensions($("menu_element_" + j));
	
			$("menu_hover").style.left = 	aPosition["left"] + "px";
			$("menu_hover").style.top = 	aPosition["top"]  + "px";
			
			if (bSafari)
				$("menu_hover").style.top = 	aPosition["top"] - 4  + "px";
							
			$("menu_hover").style.width = 	aDimensions["width"] + "px";
			$("menu_hover").style.height = 	aDimensions["height"] + "px";
			
			$("menu_hover").style.display = "inline";
			$("menu_hover").style.zIndex =	4;			
			
			 menu_resetSeparations();
			 
			 if ($("menu_separation_" + (j - 1)))
			 {
				 $("menu_separation_" + (j - 1)).style.visibility = "visible";
			 }
	
			 if ($("menu_separation_" + j))
			 {
				 $("menu_separation_" + j).style.visibility = "visible";
			 }
		 
			 menu_moveMasks();
		}
	}
	else
		setTimeout("menu_addEvents();", 20);
}

function menu_moveMasks()
{
	aPosition = cumulativeOffset($("menu"));
	aDimensions = getDimensions($("menu"));

	$("menu_left_mask").style.left = 		aPosition["left"] + 10 + "px";
	$("menu_left_mask").style.top = 		aPosition["top"] + "px";
	$("menu_left_mask").style.display =		"block";
	$("menu_left_mask").style.zIndex = 		5;
	
	$("menu_right_mask").style.left = 		aPosition["left"] + aDimensions["width"] - 33 + "px";
	$("menu_right_mask").style.top = 		aPosition["top"] + "px";
	$("menu_right_mask").style.display =	"block";
	$("menu_right_mask").style.zIndex = 	5;
}

function menu_moveMasks_events()
{
	menu_moveMasks();
 
	setTimeout("menu_moveMasks_events();", 250);
}

menu_addEvents();

function block_nos_produits_addEvents()
{	
	if ($("block_nos_produits") && $("block_nos_produits_mask"))
	{
		block_nos_produits_moveMasks();
	}
	
	setTimeout("block_nos_produits_addEvents();", 250);
}

function block_nos_produits_moveMasks()
{
	aPosition = cumulativeOffset($("block_nos_produits"));
	aDimensions = getDimensions($("block_nos_produits"));

	$("block_nos_produits_mask").style.left = 		aPosition["left"] + aDimensions["width"] - 11 + "px";
	$("block_nos_produits_mask").style.top = 		aPosition["top"] + aDimensions["height"] - 10 + "px";
	$("block_nos_produits_mask").style.display =	"block";
	$("block_nos_produits_mask").style.zIndex = 	5;
}

block_nos_produits_addEvents();
 
function form_recherche_addEvent()
{
	if ($("form_recherche") && $("form_recherche_recherche") && $("form_recherche_preselect"))
	{
		$("form_recherche").onsubmit = function()
		{
			/*if (trim($("form_recherche_recherche").value).length < 3)
			{
				alert("Vous devez indiquer au minimum 3 caractères pour votre recherche");
				return false;
			}*/
			
			if ($("form_recherche_recherche").value == "Saisissez ou choisissez")
			{
				alert("Vous devez indiquer un/plusieurs mots clées ou en choisir un dans la liste");
				return false;
			}
			
			if ($("form_recherche_recherche").value == "Choose or write down")
			{
				alert("You must enter at least one keyword or write down");
				return false;
			}
			
			return true;
		}
		
		$("form_recherche_preselect").onchange = function()
		{
			$("form_recherche_recherche").value = $("form_recherche_preselect").value;
		}
		
		$("form_recherche_preselect").onkeypress = function(e)
		{
			var keynum;
			
			if (!e) var e = window.event; 
			
			if(window.event) // IE
			{
				keynum = e.keyCode;
			}
			else if(e.which) // Netscape/Firefox/Opera
			{
				keynum = e.which;
			}
			
			if (keynum == 13)
			{
				$("form_recherche").submit();
			}
		}
	}
	else
		setTimeout("form_recherche_addEvent();", 250);
}

form_recherche_addEvent();

function form_deconnexion_addEvent()
{
	if ($("form_deconnexion") && $("form_deconnexion_a"))
	{
		$("form_deconnexion_a").onclick = function()
		{
			$("form_deconnexion").submit();
		}
	}
	else
		setTimeout("form_deconnexion_addEvent();", 250);
}

form_deconnexion_addEvent();

function popup_zoom_in(element, filename)
{
	if ($("popup_zoom") && $("popup_zoom_img"))
	{
		$("popup_zoom_img").style.display = "none";
		$("popup_zoom").style.display = "block";
		
		$("popup_zoom_img").src = filename;			
		
		$("popup_zoom").onmouseout = function()
		{
			$("popup_zoom").style.display = "none";
		}
		
		popup_zoom_in_load(element);
	}
}

function popup_zoom_in_load(element)
{
	if ($("popup_zoom").style.display != "block")
	{
		$("popup_zoom").style.display = "block";
		var aPopupDimensions = getDimensions($("popup_zoom"));
		$("popup_zoom").style.display = "none";
	}
	else
		var aPopupDimensions = getDimensions($("popup_zoom"));
	
	var aElementDimensions = getDimensions(element);
	var aElementPosition = cumulativeOffset(element);
		
	$("popup_zoom").style.left = aElementPosition["left"] + ((aElementDimensions["width"] - aPopupDimensions["width"]) / 2) + "px";
	
	$("popup_zoom").style.top = aElementPosition["top"] + ((aElementDimensions["height"] - aPopupDimensions["height"]) / 2) + "px";		
	
	if ($("popup_zoom_img").complete)
	{
		$("popup_zoom_img").style.display = "block";
	}
	else
	{	
		setTimeout("popup_zoom_in_load();", 250);
	}	
}

// Prototype Functions

function $(element)
{
	if (arguments.length > 1)
	{
		for (var i = 0, elements = [], length = arguments.length; i < length; i++)
		elements.push($(arguments[i]));
		return elements;
	}
	element = document.getElementById(element);
	return (element);
}

function getDimensions(element)
{
    var display = element.style.display;
    if (display != 'none' && display != null) // Safari bug
      return {width: element.offsetWidth, height: element.offsetHeight};

    // All *Width and *Height properties give 0 on elements with display none,
    // so enable the element temporarily
    var els = element.style;
    var originalVisibility = els.visibility;
    var originalPosition = els.position;
    var originalDisplay = els.display;
    els.visibility = 'hidden';
    els.position = 'absolute';
    els.display = 'block';
    var originalWidth = element.clientWidth;
    var originalHeight = element.clientHeight;
    els.display = originalDisplay;
    els.position = originalPosition;
    els.visibility = originalVisibility;
    return {width: originalWidth, height: originalHeight};
}

function cumulativeOffset(element)
{
    var valueT = 0, valueL = 0;
    do {
      valueT += element.offsetTop  || 0;
      valueL += element.offsetLeft || 0;
      element = element.offsetParent;
    } while (element);
    return _returnOffset(valueL, valueT);
}

function _returnOffset(l, t)
{
	var result = [l, t];
	result.left = l;
	result.top = t;
	return result;	
}

function getElementsByClassName(className, tag, elm){
	var testClass = new RegExp("(^|\\\\s)" + className + "(\\\\s|$)");
	var tag = tag || "*";
	var elm = elm || document;
	var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
	var returnElements = [];
	var current;
	var length = elements.length;
	for(var i=0; i<length; i++){
		current = elements[i];
		if(testClass.test(current.className)){
			returnElements.push(current);
		}
	}
	return returnElements;
}

function getFilePath(sFile)
{
	sPath = sFile.substring(sFile.lastIndexOf("\/"));
	sPath = sFile.replace(sPath, "");
	return sPath;
}

function getFileName(sFile)
{
	sPath = sFile.substring(sFile.lastIndexOf("\/"));
	sPath = sPath.replace("\/", "");
	return sPath;
}

function getPageScrollXY()
{
	var scrOfX = 0, scrOfY = 0;
	if( typeof( window.pageYOffset ) == 'number' )
	{
		//Netscape compliant
		scrOfY = window.pageYOffset;
		scrOfX = window.pageXOffset;
	}
	else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) )
	{
		//DOM compliant
		scrOfY = document.body.scrollTop;
		scrOfX = document.body.scrollLeft;
	}
	else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) )
	{
		//IE6 standards compliant mode
		scrOfY = document.documentElement.scrollTop;
		scrOfX = document.documentElement.scrollLeft;
	}
	
	var aXY = new Array();	
	aXY["x"] = scrOfX; 
	aXY["y"] = scrOfY; 
	
	return (aXY);
}

function trim(myString)
{
	return myString.replace(/^\s+/g,'').replace(/\s+$/g,'')
} 


function limite(zone,max)
{
	if(zone.value.length>=max){zone.value=zone.value.substring(0,max);}
} 


