function createXhrObject()
{
	if (window.XMLHttpRequest)
		return new XMLHttpRequest();
	
	if (window.ActiveXObject)
	{
		var names = [
			'Msxml2.XMLHTTP.6.0',
			'Msxml2.XMLHTTP.3.0',
			'Msxml2.XMLHTTP',
			'Microsoft.XMLHTTP'
		];
		for(var i in names)
		{
			try{ return new ActiveXObject(names[i]); }
			catch(e){}
		}
	}
	window.alert('Votre navigateur ne prend pas en charge l\'objet XMLHTTPRequest.');
	return null; // non supporté
}

/**
* @author Patrick Poulain
* @see http://petitchevalroux.net
* @licence GPL
*/
function getElementPosition(element)
{
	var left = 0;
	var top = 0;
	var e = element;
	
	while (e.offsetParent != undefined && e.offsetParent != null)
	{
		left += e.offsetLeft + (e.clientLeft != null ? e.clientLeft : 0);
		top += e.offsetTop + (e.clientTop != null ? e.clientTop : 0);
		e = e.offsetParent;
	}
	
	return new Array(left,top);
}

/**
* @author Patrick Poulain
* @see http://petitchevalroux.net
* @licence GPL
*/
function getMousePosition(event)
{
	var e = event || window.event;
	var scroll = new Array((document.documentElement && document.documentElement.scrollLeft) || window.pageXOffset || self.pageXOffset || document.body.scrollLeft,(document.documentElement && document.documentElement.scrollTop) || window.pageYOffset || self.pageYOffset || document.body.scrollTop);
	return new Array(e.clientX + scroll[0] - document.body.clientLeft, e.clientY + scroll[1] - document.body.clientTop);
}

var mousePosition = new Array();

function searchBoxHover(event)
{
	var element = document.getElementById('search_box');
	mousePosition = getMousePosition(event);
	var elementPosition = getElementPosition(element);
	
	if (mousePosition[0] - elementPosition[0] > 108) {
		element.style.cursor = 'pointer';
	} else {
		element.style.cursor = 'text';
	}
}

function searchBoxClic(element)
{
	if (element.value == 'Rechercher') element.value = '';
	
	var elementPosition = getElementPosition(element);
	if (mousePosition[0] - elementPosition[0] > 108) {
		element.parentNode.submit();
	}
}

function popupMenu(parentEl, childEl)
{
	if (childEl.style.display == 'none' || childEl.style.display == '') {
		var parentPosition = getElementPosition(parentEl);
		childEl.style.display = 'block';
		childEl.style.left = (parentPosition[0] - 100) + 'px';
	}
}

RegExp.escape = function(str)
{
	var specials = new RegExp("[.*+?|()\\[\\]{}\\\\]", "g"); // .*+?|()[]{}\
	return str.replace(specials, "\\$&");
}

function filterSelectOnKey(selectId, filter, possibilities)
{
	var selectNode = document.getElementById(selectId);
    while (selectNode.hasChildNodes()) {
		selectNode.removeChild(selectNode.firstChild);
	}
	
	var whatPossibilities = new RegExp(RegExp.escape(filter), "i");
	
	for (var i = 0; i < possibilities.length; i++) {
		if (whatPossibilities.test(possibilities[i][1])) {
			var option = document.createElement('option');
			option.setAttribute('value', possibilities[i][0]);
			option.innerHTML = possibilities[i][1];
			selectNode.appendChild(option);
		}
	}
}

var overpopupmenu = false;

function popupOver()
{
	overpopupmenu = true;
}

function popupOut()
{
	overpopupmenu = false;
}

function docMouseDown(e)
{
	var childEl = document.getElementById('menu_main_suggestpopup');
	if (childEl.style.display == 'none' || childEl.style.display == '') {
	} else if (!overpopupmenu) {
		childEl.style.display = 'none';
	}
	
	childEl = document.getElementById('favorite_box');
	if (childEl != null && !overpopupmenu) {
		childEl.parentNode.removeChild(childEl);
	}
}

document.onmousedown = docMouseDown;
