var array_sezioni = new Array();

var callbacks = {
    delete_sezione: function(result) {
        if (result) {
            if( typeof(result) != "object" ) {
                alert(result);
            } else {
                array_sezioni = result;
                _fillInMenu('sezione', result, false)
                div_from_select('sezione', 'sezioneattuale');
            }
        } else {
             alert(js_errore_in_esecuzione);
        }
    },
    get_sezione: function(result) {
        if (result) {
            if( typeof(result) != "object" ) {
                 alert(result);
            } else {
                 hide('layerName');
                 array_sezioni = result;
                 _fillInMenu('sezione', result, true);
                 div_from_select('sezione', 'sezioneattuale');
             }
        } else {
             alert(js_errore_in_esecuzione);
        }
    },
    delete_sezione_pg: function(result) {
        if (result) {
            if( typeof(result) != "object" ) {
                alert(result);
            } else {
                array_sezioni = result;
                _fillInMenu('sezione', result, false)
                div_from_select('sezione', 'sezioneattuale');
            }
        } else {
             alert(js_errore_in_esecuzione);
        }
    },
    get_sezione_pg: function(result) {
        if (result) {
            if( typeof(result) != "object" ) {
                 alert(result);
            } else {
                 hide('layerName');
                 array_sezioni = result;
                 _fillInMenu('sezione', result, true);
                 div_from_select('sezione', 'sezioneattuale');
             }
        } else {
             alert(js_errore_in_esecuzione);
        }
    },
    get_documenti_wc: function(result) {
        if (result) {
            elenco = document.getElementById('elencodocumenti');
            if( typeof(result) == "boolean" ) {
                elenco.innerHTML = '';
            } else {
                elenco.innerHTML = result;
            }
        } else {
             alert(js_errore_in_esecuzione);
        }
    },
    delete_sezione_wc: function(result) {
        if (result) {
            if( typeof(result) != "object" ) {
                alert(result);
            } else {
                array_sezioni = result;
                _fillInMenu('sezione', result, false)
                div_2_from_select('sezione', 'sezioneattuale','elencodocumenti');
            }
        } else {
             alert(js_errore_in_esecuzione);
        }
    },
    get_sezione_wc: function(result) {
        if (result) {
            if( typeof(result) != "object" ) {
                 alert(result);
            } else {
                 hide('layerName');
                 array_sezioni = result;
                 _fillInMenu('sezione', result, true);
                 div_2_from_select('sezione', 'sezioneattuale','elencodocumenti');
             }
        } else {
             alert(js_errore_in_esecuzione);
        }
    },
    get_pacchetti : function(result) {
        alert(result);
    },
    invia_pagamento : function(result) {
        if (result) {
            if(typeof result != "object" ) {
                hide('loading');
                el = document.getElementById('div_pagamento');
                el.innerHTML = result;
                /*
                cp = document.getElementById('debugform');
                if (typeof cp == 'object') cp.value = result;
                */
            } else {
                hide('loading');
                if (result[2]) {
                    setLabels(result[2]);
                    el = document.getElementById(result[2]);
                    if (typeof el == 'object') {
                        el.focus();
                    }
                }
                alert(result[1]);
                return false;
            }
        } else {
             hide('loading');
             alert(js_errore_in_esecuzione);
             return false;
        }
        return false;
    }
}

var phpajax = new ajax(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 != null && 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 div_2_from_select(sel, div, bidiv) {
    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';
                bidiv = document.getElementById(bidiv);
                bidiv.innerHTML = '';
            } else {
                text = sel.options[sel.selectedIndex].text;
                div.innerHTML = text;
                //div2.innerHTML = js_aggiungi_sottosezione + text;
                div2.style.visibility = 'visible';
                phpajax.get_documenti_wc(sel.options[sel.selectedIndex].value);
            }
            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 submit_sezione(form) {
    //form.submit.disabled = true;
    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' || form.elements[i].type == 'textarea') {
                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;
                }
            }

        }
    }

    phpajax.get_sezione(payload);
}

//-------------------------------------------------------------------------------

function aggiungi_sezione_pg(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 = '/photogallery.php?action=add_sezione&ajax=1&padre='+val;
            }
        } else {
            mylink = '/photogallery.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_pg(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 = '/photogallery.php?action=mod_sezione&ajax=1&value='+val;
            div.style.visibility = 'visible';
            div.focus();
        }
    }
}

function elimina_sezione_pg(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_pg(val);
            }
        }
    }
}

function submit_sezione_pg(form) {
    //form.submit.disabled = true;
    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' || form.elements[i].type == 'textarea') {
                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;
                }
            }

        }
    }

    phpajax.get_sezione_pg(payload);
}

//-------------------------------------------------------------------------------

function aggiungi_sezione_wc(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 = '/web.php?action=add_sezione&ajax=1&padre='+val;
            }
        } else {
            mylink = '/web.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_wc(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 = '/web.php?action=mod_sezione&ajax=1&value='+val;
            div.style.visibility = 'visible';
            div.focus();
        }
    }
}

function elimina_documento_wc(codice,nome) {
    ok = confirm(js_conferma_eliminazione_documento1+nome+js_conferma_eliminazione_documento2);
    if (ok) {
        phpajax.delete_documento_wc(codice);
    }
}

function elimina_sezione_wc(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_wc(val);
            }
        }
    }
}

function submit_sezione_wc(form) {
    form.submit.disabled = true;
    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' || form.elements[i].type == 'textarea') {
                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;
                }
            }

        }
    }

    phpajax.get_sezione_wc(payload);
}

//---------------------------------------------------------



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

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


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 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);
        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';
            }
        }
    }

}

function invia_pagamento(form) {
    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' || form.elements[i].type == 'textarea') {
                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;
                }
            }

        }
    }
    phpajax.invia_pagamento(payload);
    return false;
}

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

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

    pageWidth = document.body.offsetWidth ? document.body.offsetWidth : window.innerWidth;
    pageHeight = document.body.offsetHeight ? document.body.offsetHeight : window.innerHeight;

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



