/*---------------------------------------------------------------------------------------------------
* Liste des fonctions utiles AccioWeb [FT]
* @der.mod : 05/05/2009
* @pré-requis : Appel de la librairie jQuery
*/

//**************************************************************************************************// EXTENSIONS JAVASCRIPT

Array.prototype.in_array = function(valeur){
	for (var i in this) { if (this[i] == valeur) return i;}
	return false;
}

Array.prototype.array_key_exists = function(key){
	return this[key] !== undefined;
}

//**************************************************************************************************// FONCTIONS DIVERSES

/*
* Gére la sélection de l'élément gràce à son ID
*****************************************************************************************************/
function getElement(id){ if(document.getElementById){ return document.getElementById(id); }else if(document.all){ return document.all[id]; } else return; }

/*
* Gestion de l'ouverture des liens dans une nouvelles fenêtres
*****************************************************************************************************/
function open_ext_link(mClass, newTitle, mBloc){
	if(typeof mClass == "undefined"){ mClass = "opblank"; }
	if(typeof newTitle == "undefined"){ newTitle = " - Nouvelle page"; }
	if(typeof mBloc == "undefined"){ mBloc = ""; }

	$(mBloc+"a."+mClass).attr("title", function() { return (typeof this.title == "undefined" ? "" : this.title) + newTitle; });
	$(mBloc+"a."+mClass).click(function(){ window.open(this.href); return false; });
}

/*
* Ouvre une popup aux dimensions souhaités et la centre dans l'écran
*****************************************************************************************************/
function popupCentrer(page, nom, largeur, hauteur, options) {
	var top 				= (screen.height-hauteur)/2;
	var left				= (screen.width-largeur)/2;
	window.open(page, nom, "top="+top+",left="+left+",width="+largeur+",height="+hauteur+","+options);
}

/*
* Ouvre une popup et redimenssionne cette derniére à la taille de l'image principale
* @pré-requis : appel au onload de la page
*****************************************************************************************************/
function popupAutoResize(mElement) {
	var mElement			= getElement(mElement);
	window.innerWidth		= mElement.width;
	window.innerHeight		= mElement.height;
}

/*
* Equivalent de trim en PHP -> enléve les espaces aux extrémités d'une chaine
*****************************************************************************************************/
function trim(s) {
	s		= s.replace(/[ ]*$/,'');
	s		= s.replace(/^[ ]*/,'');
	return s;
}

/*
* Vérifie la validité d'une adresse email
*****************************************************************************************************/
function verif_email(monEmail){
	var reg	= /^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,6}$/;
	return (reg.exec(monEmail) != null);
}




/*
* Initialisation des actions liées à la recherche
*****************************************************************************************************/
function manage_recherche(){
	var chprecherche		= $("#inc-recherche input#q, #inc-erecherche input#e");
	if(chprecherche.size() > 0){
		chprecherche.each(function(){
			var val_chp		= $(this).val();
			$(this).click( function(){ $(this).val(""); });
			$(this).blur( function(){ if(trim($(this).val()) == ""){ $(this).val(val_chp); } });
		});
	}
}

/*
* Initialisation des actions liées à l'abonnement à la newsletter
*****************************************************************************************************/
function manage_newsletter(){
	var chpnewsletter		= $("#blc-newsletter input#abbnewsletter");
	if(chpnewsletter.size() != 0){
		var val_chpnewsletter	= chpnewsletter.val();
		chpnewsletter.click( function(){ chpnewsletter.val(""); } );
		chpnewsletter.blur( function(){ if(trim(chpnewsletter.val()) == ""){ chpnewsletter.val(val_chpnewsletter); } });
	}
}

/*



/*

* Banniere
*****************************************************************************************************/




function manage_slider()
{
	var jBanner					= $('.box_skitter');
	if(jBanner.length > 0)
	{
		var aStyle				= ['cube', 'cubeRandomblock', 'cubeStop', 'cubeHide', 'cubeSize', 'horizontal', 'showBars', 'showBarsRandom', 'tube', 'fade', 'fadeFour', 'paralell', 'blind', 'blindHeight', 'directionTop', 'directionBottom', 'directionRight', 'directionLeft'];
		var iStyle				= aStyle.length;

		jBanner.find('li').each(
			function(){
				$(this).find('img').addClass(aStyle[(Math.floor(Math.random() * iStyle))]);
				$(this).children('div').addClass('label_text');
			});
		jBanner.skitter({numbers:false, interval:3500});
	}
}

/*****************************************************************************************************/
function manage_phototheque(){
	//--------------------------------------------------------------------------------------------- // INC Photothèque
	var tb_ph				= new Array("inc-phototheque", "inc-phototheque-wd", "inc-phototheque-pt", "inc-phototheque-gdp", "inc-phototheque-all");
	var nb_tb_ph			= tb_ph.length;
	for(var p = 0; p < nb_tb_ph; p++){
		if($('#' + tb_ph[p]).size() != 0){
			$('#' + tb_ph[p] + ' ul li img').hover(function(){ $(this).animate({opacity:".05"}, 250).animate({opacity:"1"}, 100); },function(){});
		}
	}
	
	//--------------------------------------------------------------------------------------------- // BLC Photothèque
	var img_view			= $("#blc-phototheque div.image-item p");
	var img_preview			= $("#blc-phototheque #ph_preview a");
	if(img_preview.size() > 0 && img_view.size() > 0){
		// URL des images à traiter
		var urls			= new Array();
		img_preview.each(function(){
			var path_view		= $(this).attr("href");
			urls.push(path_view);
			// Gestion du click
			$(this).click(function(){
				img_view.fadeOut("fast", function(){ img_view.children("img").attr("src", path_view).load(function(){ img_view.fadeIn(); }); });
				return false;
			});
		});
		if(urls.length > 0){
			// Preload des images (grand format)
			$.preload(urls, { threshold: 3, onComplete: function(data){
					var preview	= $("#blc-phototheque #ph_preview li").find("a[href='" + data.image + "']");
					if(preview.size() > 0){
						preview.fadeIn();
					}
				}
			});
		}
	}
}

