
function MY_DisTabSelect(IdTab, Tabs, Pkid) {
    MY_ShowBlanker(1);
    MY_Ajax({
        url: 'ajax/AjaxDispo.ashx', 
        showErr: 1,
        data: {cmd: 'settipo', pkid: Pkid, tabs: Tabs},
        funcOk: function (data) {
            var tSel, tDes;
            if (Tabs==1) {
                tSel = IdTab + '1';
                tDes = IdTab + '0';
            } else {
                tSel = IdTab + '0';
                tDes = IdTab + '1';
            }
            $('#'+tSel).attr('class', 'tabsel');
            $('#'+tDes).attr('class', 'tab');
            $('#MyDisContainer').html(data);
            MY_HideBlanker();
        },
        funcKo: function(data) { 
            MY_HideBlanker(); 
        }
    });    
}

/////////////////////////////////////////////////////////////////////////////
// funzioni per la gestione del popup delle disponibilità nella registrazione

function REG_DispoAddPer(Cosa) {
    MY_ShowBlanker(1);
    var title;
    if (Cosa == 0) title = 'Aggiungi Periodo Disponibilita\'';
    else title = 'Aggiungi Periodicita\' Disponibilita\'';
    MY_Ajax({
        url: 'ajax/AjaxREG_Dispo.ashx', 
        showErr: 1,
        data: {cmd: 'addper',
           cosa: Cosa,
		   dtDal: document.getElementById('HiddenPDispoaddDtDal').value,
		   oraDalH: document.getElementById('HiddenPDispoaddOraDalH').value,
		   oraDalM: document.getElementById('HiddenPDispoaddOraDalM').value,
		   dtAl: document.getElementById('HiddenPDispoaddDtAl').value,
		   oraAlH: document.getElementById('HiddenPDispoaddOraAlH').value,
		   oraAlM: document.getElementById('HiddenPDispoaddOraAlM').value,
		   day: document.getElementById('HiddenPDispopopDay').value,
		   durata: document.getElementById('HiddenPDispopopDurata').value,
		   note: document.getElementById('HiddenPDisponote').value
		  },
        funcOk: function (data) {
            MY_HideBlanker();
            MY_Popup({
                title: title, 
                data: data, 
                width: 330, 
                height: 350,
                sizable: false,
                not_close: true
            });
        },
        funcKo: function(data) { 
            MY_HideBlanker(); 
        }
    });    
}

// per i cap TODO!
function REG_DispoAddCap() {
    MY_ShowBlanker(1);
    var title;
    MY_Ajax({
        url: 'ajax/AjaxREG_Dispo.ashx', 
        showErr: 1,
        data: {cmd: 'addcap'},
        funcOk: function (data) {
            MY_HideBlanker();
            MY_Popup({
                title: 'Aggiungi Cap Disponibilita\'', 
                data: data, 
                width: 700, 
                height: 500,
                sizable: false,
                not_close: true
            });
        },
        funcKo: function(data) { 
            MY_HideBlanker();
        }
    });
}

/*
function REG_PDispoDispoAddCapGo(t) {
    MY_ShowBlanker(1);
    var frm = $('#PDispoform');
    MY_Ajax({
        url: MyUrlBase + 'ajax/REG_AjaxDispo.ashx',
        data: frm.serialize(),
        funcOk: function(data) {
            $('#DispContDiv').html(data);
            MY_HideBlanker();
            MY_ClosePop(t);
        },
        funcKo: function(data) { MY_HideBlanker(); }
    });
}*/


function compilaDisponibilitaHidden() {
    var cosa = document.getElementById('PDispocosa').value;

    document.getElementById('HiddenPDispocosa').value = cosa;

    // setto i valori del form disponibilita nel hidden div della pagina default
    var dtDal = document.getElementById('PDispoaddDtDal');
    if(dtDal != null){
	    document.getElementById('HiddenPDispoaddDtDal').value = dtDal.value;
	}
    var oraDalH = document.getElementById('PDispoaddOraDalH');
    if(oraDalH != null){
    	    document.getElementById('HiddenPDispoaddOraDalH').value = oraDalH.value;
    }

    var oraDalM = document.getElementById('PDispoaddOraDalM');
    if(oraDalM != null){
    	    document.getElementById('HiddenPDispoaddOraDalM').value = oraDalM.value;
    }

    var dtAl = document.getElementById('PDispoaddDtAl');
    if (dtAl != null) {
        document.getElementById('HiddenPDispoaddDtAl').value = dtAl.value;
    }

    if (cosa == 0) {

        var oraAlH = document.getElementById('PDispoaddOraAlH');
        if (oraAlH != null) {
            document.getElementById('HiddenPDispoaddOraAlH').value = oraAlH.value;
        }

        var oraAlM = document.getElementById('PDispoaddOraAlM');
        if (oraAlM != null) {
            document.getElementById('HiddenPDispoaddOraAlM').value = oraAlM.value;
        }
    
    
    } else {
        var day = document.getElementById('PDispopopDay');
        if (day != null) {
            document.getElementById('HiddenPDispopopDay').value = day.value;
        }
        var durata = document.getElementById('PDispopopDurata');
        if (durata != null) {
            document.getElementById('HiddenPDispopopDurata').value = durata.value;
        }    
    }

    var note = document.getElementById('PDisponote');
    if(note != null){
    	    document.getElementById('HiddenPDisponote').value = note.value;
    	}
 }

 function REG_PDispoDispoAddCapGo(t) {
     // controllare se esiste almeno un cap definito altrimenti return false
     // serve settare nel campo hidden?
     //document.getElementById('HiddenPDispoProvCapDa').value = caps;
     MY_ShowBlanker(1);
     var frm = $('#PDispoform');
     var dati_form = frm.serialize();
     //var array_dati_form = dati_form.split('&');
     var found = false;
     var caps = "";
     var str_searched = dati_form.indexOf("PDispock-", 0);
     if (str_searched > -1) {
         found = true;
         caps = dati_form.substring(str_searched, dati_form.length);
         // setto i caps nella pagina
     document.getElementById('HiddenPDispoProvCapDa').value = caps;
     }
   
     /*
     MY_Ajax({
         url: MyUrlBase + 'ajax/AjaxDispo.ashx',
         data: frm.serialize(),
         funcOk: function(data) {
             $('#DispContDiv').html(data);
             MY_HideBlanker();
             MY_ClosePop(t);
         },
         funcKo: function(data) { MY_HideBlanker(); }
     });
     */
     return found;
 }


function resetDisponibilitaPopup() {
    var cosa = document.getElementById('PDispocosa').value;
    
    // resetto i valori del form esigenza nel popup
    document.getElementById('PDispoaddDtDal').value = "";
    document.getElementById('PDispoaddOraDalH').value = "0";
    document.getElementById('PDispoaddOraDalM').value = "0";

    document.getElementById('PDispoaddDtAl').value = "";
    if (cosa == 0) {
        document.getElementById('PDispoaddOraAlH').value = "0";
        document.getElementById('PDispoaddOraAlM').value = "0";
    } else {
        var opzioni = document.getElementById('PDispopopDay').options;
        for (i = 0; i < opzioni.lenght; i++) {
            var opt = opzioni.item(i);
            if (opt.value == "LU")
                opt.selected = 'selected';
        }

        var opzioni = document.getElementById('PDispopopDurata').options;
        for (i = 0; i < opzioni.lenght; i++) {
            var opt = opzioni.item(i);
            if (opt.value == "1")
                opt.selected = 'selected';
        }
    }

    document.getElementById('PDisponote').value = "";


    // resetto anche i valori del form esigenza nella padina default
    document.getElementById('HiddenPDispoProvCapDa').value = "";
    
    document.getElementById('HiddenPDispoaddDtDal').value = "";
    document.getElementById('HiddenPDispoaddOraDalH').value = "0";
    document.getElementById('HiddenPDispoaddOraDalM').value = "0";

    document.getElementById('HiddenPDispoaddDtAl').value = "";
    document.getElementById('HiddenPDispoaddOraAlH').value = "0";
    document.getElementById('HiddenPDispoaddOraAlM').value = "0";

    document.getElementById('HiddenPDispopopDay').value = "LU";
    document.getElementById('HiddenPDispopopDurata').value = "1";

    document.getElementById('HiddenPDisponote').value = "";

}




/////////////////////////////////////////////////////////////////////////////


function DispoAddPer(Cosa) {
    MY_ShowBlanker(1);
    var title;
    if (Cosa==0) title='Periodo';
    else  title='Periodicità';
    MY_Ajax({
        url: 'ajax/AjaxDispo.ashx', 
        showErr: 1,
        data: {cmd: 'addper', cosa: Cosa},
        funcOk: function (data) {
            MY_HideBlanker();
            MY_Popup({
                title: title, 
                data: data, 
                width: 330, 
                height: 350,
                sizable: false
            });
        },
        funcKo: function(data) { 
            MY_HideBlanker(); 
        }
    });    
}


function DispoDelPer( pId ) {
    MY_Confirm(
       'conferma', 
       'Confermi eliminazione disponibilità?', 
       function () {
            MY_ShowBlanker(1);
            MY_Ajax({
                url: 'ajax/AjaxDispo.ashx', 
                showErr: 1,
                data: { cmd: 'delper', pid: pId },
                funcOk: function (data) {
                    $('#DispContDiv').html(data);
                    MY_HideBlanker();
                },
                funcKo: function(data) { MY_HideBlanker(); }
            });    
    });
}


function DispoAddCap() {
    MY_ShowBlanker(1);
    var title;
    MY_Ajax({
        url: 'ajax/AjaxDispo.ashx', 
        showErr: 1,
        data: {cmd: 'addcap' },
        funcOk: function (data) {
            MY_HideBlanker();
            MY_Popup({
                title: 'Aggiungi Cap', 
                data: data, 
                width: 700, 
                height: 500,
                sizable: false
            });
        },
        funcKo: function(data) { 
            MY_HideBlanker(); 
        }
    });
}

function DispoDelete(idCap, idPeriodo){
    MY_Confirm(
       'conferma',
       'Confermi eliminazione disponibilita\'?',
       function() {
           MY_ShowBlanker(1);
           MY_Ajax({
               url: 'ajax/AjaxDispo.ashx',
               showErr: 1,
               data: { cmd: 'deldispo', cid: idCap, pid: idPeriodo },
               funcOk: function(data) {
                   $('#DispContDiv').html(data);
                   MY_HideBlanker();
               },
               funcKo: function(data) { MY_HideBlanker(); }
           });
       });
}

function DispoDelCap(Pkid, Cap, Pr) {    
    var txt;
    if (Cap == 'x' && Pr == 'x') txt = 'Confermi eliminazione di tutti i cap?'
    else txt = 'Confermi eliminazione cap?'
    MY_Confirm(
       'conferma', 
       txt, 
       function () {
            MY_ShowBlanker(1);
            MY_Ajax({
                url: 'ajax/AjaxDispo.ashx', 
                showErr: 1,
                data: { cmd: 'delcap', pkid: Pkid, cap: Cap, pr: Pr},
                funcOk: function (data) {
                    $('#DispContDiv').html(data);
                    MY_HideBlanker();
                },
                funcKo: function(data) { MY_HideBlanker(); }
            });    
    });
}


//### POPUP #########################################################################################################
function PDispoValidate0() {
    var ok = true;
    var c, ex1, ex2;
    
    var frm = $('.PDispoForm0');
    frm.find('.verrore').html('');


    c = $('#PDispoaddDtDal');
    ex1 = VAL_CheckDateTime2(c.attr('value'), $('#PDispoaddOraDalH').attr('value'), $('#PDispoaddOraDalM').attr('value'));
    if (!ex1.e) { ok=false; frm.find('.PDispoaddDtDal').html('periodo non valido'); }

    c = $('#PDispoaddDtAl');
    ex2 = VAL_CheckDateTime2(c.attr('value'), $('#PDispoaddOraAlH').attr('value'), $('#PDispoaddOraAlM').attr('value'));
    if (!ex2.e) { ok=false; frm.find('.PDispoaddDtAl').html('periodo non valido'); }

    if (!VAL_CheckTime($('#PDispoaddOraDalH').attr('value'), $('#PDispoaddOraDalM').attr('value'))) { ok=false; frm.find('.PDispoaddOraDal').html('ora non valida'); }

    if (!VAL_CheckTime($('#PDispoaddOraAlH').attr('value'), $('#PDispoaddOraAlM').attr('value'))) { ok=false; frm.find('.PDispoaddOraAl').html('ora non valida'); }

    if (ex1.e && ex2.e) {
        if (ex1.data>ex2.data) {
            ok=false;
            frm.find('.PDispoaddDtDal').html('intervallo non valido');
            frm.find('.PDispoaddDtAl').html('intervallo non valido'); 
        }
    }
    return ok;
}


function PDispoValidate1() {
    var ok = true;
    var c, ex1, ex2;
    
    var frm = $('.PDispoForm1');
    frm.find('.verrore').html('');

    c = $('#PDispoaddDtDal');
    ex1 = VAL_CheckDate2(c.attr('value'));
    if (!ex1.e) { ok=false; frm.find('.PDispoaddDtDal').html('data non valida'); }

    c = $('#PDispoaddDtAl');
    ex2 = VAL_CheckDate2(c.attr('value'));
    if (!ex2.e) { ok=false; frm.find('.PDispoaddDtAl').html('data non valida'); }

    if (ex1.e && ex2.e) {
        if (ex1.data>ex2.data) {
            ok=false;
            frm.find('.PDispoaddDtDal').html('intervallo non valido');
            frm.find('.PDispoaddDtAl').html('intervallo non valido'); 
        }
    }

    if (!VAL_CheckTime($('#PDispoaddOraDalH').attr('value'), $('#PDispoaddOraDalM').attr('value'))) { ok=false; frm.find('.PDispoaddOraDal').html('ora non valida'); }

    return ok;
}

function DispoAdd(t, Tipo, pkid) {
    MY_ShowBlanker(1);
    MY_Ajax({
        url: 'ajax/AjaxDispo.ashx',
        showErr: 1,
        data: { cmd: 'adddispo',

            lista_cap: document.getElementById('HiddenPDispoProvCapDa').value,
            cosa: document.getElementById('HiddenPDispocosa').value,
            oraDalM: document.getElementById('HiddenPDispoaddOraDalM').value,
            dtDal: document.getElementById('HiddenPDispoaddDtDal').value,
            oraDalH: document.getElementById('HiddenPDispoaddOraDalH').value,
            oraDalM: document.getElementById('HiddenPDispoaddOraDalM').value,
            dtAl: document.getElementById('HiddenPDispoaddDtAl').value,
            oraAlH: document.getElementById('HiddenPDispoaddOraAlH').value,
            oraAlM: document.getElementById('HiddenPDispoaddOraAlM').value,
            day: document.getElementById('HiddenPDispopopDay').value,
            durata: document.getElementById('HiddenPDispopopDurata').value,
            note: document.getElementById('HiddenPDisponote').value
        },
        funcOk: function(data) {
            //$('#DispContDiv').html(data);
            MY_HideBlanker();
            MY_ClosePop(t);
            MY_MsgBox("Inserimento disponibilita'", data);
            MY_DisTabSelect('PDispoTab', 0, pkid);
        },
        funcKo: function(data) {
            MY_HideBlanker();
            MY_MsgError("Errore", data);
        }
    });
}

function PDispoPopAdd(t, Tipo) {
    var ok;
    if (Tipo==0) ok = PDispoValidate0();
    else ok = PDispoValidate1()
    if (ok) {
        var frm = $('#PDispopopForm');
        if (frm.length>0) {
            MY_ShowBlanker(1);
            MY_Ajax({
                url: 'ajax/AjaxDispo.ashx',
                showErr: 1,
                data: frm.serialize(),
                funcOk: function (data) {
                            $('#DispContDiv').html(data);
                            MY_HideBlanker();
                            MY_ClosePop(t);
                },
                funcKo: function(data) { MY_HideBlanker(); }
            });
        }
    }
}


function PDispoSelCartina(reg, pro) {
    reg = reg ? reg : '';
    pro = pro ? pro : '';
    $('#PDispoReg').attr('value', reg);
    $('#PDispoPr').attr('value', pro);
    var html=reg;
    if (pro.length>0) html = html + " \\ " + pro;
    html = html + '&nbsp;';
    $('#PDispoDove').html(html);
    if (pro.length > 0) PDispoExec('', reg, pro, '1');
    else {
        $('#PDispoRis').html('');
        $('#CRCapDiv').hide();
    } 
}


function PDispoOpCerca() {
    var txt = MyTrim($('#PDispoTxtC').attr('value'));
    var reg = MyTrim($('#PDispoReg').attr('value'));
    var prov = MyTrim($('#PDispoPr').attr('value'));
    if ( txt=='' && reg=='' && prov=='' ) {
        MY_MsgBox('cerca', 'nessun criterio di ricerca specificato');
    } else {
        PDispoExec(txt, reg, prov);
    }
}


function PDispoExec(txt, reg, prov, DaMap) {    
    DaMap = DaMap ? DaMap : '';
    var div = $('#PDispoRis');
    MY_ShowBlanker(1);
    MY_Ajax({
        url: MyUrlBase+'ajax/AjaxDispo.ashx',
        data: {cmd: 'cercacap', txt: txt, prov: prov, reg: reg, damap: DaMap },
        funcOk: function (data) {
                    div.html(data);
                    MY_HideBlanker();
        },
        funcKo: function(data) { MY_HideBlanker(); }
    });
}


function PDispoSetInfoMap(txt) {
    $('#PDispoDove').html(txt);
}


function PDispoCkSel(id) {
    var v='';
    if (id==1) v='checked';
    $('.PDispoClck').attr('checked',v);
}


function PDispoDispoAddCapGo(t) {
    // controllare se esiste almeno un cap definito altrimenti return false
    MY_ShowBlanker(1);
    var frm = $('#PDispoform');
        MY_Ajax({
            url: MyUrlBase + 'ajax/AjaxDispo.ashx',
            data: frm.serialize(),
            funcOk: function(data) {
                $('#DispContDiv').html(data);
                MY_HideBlanker();
                MY_ClosePop(t);
            },
            funcKo: function(data) { MY_HideBlanker(); }
        });
}

