var mensaje = "Cargando datos...";
var position;
var ticket = "";
   
   function setTicket (value){
      ticket = value;	 
   }

   function ChangePass(actual,nueva){
   		  var aleatorio=Math.random(); 
   	      var pagina = "/olympia.cgi?accion=cambioclave&nuevaclave="+nueva+"&claveactual="+actual+"&ticket="+ticket+"&tienda=S&"+aleatorio;
		  cargarContenido(pagina,'',cargarMensajeTxt,ErrorCarga);
   }
   
   function VerCarrito() {
	  var aleatorio=Math.random(); 
      var pagina = "/olympia.cgi?accion=vercarrito&ticket="+ticket+"&tienda=S&plantilla=carrito.html&control="+aleatorio;
/*	  $('#txtCarrito').html('&nbsp;Carrito:  art&iacute;culo(s)');
	  $("#bloquecarritoDetalle").html('');
*/  
	  cargarContenido(pagina,'',cargarDetalleCarrito,ErrorCarga);
      return;
   }
   
	function CopiaDoc(ref_doc){
		var mensaje_old = mensaje;
		mensaje="Enviando solicitud";
		var pagina="/olympia.cgi?accion=copiapedido&referencia="+ref_doc+"&ticket="+ticket;
		cargarContenido(pagina,'',cargarSolicitudCopia,ErrorCarga);
		mensaje=mensaje_old;
	}
	
   function AgregarArticulo (referencia,element,plantilla){
	  var d = document.getElementById(element);
      var cantidad = -1;
	  if (d) {
	  	cantidad = d.value * 1;
	  }
	  if (cantidad <= 0 || !cantidad)
	     cantidad = 1;

	  mensaje="actualizando carrito";
      var pagina = "/olympia.cgi?accion=AgregarArticulo&articulo="+encodeURIComponent(referencia);
          pagina = pagina + "&cantidad="+cantidad+"&ticket="+ticket;
	  if (plantilla){
	  	pagina = pagina + "&plantilla="+plantilla;
	  }
	  	  
      cargarContenido(pagina,'',cargarDetalleCarrito,ErrorCarga);
      return;
   }
   
   function AgregarArticulo2 (referencia,unidades,plantilla){
	  if (unidades <= 0 || !unidades)
	     unidades = 1;

	  mensaje="actualizando carrito";
      var pagina = "/olympia.cgi?accion=AgregarArticulo&articulo="+encodeURIComponent(referencia);
          pagina = pagina + "&cantidad="+unidades+"&ticket="+ticket;
	  if (plantilla){
	  	pagina = pagina + "&plantilla="+plantilla;
	  }
      cargarContenido(pagina,'',cargarDetalleCarrito,ErrorCarga);
      return;
   }

   function Modificar (id,valor,plantilla) {
	  mensaje="actualizando carrito";
      var pagina = "/olympia.cgi?accion=ModificarArticulo&articulo="+encodeURIComponent(id);
          pagina = pagina + "&cantidad="+valor+"&ticket="+ticket;
	  if (plantilla){
	  	pagina = pagina + "&plantilla="+plantilla;
	  }
		  
      cargarContenido(pagina,'',cargarDetalleCarrito,ErrorCarga);
      return;
   }

   function ModificarLocation (id,valor,plantilla) {
	  mensaje="actualizando carrito";
      var pagina = "/olympia.cgi?accion=ModificarArticulo&articulo="+encodeURIComponent(id);
          pagina = pagina + "&cantidad="+valor+"&ticket="+ticket+"&plantilla=carritobig.html";
	  document.location=pagina;	  
      return;
   }

	function goBuscar() {
		var texto = document.getElementById('txtbusqueda').value;
			if (texto.length < 1){
				return false;
			}
			var busqueda = encodeURIComponent(document.getElementById('txtbusqueda').value);
		var pagina = "/olympia.cgi?accion=buscar&criterio="+busqueda+"&ticket="+ticket+"&nomfamilia=Resultado de la busqueda:"+busqueda;
		loading(1500);
		window.location.href=pagina;
	}
   
   function ModificarSend (id,valor,plantilla) {
      document.articulos.articulo.value = id;
      document.articulos.cantidad.value = valor;
      document.articulos.accion.value = "ModificarArticulo";
      document.articulos.submit();
      return;
   }

   function Quitar (id,plantilla) {
	  mensaje="actualizando carrito";
      var pagina = "/olympia.cgi?accion=BorrarArticulo&articulo="+encodeURIComponent(id);
          pagina = pagina + "&ticket="+ticket;
	  if (plantilla){
	  	pagina = pagina + "&plantilla="+plantilla;
	  }
      cargarContenido(pagina,'',cargarDetalleCarrito,ErrorCarga);
      return;
   }
   function QuitarLocation (id,plantilla) {
	  mensaje="actualizando carrito";
      var pagina = "/olympia.cgi?accion=BorrarArticulo&articulo="+encodeURIComponent(id);
          pagina = pagina + "&ticket="+ticket+ "&plantilla=carritobig.html";
      document.location=pagina;
      return;
   }

      
   function ClearAll (plantilla) {
	  mensaje="vaciando carrito";
      var pagina = "/olympia.cgi?accion=VaciarCarrito";
          pagina = pagina + "&ticket="+ticket;
	  if (plantilla){
	  	pagina = pagina + "&plantilla="+plantilla;
	  }
		  
      cargarContenido(pagina,'',cargarDetalleCarrito,ErrorCarga);
      return;
   }

   function GuardarPresupuesto (do_pref){
	  document.articulos.accion.value = "nuevopresup";
	  document.articulos.articulo.value = do_pref;
	  document.articulos.submit();      	
   }

   function Pedir (doref) {
   	  document.articulos.accion.value = "enviarpedido";
      document.articulos.plantilla.value = "listapedidos.html";
	  document.articulos.articulo.value = doref;
	  document.articulos.submit();
   }
   
   function DatosPedido (){
        $('#bloquecarritoDatosPedido').show();
		// Extraemos las medidas de la ventana y su posicion segun el nivel de scroll
        var documento_height = screen.availHeight
   		var documento_width = screen.availWidth;
		var topPantalla = document.documentElement.scrollTop
		
		// Colocacion de la capa #bloquecarritoDatosPedido
		var loading_left = documento_width/2;
		var loading_width= $("#bloquecarritoDatosPedido").width();
		var loading_top = documento_height/2;
		var loading_height= $("#bloquecarritoDatosPedido").height();
                
        loading_left = loading_left - loading_width/2;
		// Se le aÃ±aden 40 pixeles para que en explorer no se que corte con la capa de cabeceraSup
		//loading_topCapa = loading_top - loading_height + 40;

        if (!topPantalla){
           topPantalla = loading_height;
        }

        loading_topCapa = topPantalla + 200;
		$("#bloquecarritoDatosPedido").css("left",loading_left);
        $("#bloquecarritoDatosPedido").css("top",loading_topCapa);	
        $("#bloquecarritoDatosPedido").css("position","absolute");		
	
   }
   
   function AddFavorito (id) {
      document.articulos.articulo.value = id;
      document.articulos.accion.value = "agregarfavorito";
      document.articulos.submit();
   }

   function VerFavoritos () {
	  document.articulos.accion.value = "verfavoritos";
      document.articulos.submit();
   }

   function QuitarFavorito (id) {
      document.articulos.articulo.value = id;
      document.articulos.accion.value = "borrarfavorito";
      document.articulos.submit();
   }

   function ClearAllFavorito () {
      document.articulos.accion.value = "clearfavoritos";
      document.articulos.submit();
   }

  function Comprar () {
      document.datoscompra.submit();
      return;
   }

   
var cargarDetalleArticulo = function  (resp){
	$("#detalleArticulo").html(resp);
	var d = document.getElementById("detalleArticulo");
    d.style.visibility = "visible";
}

var cargarDetalleCarrito  = function  (resp){
    $("#bloquecarritoDetalle").html(resp);	
}

var cargarSolicitudCopia  = function  (resp){
	offLoading(1000);
	var mensaje_old = mensaje;
	mensaje = resp;
	loading(1000);
	mensaje = mensaje_old;
}

var cargarMensajeTxt = function (resp) {
	$("#txtmensaje").html(resp);
}

function Ocultar(element){
	var d = document.getElementById(element);
    d.style.visibility = "hidden";
   return;
}

function Mostrar(element) {
	var d = document.getElementById(element);

    var topPantalla = document.documentElement.scrollTop
    var loading_height= d.style.height;
    
    if (!topPantalla){
       topPantalla = loading_height/2;
    }
    
    var loading_topCapa = topPantalla + 240;
    d.style.top = loading_topCapa+"px";	
    d.style.visibility = "visible";
   
   return;
}

/* Muestra el loading siempre que se hace una llamada ajax */
 $(document.body).ajaxStart(function(){
  	loading (1500);	
 });
 
// Ocultal el loading siempre que se hace una llamada ajax 
 $(document.body).ajaxSuccess(function(){
    offLoading(5000);
 });

function cargarMensaje(texto) {
	if (texto && texto != '')
	   mensaje = texto;
	loading (1500);
}

function loading (tiempo){	
	   $("body").prepend("<div id='loading'>" + "<p>" + mensaje +  "</p></div>");
	   $("#loading").css({ backgroundColor: '#D12330', opacity: '0' });
		
		// Extraemos las medidas de la ventana y su posicion segun el nivel de scroll
		
        var documento_height = screen.availHeight
   		var documento_width = screen.availWidth;
		var topPantalla = document.documentElement.scrollTop
		
		
		// Colocacion de la capa loading 
		var loading_left = documento_width/2;
		var loading_width= $("#loading").width();
		var loading_top = documento_height/2;
		var loading_height= $("#loading").height();
                
        loading_left = loading_left - loading_width/2;
		// Se le añaden 40 pixeles para que en explorer no se que corte con la capa de cabeceraSup
		//loading_topCapa = loading_top - loading_height + 40;

        if (!topPantalla){
           topPantalla = loading_height;
        }

        loading_topCapa = topPantalla + 20;
        
		$("#loading").css("left",loading_left);
        $("#loading").css("top",loading_topCapa);	
        $("#loading").css("position","absolute");
        
		$("#loading").fadeTo(tiempo, 0.9);
}	

function offLoading(tiempo){	
	$("#loading").fadeOut(tiempo);
	$("#loading").remove();
}

function ErrorCarga() {
	offLoading(1000);
	return;
}

function getKeyCode(e){
	e = (window.event) ? event : e;
	intKey = (e.keyCode) ? e.keyCode : e.charCode;
	return intKey;
}

function cargarDetalleArt (articulo,ticket,nomfamilia,parametros,exito,fracaso,txt,linea){	
	var coordY = $('#'+linea).offset().top + 20;
	var coordX = $('#bloquelistado').offset().left;
	$('#detalleArticulo').css({position:'absolute',top:coordY , left:coordX});
	mensaje=txt;
    var pagina = "/olympia.cgi?accion=detalle&articulo="+encodeURIComponent(articulo);
        pagina = pagina + "&ticket=__ticket__&nomfamilia="+encodeURIComponent(nomfamilia);

    cargarContenido(pagina,parametros,exito,fracaso);
    return;
}

var cargarContenido = function (pagina,parametros,exito,fracaso){	
    $.ajax({
	  url: pagina,
	  type: 'get',
	  async: true,
	  data: parametros,
	  dataType: "html",
	  success: exito,
	  error: fracaso
	});
}
