/*
* Calcolatore consumo responsabile V.1.0
* Created by Brand039.com
* last modify 29/11/2005
* info: marco.frigerio@brand039.com
*/

function calcola(consumo){
	
	consumo = consumo.replace('.','');
	consumo = consumo.replace(',','');
	document.calculator.consumo.value = consumo;
	
	start_range=new Array(4);
	end_range=new Array(4);

	quota_fissa=new Array(4);
	quota_variabile=new Array(4);

	start_range[0]=0;
	start_range[1]=5000;
	start_range[2]=10000;
	start_range[3]=20000;
	
	end_range[0]=5000;
	end_range[1]=10000;
	end_range[2]=20000;
	end_range[3]=9999999;

	quota_fissa[0]=550;
	quota_fissa[1]=800;
	quota_fissa[2]=1550;
	quota_fissa[3]=2550;

	quota_variabile[0]=0.09;
	quota_variabile[1]=0.09;
	quota_variabile[2]=0.09;
	quota_variabile[3]=0.09;

	trovato = 0
	for (i in start_range){
		if ((consumo > start_range[i]) && (consumo <= end_range[i])){
			trovato=1
			document.calculator.risultato.value = quota_fissa[i]+(quota_variabile[i]*consumo)+" €";
		}
	}
	
	if (trovato==0){
		alert('il numero deve essere compreso tra 0 e 9.999.999, grazie.');
	}
}

/*
* checkForm e
* Created by Brand039.com
* last modify 29/11/2005
* info: alessandro.mauri@brand039.com
*/


var reSelect        = /^select/
var reNotEmpty      = /\w/
var reName          = /^[a-z][a-zèòàìùé\`\'\.\s]*$/i
var reWord          = /^\w[\wèòàìùé\`\'\.,\-\°]*$/i
var reWords         = /^\w[\wèòàìùé\`\'\.,\-\°\s]*$/i
var reInt           = /^\-?\d+$/
var reNaturalInt    = /^[1-9]\d*$/
var reNatural0Int   = /^\d+$/
var reDay           = /^(0?[1-9]|[12][0-9]|3[01])$/
var reMonth         = /^(0?[1-9]|1[0-2])$/
var reYear          = /^(20|19)?\d\d$/
var reCAP           = /^\d\d\d\d\d$/
var reSiglaProv     = /^[a-z][a-z]$/i
var reEmail         = /^\w[\w\-\.]*@\w[\w\-\.]*\.[a-z]{2,4}$/i
var reTarga         = /^[A-Z0-9]{5,10}$/i
var rePassword      = /^.{4,16}$/
var reCodiceFiscale = /^[A-Z]{6,6}\d\d[A-EHLMPRST]([04][1-9]|[1256][0-9]|[37][01])[A-ILM]\d\d\d[A-Z]$/i

var reTelFisso      = /^0\d{6,13}$/
var reTelCell       = /^\d{7,15}$/
var reTel           = reTelCell
var rePartitaIva  = /^\w{6,6}\d\d\w\d\d\w\d\d\d\w$/
var rePatente     = /\w/



function showError(e, value, type, label, par1, par2) {
	switch (type) {
		case 'text':
			if (value) alert('"' + value + '" non è un valore valido per il campo "' + label + '".')
			else alert('Non è stato specificato un valore valido per il campo "' + label + '".')
			break;

		case 'date':
			if (value) alert('"' + value + '" non è una data valida per il campo "' + label + '".')
			else alert('Non è stata specificata una data valida per il campo "' + label + '".')
			break;

		case 'cmpdate':
			if (par2) { // focusOn_e1
				alert('La "' + label + '" non deve essere posteriore alla "' + par1 + '".')
			} else {
				alert('La "' + par1 + '" non deve essere anteriore alla "' + label + '".')
			}
			break;

		case 'int':
			if (value) alert('"' + value + '" non è una numero compreso tra '+par1+' e '+par2+' per il campo "' + label + '".')
			else alert('Non è stato specificato un numero compreso tra '+par1+' e '+par2+' per il campo "' + label + '".')
			break;

		case 'checkbox':
			alert('Il campo "' + label + '" non è stato spuntato')
			break;

		case 'confirmPassword':
			alert('Il valore del campo '+label+' non coincide a '+par1+'.')
			break;

		case 'password':
			if (value) alert('Non è stata inserita una password valida per il campo "' + label + '".')
			else alert('Non è stata specificata nessuna password per il campo "' + label + '".')
			break;

		case 'radio':
		case 'select':
			alert('Non è stata selezionata nessuna voce per il campo "' + label + '".')
			break;

		case 'singleRadio':
			alert('Il campo "' + label + '" non è stato selezionato')
			break;
	}
	if (type != 'radio' && type != 'singleRadio') e.focus()
	return false
}


function testPWD(e, re, label) {
	if (e.value && re.test(e.value)) {
		return true;
	}else{
	 	return (label ? showError(e, e.value, 'password', label) : false);
	}
}

function testRE(e, re, label) {
	if (e.value && re.test(e.value)) {
		return true;
	}else{
	 	return (label ? showError(e, e.value, 'text', label) : false);
	}
}


function testOptRE(e, re, label) {
	if (e.value == null || e.value == '') return true
	else return testRE(e, re, label)
}


function testCmpDate(e1, e2, label1, label2, focusOn_e1) {
	if (testDate(e1, label1) && testDate(e2, label2)) {
		var dmy1= e1.value.split('/')
		var d1 = parseInt(dmy1[0], 10)
		var m1 = parseInt(dmy1[1], 10)
		var y1 = parseInt(dmy1[2], 10)

		var dmy2= e2.value.split('/')
		var d2 = parseInt(dmy2[0], 10)
		var m2 = parseInt(dmy2[1], 10)
		var y2 = parseInt(dmy2[2], 10)

		if (y2>y1) return true
		else if (y2==y1 && m2>m1) return true
		else if (y2==y1 && m2==m1 && d2>=d1) return true
		else return (label1 && label2
						? showError(  focusOn_e1 ? e1 : e2
									, focusOn_e1 ? e1.value : e2.value
									, 'cmpdate'
									, label1
									, label2
									, focusOn_e1)
						: false)
	} else return false
}


function testOptCmpDate(e1, e2, label1, label2, focusOn_e1) {
	var e1Full = (e1.value != null && e1.value != '')
	var e2Full = (e2.value != null && e2.value != '')
	if (e1Full && e2Full) return testCmpDate(e1, e2, label1, label2, focusOn_e1)
	else if (e1Full) return testDate(e1, label1)
	else if (e2Full) return testDate(e2, label2)
	else return true
}


function testInt(e, min, max, label) {
	if (e.value == '' + parseInt(e.value, 10) && e.value >= min && e.value <=max) return true
	else return (label ? showError(e, e.value, 'int', label, min, max) : false)
}


function testOptInt(e, min, max, label) {
	if (e.value==null || e.value=='') return true
	else return testInt(e, min, max, label)
}


function testSelect(e, firstValidIndex, label) {
	if (e.selectedIndex >= firstValidIndex) return true
	else return (label ? showError(e, false, 'select', label) : false)
}


function testSelectOption(e, value) {
	for (var i=0; i<e.options.length; i++) {
		if (e.options[i].selected && e.options[i].value == value) return true
	}
	return false
}


function testDate(e, label) {
	var dmy = e.value.split('/')
	if (reDay.test(dmy[0]) && reMonth.test(dmy[1]) && reYear.test(dmy[2])) {

		var d = parseInt(dmy[0], 10)
		var m = parseInt(dmy[1], 10)
		var y = parseInt(dmy[2], 10)

		// Con il passare degli anni aggiustare l'assegnazione automatica del secolo
		if (y < 10) y += 2000
		else if (y < 100) y += 1900

		var bisestile = (y % 4 == 0 && (y % 100 != 0 || y % 400 == 0) ? 1 : 0);

		if ( m==1 || m==3 || m==5 || m==7 || m==8 || m==10 || m==12 || (m==2 && d<=28+bisestile) ||
			 ((m==4 || m==6 || m==9 || m==11) && d <=30) ) {
			e.value = (d < 10 ? '0' : '') + d + '/' + (m < 10 ? '0' : '') + m + '/' + y
			return true
		}
	}
	return (label ? showError(e, e.value, 'date', label) : false)
}


function testOptDate(e, label) {
	if (e.value == null || e.value == '') return true
	else return testDate(e, label)
}


function testPasswords(e1, e2, label1, label2) {
	if (!rePassword.test(e1.value)) return (label1 ? showError(e1, e1.value, 'password', label1) : false)
	if (e1.value != e2.value) {
		if (label1 && label2) showError(e1, e1.value, 'confirmPassword', label1, label2)
		e2.focus()
		return false
	} else return true
}


function testCheckBox(e, label) {
	if (label && !e.checked) showError(e, e.value, 'checkbox', label)
	return e.checked
}


function testRadio(e, label) {
	if (e.type) {
		if (e.checked) return true
		return (label ? showError(e, e.value, 'singleRadio', label) : false)
	} else {
		for (var i=0; i<e.length; i++) {
			if (e[i].checked) return true
		}
		return  (label ? showError(e[0], false, 'radio', label) : false)
	}
}


function testRadioElement(e, value) {
	for (var i=0; i<e.length; i++) {
		if (e[i].checked && e[i].value == value) return true
	}
	return false
}


function checkForm(formId, checksToDo) {
	var v
	if (typeof checksToDo != 'object') return true
	for (a=0; a<checksToDo.length; a++) {
		eval('v = '+checksToDo[a]);
		if (!v) return false;
	}
	return true
}


function checkAndSubmit(formId, checksToDo) {
	if (checkForm(formId, checksToDo)) {
		formId.submit()
		return true
	} else return false
}


function CheckRegistration(form){
	alert("pippo");
	var ret
	var myform = Array();
	// dati anagrafici
	myform[0] = "testRE(form.nome, reWords, 		'Nome')";
	myform[1] = "testRE(form.cognome, 	reWords, 		'Cognome')";
	myform[2] = "testCheckBox(form.sesso,	'Sesso')";
	myform[3] = "testRE(form.email, 	reWords, 		'Email')";
	//myform[3] = "(testOptRE(form.piva, reCodiceFiscale, 'P.Iva o Codice Fiscale') || testOptRE(form.piva, rePartitaIva, 'P.Iva o Codice Fiscale'))";
	// dati di recapito
	/*myform[3] = "testOptRE(form.via, 	reWords, 		'Via o piazza')";
	myform[4] = "testOptRE(form.numciv, reNaturalInt, 	'Numero civico')";
	myform[5] = "testOptRE(form.cap, 	reCAP, 			'CAP')";
	myform[6] = "testOptRE(form.cit, 	reWords, 		'Città')";
	myform[7] = "testOptRE(form.prov, 	reWords, 		'Provincia')";
	myform[8] = "testOptRE(form.tel, 	reTelFisso, 	'Telefono')";
	myform[9] = "testOptRE(form.fax, 	reTelFisso, 	'Fax')";
	myform[10] = "testRE(form.mail, 		reEmail, 		'E-mail')";
	// privacy e trattamento dati
	myform[11] = "testCheckBox(form.accetto,	'Privacy')";
	myform[12] = "testCheckBox(form.autorizzo,	'Autorizzazione trattamento dati personali')";*/
	
	return checkForm(form, myform);
}

function CheckLogin(form){
	var ret
	var myform = Array();
	// dati anagrafici
	myform[0] = "testRE(form.username, 	reEmail, 		'Username')";
	myform[1] = "testPWD(form.password, 	rePassword, 	'Password')";
	
	return checkForm(form, myform);
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}