// TO DO: controllo su inserimento pagine solo multipli di 4 e minimo 16
var loaderon = "<img src=\"modules/mod_miolibro/images/loading.gif\" alt=\"Caricamento in corso\" />";
//var totalhtml = "<input type=\"text\" id=\"totale\" value=\"\" style=\"font-weight: bold; text-align: right;\" /><span><strong>  &euro;</strong></span>";

function checkForm() {
	var errori = "";
	if($('pagine').value == ""){
		errori += "Inserisci il numero di pagine\n";
	}
	if($('copie').value == "") {
		errori += "Inserisci il numero di copie\n";
	}
	// verifico che il numero di pagine sia multiplo di 4
	if(parseInt($('pagine').value) % 4 != 0) {
		errori += "E' necessario inserire un numero di pagine multiplo di 4\n";
	}
	if(parseInt($('pagine').value) < 16) {
		errori += "Non è possibile stampare meno di 16 pagine\n";
	}
	if(parseInt($('copie').value) < 1) {
		errori += "E' necessario inserire almeno una copia\n";
	}
	if(parseInt($('pagine').value) < 56 && $('supporto').options[$('supporto').selectedIndex] == 3) {
		errori += "Copertina cartonata disponibile solo per più di 56\n";
	}
	if(parseInt($('pagine').value) > 64 && $('legatura').options[$('legatura').selectedIndex] == 1) {
		errori += "Legatura a punto metallico disponibile solo fino a 64 pagine\n";
	}
	if(parseInt($('pagine').value) < 56 && $('legatura').options[$('legatura').selectedIndex] == 2) {
		errori += "Copertina cartonata disponibile solo per più di 56\n";
	}
	// limiti min e max per il numero di copie
	
	if(parseInt($('copie').value) < 5) {
		errori += "Servizio disponibile solo per un numero di copie maggiore o uguale a 5.";
	}
	if(parseInt($('copie').value) > 150) {
		errori += "Servizio disponibile solo per un numero di copie minore o uguale a 150.";
	}
	return errori;
}

function calcola(event) {
	var errori = checkForm();
	if(errori == "") {
		getTotal(event);
	} else {
		alert(errori);
		return false;
	}
}

function resetTotal() {
	$('total_html').set('html', '');
	//$$('#prosegui a').setStyle('display', 'none');
	//$$('#prosegui a').set('class', 'hidden	');
	$('prosegui').set('html', '');
	$('total_html').set('class', 'hidden');
	$('prosegui').set('class', 'hidden');
}

function getTotal(event) {
	//previene il cambiare della pagina
	event.stop();
	//costruisco l'oggetto json
	var miolibro = new Object();
	miolibro.tipo = $('tipo').options[$('tipo').selectedIndex].value;
	miolibro.supporto = $('supporto').options[$('supporto').selectedIndex].value;
	miolibro.contenuti = $('contenuti').options[$('contenuti').selectedIndex].value;
	miolibro.formato = $('formato').options[$('formato').selectedIndex].value;
	miolibro.legatura = $('legatura').options[$('legatura').selectedIndex].value;
	miolibro.pagine = $('pagine').value;
	miolibro.copie = $('copie').value;
	
	var req = new Request({
		method: 'post',
		url: 'index.php?option=com_miolibro&task=total&format=raw',
		data: 'miolibro='+JSON.encode(miolibro),
		onRequest: onRequest,
		onComplete: onComplete
	}).send();
	
	return false;
}

function onRequest() {
	//$('loader').setStyle('display', '');
	$('loader').set('html', loaderon);
}

function onComplete(response) {
	var response = JSON.decode(response);
	//$('loader').setStyle('display', 'none');
	$('loader').set('html', '');
	//$('result').set('html', response);
	//$('totale').value = response.costo;
	var totalhtml = "<span class=\"\">Totale: "+response.costo+" &euro;</span> IVA inclusa";
	var prosegui = "<a href=\""+response.href+"\" title=\"Prosegui con l'acquisto\">&gt;&gt; Prosegui con l'acquisto</a>";
	$('total_html').set('html', totalhtml);
	//$('totale').value = response.costo;
	$('prosegui').set('html', prosegui);
	$('total_html').set('class', '');
	$('prosegui').set('class', '');
	/*
	$$('#prosegui a').set('href', response.href);
	$$('#prosegui a').set('class', '');
	*/
}

//on dom ready...
window.addEvent('domready', function() {
	/* pulsante calcola */
	//$('calcola').addEvent('click', calcola);
	$('tipo').addEvent('change', resetTotal);
	$('supporto').addEvent('change', resetTotal);
	$('contenuti').addEvent('change', resetTotal);
	$('formato').addEvent('change', resetTotal);
	$('legatura').addEvent('change', resetTotal);
	$('pagine').addEvent('change', resetTotal);
	$('copie').addEvent('change', resetTotal);
});