/*
Class: Contact
Description: Clase que controla la interaccion de la pagina web: Index.htm
Author: JAB
Info: bren@juanantonio.info
*/

//Clase que controla el fichero Home.htm
function Contact(){
	this.error = false;
};

/*********************************
***** FUNCTIONS & UTILITIES *****
***********************************/

function readEsmetaXML(tag,data){
	var openTag = "<" + tag + ">";
	var closedTag = "</" + tag + ">";
	var index1 = data.indexOf(openTag);
	if(index1 == -1){
		return index1;
	}
	var index2 = data.indexOf(closedTag);
	if(index2 == -1){
		return index2;
	}
	var from = index1 + openTag.length;
	var until = index2
	var content = data.substring(from,until);
	return content;
};

Contact.prototype.trimString = function(str){
	return str.replace(/^\s+/g, '').replace(/\s+$/g, '');
};

/*************************
***** CONTACT FORM *****
**************************/

/**
General procedure to block submit event into a web form
*/
Contact.prototype.onSubmitWebForm = function(){
	return false;
}

/**
 * DHTML email validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
 */
Contact.prototype.checkEmail = function(str){
	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	if (str.indexOf(at)==-1){
	   //alert("Invalid E-mail ID")
	   return false
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
	   //alert("Invalid E-mail ID")
	   return false
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		//alert("Invalid E-mail ID")
		return false
	}

	 if (str.indexOf(at,(lat+1))!=-1){
		//alert("Invalid E-mail ID")
		return false
	 }

	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		//alert("Invalid E-mail ID")
		return false
	 }

	 if (str.indexOf(dot,(lat+2))==-1){
		//alert("Invalid E-mail ID")
		return false
	 }
	
	 if (str.indexOf(" ")!=-1){
		//alert("Invalid E-mail ID")
		return false
	 }

	 return true					
}



Contact.prototype.validateFormContact = function(){//Contactar.php
	//Obtencion de datos del formulario
	
	var formObj = document.FRM_CONTACT;
	
	var nombreObj = formObj.nombre;
	var emailObj = formObj.email;
	var consultaObj = formObj.consulta;
	
	var nombre = this.trimString(nombreObj.value);
	var email = this.trimString(emailObj.value);
	var consulta = this.trimString(consultaObj.value);

	
	//Flag de validacion
	var flag = false;

	
		if(nombre != ""){			
			if(email != ""){
				if(this.checkEmail(email)){
					if(consulta != ""){
						flag = true;
					}else{
						alert("Por favor, indiquenos el motivo de su consulta");
						consultaObj.focus();
					}

				}else{
					alert("Por favor, introduzca su email");
					emailObj.focus();
				}
			}else{
				alert("Por favor, introduzca su email");
				emailObj.focus();
			}	
		}
	else{ 
		alert("Por favor, introduzca su nombre");
		empresaObj.focus();
	}

	if(flag){
		//this.disableForm();
		this.AJAX_sendEmailContact(nombre,email,consulta);
	}
}


/*
AJAX METHODS
*/

//Generic method to return an Ajax Error with Javascript Prototype Framework
Contact.prototype.reportError = function(){
	alert("Sorry, There was a error in the process.");
};
Contact.prototype.AJAX_sendEmail = function(nombre,provincia,telefono,aparato,averia,ciudad){
//Make a request to know if the email exist in the system
	var seed = Math.ceil(1000000000*Math.random());
	//var url = "http://www.esmeta.es/extranet/urgente24/r_php/esmeta/sendEmail.php";
	var url = "./r_php/esmeta/sendEmailRapido.php";
	
	var str = "";
	str += "&nombre=" + nombre;
	str += "&provincia=" + provincia;
	str += "&telefono=" + telefono;
	str += "&aparato=" + aparato;
	str += "&averia=" + averia;
	str += "&ciudad=" + ciudad;	
	
	var formParameters = 'seed='+ seed + str;
	//alert(formParameters);
	
	var XMLResults = "";
	
	$.ajax({
        type: "POST",
        url: "" + url,
		async:false,
        data: "" + formParameters,
        success: function(data){
			XMLResults = data;
		}
	});
		
	//alert(XMLResults)
	
	this.showResponseSendEmail(XMLResults);
}

Contact.prototype.AJAX_sendEmailContact = function(nombre,email,consulta){//Contactar.php
	var seed = Math.ceil(1000000000*Math.random());
	//var url = "http://fortunasailing.com/r_php/sendEmail.php";
	var url = "./r_php/sendEmailContacto.php";
	
	var str = "";
	str += "&nombre=" + nombre;
	str += "&email=" + email;
	str += "&consulta=" + consulta;
	
	var formParameters = 'seed='+ seed + str;
	//alert(formParameters);
	
	var XMLResults = "";
	
	$.ajax({
        type: "POST",
        url: "" + url,
		async:false,
        data: "" + formParameters,
        success: function(data){
			XMLResults = data;
		}
	});
		
	//alert(XMLResults)
	
	this.showResponseSendEmail2(XMLResults);
}

Contact.prototype.showResponseSendEmail = function (originalRequest){
	//alert(originalRequest.responseText);
	
	//var data = originalRequest.responseText;	
	var data = originalRequest;
	//alert(data)

	var message = readEsmetaXML("esmeta",data);
	//alert(message)
	if(message != -1){
		message = readEsmetaXML("transaction",data);
		if(message != -1){
			if(message == 1){
				//alert("Su consulta ha sido enviada correctamente");

				document.location.href ="/consulta-enviada.php"; //index.php
			}else{
				alert("Hemos tenido incidencia con el servicio.\nIntente ponerse en contacto con nosotros\na trav�s de otros medios.");
			}
		}else{
			alert("Hemos tenido incidencia con el servicio.\nIntente ponerse en contacto con nosotros\na trav�s de otros medios.");
			//alert("Impossible to read Esmeta XML Protocol");
		}
	}else{
		alert("Hemos tenido incidencia con el servicio.\nIntente ponerse en contacto con nosotros\na trav�s de otros medios.");
		//alert("Impossible to read Esmeta XML Protocol");
	}

};

Contact.prototype.showResponseSendEmail2 = function (originalRequest){
	//alert(originalRequest.responseText);
	
	//var data = originalRequest.responseText;	
	var data = originalRequest;
	//alert(data)

	var message = readEsmetaXML("esmeta",data);
	//alert(message)
	if(message != -1){
		message = readEsmetaXML("transaction",data);
		if(message != -1){
			if(message == 1){
				//alert("Su consulta ha sido enviada correctamente");

				document.location.href ="/contactar-enviado.htm"; //index.php
			}else{
				alert("Hemos tenido incidencia con el servicio.\nIntente ponerse en contacto con nosotros\na trav�s de otros medios.");
			}
		}else{
			alert("Hemos tenido incidencia con el servicio.\nIntente ponerse en contacto con nosotros\na trav�s de otros medios.");
			//alert("Impossible to read Esmeta XML Protocol");
		}
	}else{
		alert("Hemos tenido incidencia con el servicio.\nIntente ponerse en contacto con nosotros\na trav�s de otros medios.");
		//alert("Impossible to read Esmeta XML Protocol");
	}

};

Contact.prototype.disableForm = function(){
	var formObj = document.FRM_CONTACT;
	//formObj.reset();
	formObj.submitButton.disabled=true;
	formObj.submitButton.value="Enviando datos...";
}

