/* podda e-shop */

var addressSaved = null;

function adjustQuantity(idProd, adjValue, pdiscount)
{
	if (!pdiscount) {pdiscount = 0;}

	if (isNaN(adjValue) || isNaN(idProd) || idProd < 1) { return; }
	var myinput = document.getElementById('prodqta_' + idProd);
	if (!myinput) { return; }

	var currentValue = parseInt(myinput.value, 10);
	adjValue = parseInt(adjValue, 10);
	var newValue = currentValue + adjValue;
	if (isNaN(newValue) || (newValue < 0)) {
		newValue = 0;
	}
	myinput.value = newValue;

	// aggiorna prezzo totale
	var unitSpan = document.getElementById('prezzo_' + idProd);
	var subtotSpan = document.getElementById('subtot_' + idProd);
	var discSpan = document.getElementById('sconto_' + idProd);
	var price;
	var priceZero = '';
	var priceEuro;
	var priceCent;
	var discount;
	if (unitSpan && subtotSpan) {
		if (newValue == 0) {
			subtotSpan.innerHTML = mytext(37);
		} else {
			price = unitSpan.innerHTML
			price = parseFloat(price.replace(',', '.'));

			// applica sconto offerta, se c'e'
			if (discSpan) {
				discount = parseFloat(discSpan.innerHTML);
				price = price * ((100 - discount) / 100);
			} 

			// applica sconto premium, se c'e'
			if (pdiscount) {
				price = price * ((100 - pdiscount) / 100);
			}

			// approssimazione al centesimo piu' vicino
			price = Math.round(100 * price) / 100;

			// quantita'
			price *= newValue;

			// scrivi prezzo
			priceEuro = Math.floor(price);
			priceCent = Math.round((price - priceEuro) * 100);

			if (priceCent < 10) { priceZero = '0'; }
			subtotSpan.innerHTML = priceEuro + mytext(38) + priceZero + priceCent;
		}
	} 
	return;
}

function updateAllPrices(pdisc)
{
	var oContainer = document.getElementById('tabella_prodotti');
	var aRows;
	var b;
	var i;
	var p;

	if (oContainer) {
		aRows = oContainer.getElementsByTagName('tr');

		for (i=0; i < aRows.length; i++) {
			if (aRows[i].id) {
				b = aRows[i].id.split('_');
				if (b[1]) {
					p = parseInt(b[1], 10);
					adjustQuantity(p, 0, pdisc);
				}
			}
		}
	}
}

function setupUpdateAllPrices(pdisc)
{
	var oContainer = document.getElementById('tabella_prodotti');
	var aRows;
	var b;
	var i;
	var p;

	if (oContainer) {
		aRows = oContainer.getElementsByTagName('tr');

		for (i=0; i < aRows.length; i++) {
			if (aRows[i].id) {
				b = aRows[i].id.split('_');
				if (b[1]) {
					p = parseInt(b[1], 10);
					adjustQuantity(p, 0, pdisc);
					$('input#prodqta_' + p).change(function() {
						updateAllPrices(pdisc);
					});
				}
			}
		}
	}
}

function confirmEmptyBasket()
{
	return (confirm(mytext(3)));
}

/* prende gli input dentro un contenitore */
function getInputs(sContainer)
{
	var oContainer = document.getElementById(sContainer);
	if (!oContainer) { return false; }

	var iList = oContainer.getElementsByTagName("input");
	if (!iList || iList.length < 1) { return false; }

	return (iList);

}

/* seleziona tutto, o deseleziona tutto se e' gia' selezionato tutto */
function checkboxMassToggle(sContainer)
{

	var i;
	var iList = getInputs(sContainer);
	if (!iList) { return; }

	/* l'azione di default e' deselezionare tutto */
	var agenda = false;

	/* scorri gli input per vedere se dobbiamo cambiare idea */
	for (i=0; i < iList.length; i++) {
		if (iList[i].type=="checkbox") {
			if (!iList[i].checked) { agenda = true; break; }
		}
	}

	/* ed ora agisci */
	for (i=0; i < iList.length; i++) {
		if (iList[i].type=="checkbox") {
			iList[i].checked = agenda;
		}
	}
}

function checkboxMassUpdate(sContainer, sMain)
{
/*
 * controlla se il checkbox 'principale' debba essere aggiornato in seguito
 * ad una modifica di uno degli altri
 */

	var iMain = -1;
	var bChecked = true;
	var iList = getInputs(sContainer);
	if (!iList) { return; }

	/* scorri gli input */
	for (var i=0; i < iList.length; i++) {
		if (iList[i].id == sMain) {
			iMain = i;
		} else if (iList[i].type == "checkbox") {
			if (!iList[i].checked) {
				bChecked = false;
				i = iList.length; 
			}
		}
	}

	if (iMain >= 0) {
		iList[iMain].checked = bChecked;
	} else {
		oMainCheckbox = document.getElementById(sMain);
		if (oMainCheckbox) {
			oMainCheckbox.checked = bChecked;
		}
	}
	return;
}

function radioValue(oRadio)
{
	var retValue = null;
	var i;

	if (oRadio && oRadio.length > 0) {
		for (i=0; (retValue === null) && (i < oRadio.length); i++) {
			if (oRadio[i].checked) {
				retValue = oRadio[i].value;
			}
		}
	}
	return retValue;
}

function updatePaymentMethod(idType)
{
	var myForm = document.getElementById('orderForm');
	if ((idType == 0) && myForm) {
		idType = radioValue(myForm.payment_method);
	}

	if (idType == 1) {
		$('div#summary_text_payment_2').hide();
		$('div#summary_text_payment_1').show();
	} else if (idType == 2) {
		$('div#summary_text_payment_1').hide();
		$('div#summary_text_payment_2').show();
	} else {
		$('div#summary_text_payment_1').hide();
		$('div#summary_text_payment_2').hide();
	}
}

function updateDelivery(idType)
{
	var myForm = document.getElementById('orderForm');
	if ((idType == 0) && myForm) {
		idType = radioValue(myForm.delivery_type);
	}

	if (idType == 1) { // 1: delivery
		$('div#summary_text_pickup').hide();
		$('div#summary_address_d').show();
	} else if (idType == 2) { // 2: pickup
		$('div#summary_address_d').hide();
		$('div#summary_text_pickup').show();
	} else {
		$('div#summary_address_d').hide();
		$('div#summary_text_pickup').hide();
	}
}

function invoiceFromDB()
{
	// inserisce l'indirizzo prelevato sopra come indirizzo di fatturazione
	if (addressSaved) {
		$("input#invoice_nome").val(addressSaved.nome);
		$("input#invoice_cognome").val(addressSaved.cognome);
		$("input#invoice_ragsoc").val(addressSaved.ragsoc);
		$("input#invoice_indirizzo").val(addressSaved.indirizzo);
		$("input#invoice_nciv").val(addressSaved.nciv);
		$("input#invoice_citta").val(addressSaved.citta);
		$("select#invoice_prov").val(addressSaved.itaprov);
		$("input#invoice_altprov").val(addressSaved.provincia);
		$("input#invoice_cap").val(addressSaved.cap);
		$("select#invoice_paese").val(addressSaved.paese);
		$("input#partita_iva").val(addressSaved.piva);
		$("input#codice_fiscale").val(addressSaved.codfisc);
		updateProvOrderForm('invoice');
	}
}

function deliveryFromDB()
{
	// inserisce l'indirizzo prelevato sopra come indirizzo di consegna
	if (addressSaved) {
		$("input#delivery_nome").val(addressSaved.nome);
		$("input#delivery_cognome").val(addressSaved.cognome);
		$("input#delivery_ragsoc").val(addressSaved.ragsoc);
		$("input#delivery_indirizzo").val(addressSaved.indirizzo);
		$("input#delivery_nciv").val(addressSaved.nciv);
		$("input#delivery_citta").val(addressSaved.citta);
		$("select#delivery_prov").val(addressSaved.itaprov);
		$("input#delivery_altprov").val(addressSaved.provincia);
		$("input#delivery_cap").val(addressSaved.cap);
		$("select#delivery_paese").val(addressSaved.paese);
		updateProvOrderForm('delivery');
	}
}

function deliveryFromInvoice()
{
	// duplica l'indirizzo di fatturazione come indirizzo di consegna
	$("input#delivery_nome").val($("input#invoice_nome").val());
	$("input#delivery_cognome").val($("input#invoice_cognome").val());
	$("input#delivery_ragsoc").val($("input#invoice_ragsoc").val());
	$("input#delivery_indirizzo").val($("input#invoice_indirizzo").val());
	$("input#delivery_nciv").val($("input#invoice_nciv").val());
	$("input#delivery_citta").val($("input#invoice_citta").val());
	$("select#delivery_prov").val($("select#invoice_prov").val());
	$("input#delivery_altprov").val($("input#invoice_altprov").val());
	$("input#delivery_cap").val($("input#invoice_cap").val());
	$("select#delivery_paese").val($("select#invoice_paese").val());
	updateProvOrderForm('delivery');
}

function addCopyAddressLink() 
{
		$('div#summary_e_import2').append('<a id="summary_e_import2_link" href="#"><span>' + mytext(9) + '<\/span><\/a>');
		$('a#summary_e_import2_link').click(function() {
			deliveryFromInvoice();
			return false;
		});
}

/* cambia modalita' provincia */

function updateProvinceVis(whichSelect, provSelect, showifIt, showifAb, showifZero)
{
/*
 * showifZero: sempre singolo elemento
 * showifIt, showifAb: sempre array []
 */
	var i;
	var countrySel;
	var provSel;

	if (whichSelect && showifIt && showifAb && italyId) {
		countrySel = $('select#'+whichSelect).val();
		provSel = $('select#'+provSelect).val();
		if (countrySel == 0) {
			for (i=0; i < showifAb.length; i++) {
				$(showifAb[i]).hide();
			}
			for (i=0; i < showifIt.length; i++) {
				$(showifIt[i]).hide();
			}
			if (showifZero) { $(showifZero).show(); }

		} else if (countrySel == italyId) {
			if (showifZero) { $(showifZero).hide(); }

			if (provSel < 0) {
				$('select#'+provSelect).val(0); // deseleziona estero
			}

			for (i=0; i < showifAb.length; i++) {
				$(showifAb[i]).hide();
			}
			for (i=0; i < showifIt.length; i++) {
				$(showifIt[i]).show();
			}

		} else {
			if (showifZero) { $(showifZero).hide(); }

			for (i=0; i < showifIt.length; i++) {
				$(showifIt[i]).hide();
			}
			for (i=0; i < showifAb.length; i++) {
				$(showifAb[i]).show();
			}

		}
	}
}

function updateProvSignup()
{
	var showIt = ['div#box_provincia_it1','div#box_provincia_it2'];
	var showAb = ['div#box_provincia_ab1','div#box_provincia_ab2'];
	var showZero = 'div#box_provincia_js';
	updateProvinceVis('form_country', 'form_provincia_it', showIt, showAb, showZero);
}

function setupProvSignup()
{
	$('div#box_provincia_js').empty().append(mytext(33));
	$('select#form_country').change(function() {
		updateProvSignup();
	});
	updateProvSignup();
}

function updateProvOrderForm(whichBox)
{
	var showIt = ['div#box_provincia_it_'+whichBox+'1'];
	var showAb = ['div#box_provincia_ab_'+whichBox+'1'];
	var showZero = 'div#box_provincia_js_'+whichBox;
	updateProvinceVis(whichBox+'_paese', whichBox+'_prov', showIt, showAb, showZero);
}

function setupProvOrderForm()
{
	$('.summary_e_mand2').hide();
	$('div#box_provincia_js_invoice').empty().append(mytext(33)).removeClass('dl_large').addClass('dl_explanation');
	$('select#invoice_paese').change(function() {
		updateProvOrderForm('invoice');
	});
	updateProvOrderForm('invoice');

	if ($('select#delivery_paese').length) {
		$('div#box_provincia_js_delivery').empty().append(mytext(33)).removeClass('dl_large').addClass('dl_explanation');
		$('select#delivery_paese').change(function() {
			updateProvOrderForm('delivery');
		});
		updateProvOrderForm('delivery');
	}
}

/* fine cambia modalita' provincia */

function makeTooltip(ob)
{
	var mytitle = ob.attr('title');
	var retValue = mytitle.replace(/\]\,/g, "]<br \/>");
	retValue = retValue.replace(/\[/g, "<strong>");
	retValue = retValue.replace(/\]/g, "<\/strong>");
	retValue = retValue.replace(mytext(18), mytext(19));
	return (retValue);
}

function hideFinalizeOrder(obj)
{
	/* per impedire due click su finalizza ordine */
	if (obj) {
		$(obj).hide().after('<div class="button_confirm_clicked"></div>');
	}
}

function addToCartAjax(sContainer)
{
	var sParams = 'basket_submit=1';
	var count = 0;
	var i;
	var current;

	var labbr = mytext(0);
	var imgWait = 'images/' + labbr + '/bt_attendere.gif';
	var imgNormal = 'images/' + labbr + '/bt_aggiungi.gif';

	// scorre il form con le quantita' prodqta_(id)=(qta)&...
	var aInputs = getInputs(sContainer);
	if (aInputs) {
		for (i=0; i < aInputs.length; i++) {
			current = aInputs[i];
			if (current.id.substring(0,8) == 'prodqta_') {
				count++;
				sParams += '&' + encodeURIComponent(current.id);
				sParams += '=' + encodeURIComponent(current.value);
			}
		}
		if (count > 0) {

	   	$('input#basket_submit').attr('disabled','disabled').attr('src', imgWait);
			$.ajax({
			   type: "POST",
			   url: "ajax.php?req=addtocart",
			   data: sParams,
			   dataType: "json",
			   success: function(oResponse) {
			   	$('input#basket_submit').attr('src', imgNormal);
					// aggiorna numero prodotti nel carrello
					if (isNaN(oResponse.count)) {
						// report error
						alert(mytext(14));
					} else {
						updateCartCount(oResponse.count);
						alert(mytext(11));
					}
			   },
			   error: function() {
			   	$('input#basket_submit').attr('src', imgNormal);
			   	// report error
			   	alert(mytext(14));
			   },
			   complete: function() {
			   	$('input#basket_submit').removeAttr('disabled');
			   }
			});

		}
	}

}

function updateCartCount(num)
{
	var divcl = (num > 0)? 'bcount_show': 'bcount_hide';

	$('div#bcount').removeClass().addClass(divcl);
	$('span#cart_products_num').html(num);
	$('span#cart_products_plur').html(mytext(num==1? 12 : 13));
}

function confirmLogout()
{
	// chiedi conferma prima di uscire (logout)
	var sConfirm;

	if (($('div#bcount').attr('className')) == 'bcount_show') {
		// ci sono prodotti nel carrello
		sConfirm = mytext(21) + "\n" + mytext(20);
		return(confirm(sConfirm));

	} else {
		// niente richiesta di conferma se non si perde il carrello
		return true;
	}
}

function confirmChangeBasket()
{
	// chiedi conferma prima di cambiare carrello (negli appunti)
	if (($('div#bcount').attr('className')) == 'bcount_show') {
		// ci sono prodotti nel carrello: chiedi conferma
		return(confirm(mytext(30)));
	} else {
		return true;
	}
}

function addToWishlistAjax(idProd)
{
	var labbr = mytext(0);
	var imgWait = 'images/' + labbr + '/bt_attendere.gif';
	var imgNormal = 'images/' + labbr + '/bt_aggiungi_wishlist.gif';
	var imgDSrc = 'images/' + labbr + '/presente_wishlist.gif';

	var sParams = 'wishlist_add=1&prod=' + encodeURIComponent(idProd);

 	$('input#wishlist_add').attr('disabled','disabled').attr('src', imgWait);

	$.ajax({
	   type: "POST",
	   url: "ajax.php?req=addtowish",
	   data: sParams,
	   dataType: "json",
	   success: function(oResponse) {
	   	var imgDone;
			if (oResponse.ok) {
				imgDone = document.createElement('img');
				imgDone.src = imgDSrc;
				imgDone.alt = mytext(31);
				imgDone.title = imgDone.alt;
				imgDone.className = 'wishlist_a';
				$('input#wishlist_add').after(imgDone).remove();
				alert(mytext(15));
			} else {
		   	$('input#wishlist_add').removeAttr('disabled').attr('src', imgNormal);
				// report error
				alert(mytext((oResponse.error && oResponse.error == "login")? 16 : 14));

			}
	   },
	   error: function() {
	   	$('input#wishlist_add').removeAttr('disabled').attr('src', imgNormal);
	   	// report error
	   	alert(mytext(14));
	   }

	});

}

function orderConfirmAction(action)
{
	var myform;
	var acttext;

	if (document.getElementById) {
		myform = document.getElementById('form_action_' + action);
		if (myform) {
			switch(action) {
				case 'cancel':
					acttext = mytext(34);
					break;

				case 'accept':
					acttext = mytext(35);
					break;

				default:
					return true;
			}

			if (confirm(acttext + mytext(36))) {
				myform.confirm.value = 1;
				return true;

			} else {
				return false;
			}
			
		}
	}
	return true;
}

/* document.ready comune a tutte le pagine */

$(document).ready(function() {
	// apri i link al sito istituzionale in una nuova finestra
	$('a#link_ist_header').attr('target', '_blank').attr('title', mytext(32));
	$('a#link_ist_footer').attr('target', '_blank').attr('title', mytext(32));
});

mw=null;
function openWindowDimBars(FileName,w,h,barre) {
	myWindow=window.open(FileName,'','toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars='+barre+',resizable=0,top=10,left=10,width='+w+',height='+h);
	return myWindow;
}