$(document).ready(function() {

	//gestion des URL
	var base_url = 'http://sara-daniel.com/wp-content/themes/saradaniel/';

	//etat hover des boutons twitter et facebook
	$('.social .facebook img').hover(function() {
		$(this).attr('src', base_url +'images/bouton-facebook-hover.png');
	}, function() {
		$(this).attr('src', base_url +'images/bouton-facebook.png');
	});
	$('.social .twitter img').hover(function() {
		$(this).attr('src', base_url +'images/bouton-twitter-hover.png');
	}, function() {
		$(this).attr('src', base_url +'images/bouton-twitter.png');
	});
	
	//gestion du slider de la page reportage photo
	var nb_slides = $('#thumbs-album li').length;
	if(nb_slides > 4) {
		$('#conteneur-thumbs-album').before('<a href="#" title="Photos précédentes" id="photos-prev">Photos précédentes</a><a href="#" title="Photos suivantes" id="photos-next">Photos suivantes</a>');
		$('#photos-prev').css('visibility', 'hidden');
	}
	$('#photos-prev').click(function() {
		var left = $('#thumbs-album').css('left').replace("px", "");
		var newleft = parseInt(left) + 107;
		if(newleft < 0) {
			$('#thumbs-album').css('left', newleft +'px');
			$('#photos-prev').css('visibility', 'visible');
			$('#photos-next').css('visibility', 'visible');
		} else if(newleft == 0) {
			$('#thumbs-album').css('left', newleft +'px');
			$('#photos-prev').css('visibility', 'hidden');
			$('#photos-next').css('visibility', 'visible');
		} else {
			$('#photos-prev').css('visibility', 'hidden');
		}
		return false;
	});
	$('#photos-next').click(function() {
		var nb_images = $('#thumbs-album li').length;
		var max_left = -((parseInt(nb_images) - 6) * 107);
		var left = $('#thumbs-album').css('left').replace("px", "");
		var newleft = parseInt(left) - 107;
		if(newleft > max_left) {
			$('#thumbs-album').css('left', newleft +'px');
			$('#photos-prev').css('visibility', 'visible');
			$('#photos-next').css('visibility', 'visible');
		} else if(newleft = max_left) {
			$('#thumbs-album').css('left', newleft +'px');
			$('#photos-prev').css('visibility', 'visible');
			$('#photos-next').css('visibility', 'hidden');
		} else {
			$('#photos-next').css('visibility', 'hidden');
		}
		return false;
	});
	$('#thumbs-album a').click(function() {
		$('#thumbs-album li').removeClass('thumb-active');
		$(this).parent().addClass('thumb-active');
		var title = $(this).attr('title');
		var lien_image = $(this).find('img').attr('src');
		lien_image = lien_image.replace("94x55", "600x349");
		$('#titre-photos').text(title);
		$('#titre-photos').next().attr('src', lien_image);
		return false;
	});
	
	// Gestion des popup
	$('.popup').hide();
	$('.show_popup').click(function() {
		$(this).next('.popup').toggle();
		
		return false;
	});
	
	$('.popup_newsletter').click(function() {
		$(this).parent().parent().next('.popup').toggle();
		
		return false;
	});
	
	// Gestion du formulaire de recherche avancée 
	$('#recherche-avancee').submit(function() {
		if($('#search').attr('value') == '') {
			$('#search').attr('value', ' ');
			
			return true;
		}
	});
	
	//Gestion du formulaire de contact
	$('#contact-form form input').each(function() {
		$(this).data('message', $(this).val());
		$(this).focus(function(){
			if( $(this).val()== $(this).data('message') )
				$(this).val('');
		});
		$(this).blur(function(){
			if($(this).val() == '')
				$(this).val($(this).data('message'));
		});
	});

	function preg_replace(array_pattern, array_pattern_replace, my_string)  {
		var new_string = String (my_string);
		for (i=0; i<array_pattern.length; i++) {
			var reg_exp= RegExp(array_pattern[i], "gi");
			var val_to_replace = array_pattern_replace[i];
			new_string = new_string.replace (reg_exp, val_to_replace);
		}
		return new_string;
	}
	
	function parse_twitter_link(text) {
		var reg1 = new RegExp("((http://)[a-zA-Z0-9/.\-]+)+","gi");
		var reg2 = new RegExp("@([a-z0-9_]+)","gi");
		var reg3 = new RegExp(" \#([a-z0-9_-]+)","gi");
		text = text.replace(reg1, "<a href=\"$1\">$1</a>");
		text = text.replace(reg2, '@<a href="http://twitter.com/$1">$1</a>');
		text = text.replace(reg3, ' #<a href="http://search.twitter.com/search?q=%23$1">$1</a>');
		
		return text;
	}
	
	if($('#liste_tweets').length >= 1) {
		var twitterUsername = 'saradaniel_obs';
		var nombreTweet = 5;
		var url = "http://twitter.com/status/user_timeline/" + twitterUsername + ".json?count="+ nombreTweet +"&callback=?";
		$.getJSON( url, function( data ) {
			$.each( data, function( index, item ) {
				$('<p>'+ parse_twitter_link(item.text) +'</p>').appendTo("li#liste_tweets");
			});
			
			//bloc a propos de la sidebar, gestion de l'accordeon
			$(".actualites h2").next().each(function() {
				$(this).data('height', $(this).height()).hide().css('height', 0);
			});

			$(".actualites h2:first").next().show().css('height', $(".actualites h2:first").next().data('height'));
			
			$(".actualites h2").click(function () {
			
				if($(this).next().is(':hidden')) {
					$(".actualites h2").parent().removeClass('active');
					$(this).parent().addClass('active');
					
					$(".actualites h2").next().each(function() {
						if($(this).is(':visible')) {
							$(this).animate({height: 0}, {duration: 1000, complete: function() {
								$(this).hide();
							} });
						}
					});

					$(this).next().show().animate({height: $(this).next().data('height')}, {duration: 1000});
				}
			});
		});
	}
	
	//phrise chronologique page à propos
	$('#zones dt').append('<span />').hover(function() {
		$('#zones dd').hide();
		$('#zones dt').removeClass('selected');
		$(this).addClass('selected').next().show();
	}, function() {
		//$(this).removeClass('selected').next().hide();
	});
	$('#zones dd').not(':last').hide();
	$('#zones dd').append('<span />');
	$('#zones dt:last').addClass('selected');

	//slider de la home page
	if($('.article-a-la-une').length) {
		$('.article-a-la-une').cycle({ 
			fx:     'fade', 
			speed:  'fast', 
			timeout: 0, 
			next:   '.suivant', 
			prev:   '.precedent' 
		});
	}
	
	//slider footer, liste des livres
	var nb_livres = $('#caroussel li').length;
	if(nb_livres > 4) {
		$('.conteneur-livres').after('<p class="precedent"></p><p class="suivant"><a href="#" title="Suivant"><span class="for-reader">Suivant</span></a></p>');
	}
	
	$('.conteneur-livre .precedent a').live('click', function() {
		var left = $('#caroussel').css('left').replace("px", "");
		var newleft = parseInt(left) + 85;
		if(newleft <= 0) {
			$('#caroussel').css('left', newleft +'px');
			$('.conteneur-livre .precedent').html('<a href="#" title="Précédent"><span class="for-reader">Précédent</span></a>');
			$('.conteneur-livre .suivant').html('<a href="#" title="Suivant"><span class="for-reader">Suivant</span></a>');
		}
		if(newleft == 0) {
			$('.conteneur-livre .precedent').html('');
		}
		return false;
	});
	$('.conteneur-livre .suivant a').live('click', function() {
		var nb_livres = $('#caroussel li').length;
		var max_left = -((parseInt(nb_livres) - 4) * 85);
		var left = $('#caroussel').css('left').replace("px", "");
		var newleft = parseInt(left) - 85;
		if(newleft >= max_left) {
			$('#caroussel').css('left', newleft +'px');
			$('.conteneur-livre .suivant').html('<a href="#" title="Suivant"><span class="for-reader">Suivant</span></a>');
			$('.conteneur-livre .precedent').html('<a href="#" title="Précédent"><span class="for-reader">Précédent</span></a>');
		}
		if(newleft == max_left) {
			$('.conteneur-livre .suivant').html('');
		}
		return false;
	});
	
	//slider de la recherche avancée
	$('#slider').slider({
		range: true,
		values: [2009, 2011],
		min:2005,
		max:2011,
		slide: function(event, ui) {
			$("#date_depart").attr('value', ui.values[0]);
			$("#date_fin").attr('value', ui.values[1]);
		}
	});

	$('#s').attr('autocomplete', 'off').keyup( function(){
		$('#submit').attr('disabled', 'disabled');
		$(this).delay(400, function() {
			$field = $(this);
			// on commence à traiter à partir du 3ème caractère saisie
			if( $field.val().length >2 ) {
				$.post(base_url + 'ajax-search.php', 's='+ $(this).val() + '&langue='+ $(this).attr('class'), function(data) {
					$('#resultats').show().html(data);
					$('#submit').removeAttr('disabled');
				});
			} else if($field.val().length == 0) {
				$('#resultats').hide().html('');
			}
		});
	});
	
	$('#liste_continents, #liste_pays').hide();
	$('#type_post').change(function() {
		var value = $(this).attr('value');
		if(value == "post") {
			$('#liste_continents, #liste_pays').show();
		} else {
			$('#liste_continents ,#liste_pays').hide();
		}
	});
	
	$('#liste_continents').change(function(){
		var value = $(this).attr('value');
		
		$.post(base_url + 'ajax_liste_pays_enfant.php', 'pays_parent='+ value, function(data) {
			$('#liste_pays').html('<option value="">Pays</option>'+ data);
		});
	});
	
	//var url = 'http://localhost/saradaniel/';
	var url = 'http://sara-daniel.com/';
	var langue = $('#rss-personnalise').attr('class');
	$('#rss-personnalise').append('<p id="flux_rss_genere" />');

	var chemin_langue = '';
	if(langue == 'en') {
		chemin_langue = 'en/';
	}
	
	$('#rss-personnalise').submit(function() {
		if($('#type_post').attr('value') != '') {
			if($('#type_post').attr('value') != 'post') {
				var value = $('#type_post').attr('value')
				$('#flux_rss_genere').html('Flux RSS généré : <a href="'+ url + chemin_langue + value +'/feed/atom/" title="">'+ url + chemin_langue + value +'/feed/atom/</a>');
			} else {
				if($('#liste_pays').attr('value') != '') {
					var pays = $('#liste_pays').attr('value');
					$('#flux_rss_genere').html('Flux RSS généré : <a href="'+ url + chemin_langue +'pays/'+ pays +'/feed/atom/" title="">'+ url + chemin_langue +'pays/'+ pays +'/feed/atom/</a>');
				} else {
					if($('#liste_continents').attr('value') != '') {
					var pays = $('#liste_continents').attr('value');
					$('#flux_rss_genere').html('Flux RSS généré : <a href="'+ url + chemin_langue +'pays/'+ pays +'/feed/atom/" title="">'+ url + chemin_langue +'pays/'+ pays +'/feed/atom/</a>');
					}
				}
			}
		}
		
		return false;
	});
	
	// Affichage de la minicarte via SWF OBJECT
	var param = {allowscriptaccess: "always"}
	var continent = $('#minicarte').attr('class');
	var langue = $('body').attr('id');

	var correspondanceFlash = {
		'eu': 'europe',
		'europe': 'europe',
		'middle-east': 'moyen-orient',
		'moyen-orient': 'moyen-orient',
		'afrique': 'afrique',
		'africa': 'afrique',
		'amerique-du-sud': 'amerique-du-sud',
		'south-america': 'amerique-du-sud',
		'amerique-du-nord': 'amerique-du-nord',
		'north-america': 'amerique-du-nord',
		'asie': 'asie',
		'asia': 'asie'
	};
	
	var chemin = '',
		extension = '';
	
	if(langue == 'en') {
		chemin = '../';
		extension = '_en';
	}

	swfobject.embedSWF("http://sara-daniel.com/wp-content/themes/saradaniel/flash/MiniCarte_"+ correspondanceFlash[continent] +".swf", "minicarte", "285", "166", "9.0.0", "expressInstall.swf", param);	
	
	// Affichage de la carte flash via SWF OBJECT
	swfobject.embedSWF(chemin+"wp-content/themes/saradaniel/flash/carteHome"+ extension +".swf", "carte_centrale_flash", "627", "350", "9.0.0", "expressInstall.swf", param);	
	
	// Affichage de la petite carte
	swfobject.embedSWF("http://sara-daniel.com/wp-content/themes/saradaniel/flash/cartePetite.swf", "cartePetite", "285", "165", "9.0.0", "expressInstall.swf", param);	

	// Ecouteur de base sur la liste d'article
	$("#flash-link dl dd").mouseover(function(){
		var continent = $(this).prev(".continent").find('p a').attr('class');
		if(typeof(continent)=='undefined')
		{
			continent = $(this).prev().prev().find('p a').attr('class');
		}
		$('#carte_centrale_flash').externalInterface({method:'carteSetColor', args:continent});
	});
	$("#flash-link dl dd").mouseout(function(){
		$('#carte_centrale_flash').externalInterface({method:'carteunSetColor'});
	});

	// Ecouteur sur la liste d'article pour les minicartes
	$("#carte-interactive-continent ul li a").mouseenter(function(){
		$('#minicarte').externalInterface({method:'minicarteSetColor', args:$(this).attr('class')});
	});
	$("#carte-interactive-continent ul li a").mouseleave(function(){
		$('#minicarte').externalInterface({method:'minicarteUnSetColor', args:$(this).attr('class')});
	});

});

// Ecouteur du flash
function carteListArticle(continent)
{
	// Continent : amerique_nord / amerique_sud / moyen_orient / afrique / europe / asie
}

$.fn.delay = function(time, callback){
    // Empty function:
    jQuery.fx.step.delay = function(){};
    // Return meaningless animation, (will be added to queue)
    return this.animate({delay:1}, time, callback);
}

