﻿var SitePath = "";
var mouseX, mouseY;
var ctrlPressed=false;
var altPressed=false;
var shiftPressed=false;

//Element.observe(document, "mousemove", getMousePos);
// You need to tell Mozilla to start listening:
if(window.Event && document.captureEvents)
    document.captureEvents(Event.MOUSEMOVE);

// Then assign the mouse handler

document.onmousemove = getMousePos;

function OpenMenuItem(location){
    document.location = location ;
}

function OpenClose(idEl,imgEl){
    var el = document.getElementById(idEl);
    if (el.className.toUpperCase().indexOf('HIDDEN') >=0){
        el.className = el.className.replace('HIDDEN',"");
        imgEl.src = imgEl.src.replace('SortAsc','SortDsc');
    }
    else {
        el.className = el.className + " HIDDEN";
        imgEl.src = imgEl.src.replace('SortDsc','SortAsc');
        
    }
    
}


function AddVoceLegenda(trToUse,tbIdToUse){
    var oEditor = FCKeditorAPI.GetInstance(tbIdToUse) ;
    if (oEditor){
        oEditor.InsertHtml(trToUse.innerHTML);
    }
}


function getMousePos(e)
{
    try{
        if (!e)
        var e = window.event||window.Event;

        if('undefined'!=typeof e.pageX)
        {
            mouseX = e.pageX;
            mouseY = e.pageY;
        }
        else
        {
            mouseX = e.clientX + document.body.scrollLeft;
            mouseY = e.clientY + document.body.scrollTop;
        }
    }
    catch(ex){}

}
      
function SelectTab(objSender,indexToEnable,idToMantain){
    var trLink = objSender.parentNode;
    var tbl = trLink.parentNode.parentNode.parentNode.parentNode.parentNode;
    var mantainer = document.getElementById(idToMantain);
    mantainer.value = indexToEnable;
    var tToUse = tbl;

    var curTabIndex = -1;
    var isTab = false;
    for(var i=1;i<tToUse.childNodes.length;i++){
        var tr = tToUse.childNodes[i];
        
        isTab = false;
        try{
            if (tr.getAttribute('IsTab')){
                isTab = true;
                curTabIndex++;
            }   
        }
        catch(e){}
        if (isTab){
            tr.className = tr.className.replace('HIDDEN','');            
            if (curTabIndex != indexToEnable){
                tr.className += " HIDDEN";
            }
        }
    }
    
    for(var i=0;i<trLink.childNodes.length;i++){
        var td = trLink.childNodes[i];
        isTab = false; 
        try{
            if (td.getAttribute('idTab')){
                isTab = true;
            }   
        }
        catch(e){}
        if (isTab){
            var tabId = td.getAttribute('idTab');
            if (parseInt(tabId,10) == indexToEnable){
                td.className="TabSelectedInizio";
                trLink.childNodes[i+1].className="TabSelected TabSelectedSfondo";
                trLink.childNodes[i+2].className="TabSelectedFine";
            }
            else{
                td.className="TabUnSelectedInizio";
                trLink.childNodes[i+1].className="TabUnSelected TabUnSelectedSfondo";
                trLink.childNodes[i+2].className="TabUnSelectedFine";
            }
            i+=2;
        }
    
    }

}

function RequestXmlInfo(cmd,additional){
    var ret = "";
    var url = SitePath + "/DoXml.aspx?" + additional;
    new Ajax.Request(url,
                    {
                        asynchronous: false,
                        method: "post",
                        parameters: {
                            CMD: cmd
                        },
                        onSuccess: function(transport){
                            ret = transport.responseText.toLowerCase();
                        }
                    });
                    //alert(ret);
    return ret;
    
}

function RequestXMLPage(url){
      var ret = "";
      new Ajax.Request(url,
                    {
                        asynchronous: false,
                        method: "post",
                        onSuccess: function(transport){
                            ret = transport.responseText;
                        }
                    });
                    //alert(ret);
    return ret;
}

function OpenDetail(TipoDettaglio,idDettaglio){
    window.open(GetPageDettaglio(TipoDettaglio,idDettaglio,false));
}


function ShowDetail(TipoDettaglio,idDettaglio){
  var oDIV = document.getElementById('dvDettaglio');
  var container = document.getElementById('ToolTipDettaglio');
  oDIV.style.top = parseInt(mouseY +10+ document.body.scrollTop) + "px";
  oDIV.style.left = parseInt(mouseX + 10 + document.body.scrollLeft) +"px"; 
  container.innerHTML = "Attendere, caricamento in corso...";
  oDIV.className = "FLOATING";       
  container.innerHTML = RequestXMLPage(GetPageDettaglio(TipoDettaglio,idDettaglio,true));
  var width = parseInt(oDIV.clientWidth);
  var right = (parseInt(mouseX + 10 + document.body.scrollLeft) + width);
  var height = parseInt(oDIV.clientHeight);
  var bottom = (parseInt(mouseY +10+ document.body.scrollTop) + height);
  if (right > parseInt(document.body.clientWidth)){
    oDIV.style.left = (mouseX -width -10) + "px";
  }
  if (parseInt(oDIV.style.left) < 0){
    oDIV.style.left = "0px";
  }
  //alert(parseInt(document.body.clientHeight));
  if (bottom > parseInt(document.body.clientHeight)){
    oDIV.style.top = (mouseY - height-10) + "px";
  }
  if (parseInt(oDIV.style.top) < 0){
    oDIV.style.top = "0px";
  }
}

function GetPageDettaglio(TipoDettaglio,idDettaglio,isToolTip){
    var url = "";
    switch(TipoDettaglio){
    case "EVENTO":
        url = SitePath +"/Details/DettaglioEvento.aspx?IDEVENTO=" + idDettaglio;
        break;
        
    case "GALLERIA":
        url = SitePath + "/Details/DettaglioGalleria.aspx?IDGalleria=" + idDettaglio;
        break;
         
    case "GRUPPODOCUMENTO":
        url = SitePath + "/Details/DettaglioDocumenti.aspx?IdGruppo=" + idDettaglio;
        break;       

    case "NEWS":
        url = SitePath + "/Details/DettaglioNews.aspx?IdNews=" + idDettaglio;
        break;               
    
    case "SONDAGGIO":
        url = SitePath + "/Logged/Details/DettaglioSondaggio.aspx?IdSondaggio=" + idDettaglio;
        break;               
    
    case "FAQCOMITATO":
        url = SitePath + "/Details/DettaglioFAQComitato.aspx?IdFaq=" + idDettaglio;
        break;          
        
    case "PRENOTAZIONECASACACCIA":
        url = SitePath + "/Logged/Details/DettaglioPrenotazioneCasaCaccia.aspx?IDPrenotazione=" + idDettaglio;
        break;
        
    case "COMPLEANNI":
        url= SitePath + "/DoXml.aspx?CMD=COMPLEANNI";
        break;
                
     default:
        url = "about:blank";
        break;
  }
  if (isToolTip) {
    url += "&TOOLTIP=1";
  }
  return url;
}

function HideDetail(){
  var oDIV = document.getElementById('dvDettaglio');
  oDIV.className = "HIDDEN";
}

function ChangeDateCalendario(movement,date){
    var dhiCal = document.getElementById('dhiCalendario');
    if (dhiCal){
        //alert('aaa');
        dhiCal.innerHTML = RequestXMLPage(SitePath + "/DashBoards/Calendario.aspx?DHICALENDARIO" + movement + "VAL=" + date);
    }
}

function mouseDown(e) {
    ctrlPressed=false;
    altPressed=false;
    shiftPressed=false;
    if (parseInt(navigator.appVersion)>3) {

        var evt = navigator.appName=="Netscape" ? e:event;

        if (navigator.appName=="Netscape" && parseInt(navigator.appVersion)==4) {
            // NETSCAPE 4 CODE
            var mString =(e.modifiers+32).toString(2).substring(3,6);
            shiftPressed=(mString.charAt(0)=="1");
            ctrlPressed =(mString.charAt(1)=="1");
            altPressed  =(mString.charAt(2)=="1");
        }
        else {
            // NEWER BROWSERS [CROSS-PLATFORM]
            shiftPressed=evt.shiftKey;
            altPressed  =evt.altKey;
            ctrlPressed =evt.ctrlKey;
        }
    }
    return true;
}

if (parseInt(navigator.appVersion)>3) {
    document.onmousedown = mouseDown;
    if (navigator.appName=="Netscape") 
        document.captureEvents(Event.MOUSEDOWN);
}



function ToggleByName(name, plus){
    //debug;
    var els = $$('.' + name);
    //alert(els.length);
    for(var i=0;i<els.length;i++){
        Element.toggle(els[i]);
    }
    var plus = $(plus);
    if (plus.src.indexOf("plus.gif") >=0)
        plus.src = SitePath + "/Icons/minus.gif";
    else
        plus.src = SitePath + "/Icons/plus.gif";
}

function ShowNew(idToShow){
    Element.removeClassName($(idToShow), "HIDDEN");
}

var selCheck = new Array();
function SelCheckId( baseCheckId ){
    var curSel = true;
    var found = false;
    for ( var i=0; i< selCheck.length; i++)
        if ( selCheck[i].id == baseCheckId ){
            //alert(selCheck[i].valore);
            curSel = selCheck[i].valore;
            selCheck[i].valore = !selCheck[i].valore;
            found = true;
            break;
        }
    if (!found)
        selCheck[selCheck.length] = { id: baseCheckId,
                                      valore: false };
    for(var i=0;i<99;i++){
        try{
            var el = document.getElementById(baseCheckId + "_" + i);
            el.checked = curSel;
        }catch(e){
            break;
        }
    }
}

function RicercaDocumenti(idSearchField, soloUnita){
    //alert('ricerca');
    var ricerca = $(idSearchField).value;
    if (ricerca != "")
        location.href = SitePath + "/Logged/ListaDocumentiRicerca.aspx?Nome=" + ricerca + "&UNITA=" + soloUnita;
}

function KeyDownRicerca(soloUnita,idSearchField, event){
    var retVal = true;
    try {
        //alert(event.keyCode);
        if (parseInt(event.keyCode) == 13) {
            //alert('enter' + idSearchField);
            try{
                event.cancelBubble = true;
            }
            catch(x){}            
            RicercaDocumenti(idSearchField,soloUnita);
            retVal = false;
        }
            
   }
   catch (e){
        alert("errore" + e);
   }
   return retVal;
}