//
// INIZIALIZZAZIONE
//

var offset_disp = 15;

$(document).ready( function() 
{       

	//PNG fix
	$('.btn').ifixpng();
	
	//-- nav animation --
	if($.browser.msie)
		offset_disp=20;

	$('#nav_move').css({     
          width: $('#nav_home').width()+20, 
          height: $('#nav_home').height()+10,
          left: $('#nav_home').offset().left-$('#navbar').offset().left-offset_disp //15 o 20
  	});
  	$('#nav_home').addClass('cur');
  	
  	scroll_home();
    
    $('#nav2 li:first a').addClass('cur');
        
    $('#nav2 a').click(
    	function() {
          $('#nav_move').animate(
            { 
              width: $(this).width()+20, 
              height: $(this).height()+10, 
              left: $(this).offset().left-$('#navbar').offset().left-offset_disp //15 o 20
            }, 
            { duration: 1000, easing: 'easeInOutCirc' }
          );
          $('.cur').removeClass('cur');
          $(this).addClass('cur');
          return false;
        }
     );
     
     //Home - Images slideshow
     $('#slideshow').cycle('fade');  
     

	 //Configurazione carosello immagini
     $('#carousel').jcarousel(
     {
        itemVisibleInCallback: {onBeforeAnimation: carousel_itemVisibleIn},
        itemVisibleOutCallback: {onAfterAnimation: carousel_itemVisibleOut},
        auto: 2.5,
        wrap: 'circular',
        scroll: 1       
     }
    );
    
    
    //Configurazione GMap
    if (GBrowserIsCompatible()) 
    {
        var map = new GMap2(document.getElementById("map"));
        map.removeMapType(G_SATELLITE_MAP);
        map.setMapType(G_HYBRID_MAP);
        var point = new GLatLng(44.108457, 9.815909);
        map.setCenter(point, 14);
        var marker = new GMarker(point,{title:"Osteria della Corte"});
        map.addOverlay(marker);
        marker.openInfoWindowHtml('<div style="width:220px;height:80px;"><h1>Osteria della Corte</h1><br/>Via Napoli 86<br/>19122 La Spezia</div>', {maxWidth:200});
        //map.addControl(new GLargeMapControl());
        map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl());
        /*var geocoder = new GClientGeocoder();
        var address = "Via Napoli 86, La Spezia, Italy";
  		geocoder.getLatLng(
    			address,
    			function(point) {
      				if (!point) {
        				alert(address + " not found");
      				} else {
        				map.setCenter(point, 14);
        				var marker = new GMarker(point);
        				map.addOverlay(marker);
        				marker.openInfoWindowHtml("<h1>Osteria della Corte</h1><br/>Via Napoli 86<br/>19122 La Spezia");
      				}
    			}
  		);*/
	}
	
	
	//Configurazione invio form segnalazione
	$("#submit").click(function(){
		$(".error").hide();
		var hasError = false;
		var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;

		var emailToVal = $("#emailTo").val();
		if(emailToVal == '') {
			$("#emailTo").after('<div class="error">Indirizzo destinatario non inserito.</span>');
			hasError = true;
		} else if(!emailReg.test(emailToVal)) {
			$("#emailTo").after('<div class="error">Indirizzo non valido</span>');
			hasError = true;
		}

		var emailFromVal = $("#emailFrom").val();
		if(emailFromVal == '') {
			$("#emailFrom").after('<div class="error">Indirizzo mittente non inserito</span>');
			hasError = true;
		} else if(!emailReg.test(emailFromVal)) {
			$("#emailFrom").after('<div class="error">Indirizzo non valido.</span>');
			hasError = true;
		}
		
		var messageVal = $("#note").val();

		if(hasError == false) {
			$(this).attr('value', 'Sto inviando...');
			$(this).attr('diabled', true);
			$.post("send.php",
  				{ emailTo: emailToVal, emailFrom: emailFromVal, note: messageVal },
   				function(data){
					$("#segnalazione").slideUp("normal", function() {
						$("#segnalazione").before("<div id=\"success\" style=\"margin-top:60px;test-align:center;\"><h3>Messaggio inviato con successo</h3><br/><a href=\"#\" onclick=\"$('#success').slideUp(); $('#segnalazione').slideDown(); $('#emailTo').attr(\'value\',\'\'); $('#submit').attr('disabled', false); $('#submit').attr('value', 'Segnala ad un amico'); return false;\">Invia un'altra segnalazione</a></div>");
					});
				}
			);
		}
		
		return false;
	});
	                
});//doc ready


$(window).unload( function(){GUnload();} );



//
// Funzione per lo scrolling con animazione
//

var sections = [
				'home',
				'ristorante',
				'dovesiamo',
				'contatti'
			   ];
var cur_sec = sections[0];

function ScrollSection(sec_name)
{
	var sec_offset = $("#"+sec_name).offset();
	var cur_offset = $("#slider").offset();
	//alert(sec_offset.left - cur_offset.left);
	//$("#slider").scrollLeft((sec_offset.left - cur_offset.left));
	$("#slider").animate(
		{ scrollLeft: '+=' + (sec_offset.left - cur_offset.left) + 'px'  },
		{ duration: 1000, easing: 'easeInOutSine' }
	);
	cur_sec = sec_name;
}

function scroll_next()
{
	var cur_sec_idx = -1;
	for(var i=0; i<sections.length; i++)
	{
		if(sections[i] == cur_sec)
		{
			cur_sec_idx = i;
			break;
		}
	}
	if(i==-1)
		return;
	
	if((i+1) % sections.length == 0)
	{
		$("#slider").animate(
			{ scrollLeft: '0px'  },
			{ duration: 1000, easing: 'easeInOutSine' }
		);
	}
	else
	{
		$("#slider").animate(
			{ scrollLeft: '+=700px'  },
			{ duration: 1000, easing: 'easeInOutSine' }
		);
	}
	
	
	cur_sec = sections[(i+1) % sections.length];
	scroll_navbar(cur_sec);
	//toggle_animation(cur_sec);
}

function scroll_prev()
{
	var cur_sec_idx = -1;
	for(var i=0; i<sections.length; i++)
	{
		if(sections[i] == cur_sec)
		{
			cur_sec_idx = i;
			break;
		}
	}
	if(i==-1)
		return;
	
	if(i==0)
	{
		i = sections.length-1;
		$("#slider").animate(
			{ scrollLeft: '2100px'  },
			{ duration: 1000, easing: 'easeInOutSine' }
		);
	}
	else
	{
		i -= 1;
		$("#slider").animate(
			{ scrollLeft: '-=700px'  },
			{ duration: 1000, easing: 'easeInOutSine' }
		);
	}
	
	cur_sec = sections[i];
	scroll_navbar(cur_sec);
	//toggle_animation(cur_sec);
}

function scroll_home()
{
	//if(cur_sec != "home")
	{
		$("#slider").animate(
			{ scrollLeft: '0px'  },
			{ duration: 1000, easing: 'easeInOutSine' }
		);
		cur_sec = "home";
		scroll_navbar(cur_sec);
	}
}



function scroll_navbar(next_sec) 
{
    $('#nav_move').animate(
    	{ 
    		width: $("#nav_" + next_sec).width()+20, 
        	height: $("#nav_" + next_sec).height()+10, 
        	left: $("#nav_" + next_sec).offset().left-$('#navbar').offset().left-offset_disp //15 o 20
        	//top:(offset.top - offsetBody.top)-5
    	}, 
    	{ duration: 1000, easing: 'easeInOutCirc' }
    );
    $('.cur').removeClass('cur');
    $("#nav_" + next_sec).addClass('cur');
    return false;
}


function toggle_animation(sec)
{
	if(sec != 'home')
		$('#slideshow').cycle('stop');
	else
		$('#slideshow').cycle('fade'); 
	
	if(sec != 'ristorante')
		$('#carousel').hide();
	else
		$('#carousel').show();
		
	if(sec != 'dovesiamo')
		$('#map').hide();
	else
		$('#map').show();
}





//
//
// Carousel 
//
//


var carousel_imgs = [
	{src: 'images/carousel/thumb/Corte.jpg', title: 'La corte interna', link:'images/carousel/Corte.jpg'},
	{src: 'images/carousel/thumb/Sala_Interna.jpg', title: 'La sala del ristorante', link:'images/carousel/Sala_Interna.jpg'},
    {src: 'images/carousel/thumb/Cassettone.jpg', title: 'Il cassettone settecentesco', link:'images/carousel/Cassettone.jpg'},
    {src: 'images/carousel/thumb/Piatto1.jpg', title: 'Uno dei piatti serviti', link:'images/carousel/Piatto1.jpg'},
    {src: 'images/carousel/thumb/Piatto2.jpg', title: 'Uno dei piatti serviti', link:'images/carousel/Piatto2.jpg'},
    {src: 'images/carousel/thumb/Piatto4.jpg', title: 'Uno dei piatti serviti', link:'images/carousel/Piatto4.jpg'},
    {src: 'images/carousel/thumb/Tavolo.jpg', title: 'Tavolo nel cortile', link:'images/carousel/Tavolo.jpg'},
    {src: 'images/carousel/thumb/Piatto3.jpg', title: 'Uno dei piatti serviti', link:'images/carousel/Piatto3.jpg'},
    {src: 'images/carousel/thumb/Piatto5.jpg', title: 'Uno dei piatti serviti', link:'images/carousel/Piatto5.jpg'},
    {src: 'images/carousel/thumb/Auto.jpg', title: 'Il tuo viaggio nel gusto inizia qui', link:'images/carousel/Auto.jpg'}
    //{src: 'images/cassettone.jpg', title: 'Flower1', link:'images/cassettone.jpg'},
];


function carousel_itemVisibleIn(carousel, item, i, state, evt)
{
    // The index() method calculates the index from a
    // given index who is out of the actual item range.
    var idx = carousel.index(i, carousel_imgs.length);
    //alert(carousel_getHTML(carousel_imgs[idx - 1]));
    var item = $(carousel_getHTML(carousel_imgs[idx - 1])).get(0);
    tb_init(item);
    //carousel.add(i, carousel_getHTML(carousel_imgs[idx - 1]));
    carousel.add(i, item);
    
};

function carousel_itemVisibleOut(carousel, item, i, state, evt)
{
    carousel.remove(i);
};

/**
 * Item html creation helper.
 */
function carousel_getHTML(item)
{
    return '<a href="' + item.link + '" class="thickbox" title="' + item.title + '"><img src="' + item.src + '" width="75" height="75" alt="' + item.title + '" /></a>';
};


//
// Hovering function
//

function imghover(img, new_src)
{
	img.src = new_src;
	$(img).ifixpng();
}



