
function mostrarOcultar ( id, force )
{
	var obj = document.getElementById(id);
	if (obj)
	{
		var mostrar = obj.style.display == "none" ? 1 : 0 ;
		if (force == 1 || force == 0)
			mostrar = force;
		if (mostrar)
		{
			obj.style.display = "block"
			setCookie("mostrar_"+id, 1);
		}
		else
		{
			obj.style.display = "none"
			setCookie("mostrar_"+id, 0);
		}
		return true;
	}
	else
		return false;
}

function setCookie(name,value,days)
{
	if (days)
	{
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function getCookie(name)
{
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++)
	{
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function delCookie(name)
{
	setCookie(name,"",-1);
}

// Clickear sobre una categorización (activa el render)

function categorizacionTick ( idcateg, iditem )
{
	var item = document.getElementById("categ_" + idcateg + "_" + iditem);
	if (item && item.className)
	{
		if (item.className == "tickAzul")
		{
			// Deseleccionamos
			categorizaciones_selected[idcateg][iditem] = 0;
			item.className = "tickVacio";
		}
		else
		{
			if (item.className == "tickGris")
			{
				// Deseleccionamos a todos primero (si estaba grisado)
				for (tmpcateg in categorizaciones_selected)
				{
					for (tmpitem in categorizaciones_selected[tmpcateg])
					{
						categorizaciones_selected[tmpcateg][tmpitem] = 0;
						var otro = document.getElementById("categ_" + tmpcateg + "_" + tmpitem);
						if (otro && otro.className)
							otro.className = "tickVacio";
					}
				}
			}
			// Seleccionamos al item
			categorizaciones_selected[idcateg][iditem] = 1;
			item.className = "tickAzul";
		}
	}
	
	// Marcamos si algún item de la categoría está seleccionado
	for (idcateg in categorizaciones_selected)
	{
		categorizaciones_selected[idcateg]["alguno"] = 0;
		for (iditem in categorizaciones_selected[idcateg])
			if (categorizaciones_selected[idcateg][iditem] == 1)
				categorizaciones_selected[idcateg]["alguno"] = 1;
	}
	
	// Debug
	var buf = "";
	for (idcateg in categorizaciones_selected)
	{
		buf = buf + "categ " + idcateg + "\n";
		for (iditem in categorizaciones_selected[idcateg])
			buf = buf + "item " + iditem + " = " + categorizaciones_selected[idcateg][iditem] + "\n";
		buf = buf + "\n";
	}
	
	renderProductos();
}

// Hacer el render de productos

var ppp = 4;
var paginas = 0;

// Fernando 3/6/2009
// Agregamos comentarios para entender mejor
function renderProductos( pagina )
{
	// Elegimos cuales mostrar
	var mostrarc = 0;
	var mostrar = new Array();
    
    // Recorremos los productos
	for (id in productos)
	{
        // Creamos en el array de los que vamos a mostrar, un elemento con este id, y lo ponemos en 1
        // es decir, lo inicializamos para que sea mostrado
		mostrar[id] = 1;
        
        // Recorremos las categorías del producto
		for (idcateg in productos[id])
		{
			if ( (typeof categorizaciones_selected[idcateg] != "undefined") && (categorizaciones_selected[idcateg]["alguno"] == 1) )
			{
				iditem = productos[id][idcateg];
				if (categorizaciones_selected[idcateg][iditem] == 0)
				{
					mostrar[id] = 0;
				}
			}
		}
		if (mostrar[id] == 1)
			mostrarc++;
	}
	
	// Render de las páginas
	if (pagina == undefined) pagina = 1;
	paginas = Math.ceil( mostrarc / ppp );
	if (paginas < 0) paginas = 1;
	renderPaginas(paginas, pagina);
	mostrar_desde = ppp * pagina - ppp + 1;
	mostrar_hasta = ppp * pagina;
	
	for (id in productos)
	{
		var prod = document.getElementById("producto_" + id);
		if (prod && prod.className)
			prod.className = "productoInvisible";
	}
	
	var amostrar = 1;
	for (id in mostrar)
	{
		if (mostrar[id] == 1)
		{
			var prod = document.getElementById("producto_" + id);
			if (prod && prod.className && amostrar >= mostrar_desde && amostrar <= mostrar_hasta)
				prod.className = "productoVisible";
			amostrar++;
		}
	}
}

// Render de paginas

function renderPaginas ( paginas, pagina )
{
	var html = "";
	
	if (pagina > 1)
		html += " <a class=\"part\" href=\"javascript:renderProductos("+ (pagina - 1) +")\">Anterior</a> ";
	else
		html += " <span class=\"part\">Anterior<span> ";
	
	for ( i=1 ; i <= paginas ; i++)
	{
		if (i == pagina)
			html += " <strong class=\"part\">"+ i +"</strong> ";
		else
			html += " <a class=\"part\" href=\"javascript:renderProductos("+ i +")\">"+ i +"</a> ";
	}
	
	if (pagina < paginas)
		html += " <a class=\"part\" href=\"javascript:renderProductos("+ (pagina + 1) +")\">Siguiente</a> ";
	else
		html += " <span class=\"part\">Siguiente</span> ";
	
	var espacio = document.getElementById("paginasNumeros");
	if (espacio)
		espacio.innerHTML = html;
}

// Funcion para abrir un popup centrado

function openWin(url,win,width,height,extra)
{
	if (!win)
		win = '_self';
	
	if (width && height)
		prop = 'width='+width+',height='+height;
	else
		prop = '';
	
	if (extra)
		prop = prop + ',' + extra
	
	win = window.open(url,win,prop);
	
	if (width && height)
		win.moveTo((screen.width-width)/2,(screen.height-height)/2);
	
	return win;
}

// Ajax

var http_request = false;

function makeRequest(url, mode) {
	if (mode == undefined)
		mode = false;
    http_request = false;
    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
            //http_request.overrideMimeType('text/xml');
            // See note below about this line
        }
    } else if (window.ActiveXObject) { // IE
        try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }
    if (!http_request) {
        return -1;
        return false;
    }
    http_request.open('GET', url, mode);
    http_request.send(null);
    
    if (mode == false)
    {
	    if (http_request.readyState == 4) {
	        if (http_request.status == 200) {
	            return http_request.responseText;
	        } else {
	            return -2;
	        }
	    }
	}
}

// Imagenes

function imagenRotar ( direccion )
{
	for (var i=0 ; i < imagenes_rotativas.length ; i++)
	{
		imagen_id = imagenes_rotativas[i];
		if (imagen_rotativa_actual == imagen_id)
		{
			// Calculamos la anterior y la siguiente
			var siguiente = imagenes_rotativas[i + 1] ? imagenes_rotativas[i + 1] : imagenes_rotativas[0];
			var anterior  = imagenes_rotativas[i - 1] ? imagenes_rotativas[i - 1] : imagenes_rotativas[ imagenes_rotativas.length - 1 ];
			
			// Seteamos la imagen
			var usar = direccion == "anterior" ? anterior : siguiente ;
			
			// Ocultamos y mostramos los divs
			var nuevo = document.getElementById("imagenRotativa_" + usar);
			nuevo.style.display = "block";
			var viejo = document.getElementById("imagenRotativa_" + imagen_rotativa_actual);
			viejo.style.display = "none";
			
			imagen_rotativa_actual = usar;
			
			// Si la direccion fue forzada, dejamos de rotar
			if (direccion)
				imagenes_rotar = 0;
			
			return usar;
		}
	}
}

function imagenesRotar ( )
{
	if (imagenes_rotar == 1)
	{
		imagenRotar();
		setTimeout("imagenesRotar()",3000);
	}
}

// Abre la imagen presente en una ventana nueva, pantalla completa
function imagenAbrir ( )
{
	url = "/img." + imagen_rotativa_actual + ".sf.x.jpg";
	win = "_blank";
	win = window.open(url,win);
	return win;
}

function submitPregunta()
{
	var errores = new Array();
	
	if (document.forms["consulta"].elements["provincia"].selectedIndex == 0 || document.forms["consulta"].elements["provincia"].selectedIndex == 1)
		errores[ errores.length ] = "Debe seleccionar una provincia";
	
	if (document.forms["consulta"].elements["nombre"].value == "")
		errores[ errores.length ] = "Debe escribir su nombre";
	
	if (document.forms["consulta"].elements["apellido"].value == "")
		errores[ errores.length ] = "Debe escribir su apellido";
	
	if (document.forms["consulta"].elements["telefono"].value == "")
		errores[ errores.length ] = "Debe escribir su número de teléfono";
	
	if (document.forms["consulta"].elements["email"].value == "")
		errores[ errores.length ] = "Debe escribir su dirección de e-mail";
	
	if (document.forms["consulta"].elements["pregunta"] && document.forms["consulta"].elements["pregunta"].value == "")
		errores[ errores.length ] = "Debe escribir su pregunta";
	
	if (errores.length > 0)
	{
		var string = "Error:\n\n";
		for (i=0 ; i < errores.length ; i++)
			string = string + errores[i] + "\n";
		alert(string);
		return false;
	}
	else
		return true;
}

function submitCompra()
{
	var errores = new Array();
	
	if (document.forms["compra"].elements["provincia"].selectedIndex == 0 || document.forms["compra"].elements["provincia"].selectedIndex == 1)
		errores[ errores.length ] = "Debe seleccionar una provincia";
	
	if (document.forms["compra"].elements["nombre"].value == "")
		errores[ errores.length ] = "Debe escribir su nombre";
	
	if (document.forms["compra"].elements["apellido"].value == "")
		errores[ errores.length ] = "Debe escribir su apellido";
	
	if (document.forms["compra"].elements["telefono"].value == "")
		errores[ errores.length ] = "Debe escribir su número de teléfono";
	
	if (document.forms["compra"].elements["email"].value == "")
		errores[ errores.length ] = "Debe escribir su dirección de e-mail";
	
	if (errores.length > 0)
	{
		var string = "Error:\n\n";
		for (i=0 ; i < errores.length ; i++)
			string = string + errores[i] + "\n";
		alert(string);
		return false;
	}
	else
		return true;
}

