﻿//*** castoldi
$.log = function() {	/*** Funzione per la scrittura sulla console di FF - su ie6 pianta tutto - metto controllo***/
    if ($.browser.mozilla) {
        var consoleExists = (typeof (console) == "object") && (typeof (console.log) == "function");
        if (consoleExists) {
            if (navigator.userAgent.toLowerCase().indexOf("applewebkit") != -1) {
                console.log(arguments);
            } else {
                console.log.apply(this, arguments);
            }
        }
    }
}

var divLegenda;
var sRootPath= sRootPath != undefined ? sRootPath : ""
var langXml= langXml != undefined ? langXml : ""

function slideGallery(gallery, lengthPic) {
    $.log(lengthPic);
    var images = gallery.find("img");
    var curImage = null;
    var arrowLeft = null;
    var arrowRight = null;
    //alert(images.parent().html());//parseInt(images.eq(0).width()));
    var singleImageWidth = lengthPic; //parseInt(images.eq(0).width())+parseInt(images.eq(0).parent().parent().css("margin-right"));
    var lengthGal = images.length * singleImageWidth;
    var galContainer = gallery.find("ul");
    var lengthContainer = parseInt(gallery.find(".slide-gallery-container").width());
    var imagePerWindow = lengthContainer / parseInt(singleImageWidth);
    // alert(imagePerWindow);

    //*** se il numero di immagini è inferiore al numero di foto visualizzabili nella gallery, 
    //*** non ha senso gestire la gallery stessa
    arrowLeft = gallery.find("a.slide-left");
    arrowRight = gallery.find("a.slide-right");
    // alert(gallery.attr("id")+'--'+images.length+'--lengthContainer='+lengthContainer+'--singleImageWidth='+singleImageWidth+"--imagePerWindow="+imagePerWindow);
    //alert("ciao");
    if (isNaN(imagePerWindow)) imagePerWindow=0;
    $.log(images.length+'--'+imagePerWindow);
    if (images.length > imagePerWindow) {
        var codaClick=new Array();
        var clickOn=false;
        var init = function() {
            if (images.length > 0) {
                if (images.length > 1) {
                    arrowRight.addClass("arrowRight-over");
                    arrowLeft.click(
                        function() {
                            if (!arrowLeft.hasClass("slide-left-off")) 
                            {
                                if (!clickOn)
                                {
                                    clickOn=true;
                                    scrollGallery("left");
                                }
                                else codaClick.push("left");
                            }
                            else clickOn=false;
                            return false;
                        }
                    );
                    arrowRight.click(
                        function() {
                            if (!arrowRight.hasClass("slide-right-off")) 
                            {
                                if (!clickOn)
                                {
                                    clickOn=true;
                                    scrollGallery("right");
                                }
                                else codaClick.push("right");
                            }
                            else clickOn=false;
                            return false;
                        }
                    );
                }
            }
        }
        
        var scrollGallery=function(direction)
        {
            switch(direction)
            {
                case "left":
                    if (parseInt(galContainer.css("left")) < 0) {
                       // $.log("a sx");
                        arrowRight.removeClass("slide-right-off");
                        galContainer.animate(
                            { "left": parseInt(galContainer.css("left")) + singleImageWidth},
                                function()
                                {
                                    if (codaClick.length>0) scrollGallery(codaClick.shift());
                                    else clickOn=false;
                               }
                        );
                    }
                    if (parseInt(galContainer.css("left")) >= 0) { arrowLeft.addClass("slide-left-off"); clickOn=false; codaClick=new Array();}
                break;
                case "right":
                       // $.log("a dx");
                   //$.log(lengthGal+'--'+parseInt(galContainer.css("left"))+'--'+lengthContainer);
                    if (lengthGal > (-parseInt(galContainer.css("left")) + lengthContainer)) {
                        arrowLeft.removeClass("slide-left-off");
                        galContainer.animate({ "left": parseInt(galContainer.css("left")) - singleImageWidth},
                                function()
                                {
                                    if (codaClick.length>0) scrollGallery(codaClick.shift());
                                    else clickOn=false;
                               } 
                        );
                    }
                    else {arrowRight.addClass("slide-right-off");clickOn=false; codaClick=new Array();}
                break;
            }
        }

//        var toLeft = function() {
//        }
//        var toRight = function() {
//        }
        
        init();
    }
    else {
        arrowLeft.addClass("slide-left-off");
        arrowRight.addClass("slide-right-off");
        arrowLeft.click(
            function() {
                return false;
            }
        );
        arrowRight.click(
            function() {
                return false;
            }
        );
    }
}  //*** fine slideGallery

function setGallery(obj)
{
    $(obj).fancybox({
        'transitionIn': 'elastic',
        'transitionOut': 'elastic',
        'titlePosition': 'over',
        'titleFormat': function(title, currentArray, currentIndex, currentOpts) {
            return '<span id="fancybox-title-over">Image ' + (currentIndex + 1) + ' / ' + currentArray.length + '</span>';
        }
    });
}

//**************************************************************************//
//*************************** GALLERY OBJECT *******************************//
//**************************************************************************//

    var gallery={
        obj:null,
        images:null,
        galleryContainer:$("<div class='gallery-container'></div>"),
        imgCurr:null,
        imgShadow:null,
        thumbs:$("<div class='thumbs'></div>"),
        thumbsContainer:$("<div class='thumbs-container'></div>"),
        toLeft:$("<a href='#' class='left off'></a>"),
        toRight:$("<a href='#' class='right'></a>"),
        marginLeft:0,//*** margin-left of ul.gallery
        numLi:0,
        liFirst:null,
        offsetScroll:null,
        codaClick:new Array(),
        clickOn:false,
        init:function()
        {

            gallery.obj=$("ul.gallery");//*** la galleria è dapprima invisibile(deve caricare le varie thumbnails, verrebbe uno scroll brutto)
            gallery.images=gallery.obj.find("img");//*** mi serve in diversi posti images, quindi l'if appena sotto non lo metterò nell'if sopra
            
            gallery.obj.wrap(gallery.galleryContainer);
            gallery.galleryContainer=gallery.obj.parent();
            //var galleryContainer=gallery.parent();
            gallery.imgCurr=$("<img class='current' src='"+gallery.images.eq(0).parent().attr("href")+"' alt='"+gallery.images.eq(0).attr("alt")+"' />");
            gallery.imgShadow=$("<img class='shadow' src='"+gallery.images.eq(1).parent().attr("href")+"' alt='"+gallery.images.eq(1).attr("alt")+"' />");

            gallery.obj.before(gallery.imgCurr).before(gallery.imgShadow);
            
            
            gallery.obj.wrap(gallery.thumbsContainer);
            gallery.thumbsContainer=gallery.obj.parent();/*** non mi piace, ma col wrap si perde l'oggetto...mah***/
            gallery.obj.wrap(gallery.thumbs);
            gallery.thumbs=gallery.obj.parent();/*** non mi piace, ma col wrap si perde l'oggetto...mah***/
            
            gallery.thumbs.before(gallery.toLeft);
            gallery.thumbs.after(gallery.toRight);

            gallery.galleryContainer.hover(
                    function()
                    {
                        $.log("sopra");
                        gallery.thumbsContainer.stop();
                        gallery.thumbsContainer.animate({"bottom":0},600);
                    },
                    function()
                    {
                        $.log("via");
                        gallery.thumbsContainer.stop();
                        gallery.thumbsContainer.animate({"bottom":-80},1200);
                    }
            );
            
            gallery.images.click(
                function()
                {
                    gallery.imgCurr=gallery.galleryContainer.find("img:visible").eq(0);
                    gallery.imgShadow=gallery.galleryContainer.find("img:hidden");
                    gallery.imgShadow.attr({"src":$(this).parent().attr("href")});
                    gallery.imgShadow.load(
                        function()
                        {
                            gallery.imgShadow.fadeIn("slow");
                            gallery.imgCurr.fadeOut("slow");
                        }
                    );
                    return false;
                }
            );
            
            gallery.liFirst=gallery.obj.find("li:first");
            gallery.offsetScroll=parseInt(gallery.liFirst.width())+parseInt(gallery.liFirst.css("border-left-width"))*2+parseInt(gallery.liFirst.css("padding-left"));
            if (gallery.offsetScroll==18) gallery.offsetScroll=86;


            gallery.numLi=gallery.obj.find("li").length;
            //$.log(gallery.find("li:first").html()+'--'+offsetScroll);
            
//            var codaClick=new Array();
//            var clickOn=false;
//            var toLeft=$(".gallery-container a.left");
//            var toRight=$(".gallery-container a.right");
            
            gallery.toLeft.click(
                function()
                {
                    if (!gallery.toLeft.hasClass("off"))
                    {
                        if (!gallery.clickOn)
                        {
                            gallery.clickOn=true;
                            gallery.scrollGallery("left")
                        }
                        else gallery.codaClick.push("left");
                    }
                    else gallery.codaClick.push("left");
                    return false;
                }
            );
            
            gallery.toRight.click(
                function()
                {
                    if (!gallery.toRight.hasClass("off"))
                    {
                        if (!gallery.clickOn)
                        {
                            gallery.clickOn=true;
                            gallery.scrollGallery("right")
                        }
                        else gallery.codaClick.push("right");
                    }
                    else gallery.codaClick.push("right");
                    return false;
                }
            );

            //$.log(gallery.offsetScroll);
            gallery.obj.show();
            
        },//*** ends of init
        scrollGallery:function(direction)
            {
                $.log(direction);
                switch(direction)
                {
                    case "left":
                        gallery.toRight.removeClass("off");
                        gallery.marginLeft=parseInt(gallery.obj.css("margin-left"));
                        $.log(gallery.marginLeft);
                        if (gallery.marginLeft<=-gallery.offsetScroll) 
                        {
                            $.log("provo a sx");
                            gallery.obj.animate({"margin-left":gallery.marginLeft+gallery.offsetScroll+"px"},
                                function()
                                {
                                    gallery.marginLeft=parseInt(gallery.obj.css("margin-left"));
                                    if (gallery.marginLeft>-gallery.offsetScroll) gallery.toLeft.addClass("off");
                                    if (gallery.codaClick.length>0) gallery.scrollGallery(gallery.codaClick.shift());
                                    else gallery.clickOn=false;
                                }
                            );
                        }
                        else 
                        {
                            gallery.toLeft.addClass("off");   
                            gallery.clickOn=false; 
                            gallery.codaClick=new Array();                     
                        }
                    break;
                    case "right":
                        gallery.toLeft.removeClass("off");
                        gallery.marginLeft=parseInt(gallery.obj.css("margin-left"));
                        if (gallery.marginLeft>=-(gallery.offsetScroll*gallery.numLi)+gallery.thumbsContainer.width()-gallery.offsetScroll) 
                        {
                            gallery.obj.animate({"margin-left":gallery.marginLeft-gallery.offsetScroll+"px"},
                                function()
                                {
                                    gallery.marginLeft=parseInt(gallery.obj.css("margin-left"));
                                    if (gallery.marginLeft<-(gallery.offsetScroll*gallery.numLi)+gallery.thumbsContainer.width()-gallery.offsetScroll) 
                                        gallery.toRight.addClass("off");
                                    if (gallery.codaClick.length>0) gallery.scrollGallery(gallery.codaClick.shift());
                                    else gallery.clickOn=false;
                                }
                            );
                        }
                        else 
                        {
                            gallery.toRight.addClass("off");
                            gallery.clickOn=false; 
                            gallery.codaClick=new Array();                     
                        }
                    break;
                }   
            }
    }
    
    
    if (gallery.length=="n")/* vecchia versione, messo test fasullo per saltarla */
    {
        var images=gallery.find("img");//*** mi serve in diversi posti images, quindi l'if appena sotto non lo metterò nell'if sopra
        if (images.length>1)
        {

            gallery.wrap($("<div class='gallery-container'></div>"));
            var galleryContainer=gallery.parent();

//                var imgCurr=$("<img class='current' src='"+images.eq(0).attr("src").replace(".","")+"'  alt='"+images.eq(0).attr("alt")+"' />");
//                var imgShadow=$("<img class='shadow' src='"+images.eq(1).attr("src").replace(".","")+"'  alt='"+images.eq(1).attr("alt")+"' />");

            var imgCurr=$("<img class='current' src='"+images.eq(0).parent().attr("href")+"'  alt='"+images.eq(0).attr("alt")+"' />");
            var imgShadow=$("<img class='shadow' src='"+images.eq(1).parent().attr("href")+"'  alt='"+images.eq(1).attr("alt")+"' />");

            gallery.before(imgCurr).before(imgShadow);
            
            gallery.wrap($("<div class='thumbs'></div>"));
            
//                gallery.before($("<div class='thumbs-container'><a href='#' class='left'></a>"+
//               "<div class='thumbs'></div><a href='#' class='right'></a></div>"));
            
            var thumbs=gallery.parent();
            thumbs.wrap("<div class='thumbs-container'></div>");
            
            thumbs.before($("<a href='#' class='left off'></a>"));
            thumbs.after($("<a href='#' class='right'></a>"));
            thumbs=thumbs.parent();
            
            galleryContainer.hover(
                function()
                {
                    thumbs.stop();
                    thumbs.animate({"bottom":0},600);
                },
                function()
                {
                    thumbs.stop();
                    thumbs.animate({"bottom":-80},1200);
                }
            );
            
            var liFirst=gallery.find("li:first");
            var offsetScroll=parseInt(liFirst.width())+parseInt(liFirst.css("border-left-width"))*2+parseInt(liFirst.css("padding-left"));
            //$.log("offset="+parseInt(gallery.find("li").width())+'--'+parseInt(gallery.find("li").css("border-left-width")));
            
            if (offsetScroll==18) offsetScroll=86;
           // $.log(offsetScroll);
            var numLi=gallery.find("li").length;
            //$.log(gallery.find("li:first").html()+'--'+offsetScroll);
            var codaClick=new Array();
            var clickOn=false;
            var toLeft=$(".gallery-container a.left");
            var toRight=$(".gallery-container a.right");
            toLeft.click(
                function()
                {
                    if (!toLeft.hasClass("off"))
                    {
                        if (!clickOn)
                        {
                            clickOn=true;
                            scrollGallery("left")
                        }
                        else codaClick.push("left");
                    }
                    else codaClick.push("left");
                    return false;
                }
            );
            
            toRight.click(
                function()
                {
                    if (!toRight.hasClass("off"))
                    {
                        if (!clickOn)
                        {
                            clickOn=true;
                            scrollGallery("right")
                        }
                        else codaClick.push("right");
                    }
                    else codaClick.push("right");
                    return false;
                }
            );
            
            
            function scrollGallery(direction)
            {
                switch(direction)
                {
                    case "left":
                        toRight.removeClass("off");
                        var marginLeft=parseInt(gallery.css("margin-left"));
                        if (marginLeft<=-offsetScroll) 
                        {
                            gallery.animate({"margin-left":marginLeft+offsetScroll+"px"},
                                function()
                                {
                                    marginLeft=parseInt(gallery.css("margin-left"));
                                    if (marginLeft>-offsetScroll) toLeft.addClass("off");
                                    if (codaClick.length>0) scrollGallery(codaClick.shift());
                                    else clickOn=false;
                                }
                            );
                        }
                        else 
                        {
                            toLeft.addClass("off");   
                            clickOn=false; 
                            codaClick=new Array();                     
                        }
                    break;
                    case "right":
                        toLeft.removeClass("off");
                        var marginLeft=parseInt(gallery.css("margin-left"));
                        if (marginLeft>=-(offsetScroll*numLi)+thumbs.width()-offsetScroll) 
                        {
                            gallery.animate({"margin-left":marginLeft-offsetScroll+"px"},
                                function()
                                {
                                     marginLeft=parseInt(gallery.css("margin-left"));
                                    if (marginLeft<-(offsetScroll*numLi)+thumbs.width()-offsetScroll) toRight.addClass("off");
                                    if (codaClick.length>0) scrollGallery(codaClick.shift());
                                    else clickOn=false;
                                }
                            );
                        }
                        else 
                        {
                            toRight.addClass("off");
                            clickOn=false; 
                            codaClick=new Array();                     
                        }
                    break;
                }   
            }
            
            images.click(
                function()
                {
                    imgCurr=galleryContainer.find("img:visible").eq(0);
                    imgShadow=galleryContainer.find("img:hidden");
                    //imgShadow.attr({"src":$(this).attr("src").replace(".","")});
                    imgShadow.attr({"src":$(this).parent().attr("href")});
                    imgShadow.load(
                        function()
                        {
                            imgShadow.fadeIn("slow");
                            imgCurr.fadeOut("slow");
                        }
                    );
                    return false;
                }
            );
            gallery.show();
            
            //alert(galleryContainer.html());
            
//                imgCurr.load(
//                    function()
//                    {
//                       gallery.show();
//                    }
//                );
        }
    }
        
//**************************************************************************//
//************************* END GALLERY OBJECT *****************************//
//**************************************************************************//

$(document).ready(
    function() {
    
        $(".application a").hover(
            function()
            {
                $(this).find("p:first").addClass("over");
            },
            function()
            {
                $(this).find("p:first").removeClass("over");
            }

        );
        
        $(".product-plus-container table td.name").removeClass("last");
        $(".product-plus-container table").each(
            function()
            {
                $(this).find("td.name:last").addClass("last");
            }
        );
        
        $(".slide ul li").removeClass("last");
        $(".slide ul").each(
            function()
            {
                $(this).find("li:last").addClass("last");
            }
        );     
        
        $(".single-news").removeClass("last");
        $(".single-news:last").addClass("last");
        
        var shipHeadRight=$("#ship-header-right a");
        if (!shipHeadRight.hasClass("zoomImg")) shipHeadRight.addClass("zoomImg"); //*** a prova di cancellazione fck
        
        if (shipHeadRight.find("img").length>0)
        {
            var img=shipHeadRight.find("img");
            if (img.length>0)
            {
                var newImg=img.clone();
                img.remove();
                shipHeadRight.parent().prepend(newImg);
            }
        }
        
        gallery.init();
        
        $("#sitemap").children("div").children("ul").find("li:last").addClass("no-mrg");
        
        /* pulizia dei tag fck */
        $(".single-news p").each(
            function()
            {
                var _this=$(this);
                if (_this.html()=="&nbsp;") _this.remove();
            }
        );
    
        if ($("#home").length>0)
        {
            $.ajax({
                type: "GET",
                url: sRootPath + 'en/XML/NEWS/data.xml',
                dataType: 'xml',
                success: function(xml) {
                    var _xml=$(xml).find("Item:first");
                    var href = sRootPath+langXml+'/newslist_'+langXml+'/newsdetail_'+langXml+'.html?page=1&DETTAGLIO='+_xml.attr("uid");

                    _xml=_xml.find("text textblock");
                    var firstLi=$("ul#evidence li:first");
                    firstLi.find("p").html(_xml.text().substr(0,60));   
                    
                    firstLi.find("a").attr({"href":href});
                    
                    //$.log("path enter="+sRootPath+langXml+'/newslist_'+langXml+'/newsdetail_'+langXml+'.html');
                    //html = html + '<h4><a href="' + pathEnter + '?page=' + page + '&DETTAGLIO=' + id + '">'+titolo+'</a></h4>';

                },
                error: function(msg){
                }
            });

        }
        
        var menuColumList=$("#menu-column ul.playlist");
        
        if (menuColumList.find("li.button").length>0)
        {
            menuColumList.find("li.button:first").addClass("with-margin");
            var last=menuColumList.find("li.button:last");
            if (last.find("ul").length!=0)
            { 
                last.addClass("with-bottom-short");
                last.find("ul li:last").addClass("last");    
            }
            else last.addClass("with-bottom");
        }
        else menuColumList.find("li:last").addClass("last");    
        
        var listDoc=$("#listDoc");
        if (listDoc.length>0)
        {
            var mecDraws=listDoc.find("li img");
            //$.log(mecDraws.length);
            mecDraws.each(
                function()
                {
                    var _this=$(this);
                    if (_this.attr("src").indexOf("gallery-tech.gif")!=-1)
                    _this.next().attr({"rel":"galMecha"});   
                }
            );
        }
        
        $("a.ship img").each(
            function()
            {
                var _this=$(this);
                _this.after("<p>"+_this.attr("alt").replace("Castoldi ","")+"</p>");
            }
        );
        
//$("#slide-gallery img").each
//        
//        #coupling im
        
        divLegenda = $("#legenda");
        
        divLegenda.find("ul li input").click(
            function()
            {
                //$.log($(this).attr("checked"));
                //markers.zoom=5;
                markers.createMap();
                markers.markSize(new GSize(36, 36));

                FilterMap();
            }
        );


        //alert("");
        var galleryPics = $(".slideGallery");//$("#gallery-pics");
        //$.log(galleryPics.length);
        galleryPics.each(
            function()
            {
                var _this=$(this);
                var index=galleryPics.index(_this);
                if (_this.length > 0) 
                {
                    _this.wrap('<div id="gallery-pics" class="slide-gallery"></div>').wrap('<div id="gallery-pics" class="slide-gallery-container"></div>');
                    
                    galleryContainer=_this.parent().parent();
                    galleryContainer.prepend('<a href="#" class="slide-left slide-left-off"></a>');
                    
                    var images=_this.find("li img");
                    images.show();
                    //alert(images.length);
                    images.each(
                        function()
                        {
                            $(this).parent().addClass("galpic").attr({"rel":"galpic"+index});
                        }
                    );
                   
                    if (images.length>3) galleryContainer.append('<a href="#" class="slide-right"></a>');
                    else  galleryContainer.append('<a href="#" class="slide-right slide-left-off"></a>');
                  
                    var liPic=_this.find("li:first");

                    slideGallery(galleryContainer, parseInt(liPic.width())+parseInt(liPic.css("margin-right"))+parseInt(liPic.css("margin-left")));
                    
                    //setGallery("#gallery-pics ul li a[rel=galpic"+index+"]");
                    setGallery(_this.find("li a[rel=galpic"+index+"]"));
                    //$.log($("#gallery-pics ul li a[rel=galpic]").length);
                }   
        });
        setGallery("ul li a[rel=galMecha]");
        setGallery("a.zoomImg");
        
        
        var coupling=$("#coupling");
        if (coupling.length>0)
        {
            var images=coupling.find("table tr td img");
//            images.each(
//                function()
//                {
//                    $(this).attr({"rel":"galslide"});
//                }
//            );    
            images.each(
                function()
                {
                    _this=$(this);
                    var src=new Array();
                    src=_this.attr("src").split("/");//splitto il path del file
                    var file=src.pop();//becco il nome e poi rifondo il path intero con il "." davanti al nomefile
                    //_this.attr({"src":src.join("/")+"/."+file});                      
                  // _this.load(function(){_this.show(); });
                    _this.show();
                   // _this.wrap('<a href="'+src.join("/")+"/"+file+'" rel="galslide"></a>');
                    
                    _this.parent().attr({"rel":"galslide"});
                    
                }
            );
            
            setGallery("#coupling a[rel=galslide]");
            
        }

        var picShips = $("ul#picShips li a");
        if (picShips.length > 0)
            picShips.hover(
            function() {
                // if($.browser.msie && $.browser.version=="6.0"){$(this).addClass("hover");}
                // ulShips.eq(picShips.index($(this))).addClass("hover");
                $(this).find("span").addClass("hover");
            },
            function() {
                //if($.browser.msie && $.browser.version=="6.0"){$(this).removeClass("hover");}
                //ulShips.eq(picShips.index($(this))).removeClass("hover");
                $(this).find("span").removeClass("hover");
            }
        );
        
        $("a.button-back").hover(
            function()
            {
                $(this).find("p").toggleClass("hover");
            },
            function()
            {
                 $(this).find("p").toggleClass("hover");
            }

        );
        
//        var pToCut=$("div.cut");
//        if (pToCut.length>0)
//        {
//        
//            function delEmptyP(obj)//funzione ciricaua per levare i p fasulli messi su da fckeditor
//            {
//                var html=obj.html().toString();
//                var i=0;
//                while ((html.substr(i,1)==" " || html.substr(i,1).charCodeAt(0)==10) && i<html.length)
//                {
//                    i++;    
//                }
//                if (i==html.length) obj.remove();
//            }
//            
//            pToCut=pToCut.find("p");
//            pToCut.each( //levo dalle news con cut tutti i p vuoti che mette su FCKEditor
//                function()
//                {
//                    if ($(this).html()=="") $(this).remove();
//                    else delEmptyP($(this));
//                }
//            );
//            pToCut=$("div.cut p");
//            pToCut.each(
//                function()
//                {
//                    _this=$(this);
//                    if (!_this.parent().hasClass("button"))
//                    _this.html(_this.html().substr(0,360)+"<a href='"+_this.prev("h4").find("a").attr("href")+"'>(...)</a>");
//                }
//            );
//        }

        var tabs = $("#tabs");
        /*DA FARE: per (..) circa 360 caratteri */
        if (tabs.length > 0) {
            var tabsContainer = tabs.next("div#tabs-container").find("div.first");
            tabLi = tabs.find("li");
            tabLi.click(
                function() {
                    var _this = $(this);
                    tabLi.addClass("off");
                    _this.removeClass("off");
                    tabsContainer.addClass("off");
                    tabsContainer.eq(tabLi.index(_this)).removeClass("off");
                }
            );
        }

        var cerca = $("#cerca");
        var doSearch = $("#doSearch");
        if (doSearch.length > 0) {
            doSearch.click(
                function() {
                   if (cerca.val() != "") markers.setPositionMarker(cerca.val());
                    return false;
                }
            );
        }

        cerca.keyup(
            function(e) {
                if (e.keyCode == '13') markers.setPositionMarker(cerca.val());
            }
        );

        var markers = {
            classCssContainer: "custom_info_window_bubble",
            gmarkers: [],
            map: null,
            marker: null,
            name: "",
            html: "",
            point: null,
            zoom: 2,
            createMap: function() {
                //*** non settare il marker nella sua dichiarazione appena qui sopra. Si può farlo solo
                //*** se si è sicuri che questo script venga eseguito sempre e solo in pagine aventi la gmap, sennò da' 
                //*** errore. ovvero: marker:new GIcon(G_DEFAULT_ICON) e non marker:null.
                //*** Oppure, ovviare importando sull'head di ogni pagina gli script di google.
                markers.marker = new GIcon(G_DEFAULT_ICON);
                markers.map = new GMap2(document.getElementById("google-map"));
                markers.map.addControl(new GLargeMapControl());
                markers.map.addControl(new GMapTypeControl());
                markers.map.enableDoubleClickZoom();
            },
            createMarker: function(markerImage) {
                var icona = new GIcon(G_DEFAULT_ICON);
                if (markerImage != null) icona.image = markerImage;
                else icona.image = markers.marker;
                icona.iconSize = markers.marker.iconSize;
                var markerLoc = new GMarker(markers.point, { icon: icona });
                var html = markers.html;
                //*** passare markers.html non va bene, perché, ad ogni click passa l'ultimo html impostato(per chiamata asincrona).
                //*** Meglio quindi istanziare di volta in volta la variabile;
                GEvent.addListener(markerLoc, "click", function() {
                    markerLoc.openExtInfoWindow(markers.map, markers.classCssContainer, html, { beakOffset: 0, paddingX: 0, paddingY: 0 })
                });
                markers.addMarker(markerLoc);
            },
            createMarkerFromAddress: function(address, html, markerImage) {
                var geocoder = new GClientGeocoder();
                geocoder.getLatLng(address, function(coordinate) {
                    var marker = new GMarker(coordinate);
                    var lat = marker.getLatLng().lat();
                    var lon = marker.getLatLng().lng();
                    markers.setPoint(new GLatLng(lat, lon));
                    var icona = new GIcon(G_DEFAULT_ICON);
                    if (markerImage != null) icona.image = markerImage;
                    else icona.image = markers.marker;
                    icona.iconSize = markers.marker.iconSize;

                    marker = new GMarker(markers.point, { icon: icona });
                    //$.log(markers.point);
                    //*** passare markers.html non va bene, perché, ad ogni click passa l'ultimo html impostato(forse per chiamata asincrona).
                    //*** Meglio quindi istanziare di volta in volta la variabile;
                    GEvent.addListener(marker, "click", function() {
                        marker.openExtInfoWindow(markers.map, markers.classCssContainer, html, { beakOffset: 0, paddingX: 0, paddingY: 0 })
                    });
                    markers.clearMarkers();
                    FilterMap();
                    markers.addMarker(marker);
                    markers.addMarkersToMap();
                    //marker.openInfoWindowHtml('<br>Indirizzo richiesto: '+indiniz+' <br><br> Coordinate: ['+lat+','+lon+']<p>');
                });
            },
            addMarker: function(marker) {
                markers.gmarkers.push(marker);
            },
            clearMarkers: function(){
                markers.gmarkers=[];
                markers.map.clearOverlays();
            },
            setPositionMarker: function(address) {
                var geocoder = new GClientGeocoder();
                geocoder.getLatLng(address, function(coordinate) {
                    var mark = new GMarker(coordinate);
                    var lat = mark.getLatLng().lat();
                    var lon = mark.getLatLng().lng();
                    markers.map.setCenter(new GLatLng(lat, lon), this.zoom);
                    markers.addMarker(mark);
                    markers.addMarkersToMap();
                });
            },
            setHtml: function(html) {
                markers.html = html;
            },
            markImage: function(markImage) {
                markers.marker.image = markImage; //.markerImage=markImage;
            },
            markSize: function(markSize) {
                markers.marker.iconSize = markSize;
            },
            setPoint: function(point) {
                markers.point = point;
            },
            addMarkersToMap: function() {
                var mm = new GMarkerManager(markers.map, { borderPadding: 1 });
                mm.addMarkers(markers.gmarkers, markers.zoom);
                mm.refresh();
            },
            traceRoute: function(from, to) {
                var directionsPanel;
                var directions;
                directionsPanel = document.getElementById("pathOverMap");
                directions = new GDirections(markers.map, directionsPanel);
                directions.load("from: " + from + " to: " + to);
            }
        }

        if ($("#google-map").length > 0)  //getMarkers();
        {
            loadMap();
            var paragBalloon = $(".parag-balloon");

            paragBalloon.find("a").live("click",
                function() {
                    var _this = $(this);
                    var indice = paragBalloon.index(_this);
                    var parent = _this.parent();
                    parent.siblings("p.address").toggleClass("hidden");
                    parent.siblings("input.address").toggleClass("hidden");
                    //$.log($(this).attr("class")); 
                    return false;
                }
            );

            paragBalloon.find(".button-blue span").live("click",
                function() {
                    var _this = $(this);
                    var inputs = _this.parent().siblings("input");

                    if ((inputs.eq(0).val() != "") && (inputs.eq(1).val() != "")) {
                        markers.traceRoute(inputs.eq(0).val(), inputs.eq(1).val());
                    }
                    else alert("Scrivere gli indirizzi di partenza e arrivo");
                }
            );
        }
    
function parseBool(value)
{
    return value.toString().toLowerCase()=="true";
}
        
function FilterMap()
{
    markers.clearMarkers();
    var storeFilter = new Array();
    if ($("#legenda").find("ul li input.castoldi").attr("checked")==true) storeFilter.push("H");
    if ($("#legenda").find("ul li input.service").attr("checked")==true)  storeFilter.push("S");
    if ($("#legenda").find("ul li input.dealer").attr("checked")==true) storeFilter.push("D");
    if ($("#legenda").find("ul li input.delServ").attr("checked")==true) storeFilter.push("DS");
    //$.log(sRootPath);
    $.ajax({
        type: "GET",
        url: sRootPath +langXml+ '/XML/store/store.xml',
        //url: sRootPath + 'www.castoldijet.it/data/store/store.xml',
        dataType: 'xml',
        success: function(xml) {
            var _xml = $(xml).find("Item");
            _xml.each(
		        function() {
		            var _this = $(this);
		            //$.log("marker"+markers.gmarkers.length);
		            markers.setHtml(_this.find("textblock").text());
		            var coords = _this.find("coord");
                    if (coords.attr("lat")!=undefined && coords.attr("lat")!=null)
                    {
		                var markerImage;//=sRootPath + 'www.castoldijet.it/img/googleMap/mark-s.png';
                        /* da ottimizzare */
                        
                        var markView=false;
                        for (var i=0; i<storeFilter.length; i++)  //in storeFilter)
                        {
                            var check=_this.find("tipologia").find("item[id='"+(storeFilter[i]+storeFilter[i])+"']");
                            if (check.length>0)
                            {
                                if (parseBool(check.attr("checked"))) 
                                {
                                    markView=true;
                                    markerImage=sRootPath + 'www.castoldijet.it/img/googleMap/mark-'+storeFilter[i].toString().toLowerCase()+'.png';  
                                }
                            }
                        }
                        if (markView)
                        {
		                    markers.setPoint(new GLatLng(coords.attr("lat"), coords.attr("long")));
		                    markers.createMarker(markerImage);
		                }
		            }
		        }
			);
            var coords = $(xml).find("Item[id='Castoldi S.p.A']").find("coord");
            //$.log(coords.length);
            if (coords.length==0) coords=$(xml).find("Item:first").find("coord");
            markers.map.setCenter(new GLatLng(coords.attr("lat"), coords.attr("long")), markers.zoom, G_SATELLITE_MAP);
            markers.addMarkersToMap();
        },
        complete: function() {
            var paragBalloon = $(".parag-balloon");

            var fromTo = paragBalloon.find("p.subtitle a");
            //if (!fromTo.eq(0).hasClass("current")) fromTo.eq(0).addClass("current"); /* ho dimenticato di metterlo nel template e ora si potrebbe perdere tempo */
            fromTo.live("click",
                function() {
                    var _this = $(this);
                    _this.addClass("current");
                    _this.siblings().removeClass("current");
                    var parent = _this.parent();
                    parent.siblings("p.address").toggleClass("hidden");
                    parent.siblings("input.address").toggleClass("hidden");
                    return false;
                }
            );
            paragBalloon.find("a.button-blue").live("click", function() { return false; });

            paragBalloon.find(".button-blue span").live("click",
                function() {
                    var _this = $(this);
                    var inputs = _this.parent().siblings("input");
                    //$.log(markers.point.x+'--'+markers.point.y);
                    var parag=$(".parag-balloon").find("p.subtitle:first").next("p.description");
                    var indirizzo=parag.eq(0).html()+","+parag.eq(0).next().html()+","+parag.eq(0).next().next().html();
                    //$.log(indirizzo);
                    if ($(".parag-balloon").find("p.subtitle a").eq(0).hasClass("current"))
                    {
                        if (inputs.eq(0).val() != "") markers.traceRoute(indirizzo,inputs.eq(0).val());
                        else alert("Scrivere un indirizzo di arrivo valido");
                        return false;
                    }
                    else
                    {
                        if (inputs.eq(1).val() != "") markers.traceRoute(inputs.eq(1).val(), indirizzo);
                        else alert("Scrivere un indirizzo di partenza valido");
                        return false;
                    }
                }
            );
        },
        error: function(msg) {
        }
    });
}
       
    function loadMap() {
        var datasource = $("#google-map").attr("href");
        if (GBrowserIsCompatible()) 
        {
            if (sRootPath == null || sRootPath == "" || sRootPath=="/") 
            {
                var loc=location.href.split("/");
                sRootPath = loc[0]+"//"+loc[1]+loc[2]+"/";
            }
            
            if (sRootPath.indexOf("file")!=-1) sRootPath= "";

            markers.createMap();
            markers.markSize(new GSize(36, 36));
            FilterMap();
            //markers.markImage(sRootPath + "/www.castoldijet.it/img/png/googleMap/marker.png");
            
           // markers.zoom = 2;
        }
        else 
        {
            alert("Sorry, the Google Maps API is not compatible with this browser");
        }
    }
    
    $("div.slide a.youtube").each(
        function()
        {
            createYouTubeWidget($(this));
        }
    );

    
    $("div.slide a.flv").each(
        function()
        {
            createFlvWidget($(this));
        }
    );
    
    function createYouTubeWidget(_this)
    {
        _this.wrap('<div id="youtube-wrap"></div>');
        var img=$("<img class='youtube-pic'></img>");  
        img.attr({"src":"http://img.youtube.com/vi/"+_this.attr("href").split("v=")[1]+"/1.jpg"});
        _this.html("").append(img).append('<img class="youtube-imgOver" src="/www.castoldijet.it/img/png/youtube-over.png" />');

        var youtubeWrap=_this.parent();
        var p=youtubeWrap.next().clone();/* sposto il p dentro il div youtube-wrap: non trovo piu' il move nell'help di jquery*/
        
        youtubeWrap.append(p);
        youtubeWrap.next().remove();
        
        _this.jqvideobox();
    } //*** fine createYouTubeWidget

    function createFlvWidget(_this)
    {
        _this.wrap('<div id="youtube-wrap"></div>');
        _this.append('<img class="youtube-imgOver" src="/www.castoldijet.it/img/png/youtube-over.png" />');

        var flvWrap=_this.parent();
        var p=flvWrap.next().clone();/* sposto il p dentro il div youtube-wrap: non trovo piu' il move nell'help di jquery*/
        
        flvWrap.append(p);
        flvWrap.next().remove();
        
        _this.jqvideobox({"flvplayer":"/www.castoldijet.it/swf/flvplayer.swf"});

    } //*** fine createYouTubeWidget
    
}); /* fine $(document).ready */
