var lien_actif;
var etat = "accueil/ajax";
var menu_imprimer = ""; 

$(document).ready(function(){
		
	$.ajaxSetup({'timeout':10000});
	
	//on définit le premier lien (accueil) comme actif
	lien_actif = $('#menu').find('a:first');
	
	if(jQuery.browser['msie'] && parseInt(jQuery.browser['version'],0)<7 ){
		var myregexp = /^([a-z][a-z0-9+\-.]*:(\/\/[^\/?#]+)?)?([a-z0-9\-._~%!$&'()*+,;=:@\/]*)/i;
		var match = myregexp.exec(document.location);
		if (match != null) {
			result = match[3];
			if (result.charAt(0) == "/"){
				result = result.substr(1,result.length);
			}
			obj = $("<div></div>");
			obj.attr("href",result);
			lien_actif = obj;
		}
		else{
			lien_actif = $('#menu').find('a:first');
		}
	}
	
	//animations
	animations();
	
	//on met à jour les liens pour être du ajax
	$('#menu a').each(ajaxifier);
	$('#contenu a').each(ajaxifier);
	$('#footer a').each(ajaxifier);
	affiche_lien(lien_actif);

	ajaxer();
	
	if (mode_html != true){
		$.History.bind(function(state){
		// Our Generic Handler - Always runs last.	
			if (state.length==0) {
				state = "accueil/";
				$.get(state + 'ajax', function(data){
						obj = $('#menu a:first');
						page_chargee(obj,data);
				});
			}
			else {
				if (state != etat && state.length!=0){
					$('#contenu').html('<div align="center"><p>&nbsp;</p><p>Chargement en cours...</p></div>');
					$.get(state + 'ajax', function(data){
						obj = $("<div></div>");
						obj.attr("href",state + 'ajax');
						page_chargee(obj,data);
					});
				}
			}
		});	
	}
	
	menu_imprimer = $('#menu_droite');
	menu_imprimer.remove();
});


//fonction executée lorsque la page est chargée (par ajax)
function page_chargee(obj,data){
	if (data!=null){
		$("#contenu").html(data);
	}
	$('#contenu a').each(ajaxifier);
	animations();
	ajaxer();
	affiche_lien(obj);
	lien_actif = obj;
	if (printable){
		$("#contenu").append(menu_imprimer.html());
		lien_print();
	}
	etat = obj.attr("href").replace(/ajax/,'');
	$.History.setHash(etat);
	document.title = "Ferme de l'Autruche Dr\u00F4moise - " + titre;	
}

function animations(){
	$('#contenu .Titre').each(function(){
		$(this).hide()
		$(this).fadeIn(2500);
    });
}

function galerie(gal){	
	$('#' + gal).cycle({ 
			fx: 'fade,scrollUp,shuffle,scrollDown,curtainX,turnDown' 
	});
	$('#' + gal + ' a.lightbox').lightBox();
}

function ajaxifier(){
	var href = $(this).attr('href');
	tab = href.split("/");	
	//si IE<7, on ne fait pas d'ajax
	if(jQuery.browser['msie'] && parseInt(jQuery.browser['version'],0)<7 ){
		return;
	}
	if (mode_html == true){
		return;
	}
	if (tab[0].indexOf(":") == -1 && tab[tab.length - 1] != "ajax" && !$(this).hasClass("noajax") || $(this).hasClass("force_ajax")){		
		href += "/ajax";
		$(this).attr({href : href});
		$(this).addClass("ajax");
	}
	else {
		$(this).attr({target : "_blank"});
	}

}

//défaire la galerie
function ungalerie(galerie){
	$('#' + galerie).cycle('destroy');
	$('#' + galerie).removeClass("pics");
	$('#' + galerie).attr("style","");
	$('#' + galerie).find("a").each(function(){
		$(this).attr("style","margin: 3px;");
	});
	$('#' + galerie).find("img").each(function(){
		$(this).show();
		$(this).attr("style","margin: 3px;");
		$(this).attr("height",$(this).attr("height")*0.75);
		$(this).attr("width",$(this).attr("width")*0.75);
	});
	
	$("#affiche_galerie").hide();
	$("#affiche_diapo").show();
	
	return false;
}

function diapo(gal){
	$('#' + gal).find("img").each(function(){
		$(this).attr("height",$(this).attr("height")*4/3);
		$(this).attr("width",$(this).attr("width")*4/3);
	});
	$('#' + gal).addClass("pics");
	
	galerie(gal);
	$("#affiche_galerie").show();
	$("#affiche_diapo").hide();
	
	return false;
}

//on transforme en dynamique
function ajaxer() {
	$('.ajax').die();
	$('.ajax').unbind();
	$('.ajax').ajaxContent({   
		target:'#contenu',
		loadingMsg:'<div align="center"><p>&nbsp;</p><p>Chargement en cours...</p></div>',
		errorMsg:'<div align="center"><p>&nbsp;</p><p>Erreur de chargement de la page, veuillez réessayer.</p></div>',
		extend:'true',   
		filter:'.ajax',   
		ex_target:'#contenu',
		success: function(obj,target,msg){		
			page_chargee(obj,null);
		}
	});
};

function lien_print(){
		tab = lien_actif.attr('href').split("/");
		tab[tab.length - 1] = "print";
   		$('#lien_print').attr('href',tab.join("/")); 
		return false;
}

function affiche_lien(obj){
	$('#menu a').each(function () {		
		if(obj.attr("href") == $(this).attr("href")){
			if(jQuery.browser['msie'] && parseInt(jQuery.browser['version'],0)<7 ){
				ext = 'gif';
			}
			else{
				ext = 'png';
			}
			
			if($(this).hasClass("submenu")){
				$(this).css({'background-image' : 'url(/images/puce_actif.' + ext + ')', 'color' : '#9D0000'});
				if(! $(this).parents('li').parents('li').hasClass("open")){
					$(this).parents('li').parents('li').children('a').click();
				}
			}
			else{
				$(this).css({'background-image' : 'url(/images/puce_actif.' + ext + ')', 'color' : '#9D0000'});
			}
		}
		else{
			$(this).css({'background-image' : '', 'color' : ''});
		};
		$(this).blur();
	});
};

function isInteger(s)
{ 
	var i;
	for (i = 0; i < s.length; i++)
	{
		// Check that current character is number.
		var c = s.charAt(i);
		if (((c < "0") || (c > "9"))) return false;
	}
	// All characters are numbers.
	return true;
}

function stripCharsInBag(s, bag)
{
	var i;
	var returnString = "";
	// Search through string's characters one by one.
	// If character is not in bag, append to returnString.
	for (i = 0; i < s.length; i++)
	{
		// Check that current character isn't whitespace.
		var c = s.charAt(i);
		if (bag.indexOf(c) == -1) returnString += c;
	}
	return returnString;
}
