var xmlhttp
var img_load = "img/loader.gif";

function crearXMLHTTP(){ alert
        var cxm = null;
        try{
          cxm = new XMLHttpRequest();
        }catch(e){
          cxm = new ActiveXObject("Microsoft.XMLHTTP");
        }
        return cxm;
       }

function loadImage(img)
     {
        var im = document.getElementById("im");
        var param="";
        im.src=img_load;
        cmx = crearXMLHTTP();
        cmx.open("get", img, true);
        cmx.setRequestHeader('Content-Type', "application/x-www-form-urlencoded");
        cmx.onreadystatechange = function(){
          if (cmx.readyState == 4){
            if(cmx.status == 200){   
                  
				  im.src=img;
                  return;
            }
          }
        };
        cmx.send(null);
     }
/************************************************************************************************/

function verProducto(str)
{

xmlhttp=GetXmlHttpObject();
if (xmlhttp==null)
  {
  alert ("Tu navegador no soporta AJAX");
  return;
  }
var url="getproducto.php";
url=url+"?q="+str;
url=url+"&sid="+Math.random();
xmlhttp.onreadystatechange=stateChanged;
xmlhttp.open("GET",url,true);

/***************************************/loadImage("./img/"+str+".jpg");

xmlhttp.send(null);


}

function stateChanged()
{
if (xmlhttp.readyState==4)
{
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;

}
}

function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
  {
  // code for IE7+, Firefox, Chrome, Opera, Safari
  return new XMLHttpRequest();
  }
if (window.ActiveXObject)
  {
  // code for IE6, IE5
  return new ActiveXObject("Microsoft.XMLHTTP");
  }
return null;
}

/******************************_FUNCIONES PARA EL FORMULARIO*********************************/

// Variables para resetear
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="mail.php";
	
	claseNormal="input";
	claseError="inputError";
	
	ayuda=new Array();
	ayuda["Nombre"]="Nombre. De 4 a 50 caracteres. OBLIGATORIO";
	ayuda["Centro"]="Centro h&iacute;pico o federaci&oacute;n a trav&eacute;s de la que nos conoci&oacute;.";
	ayuda["Telefono"]="Introduce un tel&eacute;fono de contacto. OBLIGATORIO. Todos los pedidos se confirmar&aacute;n a trav&eacute;s de tel&eacute;fono o e-mail";
	ayuda["Direccion"]="Direcci&oacute;n donde desea recibir el pedido.";
	ayuda["Direccion2"]="C&oacute;digo postal, poblaci&oacute;n y provincia que completan la direcci&oacute;n postal";
	ayuda["Correo"]="Introduce un e-mail v&aacute;lido. OBLIGATORIO. Todos los pedidos se confirmar&aacute;n a trav&eacute;s de tel&eacute;fono o e-mail";
	ayuda["Pago"]="Seleccione su forma de pago preferida. Los gastos de envio corren por cuenta del comprador. <br /> Tarifa de precios aplicable por medida y peso seg&uacute;n Correos</p>";
	ayuda["Pedido"]="A&ntilde;ade productos seleccion&aacute;ndolos de la lista y pulsando A&Ntilde;ADIR. Para m&aacute;s de una unidad modifica el valor entre par&eacute;ntesis";
	
	preCarga("img/ok.gif", "img/loading.gif", "img/error.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("inputPedido").className=claseNormal;
}

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

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

function ocultaMensaje2()
{
	divTransparente.style.display="none";
	location.reload(true);
}

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.inputNombre.value);
	var centro=eliminaEspacios(form.inputCentro.value);
	var telefono=eliminaEspacios(form.inputTelefono.value);
	var direccion=eliminaEspacios(form.inputDireccion.value);
	var direccion2=eliminaEspacios(form.inputDireccion2.value);
	var correo=eliminaEspacios(form.inputCorreo.value);
	var pedido=eliminaEspacios(form.inputPedido.value);
    var formapago;
	var pago=document.formulario.group1[0].checked;

	if(pago==true)
		{
		formapago="Transferencia";
		}else
			{
			formapago="Contra Reembolso";
			}
	
	
	if(!validaLongitud(nombre, 0, 4, 50)) campoError(form.inputNombre);
	if(!validaLongitud(centro, 1, 4, 50)) campoError(form.inputCentro);
	if(!validaLongitud(telefono, 0, 4, 50)) campoError(form.inputTelefono);
	if(!validaCorreo(correo)) campoError(form.inputCorreo);
	if(!validaLongitud(pedido, 0, 5, 500)) campoError(form.inputPedido);

	
	if(error==1)
	{
		var texto="<img src='img/error.gif' alt='Error'><br><br>Error: revise los campos en rojo.<br><br><button style='width:45px; height:22px;' onClick='ocultaMensaje()' type='button'>Ok</button>";
		muestraMensaje(texto);
	}
	else
	{
		var texto="<img src='img/loading.gif' alt='Enviando'><br>Enviando. Por favor espere.<br><br>";
		muestraMensaje(texto);
		
		var ajax=nuevoAjax();
		ajax.open("POST", urlDestino, true);
		ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		ajax.send("nombre="+nombre+"&centro="+centro+"&direccion="+direccion+"&direccion2="+direccion2+"&telefono="+telefono+"&correo="+correo+"&pedido="+pedido+"&formapago="+formapago);
		
		ajax.onreadystatechange=function()
		{
			if (ajax.readyState==4)
			{
				var respuesta=ajax.responseText;
				if(respuesta=="OK")
				{
					var texto="<img src='img/ok.gif' alt='Ok'><br>Gracias por su mensaje.<br>Le responderemos a la mayor brevedad posible.<br><br><button style='width:45px; height:22px; ' onClick='ocultaMensaje2()' type='button'>Ok</button>";	
				}
				else var texto="<img src='img/error.gif'><br><br>Error: intentelo m&aacute;s tarde.<br><br><button style='width:45px; height:22px;' onClick='ocultaMensaje()' type='button'>Ok</button>";
				
				muestraMensaje(texto);
			}
		}
	}
}

// Mensajes de ayuda

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

function colocaAyuda(event)
{
	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-50+"px";
	cAyuda.style.left=corX-20+"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 pasaValor()
{
	var indice = document.formulario.productos.selectedIndex;
    var textopedido = document.formulario.productos.options[indice].text;
	
	var myRegExp = document.formulario.productos.options[indice].text;
	var string1 = document.formulario.pedido.value;
	var matchPos1 = string1.search(myRegExp);

	if(matchPos1 != -1)
		alert("Ya tiene seleccionado este producto en su pedido, si desea \n incrementar las unidades modifiquelo en el pedido");
	else
		document.formulario.pedido.value = document.formulario.pedido.value + "\n" + textopedido + " (X 1)";
		
}



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";
}


