﻿// File JScript


// richiede conferma
function askconf(testo)
{
   return confirm(testo);
}

// abilita obj in funzione del checkbox relativo
function chk_to_enable(nome_chk,nome_obj)
{
    var obj_chk=document.getElementById(nome_chk);
    var obj_obj=document.getElementById(nome_obj);
    
    obj_obj.disabled=!obj_chk.checked;
}

// abilita obj in funzione del checkbox a cascata di altri checkbox
function chk_to_enable_sub(nome_chk,nome_obj,nome_subchk1,nome_subobj1,nome_subchk2,nome_subobj2)
{
    var obj_chk=document.getElementById(nome_chk);
    var obj_obj=document.getElementById(nome_obj);
    
    var obj_subchk1=document.getElementById(nome_subchk1);
    var obj_subobj1=document.getElementById(nome_subobj1);
    
    var obj_subchk2=document.getElementById(nome_subchk2);
    var obj_subobj2=document.getElementById(nome_subobj2);
    

    if (obj_obj!=null)
        chk_to_enable(nome_chk,nome_obj);
    if (obj_chk.checked)
    {
        obj_subchk1.disabled = false;
        obj_subchk2.disabled = false;
        chk_to_enable(nome_subchk1,nome_subobj1);
        chk_to_enable(nome_subchk2,nome_subobj2);
    }
    else
    {
        obj_subchk1.disabled = true;
        obj_subobj1.disabled = true;
        obj_subchk2.disabled = true;
        obj_subobj2.disabled = true;
    }
    
}

// utilizzato da RESET_FIELD(OBJ)
function trim(stringa){
    while (stringa.substring(0,1) == ' '){
        stringa = stringa.substring(1, stringa.length);
    }
    while (stringa.substring(stringa.length-1, stringa.length) == ' '){
        stringa = stringa.substring(0,stringa.length-1);
    }
    return stringa;
}

//funzione per TEXTBOX tipo data
function clear_field(obj)
{
    if (obj.value=='__/__/____')
        obj.value='';
}

//funzione per TEXTBOX tipo data
function reset_field(obj)
{
    if (trim(obj.value)=='')
        obj.value='__/__/____';
}

// abilita bottone in funzione del checkbox (tipicamente privacy button)
function abilita_btn(chk_obj,btn)
{
    if (document.getElementById(chk_obj).checked)
            document.getElementById(btn).removeAttribute('disabled');
       else
            document.getElementById(btn).disabled='disabled';
}

//utilizza un RADIOBTN_LIST (ServerCTRL)
function chk_settore(rbtnl,descr_tr)
{
   var radio0=document.getElementById(rbtnl+'_0');
   var dtr=document.getElementById(descr_tr);
   var IE=(window.navigator.userAgent.indexOf('MSIE')>-1)?1:0;
   if (radio0.checked)
    {
        dtr.style.display=(IE)?'block':'table-row';
    }
    else
        dtr.style.display='none';
}

//utilizza un RADIOBTN_LIST (ServerCTRL)
function chk_italiano(rbtnl,naz_tr,it1_tr,it2_tr)
{
   var radio0=document.getElementById(rbtnl+'_0');
   var naztr=document.getElementById(naz_tr);
   var it1tr=document.getElementById(it1_tr);
   var it2tr=document.getElementById(it2_tr);
   var IE=(window.navigator.userAgent.indexOf('MSIE')>-1)?1:0;
   if (radio0.checked)
    {
        it1tr.style.display=(IE)?'block':'table-row';
        it2tr.style.display=(IE)?'block':'table-row';
        naztr.style.display='none';
    }
    else
    {
        it1tr.style.display='none';
        it2tr.style.display='none';
        naztr.style.display=(IE)?'block':'table-row';
    }
}


// funzioni calcolo posizioni puntatore
function getMouseX(e) {
    return e.pageX
        || ( e.clientX + ( document.documentElement.scrollLeft
        || document.body.scrollLeft ) );
}
function getMouseY(e) {
    return e.pageY
        || ( e.clientY + ( document.documentElement.scrollTop
        || document.body.scrollTop ) );
}


function calcola_offsetY(e)
{
    if (e.pageY)
    {
                var Element = e.target ;
                var CalculatedTotalOffsetTop = 0 ;

                while (Element.offsetParent)
                {
                        CalculatedTotalOffsetTop += Element.offsetTop ;
                        Element = Element.offsetParent ;
                }
                var offyy;
                offyy = e.pageY - CalculatedTotalOffsetTop ;
                return offyy;
    }
    else
       return e.offsetY;
}

function calcola_offsetX(e)
{
    if (e.pageX)
    {
                var Element = e.target ;
                var CalculatedTotalOffsetLeft = 0 ;

                while (Element.offsetParent)
                {
                        CalculatedTotalOffsetLeft += Element.offsetLeft ;
                        Element = Element.offsetParent ;
                }
                var offxx;
                offxx = e.pageX - CalculatedTotalOffsetLeft ;
                return offxx;
    }
    else
       return e.offsetX;
}

//end posizioni puntatore


// -------------------------------------   funzioni gestioni PANNELLI ------------------------------------------

// visualizza e mostra al centro della window il pannello di attesa
function waitpnl_on(nomepnl)
{
      var bodyH;
      
      if (window.innerWidth)
            bodyH=window.innerHeight;
        else if (document.all)
            bodyH=document.body.clientHeight;

      var iebody=(document.compatMode && document.compatMode != "BackCompat")? document.documentElement : document.body
    
      var posizioneY= ( bodyH / 3) + (document.all? iebody.scrollTop : pageYOffset);
      
      document.getElementById(nomepnl).style.top=posizioneY+"px";
      document.getElementById(nomepnl).style.visibility='visible';
}

function waitpnl_off(nomepnl)
{
    document.getElementById(nomepnl).style.visibility='hidden';
}

function pnlsx_on(e,td,pnl,ord)
{
    var ofsx=15;
    if (document.body.clientWidth>990)
        ofsx=(document.body.clientWidth-990)/2+15;
    
    document.getElementById(pnl).style.display='block';
    document.getElementById(pnl).style.left=(ofsx+145)+"px";
    document.getElementById(pnl).style.top=ord+"px";
    if (td) td.className="categorie_on";
}

function pnldx_on(e,td,pnl,ord)
{
    var ofsx=808;
    if (document.body.clientWidth>990)
        ofsx=(document.body.clientWidth-990)/2+808;
    
    document.getElementById(pnl).style.display='block';
    document.getElementById(pnl).style.left=(ofsx-145)+"px";
    document.getElementById(pnl).style.top=ord+"px";
    if (td) td.className="categorie_on";
}

function pnlup_on(e,pnl)
{
    f_x=-2;
    f_y=-2;
    if (e.pageY) f_y=1;
    if (e.pageX) f_x=2;
        
    document.getElementById(pnl).style.display='block';
    document.getElementById(pnl).style.left=((getMouseX(e)-calcola_offsetX(e))+f_x-1)+"px";
    document.getElementById(pnl).style.top=((getMouseY(e)-calcola_offsetY(e))+f_y+26)+"px";

}

function pnl_off(obj,pnl)
{
    document.getElementById(pnl).style.display='none';
    if (obj) obj.className="categorie_off";

}

function keep_pnl_on(pnl)
{
    pnl.style.display='block';
}

function descr_pnl_on(iddi,e)
{
    var posizioneY;
    var ofy=calcola_offsetY(e);
    posizioneY=getMouseY(e)+21-ofy;
    var posizioneX;
    var ofx=calcola_offsetX(e);
    posizioneX=getMouseX(e)+30-ofx;
    document.getElementById(iddi).style.visibility='visible';
    document.getElementById(iddi).style.top=posizioneY+"px";
    document.getElementById(iddi).style.left=posizioneX+"px";
}

function descr_pnl_off(iddi,e)
{
    document.getElementById(iddi).style.visibility='hidden';
}

function preview_pnl_on(iddi,e)
{
    var posizioneY;
    var ofy=calcola_offsetY(e);
    posizioneY=getMouseY(e)+21-ofy;
    var posizioneX;
    posizioneX=getMouseX(e)-10;
    document.getElementById(iddi).style.visibility='visible';
    document.getElementById(iddi).style.top=posizioneY+"px";
    /*document.getElementById(iddi).style.left=posizioneX+"px";*/
}

function preview_pnl_off(iddi,e)
{
    document.getElementById(iddi).style.visibility='hidden';
}


//profilo finanziario
function attivaNwhite(chk,txb)
{
    var baffo = document.getElementById(chk);
    
    if (baffo.checked)
    {
        document.getElementById(txb).disabled = false;
        document.getElementById(txb).style.backgroundColor = '#FFFFFF';
    }
    else
    {
        document.getElementById(txb).disabled = true;
        document.getElementById(txb).style.backgroundColor = '#EEEEEE';        
    }
}



//  seleziona radiobuttonlist - utenti - PERFORMANCA ppers
function selected_radio(obj_radio,obj_to_enable)
{
    var radio = document.getElementById(obj_radio);
    var obj = document.getElementById(obj_to_enable);
 
    obj.disabled = (radio.value != '3');   
}

// arma DDL UTENTI - PERFORMANCA ppers
function init_performance(nome,obj_to_enable)
{
    var obj = document.getElementById(obj_to_enable);
    var array_radio = document.getElementsByName(nome);

    for (var i=0; i< array_radio.length ; i++)
    {
        if (array_radio[i].checked)
            obj.disabled = (array_radio[i].value != '3');
    }
        
}


//cessione PersonaFisica cittadina italiana
function offobjpf(nome_chk, nome_obj1,nome_obj2,nome_obj3)
{
    var chk_obj = document.getElementById(nome_chk);
    
    if (chk_obj != null)
    {
        if (!chk_obj.checked)
        {
            document.getElementById(nome_obj1).disabled = false;
            document.getElementById(nome_obj2).disabled = false;
            document.getElementById(nome_obj3).disabled = false;
        }
        else
        {
            document.getElementById(nome_obj1).disabled = true;
            document.getElementById(nome_obj2).disabled = true;
            document.getElementById(nome_obj3).disabled = true;
        }
    }
}


//cessione gestione Stati

function analizza_stato(radio, nome_div)
{
    var div = document.getElementById(nome_div);

    if (div != null)
        switch (radio.value)
        {
            case '1':
                div.style.display = "block";
                break; // nuova
            case '2':
                div.style.display = "block";
                break; // ex in
            case '3':
                div.style.display = "none";
                break; // prop
            case '4':
                div.style.display = "block";
                break; // prop acc
            case '5':
                div.style.display = "block";
                break; // istruit
            case '6':
                div.style.display = "block";
                break; // delib
            case '7':
                div.style.display = "block";
                break; // notif
            case '8':
                div.style.display = "none";
                break; // liq
            case '9':
                div.style.display = "none";
                break; // resp
            case '10':
                div.style.display = "none";
                break; // ritir
        }
}