var body;
var defaultSearchValue="inserisci keyword...";
$(document).ready(function(){// jQuery functions to initialize while the page is loading.
    body=$("body");

    $("ul.ul-blue li a").each(
        function()
        {
            var _this=$(this);
            if (!_this.attr("href")||_this.attr("href")=="#"||_this.attr("href")=="") _this.addClass("no-h");
        }
    );
    hotSpots.start();

    $("a.optout").click(
        function()
        {	
	        _ddOptOut();
	        alert("la richiesta di Opt-Out e' stata effettuata correttamente.");
            return false;
        }
    );
});

$(window).load(function(){// jQuery functions to initialize after the page has loaded.
	//Superfluous functionality such as drag and drop, binding visual effects and animations, pre-fetching hidden images, etc., are all good candidates for this technique.

	if ( body.hasClass('hp') ) 
    {
        if (body.find("img.preload").length==0)
        {
            body.append("<img class='preload' src='/www.consodata.it/img/sfondi/grandi.jpg'>");
            body.find("img.preload").load(
                function()
                {
		            handleCar.init();
                    var swapClaim=$("a[rel=swap-claim]");
                    var hotSpot=$("div.piccole,div.grandi");
                    swapClaim.mouseover(
                        function()
                        {
                            swapClaim.removeClass("on");
                            var _this=$(this);
                            hotSpot.removeClass("on");
                            body.removeClass().addClass(_this.attr("class")+" hp");
                            hotSpot.filter("."+_this.attr("class")).addClass("on");
                            _this.addClass("on");   

                        }
                    );	
                }
            );

        }
    }

    var boxBlueUlLi=$("#col_dx .box.blue .wrapper .content ul li");
    boxBlueUlLi.removeClass("last");
    boxBlueUlLi.filter(":last").addClass("last");

    $("#col_dx div.slider").each(
        function()
        {
            slideMng($(this));    
        }
    );
    //slider.init();
    var acc=$(".accordion");
    acc.each(
        function()
        {
            accordion($(this));
        }
    );

    var tabWrapper=$(".tabs-wrapper");
    tabWrapper.each(
        function()
        {
            tabs($(this));
            
        }
        
    );
	var idtab=GetUrlParam("tab");
     if(idtab!=''){
     	idtab=parseInt(idtab);
     	$(".ul-tabs").find(".current").removeClass("current");
     	$(".ul-tabs li").eq(idtab-1).addClass("current");
     	$(".div-tabs").find(".current").removeClass("current");
     //	alert(idtab-1)
    	//alert($(".div-tabs").children().eq(idtab-1).html())
     	$(".div-tabs").children().eq(idtab-1).addClass("current");
			//$('.tabs-wrapper').scroll();
			$('html, body').animate({scrollTop: $(".tabs-wrapper").offset().top-50}, 2000);


     	
     	}
    $(".slot .img").each(
        function()
        {
            var _this=$(this);
            if (_this.find("span").length==0) _this.append("<span></span>")
        }
    );

    var formWrap=$("form div.wrap");
    var inputFile=formWrap.find("input#file");
    var inputIn=formWrap.find(".overfile input");
    inputFile.change(
        function()
        {
            inputIn.val(inputFile.val());
        }
    );

    $("a.to-open").click(
        function()
        {
            var li=$(this).parents("li");
            li.toggleClass("open");
            var div=li.find("div");
            div.slideToggle();
            
        }
    );

    var ulBluP=$("ul.blu li p");
    $("ul.blu li p").each(
        function()
        {
            var _this=$(this);
            if (_this.html().length>200) _this.html(_this.html().substring(0,200)+"<strong>[..]</strong>");
        }
    );

    gmaps.init();

    var inputRicerca=$("#ricerca input[type='text']");
    if (inputRicerca.length>0)
    {
        inputRicerca.focus(
            function()
            {
                if (inputRicerca.val()==defaultSearchValue) inputRicerca.val("");
            } 
        );
    }
});

var gmaps={
    obj:null,   //*** il div contenente la mappa
    radio:null, //*** i radio button relativi alle sedi
    map:null,   //*** l'oggetto mappa di google
    latlng:[],  //*** array contente gli oggetti "latlng" delle varie sedi. Il valore latlng viene preso dall'input nell'html (non visibile, ma non hidden, perché in contentino si deve vedere) 
    myOptions:null, //*** teoricamente potrebbe esser una var nella init, ma non so se in futuro potrebbe servire in altri metodi dell'oggetto
    coords:null,
    init:function()
    {
        gmaps.obj=$("#gmaps");  //*** div contenente la mappa
        if (gmaps.obj.length==0) return;    //*** se non esiste, non proseguo
        gmaps.radio=$(".sedi input[name='sede']");
        gmaps.coords=$(".coord");

        gmaps.createCoords();   //*** popola gmaps.latlng di tutte le latlng presenti nell'html
        gmaps.myOptions = {
            zoom: 15,
            center: gmaps.latlng[0],
            mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        gmaps.map = new google.maps.Map(document.getElementById(gmaps.obj.attr("id")),
            gmaps.myOptions);
 
        gmaps.createMarkers();  //*** crea i marker partendo dai gmaps.latlng
        gmaps.callbacks();
    },
    createCoords:function()
    {
         //*** scorro tutti gli input hidden contenenti le coordinate per creare gli oggetti LatLng di gmaps
        gmaps.coords.each(
            function()
            {
                var _this=$(this).val().split(","); //*** splitto il value dell'input
                gmaps.latlng.push(new google.maps.LatLng(parseFloat(_this[0]),parseFloat(_this[1]))); //*** metto nell'array la coordinata
            }
        );
    },
    createMarkers:function()
    {
        for (var i=0;i<gmaps.latlng.length;i++) //*** scorro tutte le coordinate per piazzare sulla mappa i marker relativi
        {
           var marker = new google.maps.Marker({
                position: gmaps.latlng[i],
                map: gmaps.map, 
                animation: google.maps.Animation.DROP,
                title:gmaps.coords.eq(i).attr("title") //*** il title dell'input diventa il title/tooltip del marker
            });    
            //console.log(gmaps.radio.eq(i).attr("title"));
        } 
    },
    callbacks:function()
    {
        gmaps.radio.click(
            function()
            {
                 gmaps.map.panTo(gmaps.latlng[gmaps.radio.index($(this))]); //*** mi sposto nella mappa
                //*** Essendo l'array gmaps.latlng ordinato in base alle coordinate riportate negli input, l'i-esimo radiobutton cliccato corrispondera' all'i-esimo
                //*** elemento coordinata gmaps presente nell'array gmaps.latlng
            }
        );
    }
}


