﻿var array_sezioni = new Array();

var callbacks = {
    add_carrello : function(result) {
        if (result) {
            if( typeof(result) != "object" ) {
                alert(result);
                hide('loading');
            } else {
                under = result["under"];
                info = result["info"];
                div1 = document.getElementById('undercarrello');
                if (typeof div1 == 'object' && div1 != null) {
                    div1.innerHTML = under;
                }
                hide('loading');
                alert(info);
            }
        } else {
            hide('loading');
            alert(js_errore_in_esecuzione);
        }
    },
    svuota_carrello : function(result) {
        if (result) {
            under = result["under"];
            info = result["info"];
            div1 = document.getElementById('undercarrello');
            div1.innerHTML = under;
            hide('loading');
            alert(info);
        } else {
            hide('loading');
            alert(js_errore_in_esecuzione);
        }
    },
    go_destinazione : function(result) {
        if (result) {
            if( typeof(result) == "object" ) {
                hide('loading');
                alert(result["errore"]);
            } else {
                div = document.getElementById('changingdiv');
                if (typeof div == 'object' && div != null) {
                    div.innerHTML = result;
                }
                hide('loading');
            }
        } else {
            hide('loading');
            alert(js_errore_in_esecuzione);
        }
    },
    show_formlogin : function(result) {
        if (result) {
            if( typeof(result) == "object" ) {
                hide('loading');
                alert(result["errore"]);
            } else {
                div = document.getElementById('formlogin');
                if (typeof div == 'object' && div != null) {
                    div.innerHTML = result;
                }
                hide('loading');
            }
        } else {
            hide('loading');
            alert(js_errore_in_esecuzione);
        }
    },
    submit_login : function(result) {
        if (result) {
            if( typeof(result) == "object" ) {
                hide('loading');
                alert(result["errore"]);
            } else {
                document.location.href="/eshop.php?action=carrello";
                /*
                div = document.getElementById('changingdiv');
                if (typeof div == 'object' && div != null) {
                    div.innerHTML = result;
                }
                hide('loading');
                */
            }
        } else {
            hide('loading');
            alert(js_errore_in_esecuzione);
        }
    },
    get_modipagamento : function(result) {
        if (result) {
            js_pagamento = result;
            popola_select_array('pagamento',js_pagamento);
        } else {
            alert(js_impossibile_calcolare_pagamenti);
        }
    },
    chiudi_carrello : function(result) {
        if (result) {
            if( typeof(result) == "object" ) {
                hide('loading');
                alert(result["1"]);
                id = document.getElementById(result["2"]);
                if (typeof id == 'object' && id != null) id.focus();
            } else {
                div = document.getElementById('changingdiv');
                if (typeof div == 'object' && div != null) {
                    div.innerHTML = result;
                }
                hide('loading');
            }
        } else {
            hide('loading');
            alert(js_errore_in_esecuzione);
        }
    }
}

if (typeof my_ajax == 'function') {
    var phpajax = new my_ajax(callbacks);
    var ajax_opened = true;
} else if (typeof ajax == 'function') {
    var phpajax = new ajax(callbacks);
    var ajax_opened = true;
} else {
    var ajax_opened = false;
}


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' || div.nodeName == 'SPAN')) {
            div2 = document.getElementById('divaggiungisottosezione');
            if (sel.options[sel.selectedIndex].value == 0) {
                div.innerHTML = '';
                if( (typeof(div2) == "object" && div2 != null) && (div2.nodeName == 'DIV' || div2.nodeName == 'SPAN')) {
                    div2.style.visibility = 'hidden';
                }
                val = 0;
            } else {
                text = sel.options[sel.selectedIndex].text;
                val = sel.options[sel.selectedIndex].value;
                div.innerHTML = text;
                if( (typeof(div2) == "object" && div2 != null) && (div2.nodeName == 'DIV' || div2.nodeName == 'SPAN')) {
                    div2.style.visibility = 'visible';
                }
            }
        }
        layer = document.getElementById('layerName');
        layer.style.visibility = 'hidden';
        layer.style.display = 'none';
    }

    if (typeof multiupload_show_sel == 'function') {
        multiupload_show_sel(val);
    }
}

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' || div.nodeName == 'SPAN')) {
            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';
            layer.style.display = 'none';
        }
    }

    if (typeof multiupload_show_sel == 'function') {
        multiupload_show_sel(val);
    }
}


function go_destinazione() {
    /*
    spedizione = document.getElementById('spedizione');
    spedizioneval = spedizione.options[spedizione.selectedIndex].value;
    if (typeof spedizione != "object" || spedizione == null) {
        alert(js_seleziona_spedizione);
        return;
    }
    */
    pagamento = document.getElementById('pagamento');
    pagamentoval = pagamento.options[pagamento.selectedIndex].value;
    if (typeof pagamento != "object" || pagamento == null) {
        alert(js_seleziona_pagamento);
        return;
    }
    centra_e_visualizza('loading');
    phpajax.go_destinazione(0, pagamentoval);
}

function submit_login(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;
        }
    }

    if (payload["formdata[username_login]"] == '') {
        alert(js_inserire_username);
        return false;
    }
    if (payload["formdata[password_login]"] == '') {
        alert(js_inserire_password);
        return false;
    }

    phpajax.submit_login(payload);
}

function chiudi_carrello() {
    form = document.getElementById('formcarrello');

    centra_e_visualizza('loading');
    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.chiudi_carrello(payload);
    return false;
}

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" && menu != null) {
        _emptyMenuItems(menu);
        _setMenuItems(menu, values);
        if (set) {
            menu.selectedIndex = set;
        } 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 add_carrello(prodotto) {
    centra_e_visualizza('loading');
    phpajax.add_carrello(prodotto);
}


function svuota_carrello() {
    ok = confirm(js_conferma_operazione);
    if (ok) {
        centra_e_visualizza('loading');
        phpajax.svuota_carrello();
    }
    return false;
}

function show_formlogin(check) {
    if (check.checked == true) {
        centra_e_visualizza('loading');
        phpajax.show_formlogin();
    } else {
        span = document.getElementById('formlogin');
        if (typeof span == "object" && span != null) {
            span.innerHTML = '';
        }
    }
}

function popola_select_array(sel,dati) {
    // alert(HTML_AJAX_Util.varDump(dati));
    if (typeof dati["advanced"] != 'object' && dati["advanced"] == '1') {
        eval("phpajax.get_modi" + sel + "()");
        return true;
    }

    if (typeof document.getElementById(sel) != 'object' || document.getElementById(sel) == null) return;


    var mydati = new Object();
    for (key in dati) {
        temp = dati[key];
        if (typeof temp == "object" && temp != null) {
            mydati[key] = temp["nome"];
        }
    }
    cookieval = Get_Cookie(sel);
    _fillInMenu(sel, mydati, cookieval);
    if (cookieval) {
        myvar = eval('js_'+sel);
        duespan_from_select(sel,'desc'+sel,'prezzo'+sel,myvar);
    }
}

function duespan_from_select(sel,span1,span2,dati) {
    selname = sel;
    var ok = 0;

    //alert(HTML_AJAX_Util.varDump(dati));

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

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

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

        if( typeof(span1) == "object" && span1 != null && span1.nodeName == 'SPAN') {
            if (sel.options[sel.selectedIndex].value == '0') {
                span1.innerHTML = '';
                Delete_Cookie(selname);
            } else {
                temp = dati[sel.options[sel.selectedIndex].value];
                text = temp["descrizione"];
                span1.innerHTML = text;
                Set_Cookie(selname, sel.selectedIndex, 24, '/', '', '');
                ok = 1;
            }
        }
        if( typeof(span2) == "object" && span2 != null && span2.nodeName == 'SPAN') {
            if (sel.options[sel.selectedIndex].value == '0') {
                span2.innerHTML = '0,00';
                Delete_Cookie(selname);
            } else {
                temp = dati[sel.options[sel.selectedIndex].value];
                text = temp["stringacosto"];
                span2.innerHTML = text;
                ok = 1;
            }
        }
    }

    /* if (ok == 1) */ ricalcola_totale();
}

function ricalcola_totale() {
    var subtotale = 0;
    var pagamento = 0;
    var spedizione = 0;

    subtotale = document.getElementById('subtotale').value;
    spedizione = document.getElementById('spedizione');
    if (typeof spedizione == "object" && spedizione != null && spedizione.length > 0) {
        spedizione = js_spedizione[spedizione.options[spedizione.selectedIndex].value];
        if (typeof spedizione == "object" && spedizione != null) {
            spedizione = spedizione["costo"];
        } else {
            spedizione = 0;
        }
    }
    if (spedizione == null) spedizione = 0;
    pagamento = document.getElementById('pagamento');
    if (typeof pagamento == "object" && pagamento != null && pagamento.length > 0) {
        pagamento = js_pagamento[pagamento.options[pagamento.selectedIndex].value];
        if (typeof pagamento == "object" && pagamento != null) {
            pagamento = pagamento["costo"];
        }
    }
    if (pagamento == null) pagamento = 0;
    totale = subtotale/1+spedizione/1+pagamento/1;

    prezzototale = document.getElementById('grantotale');
    totale = totale.toFixed(2);
    prezzototale.innerHTML = formattanumero(totale);

}

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 formattanumero(amount) {
    var delimiter = "."; // replace comma if desired
    var a = amount.split('.',2)
    var d = a[1];
    var i = parseInt(a[0]);
    if(isNaN(i)) { return ''; }
    var minus = '';
    if(i < 0) { minus = '-'; }
    i = Math.abs(i);
    var n = new String(i);
    var a = [];
    while(n.length > 3)
    {
        var nn = n.substr(n.length-3);
        a.unshift(nn);
        n = n.substr(0,n.length-3);
    }
    if(n.length > 0) { a.unshift(n); }
    n = a.join(delimiter);
    if(d.length < 1) { amount = n; }
    else { amount = n + ',' + d; }
    amount = minus + amount;
    return amount;
}

function Set_Cookie(name, value, expires, path, domain, secure) {
    // set time, it's in milliseconds
    var today = new Date();
    today.setTime( today.getTime() );

    /* expires è in ore */
    if (expires) {
        expires = expires * 1000 * 60 * 60;
    }
    var expires_date = new Date( today.getTime() + (expires) );

    document.cookie = name + "=" +escape( value ) +
        ( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +
        ( ( path ) ? ";path=" + path : "" ) +
        ( ( domain ) ? ";domain=" + domain : "" ) +
        ( ( secure ) ? ";secure" : "" );
}

function Get_Cookie(name) {
    var start = document.cookie.indexOf( name + "=" );
    var len = start + name.length + 1;
    if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) ) {
        return null;
    }
    if ( start == -1 ) return null;
    var end = document.cookie.indexOf( ";", len );
    if ( end == -1 ) end = document.cookie.length;
    return unescape( document.cookie.substring( len, end ) );
}

function Delete_Cookie( name, path, domain ) {
    if ( Get_Cookie( name ) ) document.cookie = name + "=" +
    ( ( path ) ? ";path=" + path : "") +
    ( ( domain ) ? ";domain=" + domain : "" ) +
    ";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}

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 clear_field(campo) {
    campo = document.getElementById(campo);
    if (campo == null || typeof campo == 'undefined') return;
    campo.value = '';
}


