// JavaScript Document
window.addEvent('domready',  initialisation);
var TBINTERVAL=null
function initialisation()
{
	initMenuTransverse();
	changeContactLink();
	initMenuPrincipal();
	
	if($('conteneur_offres') != null)
	{
		initAccordeonOffre();
	}
	
	onEnveloppeClick();
	
    //TBINTERVAL = setInterval(checkContactToClose,2000);
}


function onEnveloppeClick()
{
    $$('.btnEnveloppe, #contactBottom')
        .each(function (elem,i){
	        elem.addEvent('click',function (){
	            new Fx.Scroll(window).toElement(window);
	        });
        })
    ;
}


/**
Modifie l'adresse du lien de contact dans le cas o� le javascript fonctionne...
Dans ce cas, on permet l'appel en ajax avec un layout minimal
*/
function changeContactLink(){
    $$('a.smoothbox').each(function (el){
        var stop=false;            
        var parts = el.href.split('/');
        var rel = [];
        for (i in parts){
            //console.debug($type(parts[i]));
            if($type(parts[i])=="string"){
                if(parts[i].match(/\(.*\)/)){
                    stop = i-1;
                    break;
                }
                rel.push(parts[i]);
            }
        }
        
        if(!stop) stop = parts.length-1        
	      rel[stop] = "layout/set/blank/"+rel[stop];
        for (var i = stop+1; i < parts.length; i++){
          rel.push(parts[i]);
        }
	      rel=rel.join('/');
	      if(rel.indexOf('?')!=-1){
	    	  el.href=rel+"&TB_iframe=true&height=740&width=764";
	      }
	      else {
	    	  el.href=rel+"?TB_iframe=true&height=740&width=764";
	      }
	    	  
    })
	
}

function initAccordeonOffre()
{
	//creation accordeon
	var myAccordion = new Accordion($('conteneur_offres'), 'h3.toggler', 'div.partie_detail_offre', {
		display:-1,
		alwaysHide:true,
		onActive: function(toggler, element){
			toggler.getElement('img').set('src', '/extension/emexp/design/emexp/images/css/offre_replier.gif');
			toggler.getParent().getParent().getParent().addClass("mise_en_avant");
		},
		onBackground: function(toggler, element){
			toggler.getElement('img').set('src', '/extension/emexp/design/emexp/images/css/offres_deplier.gif');
			toggler.getParent().getParent().getParent().removeClass("mise_en_avant");
		}
	});	
	
	//
	if($('listes_recherches') != null)
	{
		var hauteurBlocListe = $('listes_recherches').getHeight();
		if( hauteurBlocListe > 20)
		{
			if($('main_colonne').hasClass('widthRightColonne'))
			{
				$('listes_recherches').setStyle('width', '715px');
			}
			else
			{
				$('listes_recherches').setStyle('width', '900px');
			}
		}
		
		//action sur les listes de recherches (sous menu)
		var listeLI_Niv_un = $$('#listes_recherches ul li.level1');
		listeLI_Niv_un.each(function (li){
			if(li.getElement('ul') != null)
			{
				li.getElement('ul').setStyle('opacity', 0);
			li.getElement('ul').setStyle('display', 'block');
			
			
			
			var l =  li.getWidth();
			li.getElement('ul').setStyle('width', l+'px');
			
			li.addEvent('mouseenter', mouseEnterNavRecherche);
			li.addEvent('mouseleave', mouseLeaveNavRecherche);
			}
		});
	}
	
	//Ouverture et positionnement automatique sur l'�l�ment
	if( $$('h3.selected')[0] )
	{
	    var element = $$('h3.selected')[0];
        element.fireEvent.delay(1000,element,'click')
        var fx = new Fx.Scroll(window)
        fx.start(0,element.getTop())
	}
	
}

function mouseEnterNavRecherche()
{
	this.getElement('a').setStyle('background', "#FFFFFF url(/extension/emexp/design/emexp/images/css/arrow_menu_deroulant_over.gif) no-repeat center right");
	var ul_a_montrer = this.getElement('ul');
	if(ul_a_montrer != null)
	{
		ul_a_montrer.fade('1');
	}
}
function mouseLeaveNavRecherche()
{
	this.getElement('a').setStyle('background', "#FFFFFF url(/extension/emexp/design/emexp/images/css/arrow_menu_deroulant.gif) no-repeat center right");
	var ul_a_cacher = this.getElement('ul');
	if(ul_a_cacher != null)
	{
		ul_a_cacher.fade('0');	
	}
}

/**
*	Initialisation du menu transervse
*/

function initMenuTransverse(){
	var li_info_pratique = $('menu_transverse').getElement('ul.info').getElement('.infoPratique'); 	
	li_info_pratique.addEvent('mouseenter', mouseEnterTransverseMenu);
	li_info_pratique.addEvent('mouseleave', mouseLeaveTransverseMenu);
	li_info_pratique.getElement('ul').setStyle('opacity', 0);
	li_info_pratique.getElement('ul').setStyle("display", "block");
}

function mouseEnterTransverseMenu()
{
	var lienInfoPratique = $('menu_transverse').getElement('ul.info').getElement('.infoPratique').getElement('a'); 
	lienInfoPratique.setStyle('background', "#fbfbfb url(/extension/emexp/design/emexp/images/css/arrow_menu_deroulant_over.gif) no-repeat center right");
	
	var sousMenuInfoPratique = this.getElement('ul');
	sousMenuInfoPratique.fade('1');
}

function mouseLeaveTransverseMenu()
{
	var lienInfoPratique = $('menu_transverse').getElement('ul.info').getElement('.infoPratique').getElement('a'); 
	lienInfoPratique.setStyle('background', "#fbfbfb url(/extension/emexp/design/emexp/images/css/arrow_menu_deroulant.gif) no-repeat center right");
	
	var sousMenuInfoPratique = this.getElement('ul');
	sousMenuInfoPratique.fade('0');
}

/**
*	Initialisation du menu princpial
*/
function initMenuPrincipal()
{
	// CR�ation d'une marge identique entre chaque item de menu principal
	var margeEachItem = calculMargeUtilesMainMenu();
	
	var tabLi = $$('#menu_main ul li.level1');
	
	tabLi.each(function (li){
				
				li.getElements('span')[1].getElements('a').setStyle('padding-left', Math.floor(margeEachItem/2)+'px');
				li.getElements('span')[1].getElements('a').setStyle('padding-right', Math.floor(margeEachItem/2)+'px');
				}
			   )
	
	//Il reste une mini marge, on la rattrape
	var wul = $$('#menu_main ul')[0].getWidth();
	var wli = 0;
	
	for(i = 0; i< tabLi.length; i++)
	{
		wli += tabLi[i].getWidth();
	}
	var miniMarge = wul-wli;
	
	var margeGauche = Math.floor(miniMarge /2);
	var margeDroite = miniMarge - margeGauche;
	//alert(miniMarge +" = "+ margeGauche + " + "+margeDroite);
	tabLi[tabLi.length - 1].getElements('span')[1].getElements('a').setStyle('padding-left', (Math.floor(margeEachItem/2) + margeGauche)+'px');
	tabLi[tabLi.length - 1].getElements('span')[1].getElements('a').setStyle('padding-right', (Math.floor(margeEachItem/2) + margeDroite)+'px');

	// On d�finit les action sur chaque lien
	var tabLi_a = $$('#menu_main ul li.level1');
	tabLi_a.each(function (lien){
		lien.addEvent('mouseenter', mouseEnterMainMenu);
		lien.addEvent('mouseleave', mouseLeaveMainMenu);
	})
	
	// On d�finit l'opacit� du ssmenu EMExp � 0
	if($("ssMenu_niv2_EMEXP"))
	{
		$("ssMenu_niv2_EMEXP").setStyle('opacity', 0);
		$("ssMenu_niv2_EMEXP").setStyle("display", "block");
		$("ssMenu_niv2_EMEXP").addEvent('mouseenter', montreSsMenu_niv2);
		$("ssMenu_niv2_EMEXP").addEvent('mouseleave', cacheSsMenu_niv2);
		$$("#ssMenu_niv2_EMEXP a").addEvent('mouseenter', decaleItemMenu);
		$$("#ssMenu_niv2_EMEXP a").addEvent('mouseleave', recaleItemMenu);
	}
}
function decaleItemMenu()
{
	//alert(this.getElements("span")[1].innerHTML);
	var monSpan = this.getElements("span")[1];
	if(monSpan.hasClass('normal'))
	{
		monSpan.removeClass('normal');
		
	}
	monSpan.addClass('ssHover');

}
function recaleItemMenu()
{
	var monSpan = this.getElements("span")[1];
	if(monSpan.hasClass('ssHover'))
	{
		monSpan.removeClass('ssHover');
		
	}
	monSpan.addClass('normal');
}

function mouseEnterMainMenu(o)
{	
	// Changement du fond
	this.getElements("span")[0].setStyle('background-position', 'bottom left');
	this.getElements("span")[1].setStyle('background-position', 'bottom left');
	this.getElements("span")[2].setStyle('background-position', 'bottom left');
	
	// Disparation du s�parateur de la li en survol
	if(!this.hasClass("last"))
	{
		this.setStyle('background','url(/extension/emexp/design/emexp/images/css/menu/main_menu_bcentreLeft.gif) repeat-x');
	}
	
	// Disparition du s�parateur de la li juste avant
	var li_previous = this.getPrevious();
	if(li_previous != null)
	{
			li_previous.setStyle('background','url(/extension/emexp/design/emexp/images/css/menu/main_menu_bcentreLeft.gif) repeat-x');
	}
	
	
	// Action pour d�roul� le menu d'�vian masters exp�rience
	//alert(this.getElement('ul#ssMenu_niv2'));
	if(this.getElement("ul#ssMenu_niv2_EMEXP") != null)
	{
		montreSsMenu_niv2();
	}
}

function mouseLeaveMainMenu()
{
	// Changement du fond
	if(!this.hasClass("current"))
	{
		this.getElements("span")[0].setStyle('background-position', 'top left');
		this.getElements("span")[1].setStyle('background-position', 'top left');
		this.getElements("span")[2].setStyle('background-position', 'top left');		  
	}
	
	
	// Apparition du s�parateur de la li en survol
	if(!this.hasClass("last"))
	{
		this.setStyle('background','url(/extension/emexp/design/emexp/images/css/main_menu_sep.gif) no-repeat top right');
	}
	
	// Apparition du s�parateur de la li juste avant
	var li_previous = this.getPrevious();
	if(li_previous != null)
	{
			li_previous.setStyle('background','url(/extension/emexp/design/emexp/images/css/main_menu_sep.gif) no-repeat top right');
	}
	
	// Action pour cach� le menu d'�vian masters exp�rience
	
	if(this.getElement("ul#ssMenu_niv2_EMEXP") != null)
	{
		cacheSsMenu_niv2();
	}
}


function montreSsMenu_niv2()
{
	$$("#menu_main a.lienniv1")[0].setStyle('color','#ffffff');
	$("ssMenu_niv2_EMEXP").fade('1');
}
function cacheSsMenu_niv2()
{
	$$("#menu_main a.lienniv1")[0].setStyle('color','#3B3632');
	$("ssMenu_niv2_EMEXP").fade('0');
}

//Calcul la Marge qu'il doit y avoir entre chaque item de niveau 1 du menu principale
function calculMargeUtilesMainMenu()
{
	var li = $$('#menu_main ul li.level1');
	var w = 0;
	var counter = 0;
	li.each(function (el,i){
		w+=el.getWidth();		
		counter = i;
	})
	
	//Largeur du ul principal
	var wul = $$('#menu_main ul')[0].getWidth();
	
	counter++;
	var marge = Math.floor(( wul - w ) / counter);
	
	return marge;
}

function checkContactToClose(){
    if (!$('TB_iframeContent')) return;
    
    try{
        var d = $('TB_iframeContent').contentDocument.body;
    }catch(e){
        var d = $('TB_iframeContent').document.body;
    }
    if(d.innerHTML.match(/sended/)){
        clearTimeout(TBINTERVAL);
        TB_remove.delay(1500);
        TBINTERVAL=setInterval(checkContactToClose,2000);
    }
}

