
// Bug avec Flash de FFMac
$.browser.mozillaMac = (($.browser.mozilla) && (navigator.userAgent.toLowerCase().indexOf('mac') != -1));

function document_ready() {
	
	// Forcer la selection lors d'une requete vers cette page
	$(".req_selected").addClass("selected");

	// Sur le click d'un type, slideUp des blocs ouverts et slideDown de celui clique
	$("dl.categorie dt a").click(function(){
		// slideUp seulement s'il n'est pas deja ouvert
		if (!$(this).is(".selected")) {
			$(".carte_vacance_navigation .texte").not(".hidden").fadeOut("fast").addClass("hidden");
			$("dl.categorie dd.ouvert").slideUp("normal").removeClass("ouvert").prev().children("a").removeClass("selected");
			$(this).addClass("selected").parent().next("dd").slideDown("normal").addClass("ouvert");
		}
		return false;
	});
	
	$("#mosaique a").click(
		function() {
			return show_realisation(this.href);
		}
	);
	
	if ($.browser.mozillaMac) {
		$(".overlay").addClass("overlay_ffmac");
	} else {
		$(".overlay").addClass("overlay_db");
	}
	
	document.onclick = hide_realisation_remote;
	
	
	$(".saison li a.carte_vacance_saison").hover(function(){
		$(this).next("a").toggleClass("voir_carte_vacance_selected");
	},function(){
		$(this).next("a").toggleClass("voir_carte_vacance_selected");
	});

}//fin document_ready();


$(document).ready(function() {
	if (!$.browser.safari) {
		document_ready();
	}
});


// Une fois que les images sont loades, on start l'animation
$(window).load(function(){
	if ($.browser.safari) {
		document_ready();
	}
});


function hide_mosaique_a(a) {
	$(a).parent().css("z-index","0");
	$(a).next(".infos").hide().next(".shadow").hide();;
	$(a).children(".details").hide();
	$(a).children(".bordure").hide();
}

// Index/detail realisations

var prefixe_high = "high_";		// Prefixe des ID des Photo_high
var prefixe_low = "low_";		// Prefixe des ID des Photo_vl
var prefixe_desc = "desc_";		// Prefixe des ID des Titres des projets (solutions)
var inAction = false;			// Animation en cour
var slider_speed = 500;			// ms
var slider_pieces_total = 0;
var slider_effect = "swing";
var spliter = "###";			// passage de parametres (noms de fichier)

function init_slider() {
	
	// transparence PNG
	if ($.browser.msie) {
		$(".fleche_droite").addClass("fleche_droite_msie");
		$(".fleche_gauche").addClass("fleche_gauche_msie");
		$(".fleche_retour").addClass("fleche_retour_msie");
		
		$("#desc_0 h2").addClass("msie");
	}
	// onclick precedent/suivant
	$(".carte_vacance_contenu .media a.fleche_gauche").click(
		function() { return bind_action_to_precedent(); }
	);
	$(".carte_vacance_contenu .media a.fleche_droite").click(
		function() { return bind_action_to_suivant(); }
	);
	$(".carte_vacance_contenu .media a.fleche_retour").click(
		function() { return bind_action_to_retour(); }
	);
	
	// onclick photo_low
	$(".photos a").click( function() { return nav_piece(this); } );

	// slider_pieces_total
	slider_pieces_total = parseInt($(".photos a").get().length);

	// Nouvelle Ressource?
	if ($("#"+prefixe_high+"0").is(".ressource"))
		init_ressource(0);
				
	// L'etat par defaut
	$(".carte_vacance_contenu .media a.fleche_gauche").hide();
	$(".carte_vacance_contenu .media a.fleche_retour").hide();

	// Si une seule piece, aucune fleche
	if (slider_pieces_total < 2)
		$(".carte_vacance_contenu .media a.fleche_droite").hide();
}

function bind_action_to_precedent() {
	var ori_index = parseInt($(".apercu").attr("id").replace(prefixe_high,""));
	return piece_precedente(ori_index,ori_index-1);
}
function bind_action_to_suivant() {
	var ori_index = parseInt($(".apercu").attr("id").replace(prefixe_high,""));
	return piece_suivante(ori_index,ori_index+1);
}
function bind_action_to_retour() {
	var ori_index = parseInt($(".apercu").attr("id").replace(prefixe_high,""));
	return piece_precedente(ori_index,0);
}
function init_ressource(id) {
	var ap='/documents/image/carte-vacance/hd/'+$("#"+prefixe_high+id).attr('rel').split("###")[0];
	var fl='/documents/file/carte-vacance/flv/'+$("#"+prefixe_high+id).attr('rel').split("###")[1];
	var so = new SWFObject('/images/ul/flash/video.swf?stillURL='+ap+'&flvURL='+fl, 'fo_'+id, '470', '285', '8', '#000000');
	// FF Mac Bug, changement de .overlay pour .overlay_ffmac
	if (!$.browser.mozillaMac) {
		so.addParam("wmode", "opaque");
	}
	so.write('high_'+id);
	return false;
}

function init_ressource_now_ffmac(index) {
	if ($("#"+prefixe_high+index).is(".ressource")) {
		if ($.browser.mozillaMac)
			init_ressource(index);
	}
}
function init_ressource_now_db(index) {
	if ($("#"+prefixe_high+index).is(".ressource")) {
		if (!$.browser.mozillaMac)
			init_ressource(index);
	}
}

function unset_ressource(id) {
	var ap='/documents/image/carte-vacance/hd/'+$("#"+prefixe_high+id).attr('rel').split("###")[0];
	$("#"+prefixe_high+id).html('<img src="'+ap+'" width="470" height="285">');
	return false;
}

function piece_precedente(ori_index,new_index) {
	// animation en cour
	if (inAction)
		return false;
		
	// Debut animation
	in_action = true;
	
	$(".carte_vacance_contenu .media a.fleche_retour").hide();
	
	// Ressource originale?
	if ($("#"+prefixe_high+ori_index).is(".ressource"))
		unset_ressource(ori_index);

	var ml = parseInt($(".carte_vacance_contenu .media .photo .slider").css("marginLeft"));
	$(".carte_vacance_contenu .media a.fleche_droite").show();

	// Changer le titre et la description du projet
	// Solution et realisation (projets associes)
	change_desc(ori_index,new_index);

	
		$(".apercu_suivant").removeClass("apercu_suivant");
		$("#"+prefixe_high+new_index).next().addClass("apercu_suivant");
		//[A ][AS][]
	
	//[  ][A ][AS]
	$(".apercu").removeClass("apercu")
	if ($("#"+prefixe_high+new_index).is(".ressource")) {
		$("#"+prefixe_high+new_index).addClass("apercu");
	} else {
		$("#"+prefixe_high+new_index).addClass("apercu");
	}
	//[A ][  ][AS]
	// Ressource (!FF MAC)
	init_ressource_now_db(new_index);

	addTabAction();
	$(".carte_vacance_contenu .media .photo .slider").animate({ 
			marginLeft: ml+(470*(ori_index-new_index))
		}, slider_speed,slider_effect,function() {
			if (parseInt($(".carte_vacance_contenu .media .photo .slider").css("marginLeft")) > - 470) {
				$(".carte_vacance_contenu .media a.fleche_gauche").hide();
				// Bug de retour au point de depart, le forcer
				$(".carte_vacance_contenu .media .photo .slider").css("marginLeft",0);
			}
			// Ressource (FF MAC)
			init_ressource_now_ffmac(new_index);
			// animation terminee
			removeTabAction();

//alert($(".portfolio_contenu .media .photo .slider").css("marginLeft"));
		});

	$("#"+prefixe_low+ori_index).removeClass("selected");
	$("#"+prefixe_low+new_index).addClass("selected");
	
	return false;
}

function piece_suivante(ori_index,new_index) {
	// animation en cour
	if (inAction) {
		return false;
	}

	// Ressource originale?
	if ($("#"+prefixe_high+ori_index).is(".ressource"))
		unset_ressource(ori_index);

	var ml = parseInt($(".carte_vacance_contenu .media .photo .slider").css("marginLeft"));
	$(".carte_vacance_contenu .media a.fleche_gauche").show();

	// Changer le titre et la description du projet
	// Solution et realisation (projets associes)
	change_desc(ori_index,new_index);
	
	//[A ][AS][  ]
	$(".apercu_suivant").removeClass("apercu_suivant");
	$("#"+prefixe_high+new_index).next().addClass("apercu_suivant");

	//[A ][  ][AS]
	$(".apercu").removeClass("apercu");
	if ($("#"+prefixe_high+new_index).is(".ressource")) {
		$("#"+prefixe_high+new_index).addClass("apercu");
	} else {
		$("#"+prefixe_high+new_index).addClass("apercu");
	}
	//[  ][A ][AS]

	// Ressource (!FF MAC)
	init_ressource_now_db(new_index);

	addTabAction();
	$(".carte_vacance_contenu .media .photo .slider").animate({ 
		marginLeft: ml-(470*(new_index - ori_index))
		}, slider_speed,slider_effect,function() {
			if (parseInt($(".carte_vacance_contenu .media .photo .slider").css("marginLeft")) <= (-470*(slider_pieces_total-1))) {
				$(".carte_vacance_contenu .media a.fleche_droite").hide();
				$(".carte_vacance_contenu .media a.fleche_retour").show();
			}
			// Ressource (FF MAC)
			init_ressource_now_ffmac(new_index);
			// animation terminee
			removeTabAction();
		});

	$("#"+prefixe_low+ori_index).removeClass("selected");
	$("#"+prefixe_low+new_index).addClass("selected");
	return false;
}

function nav_piece(a) {
	
	var ori_index = parseInt($(".apercu").attr("id").replace(prefixe_high,""));
	var new_index = parseInt($(a).attr("id").replace(prefixe_low,""));

	if ((new_index - ori_index) == 0) return false;

	// Piece suivante
	if ((new_index - ori_index) > 0) {
		return piece_suivante(ori_index,new_index);
	// Piece precedente
	} else {
		return piece_precedente(ori_index,new_index);
	}
}


function change_desc(ori_index,new_index) {
	var changedescription = false;
	var ori_index_desc = $("#"+prefixe_desc+ori_index).get().length>0;
	var new_index_desc = $("#"+prefixe_desc+new_index).get().length>0;

	// Piece suivante
	if (new_index > ori_index) {
		if (new_index_desc) {
			if (!ori_index_desc) ori_index = 0;
			changedescription = true;
		}
	// Piece precedente
	} else {
		if (ori_index_desc) {
			if (!new_index_desc) new_index = 0;
			changedescription = true;
		}
	}

	// Sinon, on change le nom de la piece
	addTabAction();
	$("#"+prefixe_desc+'pce_'+ori_index).fadeOut("normal",function() {
		removeTabAction();
		$(this).removeClass("selected");
		
		addTabAction();
		$("#"+prefixe_desc+'pce_'+new_index).fadeIn("fast",function() {
			$(this).addClass("selected");
			removeTabAction();
		});
	});
	
	return true;
}

// Navigation des pieces a l'aide des fleches du clavier
$(document).bind("keydown",eventWhich);

function eventWhich(e){
	if (e.keyCode == 39) {/*RtAw*/
		if (parseInt($(".carte_vacance_contenu .media .photo .slider").css("marginLeft")) > (-470*(slider_pieces_total-1)))
			return bind_action_to_suivant();
	}
	if (e.keyCode == 37) {/*LtAw*/
		if (parseInt($(".carte_vacance_contenu .media .photo .slider").css("marginLeft")) < 0)
			return bind_action_to_precedent();
	}
	if (e.keyCode == 27) {/*Esc*/
		if (parseInt($(".carte_vacance_contenu .media .photo .slider").css("marginLeft")) > (-470*(slider_pieces_total-1)))
			return bind_action_to_retour();
	}
	return;
};

function show_realisation(lien) {
	
	var conteneur = "#carte_vacance_detail";
	var overlay = ".overlay";
	var min_height = 459;

	// Si le conteneur est trop petit pour le detail de la realisation, agrandir.
	if (parseInt($(".carte_vacance_navigation").height()) < min_height) {
		$(".carte_vacance_navigation").css("height",min_height+"px");
		$(".carte_vacance_contenu").css("height",min_height+"px");
	}
	$(overlay).show();
	$(conteneur).show();
	$(".apercu a").show();
	$("#nav_pages a").hide();
	// Version imprimee
	$("#mosaique").addClass("carte_vacance_print");
	
	return ajax_getcontent(lien,conteneur);
}

function ajax_getcontent(lien,e) {
	$.ajax({
		type: "POST",
		url: lien,
		success: function(resultat) {
			$(e).html(resultat);
			$("#carte_vacance_detail .fermer").click(function() { return hide_realisation(); });
			init_slider();
			// BUG fadeout IE6
			$(".carte_vacance_contenu #carte_vacance_detail h2").addClass("msie");
			$('#carte_vacance_detail').click(function (e) { if (e.stopPropagation) e.stopPropagation(); else e.cancelBubble = true; return true; });
		}
	});
	
	return false;
}

function hide_realisation() {
	var conteneur = "#carte_vacance_detail";
	var overlay = ".overlay";
	$(".carte_vacance_navigation").css("height","auto");
	$(".carte_vacance_contenu").css("height","auto");
	$(overlay).hide();
	$(conteneur).hide();
	$("#nav_pages a").show();
	$("#carte_vacance_detail").html("");
	// Version imprimee
	$("#mosaique").removeClass("carte_vacance_print");
	
	inAction = false;
	
	return false;
}

function hide_realisation_remote(e) {
	if ($("#carte_vacance_detail").html() != "") hide_realisation();
}


// Blocker les evenements lors de l'animation
// table des actions en cours
var tab_actions = new Array();
function addTabAction() {
	inAction = true;
	tab_actions.push("1");
}

function removeTabAction() {
	tab_actions.shift();
	if (tab_actions.length == 0)
		inAction = false;
}