var addthis_config;
var DelaisRotations = 5000;

$(document).ready(function()
{
	//Initialiser le menu principal:
	InitialiserMenuPrincipal();
	
	//Initialiser Google Analytics:
	try
	{
		var pageTracker = _gat._getTracker("UA-6739409-10");
		pageTracker._trackPageview();
	}
	catch(err)
	{
	}

	//Initialiser AddThis:
	addthis_config = { ui_language: $('html').attr('lang') }

	//Initialiser le widget de profil Twitter:
	ChargerTweets('Y2CP', 10);
	
	//Initialiser le widget des derniers blogues:
	ChargerBlogs(10);
	
	//Initialiser la rotation des tweets, blogs et nouvelles:
	//ChangerNouvelle();
	ChangerTweetsBlogsNouvelles();
});

function InitialiserMenuPrincipal()
{
	$('#ContenuMenuPrincipal .SousMenu').hide();
	var Menus = $('#ContenuMenuPrincipal .Menu');

	Menus.hover(function()
	{
		var Menu = $(this);
		var Lien = Menu.children('.LienSectionPrincipale');
		var SousMenu = Menu.children('.SousMenu');
		SousMenu.css('margin-top', ($('#ContenuMenuPrincipal').attr('clientHeight') / 2) + 'px');
		SousMenu.css('top', Menu.attr('offsetTop'));
		SousMenu.css('left', Menu.attr('offsetLeft'));
		SousMenu.slideDown(1);
	}, function()
	{
		var Menu = $(this);
		var SousMenu = Menu.children('.SousMenu');
		SousMenu.slideUp(1);
	});
}

function ChangerTweetsBlogsNouvelles()
{
	ChangerTweet();
	ChangerBlog();
	ChangerNouvelle();
	setTimeout(ChangerTweetsBlogsNouvelles, DelaisRotations);
}

function ChargerTweets(Utilisateur, Nombre)
{
	$.getScript('http://twitter.com/statuses/user_timeline/' + Utilisateur + '.json?callback=InsererTweets&count=' + Nombre);
}

function InsererTweets(Tweets)
{
	var Langue = $('html').attr('lang');
	var Liste = [];

	for(var i=0; i<Tweets.length; i++)
	{
		var Message = Tweets[i].text.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g, function(Adresse)
		{
			return '<a href="' + Adresse + '" target="_blank">' + Adresse + '</a>';
		}).replace(/\B@([_a-z0-9]+)/ig, function(Reponse)
		{
			return Reponse.charAt(0) + '<a href="http://twitter.com/' + Reponse.substring(1) + '" target="_blank">' + Reponse.substring(1) + '</a>';
		}).replace(/\B#([_a-z0-9]+)/ig, function(Sujet)
		{
			return Sujet.charAt(0) + '<a href="http://twitter.com/search?q=%23' + Sujet.substring(1) + '" target="_blank">' + Sujet.substring(1) + '</a>';
		});

		Liste.push('<p class="Tweet"><span class="Message">' + Message + '</span></p>'); // <span class="Age">' + LireAge(Tweets[i].created_at, Langue) + '</span></p>');
	}

	$('#DerniersTweets .Contenu').empty();
	$('#DerniersTweets .Contenu').append(Liste.join(''));
	ChangerTweet();
}

var TweetCourant = -1;

function ChangerTweet()
{
	var Tweets = $('#DerniersTweets .Contenu .Tweet');
	var NombreTweets = Tweets.length;
	TweetCourant = (TweetCourant < NombreTweets - 1) ? TweetCourant + 1 : 0;
	var i = 0;
	Tweets.hide();

	Tweets.each(function()
	{
		var Tweet = $(this);

		if(i == TweetCourant)
		{
			Tweet.show();
		}
		
		i++;
	});

	//setTimeout(ChangerTweet, DelaisRotations);
}

function ChargerBlogs(Nombre)
{
	var Langue = $('html').attr('lang');
	var Liste = [];

	ChargerFlux('http://y2cp-hrm.blogspot.com/feeds/posts/default?alt=rss', function(Flux)
	{
		if(Flux)
		{
			for(var i = 0; i < Flux.entries.length; i++)
			{
				var Entree = Flux.entries[i];
				Liste.push(DecoderInstantBlogger(Entree.publishedDate) + '<p class="EntreeBlog"><span class="TitreBlog"><a href="' + Entree.link + '" target="_blank">' + Entree.title + '</a></span></p>'); // <span class="Age">' + LireAge(Entree.publishedDate, Langue) + '</span></p>');
			}
		}

		ChargerFlux('http://y2cp-poppsy.blogspot.com/feeds/posts/default?alt=rss', function(Flux)
		{
			if(Flux)
			{
				for(var i = 0; i < Flux.entries.length; i++)
				{
					var Entree = Flux.entries[i];
					Liste.push(DecoderInstantBlogger(Entree.publishedDate) + '<p class="EntreeBlog"><span class="TitreBlog"><a href="' + Entree.link + '" target="_blank">' + Entree.title + '</a></span></p>'); // <span class="Age">' + LireAge(Entree.publishedDate, Langue) + '</span></p>');
				}
			}
			
			Liste.sort();
			Liste.reverse();
			$('#DerniersBlogs .Contenu').empty();

			for(var i = 0; i < Liste.length && i < Nombre; i++)
			{
				$('#DerniersBlogs .Contenu').append(Liste[i].substring(19));
			}
	
			ChangerBlog();
		});
	});
}

var BlogCourant = -1;

function ChangerBlog()
{
	var Blogs = $('#DerniersBlogs .Contenu .EntreeBlog');
	var NombreBlogs = Blogs.length;
	BlogCourant = (BlogCourant < NombreBlogs - 1) ? BlogCourant + 1 : 0;
	var i = 0;
	Blogs.hide();

	Blogs.each(function()
	{
		var Blog = $(this);

		if(i == BlogCourant)
		{
			Blog.show();
		}
		
		i++;
	});

	//setTimeout(ChangerBlog, DelaisRotations);
}

var NouvelleCourante = -1;

function ChangerNouvelle()
{
	var Nouvelles = $('#DernieresNouvelles .Contenu .Nouvelle');
	var NombreNouvelles = Nouvelles.length;
	NouvelleCourante = (NouvelleCourante < NombreNouvelles - 1) ? NouvelleCourante + 1 : 0;
	var i = 0;
	Nouvelles.hide();

	Nouvelles.each(function()
	{
		var Nouvelle = $(this);

		if(i == NouvelleCourante)
		{
			Nouvelle.show();
		}
		
		i++;
	});

	//setTimeout(ChangerNouvelle, DelaisRotations);
}

function DecoderInstantBlogger(Instant)
{
	var Valeurs = Instant.split(" ");
	Instant = new Date(Valeurs[1] + " " + Valeurs[2] + ", " + Valeurs[3] + " " + Valeurs[4]);
	var PartieDate = Instant.getFullYear() + '-' + (((Instant.getMonth() + 1) < 10) ? '0' : '') + (Instant.getMonth() + 1) + '-' + ((Instant.getDate() < 10) ? '0' : '') + Instant.getDate();
	var PartieHeure = ((Instant.getHours() < 10) ? '0' : '') + Instant.getHours() + ':' + ((Instant.getMinutes() < 10) ? '0' : '') + Instant.getMinutes() + ':' + ((Instant.getSeconds() < 10) ? '0' : '') + Instant.getSeconds();
	return PartieDate + ' ' + PartieHeure;
}

function ChargerFlux(Adresse, Action)
{
	if(Adresse)
	{
		$.getJSON('http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&callback=?&q=' + Adresse, function(Reponse)
		{
			if(typeof Action == 'function')
			{
				Action.call(this, Reponse.responseData.feed);
			}
		});
	}
}

function LireAge(Temps, Langue)
{
	var Retour = '';
	var Valeurs = Temps.split(" ");
	Temps = Valeurs[1] + " " + Valeurs[2] + ", " + Valeurs[5] + " " + Valeurs[3];
	var Maintenant = new Date();
	var Difference = parseInt((Maintenant.getTime() - Date.parse(Temps)) / 1000);
	Difference = Difference + (Maintenant.getTimezoneOffset() * 60);

	if(Difference < 60)
	{
		Retour = (Langue == 'fr') ? 'Il y a moins d\'une minute.' : 'Less than a minute ago.';
	}
	else if(Difference < 120)
	{
		Retour = (Langue == 'fr') ? 'Il y a environ une minute.' : 'About a minute ago.';
	}
	else if(Difference < (60*60))
	{
		var Minutes = (parseInt(Difference / 60)).toString();
		Retour = (Langue == 'fr') ? 'Il y a ' + Minutes + ' minutes.' : Minutes + ' minutes ago.';
	}
	else if(Difference < (120*60))
	{
		Retour = (Langue == 'fr') ? 'Il y a environ une heure.' : 'About an hour ago.';
	}
	else if(Difference < (24*60*60))
	{
		var Heures = (parseInt(Difference / 3600)).toString();
		Retour = (Langue == 'fr') ? 'Il y a ' + Heures + ' heures.' : Heures + ' hours ago.';
	}
	else if(Difference < (48*60*60))
	{
		Retour = (Langue == 'fr') ? 'Il y a un jour.' : '1 day ago.';
	}
	else
	{
		var Jours = (parseInt(Difference / 86400)).toString();
		Retour = (Langue == 'fr') ? 'Il y a ' + Jours + ' jours.' : Jours + ' days ago.';
	}
	
	return Retour;
}
