$(document).ready(function() {
    
    //menu principale
    $("#nav").treeview({
            animated: "fast",
            collapsed: true,
            unique: true,
            persist: "location",
            toggle: function() {
                            window.console && console.log("%o was toggled", this);
            }
    });

    //mostra-nascondi immagine sotto menu
    $("#nav > li").click(function () {

        $("#nav > li.single-list a").css({backgroundPosition: "0 0"});

        if ($("#nav > li").is(".collapsable")) {
                $("img.images-object").animate({opacity: "hide"}, "fast");
        } else {
                $("img.images-object").animate({opacity: "show"}, "fast");
        }
    });

    //chiudo le voci di menu aperte su click delle voci di menu singole
    $("#nav > li.single-list span > a").click(function () {
        if ($("#nav > li").is(".collapsable")) {
                $('#nav > li.collapsable ul').slideUp('fast', function() {

                        //mostro nuovamente l'immagine cancellata
                        $("img.images-object").animate({opacity: "show"}, "fast");
                });
                $("#nav > li").removeClass("collapsable").addClass("expandable");
                $("#nav > li ul > li").removeClass("collapsable").addClass("expandable");
        }
        if ($("#nav > li.single-list a").css({backgroundPosition: "0 0"})) {
                $(this).css({backgroundPosition: "0 -42px"});
        } else {
                $(this).css({backgroundPosition: "0 0"});
        }
    });

    //url rewrite
    $('#nav li a').click(function(){
        var $url = $(this).attr("name");
        window.location.hash = "#" + $url;
    });
    
    // news
    var moving = 109; //spostamento news
    var speed = 350;
	
    //slitto la prima news al centro
    $('#news-content div.news:first').before($('#news-content div.news:last'));
    $('#news-content div.news:first').before($('#news-content div.news:last'));
    $('#news-content div.news:first').before($('#news-content div.news:last'));
	
    //ridimensiono le news in scala
    $('#news-content div.news').css({
        fontSize: "59%"
    });
    $('#news-content div.news').eq(2).css({
        fontSize: "80%"
    });
    $('#news-content div.news').eq(3).css({
        fontSize: "100%"
    });
    $('#news-content div.news').eq(4).css({
        fontSize: "80%"
    });
	
    //click tasto destro
    $('#next').click(function () {
        if ($("#news-content div.news").is(":animated")) {//non fare niente
        } else {
            $('#news-content div.news').eq(1).animate({
                'fontSize': '59%', 
                'right': moving
            }, speed);
            $('#news-content div.news').eq(2).animate({
                'fontSize': '59%', 
                'right': moving
            }, speed);
            $('#news-content div.news').eq(3).animate({
                'fontSize': '80%', 
                'right': moving
            }, speed);
            $('#news-content div.news').eq(4).animate({
                'fontSize': '100%', 
                'right': moving
            }, speed);
            $('#news-content div.news').eq(5).animate({
                'fontSize': '80%', 
                'right': moving
            }, speed);
            $('#news-content div.news').eq(6).animate({
                'fontSize': '59%', 
                'right': moving
            }, speed);
            $('#news-content div.news').eq(6).animate({
                'fontSize': '59%', 
                'right': moving
            }, speed, function(){
                $('#news-content div.news:last').after($('#news-content div.news:first'));
                $('#news-content #news-group').css({
                    'left': '-105.5px'
                });
                $('#news-content div.news').css({
                    'right': ''
                });
            });
        };
    });
	
    //click tasto sinistro
    $('#prev').click(function () {
        if ($("#news-content div.news").is(":animated")) {	//non fare niente
        } else {
            $('#news-content div.news').eq(0).animate({
                'fontSize': '59%', 
                'left': moving
            }, speed);
            $('#news-content div.news').eq(1).animate({
                'fontSize': '80%', 
                'left': moving
            }, speed);
            $('#news-content div.news').eq(2).animate({
                'fontSize': '100%', 
                'left': moving
            }, speed);
            $('#news-content div.news').eq(3).animate({
                'fontSize': '80%', 
                'left': moving
            }, speed);
            $('#news-content div.news').eq(4).animate({
                'fontSize': '59%', 
                'left': moving
            }, speed);
            $('#news-content div.news').eq(5).animate({
                'fontSize': '59%', 
                'left': moving
            }, speed, function(){
                $('#news-content div.news:first').before($('#news-content div.news:last'));
                $('#news-content #news-group').css({
                    'left': '-105px'
                });
                $('#news-content div.news').css({
                    'left': ''
                });
            });
        };
    });
	
    //mostra-nascondi immagine sotto menu
    $("#nav > li").click(function () {
        if ($("#nav > li").is(".collapsable")) {
            $("img.images-object").animate({
                opacity: "hide"
            }, "fast");
        } else {
            $("img.images-object").animate({
                opacity: "show"
            }, "fast");
        }
    });
	
});

function slideSwitch() {
    var $active = $('#slideshow IMG.active');

    if ( $active.length == 0 ) $active = $('#slideshow IMG:last');

    // use this to pull the images in the order they appear in the markup
    var $next =  $active.next().length ? $active.next()
    : $('#slideshow IMG:first');

    $active.addClass('last-active');

    $next.css({
        opacity: 0.0
    })
    .addClass('active')
    .animate({
        opacity: 1.0
    }, 1000, function() {
        $active.removeClass('active last-active');
    });
}

$(function() {
    setInterval( "slideSwitch()", 5000 );
});

//gestione popup
$(document).ready(function(){  
    $('#overlay').fadeIn();
    $('#popup').fadeIn();
    $('#popup a').click(function(){
        $('#popup').fadeOut();
        $('#overlay').fadeOut();
    });
});

//gestione form
// onsubmit="return validaConsenso(this)"
function validaConsenso(mod){
    if (document.modulo.privacy[1].checked){
      alert("Attenzione: per inviare il modulo di richiesta informazioni devi accettare l'informativa sulla privacy.");
      return false;
    }
}
(function() {
  var loader = new YAHOO.util.YUILoader({
      base: "",
      require: ["utilities"],
      loadOptional: false,
      combine: true,
      filter: "MIN",
      allowRollup: true,
      onSuccess: function() {

        /*--------------------------------------------------------------------
        init code form validation
        --------------------------------------------------------------------*/
        var f = new FormValidator('form_reservation', {
            nome: {
              validator: FormValidator.validateLength, params: { minLength : 1, maxLength : 15}
            },
            cognome: {
              validator: FormValidator.validateLength, params: { minLength : 1, maxLength : 25}
            },
            telefono: {
              validator: FormValidator.validateInt
            },
            // validatore composto con un array
            email: [
              { validator: FormValidator.validateEmail }
              ,{ validator: FormValidator.validateLength, params: { minLength : 1, maxLength : 50} }
            ],
            messaggio: {
              validator: FormValidator.validateNonEmpty, params: { }
            },
            privacy: {
              validator: FormValidator.validateBoolean, params: { }
            }

        });
        f.setAJAXsubmit('/reservation.php', null, function(o) {

            YAHOO.util.Dom.setStyle('form_reservation_content', 'display', 'none' );

            document.getElementById('form-response').innerHTML =
            o.responseText
            + " <a href=\"javascript:reset_reservation();\">Effettua una nuova prenotazione</a>"
            ;
        });
        f.listenChange(['privacy','reset']);
        f.init();

        window.reset_reservation = function(){
          YAHOO.util.Dom.setStyle('form_reservation_content', 'display', 'block' );
          document.getElementById('form-response').innerHTML = '';
          document.getElementById('form_reservation')['messaggio'].value = '';
          f.onKeyStrokeEnable();
        };


      }
  });

loader.insert();
})();

//inserisco l'iframe di google maps successivamente
//per velocizzare l'apertura del sito alla prima visita
$('a.contatti').click(function(){
    $('#google-maps').html('<iframe width="468" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.it/maps?f=q&amp;source=s_q&amp;hl=it&amp;geocode=&amp;q=Poliambulatorio+Xray+One+Srl,+Via+Andrea+Mantegna,+Poggio+Rusco&amp;aq=0&amp;sll=41.442726,12.392578&amp;sspn=22.760402,43.110352&amp;vpsrc=6&amp;ie=UTF8&amp;hq=Poliambulatorio+Xray+One+Srl,&amp;hnear=Via+Andrea+Mantegna,+46025+Poggio+Rusco+Mantova,+Lombardia&amp;cid=13781699279033364981&amp;ll=44.983196,11.133013&amp;spn=0.021248,0.040169&amp;z=14&amp;iwloc=A&amp;output=embed"></iframe>');
});
