var PRODUCTOS_POR_PAGINA = 16;

function loadTab(tab)
{
	if (tab == 'marcas')
	{
		MM_swapImage('bt_marcas','','/imClientImages/catalogo/pestana_marcas_naranja.gif',1);
		MM_swapImage('bt_categorias','','/imClientImages/catalogo/pestana_categorias_gris.gif',1);
		MM_swapImage('bt_catalogos','','/imClientImages/catalogo/pestana_catalogos_gris.gif',1);
	}
	else if (tab == 'categorias')
	{
		MM_swapImage('bt_categorias','','/imClientImages/catalogo/pestana_categorias_naranja.gif',1);
		MM_swapImage('bt_marcas','','/imClientImages/catalogo/pestana_marcas_gris.gif',1);
		MM_swapImage('bt_catalogos','','/imClientImages/catalogo/pestana_catalogos_gris.gif',1);
	}
	else if(tab == 'catalogos')
	{
		MM_swapImage('bt_catalogos','','/imClientImages/catalogo/pestana_catalogos_naranja.gif',1);
		MM_swapImage('bt_marcas','','/imClientImages/catalogo/pestana_marcas_gris.gif',1);
		MM_swapImage('bt_categorias','','/imClientImages/catalogo/pestana_categorias_gris.gif',1);
	}

	seccion = tab;
	
	divVisibilityChangeAbsClear('menu_'+tab);
	changeBackground('menu_'+tab);
	clearDivs('pager','articulos_marca');
}

function changeBackground(d)
{
	var div = document.getElementById('fondo_menu');
	
	if (d == 'menu_marcas')
	{
		div.style.background = 'url(/imClientImages/catalogo/caja_menu_marcas.gif)';	
	}
	else if (d == 'menu_categorias')
	{
		div.style.background = 'url(/imClientImages/catalogo/caja_menu_categorias.gif)';
		scroll_menu_categorias_padres_obj = new CGraphicScrollVertical('scroll_menu_categorias_padres_obj','menu_categorias_padres_scroll','menu_categorias_padres_abs','menu_categorias_padres',null,null,'bt_scroll_up_mcp','bt_scroll_down_mcp',0,0);
	}
	else if(d =='menu_catalogos')
	{
		div.style.background = 'url(/imClientImages/catalogo/caja_menu_marcas.gif)';	
		scroll_catalogos_obj = new CGraphicScrollVertical('scroll_catalogos_obj','catalogos_scroll_div','catalogos_div','catalogos_content',null,null,'bt_scroll_up_catalogos','bt_scroll_down_catalogos',0,10);
	}
}

function loadMarcas(catId)
{
	ultimaSubCategoria = catId;	
	clearDivs('pager','articulos_marca','menu_marcas_categoria');
	loadModule('/imAppInterfaces/ICategorias.php?act=menu_marcas_categoria&catId='+catId,'/imClientFormats/menu_marcas_categoria.xsl','menu_marcas_categoria','text');
	scroll_menu_marcas_categoria_obj = new CGraphicScrollVertical('scroll_menu_marcas_categoria_obj','menu_marcas_categoria_scroll','menu_marcas_categoria_abs','menu_marcas_categoria',null,null,'bt_scroll_up_mmc','bt_scroll_down_mmc',0,0);	
}

function loadSubCategorias(catPadreId)
{
	ultimaCategoria = catPadreId;
	clearDivs('pager','articulos_marca','menu_marcas_categoria','menu_sub_categorias');
	loadModule('/imAppInterfaces/ICategorias.php?act=menu_sub_categorias&catPadreId='+catPadreId,'/imClientFormats/menu_sub_categorias.xsl','menu_sub_categorias','text');
	scroll_menu_sub_categorias_obj = new CGraphicScrollVertical('scroll_menu_sub_categorias_obj','menu_sub_categorias_scroll','menu_sub_categorias_abs','menu_sub_categorias',null,null,'bt_scroll_up_msc','bt_scroll_down_msc',0,0);
	document.getElementById('menu_marcas_categoria_scroll').className = 'hide_rel';
}
function setArticulosDestacadosHash(catId,padre,page)
{	
	document.location.hash = '#pag='+seccion+'&page='+0;
}

function loadArticulosDestacados(catId,padre,page)
{
	clearDivs('pager','articulos_marca');
	loadTituloCategoria('Productos Destacados');

	var urlIArticulos = '/imAppInterfaces/IArticulos.php?act=articulos_destacados';
	var urlIArticulosSize = '/imAppInterfaces/IArticulos.php?act=articulos_destacados_size';
	
	if (catId != '')
	{
		urlIArticulos += '&catId='+catId;
		urlIArticulosSize += '&catId='+catId;
	}
	if (padre == 1)
	{
		urlIArticulos += '&type=1';
		urlIArticulosSize += '&type=1';
	}
	
	var size = loadHTML(urlIArticulosSize);
	if (parseInt(page) >= (parseInt(size)/PRODUCTOS_POR_PAGINA))
	{
		page = 0;
	}

	urlIArticulos +='&page='+page;
	loadModule(urlIArticulos,'/imClientFormats/articulos_marca.xsl','articulos_marca','text');
	
	loadPager('Destacados',page,size,catId,padre,'Productos Destacados');
	
}

function setArticulosMarcaHash(marId,catId,page,titulo)
{
	loadTab('marcas');
	var hash = '#pag='+seccion; 
	if (catId != '')
	{
		hash+='&categoria='+ultimaCategoria+'&sub_categoria='+ultimaSubCategoria;
		urlIArticulos += '&catId='+catId;
		urlIArticulosSize += '&catId='+catId;
	}
	hash += '&marca='+marId+'&page='+page;
	document.location.hash = hash;
}
	
function loadArticulosMarca(marId,catId,page,titulo)
{
	clearDivs('pager','articulos_marca');
	
	var urlIArticulos = '/imAppInterfaces/IArticulos.php?act=articulos_marca&marId='+marId;
	var urlIArticulosSize = '/imAppInterfaces/IArticulos.php?act=articulos_marca_size&marId='+marId;
	var hash = '#pag='+seccion; 

	if (catId != '')
	{
		hash+='&categoria='+ultimaCategoria+'&sub_categoria='+ultimaSubCategoria;
		urlIArticulos += '&catId='+catId;
		urlIArticulosSize += '&catId='+catId;
	}
	hash += '&marca='+marId+'&page='+page;
	
	var size = loadHTML(urlIArticulosSize);
	if (parseInt(page) >= (parseInt(size)/PRODUCTOS_POR_PAGINA))
	{
		page = 0;
	}

	urlIArticulos+='&page='+page;
	loadModule(urlIArticulos,'/imClientFormats/articulos_marca.xsl','articulos_marca','text');
	
	if (titulo == '')
	{
		titulo = loadHTML('/imAppInterfaces/IMarcas.php?act=getNombre&marId='+marId);
	}
	loadTituloCategoria(titulo);
	
	loadPager('Marca',page,size,marId,catId,titulo);

	
}

function setArticulosCategoriaHash(catId,padre,page,titulo)
{
	var hash = '#pag='+seccion;
	
	if (padre == 1)
	{
		ultimaCategoria = catId;
		hash+='&categoria='+catId;
		urlIArticulos+= '&type=1';
		urlIArticulosSize+= '&type=1';
	}
	else
	{
		ultimaSubCategoria = catId;
		hash+='&categoria='+ultimaCategoria+'&sub_categoria='+catId;
	}	
	document.location.hash = hash+'&page='+page;
}

function loadArticulosCategoria(catId,padre,page,titulo)
{
	clearDivs('pager','articulos_marca');
	
	var urlIArticulos = '/imAppInterfaces/IArticulos.php?act=articulos_categorias';
	var urlIArticulosSize = '/imAppInterfaces/IArticulos.php?act=articulos_categorias_size';
	var hash = '#pag='+seccion;
	
	if (padre == 1)
	{
		ultimaCategoria = catId;
		hash+='&categoria='+catId;
		urlIArticulos+= '&type=1';
		urlIArticulosSize+= '&type=1';
	}
	else
	{
		ultimaSubCategoria = catId;
		hash+='&categoria='+ultimaCategoria+'&sub_categoria='+catId;
	}

	if (catId != '')
	{
		urlIArticulos+= '&catId='+catId;
		urlIArticulosSize+= '&catId='+catId;
	}
	
	var size = loadHTML(urlIArticulosSize);
	if (parseInt(page) >= (parseInt(size)/PRODUCTOS_POR_PAGINA))
	{
		page = 0;
	}
	
	urlIArticulos +='&page='+page;
	loadModule(urlIArticulos,'/imClientFormats/articulos_marca.xsl','articulos_marca','text');
	
	if (titulo == '')
	{
		titulo = loadHTML('/imAppInterfaces/ICategorias.php?act=getNombre&catId='+catId);
	}
	loadTituloCategoria(titulo);
	
	loadPager('Categoria',page,size,catId,padre,titulo);
	
}

function setArticuloHash(artId, titulo)
{	
	document.location.hash = '#pag='+seccion+'&articulo='+artId;
}

function loadArticulo(artId, titulo)
{
	clearDivs('pager','articulos_marca');
	loadModule('/imAppInterfaces/IArticulos.php?act=getArticulo&artId='+artId,'/imClientFormats/articulo.xsl','articulos_marca','text');
	
	if (titulo == '')
	{
		titulo = loadHTML('/imAppInterfaces/IArticulos.php?act=getNombre&artId='+artId);
	}
	loadTituloCategoria(titulo);
	
}

function loadPager()
{
	var lista = arguments[0];
	var page = arguments[1];
	var pages = Math.ceil(arguments[2]/PRODUCTOS_POR_PAGINA);
	var pager_obj = document.getElementById('pager');
	var pager = '';
	
	var maxPaginas = 11;
	var half = maxPaginas>>1;
	var begin = Math.max(0,Math.min(pages - maxPaginas , page - half));//0 
	var end = Math.min(pages, begin + maxPaginas );// pages
	
	if (isNaN(parseInt(arguments[3]))) arguments[3] = "\'"+arguments[3]+"\'";
	if (isNaN(parseInt(arguments[4]))) arguments[4] = "\'"+arguments[4]+"\'";

	if (end-begin > 1)
	{
        if (page == begin)
        {
            pager += '<div class="inline_div_left pager_current" style="padding-right:15px;">Primera</div>';
        }
        else
        {
            pager += '<div onclick="setArticulos'+lista+'Hash('+arguments[3]+','+arguments[4]+',0,\''+arguments[5]+'\');" class="inline_div_left pager_other" style="padding-right:15px;">Primera</div>';
        }
	}

	for (var i = begin; i < end; i++)
	{
		if (i != begin)
		{
			pager +='<div class="inline_div_left pager_other" style="padding-left:2px; padding-right:2px;"> | </div>';	
		}
		
		if (i == page)
		{
			pager += '<div class="inline_div_left pager_current">'+(1+i)+'</div>';
		}
		else
		{
			// con esta forma de pasar los parametros estoy asumiento la forma en la cual las funciones
			// loadArticulos*() los toman; MMUUYY peligroso, pero alguna mejor idea mas alla de hacer mas
			// de una funcion loadPager()??
			pager += '<div onclick="setArticulos'+lista+'Hash('+arguments[3]+','+arguments[4]+','+i+',\''+arguments[5]+'\');" class="inline_div_left pager_other">'+(1+i)+'</div>';
		}
	}
	
	if (end-begin > 1)
	{
        if (page == end - 1)
        {
            pager += '<div class="inline_div_left pager_current" style="padding-left:15px;">Última</div>';
        }
        else
        {
            pager += '<div onclick="loadArticulos'+lista+'('+arguments[3]+','+arguments[4]+','+(pages-1)+',\''+arguments[5]+'\');" class="inline_div_left pager_other" style="padding-left:15px;">Última</div>';
        }
	}

	pager_obj.innerHTML = pager;
}

function inicializarPedido()
{
	var num_productos = loadHTML('/imAppInterfaces/IPedidos.php?act=start');
	document.getElementById('num_productos').innerHTML = num_productos;
}

function agregarArticulo(artId,cliId)
{
	var num_productos = loadHTML('/imAppInterfaces/IPedidos.php?act=agregar&artId='+artId);
	document.getElementById('num_productos').innerHTML = num_productos;
	setPedidoHash();
}

function setPedidoHash()
{
	seccion = 'pedido';
	document.location.hash='#pag='+seccion;
}

function verPedido()
{
	seccion = 'pedido';
	clearDivs('pager','articulos_marca');
	loadModule('/imAppInterfaces/IPedidos.php?act=verPedido','/imClientFormats/pedido.xsl','articulos_marca','text');
	loadTituloCategoria('Mi Pedido');
}

function actualizarPedidio(form)
{
	if (parseInt(form.art_pedCantidad.value) > parseInt(form.artInventario.value))
	{
		alert('¡El número de unidades disponibles en inventario del producto seleccionado es menor que las solicitadas!');
		form.art_pedCantidad.value = form.artInventario.value;
		return false;
	}
	
	var num_productos = loadHTML('/imAppInterfaces/IPedidos.php?act=updPedido&artId='+form.artId.value+'&art_pedCantidad='+form.art_pedCantidad.value);
	document.getElementById('num_productos').innerHTML = num_productos;

    setPedidoHash();
	return true;
}

function eliminarArticulo(artId)
{
	var num_productos = loadHTML('/imAppInterfaces/IPedidos.php?act=updPedido&artId='+artId+'&art_pedCantidad=0');
	document.getElementById('num_productos').innerHTML = num_productos;
	verPedido();
	return true;
}

function formalizarPedido()
{
	loadHTML('/imAppInterfaces/IPedidos.php?act=finalizar');
	clearDivs('articulos_marca');
    document.getElementById('articulos_marca').innerHTML = '<div class="mensaje"><label>¡Gracias por su pedido!<br />Pronto nos comunicaremos con Usted para formalizar la compra.</label></div>';
	inicializarPedido();
}

function loadTituloCategoria(nombre)
{
	document.getElementById('titulo_categoria').innerHTML = nombre;	
}

function clearDivs()
{
	for (var i = 0; i < arguments.length; i++)
	{
		document.getElementById(arguments[i]).innerHTML = '';
	}
}

function btnCategoriaCambiarFondo(div_obj, color)
{
	div_obj.style.background = color;
}

function buscarArticulo(form)
{
	if(form.buscador_search.value != '')
	{
	 	setArticulosBusquedaHash(form.buscador_search.value,form.buscador_by.value,0,'Resultado de la Búsqueda');
	}
}

function setArticulosBusquedaHash(buscar,by,page,titulo)
{
	document.location.hash = '#search='+buscar+'&by='+by+'&page='+page;
}

function loadArticulosBusqueda(buscar,by,page,titulo)
{
	var byTmp = 'artNombre';
	if(by=='ref')
	{
		byTmp='artReferencia';
	}
	
	clearDivs('pager','articulos_marca');
	loadTituloCategoria(titulo);

	var size = loadHTML('/imAppInterfaces/IArticulos.php?act=buscar_size&query='+buscar+'&by='+byTmp+'&page='+page);
	if (parseInt(page) >= (parseInt(size)/PRODUCTOS_POR_PAGINA))
	{
		page = 0;
	}
	
	loadModule('/imAppInterfaces/IArticulos.php?act=buscar&query='+buscar+'&by='+byTmp+'&page='+page,'/imClientFormats/articulos_marca.xsl','articulos_marca','text');
	
	loadPager('Busqueda',page,size,buscar,by,titulo);
}