var URL_CONTEXT_AJAX = '/CdiReserved/';
var openLayer = false;
var contaCaricamenti = 0; /** conta diverse chiamate ajax, al termine delle quali, puņ lanciare il pareggiaColonne*/
$.log = function () { /*** Funzione per la scrittura sulla console di FF - su ie6 pianta tutto ***/
    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);
        }
    }
}
// Wrapping per session Expired.

function sessionExpired(msg) {
    if (msg.indexOf("SESSIONE", 0) > 0) {
        if (langXml == 'it') {
            location.href = '/it/nostriservizi/medici/registra.html';
        } else {
            location.href = '/' + langXml + '/hp_' + langXml + '.html';
        }
        return true;
    } else {
        return false;
    }
}
// Logout

function logout() {
    $('#logout').click(function () {
        $.ajax({
            type: "POST",
            url: URL_CONTEXT_AJAX + 'logoutMember.do',
            success: function (msg) {
                location.href = '/' + langXml + '/hp_' + langXml + '.html';
            }
        });
    });
}
/*** funzione creata postuma alla stilatura dell'html e del montaggio sul cms. Il problema di fondo
che si e' scoperto dopo di bordare con arrotondatura solo alcuni slot. Cio' e' dispendioso in termini di html
perche' deve essere poi rimontato tutto l'html nel cms, quindi risolvo con jquery(il che mi fa, in questo caso, chifo) ***/

function insertCorner() //divToSquare)
{
    //var parentOfDiv=divToSquare.parent();
    var divs; //=$("#divsubmain div");
    //if ((parentOfDiv.hasClass("column"))||(parentOfDiv.hasClass("column-large"))||(parentOfDiv.hasClass("paragraph")))
    $("#divsubmain div").each(

    function () {
        divs = $(this);
        if (divs.hasClass("half")) {
            if (!(divs.parent().hasClass("right-column"))) {
                if ($.browser.msie && $.browser.version == "6.0")
                    divs.css({
                        "position": "relative",
                        "border": "1px solid #eeeef4",
                        "margin": "0 0 10px 7px"
                    });
                else
                    divs.css({
                        "position": "relative",
                        "border": "1px solid #eeeef4",
                        "margin": "0 0px 10px 8px"
                    });
            } else
                divs.css({
                    "position": "relative",
                    "border": "1px solid #eeeef4",
                    "margin": "0 0 10px"
                });
            divs.append("<div class=\"corner-t-l-l\"></div>" + "<div class=\"corner-t-r-l\"></div>" + "<div class=\"corner-b-l-l\"></div>" + "<div class=\"corner-b-r-l\"></div>");
        } else if ((divs.parent().hasClass("right-column")) && (divs.attr("id") != "NostreSedi")) {
            divs.css({
                "position": "relative",
                "border": "1px solid #eeeef4",
                "margin": "0 0 10px"
            });
            divs.append("<div class=\"corner-t-l\"></div>" + "<div class=\"corner-t-r\"></div>");
            if (!divs.hasClass("menu-az")) divs.append("<div class=\"corner-b-l\"></div>" + "<div class=\"corner-b-r\"></div>");
        }
    });

    var half=$(".half");
    half.each(
        function()
        {
            var _this=$(this);
            //var buttons=_this.find(".button");
            if (_this.find(".button").eq(0).position().top>145 || _this.find(".button-center").length>1 )
            {
                _this.height(190);
                if (_this.next().length>0) _this.next().height(190);
            }
        }
    );
    //pareggiaColonne();
}

function validazione_dati() {
    var validazione = true;
    var validEmail = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
    var nome = $("#nameData").val();
    if (nome == '' || nome == null) {
        $('#enome').html("* richiesto");
        validazione = validazione && false;
    } else {
        $('#enome').html("");
    }
    var cognome = $("#surnameData").val();
    if (cognome == '' || cognome == null) {
        $('#ecognome').html("* richiesto");
        validazione = validazione && false;
    } else {
        $('#ecognome').html("");
    }
    var medico = $("#opt1").val();
    if (medico == '' || medico == null) {
        $('#emedico').html("* richiesto");
        validazione = validazione && false;
    } else {
        $('#emedico').html("");
    }
    var citta = $("#cityData").val();
    if (citta == '' || citta == null) {
        $('#ecitta').html("* richiesta");
        validazione = validazione && false;
    } else {
        $('#ecitta').html("");
    }
    var email = $("#emailData").val();
    if (email == '' || email == null) {
        $('#eemail').html("* richiesta");
        validazione = validazione && false;
    } else {
        if (!validEmail.exec(email)) {
            $('#eemail').html("* errata");
            validazione = validazione && false;
        } else $('#eemail').html("");
    }
    var cemail = $("#emailDataConf").val();
    if (cemail == '' || cemail == null) {
        $('#ecemail').html("* richiesta");
        validazione = validazione && false;
    } else {
        if (!validEmail.exec(cemail)) {
            $('#ecemail').html("* errata");
            validazione = validazione && false;
        } else $('#ecemail').html("");
    }
    if (email != cemail) {
        $('#eemail').html("* diverse");
        $('#ecemail').html("* diverse");
        validazione = validazione && false;
    } else {
        //if (email!="") $('#eemail').html("")
    }
    var password = $("#passwordData").val();
    if (password == '' || password == null) {
        $('#epassword').html("* richiesto");
        validazione = validazione && false;
    } else {
        $('#epassword').html("");
    }
    var cpassword = $("#passwordDataCong").val();
    if (cpassword == '' || cpassword == null) {
        $('#ecpassword').html("* richiesto");
        validazione = validazione && false;
    } else {
        $('#ecpassword').html("");
    }
    if (password != cpassword) {
        $('#epassword').html("* diverse");
        $('#ecpassword').html("* diverse");
        validazione = validazione && false;
    } else {}
    return validazione;
}

function isDate(year, month, day) {
    month = month - 1; // in javascript il mese va da 0 e 11
    var tempDate = new Date(year, month, day);
    if ((tempDate.getFullYear() == year) && (month == tempDate.getMonth()) && (day == tempDate.getDate())) return true;
    else return false
}

function checkResponse() {
    var res = GetUrlParam('response');
    var formMail = $("#formMail");
    switch (res) {
    case 'ok':
        formMail.html("<h6>Form inviato correttamente</h6>");
/*if(window.location.toString().indexOf("lavoraconnoi")>0){

            	formMail.append("<p>Grazie per averci inviato il suo cv, qualora ci siano opportunit&agrave; di inserimento aderenti al suo profilo sar&agrave; nostra premura contattarLa.<br/>I suoi dati saranno conservati nei nostri archivi per un periodo di 6 mesi, oltre il quale saranno cancellati.<br/> Cordialmente <br/>	Direzione Risorse Umane </p>");

            }*/
        break;
    case 'ko':
        formMail.html("<p class=\"errorSend\">Errore nell'invio del form</p>");
        break;
    default:
        $('#formMail input[name=error]').val(window.location.toString().replace("#", "") + "?response=ko");
        $('#formMail input[name=forward]').val(window.location.toString().replace("#", "") + "?response=ok");
    }
    var error = GetUrlParam('description');
    switch (error) {
    case 'errorSize':
        formMail.html("<p class=\"errorSend\">Mail non inviata: il file allegato supera la dimensione consentita (500kb)</p>" + "<a class=\"history-back\">Torna indietro</a>");
        break;
    case 'errorExtension':
        formMail.html("<p class=\"errorSend\">Mail non inviata: il file allegato ha un'estensione non consentita (solo doc o pdf)</p>" + "<a class=\"history-back\">Torna indietro</a>");
        break;
    }
    var history_back = $(".history-back");
    history_back.click(

    function () {
        history.back();
    });
    //     if(res=='ok'){
    //        $("#formMail").html("<p>Form inviato correttamente</p>");
    //     }
    //     else if(res=='ko'){
    //        $("#formMail").html("<p>Errore nell'invio del form</p>");
    //     }
    //     else{
    //        $('#formMail input[name=error]').val(window.location.toString()+"?response=ko");
    //        $('#formMail input[name=forward]').val(window.location.toString()+"?response=ok");
    //     }
}

function IncDecCar(obj, incdec) {
    obj.css({
        "font-size": (parseInt(obj.css("font-size")) + incdec) + "px"
    });
}
$(document).ready(function () {
    if ($(".menu-az-digit-container").is("div")) {
        reWriteLink()
    }
    var parWiki = $("div.ris-esami-int h2, div.ris-esami-int h3, div.ris-esami-int h4, div.ris-esami-int p, div.ris-esami-int div");
    $("#ridCar").click(

    function () {
        parWiki.each(

        function () {
            var _this = $(this);
            IncDecCar(_this, -1);
            //_this.css({"font-size": (parseInt(_this.css("font-size"))-4)+"px"});
        });
        return false;
    });



    $("#aumCar").click(

    function () {
        parWiki.each(

        function () {
            var _this = $(this);
            IncDecCar(_this, 1);
            //_this.css({"font-size": (parseInt(_this.css("font-size"))+4)+"px"});
        });
        return false;
    });
    $("#printPage").click(

    function () {
        window.print();
        return false;
    });

    // Gestione iFrame nuova versione
    var paramToIframeResource = GetUrlParam("resourceName");
    var paramToIframeDb = GetUrlParam("dbName");

    if (paramToIframeResource != "") {
        var iframe = $("iframe#login");
        iframe.attr({
            "src": iframe.attr("src") + "&resourceName=" + paramToIframeResource
        });
    }
    if (paramToIframeDb != "") {
        var iframe = $("iframe#login");
        iframe.attr({
            "src": iframe.attr("src") + "&dbName=" + paramToIframeDb
        });
    }


    /*** devo sapere se sono nella pagina "Come raggiungerci" ***/
    /*** dal momento che mi serve mettere la loading bar su "Elenco sedi XML ***/
    /*** Dal momento che le sedi vengono create dinamicamente, l'unica cosa che mi viene in mente di fare e' vedere se ***/
    /*** paragraph esiste e se l'h2 al suo interno ha il testo come raggiungerci ***/
    var paragraph = $(".paragraph:first");
    if (paragraph.length > 0) {
        if (paragraph.find("h2").html() == "Come Raggiungerci") paragraph.append('<div class="loading-xml">caricamento sedi in corso...</div>');
    }
    if ($('#box_home_wiki').is('div')) {
        $('#box_home_wiki').load('/it/SaluteEdEducazione/boxhome.html', function () {
            contaCaricamenti++;
            if ($('.column-short').is('div') && contaCaricamenti == 3) pareggiaColonne();
        });
    }
    // Compila Archivio
    if ($('#seleziona_anno').is('select')) {
        var today = new Date();
        var thisyear = today.getFullYear();
        var html = '';
        var i = 0;
        for (i = 0; i < 5; i++) {
            var yearnow = '' + (thisyear - i);
            var yearnow = yearnow.substring(2, 4);
            if (i == 0) {
                html = html + '<option value="' + yearnow + '"selected="selected">' + (thisyear - i) + '</option>';
            } else {
                html = html + '<option value="' + yearnow + '">' + (thisyear - i) + '</option>';
            }
        }
        $('#seleziona_anno').html(html);
    } // fine if($('#seleziona_anno').is('select'))
    var gallery = $(".gallery-container");
    if (gallery.length > 0) { /*** 1. divGallery = il div Corrente ***/
        /*** 2. galleryCarousel = il div contenitore dei div che scorreranno ***/
        /*** 3-4. galleryArrRight/galleryArrLeft = le frecce dello scorrimento ***/
        /*** 5. divName = l'insieme dei div da far scorrere ***/

        function scrollGallery(divGallery, galleryCarousel, galleryArrRight, galleryArrLeft, divName) { /*      var divGallery=$("#accordion-gallery div.current");        var galleryCarousel=$("#gallery-carousel");        var galleryArrRight=$("#accordion-gallery .arrow-right")        var galleryArrLeft=$("#accordion-gallery .arrow-left") */
            var shiftScroll;
            var leftDiv = 0;
            var semaphore = 0;

            function scroll(div, scrollDir, offset) {
                leftDiv = parseInt(div.css("margin-left"));
                //alert(leftDiv);
                shiftScroll = setInterval(function () {
                    shift_carousel();
                }, 1);

                function shift_carousel() {
                    if (isNaN(leftDiv)) leftDiv = 0; //*** questo controllo lo devo fare perche'
                    //*** su ie6 qui arriva nullo nonostante lo abbia inizializzato a 0; mah...
                    leftDiv += scrollDir;
                    div.css({
                        "margin-left": leftDiv
                    });
                    if (leftDiv % offset == 0) {
                        clearInterval(shiftScroll);
                        semaphore--;
                        //$("#semaphore").html(semaphore);
                        if (semaphore > 0) {
                            if (scrollDir > 0) goOver(-1);
                            else goOver(1);
                        }
                    }
                }
            }

            function goOver(times) { /*** nella chiamata di scroll, inverto il segno, poiche'  se va a destra, come logicamente si ragiona, metto 1 ***/
                /*** e a sx -1, ma l'offset deve variare in senso opposto ***/
                if (times > 0) /*** va a destra ***/
                {
                    if (divGallery.next(divName).length != 0) {
                        divGallery.toggleClass("current");
                        scroll(galleryCarousel, -(times * 7), 392);
                        divGallery = divGallery.next().toggleClass("current");
                        //if (galleryArrLeft.is(":hidden")) galleryArrLeft.show();
                        //if (divGallery.next(divName).length==0) galleryArrRight.hide();
                        if (galleryArrLeft.hasClass("gallery-left-g")) galleryArrLeft.removeClass("gallery-left-g");
                        if (divGallery.next(divName).length == 0) galleryArrRight.addClass("gallery-right-g");
                    }
                } else /*** va a sinistra ***/
                {
                    if (divGallery.prev(divName).length != 0) {
                        divGallery.toggleClass("current");
                        scroll(galleryCarousel, -(times * 7), 392);
                        divGallery = divGallery.prev().toggleClass("current");
                        //if (galleryArrRight.is(":hidden")) galleryArrRight.show();
                        //if (divGallery.prev(divName).length==0) galleryArrLeft.hide();
                        if (galleryArrRight.hasClass("gallery-right-g")) galleryArrRight.removeClass("gallery-right-g");
                        if (divGallery.prev(divName).length == 0) galleryArrLeft.addClass("gallery-left-g");
                    }
                }
            }

            function goTo(times) {
                semaphore++;
                //$("#semaphore").html(semaphore);
                if (semaphore == 1) goOver(times);
            }
            galleryArrRight.click(

            function () {
                if (!galleryArrRight.hasClass("gallery-right-g")) goTo(1);
            });
            galleryArrLeft.click(

            function () {
                if (!galleryArrLeft.hasClass("gallery-left-g")) goTo(-1);
            });
        } //*** scrollGallery
        var galleryPicContainer = $(".gallery-pic-container");
        var galleryCapt = $(".gallery-caption");
        var galleryCaptPar = galleryCapt.find("p");
        var galleryLeft = $(".gallery-left");
        var galleryRight = $(".gallery-right");
        galleryLeft.addClass("gallery-left-g");
        var gallerySlide = $(".gallery-slide");
        var onAnimation = false;
        galleryPicContainer.hover(

        function () {
            if ((galleryCaptPar.html().length > 0) && (!onAnimation)) /*** se non c'e niente nel p, inutile fare l'effetto ***/
            galleryCapt.animate({
                bottom: "-1px"
            }, 600);
        }, function () {
            if ((galleryCaptPar.html().length > 0) && (!onAnimation)) /*** se non c'e niente nel p, inutile fare l'effetto ***/
            galleryCapt.animate({
                bottom: "-80px"
            }, 600);
        });
        var startSlide = false;
        var queue = new Array();
        var slideToActive = false;

        function printArray(_array) {
            var arrayString = "[";
            for (var i = 0; i < _array.length; i++) {
                arrayString += _array[i] + ";";
            }
            //$.log("array: "+ arrayString+"] length:"+_array.length);
        }
        printArray(queue);

        function AnimateCaption() {
            onAnimation = true;
            galleryCapt.animate({
                bottom: "-1px"
            }, 600, function () {
                setInterval(

                function () {
                    galleryCapt.animate({
                        bottom: "-80px"
                    }, 600);
                    onAnimation = false;
                }, 2000);
            });
        }

        function ConstrainProportions(picToTransform, formatPic) {
            var picWidth = parseInt(picToTransform.width());
            var picHeight = parseInt(picToTransform.height());
            // alert(formatPic[0]+'--'+formatPic[1]);
            //alert("ghostW="+ghostW+" ghostH"+ghostH);
            if (picWidth > picHeight) {
                picToTransform.height((picHeight * formatPic[0]) / picWidth)
                picToTransform.css("margin-top", (formatPic[1] - picToTransform.height()) / 2);
                // picToTransform.css("margin-bottom",picToTransform.css("margin-top"));
                picToTransform.width(formatPic[0]);
            } else {
                picToTransform.width((picWidth * formatPic[1]) / picHeight);
                picToTransform.css("margin-left", (formatPic[0] - picToTransform.width()) / 2);
                //  picToTransform.css("margin-right",formatPic[0]-parseInt(picToTransform.width())-parseInt(picToTransform.css("margin-left")));
                picToTransform.height(formatPic[1]);
            }
        }
        var slideTo = function (imageToSlide, numPic) {
                if (slideToActive) {
                    queue.push(numPic);
                    //$.log("accoda: "+numPic);
                    printArray(queue);
                    return;
                }
                slideToActive = true;
                var currentPic = galleryPicContainer.find("img.current");
                var ghostPic = galleryPicContainer.find("img.shadow");
                //alert(imageToSlide.html());
                ghostPic.attr("style", "").attr("src", imageToSlide.attr("src").replace("/.", "/")) //*** se non azzero lo style, la dimensione della foto ***/
                //*** una volta calcolate le proporzioni, rimane la stessa ***/
                galleryCaptPar.html(imageToSlide.attr("dida"));
                //AnimateCaption();
                //alert(ghostPic.complete);
                ghostPic.load( //*** uso l'evento load perche cosi l'effetto dissolvenza parte soltanto quando ho l'immagine caricata e
                //*** oltretutto, avendola caricata, so le dimensioni e posso calcolare le proporzioni per adattarla al container

                function () {
                    ConstrainProportions(ghostPic, [463, 347]);
                    ghostPic.fadeIn(600);
                    //$.log("consuma: "+ numPic);
                    //$.log("larghezza %s, altezza %s",ghostPic.width(),ghostPic.height());
                    currentPic.fadeOut(600, function () {
                        currentPic.removeClass("current").addClass("shadow");
                        ghostPic.removeClass("shadow").addClass("current");
                        slideToActive = false;
                        if (queue.length > 0) {
                            numPic = queue.shift();
                            printArray(queue);
                            slideTo(imageToSlide, numPic);
                        }
                        //currentPic=galleryPicContainer.find("img.current")
                    });
                });
            }
        gallerySlide.find("img").live("click", function () {
            var _this = $(this);
            slideTo(_this, gallerySlide.find("img").index(_this));
            //$.log("clicca: %s", gallerySlide.find("img").index(_this));
        });
        $.ajax({ /*** creazione galleria thumbnails ***/
            type: "POST",
            url: sRootPath + "it/xml/virtual/data.xml",
            dataType: 'xml',
            success: function (xml) {
                var i = 0;
                var html = "<div class='current'>";
                $(xml).find("Item").each(function () {
                    var _this = $(this);
                    var path = _this.find("path").text();
                    var name = path.split("/");
                    name = name[name.length - 1];
                    var pathDir = path.substring(0, path.length - name.length);
                    var didascalia = _this.find("didascalia").text().replace("<p>", "").replace("</p>", "");
                    html += "<div class='gallery-img-container'><img alt='' dida='" + didascalia + "' src='" + pathDir + "." + name + "'/></div>";
                    i += 1;
                    if (i % 4 == 0) html += "</div><div>";
                    switch (i) {
                    case 1:
                        galleryPicContainer.find(".gallery-pic-loading").remove();
                        galleryPicContainer.prepend("<img class='current'  alt='' src='" + pathDir + name + "'/>");
                        var imgCurr = galleryPicContainer.find("img.current");
                        imgCurr.load( /*** se non faccio il riproporzionamento sul load, non ho la certezza di avere le dim originali della foto ***/

                        function () /*** che deve essere ancora caricata ***/ {
                            ConstrainProportions(imgCurr, [463, 347]);
                        });
                        galleryCaptPar.html(didascalia);
                        galleryCapt.animate({
                            bottom: "-80px"
                        }, 600);
                        break;
                    case 2:
                        galleryPicContainer.prepend("<img class='shadow' alt='' src='" + pathDir + name + "'/>");
                        break;
                    }
                });
                if (i > 0) //*** c'e almeno una foto nella galleria
                {
                    html += "</div>";
                    gallerySlide.html(html);
                    var imagesGal = gallerySlide.find("img");
                    imagesGal.each(

                    function () {
                        $(this).load(

                        function () {
                            //alert('qui');
                            ConstrainProportions($(this), [93, 70]);
                        });
                    });
                    //AnimateCaption();
                    var galleryThumbs = $(".gallery-thumbs img");
                    if ($(".gallery-thumbs img").get().length <= 4) galleryRight.addClass("gallery-right-g");
                    scrollGallery($(".gallery-slide div.current"), gallerySlide, galleryRight, galleryLeft, $(".gallery-slide div"));
                }
            },
            error: function (msg) {
                alert("error loading data: " + msg);
            }
        });
    } // fine if (gallery.length>0)
    // Profilo
    // Profilo Utente loggato
    var profilo = $('#profilo');
    if (profilo.parent().is('div')) {
        $.ajax({
            type: "GET",
            url: URL_CONTEXT_AJAX + 'restricted/displayMember.do',
            success: function (msg) {
                if (sessionExpired(msg)) return;
                profilo.html(msg);
                // Bottone modifica
                $('#modify_user').click(function () {
                    $.ajax({
                        type: "POST",
                        url: URL_CONTEXT_AJAX + 'restricted/displayMember.do',
                        data: "param=1",
                        success: function (msg) {
                            if (sessionExpired(msg)) return;
                            profilo.html(msg);
                        },
                        complete: function () {
                            $('#user_modify').click(function () {
                                //alert("submit");
                                $('#form_profilo').submit();
                                return false;
                            });
                            // Validazione e Select
                        }
                    }); //fine chiamata ajax
                    return false;
                }); //fine $('#modify_user')
            }
        }); //fine chiamata ajax
    } //fine if(profilo.parent().is('div'))
    var formMail = $('#formMail');
    //alert(formMail.length);
    if (formMail.length > 0) {
        checkResponse();
        //alert('ok');
        var validEmail = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
        var nome = $("#nome");
        var cognome = $("#cognome");
        var luogonasc = $("#luogonasc"); //lavora con noi
        var telefono = $("#telefono"); //lavora con noi
        var nazionalita = $("#nazionalita"); //lavora con noi
        var comuneres = $("#comuneres"); //lavora con noi
        var cap = $("#cap"); //lavora con noi
        var indirizzo = $("#indirizzo"); //lavora con noi
        var studi = $("#studi"); //lavora con noi
        var lingue = $("#lingue"); //lavora con noi
        var altreNote = $("#altreNote"); //lavora con noi
        var message = $("#message"); //reclami e suggerimenti
        var recapito = $("#recapito"); //prenotazioni
        var email = $("#email");
        var sedepre = $("#sedepre"); //prenotazioni
        var convenzioni = $("#convenzionicombo"); //prenotazioni
        var richiestapre = $("#richiestapre"); //prenotazioni
        var giorno = $("#giorno");
        var mese = $("#mese");
        var anno = $("#anno");
        var labelDataNascita = $("#labelDataNascita");
        var giornoFav = $("#giornoFav");
        var meseFav = $("#meseFav");
        var annoFav = $("#annoFav");
        var labelDataFav = $("#labelDataFav");
        var giornoCont = $("#giornoCont");
        var meseCont = $("#meseCont");
        var annoCont = $("#annoCont");
        var labelDataCont = $("#labelDataCont");
        var msp = $("#msp"); //prenotazioni
        var via = $("#via"); //prenotazioni
        var numerociv = $("#numerociv"); //prenotazioni
        var localita = $("#localita"); //prenotazioni
        var provincia = $("#provincia"); //prenotazioni

        function setLabelAdvice(prevLabel, text) {
            if (text != "") prevLabel.addClass("invalid-line");
            else prevLabel.removeClass("invalid-line");
            prevLabel.next().next().html(text);
        }

        function setLabelAdviceData(giornoP, meseP, annoP, label) {
            if (!isDate(annoP.val(), meseP.val(), giornoP.val())) {
                annoP.addClass("invalid-line");
                meseP.addClass("invalid-line");
                giornoP.addClass("invalid-line");
                label.html("* data obbligatoria");
            } else {
                annoP.removeClass("invalid-line");
                meseP.removeClass("invalid-line");
                giornoP.removeClass("invalid-line");
                label.html("");
            }
        }

        function validazione_mail() {
            if (nazionalita.length > 0) //lavora con noi
            {
                return ((nome.val() != '' && nome.val() != null) && (cognome.val() != '' && cognome.val() != null) && (luogonasc.val() != '' && luogonasc.val() != null) && (validEmail.exec(email.val())) && (nazionalita.val() != '' && nazionalita.val() != null) && (comuneres.val() != '' && comuneres.val() != null) && (cap.val() != '' && cap.val() != null) && (indirizzo.val() != '' && indirizzo.val() != null) && (telefono.val() != '' && telefono.val() != null) && (studi.val() != '' && studi.val() != null) && (lingue.val() != '' && lingue.val() != null) && (altreNote.val() != '' && altreNote.val() != null) && isDate(anno.val(), mese.val(), giorno.val()));
            } else if (message.length > 0) //reclami e suggerimenti
            {
                return ((nome.val() != '' && nome.val() != null) && (cognome.val() != '' && cognome.val() != null) && (message.val() != '' && message.val() != null) && (validEmail.exec(email.val())));
            } else //prenotazioni
            {
                return ((nome.val() != '' && nome.val() != null) && (cognome.val() != '' && cognome.val() != null) && (recapito.val() != '' && recapito.val() != null) && (validEmail.exec(email.val())) && (sedepre.val() != '' && sedepre.val() != null) && (richiestapre.val() != '' && richiestapre.val() != null) && isDate(anno.val(), mese.val(), giorno.val()) && isDate(annoFav.val(), meseFav.val(), giornoFav.val()));
            }
        }

        function checkAll() {
            if (nome.val() == "") setLabelAdvice(nome, "* campo obbligatorio");
            if (cognome.val() == "") setLabelAdvice(cognome, "* campo obbligatorio");
            if (nazionalita.length > 0) //lavora con noi
            {
                if (luogonasc.val() == "") setLabelAdvice(luogonasc, "* campo obbligatorio");
                if (nazionalita.val() == "") setLabelAdvice(nazionalita, "* campo obbligatorio");
                if (comuneres.val() == "") setLabelAdvice(comuneres, "* campo obbligatorio");
                if (cap.val() == "") setLabelAdvice(cap, "* campo obbligatorio");
                if (indirizzo.val() == "") setLabelAdvice(indirizzo, "* campo obbligatorio");
                if (telefono.val() == "") setLabelAdvice(telefono, "* campo obbligatorio");
                if (studi.val() == "") setLabelAdvice(studi, "* campo obbligatorio");
                if (lingue.val() == "") setLabelAdvice(lingue, "* campo obbligatorio");
                if (altreNote.val() == "") setLabelAdvice(altreNote, "* campo obbligatorio");
                if (email.val() == "") setLabelAdvice(email, "* campo obbligatorio");
                else if (!validEmail.test(email.val())) setLabelAdvice(email, "* mail errata");
                else setLabelAdvice(email, "");
                setLabelAdviceData(giorno, mese, anno, labelDataNascita);
            } else if (message.length > 0) //reclami e suggerimenti
            {
                if (message.val() == "") setLabelAdvice(message, "* campo obbligatorio");
                if (email.val() == "") setLabelAdvice(email, "* campo obbligatorio");
                else if (!validEmail.test(email.val())) setLabelAdvice(email, "* mail errata");
                else setLabelAdvice(email, "");
            } else //prenotazioni
            {
                if (recapito.val() == "") setLabelAdvice(recapito, "* campo obbligatorio");
                if (email.val() == "") setLabelAdvice(email, "* campo obbligatorio");
                else if (!validEmail.test(email.val())) setLabelAdvice(email, "* mail errata");
                else setLabelAdvice(email, "");
                if (sedepre.val() == "") setLabelAdvice(sedepre, "* campo obbligatorio");
                if (richiestapre.val() == "") setLabelAdvice(richiestapre, "* campo obbligatorio");
                setLabelAdviceData(giorno, mese, anno, labelDataNascita);
                setLabelAdviceData(giornoFav, meseFav, annoFav, labelDataFav);
            }
            alert('Mail non inviata. Compilare tutti i campi obbligatori');
        }
        //Invia mail
        $('#inviamail').click(

        function () {
            if ($("#accetta").attr("checked")) {
                if (validazione_mail()) {
                    formMail.find("div.dati input,div.dati textarea").each(function () {
                        var strConvertita = "";
                        var _this = $(this);
                        if (_this.attr("type") != "file") {
                            var edited_txt = _this.val();
                            // $.log(_this.attr("name"));
                            for (var n = 0; n < edited_txt.length; n++) {
                                if (edited_txt.charCodeAt(n) > 128) {
                                    strConvertita += '&#' + edited_txt.charCodeAt(n) + ';';
                                } else {
                                    strConvertita += edited_txt.substr(n, 1);
                                }
                            }
                            //$.log(_this.attr("name")+":"+strConvertita);
                            _this.val(strConvertita);
                        }
                    });
                    if (nazionalita.length > 0) { //lavora con noi
                        //"http://www.cdi.it/sendMail/sendMail.do?forward=/&error=/&format=html&from=noreply@cdi.it&subject=Lavora con noi - www.cdi.it&to=valentina@domino.it&resourceFile=http://cms.cdi.it/www.cdi.it/other/grazielavoraconnoi.html"
                        $.ajax({
                            type: "GET",
                            url: "/sendMail/sendMail.do?forward=http://www.cdi.it/&error=http://www.cdi.it/&format=html&from=noreply@cdi.it&subject=Lavora con noi - www.cdi.it&to="+email.val()+"&resourceFile=http://cms.cdi.it/www.cdi.it/other/grazielavoraconnoi.html",
                            success: function (msg) {
                                // formMail.submit();
                            },
                            complete: function () {
                                formMail.submit();
                            },
                            error: function (msg) {
                                //   alert("error loading data: "+msg);
                            }
                        }); // fine chiamata ajax
                    } else {
                        formMail.submit();
                    }
                } else checkAll();
            } else alert('Per inviare la mail bisogna accettare le condizioni sulla privacy');
            return false; //*** evita il fastidioso scroll della pagina sull'href="#"
        });
        nome.blur(

        function () {
            if (nome.val() == "") setLabelAdvice(nome, "* campo obbligatorio");
            else setLabelAdvice(nome, "");
        });
        cognome.blur(

        function () {
            if (cognome.val() == "") setLabelAdvice(cognome, "* campo obbligatorio");
            else setLabelAdvice(cognome, "");
        });
        luogonasc.blur(

        function () {
            if (luogonasc.val() == "") setLabelAdvice(luogonasc, "* campo obbligatorio");
            else setLabelAdvice(luogonasc, "");
        });
        nazionalita.blur(

        function () {
            if (nazionalita.val() == "") setLabelAdvice(nazionalita, "* campo obbligatorio");
            else setLabelAdvice(nazionalita, "");
        });
        message.blur(

        function () {
            if (message.val() == "") setLabelAdvice(message, "* campo obbligatorio");
            else setLabelAdvice(message, "");
        });
        comuneres.blur(

        function () {
            if (comuneres.val() == "") setLabelAdvice(comuneres, "* campo obbligatorio");
            else setLabelAdvice(comuneres, "");
        });
        cap.blur(

        function () {
            if (cap.val() == "") setLabelAdvice(cap, "* campo obbligatorio");
            else setLabelAdvice(cap, "");
        });
        indirizzo.blur(

        function () {
            if (indirizzo.val() == "") setLabelAdvice(indirizzo, "* campo obbligatorio");
            else setLabelAdvice(indirizzo, "");
        });
        telefono.blur(

        function () {
            if (telefono.val() == "") setLabelAdvice(telefono, "* campo obbligatorio");
            else setLabelAdvice(telefono, "");
        });
        studi.blur(

        function () {
            if (studi.val() == "") setLabelAdvice(studi, "* campo obbligatorio");
            else setLabelAdvice(studi, "");
        });
        lingue.blur(

        function () {
            if (lingue.val() == "") setLabelAdvice(lingue, "* campo obbligatorio");
            else setLabelAdvice(lingue, "");
        });
        altreNote.blur(

        function () {
            if (altreNote.val() == "") setLabelAdvice(altreNote, "* campo obbligatorio");
            else setLabelAdvice(altreNote, "");
        });
        recapito.blur(

        function () {
            if (recapito.val() == "") setLabelAdvice(recapito, "* campo obbligatorio");
            else setLabelAdvice(recapito, "");
        });
        sedepre.blur(

        function () {
            if (sedepre.val() == "") setLabelAdvice(sedepre, "* campo obbligatorio");
            else setLabelAdvice(sedepre, "");
        });
        email.blur(

        function () {
            if (email.val() == "") setLabelAdvice(email, "* campo obbligatorio");
            else if (!validEmail.test(email.val())) setLabelAdvice(email, "* mail errata");
            else setLabelAdvice(email, "");
        });
        richiestapre.blur(

        function () {
            if (richiestapre.val() == "") setLabelAdvice(richiestapre, "* campo obbligatorio");
            else setLabelAdvice(richiestapre, "");
        });
        giorno.blur(

        function () {
            setLabelAdviceData(giorno, mese, anno, labelDataNascita);
        });
        mese.blur(

        function () {
            setLabelAdviceData(giorno, mese, anno, labelDataNascita);
        });
        anno.blur(

        function () {
            setLabelAdviceData(giorno, mese, anno, labelDataNascita);
        });
        giornoFav.blur(

        function () {
            setLabelAdviceData(giornoFav, meseFav, annoFav, labelDataFav);
        });
        meseFav.blur(

        function () {
            setLabelAdviceData(giornoFav, meseFav, annoFav, labelDataFav);
        });
        annoFav.blur(

        function () {
            setLabelAdviceData(giornoFav, meseFav, annoFav, labelDataFav);
        });
        giornoCont.blur(

        function () {
            setLabelAdviceData(giornoCont, meseCont, annoCont, labelDataCont);
        });
        meseCont.blur(

        function () {
            setLabelAdviceData(giornoCont, meseCont, annoCont, labelDataCont);
        });
        annoCont.blur(

        function () {
            setLabelAdviceData(giornoFav, meseFav, annoFav, labelDataFav);
        });
    }
    // Registrazione
    $('#registra').click(function () {
        if (!$("#bopt1").is(":checked")) {
            alert("Bisogna accettare la privacy per poter inviare i dati di registrazione");
            return false;
        }
        var str = $("#form_registrazione").serialize();
        var email = $("#emailData").val();
        str = str + "&usernameData=" + email
        var result = validazione_dati();
        //alert(result);
        if (result) {
            $.ajax({
                type: "POST",
                url: URL_CONTEXT_AJAX + 'registerMember.do',
                data: str,
                success: function (msg) {
                    $("#form_registrazione").html(msg);
                }
            }); // fine chiamata ajax
        }
        return false;
    }); //fine $('#registra').click
    if ($('#loginbox1').is('div')) {
        $.ajax({
            type: "POST",
            url: URL_CONTEXT_AJAX + 'loginMember.do',
            data: "lang=" + langXml,
            success: function (msg) {
                if (sessionExpired(msg)) return;
                $('#loginbox1').html(msg);
            },
            complete: function () {
                $('#login').click(function () {
                    var username = $('#username_box').val();
                    var password = $('#password_box').val();
                    // FUNZIONE DI LOGIN AJAX (CHIAMATA A JAAS?!?)
                    $.ajax({
                        type: "POST",
                        url: URL_CONTEXT_AJAX + 'loginMember.do',
                        data: "usernameData=" + username + "&passwordData=" + password + "&lang=" + langXml,
                        success: function (msg) {
                            $('#loginbox1').html(msg);
                            if (msg.indexOf("logout", 0) > 0) {
                                if (langXml == 'it') {
                                    location.href = '/it/nostriservizi/medici/medicalp.html';
                                }
                                if (langXml == 'en') {
                                    location.href = '/it/nostriservizi/medici/medicalp.html';
                                }
                                return true;
                            }
                        },
                        complete: function () {
                            logout();
                        }
                    }); //fine chiamata ajax
                    return false;
                }); //fine $('#login').click
                logout();
            }
        }); //fine chiamata ajax
    } //fine if($('#loginbox1').is('div'))
    if ($('#loginbox2').is('div')) {
        $.ajax({
            type: "POST",
            url: URL_CONTEXT_AJAX + 'loginMember.do',
            data: "lang=" + langXml + "&param=2",
            success: function (msg) {
                if (sessionExpired(msg)) return;
                $('#loginbox2').html(msg);
            },
            complete: function () {
                $('#login').click(function () {
                    var username = $('#username_box').val();
                    var password = $('#password_box').val();
                    if (username != "" && password != "")
                    // FUNZIONE DI LOGIN AJAX (CHIAMATA A JAAS?!?)
                    $.ajax({
                        type: "POST",
                        url: URL_CONTEXT_AJAX + 'loginMember.do',
                        data: "usernameData=" + username + "&passwordData=" + password + "&lang=" + langXml + "&param=2",
                        success: function (msg) {
                            $('#loginbox2').html(msg);
                            if (msg.indexOf("logout", 0) > 0) {
                                if (langXml == 'it') {
                                    location.href = '/it/nostriservizi/medici/medicalp.html';
                                }
                                if (langXml == 'en') {
                                    location.href = '/it/nostriservizi/medici/medicalp.html';
                                }
                                return true;
                            }
                        },
                        complete: function () {
                            logout();
                        }
                    });
                    else alert("Inserire nome utente e password");
                    return false;
                });
                logout();
            }
        }); //fine chiamata ajax
    } //if($('#loginbox2').is('div'))
    // Invio password recovery
    $('#inviarecovery').click(function () {
        $('#form_recovery').submit();
    })
    var comboboxes = $(".combobox-blue");
    if (comboboxes.length > 0) {
        var larghezza;
        //    if($.browser.msie && $.browser.version=="6.0")
        //    {
        if (comboboxes.parents("div.dati").length > 0) {
            if ($.browser.msie && $.browser.version == "6.0") larghezza = "287px";
            else larghezza = "297px";
        } else {
            if (comboboxes.parents("#ricerca-medici").length > 0) {
                if ($.browser.msie && $.browser.version == "6.0") larghezza = "217px";
                else {
                    if ($.browser.msie && $.browser.version == "7.0") larghezza = "217px";
                    else larghezza = "220px";
                }
            } else { /*** larghezze da definire ***/
                if (comboboxes.parents(".dati").length > 0) {
                    if ($.browser.msie && $.browser.version == "7.0") larghezza = "217px";
                    else larghezza = "237px";
                } else {
                    if ($.browser.msie && $.browser.version == "7.0") larghezza = "207px";
                    else larghezza = "217px";
                };
            }
        }
        if (comboboxes.parents("right-column").length > 0) larghezza = "207px";
        //  alert(larghezza);
        //    }
        //    else larghezza="297px";

        function creaCombo() {
            comboboxes.combobox({
                comboboxContainerClass: "combo-blue-container",
                /*** classe generale della combo ***/
                comboboxValueContainerClass: "combo-blue",
                /*** classe contenente il valore selezionato e il bottone ***/
                comboboxValueContentClass: "combo-blue-sel",
                /*** classe contenente il valore selezionato ***/
                comboboxDropDownClass: "combo-blue-item-container",
                /*** classe del contenitore della lista ***/
                comboboxDropDownButtonClass: "search-arrows",
                /*** classe del bottone ***/
                comboboxDropDownItemClass: "combo-blue-item",
                /*** classe degli item della lista ***/
                comboboxDropDownItemHoverClass: "combo-blue-hover",
                /*** classe dell'hover sugli item della lista ***/
                comboboxDropDownGroupItemHeaderClass: "comboboxGroupItemHeader",
                /*** classe dell'header della lista ***/
                comboboxDropDownGroupItemContainerClass: "comboboxGroupItemContainer",
                /*** classe della lista ***/
                animationType: "fade",
                width: larghezza
            });
            if (($.browser.msie) && ($(".combo-blue-item-container").length > 0)) $(function () {
                var zIndexNumber = 1000;
                $('div').each(function () {
                    $(this).css('zIndex', zIndexNumber);
                    zIndexNumber -= 10;
                });
            });
        }
        var searchDipartimento = $("#searchDipartimento");
        if (searchDipartimento.length > 0) $.ajax({ /*** creazione combobox Dipartimenti ***/
            type: "POST",
            url: sRootPath + "it/Dipartimenti/data.xml",
            dataType: 'xml',
            success: function (xml) {
                var i = 0;
                var html = "";
                var htmlUl = "";
                $(xml).find("Item").each(function () {
                    var _this = $(this);
                    var nome = _this.find("nome").text();
                    html += '<option value="' + nome + '">' + nome + '</option>';
                    htmlUl += '<li class="combo-blue-item" style="display: block;" title="' + nome + '">' + nome + '</li>';
                });
                // $.log(htmlUl);
                searchDipartimento.html(html);
                searchDipartimento.siblings("ul").html(htmlUl);
                creaCombo();
            },
            error: function (msg) {
                alert("error loading data: " + msg);
            }
        });
        else creaCombo();
        //    var combo_blue=$(".combo-blue");
        //    if ($.browser.msie && $.browser.version=="6.0" && combo_blue.width()==284) combo_blue.css({"width":"214px !important"});
    }
    var button_plus = $(".dl-city dd.buttons div a.button-plus");
    if (button_plus.length > 0) {
        button_plus.click(
        function () {
            var _this = $(this);
            var nextDiv=_this.parent().next("div.explain");
            if (nextDiv.find("p").length>0) nextDiv.slideToggle();
            _this.toggleClass("button-minus");
        });
    }
    if ($('#tab-news').is('div')) {
        //PROD : "/it/News/data.xml"
        //SVIL : "/WorkingFolder/deploy/Bancomat/it/News/data.xml"
        if (langXml == 'it') {
            getLast(sRootPath + 'it/News/data.xml', '#tab-news', sRootPath + 'it/cdi/listanews/dettaglionews.html');
        } else {
            getLast(sRootPath + 'it/News/data.xml', '#tab-news', sRootPath + 'it/cdi/listanews/dettaglionews.html');
        }
    }
    if ($('#tab-press').is('div')) {
        //PROD : "/it/Eventi/data.xml"
        //SVIL : "/WorkingFolder/deploy/Bancomat/it/Eventi/data.xml"
        if (langXml == 'it') { //it/Press
            getLast(sRootPath + 'it/Rassegna_Stampa/data.xml', '#tab-press', sRootPath + 'it/cdi/listapress/dettagliopress.html');
        } else { //it/Press
            getLast(sRootPath + 'it/Rassegna_Stampa/data.xml', '#tab-press', sRootPath + 'it/cdi/listapress/dettagliopress.html');
        }
    }
    if ($('#tab-comunicati').is('div')) {
        //PROD : "/it/Eventi/data.xml"
        //SVIL : "/WorkingFolder/deploy/Bancomat/it/Eventi/data.xml"
        if (langXml == 'it') {
            getLast(sRootPath + 'it/Comunicati/data.xml', '#tab-comunicati', sRootPath + 'it/cdi/listacomun/dettagliocomun.html');
        } else {
            getLast(sRootPath + 'it/Comunicati/data.xml', '#tab-comunicati', sRootPath + 'it/cdi/listacomun/dettagliocomun.html');
        }
    }
    if ($('#tab-meeting').is('div')) {
        //PROD : "/it/Eventi/data.xml"
        //SVIL : "/WorkingFolder/deploy/Bancomat/it/Eventi/data.xml"
        if (langXml == 'it') {
            getLast(sRootPath + 'it/Meeting/data.xml', '#tab-meeting', sRootPath + 'it/nostriservizi/medici/medicalp/listameet/dettagliomeet.html');
        } else {
            getLast(sRootPath + 'it/Meeting/data.xml', '#tab-meeting', sRootPath + 'it/nostriservizi/medici/medicalp/listameet/dettagliomeet.html');
        }
    }
    if ($('#tab-formazione').is('div')) {
        //PROD : "/it/Eventi/data.xml"
        //SVIL : "/WorkingFolder/deploy/Bancomat/it/Eventi/data.xml"
        if (langXml == 'it') {
            getLast(sRootPath + 'it/ECM/data.xml', '#tab-formazione', sRootPath + 'it/nostriservizi/medici/medicalp/listaecm/dettaglioecm.html');
        } else {
            getLast(sRootPath + 'it/ECM/data.xml', '#tab-formazione', sRootPath + 'it/nostriservizi/medici/medicalp/listaecm/dettaglioecm.html');
        }
    }
    //var divToSquare = $("#OrariServizi,#CartaDeiServizi,#LavoraConNoi,#NumeriTelefonici,#Convenzioni,#ScegliereCDI,#NostreSedi,.right-column #service-desk");
    //if (divToSquare.length>0)
    insertCorner();
    if ($('#sedi').is('div')) {
        if (langXml == 'it') {
            getSedi(sRootPath + 'it/Building/data.xml', '#sedi');
        } else {
            getSedi(sRootPath + 'it/Building/data.xml', '#sedi');
        }
    }
    // Carica la mappa di Google.
    if ($('#maps').is('div')) {
        loadMap(12.4788709, 41.8959256);
    }
    //gestione click sui vari tab
    /* la classe father serve per identificare tutti i div figli di primo livello*/
    ManageTab($("#ul-news-press li"), $("#news-press-tab div.father"));
    ManageTab($("#tab-ricerca li"), $("#RicercaAlfabetica div.father")); //:nth-child(1)").siblings()); da verificare
    if ($(".carousel-container").length > 0) {
        var carousel_f = $(".carousel-container .carousel div:nth-child(1)");
        carousel_f.fadeIn().addClass("selected");
        var carousel;
        var h5 = $(".carousel-container h5.selected");
        var slideLeft = $(".slide-left");
        var slideRight = $(".slide-right");
        slideLeft.addClass("sl-disable");
        slideLeft.click(

        function () {
            var _this = $(this);
            carousel = _this.parent().find("div.carousel div.selected");
            if (carousel.prev().length > 0) {
                _this.siblings(".slide-right").removeClass("sr-disable");
                carousel.hide().toggleClass("selected"); //.hide();//
                h5.removeClass("selected");
                carousel = carousel.prev();
                h5 = h5.prev();
                carousel.fadeIn().toggleClass("selected"); //.show("slide", { direction: "left" }, 1000);
                h5.addClass("selected");
                if (carousel.prev().length == 0) _this.addClass("sl-disable");
            }
        });
        slideRight.click(

        function () {
            var _this = $(this);
            carousel = _this.parent().find("div.carousel div.selected");
            if (carousel.next().length > 0) {
                _this.siblings(".slide-left").removeClass("sl-disable");
                carousel.hide().toggleClass("selected"); //.hide();//
                h5.removeClass("selected");
                carousel = carousel.next();
                h5 = h5.next();
                carousel.fadeIn().toggleClass("selected"); //    .toggleClass("carousel-selected");//
                h5.addClass("selected");
                if (carousel.next().length == 0) _this.addClass("sr-disable");
            }
        });
    } /*** fine $(".carousel-container").length ***/
    var textarea = $(".text-blue-container textarea#message");
    if (textarea.length > 0) {
        var car_rest = $("#car-rest");
        textarea.keydown(

        function (e) {
            if (e.which != 8) {
                if (!MaxCaratteri(this, 1499)) {
                    textarea.val(textarea.val().substr(0, 1500));
                } else return true;
            } else return true;
        }).keyup(

        function () {
            car_rest.html(1500 - parseInt(textarea.val().length) + " caratteri rimasti");
        });
    }
    //	if( $('.column-short').is('div') ) {
    //		pareggiaColonne();
    //	}
    if ($('.video_youTube').is('div') || $('.video').is('div')) {
        openVideo();
        handleVideoYoutube();
    } else handleGenericVideoYoutube();
    if ($("#divmain").is("div")) {
        gestisciAudio();
    }
});

function pareggiaColonne() {
//return;
    //alert($('.column').height());
    var altezza = 0;
    var column=$('.column');
    var columnShort=$('.column-short');
    var rightColumn=$('.right-column');
    var colHeight=parseInt(column.height());
    var colSHeight=parseInt(columnShort.height());
    var colRHeight=parseInt(rightColumn.height());
    if (colHeight > colSHeight) {
        altezza = colHeight;
    } else {
        altezza = colSHeight;
    }
    if (altezza < colRHeight) {
        altezza = colRHeight;
    }
    altezza+=30;
    if ($.browser.safari) altezza += 60;
   // return;
    column.height(altezza);
    columnShort.height(altezza);
    rightColumn.height(altezza);
 }

function MaxCaratteri(Object, MaxLen) {
    return (Object.value.length <= MaxLen);
}

function openMap() {
    $(".google-map-column .button a.mappa").click(

    function () {
        var _this = $(this);
        $('#divmain').append('<div id="objVeil"></div>');
        var objVeil = $("#objVeil");
        //*** l'opacity nel css non viene cacata da ie. Quindi, l'effetto del
        //*** fadeIn e dapprima objVeil con opacity a 1(quindi velo nero) e poi l'ingresso sfumato.
        //*** Quindi imposto, prima dello show l'opacity con jquery e poi faccio lo show
        objVeil.css({
            opacity: 0
        });
        objVeil.show();
        objVeil.css({
            "height": $(document).height()
        }).fadeTo("slow", 0.7, function () {
            loadMap(_this)
        });
    });
    //	$('div.paragraph').each(function(){
    //		$(this).find('.mappa').click(function(){
    //			if(!openLayer){
    //			    $('#divmain').append('<div id="objVeil"></div>');
    //
    //				$("#objVeil").css({"height":$(document).height()}).fadeTo("slow",0.7, function(){loadMap($(this))});
    //			}
    //			return false;
    //		})
    //	})
}
/*
function loadMap(long,lat){
	 if (GBrowserIsCompatible()) {
			var map = new GMap2(document.getElementById("map"));
			map.addControl(new GSmallMapControl());
			map.setCenter(new GLatLng(lat,long), 15);
	 }

	var point = new GLatLng(lat,long);
	map.addOverlay(new GMarker(point));
}
*/

function loadMap(_this) {
    if (GBrowserIsCompatible()) {
        var farParent = _this.parent().parent().parent();
        var citta = farParent.find('input.citta').val();
        var sede = farParent.find('input.sede').val();
        var via = farParent.find('input.via').val();
        var top = (_this.offset().top) - 320;
        var lat = farParent.find('input.map_lat').val().replace(/(<([^>]+)>)/ig, "");;
        var long = farParent.find('input.map_long').val().replace(/(<([^>]+)>)/ig, "");;
        $('#divmain').append('<div id="map_wrap"><div class="button to-right">' + '<div class="button-left"></div>' + '<a href="#" class="button-center">chiudi</a>' + '<div class="button-right"></div></div>' + '<span class="location">' + citta + '</span><span class="store">' + sede + '</span><span></span><span class="address">' + via + '</span><div id="map">qui la mappa</div></div>');
        openLayer = true;
        var map_wrap = $('#map_wrap');
        map_wrap.css({
            'left': ($(window).width() - map_wrap.width()) / 2
        });
        map_wrap.fadeIn("slow");
        $('#map_wrap a.button-center').click(function () {
            $('#map_wrap').remove();
            $('#objVeil').remove();
            openLayer = false;
            return false;
        })
        var map = new GMap(document.getElementById("map"));
        map.addControl(new GSmallMapControl());
        map.addControl(new GMapTypeControl());
        map.centerAndZoom(new GPoint(long, lat), 3);
        map.setMapType(G_HYBRID_MAP);
        var point = new GPoint(long, lat);
        var mark = new GMarker(point);
        var html = "<p id=\"gm-cdi\">Centro Diagnostico Italiano (SPA)</p><p>" + sede + "<p id=\"gm-address\">" + via + "<br />" + citta + "<br />Italy</p></div>";
        GEvent.addListener(mark, 'click', function () {
            mark.openInfoWindowHtml(html);
        });
        map.addOverlay(mark);
    }
}

function getLast(pathData, obj, pathEnter) {
    var html = '<dl>';
    var i = 0;
    var page = 0;
    if (pathData.indexOf("Rassegna_Stampa") != -1) contaCaricamenti++;
    if (pathData.indexOf("News/data.xml") != -1) contaCaricamenti++;

    $.ajax({
        type: "GET",
        url: pathData,
        dataType: 'xml',
        success: function (msg) {
            $(msg).find("Item").each(function () {
                i++;
                var id = $(this).attr('uid');
                var titolo = $("Titolo", this).text();
                var thumbnail = $("Thumbnail", this).text();
                var data = $("Data", this).text();
                var testobreve = $("TestoBreve", this).text();
                if (i <= 3) {
                    var giorno = data.split("/")[0];
                    var mese = data.split("/")[1];
                    var anno = data.split("/")[2];
                    if (anno.length == 4) {
                        anno = anno.substring(2, 4);
                    }
                    giorno = (giorno.length == 2) ? (giorno = giorno) : (giorno = "0" + giorno);
                    mese = (mese.length == 2) ? (mese = mese) : (mese = "0" + mese);
                    anno = (anno.length == 2) ? (anno = anno) : (anno = "0" + anno);
                    html = html + '<dt class="data"><span class="day">' + giorno + '</span> <span class="month">' + mese + '</span> <span class="year"> ' + anno + '</span> </dt>';
                    html = html + '<dt class="subtitle"><a href="' + pathEnter + '?page=' + page + '&idnews=' + id + '">'
                    html = html + titolo;
                    html = html + '</a></dt>';
                    html = html + '<dd>';
                    html = html + testobreve;
                    html = html + '</dd>';
                }
                //alert(titolo + '-' + thumbnail + '-' + data);
            })
            html = html + '</dl>';
            $(obj).html(html);

        },
        complete:function()
        {
            pareggiaColonne();
        }
    });
}

function getSedi(pathData, obj) {
    var html = '';
    var i = 0;
    var page = 0;
    //    $('#divmain').append('<div id="objVeil">'+
    //                        '<div id="loading-bar"></div><p>Caricamento mappe in corso. '+
    //                        'L\'operazione potrebbe richiedere qualche secondo. <br/> Attendere...</p></div>');
    //    var objVeil=$("#objVeil");
    //    objVeil.css({"height":$(document).height(),"opacity":0.7});//.fadeTo("slow",0.7, function(){loadMap(_this)});
    //    //var loading=$("#loading-bar");
    //    objVeil.show();
    //alert("ciao");
    $.ajax({
        type: "GET",
        url: pathData,
        dataType: 'xml',
        success: function (msg) {
            // objVeil.remove();
            $(".loading-xml").remove();
            $(msg).find("Item").each(function () {
                i++;
                var id = $(this).attr('uid');
                var citta = $("Citta", this).text();
                var sede = $("Sede", this).text();
                var via = $("Via", this).text();
                var scheda = $("Scheda", this).text();
                var lat = $("coord", this).attr('lat')
                var long = $("coord", this).attr('long')
                html = html + '<div class="google-map-bar">';
                html = html + '<p>';
                html = html + '<strong>' + citta + '</strong>';
                html = html + ' - ';
                if (sede.length > 0) {
                    html = html + sede + ' - ';
                }
                html = html + via;
                html = html + '</p>';
                //										html = html + '<ul>';
                //										html = html + '<li><strong>' + citta + '</strong></li>';
                //										html = html + '<li>-</li>';
                //										if (sede.length>0) {
                //											html = html + '<li>' + sede + '</li>';
                //											html = html + '<li>-</li>';
                //										}
                //										html = html + '<li>' + via + '</li>';
                //										html = html + '<li>-</li>';
                //										html = html + '</ul>';
                html = html + '</div>';
                html = html + '<div class="google-map">';
                html = html + '<input class="map_lat" type="hidden" value="' + lat + '"/>';
                html = html + '<input class="map_long" type="hidden" value="' + long + '"/>';
                html = html + '<input class="sede" type="hidden" value="' + sede + '"/>';
                html = html + '<input class="citta" type="hidden" value="' + citta + '"/>';
                html = html + '<input class="via" type="hidden" value="' + via + '"/>';
                html = html + scheda;
                html = html + '</div>';
                //alert(titolo + '-' + thumbnail + '-' + data);
            })
            html = html + '';
            $(obj).parent().append(html);
            $(obj).remove();
        },
        complete: function (msg) {
            var google_map = $(".google-map-bar");
            if (google_map.length > 0) google_map.click(

            function () {
                $(this).toggleClass("google-map-bar-close");
                $(this).next().slideToggle();
            });
            openMap();
        }
    });
}

function ManageTab(jqueryUlObject, jqueryDivObject) { /*** jqueryUlObject = gli li del tab passato (fatto quindi con un UL ***/
    /*** jqueryDivObject = i div relativi al tab mostrato e quindi da visualizzare sul click ***/
    var nPressLi = jqueryUlObject;
    var divNPress = jqueryDivObject;
    var index = 0;
/* indica il tab iniziale premuto. Se premo sempre lo stesso l'evento click viene comunque
        catturato ma non viene eseguito nessun codice  */
    if (nPressLi.length > 0) //e un controllo per verificare che esista
    {
        nPressLi.click(

        function () { /* verifico se si e cliccato su un tab non selezionato */
            /* n.b.: potevo pure usare l'hasClass("selected") sul this, verificare magari quale sia il piu dispendioso */
            var _this = $(this);
            if (nPressLi.index(_this) != index) {
                nPressLi.removeClass("selected"); /* tolgo la classe a tutti i tab */
                _this.addClass("selected"); /* la aggiungo soltanto al selezionato */
                //alert(nPressLi.index(_this));
                //alert(divNPress.parent().html());
                if ($.browser.msie && $.browser.version == "6.0") {
                    //alert(divNPress.eq(0).attr("class"));//.hasClass("selected"));
                    // alert(divNPress.parent().html()+'--'+divNPress.hasClass());
                    // if (divNPress.hasClass("selected"))
                    //divNPress.eq(0).removeClass("selected");
                    // alert(divNPress.eq(0).html());
                    //if (divNPress.parent().html().indexOf("=father")!=-1) divNPress.parent().html(divNPress.parent().html().replace("=father","=\"father\""));
                    //divNPress.removeClass("selected");
                    //divNPress.prev().removeClass("selected");
                    // alert(divNPress.parent().html());
                }
                // else
                // alert('ciao');
                //                   $('div.father').find(".selected").removeClass("selected");
                //                    divNPress.attr({"class":"father"});
                divNPress.removeClass("selected"); /* rendo visibile il div relativo al tab cliccato */
                divNPress.eq(nPressLi.index(_this)).addClass("selected"); /* togliendo la classe ad ogni div */
                index = nPressLi.index($(this)); /* e aggiungendola solo al div di interesse */
            }
        });
    }
}
//        var nPressLi=$("#ul-news-press li");
//        var divNPress=$("#news-press-tab div");
//        var index=0; /* indica il tab iniziale premuto. Se premo sempre lo stesso l'evento click viene comunque
//        catturato ma non viene eseguito nessun codice  */
//        if (nPressLi.length>0) //e un controllo per verificare che esista
//        {
//            nPressLi.click(
//                function()
//                {
//                    /* verifico se si e cliccato su un tab non selezionato */
//                    /* n.b.: potevo pure usare l'hasClass("selected") sul this, verificare magari quale sia il piu dispendioso */
//                    if (nPressLi.index(this)!=index)
//                    {
//                        nPressLi.removeClass("selected"); /* tolgo la classe a tutti i tab */
//                        $(this).addClass("selected"); /* la aggiungo soltanto al selezionato */
//
//                        divNPress.removeClass("selected"); /* rendo visibile il div relativo al tab cliccato */
//                        $(divNPress[nPressLi.index(this)]).addClass("selected"); /* togliendo la classe ad ogni div */
//                        index=nPressLi.index(this); /* e aggiungendola solo al div di interesse */
//                    }
//                }
//            );
//        }
//

function GetParamFromPath(path, paramName) {
    var oRegex = new RegExp('[\?&]' + paramName + '=([^&]+)', 'i');
    var oMatch = oRegex.exec(path);
    if (oMatch && oMatch.length > 1) return decodeURIComponent(oMatch[1]);
    else return '';
}
/*
	Aggiunta funzionalita' Video
*/

function openVideo() {
    var video = $('.video a').attr('href');
    var img = $('.video a img').attr('src');
    $('.video').media({
        width: 390,
        height: 220,
        attrs: {
            bgColor: '#000000',
            allowfullscreen: 'true'
        },
        params: {
            bgColor: '#000000',
            allowfullscreen: 'true'
        },
        src: '/www.cdi.it/swf/player.swf',
        flashvars: {
            file: video,
            frontcolor: '0xFFFFFF',
            backcolor: '0x000000',
            lightcolor: '0xEEEEEE',
            image: img,
            autostart: 'false'
        },
        caption: false
    })
}

function handleVideoYoutube() {
    $('.video_youTube').each(function (cnt) {
        var _this = $(this);
        var video_path = "http://www.youtube.com/v/"
        var video_link = _this.find("a").attr('href');
        var idyoutube = video_link.substring(video_link.indexOf("v=") + 2, video_link.length);
        if (idyoutube.indexOf("&") > 0) {
            idyoutube = idyoutube.substring(0, idyoutube.indexOf("&"));
        }
        video_path = video_path + idyoutube + "&hl=it_IT&fs=1";
        var html = "";
        html += '<object width="470" height="265">';
        html += '<param name="movie" value="' + video_path + '"></param>';
        html += '    <param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param>';
        html += '<embed src="' + video_path + '" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="470" height="265"></embed>';
        html += '</object>';
        _this.html(html);
    });
}

function handleGenericVideoYoutube() {
    var contaVideo = 0;
    $('p a').each(function () {
        var _this = $(this);
        if (_this.html().indexOf("http://www.youtube") != -1) {
            _this.parent("p").addClass("video_youTube");
            contaVideo++;
        }
    });
    $('p').each(function () {
        var _this = $(this);
        var youTubeStart = _this.html().indexOf("http://www.youtube");
        if (youTubeStart != -1) {
            var href = _this.html().substr(youTubeStart, _this.html().indexOf("<"));
            href = href.substr(0, href.indexOf(" "));
            _this.addClass("video_youTube");
            //$.log(_this.html());
            _this.html("<a href='" + href + "'>" + _this.html() + "</a>");
            contaVideo++;
        }
    });
    if (contaVideo > 0) handleVideoYoutube();
}

function reWriteLink() {
    var i = 65
    $(".menu-az-digit-container").each(function () {
        var pathlink = $(this).find("a").eq(0).attr("href");
        pathlink = pathlink.substring(0, pathlink.indexOf("#"));
        var html = "";
        for (i = 65; i <= 90; i++) {
            var voc = String.fromCharCode(i);
            html += '<a href="' + pathlink + '#' + voc + '" class="menu-az-digit">' + voc + '</a> ';
        }
        $(this).html(html);
    });
}
// gestione audio

function gestisciAudio() {
    var dewp = document.getElementById("dewplayer");

    function play() {
        if (dewp != null) dewp.dewplay();
    }

    function stop() {
        if (dewp != null) dewp.dewstop();
    }
    $("a.stop").live('click', function () {
        //alert("stop");
        $(this).removeClass("stop").addClass("play");
        stop();
        return false;
    });
    $("a.play").live('click', function () {
        //alert("play");
        $(this).removeClass("play").addClass("stop");
        play();
        return false;
    });
}


var GifRequest = function () {
        var url_base = "";
        var gif_name = "__req.gif";

        function getParamString(param_arr) {
            var param_str = "?";
            for (key in param_arr) {
                param_str += key + "=" + param_arr[key] + "&amp;amp;amp;amp;amp;amp;";
            }
            param_str += "timestamp=" + getTimeStamp();
            return param_str;
        }

        function getTimeStamp() {
            var date = new Date();
            return "" + date.getFullYear() + date.getMonth() + date.getDate() + date.getHours() + date.getMinutes() + date.getSeconds();
        }
        return {
            request: function (params, callback) {
                var req_img = new Image();
                req_img.src = url_base + gif_name + getParamString(params);
                if (callback) {
                    req_img.onload = callback;
                }
            }
        }
    }();

