var time = new Date();
randnum= (time.getTime());

//
//	Mini API
//
if (!Array.prototype.push) {
	Array.prototype.push = function() {
		var startLength = this.length;
		for (var i = 0; i < arguments.length; i++)
		this[startLength + i] = arguments[i];
		return this.length;
	}
}

function $() {
	var elements = new Array();

	for (var i = 0; i < arguments.length; i++) {
		var element = arguments[i];
		if (typeof element == 'string')
			element = document.getElementById(element);

		if (arguments.length == 1) 
			return element;

		elements.push(element);
	}

	return elements;
}


function mvd(element){
	var text = '';
	for(i in element){
		text += i + '\t';
	}

	alert(text);
}

//
//	DHTML
//

function findPosX(obj){
	var curleft = 0;
	if (obj.offsetParent){
		while (obj.offsetParent){
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}

	else if (obj.x)
		curleft += obj.x;

	return curleft;
}


function findPosY(obj){
	var curtop = 0;

	if (obj.offsetParent){
		while (obj.offsetParent){
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}

	else if (obj.y)
		curtop += obj.y;

	return curtop;
}


function getScrollTop(){
	var top = 0;

	if (self.pageYOffset) // all except Explorer
		top = self.pageYOffset;
	else if (document.documentElement && document.documentElement.scrollTop)  // Explorer 6 Strict
		top = document.documentElement.scrollTop;
	else if (document.body)  // all other Explorers
		top = document.body.scrollTop;
	
	return top;
}


function getScrollLeft(){
	left = 0;

	if (self.pageXOffset)  // all except Explorer
		left = self.pageXOffset;
	else if (document.documentElement && document.documentElement.scrollLeft) // Explorer 6 Strict
		left = document.documentElement.scrollLeft;
	else if (document.body) // all other Explorers
		left = document.body.scrollLeft;
	
	return left;
}


function getWindowHeight(){
	var y;
	if (self.innerHeight)// all except Explorer
		y = self.innerHeight;
	else if (document.documentElement && document.documentElement.clientHeight) // Explorer 6 Strict Mode
		y = document.documentElement.clientHeight;
	else if (document.body) // other Explorers
		y = document.body.clientHeight;

	return y;
}

function getWindowWidth(){
	var x;
	if (self.innerHeight) // all except Explorer
		x = self.innerWidth;
	else if (document.documentElement && document.documentElement.clientHeight) // Explorer 6 Strict Mode
		x = document.documentElement.clientWidth;
	else if (document.body) // other Explorers
		x = document.body.clientWidth;
	
	return x;
}


//
//	Code
//


//MENU
var idTimeout;

var pause = 400;

var iframesMenu = new Array(2);
iframesMenu[0] = $("iframe_menu1");
iframesMenu[1] = $("iframe_menu2");

var displayedMenus = Array(3);
displayedMenus[0] = "";
displayedMenus[1] = "";
displayedMenus[2] = "";

var menusHiding = Array(3);
menusHiding[0] = "";
menusHiding[1] = "";
menusHiding[2] = "";

var overItems = Array(3);
overItems[0] = "";
overItems[1] = "";
overItems[2] = "";

var overClassNames = Array(3);
overClassNames[0] = "";
overClassNames[1] = "";
overClassNames[2] = "";

function displayMenu(idMenuToDisplay, idOverItem, level){
	if(!iframesMenu[0]){
		iframesMenu[0] = $("iframe_menu1");
		iframesMenu[1] = $("iframe_menu2");
	}

	var menuToDisplay = $(idMenuToDisplay);
	var overItem = $(idOverItem);

	menu_X = findPosX(overItem) + overItem.offsetWidth -1;
	menu_Y = findPosY(overItem);

	//On place le calque
	menuToDisplay.style.display = "block";
	menuToDisplay.style.top = menu_Y + "px";
	menuToDisplay.style.left = menu_X + "px";
	
	//On vérfie l'espace restant pour afficher le menu
	if(self.innerHeight)
		documentHeight = parseInt(self.innerHeight) + getScrollTop();
	else
		documentHeight = parseInt(document.body.clientHeight) + getScrollTop();

	if(menuToDisplay.offsetHeight + menu_Y > documentHeight) 
		menu_Y = menu_Y - ((menu_Y + menuToDisplay.offsetHeight) - documentHeight);
	

	//On place l'iframe
	if(iframesMenu[level]){
		iframesMenu[level].style.top = menu_Y + "px";
		iframesMenu[level].style.left = menu_X + "px";
		iframesMenu[level].style.height = menuToDisplay.offsetHeight+ "px";
		iframesMenu[level].style.width = menuToDisplay.offsetWidth + "px";
		iframesMenu[level].style.display = "block";	
	}

	//Si le menu à atteint le bas de l'écran, on le remonte
	if(menu_Y != menuToDisplay.style.top) 
		menuToDisplay.style.top = menu_Y + "px";
	
			
	displayedMenus[level] = idMenuToDisplay;
}

function hideLevelMenu(level){
	for(i=level; i<displayedMenus.length; i++){
		menuToHide = $(displayedMenus[i]);

		if(iframesMenu[i]){
			/*
			iframesMenu[i].style.top = "0px";
			iframesMenu[i].style.left = "0px";
			*/
			iframesMenu[i].style.display = "none";
		}

		if(menuToHide){
			/*
			menuToHide.style.top = "0px";
			menuToHide.style.left = "0px";
			*/
			menuToHide.style.display = "none";
		}

		if(overItems[i] != ""){
			//$(overItems[i]).style.backgroundColor="";
			$(overItems[i]).className = overClassNames[i];
			overItems[i] = "";
			overClassNames[i] = "";
		}

		displayedMenus[i] = "";
	}
}


function changeMenu(event, idMenuToDisplay, idOverItem, overClassName, level){
	if(displayedMenus[level] != idMenuToDisplay){
            // alert("toto");
		stopHideMenu(level);
		hideLevelMenu(level);

		if(idMenuToDisplay != null)
			displayMenu(idMenuToDisplay, idOverItem, level);
	}

	if(overItems[level] != ""){
		//$(overItems[level]).style.backgroundColor="";
		$(overItems[level]).className = overClassNames[level];
		//overItems[level] = "";
		//overClassNames[level] = "";
	}

	//$(idOverItem).style.backgroundColor=color;
	overClassNames[level] = $(idOverItem).className;
	$(idOverItem).className=overClassName;

	overItems[level] = idOverItem;
}

function stopHideMenu(level){
	for(i=level; i>=0; i--){
		window.clearTimeout(menusHiding[i]);
		menusHiding[i] = "";
	}
}

function hideMenu(e, idAreaToTest, levelToHide){
	var areaToTest = $(idAreaToTest);

	_X = findPosX(areaToTest);
	_Y = findPosY(areaToTest);
	_width = areaToTest.offsetWidth;
	_height = areaToTest.offsetHeight;
	
	if (e.pageX || e.pageY) 	{
		posx = e.pageX;
		posy = e.pageY;
	}
	else if (e.clientX || e.clientY) 	{
		posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
		posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
	}

	var inside = posx > _X && posx < (_X+_width) && posy > _Y && posy <= (_Y+_height);

	if(!inside){
		menusHiding[levelToHide] = window.setTimeout('hideLevelMenu("'+levelToHide+'")', pause);
	}
}


	function position(evt, id){ // récupération de la position souris
		offX=0;
		offY=0;
		id = "info" + id;
		if(!evt) evt = window.event;    
		if(parseInt(navigator.appVersion) >=4){
		    if(navigator.appName == 'Netscape'){
		        mouse_x = evt.layerX;
				mouse_y = evt.layerY;
		    }else{
		        mouse_x = event.x + (document.documentElement.scrollLeft + document.body.scrollLeft);
				mouse_y = event.y + (document.documentElement.scrollTop + document.body.scrollTop);
				if(navigator.userAgent.search("Opera") != -1)
				{
					mouse_x -= 420;
					mouse_y -= 220;
					
					if(mouse_x < 0 || mouse_y < 0)
					{
						mouse_x += 420;
						mouse_y += 220;
					}
				}
		    }
		}
		var info = document.getElementById(id);
		
		info.style.left = (offX + mouse_x - 130) + "px";
		info.style.top = (offY + mouse_y + 30) + "px";
	}

	function montrer(id){
		var info = document.getElementById("info" + id);
		offX = 0;
		offY = 0;
		info.style.display="block";
	}

	function cacher(id){
		var info = document.getElementById("info" + id);
		info.style.display="none";
	}

function MM_Search() { 
  document.MM_returnValue = false;
  var szTemp=document.form1.query.value;
  eval("parent.location='http://www.promo-conso.net/recherche.php?keyword="+szTemp+"'");
}

function MM_GoProsp() { 
  document.MM_returnValue = false;
  var szTemp=document.form2.combo.value;
  eval("parent.location='http://www.promo-conso.net/enseigne.php?ref_prosp="+szTemp+"'");
}



