menu = new Object();
footer_links = new Object();
menu_principal = new Object();
services = new Object();
services.nb_service_max = 3;
meteos = new Object();
presses = new Object();
presses.is_loaded = false;

/* ----------------------------------------------------------------------
 * MENU PRINCIPAL
 * ----------------------------------------------------------------------
 */
 
menu_principal.init = function() {

	menu_principal.menus_effect = new Array();
	for(i=1;i<5;i++) {
		m = $('menu_sousmenu-' + i);
		menu_principal.menus_effect[i] =  new Fx.Slide(m, { 
			mode: 'horizontal',
			duration: '500',
			transition: Fx.Transitions.Sine.easeOut
		});
	
		// on rend invisible via le js et plus par la class
		m.removeClass("hidden");
		menu_principal.menus_effect[i].hide();
	}
	if(MENU_OPENED == 0) { MENU_OPENED = ""; } // cas particulier page d'accueil.
	
	menu_principal.current_open = MENU_OPENED;
	menu_principal.main_menu = MENU_OPENED;
	if(menu_principal.current_open != "") {
		menu_principal.menus_effect[menu_principal.current_open].show();
	}
	
}

menu_principal.effects_cancel = function(show_main) {
	for(i=1;i<5;i++) {
		menu_principal.menus_effect[i].cancel();
		menu_principal.menus_effect[i].hide();
		if(show_main == true) {
			if(menu_principal.main_menu != "") {
				menu_principal.menus_effect[menu_principal.main_menu].show();
				menu_principal.current_open = menu_principal.main_menu;
			}
		} else {
			menu_principal.current_open = "";
		}
	}
}

menu_principal.rollback = function(cancelit) {
	if(window.console) console.log("menu_principal.rollback");
	if(cancelit == true) {
		if(menu_principal.timeoutID != null) {
			$clear(menu_principal.timeoutID);
		}
	} else {
		menu_principal.timeoutID = menu_principal.rollbackit.delay(500, '', false);
		return;
	}

}

menu_principal.rollbackit = function() {
		if(window.console) console.log("menu_principal.rollbackit");
		//menu_principal.effects_cancel(false);
	
	if(menu_principal.main_menu == menu_principal.current_open) {
			return;
		}
		lid = menu_principal.current_open;
		if(lid != "") {
			menu_principal.menus_effect[lid].toggle();
		}
		lid = menu_principal.main_menu;
		if(lid != "") {
			menu_principal.menus_effect[lid].toggle();
		}	
		menu_principal.current_open = lid;
}

menu_principal.mover = function(these, out) {

	// pas d'effet pour l'instant
	return;
	
	if(these.hasClass('select') == true) {
		return;
	}
	var myEffects = new Fx.Morph(these, {duration: 200, transition: Fx.Transitions.Sine.easeIn});

	current_bg = these.getStyle('background-color');
	if(out == false) {
		myEffects.start({
		'background-color': [current_bg,'#f5a232']
		});
	}
	else {
		myEffects.start({
		'background-color': [current_bg,'#000000']
		});
	}
}

/* ----------------------------------------------------------------------
 * SOUS MENU
 * ----------------------------------------------------------------------
 */
menu.mover = function(these, out) {

	if(these.hasClass('select') == true) {
		return;
	}
	
	
	var myEffects = new Fx.Morph(these, {duration: 350, transition: Fx.Transitions.Sine.easeIn});

	if(out == false) {
		these.setStyle('color', '#000000');
		myEffects.start({
		'background-color': ['#f5a232','#FFFFFF']
		});
	}
	else {
		these.setStyle('color', '#ffffff');
		myEffects.start({
		'background-color': ['#ffffff','#f5a232']
		});
	}

			
}

/* click sur un menu : on envoi requete ajax pour recuperer le content */
menu.click = function(these) {
	if (window.console) console.log("sous menu : click ");
	url = these.href;
	if(window.console) console.log("click " + url);
	// on met le hover sur le bon menu
	$('menu_sousmenu-' + MENU_OPENED).getElements('a').each(
		function(el) {
			el.removeClass("select");
			el.setStyle('background-color','');
		}
	);
	these.addClass("select");
	these.setStyle('background-color','');
	
	// le menu actuel devient le menu principale
	menu_principal.main_menu = menu_principal.current_open;

	// on modifie le liens sharing
	menu.sharingChange(url);

	// on raffiche nos bloc ? a cause du flash isfr on ne peut pas le faire au retour ajax :-/
	if(diapobg.background_visible == true) {
		diapobg.hide_bg();
	}
	
	// on vire notre event car le bouton n'est plus là apres l'ajax
	if($('close_content')) {
		$('close_content').removeEvents('click');
	}
	// on ajax
	var req = new Request({
		method: 'get',
		url: "/ajax/getcontent.php",
		data: { 'url' : url, 'lang' : LANG },
		 onRequest: function() { menu.waitloading(); },
		 onComplete: function(response) {menu.show_request(response); }
		}).send();
		
	return false;
}

/* loader d'attente quand on veut une page */
menu.waitloading = function(id) {
//	$('content_waiting').setStyle("display","");
//	$('content').setStyle("display","none");
}

/* retour de la requete ajax quand on a demandé une page */
menu.show_request = function(response) {

	if(window.console) { console.log("menu.show_request : inject html"); };
	$('content').set('html',response);

	// on rechope les liens pouvant utilisé la smoothbox
	TB_init();
	// presse ? (on init a nouveau)
	flashpresseIsLoaded  = false;
	presses.is_loaded = false;
	flashpresse();
	
	
	presses.init();
	// antispam
	antispam_reloadmailto('content');
	// formcheck
	formcheck_apply_to_form();
	// les pictos
	show_alt_picto_attach_event();
	// les tooltips
	my_tooltip_attach_event();
	
	// on remet notre event sur le bouton close_content
	if($('close_content') && $('under_boxes')) {
		if (window.console) console.log("close content attachement");
		$('close_content').addEvent('click', 
			function(event) {
				event.stop();
				diapobg.show_bg();
			}
		);
	}
	
	// on appelle sIFR pour qui nous refasse tout cas bien
	sIFR.replace(GillSansStd, {
		selector: '#content h1',
		css: '.sIFR-root { color: #f5a232; }',
		wmode: 'transparent'
	});

	sIFR.replace(GillSansStd, {
		selector: '#content h2',
		css: '.sIFR-root { color: #cacac8; }',
		wmode: 'transparent'
	});	
	
	if(window.console) { console.log("menu.show_request : inject html end"); };
}


menu.hover = function(id, out) {
}

/* ----------------------------------------------------------------------
 * MENU > SHARING MODIFIER LES URLs (tous les sharings:service et footer)
 * ----------------------------------------------------------------------
 */
/* modification des url de facebook, digg (changement d'url via ajax, on modifie du coup les liens des sharing) */
menu.sharingChange = function(url) {
	url = escape(url);
	if(window.console) console.log("sharing : " + url);
	if($('digg')) {
		$('digg').href = "http://digg.com/submit?url=" + url + "&title=BRIDESKI&media=MEDIA&topic=other_sports";
	}
	if($('facebook')) {
		$('facebook').href = "http://www.facebook.com/sharer.php?u=" + url;
	}

	if($('service_digg')) {
		$('service_digg').href = "http://digg.com/submit?url=" + url + "&title=BRIDESKI&media=MEDIA&topic=other_sports";
	}
	if($('service_facebook')) {
		$('service_facebook').href = "http://www.facebook.com/sharer.php?u=" + url;
	}
	
	if(window.console) console.log("fin de sharing");

}


/* ----------------------------------------------------------------------
 * WIDGETS SERVICES
 * ----------------------------------------------------------------------
 */
services.init = function() {
		
	m = $('services_list');
	services.menu_effect =  new Fx.Slide(m, { 
		duration: '400',
		transition: Fx.Transitions.Sine.easeOut
	});

	return;
	
	services.menus_effect = new Array();
	i = 0;	

	
	$('services_list').getElements('div.list').each(
		function(el) {
			services.menus_effect[i] =  new Fx.Slide(el, { 
				duration: '350',
				transition: Fx.Transitions.Bounce.easeOut
			});
			if(window.console) console.log("services.menus_effect : " + i);
			i++;
		}
	);	
	

	return;
	$('services_list').getElements('div.list').each(
	// 				mode: 'horizontal',
		function(el) {
			services.menus_effect[i] =  new Fx.Slide(el,{
				duration: 250,
				transition: Fx.Transitions.Sine.easeOut,
				onComplete: function(){ 
					if(services.my_toggle_current < services.nb_service_max ) {
						services.my_toggle(services.my_toggle_current);
					}
				}
			});

			if(window.console) console.log("services.menus_effect init : " + i);
			i++;
		}
	);	
	
}


services.my_toggle = function(current) {

	services.menu_effect.toggle();
	return;
	if(window.console) console.log("services.menus_effect running : " + current);
	services.my_toggle_current = current+1;	
	services.menus_effect[current].toggle();
}
 
/* ----------------------------------------------------------------------
 * WIDGETS METEO
 * ----------------------------------------------------------------------
 */
 
 meteos.init = function() {
		m = $('meteo_list');
 		meteos.menu_effect =  new Fx.Slide(m, { 
			duration: '350',
			transition: Fx.Transitions.Sine.easeOut
		});
	
	
		
 }

/* ----------------------------------------------------------------------
 * PAGE PRESSE
 * ----------------------------------------------------------------------
 */
presses.previous_id  = "";

presses.init = function() {
  
	if(presses.is_loaded == true) {
		return;
	}
	
	if(window.console) console.log("presses.init");
	
	if($('press') == null) {
		return;
	}
	
	presses.menus_effect = new Array();

	// on init les contents : on retire la class hidden, on rend invisible par js, on init les effets speciaux
	$('press').getElements('div.moo_presse_content').each(
		function(el) {
			el.removeClass("hidden");

			ids = el.id.split("-");
			id = ids[1];
			if(window.console) console.log("presses.init content " + id);
			presses.menus_effect[id] =  new Fx.Slide(el, { 
				mode: 'vertical',
				duration: '500',
				transition: Fx.Transitions.Sine.easeOut
			});
	
			presses.menus_effect[id].hide();			
		}
	);
	

	
	if(window.console) console.log("presses.init attachement start");
	
	// on init le click
	$('press').getElements('div.moo_presse_titre').each(
		function(el) {
			el.setStyle("cursor", "pointer");
			el.addEvent('click', 
				function(event) {
					event.stop();
					presses.sh(this);
				}
			);
			
			el.addEvent('mouseover', 
				function(event) {
					event.stop();
					presses.hover(this, true);
				}
			);

			el.addEvent('mouseout', 
				function(event) {
					event.stop();
					presses.hover(this, false);
				}
			);

		}
	);
	
	if(window.console) console.log("presses.init attachement end");
	presses.is_loaded = true;
	
	
}

// special pour le flash : fnct appelé par le flash quand il est chargé.
// on demande alors d'ouvrir le 1er encart presse
flashpresseIsLoaded  = false;
flashpresse = function(e) {
	flashpresseIsLoaded  = true;
	presses.open_first_flash();
	if(window.console) console.log("flashpresse initialized");
	
}

// ouverture du 1er encart presse : il faut que presse.init soit init et que le flash soit chargé
// si pas le cas on retente dans 500ms.
presses.open_first_flash = function() {
	// on ouvre le premier
	if(flashpresseIsLoaded == true && presses.is_loaded == false) {
			presses.open_first_flash.delay(1000);
			return;
	}
	
	if(window.console) console.log("presses.init open presse_titre-1");
	presses.sh ($('presse_titre-1'));
}

presses.sh = function(these) {
	ids = these.id.split("-");
	id = ids[1];
	if(window.console) console.log("presses.sh id:" + id);
	if(presses.previous_id != "") {
		presses.menus_effect[presses.previous_id].toggle();
		$('presse_titre-' + presses.previous_id).removeClass("select");
	}
	$('presse_titre-' + id).removeClass('hover');	
	$('presse_titre-' + id).addClass("select");
	presses.menus_effect[id].toggle();
	
	// on a cliqué sur nous meme ? donc previous == "" et on modifie les class
	if(id == presses.previous_id) {
		presses.previous_id = "";
		$('presse_titre-' + id).removeClass("select");
		$('presse_titre-' + id).addClass('hover');	
	} 
	// on retient c'est quoi le previous
	else {
		presses.previous_id = id;
	}
}

presses.hover = function(these, hover) {
	ids = these.id.split("-");
	id = ids[1];
	// c'est le select .. on sort
	if(id == presses.previous_id) {
		return;
	}
	
	if(hover == true) {
		$('presse_titre-' + id).addClass('hover');
	} else {
		$('presse_titre-' + id).removeClass('hover');	
	}
}


