/******************************************************************************************************************/
// SETTINGS
/******************************************************************************************************************/

function startupSetting(){
	// menu
	$('#nav .m2 li ul').css({ opacity: 0.9 });
	
	// fancybox
	$('.gallery li a, .photo a, .fancybox, .cam').fancybox();
	$('.request').fancybox({
		'width': 600,
		'height': 610,
		'type': 'iframe'
	});
	
	// adjust badges
	bmax = 0;
	$('.badges li').each(function(){
		if ($(this).height() > bmax) bmax = $(this).height();
	})
	
	$('.badges li').height(bmax);
	
	// newsletter
	$('#newsletter .frm-text').focus(function(){
		$(this).css({ color: '#000000' });
		this.value = "";
	});
	
	$('#newsletter .frm-text').blur(function(){
		$(this).css({ color: '#7f7f7f' });
		if (this.value == "") this.value = "La tua email...";
	});
	
	// datepicker
	$('.datepick').datepicker({ 
		showOn: 'both',
		buttonImage: '../wp-content/themes/acot/images/icon-calendar.gif',
		buttonImageOnly: true,
		monthNames: ['Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno','Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre'],
		dayNamesMin: ['Do', 'Lu', 'Ma', 'Me', 'Gi', 'Ve', 'Sa'],
		dateFormat: 'dd/mm/yy',
		currentText: 'Oggi'
	});
}

/******************************************************************************************************************/
// SLIDER
/******************************************************************************************************************/

function resizeSlider(){
	$('#slider .mask, #slider .shadow').remove();
	
	snum = $('#slider .viewport li').size();
	
	ww = $(window).width();
	sw = snum * 940;
	
	if ((snum % 2) == 0) ml = ((ww - sw) / 2) + 470;
	else ml = (ww - sw) / 2;
	
	$('#slider .viewport ul').css({ width: sw, marginLeft: ml });
	
	// add shadow & mask
	$('#slider').prepend('<div class="shadow"></div>');
	$('#slider').append('<div class="mask"><div class="left"></div><div class="right"></div></div>');
	
	$('#slider .mask .left, #slider .mask .right').width((ww - 940) / 2);
}

function loopSlides(){
	tmp = $('#slider .viewport li:first').html();
	
	$('#slider .viewport li:first').hide(800, function(){
		$(this).remove();
		$('#slider .viewport ul').append('<li>'+ tmp +'</li>');
	});
	
	slidertimer = window.setTimeout('loopSlides()', 6000);
}

function handleSlider(){
	// adjust
	resizeSlider();
	
	// start loop
	loopSlides();
}

/******************************************************************************************************************/
// CAROUSEL
/******************************************************************************************************************/

function handleCarousel(){
	$('.carousel .nav').hide();
	cnum = $('.carousel .viewport li').size();
	
	if (cnum > 7) {		
		$('.carousel .nav').show();
		$('.carousel .nav .left').css({ opacity: 0.2, cursor: 'default' });
		
		pages = Math.ceil(cnum / 7);
		page = 0;
		ml = 0;
		
		// next
		$('.carousel .nav .right').click(function(){
			$('.carousel .nav .left').css({ opacity: 1, cursor: 'pointer' });
			
			page++;
			
			if (page >= (pages - 1)) {
				$('.carousel .nav .right').css({ opacity: 0.2, cursor: 'default' });
				page = pages - 1;
			}
			
			ml = - (page * 855);
			$('.carousel .viewport ul').animate({ marginLeft: ml }, 500);
		});
		
		// prev
		$('.carousel .nav .left').click(function(){
			$('.carousel .nav .right').css({ opacity: 1, cursor: 'pointer' });
			
			page--;
			
			if (page <= 0) {
				$('.carousel .nav .left').css({ opacity: 0.2, cursor: 'default' });
				page = 0;
			}
			
			ml = - (page * 855);
			$('.carousel .viewport ul').animate({ marginLeft: ml }, 500);
		});
	}
}

/******************************************************************************************************************/
// TICKER
/******************************************************************************************************************/

tnum = 0;
tpages = 0;
tshow = 5;
tpage = 0;

function showItems(){
	$('.ticker .viewport li').hide();
	
	tstart = tpage * tshow;
	tend = tstart + tshow;
	
	for (k = tstart; k < tend; k++ ) $('.ticker .viewport li:eq('+ k +')').fadeIn();
	
	$('.ticker .bullets li').removeClass('sel');
	$('.ticker .bullets li:eq('+ tpage +')').addClass('sel');
}

function loopItems(){
	showItems();
	
	tpage++;
	if (tpage >= tpages) tpage = 0;
	
	tickertimer = window.setTimeout('loopItems()', 6000);
}

function handleTicker(){
	tnum = $('.ticker .viewport li').size();
	
	if (tnum > tshow) {
		// setup
		$('.ticker .viewport li').hide();
		
		tpages = Math.ceil(tnum / tshow);
		
		$('.ticker').append('<div class="bullets"><ul></ul></div>');
		
		for (i = 0; i < tpages; i++) $('.ticker .bullets ul').append('<li>'+ i +'</li>');
		
		$('.ticker .bullets li:eq(0)').addClass('sel');
		
		// show items in page
		showItems();
		
		// loop items
		loopItems();
		
		// bullets click
		$('.ticker .bullets li').click(function(){
			clearTimeout(tickertimer);
			
			tpage = $('.ticker .bullets li').index(this);
			
			loopItems();
		});
		
		// over
		$('.ticker .viewport').hover(function(){
			clearTimeout(tickertimer);
		}, function(){
			tickertimer = window.setTimeout('loopItems()', 6000);
		});
	}
}

/******************************************************************************************************************/
// FILTERS
/******************************************************************************************************************/

function handleFilters(){
	
	$('.filters a').click(function(){
		
		if (!$(this).hasClass('sel')){
			myfilter = $(this).attr('class');
			
			if (myfilter == 'all') $('.filtered li').show(300);
			else {
				$('.filtered li').hide(300);
				$('.filtered .' + myfilter).show(300);
			}
			
			if( $('#frm-booking-cumulativo').size() > 0 ){
				if( myfilter == 'all' )
					$('#frm-booking-cumulativo select[id="tipo_struttura"]').val('all');
				if( myfilter == 'hotel' )
					$('#frm-booking-cumulativo select[id="tipo_struttura"]').val('hotel');
				if( myfilter == 'villaggio' )
					$('#frm-booking-cumulativo select[id="tipo_struttura"]').val('villaggio');
				if( myfilter == 'residence' )
					$('#frm-booking-cumulativo select[id="tipo_struttura"]').val('residence');
				if( myfilter == 'appartamento' )
					$('#frm-booking-cumulativo select[id="tipo_struttura"]').val('appartamento');
			}
			
			$('.filters a').removeClass('sel');
			$(this).addClass('sel');
			
			mypos = $(this).position();
			$(window).scrollTop(mypos.top);
		}
		
		return false;
	});
}

/******************************************************************************************************************/
// TOOLTIPS
/******************************************************************************************************************/

function handleTips(){
	$('.tip li img').hover(function(){
		txt = $(this).attr('alt');
		pos = $(this).position();
		$(this).parents('li').append('<div class="tooltip">'+ txt +'</div>');
		
		ml =  ($('.tooltip').width() - 41) / 2; 
		
		$('.tooltip').css({ opacity: 0.9 });
		//$('.tooltip').css({ marginLeft: '-'+ml+'px', opacity: 0.9 });
	}, function(){
		$('.tooltip').remove();
	});
}

/******************************************************************************************************************/
// INVIA RICHIESTA
/******************************************************************************************************************/

function sendRequest(){
    $('.frm-booking-ajax').submit(function(){
            if( $('.msg_send').size() > 0 ){
                $('.msg_send').slideUp();
                $('.msg_send').remove();
            }

            $("#frm-booking .frm-wrap :last").after( '<div class="frm-wrap msg_send" style="display:none;"><br/><strong>... inviando la richiesta ...</strong></div>' );
            $('.msg_send').slideDown();
            
            var url = $(this).attr('action');
            
            var id_struttura = $('#frm-booking input[name="id_struttura"]').val();
            var arrivo = $('#frm-booking input[name="arrivo"]').val();
            var partenza = $('#frm-booking input[name="partenza"]').val();
            var nome_cognome = $('#frm-booking input[name="nome_cognome"]').val();
            var adulti = $('#frm-booking input[name="adulti"]').val();
            var bambini = $('#frm-booking input[name="bambini"]').val();
            var email = $('#frm-booking input[name="email"]').val();
            var msg = $('#frm-booking textarea[name="msg"]').val();
            var telefono = $('#frm-booking input[name="telefono"]').val();

            $.ajax({
                type: 'POST',
                url: url,
                data: 'id_struttura='+id_struttura+'&arrivo='+arrivo+'&partenza='+partenza+'&nome_cognome='+nome_cognome+'&adulti='+adulti+'&bambini='+bambini+'&email='+email+'&telefono='+telefono+'&msg='+msg,
                success: function( html ) {
                    $('.msg_send').slideUp();
                    $('.msg_send').remove();
                    
                    $('#frm-booking input[name="id_struttura"]').val('');
		            $('#frm-booking input[name="arrivo"]').val('');
		            $('#frm-booking input[name="partenza"]').val('');
		            $('#frm-booking input[name="nome_cognome"]').val('');
		            $('#frm-booking input[name="adulti"]').val('');
		            $('#frm-booking input[name="bambini"]').val('');
		            $('#frm-booking input[name="email"]').val('');
		            $('#frm-booking textarea[name="msg"]').val('');
		            $('#frm-booking input[name="telefono"]').val('');
            
                    $("#frm-booking .frm-wrap :last").after( '<div class="frm-wrap msg_send" style="display:none;"><br/><strong>'+html+'</strong></div>' );
                    $('.msg_send').slideDown();
                }
            });
        return false;
    });
}


function sendRequestMultiple(){
    $('#frm-booking-cumulativo').submit(function(){
            if( $('.msg_send').size() > 0 ){
                $('.msg_send').slideUp();
                $('.msg_send').remove();
            }

            $("#frm-booking-cumulativo .frm-wrap :last").after( '<div class="frm-wrap msg_send" style="display:none;"><br/><strong>... inviando la richiesta ...</strong></div>' );
            $('.msg_send').slideDown();
            
            var url = $(this).attr('action');
            var tipo_struttura = $('#frm-booking-cumulativo select[id="tipo_struttura"]').val();
            var arrivo = $('#frm-booking-cumulativo input[name="arrivo"]').val();
            var partenza = $('#frm-booking-cumulativo input[name="partenza"]').val();
            var nome_cognome = $('#frm-booking-cumulativo input[name="nome_cognome"]').val();
            var adulti = $('#frm-booking-cumulativo input[name="adulti"]').val();
            var bambini = $('#frm-booking-cumulativo input[name="bambini"]').val();
            var email = $('#frm-booking-cumulativo input[name="email"]').val();
            var msg = $('#frm-booking-cumulativo textarea[name="msg"]').val();
            var telefono = $('#frm-booking-cumulativo input[name="telefono"]').val();

            $.ajax({
                type: 'POST',
                url: url,
                data: 'tipo_struttura='+tipo_struttura+'&arrivo='+arrivo+'&partenza='+partenza+'&nome_cognome='+nome_cognome+'&adulti='+adulti+'&bambini='+bambini+'&email='+email+'&telefono='+telefono+'&msg='+msg,
                success: function( html ) {
                    $('.msg_send').slideUp();
                    $('.msg_send').remove();
                    
                    
                    $('#frm-booking-cumulativo input[name="tipo_struttura"]').val('all');
                    
		            $('#frm-booking-cumulativo input[name="arrivo"]').val('');
		            $('#frm-booking-cumulativo input[name="partenza"]').val('');
		            $('#frm-booking-cumulativo input[name="nome_cognome"]').val('');
		            $('#frm-booking-cumulativo input[name="adulti"]').val('');
		            $('#frm-booking-cumulativo input[name="bambini"]').val('');
		            $('#frm-booking-cumulativo input[name="email"]').val('');
		            $('#frm-booking-cumulativo textarea[name="msg"]').val('');
		            $('#frm-booking-cumulativo input[name="telefono"]').val('');
		            
                    $("#frm-booking-cumulativo .frm-wrap :last").after( '<div class="frm-wrap msg_send" style="display:none;"><br/><strong>'+html+'</strong></div>' );
                    $('.msg_send').slideDown();
                }
            });
        return false;
    });
}


/******************************************************************************************************************/
// OPEN URL LUOGHI ON-CLICK
/******************************************************************************************************************/

function openPuntoInteresse( url ){
    window.location=url;
}


/******************************************************************************************************************/
// on load...
/******************************************************************************************************************/

$(function(){
	// settings
	startupSetting();
	
	// slider
	handleSlider();
	
	// structures carousel
	handleCarousel();
	
	// ticker
	handleTicker();
	
	// filters
	handleFilters();
	
	// tips
	handleTips();

	// sendRequest
	sendRequest();
	sendRequestMultiple();
	
	$(window).resize(function(){ resizeSlider(); });
});
