function addQty(field, max, count) {
    a = eval(document.getElementById(field).value);
    sum = a + 1;
    sum = checkMax(sum, max);
    document.getElementById(field).value = sum;
    if (count)
        document.getElementById('totalPrice').innerHTML = changePrice('singlePrice', sumQuantity(count), null);
//     if (document.getElementById(field).value < 1)
//         document.getElementById(field).value = 1;
}
function minusQty(field, min, count) {
    a = eval(document.getElementById(field).value);
    sum = a - 1;
    sum = checkMin(sum, min);
    document.getElementById(field).value = sum;
//     alert(changePrice('singlePrice', sumQuantity(count), null));
    if (count)
        document.getElementById('totalPrice').innerHTML = changePrice('singlePrice', sumQuantity(count), null);
}
function checkQty(field, min, max, count) {
	// ADE 23 gen 2009 
	// se il campo viene ablankato per errore o volontariamente non viene generato alcun errore
	// e il campo quantita' viene automaticamente settato a 1
	if(document.getElementById(field).value == "" || document.getElementById(field).value == "undefined" || document.getElementById(field).value == "NaN") 
		{
		document.getElementById(field).value="1";
		}
	// nel caso venga scritto un valore non numerico nel campo quantita',
	// il campo quantita' viene automaticamente settato a 1
	if(!IsNumber(document.getElementById(field).value)) {document.getElementById(field).value="1";}
	// ADE fine 23 gen 2009 
    	sum = eval(document.getElementById(field).value);
    	sum = checkMin(sum, min);
    	sum = checkMax(sum, max);
    	document.getElementById(field).value = sum;
    	if (count)
       	 document.getElementById('totalPrice').innerHTML = changePrice('singlePrice', sumQuantity(count), null);
}

// in javascript non esiste un isnumeric come in php per cui mi devo creare una funzione - // ADE 23 gen 2009 
function IsNumber(Expression)
{
    Expression = Expression.toLowerCase();
    RefString = "0123456789.-";
    
    if (Expression.length < 1) 
        return (false);
    
    for (var i = 0; i < Expression.length; i++) 
    {
        var ch = Expression.substr(i, 1);
        var a = RefString.indexOf(ch, 0);
        if (a == -1)
            return (false);
    }
    return(true);
}




function checkMax(sum, max)
{
    if (!max)
        max = 999;
    if (sum > max)
        sum = max;
    return sum;
}
function checkMin(sum, min)
{
    if (!min)
        min = 1;
    if (sum < min)
        sum = min;
    return sum;
}
function sumQuantity(count)
{
    qty = 0;
    for(i=1;i<count;i++) {
        quantObj = document.getElementById('quant-'+i)
        if (quantObj && quantObj.disabled != 'disabled')
            qty = qty + Number(quantObj.value);
    }
    return qty;
}

var state = 'hidden';
function showhide(layer_ref) {
    if (state == 'visible') {
        state = 'hidden';
    }
    else {
        state = 'visible';
    }
    if (document.all) { //IS IE 4 or 5 (or 6 beta)
        eval( "document.all." + layer_ref + ".style.visibility = state");
    }
    if (document.layers) { //IS NETSCAPE 4 or below
        document.layers[layer_ref].visibility = state;
    }
    if (document.getElementById && !document.all) {
        maxwell_smart = document.getElementById(layer_ref);
        maxwell_smart.style.visibility = state;
    }
    return false;
}

function addToCart(mode)
{
    return_modeObj = document.getElementById('return_mode');
    if (mode == 'go')
        return_modeObj.value = 'go';
    document.cart_quantity.submit();
    return false;
}
function checkUrgente(checkedValue, base, opt, url)
{
    cartSubTotalObj = document.getElementById('cartSubTotal');
    cartTotalObj = document.getElementById('cartTotal');
    cartTotalivaObj = document.getElementById('cartTotaliva');
    cartTotalfullObj = document.getElementById('cartTotalfull');
    full = Number(base) + Number(opt);
    iva = Number(opt) * 0.2;
    optiva = Number(opt) * 1.2;
    if (checkedValue) {
        cartTotalObj.innerHTML = changePrice('cartSubTotal', null, full);//str;
        cartTotalivaObj.innerHTML = changePrice('cartTotaliva', null, iva);
        cartTotalfullObj.innerHTML = changePrice('cartTotalfull', null, optiva);
        setUrgente(1, url);
    } else {
        cartTotalObj.innerHTML = changePrice('cartSubTotal', null, base);
        cartTotalivaObj.innerHTML = changePrice('cartTotaliva', null, -iva);
        cartTotalfullObj.innerHTML = changePrice('cartTotalfull', null, -optiva);
        setUrgente(0, url);
    }
}
function checkUrgente_34(checkedValue, base, opt, url)
{
//     cartSubTotalObj = document.getElementById('cartSubTotal');
//     cartTotalObj = document.getElementById('cartTotal');
//     cartTotalivaObj = document.getElementById('cartTotaliva');
    cartTotalfullObj = document.getElementById('cartTotalfull');
    full = Number(base) + Number(opt);
    if (checkedValue) {
//         cartTotalObj.innerHTML = changePrice('cartSubTotal', null, full);//str;
//         cartTotalivaObj.innerHTML = changePrice('cartTotaliva', null, 5);
        cartTotalfullObj.innerHTML = changePrice('cartTotalfull', null, opt);
        setUrgente(1, url);
    } else {
//         cartTotalObj.innerHTML = changePrice('cartSubTotal', null, base);
//         cartTotalivaObj.innerHTML = changePrice('cartTotaliva', null, -5);
        cartTotalfullObj.innerHTML = changePrice('cartTotalfull', null, -opt);
        setUrgente(0, url);
    }
}
function checkUrgenteAll(checkedValue, base, opt, url)
{
//     cartSubTotalObj = document.getElementById('cartSubTotal');
    cartTotalObj = document.getElementById('cartTotal');
    cartTotalivaObj = document.getElementById('cartTotaliva');
    cartTotalfullObj = document.getElementById('cartTotalfull');
    full = Number(base) + Number(opt);
    iva = Number(opt) * 0.2;
    optiva = Number(opt) * 1.2;
    if (checkedValue) {
        cartTotalObj.innerHTML = changePrice('cartSubTotal', null, full);//str;
        cartTotalivaObj.innerHTML = changePrice('cartTotaliva', null, iva);
        cartTotalfullObj.innerHTML = changePrice('cartTotalfull', null, optiva);
        setUrgente(1, url);
    } else {
        cartTotalObj.innerHTML = changePrice('cartSubTotal', null, base);
        cartTotalivaObj.innerHTML = changePrice('cartTotaliva', null, -iva);
        cartTotalfullObj.innerHTML = changePrice('cartTotalfull', null, -optiva);
        setUrgente(0, url);
    }
}
function selMul(id, show, hide, count)
{
    obj = document.getElementById('sel-mul');
    linkObj = document.getElementById(id);
    if (obj.style.display != 'block') {
        for(i=2;i<count;i++) {
            if (quantObj = document.getElementById('quant-'+i))
                quantObj.disabled = '';
        }
        obj.style.display = 'block';
        linkObj.innerHTML = hide;
    } else {
        obj.style.display = 'none';
        linkObj.innerHTML = show;
        for(i=2;i<count;i++) {
            if (quantObj = document.getElementById('quant-'+i)) {
                //quantObj.disabled = 'disabled';
                quantObj.value = '0';
            }
        }
        document.getElementById('totalPrice').innerHTML = changePrice('singlePrice', sumQuantity(count), null);
    }
    return false;
}
function changePrice(priceId, mul, sum)
{
    objPrice = document.getElementById(priceId);
    var str = objPrice.innerHTML;
    str = str.replace('€', '');
    str = str.replace('.', '');
    str = str.replace(',', '.');
    str = Number(str)*100
    if (mul || mul == '0')
        str = (str*mul)/100
    else
        str = (str + (sum*100))/100;
    array = String(str).split('.');
    if (array[1]) {
        decimal = array[1]+'00';
        decimal = decimal.substr(0,2);
    } else
        decimal = '00';

    str = array[0]+','+decimal;
    str = CommaFormatted(str);
    str = str+'€';
    return str;
}
function CommaFormatted(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;
}

/*** Ajax ***/
function xmlhttpPost(strURL, formId, resultId)
{
    var xmlHttpReq = false;
    var self = this;
    if (window.XMLHttpRequest) {// Xhr per Mozilla/Safari/Ie7
        self.xmlHttpReq = new XMLHttpRequest();
    } else if (window.ActiveXObject) { // per tutte le altre versioni di IE
        self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    self.xmlHttpReq.open('POST', strURL, true);
    self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    return self;
}

function getquerystring(formId)
{
    //var formObj = document.forms[formNameString];
    var formObj = document.getElementById(formId);
    var num = formObj.elements.length;
    qstr = '';
    for (var i = 0; i < num; i++){
        var chiave = formObj.elements[i].name;
        var valore = formObj.elements[i].value;
        var tipo = formObj.elements[i].type;
        if ( (tipo == "submit") || (tipo == "radio") || (tipo == "checkbox") ){}
        else {
            if (valore != '')
                qstr += chiave + "=" + escape(valore) + "&";
        }
    }
    return qstr;
}

function updatepage(str, resultId)
{
    document.getElementById(resultId).innerHTML = str;
}
function updateCart(strURL, formId, resultId)
{
    xmlObj = xmlhttpPost(strURL, formId, resultId);
    xmlObj.xmlHttpReq.onreadystatechange = function() {
        if (xmlObj.xmlHttpReq.readyState == 4) {
            updatepage(xmlObj.xmlHttpReq.responseText, resultId);
            showhide('aggiungi_carrello');
        }
    }
    xmlObj.xmlHttpReq.send(getquerystring(formId));
    return false;
}
function loginHP(strURL, formId, resultId)
{
    xmlObj = xmlhttpPost(strURL, formId, resultId);
    xmlObj.xmlHttpReq.onreadystatechange = function() {
        if (xmlObj.xmlHttpReq.readyState == 4) {
            responseText = xmlObj.xmlHttpReq.responseText;
//             if (responseText == 'ok') {
            if (responseText.match('ok')) {
                updatepage('', resultId);
                location.reload();
            } else
                updatepage(responseText, resultId);
        }
    }
    xmlObj.xmlHttpReq.send(getquerystring(formId));
    return false;
}

function loginHPCart(strURL, formId, resultId, uri)
{
    xmlObj = xmlhttpPost(strURL, formId, resultId);
    xmlObj.xmlHttpReq.onreadystatechange = function() {
        if (xmlObj.xmlHttpReq.readyState == 4) {
            responseText = xmlObj.xmlHttpReq.responseText;
            if (responseText.match('ok')) {
                updatepage('', resultId);
                window.location.assign(uri);
            } else
                updatepage(responseText, resultId);
        }
    }
    xmlObj.xmlHttpReq.send(getquerystring(formId));
    return false;
}
function loginHProductCart(strURL, formId, resultId, uri)
{
    xmlObj = xmlhttpPost(strURL, formId, resultId);
    xmlObj.xmlHttpReq.onreadystatechange = function() {
        if (xmlObj.xmlHttpReq.readyState == 4) {
            responseText = xmlObj.xmlHttpReq.responseText;
            if (responseText.match('ok')) {
                updatepage('', resultId);
                window.location.assign(uri);
            } else
                updatepage(responseText, resultId);
        }
    }
    xmlObj.xmlHttpReq.send(getquerystring(formId));
    return false;
}
function setUrgente(check, strURL)
{
    var xmlHttpReq = false;
    var self = this;
    if (window.XMLHttpRequest) {// Xhr per Mozilla/Safari/Ie7
        self.xmlHttpReq = new XMLHttpRequest();
    } else if (window.ActiveXObject) { // per tutte le altre versioni di IE
        self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    self.xmlHttpReq.open('GET', strURL+'&value='+check, true);
    self.xmlHttpReq.setRequestHeader('Content-Type', 'text/html');
    xmlObj = self;
    xmlObj.xmlHttpReq.onreadystatechange = function() {
        if (xmlObj.xmlHttpReq.readyState == 4) {
            responseText = xmlObj.xmlHttpReq.responseText;
        }
    }
    xmlObj.xmlHttpReq.send('');
    return false;
}
function setNotify(check, uid, strURL)
{
    var xmlHttpReq = false;
    var self = this;
    if (window.XMLHttpRequest) {// Xhr per Mozilla/Safari/Ie7
        self.xmlHttpReq = new XMLHttpRequest();
    } else if (window.ActiveXObject) { // per tutte le altre versioni di IE
        self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    self.xmlHttpReq.open('GET', strURL+'?products_id='+check+'&uid='+uid, true);
    self.xmlHttpReq.setRequestHeader('Content-Type', 'text/html');
    xmlObj = self;
    xmlObj.xmlHttpReq.onreadystatechange = function() {
        if (xmlObj.xmlHttpReq.readyState == 4) {
            responseText = xmlObj.xmlHttpReq.responseText;
        }
    }
    xmlObj.xmlHttpReq.send('');
    return false;
}
function setPayment(check, myValue, strURL)
{
    var xmlHttpReq = false;
    var self = this;
    if (window.XMLHttpRequest) {// Xhr per Mozilla/Safari/Ie7
        self.xmlHttpReq = new XMLHttpRequest();
    } else if (window.ActiveXObject) { // per tutte le altre versioni di IE
        self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    self.xmlHttpReq.open('GET', strURL+'&value='+myValue, true);
    self.xmlHttpReq.setRequestHeader('Content-Type', 'text/html');
    xmlObj = self;
    xmlObj.xmlHttpReq.onreadystatechange = function() {
        if (xmlObj.xmlHttpReq.readyState == 4) {
            responseText = xmlObj.xmlHttpReq.responseText;
        }
    }
    xmlObj.xmlHttpReq.send('');
    return false;
}

function confirmCleanup(text)
{
    if (confirm(text))
        return true;
    else
        return false;
}

function help(strURL, formId, resultId)
{
    var xmlHttpReq = false;
    var self = this;
    if (window.XMLHttpRequest) {// Xhr per Mozilla/Safari/Ie7
        self.xmlHttpReq = new XMLHttpRequest();
    } else if (window.ActiveXObject) { // per tutte le altre versioni di IE
        self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    self.xmlHttpReq.open('GET', strURL, true);
    self.xmlHttpReq.setRequestHeader('Content-Type', 'text/html');
    xmlObj = self;
    xmlObj.xmlHttpReq.onreadystatechange = function() {
        if (xmlObj.xmlHttpReq.readyState == 4) {
            responseText = xmlObj.xmlHttpReq.responseText;
            updatepage(responseText, resultId);
             scrollFunc();
        }
    }
    xmlObj.xmlHttpReq.send('');
    return false;
}
function ResetForm(){
  var elems = document.forms[0].elements;
  for(var i=0;i<elems.length;i++){
    elems[i].value = "";
  }
}
function kartDelete() {
 showhide('centra_last_kart_step');
}
