/**
 * Fichier : global.js
 * Description : fonctions JS génériques
 * Auteur : Hamza Iqbal - hiqbal[at]actualys.com
 * Copyright: Actualys
 ******************************************/

/**
 * Initialisation
 ******************************************/
$(document).ready( function()
{
	rolloverImg();
	initMenus();
	EmptySearchInput();
        if($.fancybox) $('a.eurorscg_fancy_pict').fancybox();
	
	$('.eurorscg_context_menu').ready(function() { accordionContextMenu(); });
});

/**
 * Rollover
 ******************************************/
var rolloverImg = function()
{
	preloadRolloverImg();
	
	$(".eurorscg_rollover").hover
	(
		function () {$(this).attr( 'src', rolloverNewImg($(this).attr('src')) );}, 
		function () {$(this).attr( 'src', rolloverOldimage($(this).attr('src')) );}
	);
}
 
var preloadRolloverImg = function()
{
	$(window).bind('load', function()
	{
		$('.eurorscg_rollover').each( function()
		{
			$('<img>').attr( 'src', rolloverNewImg( $(this).attr('src') ) );
		});
	});
}

var rolloverNewImg = function(src)
{ 
	return src.substring(0, src.search(/(\.[a-z]+)$/) ) + '_on' + src.match(/(\.[a-z]+)$/)[0]; 
}

var rolloverOldimage = function(src)
{ 
	return src.replace(/_on\./, '.'); 
}

/**
 * Accordeon Menu contextuel
 ******************************************/
var accordionContextMenu = function() {
    var context_menu = $('.eurorscg_context_menu');

    context_menu.each(function() {
        var cm = $(this);
        var title = cm.find('table.eurorscg_context_firstmenu');
        var list = cm.find('table.eurorscg_context_submenu_container');
        //var class = 'eurorscg_context_menu_on';

        if (cm.hasClass('eurorscg_context_menu_on')) {
            list.show()
        } else {
            list.hide()
        } 
        
        title.click(function() {
            if (cm.hasClass('eurorscg_context_menu_on')) {
                list.slideToggle('fast', function() { cm.removeClass('eurorscg_context_menu_on'); });
            }
            else {
                cm.addClass('eurorscg_context_menu_on');
                list.slideToggle('fast');
            }
        });
    });
};

function setBackground(table)
{
    if(!table.hasClass('eurorscg_topNavHoverOverride'))
    {
        table.addClass('eurorscg_topNavHoverOverride');
    }
}

function removeBackground(table)
{
    if(table.hasClass('eurorscg_topNavHoverOverride'))
    {
        table.removeClass('eurorscg_topNavHoverOverride');
    }
}

var initMenus = function()
{
    var topNav = $("div.eurorscg_nav");
    var menus = topNav.find("table.eurorscg_topNav td[id*='GlobalNavn']");
    menus.each(function()
    {
        var table = $(this).find('table.eurorscg_topNavItem');
        var selector = $(this).attr('id');
        var subMenu = topNav.find('#' + selector + 'Items');
        table.mouseover(function()
        {
            setBackground(table);
        });
        var enteredInSubMenu = false;
        subMenu.mouseenter(function()
        {
            enteredInSubMenu = true;
            setBackground(table);
        });
        subMenu.mouseleave(function()
        {
            if(enteredInSubMenu)
            {
                enteredInSubMenu = false;
                removeBackground(table);
            }
        });
        table.mouseleave(function()
        {
            if(!enteredInSubMenu)
            {
                removeBackground(table);
            }
        });        
    });
}