var box1;
var box2;
var box3;
var box4;

window.addEvent('domready', function() {
	setSelectedNavigationBarButton('firstLevelNavigationBar1');
	
	box1 = new CustomSlide('checks_section',{link:'cancel'});
	box2 = new CustomSlide('radios_section',{link:'cancel'});
	box3 = new CustomSlide('accidentNo_section',{link:'cancel'});
	box4 = new CustomSlide('accidentDate_section',{link:'cancel'});
	box5 = new CustomSlide('numberplate_section',{link:'cancel'});
	
	populateArg2();
	//Ri setto eventualmente i valori del secondo combo e dei radio in seguito a messaggio di errore
	$('arg2_field').value = argument2;
	
	if (products) {
		for (var i = 0; i < products.length; i++) {
			if (products[i].indexOf('1') != '-1') {
				$('check1').checked = true;
				$('check1Label').className += ' labChecked';
			} else if (products[i].indexOf('2') != '-1') {
				$('check2').checked = true;
				$('check2Label').className += ' labChecked';
			} else if (products[i].indexOf('3') != '-1') {
				$('check3').checked = true;
				$('check3Label').className += ' labChecked';
			} else if (products[i].indexOf('4') != '-1') {
				$('check4').checked = true;
				$('check4Label').className += ' labChecked';
			} else if (products[i].indexOf('5') != '-1') {
				$('check5').checked = true;
				$('check5Label').className += ' labChecked';
			} else if (products[i].indexOf('6') != '-1') {
				$('check6').checked = true;
				$('check6Label').className += ' labChecked';
			}
		}
	}
	myCal = new Calendar({ year: { year: 'Y', month: 'm', day: 'd' }},  { tweak: { x: 6, y: 0 }});
	manageArg2Fields();
});

//Ovverride funzione che applica stili ai radio
function styleRadios() {
}

function checkForm() {
	var x = 0;
    var errore = 0;

	// Controllo di validazione del NOME (obbligatorio)
    errore = isMandatory('name_field', 'name_field_error');
    if (errore==0)
    	errore += isAlphabetic('name_field', 'name_field_error2');
    if (errore==0)
    	errore += lengthConstraints('name_field', 'name_field_error2', -1, 30);
    if (errore>0) {
    	x++;
    }
    errore = 0;
    
    // Controllo di validazione del COGNOME (obbligatorio)
    errore = isMandatory('surname_field', 'surname_field_error');
    if (errore==0)
    	errore += isAlphabetic('surname_field', 'surname_field_error2');
    if (errore==0)
    	errore += lengthConstraints('surname_field', 'surname_field_error2', -1, 30);
    if (errore>0) {
    	x++;
    }
    errore = 0;
	
	// Controllo di validazione del telefono (obbligatorio)
	errore = isMandatory('phone_field', 'phone_field_error');
	if (errore==0)
		errore += lengthConstraints('phone_field', 'phone_field_error2', 3, 10);
	if (errore==0)
		errore += isNumeric('phone_field', 'phone_field_error2');
	if (errore>0) {
		x++;
	}
	errore = 0;
	
	// Controllo di validazione della EMAIL (obbligatorio)
    errore = isMandatory('email_field', 'email_field_error');
    if (errore==0)
    	errore += isEmail('email_field', 'email_field_error2');
    if (errore>0) {
    	x++;
    }
    errore = 0;

	// Controllo di validazione dell' ARGOMENTO1 (obbligatorio)
	x += isMandatory('arg1_field', 'arg1_field_error', false, '0#');

	// Controllo di validazione dell' ARGOMENTO2 (obbligatorio) -- per ora commentata l'obligatorietà
	//x += isMandatory('arg2_field', 'arg2_field_error', false, '0#');
	
	// Controllo di validazione del NUMERO PREVENTIVO (numerico di 9 cifre)
	errore = isNumeric('estimateNo_field', 'estimateNo_field_error2');
	if (errore==0 && $('estimateNo_field').value!='' && $('estimateNo_field').value.length>0)
    	errore += lengthConstraints('estimateNo_field', 'estimateNo_field_error2', 9, 9);
	if (errore>0) {
		x++;
	}
	errore = 0;	
	
	var arg1 = $('arg1_field').value;
	arg1 = arg1.substring(0,arg1.indexOf("#"));
	
	// Controllo di validazione del NUMERO - o DATA - SINISTRO, TARGA e NUMERO TELEFONO (obbligatori solo se ARGOMENTO1 vale 6)
	if (arg1=='6') {
		
		var arg2 = $('arg2_field').value;
		arg2 = arg2.substring(0,arg2.indexOf("#"));
		
		if (arg2=='006A') {	//Solo in questo caso diventa obbligatoria la accidentDate al posto di accidentNo
			x += isDateMandatory($('day').value, $('month').value, $('year').value, 'accidentDate_field_error', 'accidentDate_field_error', null, null, true);
			
			var radio1 = $('radio1').checked;
			var radio2 = $('radio2').checked;
			var radio3 = $('radio3').checked;
			var radio4 = $('radio4').checked;
			var radio5 = $('radio5').checked;
			var radio6 = $('radio6').checked;
			
			if (isMandatory(new Array('radio1','radio2','radio3','radio4','radio5','radio6'), 'radios_error') == 0) {
				if (radio1 || radio2 || radio3 || radio4) {		//Se c'e' un prodotto MOTORS diventa obbligatorio estimateNo ma solo se non è valorizzata la targa
					//Per prodotti MOTORS se c'è la targa deve essere valida
					if ($('numberplate_field')) {
			        	x += lengthConstraints('numberplate_field', 'numberplate_field_error2', -1, 50);
			        }
					/*
				    if (isMandatory('estimateNo_field', 'estimateNo_field_error') == 1 && isMandatory('numberplate_field', 'numberplate_field_error') == 1) {
				    	//Non posso gestire questo errore con evidenziando i 2 campi in rosso altrimenti l'utente non capisce che solo uno è obbligatorio
				    }
				    */
				} else {
					//Se e' un prodotto non MOTORS (quindi è da escludere nessun prodotto selezionato) diventa sempre obbligatorio estimateNo
					if (radio5 || radio6) {	
					    x += isMandatory('estimateNo_field', 'estimateNo_field_error');
				    }
				}
			} else {
				x++;
			}
		} else {
			errore = 0;
			
		    errore = isMandatory('accidentNo_field', 'accidentNo_field_error');
		    if (errore==0)
		    	errore += isNumeric('accidentNo_field', 'accidentNo_field_error2');
			if (errore==0)
	        	errore += lengthConstraints('accidentNo_field', 'accidentNo_field_error2', 9, 9);
		    if (errore>0) {
		    	x++;
		    }
		    
		    errore = 0;
	    	
		    errore = isMandatory('numberplate_field', 'numberplate_field_error');
			if (errore==0)
	        	errore += lengthConstraints('numberplate_field', 'numberplate_field_error2', -1, 50);
		    if (errore>0) {
		    	x++;
		    }
	    }
	    
	    errore = 0;
	}

	// Controllo di validazione del TESTO DEL MESSAGGIO (obbligatorio)
	x += isMandatory('message_field', 'message_field_error', false);
		
	if (x > 0) {
    	return false;
	} else {
		disableControls(document);
    	return true;
	}
};

function manageArg2Fields() {
	var arg1 = $('arg1_field').value;
	arg1 = arg1.substring(0,arg1.indexOf("#"));
	// Solo se ARGOMENTO1 vale 6 devo far vedere il box 3
	if (arg1=='6') {
		var arg2 = $('arg2_field').value;
		arg2 = arg2.substring(0,arg2.indexOf("#"));
		if (arg2=='006A') {
			box1.slideOut();
			box2.slideIn();
			box3.slideOut();
			box4.slideIn();
			if ($('radio5').checked || $('radio6').checked) {
				box5.slideOut();
			} else {
				box5.slideIn();
			}
		} else {
			box1.slideIn();
			box2.slideOut();
			box3.slideIn();
			box4.slideOut();
		}
	} else {
		box1.slideIn();
		box2.slideOut();
		box3.slideOut();
		box4.slideOut();
	}
};

function populateArg2() {
	var arg1 = $('arg1_field').value;
	arg1 = arg1.substring(0,arg1.indexOf("#"));
	$('arg2_section').style.display = 'none';
	$('accidentNo_section').style.display = 'none';
	$('numberplate_section').style.display = 'none';
	//$('phone_section').style.display = 'none';
	if (arg1=='1' || arg1=='2' || arg1=='3' || arg1=='4' || arg1=='5' || arg1=='6' || arg1=='7') {
		$('arg2_section').style.display = 'inline';
		$('arg2_field').options.length = 1;
		if (arg1=='1') {
			$('arg2_field').options[1] = new Option("Informazioni", "001A#Informazioni", false, false);
			$('arg2_field').options[2] = new Option("Quando e' possibile usufruire dell'Agevolazione Bersani", "001B#Quando e' possibile usufruire dell'Agevolazione Bersani", false, false);
			$('arg2_field').options[3] = new Option("Modificare un preventivo gia' calcolato", "001C#Modificare un preventivo gia' calcolato", false, false);
			$('arg2_field').options[4] = new Option("Variazione email - recapito telefonico nel preventivo", "001D#Variazione email - recapito telefonico nel preventivo", false, false);
			$('arg2_field').options[5] = new Option("Le nostre promozioni, iniziative commerciali, sconti e convenzioni", "001E#Le nostre promozioni, iniziative commerciali, sconti e convenzioni", false, false);
			$('arg2_field').options[6] = new Option("Informazioni, modifiche per il preventivo Io e la mia casa, Infortuni e Veicoli commerciali", "001F#Informazioni, modifiche per il preventivo Io e la mia casa, Infortuni e Veicoli commerciali", false, false);
			$('arg2_field').options[7] = new Option("Informazioni e modifiche  per il preventivo viaggio e volo", "001G#Informazioni e modifiche  per il preventivo viaggio e volo", false, false);
		} else if (arg1=='2') {
			$('arg2_field').options[1] = new Option("Necessito dei vostri numeri di fax ed e-mail, per trasmettere i documenti richiesti ", "002A#Necessito dei vostri numeri di fax ed e-mail, per trasmettere i documenti richiesti ", false, false);
			$('arg2_field').options[2] = new Option("Non ho ricevuto preventivo/polizza/contrassegno", "002B#Non ho ricevuto preventivo/polizza/contrassegno", false, false);
			$('arg2_field').options[3] = new Option("Non ho ricevuto il rinnovo/l'attestato di rischio per posta", "002C#Non ho ricevuto il rinnovo/l'attestato di rischio per posta", false, false);
		} else if (arg1=='3') {
			$('arg2_field').options[1] = new Option("Informazioni", "003A#Informazioni", false, false);
			$('arg2_field').options[2] = new Option("Modificare  il preventivo di rinnovo: residenza, formula guida e altri dati", "003B#Modificare  il preventivo di rinnovo: residenza, formula guida e altri dati", false, false);
			$('arg2_field').options[3] = new Option("Variazione email - recapito telefonico sul rinnovo", "003C#Variazione email - recapito telefonico sul rinnovo", false, false);
		} else if (arg1=='4') {
			$('arg2_field').options[1] = new Option("Cambio il veicolo assicurato", "004A#Cambio il veicolo assicurato", false, false);
			$('arg2_field').options[2] = new Option("Variazione email - recapito telefonico in polizza", "004B#Variazione email - recapito telefonico in polizza", false, false);
			$('arg2_field').options[3] = new Option("Ho variato la mia residenza all'anagrafe", "004C#Ho variato la mia residenza all'anagrafe", false, false);      
		} else if (arg1=='5') {
			$('arg2_field').options[1] = new Option("Richiesta nostre coordinate ", "005A#Richiesta nostre coordinate ", false, false);
			$('arg2_field').options[2] = new Option("Non ho ricevuto il rimborso", "005B#Non ho ricevuto il rimborso", false, false);
			$('arg2_field').options[3] = new Option("Per il rimborso con bonifico devo comunicare il mio IBAN ", "005C#Per il rimborso con bonifico devo comunicare il mio IBAN", false, false);
		} else if (arg1=='6') {
			$('arg2_field').options[1] = new Option("Avviso di sinistro alla Compagnia", "006A#Avviso di sinistro alla Compagnia", false, false);
			$('arg2_field').options[2] = new Option("Tutela legale", "006B#Tutela legale", false, false);
			$('arg2_field').options[3] = new Option("Assistenza stradale", "006C#Assistenza stradale", false, false);
			$('arg2_field').options[4] = new Option("Stato di avanzamento del sinistro", "006D#Stato di avanzamento del sinistro", false, false);
			$('arg2_field').options[5] = new Option("Documentazione relativa al sinistro", "006E#Documentazione relativa al sinistro", false, false);
			$('arg2_field').options[6] = new Option("Reclamo gestione sinistro", "006F#Reclamo gestione sinistro", false, false);
			$('accidentNo_section').style.display = 'inline';
			$('numberplate_section').style.display = 'inline';
		} else if (arg1=='7') {
			$('arg2_field').options[1] = new Option("Recupero username e password", "007A#Recupero username e password", false, false);
			$('arg2_field').options[2] = new Option("Non e' possibile accedere all'area personale", "007B#Non e' possibile accedere all'area personale", false, false);
			$('arg2_field').options[3] = new Option("Non riesco a pagare con carta di credito o PayPal", "007C#Non riesco a pagare con carta di credito o PayPal", false, false);
			$('arg2_field').options[4] = new Option("Non e' possibile modificare, visualizzare il preventivo auto, moto", "007D#Non e' possibile modificare, visualizzare il preventivo auto, moto", false, false);
			$('arg2_field').options[5] = new Option("Prodotti Io e la mia casa, Infortuni e Veicoli Commerciali", "007E#Prodotti Io e la mia casa, Infortuni e Veicoli Commerciali", false, false);
			$('arg2_field').options[6] = new Option("Prodotto Viaggio e Volo", "007F#Prodotto Viaggio e Volo", false, false);
		}
		
		$('arg2_section').style.display = 'inline';
		manageArg2Fields();
	} else {
		$('arg2_section').style.display = 'none';	
	}
};


