// Variables para setear
onload=function() 
{
	cAyuda=document.getElementById("mensajesAyuda");
	cNombre=document.getElementById("ayudaTitulo");
	cTex=document.getElementById("ayudaTexto");
	divTransparente=document.getElementById("transparencia");
	divMensaje=document.getElementById("transparenciaMensaje");
	form=document.getElementById("formulario");
	urlDestino="../_XHTML_ajax/enviosPorEmail.php";
	
	claseNormal="input";
	claseError="inputError";
	
	ayuda=new Array();
	ayuda["Nombre"]="Ingresa tu nombre. De 4 a 50 caracteres. OBLIGATORIO";
	ayuda["Empresa"]="Ingresa el nombre de tu Empresa. De 4 a 50 caracteres.";
	ayuda["Telefono"]="Ingresa un teléfono de contacto.";
	ayuda["Tu dirección de E-mail"]="Te responderemos a la dirección de correo que nos proporciones";
	ayuda["Comentario"]="Ingresa tus comentarios. De 5 a 500 caracteres. OBLIGATORIO";
	
	preCarga("../_XHTML_contenido/contacto/img/ok.jpg", "../_XHTML_contenido/contacto/img/loading.gif", "../_XHTML_contenido/contacto/img/error.gif");

	imagenOK = "../_XHTML_contenido/contacto/img/ok.jpg";
	imagenKO = "../_XHTML_contenido/contacto/img/error.gif";
	imagenLoading = "../_XHTML_contenido/contacto/img/loading.gif";
}

function preCarga()
{
	imagenes=new Array();
	for(i=0; i<arguments.length; i++)
	{
		imagenes[i]=document.createElement("img");
		imagenes[i].src=arguments[i];
	}
}

function nuevoAjax()
{ 
	var xmlhttp=false; 
	try { 
		// No IE
		xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); 
	}
	catch(e){ 
		try	{ 
			// IE 
			xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
		} 
		catch(E) { xmlhttp=false; }
	}
	if (!xmlhttp && typeof XMLHttpRequest!="undefined") { xmlhttp=new XMLHttpRequest(); } 
	return xmlhttp; 
}

function limpiaForm(){
	for(i=0; i<=4; i++){
		form.elements[i].className=claseNormal;
	}
	document.getElementById("mensaje").className=claseNormal;//es el campo textarea del formulario
}

function campoError(campo){
	campo.className=claseError;
	error=1;
}

function ocultaMensaje(){
	divTransparente.style.display="none";
}

function muestraMensaje(mensaje){
	divMensaje.innerHTML=mensaje;
	divTransparente.style.display="block";
}

function eliminaEspacios(cadena){
	// Funcion para eliminar espacios delante y detras de cada cadena
	while(cadena.charAt(cadena.length-1)==" ") cadena=cadena.substr(0, cadena.length-1);
	while(cadena.charAt(0)==" ") cadena=cadena.substr(1, cadena.length-1);
	return cadena;
}

function validaLongitud(valor, permiteVacio, minimo, maximo){
	var cantCar=valor.length;
	if(valor=="")	{
		if(permiteVacio) return true;
		else return false;
	}else{
		if(cantCar>=minimo && cantCar<=maximo) return true;
		else return false;
	}
}

function validaCorreo(valor){
	var reg=/(^[a-zA-Z0-9._-]{1,30})@([a-zA-Z0-9.-]{1,30}$)/;
	if(reg.test(valor)) return true;
	else return false;
}

function validaForm(){
	limpiaForm();
	error=0;
	
	var nombre = eliminaEspacios(form.nombre.value);
	var telefono=eliminaEspacios(form.telefono.value);
	var mail=eliminaEspacios(form.mail.value);
	var mensaje=eliminaEspacios(form.mensaje.value);
	
	if(!validaLongitud(nombre, 0, 4, 50)) campoError(form.nombre);
	//if(!validaLongitud(empresa, 1, 4, 50)) campoError(form.inputEmpresa);
	if(!validaLongitud(telefono, 1, 4, 50)) campoError(form.telefono);
	if(!validaCorreo(mail)) campoError(form.mail);
	if(!validaLongitud(mensaje, 0, 5, 500)) campoError(form.mensaje);
	
	var datosFormulario = "";
	for (i=0;i<form.elements.length;i++){
		elementoActual = form.elements[i];
		if(elementoActual.type=="textarea" || elementoActual.type=="text"){
			elementoActual.value = eliminaEspacios(elementoActual.value);
			datosFormulario = datosFormulario+elementoActual.id+"="+elementoActual.value+"&";
			
		}
	}

	if(error==1){
		var texto="<img src='"+imagenKO+"' alt='Error'><br><br>Error: revise los campos en rojo.<br><br><button style='width:45px; height:18px; font-size:10px;' onClick='ocultaMensaje()' type='button'>Ok</button>";
		muestraMensaje(texto);
	}else{
		
		var texto="<img src='"+imagenLoading+"' alt='Enviando'><br>Enviando. Por favor espere.<br><br><button style='width:60px; height:18px; font-size:10px;' onClick='ocultaMensaje()' type='button'>Ocultar</button>";
		muestraMensaje(texto);
		
		var ajax=nuevoAjax();
		ajax.open("POST", urlDestino, true);
		ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		ajax.send(datosFormulario);
		
		ajax.onreadystatechange=function(){
			if (ajax.readyState==4){
				
				var respuesta=ajax.responseText;
				switch (respuesta){
					case "OK":
						var texto="<img src='"+imagenOK+"' alt='Ok'><br>Gracias por su mensaje.<br>Le responderemos a la brevedad.<br><br><button style='width:45px; height:18px; font-size:10px;' onClick='ocultaMensaje()' type='button'>Ok</button>";break;
					case "errorDatos":
						var texto="<img src='"+imagenKO+"'><br><br>Error: no pudimos comprobar algunos de tus datos. Por favor, verifica el formulario y vuelve a intentarlo.<br><br><button style='width:45px; height:18px; font-size:10px;' onClick='ocultaMensaje()' type='button'>Ok</button>";break;
					case "errorEnvio":	
						var texto="<img src='"+imagenKO+"'><br><br>Error: hubo un problema con el envío, disculpe las molestias. Recuerde que puede llamarnos por teléfono al 93 268 0304, de lunes a sábado de 10.00 a 20.30Hs.<br><br><button style='width:45px; height:18px; font-size:10px;' onClick='ocultaMensaje()' type='button'>Ok</button>";
					default:
						var texto = ajax.responseText;
				}
				
				
				muestraMensaje(texto);
			}else{
				//alert("ELSE:"+ajax.readyState);
			}
		}
	}
}

// Mensajes de ayuda

if(navigator.userAgent.indexOf("MSIE")>=0) navegador=0;
else navegador=1;

function colocaAyuda(event){
	//alert(window.event.clientX+document.documentElement.scrollLeft);
	if(navegador==0)	{
		var corX=window.event.clientX+document.documentElement.scrollLeft;
		var corY=window.event.clientY+document.documentElement.scrollTop;
	}else{
		var corX=event.clientX+window.scrollX;
		var corY=event.clientY+window.scrollY;
	}
	/*cAyuda.style.top=corY+20+"px";
	cAyuda.style.left=corX+15+"px";*/
	cAyuda.style.top=150+20+"px";
	cAyuda.style.left=385+15+"px";

}

function ocultaAyuda(){
	cAyuda.style.display="none";
	if(navegador==0){
		document.detachEvent("onmousemove", colocaAyuda);
		document.detachEvent("onmouseout", ocultaAyuda);
	}else {
		document.removeEventListener("mousemove", colocaAyuda, true);
		document.removeEventListener("mouseout", ocultaAyuda, true);
	}
}

function muestraAyuda(event, campo){
	colocaAyuda(event);
	
	if(navegador==0){ 
		document.attachEvent("onmousemove", colocaAyuda); 
		document.attachEvent("onmouseout", ocultaAyuda); 
	}else {
		document.addEventListener("mousemove", colocaAyuda, true);
		document.addEventListener("mouseout", ocultaAyuda, true);
	}
	
	cNombre.innerHTML=campo;
	cTex.innerHTML=ayuda[campo];
	cAyuda.style.display="block";
}
