/*
Class: IndexControllerClass
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 ClinicaAlzaharContactClass(){
	this.error = false;
};


/*************************
***** EVENTS METHODS *****
*************************/

ClinicaAlzaharContactClass.prototype.window_onLoad = function(){
	//Empty
};

/*************************
***** FOOTER METHODS *****
*************************/

ClinicaAlzaharContactClass.prototype.writeFooter = function(){
  	var FECHA = new Date();
  	var ANHO = FECHA.getYear();
  	if(ANHO < 2000) { ANHO = ANHO + 1900; }
 
	//CSS STYLE
	document.write('<style type="text/css">');
	document.write('p.esmeta_footer{font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;	font-size: 10px;}')
	document.write('p.esmeta_footer{margin-left: 20px; text-align: left;}')
	document.write('a.esmeta{text-decoration: none;	color: #000000;	}');
	document.write('a.esmeta:link{text-decoration: none;}');
	document.write('a.esmeta:visited{text-decoration: none;}'); 
	document.write('a.esmeta:hover{text-decoration: underline;}');
	document.write('</style>');

	document.write('<p class="esmeta_footer"><a href="http://www.esmeta.es" class="esmeta" target="_blank">Esmeta</a> &reg; 1997-'+ ANHO + '</p><br />');
	return true;
};

/*********************************
***** 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;
};

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

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

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

/**
 * DHTML email validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
 */
ClinicaAlzaharContactClass.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					
}

ClinicaAlzaharContactClass.prototype.validateForm = function(){
	//Obtencion de datos del formulario
	var formObj = document.FRM_SEND_REQUEST;
	var firstNameObj = formObj.USUARIO;
	var lastName1Obj = formObj.APELLIDO1;
	var lastName2Obj = formObj.APELLIDO2;	
	var emailObj = formObj.EMAIL;
	var commentObj = formObj.TEXTO;	
	var marketingObj = formObj.marketing;
	var terminosObj = formObj.terminos;
	
	var firstName = this.trimString(firstNameObj.value);
	var lastName1 = this.trimString(lastName1Obj.value);
	var lastName2 = this.trimString(lastName2Obj.value);
	var email = this.trimString(emailObj.value);
	var comment = this.trimString(commentObj.value);
	var marketing = 0;
	var terminos = 0;
	
	if(marketingObj.checked){
		marketing  = 1;
	}
	
	if(terminosObj.checked){
		terminos  = 1;
	}

	//Flag de validacion
	var flag = false;

	if(firstName != ""){
		if(lastName1 != ""){
			if(lastName2 != ""){
				if(email != ""){
					if(this.checkEmail(email)){
						if(comment != ""){
							if(terminos == 1){
								flag = true;
							}else{
								alert("Es necesario aceptar los terminos de uso");
							}
						}else{
							alert("Por favor, indiquenos el motivo de su consulta");
							commentObj.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 segundo apellido");
				lastName2Obj.focus();
			}
		}else{
			alert("Por favor, introduzca su primer apellido");
			lastName1Obj.focus();
		}
	}else{
		alert("Por favor, introduzca su Nombre");
		firstNameObj.focus();
	}

	if(flag){
		emailObj.value = email;

		this.AJAX_sendEmail(firstName,lastName1,lastName2,email,comment,marketing);
	}
}

/*
AJAX METHODS
*/

//Generic method to return an Ajax Error with Javascript Prototype Framework
ClinicaAlzaharContactClass.prototype.reportError = function(){
	alert("Sorry, There was a error in the process.");
};

//Make a request to know if the email exist in the system
ClinicaAlzaharContactClass.prototype.AJAX_sendEmail = function(firstName,lastName1,lastName2,email,comment,marketing){
	var seed = Math.ceil(1000000000*Math.random());
	var url = "/r_php/esmeta/sendEmail.php";
	
	var str = "";
	str += "&firstName=" + firstName;
	str += "&lastName1=" + lastName1;
	str += "&lastName2=" + lastName2;
	str += "&email=" + email;
	str += "&comment=" + comment;
	str += "&marketing=" + marketing;	
	
	var pars = 'seed='+ seed + str;
	
	var myAjax = new Ajax.Request(url,
	{
	method: 'post',
	parameters: pars,
	onComplete: this.showResponseSendEmail,
	onFailure: this.reportError
	});

}

ClinicaAlzaharContactClass.prototype.showResponseSendEmail = function (originalRequest){
	//alert(originalRequest.responseText);
	

	var data = originalRequest.responseText;	
	var message = readEsmetaXML("esmeta",data);
	if(message != -1){
		message = readEsmetaXML("transaction",data);
		if(message != -1){
			if(message == 1){
				alert("Su consulta ha sido enviada.\nEn breve nos pondremos en contacto con usted.\nMuchas gracias");
				
				document.location.href="/index.php";
			}else{
				alert("Hemos tenido incidencia con el servicio.\nIntente ponerse en contacto con nosotros\nusando otros medios.");
			}
		}else{
			alert("Hemos tenido incidencia con el servicio.\nIntente ponerse en contacto con nosotros\nusando otros medios.");
		}
	}else{
		alert("Hemos tenido incidencia con el servicio.\nIntente ponerse en contacto con nosotros\nusando otros medios.");
	}
};

ClinicaAlzaharContactClass.prototype.disableForm = function(){
	var formObj = document.FRM_SEND_REQUEST;
	formObj.reset();
	formObj.requestButton.disabled=true;
}


