/**
 * Fonction concernant la zone de défilement des galeries à venir
 * Gestion d'images, liens, titres, soutitres et texte
 * @author Fabien BOYERE - www.velofotopro.com
 * ****************************************
 * EXTENSION OF / JQUERY PLUGIN
 * **************************************** 
 * News ticker plugin (BBC news style)
 * Bryan Gullan,2007
 * version 1.1.1
 * http://www.makemineatriple.com/jquery
 * Use and distrubute freely with this header
 * 
 * Options (defaults shown):
 * newsList: "#news" 	// assumes unordered list; specify the ul holding the news items
 * tickerRate: 80 		// time gap between display of each letter (ms)
 * startDelay: 100 	// delay before first run of the ticker (ms)
 * loopDelay: 3000 	// time for which full text of each item is shown at end of print-out (ms)
 * placeHolder1: " |"	// character placeholder shown on even loops
 * placeHolder2: "_"	// character placeholder shown on odd loops
 * 
 * Sample usage:
 * $(document).ready(function() {
 * 	var options = {
 *   		newsList: "#news",
 *  		startDelay: 10,
 *  		placeHolder1: " []"
 * 	}
 * 	$().newsTicker(options);
 * });
 * 
 * for markup as follows:
 * 
 * <ul id="news">
 * <li><a href="http://www.makemineatriple.com">MakeMineATriple.com</a></li>
 * <li><a href="http://www.jquery.com">jQuery</a></li>
 * </ul>
 *
 **/
(function($) {
	function runTicker(settings) {
		if(settings.newsItemCounter>=0){
			// au premier lancement
			if(settings.firstRun == 1){
				currentLength = settings.currentLength;
				currentItem = settings.currentItem;
				settings.firstRun = 0;
			}
			
			//Verification si boucle terminee
			if(currentItem == settings.newsItemCounter + 1)currentItem = 0;
			if(currentLength == 0)$(settings.newsList).empty().append('<li><a href="'+ settings.newsLinks[currentItem] +'" title="Voir les éditions précédentes"></a></li>');
			
			if( currentLength % 2 == 0) placeHolder = settings.placeHolder1;
			else placeHolder = settings.placeHolder2;
			
			if( currentLength <= settings.newsItems[currentItem].length + 1) {
				var tickerText = settings.newsItems[currentItem].substring(0,currentLength);
				$(settings.newsList + ' li a').html("<b>&gt; <u>Photos à venir</u> : </b>"+tickerText + placeHolder);
				currentLength ++;
				setTimeout(function(){runTicker(settings); settings = null;},settings.tickerRate);
			}else {
				$(settings.newsList + ' li a').html("<b>&gt; <u>Photos à venir</u> : </b>"+settings.newsItems[currentItem]);
				currentLength = 0;
				currentItem ++;
				setTimeout(function(){runTicker(settings); settings = null;},settings.loopDelay);	
			}	
		}else{
			//on ferme l'acces au conteneur	
			$('#newsconteneur').hide();
		}
	}
	
	$.fn.extend({
		newsTicker: function(settings) {
			settings = jQuery.extend({
		 	  	newsList: "#news",
		   		tickerRate: 80,
		    	startDelay: 100,
		    	loopDelay: 5000,
		    	placeHolder1: " |",
		    	placeHolder2: "_"
			}, settings);
			
			var newsItems = new Array();
			var newsLinks = new Array();
			var newsItemCounter = 0;
			
			$(settings.newsList + ' li a').each(function(){
				newsItems[newsItemCounter] = $(this).text();
				newsLinks[newsItemCounter] = $(this).attr('href');
				newsItemCounter ++;
			});
			
			settings = jQuery.extend(settings,{
				newsItems: newsItems,
				newsLinks: newsLinks,
				newsItemCounter: newsItemCounter-1,
				currentItem: 0,
				currentLength: 0,
				firstRun:1
			});
			
			setTimeout(function(){runTicker(settings); settings = null;},settings.startDelay);
		}
	
	});
})(jQuery);

/**
 * Fonction concernant le slider de la page d'accueil
 * Gestion d'images, liens, titres, soutitres et texte
 * @author Fabien BOYERE - www.velofotopro.com
 */
(function($) {
	var intervalle;
	function runVeloFotoSlider(settings){
		var num = settings.currentimg;
		$('#slider_titre_conteneur, #slider_texte').slideUp(
					'slow',
					function(){
						$('#slider_lien').attr('href', settings.imglien[num]);
						$('#slider_photographes').html('<b><u>Photographe'+(settings.nbphotographe[num]>1?'s':'')+'</u> : </b>'+settings.photographes[num]+'</p>');	
						$('#slider_lien').html(settings.listimg[num]);
						$('#slider_texte').html(settings.imgtexte[num]);
						$('#slider_titre').html(settings.imgtitre[num]);
						$('#slider_stitre').html(settings.imgstitre[num]);
						$("#slider_wait").mouseup(
								function(){
									window.location.href = $('#slider_lien').attr('href');
								}
						);
						if(settings.imgstitre[num]=="")$('#slider_stitre').hide();
						$('#slider_titre_conteneur, #slider_texte').slideDown('slow');
					}													
		);

		num++;
		if(num>=settings.imgtexte.length)num=0;
		settings.currentimg = num;
		//setTimeout(function(){runVeloFotoSlider(settings); settings = null;},settings.loopDelay);
		
	}
	
	$.fn.extend({
		velofotoslider: function(settings) {
			settings = jQuery.extend({
		 	  	imgsrc: null,
		   		imglien: null,
		    	imgtitre: null,
		    	imgtexte: null,
		    	photographes: null,
		    	nbphotographe: null
			}, settings);
			
			var img = new Array();
			//chargement des photos
			for(i=0;i<settings.imgsrc.length;i++){
				img[i] = document.createElement('img');
				img[i].src = settings.imgsrc[i];
				img[i].border = 0;
			}
			//paramétrage
			settings = jQuery.extend(settings,{
				currentimg: 0,
				listimg: img,
				loopDelay: 5000,
				interval : ''
			});
			//ajout d'un lien sur le loader
			$("#slider_wait").mouseup(function(){window.location.href = $('#slider_lien').attr('href');});			
			//lancement du timer
			settings.interval = setInterval(function(){runVeloFotoSlider(settings);},settings.loopDelay);

			//ajout des actions, pour permettre la pause
			$(this)
				.mouseover(function(){
					clearInterval(settings.interval);
					$("#slider_wait").show();
				})
				.mouseout(function(){
					settings.interval = setInterval(function(){runVeloFotoSlider(settings);},settings.loopDelay);
					$("#slider_wait").hide();
				});
		}
	
	});
})(jQuery);

/**
 * Fonction de désactivation du click droit
 * @author Fabien BOYERE - www.velofotopro.com 
 **/
function desactiverClickDroit(){
	$(this).bind('contextmenu', function(e) {
		if((e.button==2)||(e.button==3)||(e.button==4)){
			e.stopPropagation();
			alert('Copyright(c) Régis Garnier - www.velofotopro.com');
			return(false);
		}
	});
}

/**
 * Fonction de gestion des liens de partage
 * @author Fabien BOYERE - www.velofotopro.com 
 **/
	function ajouterEnFavoris(e, siteURL, siteNOM) {
	
		function myMessage (raccourciClavier) {
			alert ("Utilisez '" + raccourciClavier + "'\npour ajouter " + siteNOM + " dans vos favoris !");
		}
		alert("passage");
		try{
			//Konqueror
			if (navigator.userAgent.indexOf('Konqueror') >= 0) {	
				myMessage("CTRL + B");	
			/* Internet Explorer 4+, et ses dérivés (Crazy Browser, Avent Browser ...) */
			}else if (window.external && window.external.AddFavorite) {
				window.external.AddFavorite(siteURL,siteNOM);
			/* Internet Explorer Mac */
			}else if (document.all && (navigator.userAgent.indexOf('Win') < 0)) {
				myMessage("POMME + D");
			/* Opera 6+ */
			}else if (window.opera && window.print) {
				myMessage("CTRL + T");
			/* Netscape 6+ ; Mozilla, FireFox et compagnie (K-Meleon ...) */
			}else if (window.sidebar) {
				window.sidebar.addPanel(siteNOM,siteURL,"");
			/* Netsccape 4 */
			}else if (document.layers) {
				myMessage("CTRL + D");
			}
			else alert ("Cette fonction n'est pas disponible pour votre navigateur.");
		}catch(ex){}
		
		//e.cancelBubble is supported by IE - this will kill the bubbling process.
		e.cancelBubble = true;
		e.returnValue = false;
	
		//e.stopPropagation works only in Firefox.
		if (e.stopPropagation) {
			e.stopPropagation();
			e.preventDefault();
		}	
		return(false);
	}
	
	function partager(e, typeLien, siteURL, siteNOM) {
		var url ="";
		try{
			switch(typeLien){
				case 'facebook'	:url = 'http://www.facebook.com/sharer.php?u='+siteURL+'&title='+siteNOM;break;
				case 'twitter'	:url = 'http://twitter.com/home?status=Je+vous+recommande+'+siteURL;break;
				case 'google'	:url = 'http://www.google.com/bookmarks/mark?op=edit&output=popup&bkmk='+siteURL+'&title='+siteNOM;break;
				case 'livemsn'	:url = 'https://favorites.live.com/quickadd.aspx?marklet=1&mkt=fr-fr&top=1&wa=wsignin1.0&url='+siteURL+'&title='+siteNOM;break;
				case 'myspace'	:url = 'http://www.myspace.com/Modules/PostTo/Pages/?t='+siteNOM+'&u='+siteURL+'&l='+siteNOM;break;
				case 'digg':url = 'http://digg.com/submit?phase=2&url='+siteURL+'&title='+siteNOM;break;
				case 'netvibes':url = 'http://www.netvibes.com/share?url='+siteURL+'&title='+siteNOM;break;
				case 'viadeo':url = 'http://www.viadeo.com/shareit/share/?url='+siteURL+'&title='+siteNOM+"&urllanguage=fr&urlaffiliate=";break;
				case 'linked':url = 'http://www.linkedin.com/shareArticle?mini=true&url='+siteURL+'&title='+siteNOM;break;
				case 'delicious':url = 'http://delicious.com/save?url='+siteURL+'&title='+siteNOM;break;
				case 'yahoo':url = 'http://bookmarks.yahoo.com/toolbar/savebm?opener=tb&u='+siteURL+'&='+siteNOM;break;
			}
			window.open(url,'_blank','top=0,left=0,width=600,height=600,toolbar=no,titlebar=no,status=no,menubar=no,location=no');

		}catch(ex){}
		
		//e.cancelBubble is supported by IE - this will kill the bubbling process.
		e.cancelBubble = true;
		e.returnValue = false;
	
		//e.stopPropagation works only in Firefox.
		if (e.stopPropagation) {
			e.stopPropagation();
			e.preventDefault();
		}	
		return(false);
	}	

