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

/**
 * Initialisation
 ******************************************/
$(document).ready( function()
{
	rolloverImg();
	videInputFocus();
	switchOnglets();
	
	if($('#navigation')) toggleNavigation();
	
	if($('#accueil #envie_jouer').size()) carrouselListeJeux();
});

/**
 * Rollover
 ******************************************/
var rolloverImg = function()
{
	preloadRolloverImg();
	
	$(".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()
	{
		$('.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\./, '.'); 
}

/**
 * Vide la valeur des champs input au focus
 ******************************************/
var videInputFocus = function()
{
	var input = $('input.input_focus[value!=""]');
	
	input.each( function()
	{
		$(this).focus( function() { if(this.value == this.defaultValue) this.value=''; });	
		$(this).blur( function() { if(this.value == '') this.value=this.defaultValue; });
	});
};

/**
 * Affiche/masque les sous-menus de navigation
 ******************************************/
var toggleNavigation = function()
{
	/* Traitement sépcifique IE */
	if($.browser.msie) { $('#navigation').addClass('js').insertAfter("#footer"); }
	/* Fin traitement sépcifique IE */
	
	var niv_1 = $('#navigation>li');
	
	niv_1.find('.sous_nav').hide();
	
	niv_1.mouseenter(function()
	{
		$(this).toggleClass('on');
	}).mouseleave(function()
	{
		$(this).toggleClass('on');
	});
}

/**
 * Affiche/masque le contenu des onglets
 ******************************************/
var switchOnglets = function()
{
	var blocs = $('.switch_onglets');

	$.each(blocs, function(bloc_i, bloc_e)					
	{
		var onglets = $(bloc_e).find('ul.onglets li');
		var contenus = $(bloc_e).find('.contenu');
		
		contenus.hide();
		$(contenus.get(0)).show();
		$(onglets.get(0)).addClass('actif');
		
		$.each(onglets, function(onglet_i, onglet_e)					
		{
			$(onglet_e).click(function()
			{
				if(!$(this).hasClass('actif'))
				{
					contenus.hide();
					$(contenus.get(onglet_i)).show();
					
					onglets.removeClass('actif');
					$(this).addClass('actif');
				}
			});
		});
	});
};

/**
 * Carrousel liste de jeux
 ******************************************/
var carrouselListeJeux = function()
{
	$('#liste_jeux').jcarousel();
};


var displayPhpErrorAjax = function(form_id){
    $('#' + form_id).find('textarea').removeClass('error');
    $('#' + form_id).find('input').removeClass('error');
    $('#' + form_id).find('ul.error_list').parent().parent().find('textarea').addClass('error');
    $('#' + form_id).find('ul.error_list').parent().parent().find('input').addClass('error');
}

