

/*

	Autore: Gerardo Lombardo per Hotel Bagnitiello
	13/05/2008


*/

function form_controllaTesto(src) {

	var intestazione = document.getElementById(src.name);
	var testo = Trim(src.value);

	if ( testo.length > 40 || testo.length==0 ) {

		cambiaStile(intestazione,"testoRosso");
		return 0;

	} else {
		cambiaStile(intestazione,"testo");
		src.value=testo;
		return 1;
	}

	return 0;
}

function form_controllaEmail(src) {

	var intestazione = document.getElementById(src.name);
	var email = Trim(src.value);

	var espressione = /^[_a-z0-9+-]+(\.[_a-z0-9+-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$/;

	if (!espressione.test(email)) {

		cambiaStile(intestazione,"testoRosso");
		return 0;

	} else {
		cambiaStile(intestazione,"testo");
		src.value=email;
		return 1;
	}

	return 0;
}

function form_controllaPersone(src) {

	var intestazione = document.getElementById(src.name);
	var numero = Trim(src.value);

	if ( isNaN(numero) || parseInt(numero) < 1 || parseInt(numero) > 9999 || numero.length<1) {

		cambiaStile(intestazione,"testoRosso");
		src.value="";
		return 0;

	} else {
		cambiaStile(intestazione,"testo");
		return 1;
	}

	return 0;
}

function form_controllaData(src,srcArrivo) {

	var intestazione = document.getElementById(src.name);
	var data = Trim(src.value);
	var date = new Date();
	var oggi = new Date();
	var errore=0;

	if ( data.lastIndexOf("/")<0 || data.length<6 ) errore=1;

	if ( errore!= 1 ) {
		var bufArray = data.split("/");
		var giorno = bufArray[0];
		var mese = bufArray[1];
		var anno = bufArray[2];

		if ( anno.length<2 || anno.length==3 || anno.length > 4 ) errore=1;
		if ( anno.length==2 ) anno = '20'+anno;
		
		date.setFullYear(parseInt(anno,10),parseInt(mese-1,10),parseInt(giorno,10));

		var giorno2 = date.getDate();
		var mese2 = date.getMonth();
		var anno2 = date.getYear();
		if ( anno2<1900 ) anno2=anno2+1900;

	
		if ( parseInt(giorno,10) != parseInt(giorno2,10) ) errore=1;
		if ( parseInt(mese,10) != parseInt(mese2+1,10) ) errore=1;
		if ( parseInt(anno,10) != parseInt(anno2,10) ) errore=1;

		if ( Date.parse(date) < oggi ) errore=1;

		if ( srcArrivo ) {
			var dataArrivo = Trim(srcArrivo.value);
			var dateArrivo = new Date();

			if ( dataArrivo.lastIndexOf("/")>0 || dataArrivo.length>5 ) {

				var bufArray = dataArrivo.split("/");
				var giorno = bufArray[0];
				var mese = bufArray[1];
				var anno = bufArray[2];

				if ( anno.length==2 ) anno = '20'+anno;
				dateArrivo.setFullYear(parseInt(anno,10),parseInt(mese-1,10),parseInt(giorno,10));

				if ( Date.parse(date) < Date.parse(dateArrivo) ) errore=1;

			}

		}


	}

	if ( errore==1 ) {

		cambiaStile(intestazione,"testoRosso");
		src.value="";
		return 0;

	} else {
		cambiaStile(intestazione,"testo");
		src.value=data;
		return 1;
	}

	return 0;
}

function form_controllaMessaggio(src) {

	var testo = src.value;
	var max_len=500;

	if ( testo.length > max_len) src.value = testo.substring(0, max_len);

	if ( testo.length <= 1 ) {
		cambiaStile(document.getElementById(src.name),"testoRosso");
		return 0;
	}
	
	cambiaStile(document.getElementById(src.name),"testo");

	return 1

}

function form_controllaSend(form) {

	var ok = 0;

	ok = 	form_controllaTesto(form.form_mittente)+
		form_controllaTesto(form.form_telefono)+
		form_controllaEmail(form.form_email)+
		form_controllaPersone(form.form_persone)+
		form_controllaData(form.form_arrivo,'')+
		form_controllaData(form.form_partenza,form.form_arrivo)+
		form_controllaMessaggio(form.form_richiesta);
	
	if ( ok == 7 ) form.submit();

	return false;

}

function selezionaForm() {

		var colore="#F8FBE8";

		var o = document.getElementsByTagName('INPUT')
		for (var i = 0; i < o.length; i++)
		{
				if (o[i].type != 'text')
					continue;

				eval('o[i].onfocus = function onfi' + i +'() {this.style.backgroundColor=\"'+colore+'\";return true;};');
				eval('o[i].onblur = function onbi' + i +'() {this.style.backgroundColor=\"#ffffff\";return true;};');
		}
		var o = document.getElementsByTagName('SELECT')
		for (var i = 0; i < o.length; i++)
		{
				eval('o[i].onfocus = function onfs' + i +'() {this.style.backgroundColor=\"'+colore+'\";return true;};');
				eval('o[i].onblur = function onbs' + i +'() {this.style.backgroundColor=\"#ffffff\";return true;};');
		}
		var o = document.getElementsByTagName('TEXTAREA')
		for (var i = 0; i < o.length; i++)
		{
				eval('o[i].onfocus = function onft' + i +'() {this.style.backgroundColor=\"'+colore+'\";return true;};');
				eval('o[i].onblur = function onbt' + i +'() {this.style.backgroundColor=\"#ffffff\";return true;};');
		}

}

function cambiaStile(obj,style) {

	if ( obj.className!=style ) {

		new Effect.Fade(obj,{duration:0.5,
			afterFinish: function() {
				obj.className=style;
				new Effect.Appear(obj,{duration:0.5});
			}
		});
	}

}
