var jsddm_timeout			= 400;
var jsddm_closetimer	= 0;
var ddmenuitem				= 0;


jQuery.fn.extend({
   findPos : function() {
       obj = $(this).get(0);
       var curleft = obj.offsetLeft || 0;
       var curtop = obj.offsetTop || 0;
       while (obj = obj.offsetParent) {
                curleft += obj.offsetLeft
                curtop += obj.offsetTop
       }
       return {x:curleft,y:curtop};
   }
});


function jsddm_open() {	
	jsddm_canceltimer();
	jsddm_close();

	$(this).find("a:first").addClass('mouseover');
	if ($(this).find('ul').eq(0)) {
		ddmenuitem = $(this).find('ul').eq(0).css('visibility', 'visible');
	}else {
		ddmenuitem = 0;
	}	
	
}

function jsddm_close() {	
	if(ddmenuitem) {
		ddmenuitem.css('visibility', 'hidden');
		ddmenuitem = 0;
	}
	// remettre tous les items a off
	$('#jsddm li.menuitem a').removeClass('mouseover');
}

function jsddm_timer(){	
	jsddm_closetimer = window.setTimeout(jsddm_close, jsddm_timeout);
}

function jsddm_canceltimer(){	
	if(jsddm_closetimer)	{	
		window.clearTimeout(jsddm_closetimer);
		jsddm_closetimer = null;
	}
}


document.onclick = jsddm_close;

// appelé par le html au document.ready
function jsddm_start(positionnerMenuPlus) {

	// si les sous-items sont plus petits que son parent, les mettre de la meme largeur pour que cela fasse plus beau
	// (sauf pour le menu_plus à la fin)
	$('#jsddm li.menuitem').each( function() {
		ddmenuitem = $(this).find('ul').eq(0);
		if ( $(this).attr("id") != "menu_cobrand_plus" && ddmenuitem.width()+3 < $(this).width() ) 	{
				ddmenuitem.width($(this).width()-3);
		}
	});


	$('#jsddm li.menuitem').bind('mouseover', jsddm_open); // ceux-ci prend tous les li, meme les sous-menus
	$('#jsddm li.menuitem').bind('mouseout',  jsddm_timer); // ceux-ci prend tous les li, meme les sous-menus


	// Positionner le sous-menu du menu_plus (probleme avec IE seulement), pour ceux qui n'ont pas un gros container
	// principal avec une position:relative;
	//
	// On n'aurait pas eu besoin de le faire si tout le header cobrand aurait été dans un 'div' en position relative.
	// Mais si on fait ça, les items des sous-menus du cobrand (position: absolute) arrive en dessous de tout autres 
	// items en position relative dans les autres blocs qui suivent le menu.
	// Donc, le header du cobrand n'a pas de position relative, donc, le right:0 du sous-menu du menu-plus, nous amène trop à droite.
	// Donc, on repositionne manuellement le sous-menu du menu_plus manuellement, selon la position du menu_plus.

	if (positionnerMenuPlus)	{
		if ($('#jsddm li#menu_cobrand_plus') && $('#jsddm li#menu_cobrand_plus ul') )		{

			var posMenuPlus = $('#jsddm li#menu_cobrand_plus').findPos();
			//alert('pos menu_plus = ' + posMenuPlus.x);

			var posMenuPlusUl = $('#jsddm li#menu_cobrand_plus ul').findPos();
			//alert('pos menu_plus ul = ' + posMenuPlusUl.x);

			
			var widthSousMenu = $('#jsddm li#menu_cobrand_plus ul').width();
			var differenceWidth = $('#jsddm li#menu_cobrand_plus ul').width() - $('#jsddm li#menu_cobrand_plus').width() + 2;

			$('#jsddm li#menu_cobrand_plus ul').css('left', posMenuPlus.x - differenceWidth);
			$('#jsddm li#menu_cobrand_plus ul').css('width', widthSousMenu);

		}
	}



}








