/* Pour les fonctions suivantes, voir docs.mootools.net :
** $(), $chk(), $empty, Element.set(), Element.addEvent(), Element.removeEvents(),
** function.bind(), Request.JSON(), Element.getCoordinates(), Element.getElement(),
** Element.empty(), Element.setStyles(), onmouseenter, onmouseleave
**
** Pour HistoryManager, voir scripts/historymanager.js
*/

var hist = new HistoryManager();
var marquee_text;
var hovercolor = 'orangered';
var hoverbgcolor = '#b9cde5';
var normalcolor = '#0000a0';

var news_scroll_Fx = null;
var news_scroll_timer = null;
var cur_news = 0;

function start()
{
    init_menus();
    start_marquee();
    start_news_scroll();
    if (hist.getCurrentLocation().indexOf('/') != -1)
	load_page_from_hash();
    hist.addEvent('onHistoryChange', load_page_from_hash);
}

function start_news_scroll()
{
    news_scroll_Fx = new Fx.Scroll('news_frame_text', {
	duration : 'long',
	wheelStops : false
    });
    news_scroll_timer = news_scroll.periodical(12000);
    $('news_frame_text').addEvents({
	'mouseenter' : function()
	{
	    $clear(news_scroll_timer);
	},
	'mouseleave' : function()
	{
	    news_scroll_timer = news_scroll.periodical(12000);
	}
    });
}

function news_scroll()
{
    news_scroll_Fx.start(0, 134).chain(
	function()
	{
	    $('news_frame_text').grab($$('#news_frame_text .news_sub')[0], 'bottom')
	                        .grab($$('#news_frame_text .news_readnext')[0], 'bottom');
	    this.set(0, 0);
	});
}

function news_scroll_back()
{
    $('news_frame_text').grab($$('#news_frame_text .news_readnext')[news.length - 1], 'top')
                        .grab($$('#news_frame_text .news_sub')[news.length - 1], 'top');
    news_scroll_Fx.set(0, 134);
    news_scroll_Fx.start(0, 0);
}

function load_page_from_hash()
{
    if (hist.getCurrentLocation() != '')
    {
	var parts = hist.getCurrentLocation().split('/');
	if (parts.length == 2)
	    load_content(parts[1], parts[0], false);
    }
    else
	load_content(index_id, 'id', false);
}

function load_content(value, type, add_in_history)
// type = 'id' ou 'name'
// add_in_history = booléen
{
    $('content').innerHTML = '<br/><br/><br/><br/><br/><p style="text-align:center;">Chargement...</p>';
    var req = new Request.JSON({
	url : 'content.json.php?' + type + '=' + value,
	onSuccess : function(data)
	{
	    $('ancestry').innerHTML = data.ancestry;
	    $('content').innerHTML = data.content;
	    $('page_logo').innerHTML = '';
	    if (data.logo)
	    {
		var img = $(document.createElement('img'));
		img.set({
		    'class' : 'png',
		    'src' : data.logo
		});
		$('page_logo').appendChild(img);
	    }
	    document.title = "Aditem service : l'expertise Divalto exclusivement - " + unescape(data.title).replace(/\+/g, ' ');
	    window.scrollTo(0, 0);
	    if (add_in_history)
		hist.addState(type + '/' + value);
	},
	onFailure : function (instance)
	{
	    alert("Echec de la requete au serveur.");
	},
	onException : function (headerName, value)
	{
	    alert("Echec de la requete au serveur.");
	}
    }).send();
    delete req;
}

function start_marquee()
{
    var mq = $('header_marquee');
    var span;

    if (mq.getFirst() == null)
    {
	marquee_text = mq.innerHTML;
	mq.innerHTML = '';
	for (var i = 0; i < marquee_text.length; i++)
	{
	    span = document.createElement('span');
	    span.id = 'mq' + i;
	    span.innerHTML = (marquee_text.charAt(i) == ' ') ? '&nbsp;' : marquee_text.charAt(i);
	    mq.appendChild(span);
	}
	run_marquee(0);
    }
}

function run_marquee(i)
{
    $('mq' + (i ? i - 1 : marquee_text.length - 1)).set('styles', {
	'color' : 'white'
    });
    $('mq' + i).set('styles', {
	'color' : 'orange'
    });
    setTimeout('run_marquee(' + (i != marquee_text.length - 1 ? i + 1 : 0) + ')', 100);
}

function init_menus()
{
    $$('.topmenu_title').addEvent('mouseenter', open_menu);
    $$('.topmenu_item').addEvent('mouseleave', close_menu);
    $$('.topmenu_item li').addEvents({
	'mouseenter' : hover_submenu,
	'mouseleave' : unhover_submenu
    });
    $$('.topmenu_subitem_haschild').addEvents({
	'mouseenter' : open_submenu,
	'mouseleave' : close_submenu
    });
}

function hover_submenu()
{
    $(this).setStyles({
	'background-color' : 'rgb(185, 205, 229)'/*,
	'font-weight' : 'bold'*/
    });
    $(this).getElement('a').setStyle('color', 'orangered');
}

function unhover_submenu()
{
    $(this).setStyles({
	'background-color' : 'white'/*,
	'font-weight' : 'normal'*/
    });
    $(this).getElement('a').setStyle('color', '#0000a0');
}

function open_menu()
{
    $(this).getNext('div').setStyle('display', 'block');
    $(this).setStyle('background-color', 'rgb(185, 205, 229)');
    $(this).getElement('a').setStyle('color', 'orangered');
}

function close_menu()
{
    $(this).getElement('.topmenu_list').setStyle('display', 'none');
    title = $(this).getElement('.topmenu_title');
    title.setStyle('background-color', 'white');
    title.getElement('a').setStyle('color', '#0000a0');
}

function open_submenu()
{
    $(this).getFirst('div').setStyle('display', 'block');
}

function close_submenu()
{
    $(this).getFirst('div').setStyle('display', 'none');
}

