// JavaScript Document

function quitarAcentos(Text)  
{  
	var cadena=""; 
	var codigo="";  
	var temp = "";
	var total = Text.length;
	for (var j = 0; j < total; j++)  
	{  
		var Char=Text.charCodeAt(j);
		var cara=Text.charAt(j);
		if (cara == "&") {
			temp = Text.substring(j,j+8);
			switch (temp) {
				case "&aacute;": cadena += "(/a)";
				j = j + 7;
				break;
				case "&Aacute;": cadena += "(/A)";
				j = j + 7;
				break;
				case "&eacute;": cadena += "(/e)";
				j = j + 7;
				break;
				case "&Eacute;": cadena += "(/E)";
				j = j + 7;
				break;
				case "&iacute;": cadena += "(/i)";
				j = j + 7;
				break;
				case "&iacute;": cadena += "(/I)";
				j = j + 7;
				break;
				case "&oacute;": cadena += "(/o)";
				j = j + 7;
				break;
				case "&Oacute;": cadena += "(/O)";
				j = j + 7;
				break;
				case "&uacute;": cadena += "(/u)";
				j = j + 7;
				break;
				case "&uacute;": cadena += "(/U)";
				j = j + 7;
				break;
				case "&ntilde;": cadena += "(/n)";
				j = j + 7;
				break;
				case "&Ntilde;": cadena += "(/N)";
				j = j + 7;
				break;
				default:  
				cadena+=Text.charAt(j);  
				break;  
			}
		} else {
			switch(Char)  
			{  
				case 225: cadena+="(/a)";  
				break;  
				case 233: cadena+="(/e)";  
				break;  
				case 237: cadena+="(/i)";  
				break;  
				case 243: cadena+="(/o)";  
				break;  
				case 250: cadena+="(/u)";  
				break;  
				case 193: cadena+="(/A)";  
				break;  
				case 201: cadena+="(/E)";  
				break;  
				case 205: cadena+="(/I)";  
				break;  
				case 211: cadena+="(/O)";  
				break;  
				case 218: cadena+="(/U)";  
				break;  
				case 241: cadena+="(/n)";  
				break;  
				case 209: cadena+="(/N)";  
				break;  
				default:  
				cadena+=Text.charAt(j);  
				break;  
			}  
		}
		codigo+="_"+Text.charCodeAt(j);  
	}  
	return cadena;  
}  

function ponerAcentos(Text) {
	var cadena=""; 
	var temp = "";
	var total = Text.length;
	for (var j = 0; j < total; j++)  
	{  
		var cara=Text.charAt(j);
		if (cara == "(") {
			temp = Text.substring(j,j+4);
			switch (temp) {
				case "(/a)": cadena += "&aacute;";
				j = j + 3;
				break;
				case "(/A)": cadena += "&Aacute;";
				j = j + 3;
				break;
				case "(/e)": cadena += "&eacute;";
				j = j + 3;
				break;
				case "(/E)": cadena += "&Eacute;";
				j = j + 3;
				break;
				case "(/i)": cadena += "&iacute;";
				j = j + 3;
				break;
				case "(/I)": cadena += "&Iacute;";
				j = j + 3;
				break;
				case "(/o)": cadena += "&oacute;";
				j = j + 3;
				break;
				case "(/O)": cadena += "&Oacute;";
				j = j + 3;
				break;
				case "(/u)": cadena += "&uacute;";
				j = j + 3;
				break;
				case "(/U)": cadena += "&Uacute;";
				j = j + 3;
				break;
				case "(/n)": cadena += "&ntilde;";
				j = j + 3;
				break;
				case "(/N)": cadena += "&Ntilde;";
				j = j + 3;
				break;
				case "(/c)": cadena += "'";
				j = j + 3;
				break;
				default:  
				cadena+=Text.charAt(j);  
				break;  
			}
		} else {
			cadena+=Text.charAt(j);  
		}
	}  
	return cadena;
}

function agregarProducto(id_producto) {
	contenedor = document.createElement('div');
	contenedor.id = "divAgregar";
	contenedor.style.width = "792px";
	contenedor.style.height = "270px";
	contenedor.style.position = "absolute";
	contenedor.style.background = "url(screen/fondoTransparente.png)";
	contenedor.style.backgroundRepeat = "repeat";
	contenedor.style.marginTop = "10px";
	contenedor.style.border = "solid";
	contenedor.style.borderWidth = "2px";
	contenedor.style.borderColor = "#333333";
	tabla = "<center><br><table width=\"700\"><tr><td align=\"right\"><a href=\"javascript:cerrarAgregarProducto();\"><img border=\"0\" src=\"screen/close.png\"></a></td></tr></table></center>";
	contenedor.innerHTML = tabla;
	
	var seleccion= new AjaxGET();
	seleccion.open("GET", "cargarProducto.php?id_producto="+id_producto,true);
	seleccion.onreadystatechange=function()
	{
		if (seleccion.readyState==4) // Readystate 4 significa que ya acab&oacute; de cargarlo
		{
//			document.getElementById('contenido').innerHTML = '';
			contenedor.innerHTML = tabla + seleccion.responseText;
		}
		if ((seleccion.readyState==1) ||(seleccion.readyState==2)||(seleccion.readyState==3))
		{
			contenedor.innerHTML = tabla + "Cargando...";
		}
	}
	seleccion.send(null)
	
	padre = document.getElementById("contenidos");
	padre.appendChild(contenedor);
}

function agregarProductoValidar(id_producto, elemento, id_pedido, medida, unidad_medida) {
	var cantidad1 = document.getElementById(elemento).value;
	if ((cantidad1.length == 0) || (isNaN(cantidad1))) {
		alert('Introduce un Número en la cantidad');
		document.getElementById(elemento).focus();
		document.getElementById(elemento).setSelectionRange(0, document.getElementById(elemento).value.length);
	} else {
		contenedor = document.getElementById('divCargando');
		var seleccion= new AjaxGET();
		seleccion.open("GET", "agregarProducto.php?id_producto="+id_producto+"&cantidad="+cantidad1+"&id_pedido="+id_pedido+"&medida="+medida+"&unidad_medida="+unidad_medida,true);
		seleccion.onreadystatechange=function()
		{
			if (seleccion.readyState==4) // Readystate 4 significa que ya acab&oacute; de cargarlo
			{
				if(seleccion.responseText == "ok") {
					alert("El producto se agregó correctamente al pedido");
					cerrarAgregarProducto();
				} else
					alert("error al agregar el producto al pedido");
			}
			if ((seleccion.readyState==1) ||(seleccion.readyState==2)||(seleccion.readyState==3))
			{
				contenedor.innerHTML = "Agregando...";
			}
		}
		seleccion.send(null)
	}
}

function cerrarAgregarProducto() {
	contenedor = document.getElementById("divAgregar");
	padre = document.getElementById("contenidos");
	padre.removeChild(contenedor);	
}

function verCarrito() {
	contenedor = document.createElement('div');
	contenedor.id = "divVerCarrito";
	contenedor.style.width = "792px";
//	contenedor.style.height = "500px";
	contenedor.style.position = "absolute";
	contenedor.style.background = "url(screen/fondoTransparente.png)";
	contenedor.style.backgroundRepeat = "repeat";
	contenedor.style.marginTop = "10px";
	contenedor.style.border = "solid";
	contenedor.style.borderWidth = "2px";
	contenedor.style.borderColor = "#333333";
	tabla = "<center><br><table width=\"700\"><tr><td align=\"right\"><a href=\"javascript:cerrarVerCarrito();\"><img border=\"0\" src=\"screen/close.png\"></a></td></tr></table></center>";
	tabla+= "<center><br><table width=\"700\"><tr><td align=\"center\"><h1>SU PEDIDO HASTA EL MOMENTO</h1></td></tr></table></center>";
	contenedor.innerHTML = tabla;
	
	var seleccion= new AjaxGET();
	seleccion.open("GET", "cargarCarrito.php",true);
	seleccion.onreadystatechange=function()
	{
		if (seleccion.readyState==4) // Readystate 4 significa que ya acab&oacute; de cargarlo
		{
//			document.getElementById('contenido').innerHTML = '';
			contenedor.innerHTML = tabla + seleccion.responseText;
		}
		if ((seleccion.readyState==1) ||(seleccion.readyState==2)||(seleccion.readyState==3))
		{
			contenedor.innerHTML = tabla + "Cargando...";
		}
	}
	seleccion.send(null)
	
	padre = document.getElementById("contenidos");
	padre.appendChild(contenedor);
}

function cerrarVerCarrito() {
	contenedor = document.getElementById("divVerCarrito");
	padre = document.getElementById("contenidos");
	padre.removeChild(contenedor);	
}

function eliminarProducto(id_producto, cantidad, id_pedido, medida, unidad_medida, producto) {
	if (confirm('Estas seguro que deseas eliminar '+ cantidad + ' ' + unidad_medida + ' de ' + ponerAcentos(producto))) {
		contenedor = document.getElementById('divCargando');
		var seleccion= new AjaxGET();
		seleccion.open("GET", "eliminarProducto.php?id_producto="+id_producto+"&cantidad="+cantidad+"&id_pedido="+id_pedido+"&medida="+medida+"&unidad_medida="+unidad_medida,true);
		seleccion.onreadystatechange=function()
		{
			if (seleccion.readyState==4) // Readystate 4 significa que ya acab&oacute; de cargarlo
			{
				if(seleccion.responseText == "ok") {
					alert("El producto se eliminó correctamente del pedido");
					cerrarVerCarrito();
					verCarrito();
				} else
					alert("error al eliminar el producto al pedido");
			}
			if ((seleccion.readyState==1) ||(seleccion.readyState==2)||(seleccion.readyState==3))
			{
				contenedor.innerHTML = "eliminando...";
			}
		}
		seleccion.send(null)
	}
}

function vistaPrevia() {
	contenedor = document.getElementById('divVerCarrito');
	tabla = "<center><br><table width=\"700\"><tr><td align=\"right\"><a href=\"javascript:cerrarVerCarrito();\"><img border=\"0\" src=\"screen/close.png\"></a></td></tr></table></center>";
	tabla+= "<center><br><table width=\"700\"><tr><td align=\"center\"><h1>INGRESE LOS SIGUIENTES DATOS</h1></td></tr></table></center>";
	contenedor.innerHTML = tabla;
	
	var seleccion= new AjaxGET();
	seleccion.open("GET", "vistaPrevia.php",true);
	seleccion.onreadystatechange=function()
	{
		if (seleccion.readyState==4) // Readystate 4 significa que ya acab&oacute; de cargarlo
		{
//			document.getElementById('contenido').innerHTML = '';
			contenedor.innerHTML = tabla + seleccion.responseText;
		}
		if ((seleccion.readyState==1) ||(seleccion.readyState==2)||(seleccion.readyState==3))
		{
			contenedor.innerHTML = tabla + "Cargando...";
		}
	}
	seleccion.send(null)
	
}

function mailIncorrecto(valor) {
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor)){
		return (false)
	} else {
		return (true);
	}
}

function enviarPedido() {
	var mensaje = "";
	var nombre = document.getElementById('nombre').value;
	var domicilio = document.getElementById('domicilio').value;
	var colonia = document.getElementById('colonia').value;
	var ciudad = document.getElementById('ciudad').value;
	var estado = document.getElementById('estado').value;
	var cp = document.getElementById('cp').value;
	var telefono = document.getElementById('telefono').value;
	var email = document.getElementById('email').value;
	var observaciones = document.getElementById('observaciones').value;
	if (nombre.length < 4) 
		mensaje += "- El nombre es requerido\n\r";
	if (telefono.length < 4) 
		mensaje += "- El teléfono es requerido\n\r";
	if (mailIncorrecto(email)) 
		mensaje += "- El email es incorrecto\n\r";
	if (mensaje == "") {
		contenedor = document.getElementById('divVerCarrito');
		tabla = "<center><br><table width=\"700\"><tr><td align=\"right\"><a href=\"javascript:cerrarVerCarrito();\"><img border=\"0\" src=\"screen/close.png\"></a></td></tr></table></center>";
		tabla+= "<center><br><table width=\"700\"><tr><td align=\"center\"><h1>GRACIAS !</h1></td></tr></table></center>";
		contenedor.innerHTML = tabla;
		
		var seleccion= new AjaxGET();
		seleccion.open("GET", quitarAcentos("enviarMail.php?nombre="+nombre+"&domicilio="+domicilio+"&colonia="+colonia+"&ciudad="+ciudad+"&estado="+estado+"&cp="+cp+"&telefono="+telefono+"&email="+email+"&observaciones="+observaciones),true);
		seleccion.onreadystatechange=function()
		{
			if (seleccion.readyState==4) // Readystate 4 significa que ya acab&oacute; de cargarlo
			{
	//			document.getElementById('contenido').innerHTML = '';
				contenedor.innerHTML = tabla + seleccion.responseText;
			}
			if ((seleccion.readyState==1) ||(seleccion.readyState==2)||(seleccion.readyState==3))
			{
				contenedor.innerHTML = "Cargando...";
			}
		}
		seleccion.send(null)	
	} else {
		alert("Ocurrieron los siguientes errores:\n\r\n\r"+mensaje);
	}
}

function AjaxGET()
{
	if(window.XMLHttpRequest) /*Vemos si el objeto window(la base de la ventana del navegador) posee el m&eacute;todo XMLHttpRequest(Navegadores como Mozilla y Safari). */  
	{ 
		return new XMLHttpRequest(); //Si lo tiene, crearemos el objeto con este m&eacute;todo. 
	} 
	else if(window.ActiveXObject) /*Sino ten&iacute;a el m&eacute;todo anterior, deber&iacute;a ser el Internet Exp. un navegador que emplea objetos ActiveX, lo mismo, miramos si tiene el m&eacute;todo de creaci&oacute;n. */ 
	{ 
	
		var request = false;
		try {
		  request = new XMLHttpRequest();
		} catch (trymicrosoft) {
		  try {
			request = new ActiveXObject("Msxml2.XMLHTTP");
		  } catch (othermicrosoft) {
			try {
			  request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (failed) {
			  request = false;
			}
		  }
		}
		return request;
	} 
	/* Si el navegador llego aqu&iacute; es porque no posee manera alguna de crear el objeto, emitimos un mensaje de error. */ 
	throw new Error("No se pudo crear el objeto XMLHttpRequest"); 
}


