(function($){

/* READY */

$(function()
{
    
	function log(v)
	{
		console.log(v);
	}
        
	function isNumber(val)
	{
		return /^-?((\d+\.?\d?)|(\.\d+))$/.test(val);
	}


	// SWITCH PAGINE

	var $switches = $('#switch li a');
	var $pages = Array();

	// crea array di LI con link pagina
	for(var i = $switches.length - 1; i >= 0; i --)
	{
		$el = $($switches[i]);
		var cont = parseInt($el.html());

		if(isNumber(cont))
			$pages.push($el.parent());
	}

	var $arrowLeft = $('#switch .arrow.left');
	var $arrowRight = $('#switch .arrow.right');
	var $arrows = $('#switch .arrow');

	var $active = $('#switch li a.active');
	var active = parseInt($active.text()) - 1;

	var maxPages = 12;
	var limit = maxPages - 2;
	var left = 0;
	var right = limit - 1;

	$active.click
	(
		function()
		{
			return false;
		}
	);

	if($pages.length <= maxPages)
	{
		$arrows.hide();
	}
	else
	{
		if(active > limit - 1)
		{
			left += active - limit + 1;
			right += active - limit + 1;
		}

		update();

		$arrows.click
		(
			function()
			{
				$a = $(this);
				var dir = 0;
				if($a.hasClass('left'))
				{
					if(left > 0)
						dir = -1;
				}
				else if($a.hasClass('right'))
				{
					if(right < $pages.length - 1)
						dir = 1;
				}
				left += dir;
				right += dir;

				update();
				return false;
			}
		);
	}

	function update()
	{
		for(var i = 0; i < $pages.length; i++)
		{
			if(i >= left && i <= right)
				$pages[i].show();
			else
				$pages[i].hide();
		}
		if(left == 0)
			$arrowLeft.addClass('disabled');
		else
			$arrowLeft.removeClass('disabled');

		if(right == $pages.length - 1)
			$arrowRight.addClass('disabled');
		else
			$arrowRight.removeClass('disabled');
	}


	// mantieni finestre top-menu aperte
	$('#header .menu input, #header button').blur(removeFocus);
	function removeFocus()
	{
		var $this = $(this);
		$this.parents('.item').find('.menu_content').removeClass('focus');
	}

	var tuaEmail = $('#header .item.newsletter input').val();

	$('#header .menu input, #header button').focus(addFocus);
	function addFocus()
	{
		var $this = $(this);
		if($this.val() == tuaEmail)
			$(this).select();

		$this.parents('.item').find('.menu_content').addClass('focus');
	}



	$('#newsLetter').submit(ajaxForm);
	function ajaxForm()
	{
		var $form = $(this);

		var params ={
			url:$form.attr('action'),
			data:$form.serialize(),
			type:'post',
			success:displayMessage,
			error:displayError
		};
		$.ajax(params);

		function displayMessage(msg)
		{
			$form.find('.menu_content')
				.removeClass('focus')
				.append('<div class="message">' + msg + '</div>')
				.find('button').remove();
                                $('#header .menu input, #header button').focus(addFocus);
		}

		function displayError()
		{
			var msg = 'Si &egrave; verificato un errore, si prega di riprovare';

			$form.find('.menu_content')
				.removeClass('focus')
				.append('<div class="message">' + msg + '</div>')
				.find('button').remove();
		}

		return false;
	}

});     //  closing $(document).ready()

})(jQuery);

