
function miFoco( element, cadena_por_defecto ){
	if( element.value == cadena_por_defecto ){
		element.value = "";	
	}				
}

function miDesfoco( element, cadena_por_defecto ){
	if( element.value == "" ){
		element.value = cadena_por_defecto;	
	}
}

function limpiar_respuesta_y_errores( area_errores, area_respuestas ){		
	area_errores.innerHTML 		= 	"";
	area_respuestas.innerHTML	= 	"";
}

function enviar_datos_contacto(	nombre, correo, asunto, mensaje, area_errores, area_respuestas ){
		
	campos_validos =	validar_campos( nombre, correo, asunto, mensaje, area_errores, area_respuestas);			
		
	direccion = document.URL;
	
	if( campos_validos ){
		
		$.ajax(
				{
					url:		'../envio_correo.php',
					type:		'POST',
					asyn:		true,
					data:		'nombre=' + nombre.value +
								'&correo=' + correo.value +
								'&asunto=' + asunto.value +
								'&mensaje=' + mensaje.value,
					dataType:	'html',
					success:	function( respuesta ){												
										area_respuestas.innerHTML = respuesta;
								}
				}
		);		

		nombre.value 	= 	"";
		correo.value 	= 	"";
		asunto.value 	= 	"";
		mensaje.value 	= 	"";			
	}

}

function validar_campos(	nombre, correo, asunto, mensaje, area_errores, area_respuestas ){
		
	// Area de definicion de datos ====================================================================		
	contador_errores_cadena		=	0;
	error_formato_correo		=	0;
	area_errores.innerHTML		= 	"";		
		
	mensaje_errores_cadena				=	"* Todos los campos son requeridos<br/>";
	mensaje_error_formato_correo		=	"* El campo correo no presenta el formato adecuado";
	
	color_no_error			=	"#160E0A";
	color_error				=	"#999";
	
	// Determinacion de errores =======================================================================
	
	nombre.style.borderColor	=	color_no_error;
	asunto.style.borderColor	=	color_no_error;
	mensaje.style.borderColor	=	color_no_error;
	correo.style.borderColor	=	color_no_error;
						
	contador_errores_cadena 	+=	determinar_si_hay_error(nombre, "Nombre", color_error);
	contador_errores_cadena 	+=	determinar_si_hay_error(asunto, "Asunto", color_error);		
	contador_errores_cadena 	+=	determinar_si_hay_error(mensaje, "", color_error);					
	contador_errores_cadena 	+=	determinar_si_hay_error(correo, "Mail", color_error);					
	
	error_formato_correo		=	determinar_si_hay_error_formato_correo( correo, color_error);
										
	// Muestra los errores ============================================================================
	
	if( contador_errores_cadena != 0 ){					
		area_errores.innerHTML 				= 	mensaje_errores_cadena;									
		
	}
	if( error_formato_correo != 0 ){
		area_errores.innerHTML 			+= 	mensaje_error_formato_correo;
	}
	
	// Retorna si los campos son validos o no =========================================================
	if( contador_errores_cadena != 0 || error_formato_correo != 0){	
		return false;
	}			
	return true;			
	
}

function validar_correo( correo ) {

	var filtro = /^[A-Za-z.][.A-Za-z0-9_]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[A-za-z]$/;

	if ( filtro.test( correo.value ) ){
		return 1;
	} else {
		return 0;
	}
}

function determinar_si_hay_error( element, cadena_por_defecto, color_error){			
	
	if(element.value == "" || element.value == cadena_por_defecto){				
		element.style.borderColor	=	color_error;
		element.value 				= 	cadena_por_defecto;
		
		return 1;
	}
	return 0;
}

function determinar_si_hay_error_formato_correo( correo, color_error){
	if( !validar_correo( correo )){
		correo.style.borderColor	=	color_error;
		return true;
	} 
	return false;
}
	