var W3CDOM = (document.createElement && document.getElementsByTagName);

var alphaNumericRegexp = new RegExp("^[a-zA-Z0-9]+$");
var urlRegexp = new RegExp("[a-zA-Z0-9\\-\\_\\~\\/]+\\.{1}[a-zA-Z0-9\\-\\_\\~\\/]{2,3}\.\*$", "i");
var passportRegexp = new RegExp("^[a-zA-Z0-9\-\.]*$","i");
var alphaNumericFileNameRegexp = new RegExp("^[a-zA-Z0-9 \\_\\-]+\.{1}[a-zA-Z]{3,4}$");
var alphaRegexp = new RegExp("^[a-zA-Z \\,\\.\\/\\àÀáÁâÂãÃäÄåÅæÆªçÇèÈéÉêÊëËìÌíÍîÎïÏðÐñÑòÒóÓôÔõÕöÖøØùÙúÚûÛüÜýÝþÞÿß&]*$");
var phoneRegexp = new RegExp("^[a-zA-Z0-9\\ +\\(\\)\\-\\.]*[0-9][a-zA-Z0-9\\ +\\(\\)\\-\\.]*[0-9][a-zA-Z0-9\\ +\\(\\)\\-\\.]*[0-9][a-zA-Z0-9\\ +\\(\\)\\-\\.]*[0-9][a-zA-Z0-9\\ +\\(\\)\\-\\.]*$");
var emailRegexp = new RegExp("^([a-zA-Z0-9_\\-]+\\.)*[a-zA-Z0-9_\\-]+@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,})(\\]?)$");
var cpRegexp = new RegExp("^[0-9]{5,5}([- ]?[0-9]{4,4})?$");
var esNumero = new RegExp("^[0-9]+$");

document.getElementsByClassName = function(className, container){
   var data = tags = [];
   var obj = document.getElementById("wrapper");
   var node = aux = null;
	var strClassName = className.replace(/\-/g, "\\-");
    var pattern = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
	if(container) node = (typeof(container) == "object") ? container : document.getElementById(container);
	else node = (obj) ? obj : document;
	aux = node.getElementsByTagName("*");
	tags = (document.all) ? node.all : aux;
   for(var i=0;i<tags.length;i++) { if(pattern.test(tags[i].className)) data.push(tags[i]);}
   return data;
}

String.prototype.trim = function() { return this.replace(/^[\s]+|[\s]+$/g,'') }

String.prototype.numOfCharacters = function(character){
	var rep = 0;
	for(var i=0; i<=this.length-1;i++) if(this.charAt(i) == character) rep++;
	return rep;
}

var e = {
	addEvent : function(obj, evType, fn, useCapture){
		if (obj.addEventListener){
			obj.addEventListener(evType, fn, useCapture);
			return true;
		}else if (obj.attachEvent){
			var r = obj.attachEvent("on"+evType, fn);
			return r;
		}else {
			return false;
		}
	}
}

var behaviours = {
	/*compareHeights:function(obj){
		var fHeight = 0;
		for(var i = 0; i < obj.getElementsByClassName("cont").length; i++){
			var caja = obj.getElementsByClassName("cont")[i];
			caja.style.height= "auto";
			if (caja.clientHeight > fHeight){
				fHeight = caja.clientHeight;
			}
		}
		for(var i = 0; i < obj.getElementsByClassName("cont").length; i++)	document.getElementsByClassName("cont")[i].style.height = fHeight+"px";	
	},*/
	clearField:function(fieldId){
		 var field = document.getElementById(fieldId);
         field.value = "";
	
	},
	setField:function(fieldId, originalValue){
    	var field = document.getElementById(fieldId);
        if(field.value == ""){
        	field.value = originalValue;
        }
	},
	setRecommend:function(){
		var obj = document.getElementsByClassName("send","options")[0]
		var form = document.getElementById("sending");
		var link = form.getElementsByTagName("a")[0];
		obj.firstChild.onclick = function(){
			form.style.display = "block";
			return false;
		}
		link.firstChild.onclick = function(){
			form.style.display = "none";
			return false;
		}
	},
	setEventCmb:function(){
		var obj = document.getElementById("clinicaC");
		obj.onchange = behaviours.setCmbValues;
	},
	setCmbValues:function(){
		var f = this.parentNode.parentNode.parentNode;
		var tratamiento = document.getElementById("tratamientoC");
		var sel = this.selectedIndex;
		var optionElement = null;
		tratamiento.disabled = "";
		if (sel != 0) {
			while (tratamiento.firstChild) tratamiento.removeChild(tratamiento.firstChild);
			optionElement = document.createElement("option");
			optionElement.appendChild(document.createTextNode("Seleccione"));
			tratamiento.appendChild(optionElement);
			optionElement = null;
			for (var i = 1; i < cmb[sel - 1].length; i++) {
				optionElement = document.createElement("option");
				optionElement.appendChild(document.createTextNode(cmb[sel - 1][i].split("|")[0]));
				optionElement.value = cmb[sel - 1][i].split("|")[1];
				tratamiento.appendChild(optionElement);
				optionElement = null;
			}
		}
		else {
			while (tratamiento.firstChild) tratamiento.removeChild(tratamiento.firstChild);
			tratamiento.disabled = "disabled";
		}
		if(tratamiento.childNodes.length == 1) tratamiento.disabled = "disabled";
	},
	setInfoOnline:function(){
		document.getElementById("telefono1").onclick = function(){
			var obj = document.getElementById("telefono");
			var group = document.getElementById("groupMail");
			var errores = document.getElementsByClassName("error", group);
			if(errores.length != 0) for(var i in errores) errores[i].parentNode.removeChild(errores[i]);
			obj.style.display="block";
			document.getElementById("groupMail").style.display="none";
		}
		document.getElementById("correo").onclick = function(){
			var obj = document.getElementById("mailPost");
			var group = document.getElementById("telefono");
			var errores = document.getElementsByClassName("error", group);
			if(errores.length != 0) group.removeChild(errores[0]);
			
			document.getElementById("telefono").style.display="none";
			document.getElementById("groupMail").style.display="block";
		}
		document.getElementById("mailPost").onclick = function(){
			if(this.checked){
				
			}else{
				
			}
		}
		
	},
	setInfoOnline2:function(){
		var infoOnline = document.getElementById("infoOnline");
		document.getElementsByClassName("desplegable", infoOnline)[0].style.display = "none";
		document.getElementById("recibir").onclick = function(){
			var infoOnline = document.getElementById("infoOnline");
			document.getElementsByClassName("desplegable", infoOnline)[0].style.display = "none";
			if(document.getElementById("recibir").checked ==true) {
				if(document.getElementById("mailC").checked == false){
					document.getElementsByClassName("desplegable", infoOnline)[0].style.display = "block";
				}
			}
			else
				document.getElementsByClassName("desplegable", infoOnline)[0].style.display = "none";
		}
	},
	setCitaOnline:function(){
		var container=document.getElementById("block2");
		var span=document.getElementsByClassName("example",container);
		var fieldset=container.getElementsByTagName("fieldset");
		var citaOnline = document.getElementById("citaOnline");
		document.getElementsByClassName("desplegable", citaOnline)[0].style.display = "none";
		
		span[0].style.display="none";
		document.getElementById("numTelefono").style.display="none";
		fieldset[2].style.display="none";
		
		/*document.getElementById("txtMail").style.display="none";*/
		fieldset[4].style.display="none";
		
		document.getElementById("telefono1").onclick = function(){
			if(document.getElementById("telefono1").checked){
				span[0].style.display="block";
				document.getElementById("numTelefono").style.display="block";
				fieldset[2].style.display="block";
			}else{
				span[0].style.display="none";
				document.getElementById("numTelefono").style.display="none";
				fieldset[2].style.display="none";		
			}
		}
		
		document.getElementById("correo").onclick = function(){
			if(document.getElementById("correo").checked){
				fieldset[4].style.display="block";
			}else{
				fieldset[4].style.display="none";
			}
		}
		document.getElementById("recibir").onclick = function(){
			var citaOnline = document.getElementById("citaOnline");
			if(document.getElementById("recibir").checked == true) {
				if(document.getElementById("correo").checked == false){
					document.getElementsByClassName("desplegable", citaOnline)[0].style.display = "block";
				}
			}
			else
				document.getElementsByClassName("desplegable", citaOnline)[0].style.display = "none";
		}
		
	}
	
}

var formsValidations = {
	setErrorBlock:function(id, txt){
		var obj = document.getElementById(id);
		var errors = document.getElementsByClassName("error",obj.parentNode);
		var spanElement = null;
		if(txt != ""){					
			spanElement = document.createElement("span");			
			spanElement.className = "error";
			if(errors.length != 0){
				errors[0].removeChild(errors[0].firstChild);		
				errors[0].appendChild(document.createTextNode(txt));
			}else{						
				spanElement.appendChild(document.createTextNode(txt));
				obj.parentNode.insertBefore(spanElement,obj.parentNode.firstChild);				
			}
		}else
			if(errors.length != 0) obj.parentNode.removeChild(errors[0]);
	},
	showInfoErr:function(parent, reference){		
		var divElement = null;
		var auxErr = document.getElementsByClassName("errorForm", parent);
		var existErr = (auxErr.length != 0);
		var msgInfo = '<p>Por favor, revisa los campos con el icono <img src="/design/plain_site/images/ico_msgInfo.gif" alt="" /> asociado. </p><span>Muchas gracias</span>';
		if(existErr) divElement = auxErr[0];
		else{
			divElement = document.createElement("div");
			divElement.className = "errorForm";
			divElement.innerHTML = msgInfo;
			reference.parentNode.insertBefore(divElement,reference);
			

		}
	},
	contactaHome:function() { 
		var f = document.forms.contactaHome;		
		var obj = document.getElementById("contactaHome");
		var errorTxt = "";
		var spanElement = fieldset = label = null;
		var auxErr = document.getElementsByClassName("error",obj);
		for (var i=0;i<auxErr.length;i++) {
			auxErr[i].parentNode.removeChild(auxErr[i]);
		}
		var existErr = (auxErr.length != 0);
		var ok = true;
		if(f.name.value == ""){
			formsValidations.setErrorBlock("name", "Debes darnos tu nombre");
			ok = false;
		}
		if(f.surname.value == ""){
			formsValidations.setErrorBlock("surname", "Debes darnos tu apellido");
			ok = false;
		}
		
			if(f.phone.value == ""){
				formsValidations.setErrorBlock("phone", "Debes darnos tu teléfono");
				ok = false;
			}else{
				if(!esNumero.test(f.phone.value)){
					formsValidations.setErrorBlock("phone", "El formato del teléfono no es correcto");
					ok = false;
				}
				else{
					if(f.phone.value.length != 9){
						formsValidations.setErrorBlock("phone", "El teléfono debe tener 9 dígitos");
						ok = false;
					}
				}
			}
			
			if(f.mail.value == ""){
				formsValidations.setErrorBlock("mail", "Debes darnos tu email");
				ok = false;
			}
			else{
				if(f.mail.value != ""){
					if(!emailRegexp.test(f.mail.value)){
						formsValidations.setErrorBlock("mail", "El formato del email no es correcto");
						ok = false;
					}
				}
			}
			
		
		if(f.clinic.selectedIndex == 0){
			formsValidations.setErrorBlock("clinic", "Debes seleccionar una clínica");
			ok = false;
		}
		if(f.tratamiento.selectedIndex == 0){
			formsValidations.setErrorBlock("tratamiento", "Debes seleccionar un tratamiento");
			ok = false;
		}
		if(f.acept.checked == false){
			formsValidations.setErrorBlock("acept", "Debes aceptar las condiciones");
			ok = false;
		}
		
		if(!ok){
			formsValidations.showInfoErr(document.getElementById("content"), obj);
			return false;				
		}
		
	},
	contactaLateral:function() {
		var f = document.forms.contactaLateral;		
		var obj = document.getElementById("contactaLateral");
		var errorTxt = "";
		var spanElement = fieldset = label = null;
		var auxErr = document.getElementsByClassName("error",obj);
		for (var i=0;i<auxErr.length;i++) {
			auxErr[i].parentNode.removeChild(auxErr[i]);
		}
		var existErr = (auxErr.length != 0);
		var ok = true;
		
		if(f.name.value == ""){
			formsValidations.setErrorBlock("name", "Debes darnos tu nombre");
			ok = false;
		}
		if(f.surname.value == ""){
			formsValidations.setErrorBlock("surname", "Debes darnos tu apellido");
			ok = false;
		}
		if(f.phone.value == ""){
				formsValidations.setErrorBlock("phone", "Debes darnos tu teléfono");
				ok = false;
			}else{
				if(!esNumero.test(f.phone.value)){
					formsValidations.setErrorBlock("phone", "El formato del teléfono no es correcto");
					ok = false;
				}
				else{
					if(f.phone.value.length != 9){
						formsValidations.setErrorBlock("phone", "El teléfono debe tener 9 dígitos");
						ok = false;
					}
				}
			}
			
			if(f.mail.value == ""){
				formsValidations.setErrorBlock("mail", "Debes darnos tu email");
				ok = false;
			}
			else{
				if(f.mail.value != ""){
					if(!emailRegexp.test(f.mail.value)){
						formsValidations.setErrorBlock("mail", "El formato del email no es correcto");
						ok = false;
					}
				}
			}
		if(f.clinica.selectedIndex == 0){
			formsValidations.setErrorBlock("clinica", "Debes seleccionar una clínica");
			ok = false;
		}
		if(f.tratamiento.selectedIndex == 0){
			formsValidations.setErrorBlock("tratamiento", "Debes seleccionar un tratamiento");
			ok = false;
		}
		if(f.conditions.checked == false){
			formsValidations.setErrorBlock("conditions", "Debes aceptar las condiciones");
			ok = false;
		}
		
		if(!ok){
			formsValidations.showInfoErr(document.getElementById("sideBar2"), obj);
			return false;
		}
		else
		{
			pageTracker._trackPageview('/formulario/tellamamos');
			return true;
		}	
	},
	infoOnline:function(){
		var f = document.forms.infoOnline;
		var obj = document.getElementById("infoOnline");
		var errorTxt = "";
		var spanElement = fieldset = label = null;
		var auxErr = document.getElementsByClassName("error",obj);
		for (var i=0;i<auxErr.length;i++) {
			auxErr[i].parentNode.removeChild(auxErr[i]);
		}
		var existErr = (auxErr.length != 0);
		var ok = true;
		
		
		if(f.clinicaC.selectedIndex == 0){
			formsValidations.setErrorBlock("clinicaC", "Debes seleccionar una clínica");
			ok = false;
		}
		
		if(f.tratamientoC.selectedIndex == 0 && !f.tratamientoC.disabled){
		 	formsValidations.setErrorBlock("tratamientoC", "Debes seleccionar un tratamiento");
			ok = false;
		}
		
		if(document.getElementById("recibir").checked == true && document.getElementById("mailC").checked == false){
			if(document.getElementById("email").value == ""){
				formsValidations.setErrorBlock("email", "Debes rellenar el email");
				ok = false;
			}
		}
		
		//comprueba que haya un radio seleccionado, o teléfono o correo
		if (f.telefono1.checked == false && f.correo.checked == false) {
			formsValidations.setErrorBlock("telefono1", "Debes definir cómo deseas recibir la información");
			ok = false;
		}
		else{
			//seleccionamos radio de teléfono
			if (f.telefono1.checked) {
				
				if (f.numTelefono.value == "") {
					formsValidations.setErrorBlock("numTelefono", "Debes definir un número de teléfono");
					ok = false;
				}
				else {
					if (!esNumero.test(f.numTelefono.value)) {
						formsValidations.setErrorBlock("numTelefono", "El número de teléfono debe ser numérico");
						ok = false;
					}
					else {
						if (f.numTelefono.value.length < 9) {
							formsValidations.setErrorBlock("numTelefono", "El número de teléfono debe tener 9 dígitos");
							ok = false;
						}
					}
				}
			
			}
			//seleccionamos radio de correo
			if (f.correo.checked) {
				
				if(f.mailC.checked == false && f.mailPost.checked == false ){
					formsValidations.setErrorBlock("mailC", "Debes seleccionar Correo electrónico y/o Correo postal");
					ok = false;
				}
				else{
					if(f.mailC.checked){
						if(f.txtMail.value == ""){
							formsValidations.setErrorBlock("txtMail", "Debes darnos una dirección de Correo electrónico");
							ok = false;	
						}
						else{
							if(!emailRegexp.test(f.txtMail.value)){
								formsValidations.setErrorBlock("txtMail", "El formato del correo electrónico no es correcto");
								ok = false;	
							}
						}
						
					}
					if(f.mailPost.checked){
						if(f.tipoVia.selectedIndex == 0){
							formsValidations.setErrorBlock("tipoVia", "Debes seleccionar el Tipo de vía");
							ok = false;
						}
						if(f.nombreVia.value == ""){
							formsValidations.setErrorBlock("nombreVia", "Debes darnos el Nombre de la vía");
							ok = false;
						}
						if(f.ciudad.value == ""){
							formsValidations.setErrorBlock("ciudad", "Debes darnos la Ciudad");
							ok = false;
						}
						if(f.provincia.selectedIndex == 0){
							formsValidations.setErrorBlock("provincia", "Debes darnos la Provincia");
							ok = false;
						}
						if(f.cp.value == ""){
							formsValidations.setErrorBlock("cp", "Debes darnos el Código postal (CP)");
							ok = false;
						}
						else{
							if(!esNumero.test(f.cp.value)){
								formsValidations.setErrorBlock("cp", "El formato del cp debe ser numérico");
								ok = false;
							}
							else{
								if(f.cp.value.length != 5){
									formsValidations.setErrorBlock("cp", "El cp tiene que tener 5 dígitos");
									ok = false;
								}
							}
						}
						
					}
					
				}//terminada la validación si uno de los 2 checkbox está seleccionado
				
				
				
			}
			
			
		
		}
		
		
		if(f.edad.selectedIndex == 0){
		 	formsValidations.setErrorBlock("edad", "Debes definir tu edad");
			ok = false;
		}
		
		if(f.nombre.value == ""){
		 	formsValidations.setErrorBlock("nombre", "Debes darnos tu nombre");
			ok = false;
		}
		
		if(f.apellidos.value == ""){
		 	formsValidations.setErrorBlock("apellidos", "Debes darnos tus apellidos");
			ok = false;
		}
		
		
		if(f.aceptCond.checked == false){
			formsValidations.setErrorBlock("aceptCond", "Debes aceptar las condiciones");
			ok = false;
		}
		
		if(f.mailC.checked == false && f.recibir.checked){
			if(f.email.value == ""){
				formsValidations.setErrorBlock("email", "Debes darnos tu correo electrónico");
				ok = false;
			}
			else{
				if(!emailRegexp.test(f.email.value)){
					formsValidations.setErrorBlock("email", "El formato del correo electrónico no es correcto");
					ok = false;
				}
			}
				
		}
		
		if(!ok){
			formsValidations.showInfoErr(document.getElementById("content"), obj);
			return false;
		}
	},
	CitaOnline:function(){
		var f = document.forms.citaOnline;		
		var obj = document.getElementById("citaOnline");
		var errorTxt = "";
		var spanElement = fieldset = label = null;
		var auxErr = document.getElementsByClassName("error",obj);
		for (var i=0;i<auxErr.length;i++) {
			auxErr[i].parentNode.removeChild(auxErr[i]);
		}
		var existErr = (auxErr.length != 0);
		var ok = true;
		
		if(f.dia.selectedIndex == 0 && f.mes.selectedIndex == 0){
		 	formsValidations.setErrorBlock("dia", "Debes definir una fecha de cita");
			ok = false;
		}else {
			if (f.dia.selectedIndex == 0) {
				formsValidations.setErrorBlock("dia", "Debes definir un día de cita");
				ok = false;
			}else formsValidations.setErrorBlock("dia", "");
			if (f.mes.selectedIndex == 0) {
				formsValidations.setErrorBlock("dia", "Debes definir un mes de cita");
				ok = false;
			}
		}

		if(f.telefono1.checked){
			 formsValidations.setErrorBlock("txtMail", "");
			if (f.numTelefono.value == "") {
				formsValidations.setErrorBlock("numTelefono", "Debes especificar un número de teléfono");
				ok = false;
			}else {
				if (!esNumero.test(f.numTelefono.value)) {
					formsValidations.setErrorBlock("numTelefono", "El formato de teléfono no es válido");
					ok = false;
				}else {
					if (f.numTelefono.value.length != 9) {
						formsValidations.setErrorBlock("numTelefono", "El número de teléfono debe tener 9 dígitos");
						ok = false;
					}
					else formsValidations.setErrorBlock("numTelefono", "");
				}
			}
			if (f.hora_llamada.selectedIndex == 0) {
				formsValidations.setErrorBlock("hora_llamada", "Debes definir la hora a la que quieres que te llamemos para confirmar tu cita");
				ok = false;
			}else formsValidations.setErrorBlock("hora_llamada", "") ;
		}else{
			formsValidations.setErrorBlock("telefono1", "");
			formsValidations.setErrorBlock("numTelefono", "");
			formsValidations.setErrorBlock("hora_llamada", "") ;
		}

		if(f.correo.checked){
			if(f.txtMail.value == ""){
				formsValidations.setErrorBlock("txtMail", "Debes especificar un correo electrónico");
				ok = false;
			}else{
				if(!emailRegexp.test(f.txtMail.value)){
					formsValidations.setErrorBlock("txtMail", "El formato de tu correo electrónico no es correcto");
					ok = false;
				}else formsValidations.setErrorBlock("txtMail", "");
			}
		}else{
			formsValidations.setErrorBlock("telefono1", "");
			formsValidations.setErrorBlock("txtMail", "");
		}

		if(!f.telefono1.checked && !f.correo.checked){
			formsValidations.setErrorBlock("telefono1", "Debes especificar una forma de contacto; bien teléfono o correo electrónico");
			ok = false;
		}else{
			formsValidations.setErrorBlock("telefono1", "");
			//ok=true;
		}

		if(f.horaPreferente.selectedIndex == 0){
		 	formsValidations.setErrorBlock("horaPreferente", "Debes seleccionar una hora de llamada");
			ok = false;
		}else  formsValidations.setErrorBlock("horaPreferente", "");
		if(f.clinicaC.selectedIndex == 0){
			formsValidations.setErrorBlock("clinicaC", "Debes seleccionar una clínica");
			ok = false;
		}else  formsValidations.setErrorBlock("clinicaC", "");


		if(f.edad.selectedIndex == 0){
		 	formsValidations.setErrorBlock("edad", "Debes definir tu edad");
			ok = false;
		}else  formsValidations.setErrorBlock("edad", "");
		if(f.nombre.value == ""){
		 	formsValidations.setErrorBlock("nombre", "Debes darnos tu nombre");
			ok = false;
		}else  formsValidations.setErrorBlock("nombre", "");
		if(f.apellidos.value == ""){
		 	formsValidations.setErrorBlock("apellidos", "Debes darnos tus apellidos");
			ok = false;
		}else  formsValidations.setErrorBlock("apellidos", "");
		
		if(f.aceptCond.checked == false){
			formsValidations.setErrorBlock("aceptCond", "Debes aceptar las condiciones");
			ok = false;
		}
		
		if(f.correo.checked == false && f.recibir.checked){
			if(f.email.value == ""){
				formsValidations.setErrorBlock("email", "Debes darnos tu correo electrónico");
				ok = false;
			}
			else{
				if(!emailRegexp.test(f.email.value)){
					formsValidations.setErrorBlock("email", "El formato del correo electrónico no es correcto");
					ok = false;
				}
			}
				
		}
		
		
		if(!ok){
			formsValidations.showInfoErr(document.getElementById("content"), obj);
			return false;
		}
	},
	newsletterForm:function(){
		var f = document.forms.boletinForm;		
		var obj = document.getElementById("boletinForm");
		var errorTxt = "";
		var spanElement = fieldset = label = null;
		var auxErr = document.getElementsByClassName("error",obj);
		for (var i=0;i<auxErr.length;i++) {
			auxErr[i].parentNode.removeChild(auxErr[i]);
		}
		var existErr = (auxErr.length != 0);
		var ok = true;
		
		if(f.nameB.value == ""){
			formsValidations.setErrorBlock("nameB", "Debes darnos tu nombre");
			ok = false;
		}
		
		if(f.mailB.value == ""){
			
			formsValidations.setErrorBlock("mailB", "Debes darnos tu email");
			ok = false;
		}
		else if(!emailRegexp.test(f.mailB.value)){
			
			formsValidations.setErrorBlock("mailB", "El formato del email no es correcto");
			ok = false;
		}
		if(f.aceptar.checked == false){
			
			formsValidations.setErrorBlock("aceptar", "Debes aceptar las condiciones");
			ok = false;
		}
		if(!ok){
			formsValidations.showInfoErr(document.getElementById("content"), obj);
			return false;
		}
	},
	bajaNewsletterform:function(){
		var f = document.forms.delNews;		
		var obj = document.getElementById("delNews");
		var errorTxt = "";
		var spanElement = fieldset = label = null;
		var auxErr = document.getElementsByClassName("error",obj);
		for (var i=0;i<auxErr.length;i++) {
			auxErr[i].parentNode.removeChild(auxErr[i]);
		}
		var existErr = (auxErr.length != 0);
		var ok = true;
		
		if(f.emailB.value == ""){
			
			formsValidations.setErrorBlock("block1", "Debes darnos tu email");
			ok = false;
		}
		else if(!emailRegexp.test(f.emailB.value)){
			
			formsValidations.setErrorBlock("block1", "El formato del email no es correcto");
			ok = false;
		}
		
		if(!ok){
			formsValidations.showInfoErr(document.getElementById("content"), obj);
			return false;
		}
	},
	sendFriend:function() {
		var f = document.forms.sendingForm;		
		var obj = document.getElementById("sendingForm");
		var errorTxt = "";
		var aux = "";
		var spanElement = fieldset = label = null;
		var auxErr = document.getElementsByClassName("error",obj);
		for (var i=0;i<auxErr.length;i++) {
			auxErr[i].parentNode.removeChild(auxErr[i]);
		}
		var existErr = (auxErr.length != 0);
		var ok = okMailsAmigo = true;
		
		if(f.nombreR.value == ""){
			formsValidations.setErrorBlock("nombreR", "Debes darnos tu nombre");
			ok = false;
		}
		
		if(f.tuemailR.value == ""){
			formsValidations.setErrorBlock("tuemailR", "Debes darnos tu email");
			ok = false;
		}
		else if(!emailRegexp.test(f.tuemailR.value)){
			formsValidations.setErrorBlock("tuemailR", "El formato del email no es correcto");
			ok = false;
		}
		
		if (f.emailfriendsR.value == "") {
			formsValidations.setErrorBlock("emailfriendsR", "El email de tu amigo es requerido");
			ok = false;
		}
		else {
			if (f.emailfriendsR.value.numOfCharacters("@") == 0){
				formsValidations.setErrorBlock("emailfriendsR", "El formato del Email de tu amigo no es válido");
				ok = false;
			}else {
				aux = f.emailfriendsR.value.replace(/,/g, " ");
				mailsAmigo = aux.split(" ");
				for (i = 0; i < mailsAmigo.length && okMailsAmigo; i++) {
					if (mailsAmigo[i].trim() == "") {
						okMailsAmigo = true;
						continue;
					}
					okMailsAmigo = emailRegexp.test(mailsAmigo[i]);
				}

				if (!okMailsAmigo) {
					formsValidations.setErrorBlock("emailfriendsR", "El formato del email de tu amigo no es válido");
					ok = false;
				}else {
					if (aux.numOfCharacters("@") > 1 && f.emailfriendsR.value.numOfCharacters(",") != f.emailfriendsR.value.numOfCharacters("@") -1) {
						formsValidations.setErrorBlock("emailfriendsR", "Debes separar los emails de tus amigos con comas");
						ok = false;
					}
					
				}
			}
		}
		
		
		if(f.mensajeR.value == ""){
			formsValidations.setErrorBlock("mensajeR", "Debes escribir un mensaje personal");
			ok = false;
		}
		
		
		if(!ok){
			formsValidations.showInfoErr(document.getElementById("content"), obj);
			return false;
		}
	},
	quejasForm:function(){
		var f = document.forms.quejas;		
		var obj = document.getElementById("quejas");
		var errorTxt = "";
		var aux = "";
		var spanElement = fieldset = label = null;
		var auxErr = document.getElementsByClassName("error",obj);
		for (var i=0;i<auxErr.length;i++) {
			auxErr[i].parentNode.removeChild(auxErr[i]);
		}
		var existErr = (auxErr.length != 0);
		var ok = true;
		
		var tipQueja = 0;
		 
		if(!f.resultados.checked && !f.trato.checked && !f.cond.checked && !f.planes.checked && !f.otros.checked){
			formsValidations.setErrorBlock("resultados", "Debe seleccionar alguna opción");
			ok = false;
		}
		
		if(f.clinicaInc.selectedIndex==0){
			formsValidations.setErrorBlock("clinicaInc", "Debe seleccionar una clínica");
			ok = false;
		}
		if(f.quejaDesc.value==""){
			formsValidations.setErrorBlock("quejaDesc", "Debe escribir su reclamación / queja");
			ok = false;
		}
		if(f.nameR.value == ""){
			formsValidations.setErrorBlock("nameR", "Debe darnos su nombre");
			ok = false;
		}
		if(f.surnameR.value == ""){
			formsValidations.setErrorBlock("surnameR", "Debe darnos su apellido");
			ok = false;
		}
		if(f.tipoVia.selectedIndex == 0 || f.nombreVia.value == "" || (f.num.value == "" && f.sn.checked == false) || f.provincia.selectedIndex == 0 || f.ciudad.value == "" || f.cp.value == "" ){
			formsValidations.setErrorBlock("first", "Debe facilitarnos todos los datos de su dirección");
			ok = false;
		}
		else{
			if(!esNumero.test(f.cp.value)){
				formsValidations.setErrorBlock("first", "El formato del cp debe ser numérico");
				ok = false;
			}
			else{
				if(f.cp.value.length != 5){
					formsValidations.setErrorBlock("first", "El cp tiene que tener 5 dígitos");
					ok = false;
				}
			}
			if(f.num.value !=  "" && !esNumero.test(f.num.value))	{
				formsValidations.setErrorBlock("first", "El formato del número no es correcto");
				ok = false;
			}
		}
		/*if(f.tipoVia.selectedIndex == 0){
			formsValidations.setErrorBlock("tipoVia", "Debe seleccionar un Tipo de vía");
			ok = false;
		}
		if(f.nombreVia.value == ""){
			formsValidations.setErrorBlock("nombreVia", "Debe darnos el nombre de la vía");
			ok = false;
		}
		if(f.ciudad.value == ""){
			formsValidations.setErrorBlock("ciudad", "Debe darnos el nombre de la ciudad");
			ok = false;
		}
		if(f.provincia.selectedIndex == 0){
			formsValidations.setErrorBlock("provincia", "Debe seleccionar una provincia");
			ok = false;
		}
		if(f.cp.value == ""){
			formsValidations.setErrorBlock("cp", "Debe darnos el código poestal");
			ok = false;
		}
		else{
			if(!esNumero.test(f.cp.value)){
				formsValidations.setErrorBlock("cp", "El formato del cp debe ser numérico");
				ok = false;
			}
			else{
				if(f.cp.value.length != 5){
					formsValidations.setErrorBlock("cp", "El cp tiene que tener 5 dígitos");
					ok = false;
				}
			}
		}*/
		
		if(f.mailR.value != "" && !emailRegexp.test(f.mailR.value)){
			formsValidations.setErrorBlock("mailR", "El formato del correo electrónico no es correcto");
			ok = false;	
		}
		
		if(f.phoneR.value == ""){
			formsValidations.setErrorBlock("phoneR", "Debes darnos su teléfono");
			ok = false;
		}
		else{
			if(!esNumero.test(f.phoneR.value)){
				formsValidations.setErrorBlock("phoneR", "El formato del teléfono no es correcto");
				ok = false;
			}
			else{
				if(f.phoneR.value.length != 9){
					formsValidations.setErrorBlock("phoneR", "El teléfono debe tener 9 dígitos");
					ok = false;
				}
			}
				
		}
		if(!f.aceptCond.checked){
			formsValidations.setErrorBlock("aceptCond", "Debe aceptar las condiones");
			ok = false;
		}
		
		if(!ok){
			formsValidations.showInfoErr(document.getElementById("content"), obj);
			return false;
		}
		
	
	},
	sugerenciasForm:function(){
		var f = document.forms.sugerencias;		
		var obj = document.getElementById("sugerencias");
		var errorTxt = "";
		var aux = "";
		var spanElement = fieldset = label = null;
		var auxErr = document.getElementsByClassName("error",obj);
		for (var i=0;i<auxErr.length;i++) {
			auxErr[i].parentNode.removeChild(auxErr[i]);
		}
		var existErr = (auxErr.length != 0);
		var ok = true;
				 
		
		if(f.nameR.value == ""){
			formsValidations.setErrorBlock("nameR", "Debes darnos tu nombre");
			ok = false;
		}

		if(f.mailR.value == ""){
			formsValidations.setErrorBlock("mailR", "Debes darnos tu email");
			ok = false;
		}else{										
			if(!emailRegexp.test(f.mailR.value)){
				formsValidations.setErrorBlock("mailR", "El formato del correo electrónico no es correcto");
				ok = false;	
			}
		}

		if(f.sugerenciaDesc.value == ""){
			formsValidations.setErrorBlock("sugerenciaDesc", "Debes indicarnos la descripción de tu sugerencia");
			ok = false;
		}
		
		
		if(!f.aceptCond.checked){
			formsValidations.setErrorBlock("aceptCond", "Debes aceptar las condiones");
			ok = false;
		}
		
		if(!ok){
			formsValidations.showInfoErr(document.getElementById("content"), obj);
			return false;
		}
		
	
	}

}

var carruseles = {	
	album:{
		init:function(){						
		    $("#related ul").jcarousel({
	    	    scroll: 1	        			        
	    	});
		}		
	}
}

$(document).ready(function(){
	if ($("#subNavBar li").length > 0){
		//$("#subNavBar li ul ul").addClass("hide");
		
		$("#subNavBar li ul li").addClass("hide");
		
		
		$("#subNavBar li ul").prev("a").click(function (e) 
		{
			
			
			$(this).next("ul").find("li.principal").addClass("show");
			$(this).next("ul").find("li.principal").removeClass("hide");
			
		}
		);
		
		
		
		$("#subNavBar li ul ul").prev("a").click(function (e) {
			
			
			
			if ($(this).next("ul.secondLevel").find("li.hide").length != 0)
			{
				$(this).next("ul.secondLevel").find("li.hide").addClass("show");
				$(this).next("ul.secondLevel").find("li.hide").removeClass("hide");
			}
			
			if($(this).next("ul.hide").length != 0)
			{
				$(this).next(".hide").addClass("show");
				$(this).next(".hide").removeClass("hide");
				
			}
			else
				{
				if($(this).next("ul.show")){

					$(this).next(".show").addClass("hide");
					$(this).next(".show").removeClass("show");
				}
			}
			return false;
		});
		
	}
});

var load={
	existeId:function(cid){	
		if(document.getElementById(cid)) return true;		
		return false;
	},
	setEvents:function(){
		
		if(load.existeId("contactaHome")) document.getElementById("contactaHome").onsubmit = formsValidations.contactaHome;
		if(load.existeId("contactaLateral")) document.getElementById("contactaLateral").onsubmit = formsValidations.contactaLateral;
		if(load.existeId("citaOnline")){
			behaviours.setCitaOnline();
			document.getElementById("citaOnline").onsubmit = formsValidations.CitaOnline;
		}
		if(load.existeId("infoOnline")){
			behaviours.setInfoOnline();
			behaviours.setInfoOnline2();
			behaviours.setEventCmb();
			document.getElementById("infoOnline").onsubmit = formsValidations.infoOnline;
		}
		if(load.existeId("boletinForm")){
			document.getElementById("boletinForm").onsubmit = formsValidations.newsletterForm;
		}
		if(load.existeId("sending")){
			behaviours.setRecommend();			
			document.getElementById("sendingForm").onsubmit = formsValidations.sendFriend;
			
		}
		if(load.existeId("quejas")){
			document.getElementById("quejas").onsubmit = formsValidations.quejasForm;
		}
		if(load.existeId("sugerencias")){
			document.getElementById("sugerencias").onsubmit = formsValidations.sugerenciasForm;
		}
		if(load.existeId("delNews")){
			document.getElementById("delNews").onsubmit = formsValidations.bajaNewsletterform;
		}
		
		if(load.existeId("related")){
			carruseles.album.init();
		}


	}
}

if(W3CDOM) e.addEvent(window, "load", load.setEvents, false);