var Romantica = {
	validate: function(field, what, lang){
		switch(what.toUpperCase()){
			case 'REQUIRED':
				if (field.value=='') {
					//alert('Il campo è obbligatorio.');
					if (lang=='IT') {
						Romantica.error(field, 'Campo obbligatorio');
					}else{
						Romantica.error(field, 'Required field');
					}
					field.focus();
				}else{
					field.setStyle({ border: 'solid 0.5px #7F9DB9'});
				};
				break;
			case 'EMAIL':
				if (!Romantica.validateEmail(field.value)) {
					if (lang=='IT') {
						Romantica.error(field, 'Email non valida');
					}else{
						Romantica.error(field, 'Invalid Email address');
					}
					field.focus();
				}else{
					field.setStyle({ border: 'solid 0.5px #7F9DB9'});
				};
				break;
			default:
				;
		} // switch
	},
	error: function(o, text){
		var d = new Element('DIV', {
			class: 'errore',
			style: 'visibility: visible'
		});
		if (text) {
			d.innerTEXT= text;
		}else{
			d.innerTEXT= 'Campo obbligatorio';
		}
		o.setStyle({ border: 'solid 0.5px red'});
		o.appendChild(d);
		return o;
	},
	validateEmail:	function(email){
	// a very simple email validation checking.
	// you can add more complex email checking if it helps
	    if(email.length <= 0)
		{
		  return true;
		}
	    var splitted = email.match("^(.+)@(.+)$");
	    if(splitted == null) return false;
	    if(splitted[1] != null )
	    {
	      var regexp_user=/^\"?[\w-_\.]*\"?$/;
	      if(splitted[1].match(regexp_user) == null) return false;
	    }
	    if(splitted[2] != null)
	    {
	      var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;
	      if(splitted[2].match(regexp_domain) == null)
	      {
		    var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
		    if(splitted[2].match(regexp_ip) == null) return false;
	      }// if
	      return true;
	    }
	return false;
	},
	submit: function(from, lang){
		var nome = $('txtNome').value;
		var cognome = $('txtCognome').value;
		var email = $('txtEmail').value;
		var nazionalita = $('cmbNazionalita').options[$('cmbNazionalita').selectedIndex].value;
		var telefono = $('txtTelefono').value;
		var arrivo = $('txtData_a').value;
		var partenza = $('txtData_p').value;
		var persone = $('cmbPersone').options[$('cmbPersone').selectedIndex].value||0;
		var sMessaggio = $('txtMessaggio').value;
		//var from = $('from').value;

		if (nome=='') {
			if (lang=='IT') {
				messaggio='Nome è un campo obbligatorio.';
			}else{
				messaggio='Name is required field.';
			}
			alert(messaggio);
			$('txtNome').focus();
			return false;
		}

		if (cognome=='') {
			if (lang=='IT') {
				messaggio='Cognome è un campo obbligatorio.';
			}else{
				messaggio='Surname is required field.';
			}
			alert(messaggio);
			$('txtCognome').focus();
			return false;
		}

		if (email=='') {
			if (lang=='IT') {
				messaggio='Email è un campo obbligatorio.';
			}else{
				messaggio='Email is required field.';
			}
			alert(messaggio);
			$('txtEmail').focus();
			return false;
		}else{
			if (!Romantica.validateEmail(email)) {
				if (lang=='IT') {
					messaggio='Il formato dell\'Email non è corretto.';
				}else{
					messaggio='The format of the Email is not correct';
				}
				alert(messaggio);
				$('txtEmail').focus();
				return false;
			}
		}

		if (sMessaggio=='') {
			if (lang=='IT') {
				messaggio='Messaggio è un campo obbligatorio.';
			}else{
				messaggio='Messagge is required field.';
			}
			alert(messaggio);
			$('txtMessaggio').focus();
			return false;
		}
		$('main').innerHTML = '<strong><center>' + Romantica.sendData(from, nome, cognome, email, nazionalita, telefono, arrivo, partenza, persone, messaggio, lang) + '</center></strong>';
		return true;
	},
	sendData: function(from, nome, cognome, email, nazionalita, telefono, arrivo, partenza, persone, messaggio, lang){
		var risposta = null;
		var tmpCall = new Ajax.Request('sendemail.php?F='+from+
			'&txtNome='+nome+
			'&txtCognome='+cognome+
			'&txtEmail='+email+
			'&cmbNazionalita='+nazionalita+
			'&txtTelefono='+telefono+
			'&txtData_a='+arrivo+
			'&txtData_p='+partenza+
			'&cmbPersone='+persone+
			'&txtMessaggio='+messaggio+
			'&LANG='+lang ,{
					method:'POST',
					asynchronous: false,
					onComplete: function(transport){
						risposta = transport.responseText||'C\'&grave; stato un problema nell\'inviare il messaggio.<br />Ritentare pi&ugrave; tardi.';
					}
			});
		return risposta;
	}
}
