var array_sezioni = new Array();
var elapsed = 0;

var callbacks = {
    get_pacchetti : function(result) {
        if (result) {
            if( typeof(result) != "object" ) {
                hide('layerName');
                div = document.getElementById('informazioni');
                div.innerHTML = result;
            } else {
                if (result != true) alert(result["errore"]);
                hide('layerName');
            }
        } else {
            hide('layerName');
            alert(js_errore_in_esecuzione);
        }
    },
    conferma_pacchetto : function(result) {
        if (result) {
            if( typeof(result) != "object" ) {
                changenumber(2);
                div1 = document.getElementById('form_show');
                div1.innerHTML = result;
                initLabels();
                hide('loading');
                cp = new Date;
                val = cp.getTime();
                //alert('Operazione eseguita in '+(val-elapsed)+' millisecondi.');
            } else {
                errore = result["errore"];
                alert(errore);
                hide('loading');
            }
        } else {
            hide('loading');
            alert(js_errore_in_esecuzione);
        }
    },
    acquista_pacchetto : function(result) {
        if (result) {
            if(typeof result != "object" ) {
                hide('loading');
                if (result != true) alert(result);
            } else {
                if (result["0"] == 'ok') {
                    changenumber(result["passo"]);
                    el = document.getElementById('form_show');
                    el.innerHTML = result["contenuto"];
                    hide('loading');
                    cp = new Date;
                    val = cp.getTime();
                    //alert('Operazione eseguita in '+(val-elapsed)+' millisecondi.');
                } else {
                    hide('loading');
                    if (result[2]) {
                        setLabels(result[2]);
                        el = document.getElementById(result[2]);
                        if (typeof el == 'object' && el != null) {
                            el.focus();
                        }
                    }
                    alert(result[1]);
                    return false;
                }
            }
        } else {
             hide('loading');
             alert(js_errore_in_esecuzione);
        }
        return false;

        /* La versione precedente */
        /*
        if (result) {
            if(typeof result != "object" ) {
                hide('loading');
                changenumber(3);
                el = document.getElementById('form_show');
                el.innerHTML = result;
            } else {
                hide('loading');
                if (result[2]) {
                    setLabels(result[2]);
                    el = document.getElementById(result[2]);
                    if (typeof el == 'object' && el != null) {
                        el.focus();
                    }
                }
                alert(result[1]);
                return false;
            }
        } else {
             hide('loading');
             alert(js_errore_in_esecuzione);
             return false;
        }
        return false;
        */
    }
}

var phpajaxdapro = new ajaxdapro(callbacks);

function div_from_select(sel, div) {
    if( typeof(sel) != "object" ) {
        sel = document.getElementById(sel);
    }

    if( typeof(sel) == "object"  ) {
        if( typeof(div) != "object" ) {
            div = document.getElementById(div);
        }

        if( typeof(div) == "object" && div.nodeName == 'DIV') {
            div2 = document.getElementById('divaggiungisottosezione');
            if (sel.options[sel.selectedIndex].value == 0) {
                div.innerHTML = '';
                div2.style.visibility = 'hidden';
            } else {
                text = sel.options[sel.selectedIndex].text;
                div.innerHTML = text;
                //div2.innerHTML = js_aggiungi_sottosezione + text;
                div2.style.visibility = 'visible';
            }
            layer = document.getElementById('layerName');
            layer.style.visibility = 'hidden';
        }
    }
}

function aggiungi_sezione(sel,master) {
    if( typeof(sel) != "object" ) {
        sel = document.getElementById(sel);
    }

    if( typeof(sel) == "object"  ) {
        if (master != true) {
            val = sel.options[sel.selectedIndex].value;
            if (val == 0) {
                return false;
            } else {
                mylink = '/modifier.php?action=add_sezione&ajax=1&padre='+val;
            }
        } else {
            mylink = '/modifier.php?action=add_sezione&ajax=1&padre=0';
        }

        div = document.getElementById('layerName');
        sel_pos = _getAbsPos(sel);
        div.style.left = sel_pos.x;
        div.style.top = sel_pos.y+sel.offsetHeight;
        frames["ifaddsez"].location.href = mylink;
        div.style.visibility = 'visible';
        div.focus();
    }
}

function modifica_sezione(sel) {
    if( typeof(sel) != "object" ) {
        sel = document.getElementById(sel);
    }

    if( typeof(sel) == "object"  ) {
        val = sel.options[sel.selectedIndex].value;
        if (val == 0) {
            return false;
        } else {

            div = document.getElementById('layerName');
            sel_pos = _getAbsPos(sel);
            div.style.left = sel_pos.x;
            div.style.top = sel_pos.y+sel.offsetHeight;
            frames["ifaddsez"].location.href = '/modifier.php?action=mod_sezione&ajax=1&value='+val;
            div.style.visibility = 'visible';
            div.focus();
        }
    }
}

function elimina_sezione(sel) {
    if( typeof(sel) != "object" ) {
        sel = document.getElementById(sel);
    }

    if( typeof(sel) == "object"  ) {
        val = sel.options[sel.selectedIndex].value;
        if (val == 0) {
            return false;
        } else {
            text = sel.options[sel.selectedIndex].text;
            ok = confirm(js_conferma_eliminazione_sezione1+text+js_conferma_eliminazione_sezione2);
            if (ok) {
                phpajax.delete_sezione(val);
            }
        }
    }
}

function get_pacchetti(val) {
    div1 = document.getElementById('loading');
    div2 = document.getElementById('informazioni');
    div2.innerHTML = div1.innerHTML;
    if (typeof val != 'undefined' && val != null) {
        phpajaxdapro.get_pacchetti(val);
    }
}

function conferma_pacchetto(form, disponibilita) {
    if (disponibilita < 1 || isNaN(disponibilita)) {
        alert(js_disponibilita_terminata);
        return false;
    }
    cp = new Date;
    elapsed = cp.getTime();
    centra_e_visualizza('loading');
    var payload = new Object();
    for (var i=0;i<form.elements.length;i++) {
        if (form.elements[i].name) {
            if (form.elements[i].type == 'text' || form.elements[i].type == 'hidden') {
                payload[form.elements[i].name] = form.elements[i].value;
            } else if (form.elements[i].type == 'radio' || form.elements[i].type == 'checkbox') {
                if (form.elements[i].checked) {
                    payload[form.elements[i].name] = form.elements[i].value;
                }
            }

        }
    }
    phpajaxdapro.conferma_pacchetto(payload);
}

function acquista_pacchetto(form) {
    cp = new Date;
    elapsed = cp.getTime();
    centra_e_visualizza('loading');
    var payload = new Object();
    for (var i=0;i<form.elements.length;i++) {
        if (form.elements[i].name) {
            if (form.elements[i].type == 'text' || form.elements[i].type == 'hidden') {
                payload[form.elements[i].name] = form.elements[i].value;
            } else if (form.elements[i].type == 'radio' || form.elements[i].type == 'checkbox') {
                if (form.elements[i].checked) {
                    payload[form.elements[i].name] = form.elements[i].value;
                }
            } else if (form.elements[i].type == 'select-one' || form.elements[i].type == 'select-multi' || form.elements[i].type == 'select') {
                cp = form.elements[i];
                payload[cp.name] = cp[cp.selectedIndex].value;
            }

        }
    }
    phpajaxdapro.acquista_pacchetto(payload);
}


function submit_sezione(form) {
    var payload = new Object();
    for (var i=0;i<form.elements.length;i++) {
        if (form.elements[i].name) {
            payload[form.elements[i].name] = form.elements[i].value;
        }
    }
    phpajax.get_sezione(payload);
}

function hide(layer) {
    if( typeof(layer) != "object" ) {
        layer = document.getElementById(layer);
    }

    if (typeof(layer) == "object" ) {
        layer.style.visibility = 'hidden';
        layer.style.display    = 'none';
    }
}


function _fillInMenu(menu_id, values, set) {
    var menu = document.getElementById(menu_id);

    if (typeof(menu) == "object") {
        _emptyMenuItems(menu);
        _setMenuItems(menu, values);
        if (set) {
            menu.selectedIndex = 1;
        } else {
            menu.selectedIndex = 0;
        }
    }
}

function _emptyMenuItems(menu) {
    if( typeof(menu) != "object" ) {
        menu = document.getElementById(menu);
    }

    if (typeof(menu) == "object" ) {
        menu.length = 0;;
    }
}

function _setMenuItems(menu, items) {
    var opt;

    if( typeof(menu) != "object" ) {
        menu = document.getElementById(menu);
    }

    if( typeof(menu) == "object"  ) {
        menu.options[0] = new Option(js_seleziona, 0);
        var i = 1;
        for (var key in items) {
            opt = new Option(items[key], key);
            menu.options[i++] = opt;
        }
    }
}

function _getAbsPos(el) {
    var r = { x: el.offsetLeft, y: el.offsetTop };
    if (el.offsetParent) {
        var tmp = _getAbsPos(el.offsetParent);
        r.x += tmp.x;
        r.y += tmp.y;
    }
    return r;
}

function centra_e_visualizza(div) {
    if( typeof(div) != "object" ) {
        div = document.getElementById(div);
    }

    div.style.display = 'block';
    div.style.visibility = 'visible';

    pageWidth = window.innerWidth ? document.body.clientWidth : document.body.clientWidth;
    pageHeight = window.innerHeight ? document.body.clientHeight : document.body.clientHeight;

    div.style.left = ((pageWidth - div.offsetWidth) /2)+'px';
    div.style.top  = (((pageHeight - div.offsetHeight) /2) + document.body.scrollTop) +'px';
}

function changenumber(num) {
    for (var i=1;i<5;i++) {
        img = 'img'+i;
        el = document.getElementById(img);

        if (typeof(el) == "object" && el != null) {
            if (i == num) {
                el.src='/immagini/n'+i+'b.gif';
            } else {
                el.src='/immagini/n'+i+'.gif';
            }
        }
    }
}

function initLabels() {
    var arrLabels = document.getElementsByTagName("label");
    var firstelement = null;
    if (typeof arrLabels == 'object') {
        for (var i=0; i < arrLabels.length; i++) {
            var objTemp = arrLabels[i];
            var strFor = objTemp.getAttribute('di');
            if (firstelement == null) firstelement = strFor;

            if (strFor != '') {
                objTemp.setAttribute('id', 'l' + strFor);
                objTemp.setAttribute('classOrig', objTemp.getAttribute('class'));
            }
        }
        el = document.getElementById(firstelement);
        if (typeof el == 'object' && el != null) el.focus();
    }
}

function clearLabels() {
    var arrLabels = document.getElementsByTagName("label");
    if (typeof arrLabels == 'object') {
        for (var i=0; i < arrLabels.length; i++) {
            var objTemp = arrLabels[i];
            objTemp.className = objTemp.getAttribute('classOrig');
        }
    }
}

function setLabels(err) {
    clearLabels();
    var arrLabels = document.getElementsByTagName("label");

    if (typeof arrLabels == 'object') {
        for (var i=0; i < arrLabels.length; i++) {
            var objTemp = arrLabels[i];
            var strFor = objTemp.getAttribute('di');

            if (strFor == err) {
                objTemp.className = 'error';
            }
        }
    }

}

