﻿var data_search;
var results_per_page = 18;

var nb_pages = 0;
var current_page = 1;
var current_index = 0;
var nbResults = 0;

$(document).ready(function(e){
	
	// fonction qui remplace le target = "_blank" non valide XHTML
	
	/*$("a[href^='http://']").live("click", function(e){
		//alert('t');
		window.open(this.href);
		e.preventDefault();
	});*/

	// Exécution de la fonction diaporama sur l'élément qui à la classe « diaporama ».
	
	$(".diaporama").diaporama({ 
		animationSpeed: "slow",
		delay:5
	});
	
	// Shadowbox
	Shadowbox.init({
		skipSetup: true
	});
	
	// Gestion des positions d'images (menu et infos) -- transition sur le contenu

	$("#header a, #nav a").live('click', function(e){
		
		$('#nav a').css({backgroundPosition:""});

		if($(this).hasClass("inf") == true){$(this).css({backgroundPosition:"center center"});}
		else if($(this).hasClass("acc") == true){$("#nav a.homeLink").css({backgroundPosition:"0 bottom"});} // Positionne l'image du lien "decouvrez o-resto" dans le cas d'un clic sur le logo en haut à gauche
		else{$(this).css({backgroundPosition:"0 bottom"});} // Modifie la position de l'image de fond pour le lien actif
		
		var url = $(this).attr("href");
		$('#content').fadeOut(function() {
			$(this).load(url +' #content', function() {
				$(this).fadeIn(500);
			});
		});
		e.preventDefault();
	});
	
	// Gestion du formulaire et des résultats
	
	$('#search').live('submit', function(e) {
		$('#results').fadeOut();
		$('#caption').fadeOut();
		$.getJSON('/api/json_for_zipcode.php',
		{
			w: 'list',
			nom: $(this).find('#nom').attr('value'),
			lieux: $(this).find('#lieux').attr('value'),
		},
		function(data) {
			data_search = data;
			current_page = 1;
			current_index = 0;
			nb_pages = Math.ceil(data_search.length/results_per_page);
			nbResults = data.length-1;
			
			if( nbResults == 0 )
			{
				$('#search span').html('');
				$('#results').fadeOut();
				$('#caption').fadeOut(function() {
					$('.no-result').fadeIn();
				});
			}
			else
			{
				$('#caption_r span').html( '1/'+ nb_pages );
				
				$('.no-result').fadeOut(function() {
					$('#results').fadeIn();
					$('#caption').fadeIn();
				});
				
				if( nbResults == 1 )
					$('#rescount b').html('1 r&eacute;sultat');
				else
					$('#rescount b').html(nbResults +' r&eacute;sultats');
			}			

			if( nbResults > results_per_page ){
				$('#caption_r').fadeIn();
			}
			else{
				$('#caption_r').fadeOut();
			}
			display_results(0);
		});
		e.preventDefault();
	});
	
	$('#prev_results').live('click', function(e) {
		if( current_page > 1 )
		{
			current_page -= 1;
			$('#caption_r span').html( current_page +'/'+ nb_pages );
			display_results(parseInt((current_page-1)*results_per_page));
		}
		e.preventDefault();
	});
	
	$('#next_results').live('click', function(e) {
		if( current_page < nb_pages )
		{
			current_page += 1;
			$('#caption_r span').html( current_page +'/'+ nb_pages );
			display_results(current_index);
		}
		e.preventDefault();
	});
	
	$('a.moreDetails').live('click', function(e) {
		var id = $(this).attr('id').substr(1,8);
		
		$('#content').clone().insertAfter('#content').attr('id', 'cachedContent').css('display', 'none');
		
		$('#content').fadeOut(function() {
			$(this).load('/details.php?id='+ id +' #content > *', function() {
				$(this).fadeIn();
			});
		});
		e.preventDefault();
	});
	
	$('div.det_l a').live('click', function(e) {
		imgHref = $(this).attr('href');
		
		Shadowbox.open({
			player:		'img',
			content:    imgHref
		});
		
		e.preventDefault();
	});
	
	$('#return').live('click', function(e) {
		$('#content').remove();
		$('#cachedContent').attr('id', 'content').fadeIn();
		e.preventDefault();
	});

	$('#equip').live('click', function(e) {
		e.preventDefault();
		$.get("details.php", { id: $(this).attr('href'), equip: "1" } );
		$(this).html('Demande enregistr&eacute;e...');
	});
});

function display_results(index) {

	$('#results tbody tr').each(function(e) {
		$(this).remove();
	});
	
	for(i=index; (i<results_per_page+index || i == nbResults); i++) {
		if( data_search[i].name.length >= 1 ) {
			
			$('#results').find('tbody').append($('<tr>'));
			
			var line = $('#results tbody tr:last');
			$(line).append('<td><p><img alt="" src="/images/flags/'+ data_search[i].oresto_enabled  +'.png"><a class="moreDetails" id="e'+ data_search[i].id +'" title="'+ data_search[i].name +'">'+ data_search[i].name +'</a></p></td>');
			$(line).append('<td class="border">&nbsp;</td>'); /*td d'1px de large pour le border*/
			$(line).append('<td><p title="'+ data_search[i].address +'"><a href="http://maps.google.com/maps?f=q&source=s_q&hl=fr&geocode=&q='+ data_search[i].address +' '+ data_search[i].addressSuite +', '+ data_search[i].zipcode +' '+ data_search[i].city +', '+ data_search[i].country +'" title="Voir sur google map" target="_blank"><img src="/images/gmap_icon.png" alt="Voir sur google map"></a>'+ data_search[i].address +'</p></td>');
			$(line).append('<td class="border">&nbsp;</td>');
			$(line).append('<td>'+ data_search[i].zipcode +'</td>');
			$(line).append('<td class="border">&nbsp;</td>');
			$(line).append('<td><p title="'+ data_search[i].city +'">'+ data_search[i].city +'</p></td>');
			$(line).append('<td class="border">&nbsp;</td>');
			$(line).append('<td class="phone">'+ data_search[i].phone +'</td>');
		}
	}
	current_index = i;
	$('#results tbody tr:last td').css({paddingBottom:'6px'});
}
