function containsDOM (container, containee) {
  var isParent = false;
  do {
    if ((isParent = container == containee))
      break;
    containee = containee.parentNode;
  }
  while (containee != null);
  return isParent;
}

function checkMouseEnter (element, evt) {
  if (element.contains && evt.fromElement) {
    return !element.contains(evt.fromElement);
  }
  else if (evt.relatedTarget) {
    return !containsDOM(element, evt.relatedTarget);
  }
}

function checkMouseLeave (element, evt) {

  if (element.contains && evt.toElement) {
  	return !element.contains(evt.toElement);
  }
  else if (evt.relatedTarget) {
    return !containsDOM(element, evt.relatedTarget);
  }
}

function showmenu() {
	/* l'objet this correspond au li courant */
	hidemenu();
	if($(this).find("div.niveau2_ssmenu").length>0){		
		$(this)				
			.removeClass('selection')
			.addClass('selection')
			.find("div.niveau2_ssmenu")
				.show()
			.end()
			;
			
	}else{
		$(this)
			.addClass('sanspage')
			.end()
			;
	}
}

function hidemenu(){	
	$("#niveau1_ssmenu")
		.find("div.niveau2_ssmenu")
			.hide()
		.end()
		.find("li")
			.removeClass('selection')
			.removeClass('sanspage')
		.end()
	;
}

$(document).ready(function(){
	$("#niveau1_ssmenu li")
		.mouseover(showmenu)
	;
	$("#niveau1_ssmenu")		
		.mouseout(function(event){
			if (checkMouseLeave(this, event)){
					hidemenu();
			}
			
		})
	;
	hidemenu();
});
