// JavaScript Document
function comprobarEmail(textomail)
{
	//var filter=/^[A-Za-z][A-Za-z0-9_]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[A-za-z]$/;
	var filter=/^(.+\@.+\..+)$/
	if (textomail.length == 0 ) return false;
	if (filter.test(textomail))
	{
		return true;
	}
	else
	{
		return false;
	}
}
function comprobarTexto(texto)
{
	return (texto != '');	
}
function comprobarNumero(numero)
{
	return ((!isNaN(numero)) && (numero != ''));
}


/*****************************************************************************************/

function validarContacto(formulario,tipoOperacion)
{
		//alert("formulario:"+formulario.name+"valor:"+formulario.passwd.value);
		function limpiarCamposError()
		{

			document.getElementById('caparesultadonombre').style.display = 'none';
			formulario.nombre.style.backgroundColor = '#ffffff';	
			document.getElementById('caparesultadoemail').style.display = 'none';
			formulario.email.style.backgroundColor = '#ffffff';
			document.getElementById('caparesultadotelefono').style.display = 'none';
			formulario.telefono.style.backgroundColor = '#ffffff';
			document.getElementById('caparesultadocomentario').style.display = 'none';
			formulario.comentario.style.backgroundColor = '#ffffff';
		}
				
		function marcarError(campo,nombre,mensaje)
		{
			var caparesultado = document.getElementById('caparesultado'+nombre);
			var resultado = document.getElementById('resultado'+nombre);
			campo.style.backgroundColor = '#eee';
			resultado.innerHTML = mensaje;
			caparesultado.style.display = 'block';
			campo.focus();
		}
		//var id = formulario.id_unico.value;
		switch (formulario.accion.value)
		{
			case 'insertar': var tipoOperacion = 0;
			break;
			case 'modificar':var tipoOperacion = 1;
			break;
		}
		nombre_valido = formulario.nombre.value!='';
		email_valido = comprobarEmail(formulario.email.value);
		telefono_valido = formulario.telefono.value!='';
		comentario_valido = formulario.comentario.value!='';
		
		// Para borrar el comentario en caso de que envíe otro email
		document.getElementById('destacado').style.display = 'none';

		limpiarCamposError();
		var numErrores = 0;
		
		if (!nombre_valido)
		{
			//alert("El campo nombre no puede ser vacío");
			numErrores++;
			marcarError(formulario.nombre,'nombre', 'El campo NOMBRE no puede estar vacio');
		}
		if (!email_valido)
		{
			numErrores++;
			marcarError(formulario.email,'email', 'El E-MAIL introducido no es válido');
		}
		if (formulario.telefono.value)
		{
			if (!telefono_valido)
			{
				numErrores++;
				marcarError(formulario.telefono,'telefono', 'El TELÉFONO introducido no es válido');
			}
		}
		if (!comentario_valido)
		{
			//alert("El campo nombre no puede ser vacío");
			numErrores++;
			marcarError(formulario.comentario,'comentario', 'El campo COMENTARIO no puede estar vacio');
		}
		
		
		if (numErrores == 0)
		{
			formulario.submit();
			return true;
		}
		else
		{
			return false;
		}
}


/*****************************************************************************************/

function validarPaso1(formulario,tipoOperacion)
{
		//alert("formulario:"+formulario.name+"valor:"+formulario.passwd.value);
		function limpiarCamposError()
		{

			document.getElementById('caparesultadoterminos').style.display = 'none';
			formulario.terminos.style.backgroundColor = '#ffffff';	
		}
				
		function marcarError(campo,nombre,mensaje)
		{
			var caparesultado = document.getElementById('caparesultado'+nombre);
			var resultado = document.getElementById('resultado'+nombre);
			campo.style.backgroundColor = '#cc0001';
			resultado.innerHTML = mensaje;
			caparesultado.style.display = 'block';
			campo.focus();
		}
		//var id = formulario.id_unico.value;
		switch (formulario.accion.value)
		{
			case 'insertar': var tipoOperacion = 0;
			break;
			case 'modificar':var tipoOperacion = 1;
			break;
		}

		limpiarCamposError();
		var numErrores = 0;
		
		if(formulario.terminos.checked== false)
		{
			//alert("El campo nombre no puede ser vacío");
			numErrores++;
			marcarError(formulario.terminos,'terminos', 'Es necesario aceptar los Términos y Condiciones del Servicio');
		}
		
		
		if (numErrores == 0)
		{
			formulario.submit();
			return true;
		}
		else
		{
			return false;
		}
}


/*****************************************************************************************/

function validarPaso2(formulario,tipoOperacion)
{
		//alert("formulario:"+formulario.name+"valor:"+formulario.passwd.value);
		function limpiarCamposError()
		{

			document.getElementById('caparesultadoerror').style.display = 'none';
			formulario.nombre.style.backgroundColor = '#ffffff';	
			formulario.apellidos.style.backgroundColor = '#ffffff';	
			formulario.correo.style.backgroundColor = '#ffffff';
			formulario.correo1.style.backgroundColor = '#ffffff';
			formulario.passwd.style.backgroundColor = '#ffffff';
			formulario.passwd1.style.backgroundColor = '#ffffff';
			formulario.telefono.style.backgroundColor = '#ffffff';	
			formulario.localidad.style.backgroundColor = '#ffffff';	
			formulario.provincia.style.backgroundColor = '#ffffff';	
		}
				
		function marcarError(campo,nombre,mensaje)
		{
			var caparesultado = document.getElementById('caparesultado'+nombre);
			var resultado = document.getElementById('resultado'+nombre);
			campo.style.backgroundColor = '#DDDDDD';
			resultado.innerHTML = mensaje;
			caparesultado.style.display = 'block';
			campo.focus();
		}
		//var id = formulario.id_unico.value;
		switch (formulario.accion.value)
		{
			case 'insertar': var tipoOperacion = 0;
			break;
			case 'modificar':var tipoOperacion = 1;
			break;
		}
		
		nombre_valido = formulario.nombre.value!='';
		apellidos_valido = formulario.apellidos.value!='';
		correo_valido = comprobarEmail(formulario.correo.value);
		correo1_valido = comprobarEmail(formulario.correo1.value);
		passwd_valido = formulario.passwd.value!='';
		passwd1_valido = formulario.passwd1.value!='';
		telefono_valido = formulario.telefono.value!='';
		localidad_valido = formulario.localidad.value!='';
		provincia_valido = formulario.provincia.value!='';
		
		limpiarCamposError();
		var numErrores = 0;
		
		if(!nombre_valido)
		{
			numErrores++;
			marcarError(formulario.nombre,'error', 'El campo NOMBRE no puede estar vacío');
		}	
		if(!apellidos_valido && numErrores==0)
		{
			numErrores++;
			marcarError(formulario.apellidos,'error', 'El campo APELLIDOS no puede estar vacío');
		}
		if(!correo_valido && numErrores==0)
		{
			numErrores++;
			marcarError(formulario.correo,'error', 'El campo E-MAIL no puede estar vacío');
		}
		else
		{
			coincidencias = comprobarCampoUnico('correo',formulario.correo.value,0,0);	
			//alert("COINCIDENCIAS:"+coincidencias);
			if (coincidencias > 0)
			{
				numErrores++;
				mensaje = 'Ya existe otro particular con esa dirección de correo';			
				marcarError(formulario.correo,'error',mensaje);
			}	
		}
		if(!correo1_valido && numErrores==0)
		{
			numErrores++;
			marcarError(formulario.correo1,'error', 'Repetir E-MAIL no puede estar vacío');
		}
		if (formulario.correo.value!=formulario.correo1.value  && numErrores==0)
		{
			numErrores++;
			marcarError(formulario.correo1,'error', '');
			marcarError(formulario.correo,'error', 'E-MAIL y la confirmación son distintos');
		}
		if(!passwd_valido && numErrores==0)
		{
			numErrores++;
			marcarError(formulario.passwd,'error', 'El campo CONTRASEÑA no puede estar vacío');
		}
		if(!passwd1_valido && numErrores==0)
		{
			numErrores++;
			marcarError(formulario.passwd1,'error', 'Repetir CONTRASEÑA no puede estar vacío');
		}
		if (formulario.passwd.value!=formulario.passwd1.value  && numErrores==0)
		{
			numErrores++;
			marcarError(formulario.passwd1,'error', '');
			marcarError(formulario.passwd,'error', 'La CONTRASEÑA y la confirmación son distintos');
		}
		if (formulario.passwd.value.length<6  && numErrores==0)
		{
			numErrores++;
			marcarError(formulario.passwd1,'error', '');
			marcarError(formulario.passwd,'error', 'La CONTRASEÑA debe tener 6 o más caracteres');
		}
		if(!telefono_valido && numErrores==0)
		{
			numErrores++;
			marcarError(formulario.telefono,'error', 'El campo TELÉFONO no puede estar vacío');
		}
		if(!localidad_valido && numErrores==0)
		{
			numErrores++;
			marcarError(formulario.localidad,'error', 'El campo LOCALIDAD no puede estar vacío');
		}
		if(!provincia_valido && numErrores==0)
		{
			numErrores++;
			marcarError(formulario.provincia,'error', 'El campo PROVINCIA no puede estar vacío');
		}
		
		if (numErrores == 0)
		{
			formulario.submit();
			return true;
		}
		else
		{
			return false;
		}
}


/*****************************************************************************************/

function validarPaso3(formulario,tipoOperacion)
{
		function limpiarCamposError()
		{
			document.getElementById('caparesultadoerror').style.display = 'none';
			formulario.chasis.style.backgroundColor = '#ffffff';
			formulario.motor.style.backgroundColor = '#ffffff';
			formulario.precio.style.backgroundColor = '#ffffff';
		}
				
		function marcarError(campo,nombre,mensaje)
		{
			var caparesultado = document.getElementById('caparesultado'+nombre);
			var resultado = document.getElementById('resultado'+nombre);
			campo.style.backgroundColor = '#DDDDDD';
			resultado.innerHTML = mensaje;
			caparesultado.style.display = 'block';
			campo.focus();
		}
		//var id = formulario.id_unico.value;
		switch (formulario.accion.value)
		{
			case 'insertar': var tipoOperacion = 0;
			break;
			case 'modificar':var tipoOperacion = 1;
			break;
		}
		
		chasis_valido = formulario.chasis.value!='';
		motor_valido = formulario.motor.value!='';
		precio_valido = comprobarNumero(formulario.precio.value);
		
		limpiarCamposError();
		var numErrores = 0;
		
		if(!chasis_valido)
		{
			numErrores++;
			marcarError(formulario.chasis,'error', 'El campo MARCA no puede estar vacío');
		}
		if(!motor_valido && numErrores==0)
		{
			numErrores++;
			marcarError(formulario.motor,'error', 'El campo MODELO no puede estar vacío');
		}
		if(!precio_valido && numErrores==0)
		{
			numErrores++;
			marcarError(formulario.precio,'error', 'El campo PRECIO no puede estar vacío');
		}
		if(formulario.precio.value<100 && numErrores==0)
		{
			document.getElementById('coma_punto').style.color='#ff0000';
			numErrores++;
			marcarError(formulario.precio,'error', 'No escribas comas ni puntos en el campo PRECIO');
		}
		
		
		if (numErrores == 0)
		{
			formulario.submit();
			return true;
		}
		else
		{
			return false;
		}
}


/*****************************************************************************************/

function validarPaso5(formulario,tipoOperacion)
{
		function limpiarCamposError()
		{

			document.getElementById('caparesultadofoto_1').style.display = 'none';
			formulario.foto_1.style.backgroundColor = '#ffffff';
			document.getElementById('caparesultadofoto_2').style.display = 'none';
			formulario.foto_2.style.backgroundColor = '#ffffff';
			document.getElementById('caparesultadofoto_3').style.display = 'none';
			formulario.foto_3.style.backgroundColor = '#ffffff';
		}
				
		function marcarError(campo,nombre,mensaje)
		{
			var caparesultado = document.getElementById('caparesultado'+nombre);
			var resultado = document.getElementById('resultado'+nombre);
			campo.style.backgroundColor = '#DDDDDD';
			resultado.innerHTML = mensaje;
			caparesultado.style.display = 'block';
			campo.focus();
		}
		//var id = formulario.id_unico.value;
		switch (formulario.accion.value)
		{
			case 'insertar': var tipoOperacion = 0;
			break;
			case 'modificar':var tipoOperacion = 1;
			break;
		}
		
	
		limpiarCamposError();
		var numErrores = 0;
		
		if ( formulario.foto_1.value!='')
		{
			var trozos=formulario.foto_1.value.split(".");
			//alert("jpg = "+trozos[trozos.length-1]);
			if (trozos[trozos.length-1]!='jpg' && trozos[trozos.length-1]!='JPG')
			{
				numErrores++;
				marcarError(formulario.foto_1,'foto_1', 'La foto debe ser una imagen JPG');
			}
		}
		
		if ( formulario.foto_2.value!='')
		{
			var trozos=formulario.foto_2.value.split(".");
			if (trozos[trozos.length-1]!="jpg" && trozos[trozos.length-1]!="JPG")
			{
				numErrores++;
				marcarError(formulario.foto_2,'foto_2', 'La foto debe ser una imagen JPG');
			}
		}
		
		if ( formulario.foto_3.value!='')
		{
			var trozos=formulario.foto_3.value.split(".");
			if (trozos[trozos.length-1]!="jpg" && trozos[trozos.length-1]!="JPG")
			{
				numErrores++;
				marcarError(formulario.foto_3,'foto_3', 'La foto debe ser una imagen JPG');
			}
		}
		
	
		if (numErrores == 0)
		{
			formulario.submit();
			return true;
		}
		else
		{
			return false;
		}
}


/*****************************************************************************************/

function validarContactoVendedor(formulario,tipoOperacion)
{
		//alert("formulario:"+formulario.name+"valor:"+formulario.passwd.value);
		function limpiarCamposError()
		{
			document.getElementById('caparesultadoerror').style.display = 'none';
			formulario.nombre.style.backgroundColor = '#ffffff';
			formulario.email.style.backgroundColor = '#ffffff';
			formulario.comentario.style.backgroundColor = '#ffffff';		
		}
				
		function marcarError(campo,campo_a_poner_en_rojo, nombre,mensaje)
		{
			var caparesultado = document.getElementById('caparesultado'+nombre);
			var resultado = document.getElementById('resultado'+nombre);
			campo.style.backgroundColor = '#ddd';
			resultado.innerHTML = mensaje;
			caparesultado.style.display = 'block';
			
			document.getElementById('label'+campo_a_poner_en_rojo).style.color = '#FF0000';
			
			campo.focus();
		}
		//var id = formulario.id_unico.value;
		switch (formulario.accion.value)
		{
			case 'insertar': var tipoOperacion = 0;
			break;
			case 'modificar':var tipoOperacion = 1;
			break;
		}
		nombre_valido = formulario.nombre.value!='';
		email_valido = comprobarEmail(formulario.email.value);
		comentario_valido = formulario.comentario.value!='';
		

		//limpiarCamposError();
		var numErrores = 0;
		
		if (!nombre_valido)
		{
			//alert("El campo nombre no puede ser vacío");
			numErrores++;
			marcarError(formulario.nombre, 'nombre','error', '');
		}
		else if (!email_valido)
		{
			numErrores++;
			marcarError(formulario.email, 'email','error', '');
		}
		else if (!comentario_valido)
		{
			//alert("El campo nombre no puede ser vacío");
			numErrores++;
			marcarError(formulario.comentario, 'comentario','error', '');
		}
		
		
		if (numErrores == 0)
		{
			formulario.submit();
			return true;
		}
		else
		{
			return false;
		}
}







//esta funcion crea una instancia del objeto XMLHttpRequest y devuelve su referencia.
function crearXHR()
{
	var ref = false;
	
	try
	{
		//procedimiento para crear un objeto XMLHttpRequest compatible entre distintos navegadores web
		ref = new ActiveXObject('Mscml2.XMLHTTP');			
	} 
	catch (e1)
	{
		try
		{
			ref = new ActiveXObject('Microsoft.XMLHTTP');		
		}
		catch(e2)
		{
			ref = false;
		}
	}
		
	if (!ref && (typeof XMLHttpRequest != 'undefined'  || window.XMLHttpRequest))
	{
		ref = new XMLHttpRequest();
	}
	return ref;
}
//referencia al objeto XMLHttpRequest
var objXML = false;
//Funcion que se ejecuta al recibir la respuesta del servidor
function ProcesaRespuesta()
{
	//muestro el estado en una ventana
	//alert("ESTADO:"+objXML.readyState);
	
	if (objXML.readyState == 4)
	{					
		var texto = objXML.responseText;
		return texto;
	}
}
//funcion que se ejecuta al cambiar de opcion en el desplegable
function comprobarCampoUnico(campo,valor,id,tipoOperacion)
{
		
		objXML = crearXHR();
		
		//creamos el URL para solicitar la descripción que corresponda
		var URL ='../modulos/validador.php?campo='+campo+'&valor='+valor+'&id='+id+'&tipoOperacion='+tipoOperacion;
		if (objXML)
		{
			//enviamos la solicitud al servidor
			objXML.open('GET',URL,false);
			//objXML.onreadystatechange = ProcesaRespuesta(objetoTabla,campo);
			objXML.send(null);
			return ProcesaRespuesta();
		}
}

