var XMLHttpRequestObject = false;
var bPeticionEnCurso = false;

String.prototype.trim = function() {
			var reExtraSpace = /^\s+(.*?)\s+$/;
			return this.replace(reExtraSpace, "$1");

};
String.prototype.stripHTML = function() {
			var reTag = /<(?:.|\s)*?>/g;
			return this.replace(reTag, "");

};

function replace(texto,s1,s2){
		return texto.split(s1).join(s2);
	}

function isValidEmail(sText) {
	var reEmail = /(^[a-zA-Z0-9._-]{1,30})@([a-zA-Z0-9.-]{1,30}$)/;
	return reEmail.test(sText);
}
function isValidNumber(sText) {
	if (isNaN(sText)) {
		return false;
	}
	return true;
}


if (window.XMLHttpRequest)
{
 	XMLHttpRequestObject = new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
 	XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
}

function pedirDatos(sMethod,fuenteDatos, divID){
 	if(XMLHttpRequestObject)
 	{
 		var obj = document.getElementById(divID);
 		XMLHttpRequestObject.open(sMethod, fuenteDatos);
 		XMLHttpRequestObject.onreadystatechange = function()
 		{
 			if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200)
 			{
 				obj.innerHTML = XMLHttpRequestObject.responseText;
 			}
 		}
 		XMLHttpRequestObject.send(null);
 	}
}

function getMArrayAjax(sMethod, sPagina, sParametros)
{
	
	if(XMLHttpRequestObject)
 	{
 		XMLHttpRequestObject.open(sMethod, sPagina, true);
 	
 		XMLHttpRequestObject.onreadystatechange = function()
 		{
 			
 			if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200)
 			{
 				
				ocultaGif();
				//eval(XMLHttpRequestObject.responseText);
				document.getElementById("respuesta").innerHTML = XMLHttpRequestObject.responseText;
 			}
 		}
 		if (sMethod=='POST')
 		{
 			XMLHttpRequestObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			XMLHttpRequestObject.send(sParametros);
			//alert(sParametros);
 		}
 		else
 		{
 			XMLHttpRequestObject.send(null);
 		}
 	}

}
function enviarEmail() {
		
		if (!bPeticionEnCurso) {
			
			bPeticionEnCurso=true;
			muestraGif();
				

			var sNombre = document.getElementById("nombre").value.trim();
			var sEmail = document.getElementById("email").value.trim();
			var sMensaje = document.getElementById("mensaje").value.trim();
			
			var sEmpresa = document.getElementById("empresa").value.trim();
			var sTelefono = document.getElementById("telefono").value.trim();
			
			var bError = false;
			var sMensajeError = "";
			
			if (sNombre == "") {
				document.getElementById("nombre_text").style.color="#cc0000";
  			bError = true;
			}
			else {
				document.getElementById("nombre_text").style.color="#FFFFFF";
			}
			if (sEmail=="")
			{
				document.getElementById("email_text").style.color="#cc0000";
				bError = true;
			}
			else {
				document.getElementById("email_text").style.color="#FFFFFF";
			}
			if (sMensaje=="")
			{
				document.getElementById("mensaje_text").style.color="#cc0000";
				bError = true;
			}
			else {
				document.getElementById("mensaje_text").style.color="#FFFFFF";
			}
			if (sEmpresa=="")
			{
				document.getElementById("empresa_text").style.color="#cc0000";
				bError = true;
			}
			else {
				document.getElementById("empresa_text").style.color="#FFFFFF";
			}
			if (sTelefono=="")
			{
				document.getElementById("telefono_text").style.color="#cc0000";
				bError = true;
			}
			else {
				document.getElementById("telefono_text").style.color="#FFFFFF";
			}
			
			if (bError) {
				sMensajeError = "Los campos con * son obligatorios.";
			}
			
			if (!isValidEmail(sEmail)) {
				document.getElementById("email_text").style.color = "#cc0000";
				sMensajeError = "Introduzca un email válido.";
				bError = true;
			}
			else {
					document.getElementById("email_text").style.color = "#FFFFFF";
			}
			
			if (sTelefono.trim() != "" && !isValidNumber(sTelefono)) {
				document.getElementById("telefono_text").style.color = "#cc0000";
				sMensajeError = "Introduzca un teléfono válido.";
				bError = true;
			}
			else {
				document.getElementById("telefono_text").style.color = "#FFFFFF";
			}
			
			
			if (bError) {
				document.getElementById("mensaje_error").style.color = "#cc0000";
				document.getElementById("mensaje_error").innerHTML = sMensajeError;
				ocultaGif();
			} else {
				
				document.getElementById("mensaje_error").innerHTML = "";
				
				sNombre = sNombre.stripHTML();
				sNombre=replace(sNombre,"&","amp;");
				sNombre=replace(sNombre,"%","porct;");
				sNombre = replace(sNombre,"\r\n","<br />");
				
				sEmail = sEmail.stripHTML();
				sEmail=replace(sEmail,'&','amp;');
				sEmail=replace(sEmail,"%","porct;");
				sEmail=replace(sEmail,"\r\n","<br />");
				
				sMensaje = sMensaje.stripHTML();
				sMensaje=replace(sMensaje,'&','amp;');
				sMensaje=replace(sMensaje,"%","porct;");
				sMensaje=replace(sMensaje,"\r\n","<br />");
				
				sEmpresa = sEmpresa.stripHTML();
				sEmpresa=replace(sEmpresa,'&','amp;');
				sEmpresa=replace(sEmpresa,"%","porct;");
				sEmpresa=replace(sEmpresa,"\r\n","<br />");
				
				sTelefono = sTelefono.stripHTML();
				sTelefono=replace(sTelefono,'&','amp;');
				sTelefono=replace(sTelefono,"%","porct;");
				sTelefono=replace(sTelefono,"\r\n","<br />");
				
				
				var sURL = "mail/enviar_email.php";
				var sParametros = "nombre=" + sNombre;
				sParametros += "&empresa=" + sEmpresa;
				sParametros += "&telefono=" + sTelefono;
				sParametros += "&mail=" + sEmail;
				sParametros += "&mensaje=" + sMensaje;
				
				
				getMArrayAjax('POST', sURL, sParametros);

				resetForm();

			
			

		}
	}
	bPeticionEnCurso=false;
}
function muestraGif()
{
	document.getElementById("gif_ajax").style.visibility = "visible";
}
function ocultaGif()
{
	document.getElementById("gif_ajax").style.visibility = "hidden";
}
	
function resetForm()
	{

		document.getElementById("nombre").value = "";
		document.getElementById("email").value = "";
		document.getElementById("mensaje").value = "";
		document.getElementById("empresa").value = "";
		document.getElementById("telefono").value = "";

	
	}

