function nuevo_buscador(v_opcion_categoria, v_input_texto)
{
	var categoria=v_opcion_categoria.value;
	var texto=v_input_texto.value;
	var destino='';

	switch(categoria)
	{
		case 'l':
			destino='busqueda.php?id_categoria=1&texto='+escape(texto)+'&remota=s';
		break;

		case 'a':
			destino='accesorios.php?n=1&texto='+escape(texto);
		break;

		default:
			//Explotamos el valor...
			var temp=categoria.split(',');
			var id_marca=temp[0];
			var id_familia=temp[1];	

			if(id_marca=='0') id_marca='';
			if(id_familia=='0') id_familia='';
							
			destino='accesorios.php?n=1&id_familia='+id_familia+'&id_marca='+id_marca+'&texto='+escape(texto);
		break;
	}

	window.location.href=destino;
}

function enviar_newsletter()
{
	frames['newsletter'].location.href='oculto.php?modo=newsletter&mail='+document.getElementById('input_newsletter').value;
}

function refrescar_movil(id_marca)
{
	var peticion=new Request_http;
	peticion.cargar
	(
		URL_SITIO+'peticiones.ajax.php?modo=sacar_moviles&id='+id_marca,
		function(resultado)
		{
			eval(resultado);
		}
	);
}

function ver_movil(desplegable)
{
	var id=desplegable.value;

	if(id)	
	{
		//>>>> lun - 05/04/2010 - 08:56:24 --  Vamos a sacar el nombre...
		var nombre=desplegable.options[desplegable.selectedIndex].text;
		//nombre=nombre.replace(/ /g,"_");

		nombre=cadena_replace(nombre);
		
		//>>>> lun - 20/09/2010 - 11:17:31 -- Reescritura...
		//window.location.href='producto_caract.php?id_movil='+id+'&'+nombre;
		var url='detalle_producto/'+nombre+'/'+id;
		window.location.href=url;
	}
}

function cadena_replace(v_cadena)
{
	//var buscar = ' \xc0\xc1\xc2\xc3\xc4\xc5\xe0\xe1\xe2\xe3\xe4\xe5\xd2\xd3\xd4\xd5\xd6\xd8\xf2\xf3\xf4\xf5\xf6\xf8\xc8\xc9\xca\xcb\xe8\xe9\xea\xeb\xc7\xe7\xcc\xcd\xce\xcf\xec\xed\xee\xef\xd9\xda\xdb\xdc\xf9\xfa\xfb\xfc\xff\xd1\xf1_.,/';
//	var reemplazar = '-AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn----';

	//var buscar = '\x20\xc0\xc1\xc2\xc3\xc4\xc5\xe0\xe1\xe2\xe3\xe4\xe5\xd2\xd3\xd4\xd5\xd6\xd8\xf2\xf3\xf4\xf5\xf6\xf8\xc8\xc9\xca\xcb\xe8\xe9\xea\xeb\xc7\xe7\xcc\xcd\xce\xcf\xec\xed\xee\xef\xd9\xda\xdb\xdc\xf9\xfa\xfb\xfc\xff\xd1\xf1-.,/';
	var buscar = " \xc0\xc1\xc2\xc3\xc4\xc5\xe0\xe1\xe2\xe3\xe4\xe5\xd2\xd3\xd4\xd5\xd6\xd8\xf2\xf3\xf4\xf5\xf6\xf8\xc8\xc9\xca\xcb\xe8\xe9\xea\xeb\xc7\xe7\xcc\xcd\xce\xcf\xec\xed\xee\xef\xd9\xda\xdb\xdc\xf9\xfa\xfb\xfc\xff\xd1\xf1-.,/?!";
	var reemplazar = '_AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn______';

	var resultado=v_cadena;
	var i=0;
	var longitud=buscar.length;

	for(i; i<longitud; i++)
	{
		while(resultado.indexOf(buscar.charAt(i))!=-1)
		{
			resultado=resultado.replace(buscar.charAt(i), reemplazar.charAt(i));			
		}
	}	
	
	return resultado;
}

function buscar(modalidad, compania, forma)
{
	window.location.href='busqueda.php?id_modalidad='+modalidad+'&id_compania='+compania+'&id_forma='+forma+'&remota=s';
}

function promocion_producto(id_producto)
{
	window.location.href='cesta_promocion.php?id_producto='+id_producto;
}

function nuevos_productos()
{
	//window.location.href='busqueda.php?orden=mv.id_movil&id_modalidad=1&mostrar=15&remota=s';
	window.location.href='busqueda.php?orden=p.id_producto DESC&id_modalidad=1&mostrar=15&remota=s';
}

function aviso_correo(mail, id)
{
	frames['oculto'].location.href='oculto.php?modo=correo&mail='+mail+'&id_producto='+id;
	document.getElementById('capa_no_d_'+id).innerHTML='LE AVISAREMOS CUANDO TENGAMOS EL PRODUCTO EN NUESTRO ALMACEN. GRACIAS';
}

function borrar_listado()
{
	//frames['oculto'].location.href='oculto.php?modo=actualizar_listado';
	eliminar_contenido(document.getElementById('listado'));
}

function eliminar_contenido(elemento)
{
	if(elemento.hasChildNodes) 	
		while(elemento.childNodes.length >= 1 ) 
			elemento.removeChild(elemento.childNodes[0]);		
}


function eliminar_elemento(elemento)
{
	elemento.parentNode.removeChild(elemento);	
}

function insertar_opcion(valor, texto, campo)
{
	var opcion = document.createElement('option'); 
	opcion.value=valor;
	opcion.text=texto;
	campo.options.add(opcion);
}

function sumar_cuadro_busqueda(id)
{
	var padre=document.getElementById(id);
	var cuadro=document.createElement('div');
	cuadro.id='cuadro_busqueda';
	cuadro.className='capa_buscador';
	padre.appendChild(cuadro);		
}

function mostrar_busqueda()
{
	var estilo=document.getElementById('cuadro_busqueda').style.display;
	var destino;
	if(estilo=='block') destino='none'; else destino='block';
	document.getElementById('cuadro_busqueda').style.display=destino;	
}

function activar_tab(tab, item)
{	
	if(item==0) item=1;
	//Las tabs...
	for(var i=1; i <=6; i++) 
		if(document.getElementById('elementos_1_'+i))
			document.getElementById('elementos_1_'+i).className='TabbedPanelsTab';	//Desactivar todas.
	
	if(document.getElementById('elementos_1_'+tab))
		document.getElementById('elementos_1_'+tab).className='TabbedPanelsTabSelected'; //Activamos esta tab...
	
	//El segundo nivel...		
	for(i=1; i<=5; i++) 
		if(document.getElementById('nivel_2_'+i))
			document.getElementById('nivel_2_'+i).className='oculto';		
			
	if(document.getElementById('nivel_2_'+tab))
		document.getElementById('nivel_2_'+tab).className='visible';	//Ocultamos los submenús...
	
	if(document.getElementById('cuadro_busqueda')) eliminar_elemento(document.getElementById('cuadro_busqueda'));
	sumar_cuadro_busqueda('nivel_2_'+tab);
	
	activar_seccion(tab, item);
}

function activar_seccion(seccion, item)
{
	//Desactivar todos		
	for(var i=1; i <=6; i++) 	
		if(document.getElementById('elementos_2_'+seccion+'_'+i)) 		
			document.getElementById('elementos_2_'+seccion+'_'+i).className='';	//Desactivar todas.		
	
	document.getElementById('elementos_2_'+seccion+'_'+item).className='tabberactive';
	//En este momento debemos tirar la consulta para actualizar los productos que se muestran...
	//Habría que discriminar is la tab es 1 (para libres ) u otros (para compañias...). Con esa discriminación en mente se puede preparar una consulta.	
	var tab = new Array('Libre', 'Contrato', 'Portabilidad', 'Prepago', 'Fusion');	
	borrar_listado();	
	frames['oculto'].location.href=URL_SITIO+'oculto.php?modo=actualizar_listado&tab='+tab[seccion-1];	
}

function Request_http(var_modo, var_post)
{	
	this.modo='GET';	
	this.request=null;
	this.datos_post=null;

	if(var_modo)
	{
		this.modo=var_modo;
	}

	if(var_post)
	{
		//var_post='cabeza=contodoelrollo&tal=cual'; Esta es la forma que tiene que tener un post
		this.datos_post=var_post;
	}
	
	this.request=this.crear_request(); //Finalmente esto es lo primerísimo que ocurre cuando creamos un objeto: dentro del objeto se crea una instancia de XMLHTTPRequest en función del navegador que sea.		
}

//Esto, obviamente, no es mio... Nos ayuda a separar si es un objeto para IE o para el resto del mundo.
Request_http.prototype.crear_request=function() 
{ 	
	if (typeof XMLHttpRequest != 'undefined') 
	{
		return new XMLHttpRequest(); 		//Para el resto del mundo.
	}
	else
	{
		try //Para explorer...
		{ 
			return new ActiveXObject("Msxml2.XMLHTTP");
		} 	
		catch (e) 
		{ 
			try //Para Dios sabe que otra versión de Explorer.
			{
				return new ActiveXObject("Microsoft.XMLHTTP");
			}	
			catch (e) 
			{
				alert('El navegador no parece soportar el RequestHTTP');
			} 
		} 
	}
	return false; 	//Para Mosaic :P.
}

//Cuando cambia el estado (según el método cargar()) lanzaremos esto, que recibe el request completo...
Request_http.prototype.respuesta = function(metodo)
{						
	if(this.request.readyState == 4) 
	{
		//Cuando el estado sea 4 llamaremos a la función que pásamos...
		metodo(this.request.responseText);	
	}
}
	
Request_http.prototype.cargar=function(url, metodo)
{	
	var aquello=this;		

	 //Y ahora creamos esto otro para poder usarlo de respuesta.			
	var funcion = function() 
	{
		aquello.respuesta(metodo);
	};

	switch(this.modo)
	{
		case 'GET':
			this.request.open('GET', url, true);	//Prepara...						
			this.request.onreadystatechange = funcion; //La respuesta cuando haya cambio			
			this.request.send(null);	//Lanza.						
		break;
		
		case 'POST':
			this.request.open('POST', url, true);	//Prepara...						

			this.request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			this.request.setRequestHeader("Content-length", this.datos_post.length);
			this.request.setRequestHeader("Connection", "close");

			this.request.onreadystatechange = funcion; //La respuesta cuando haya cambio			
			this.request.send(this.datos_post);	//Lanza.						
		break;
	}
}

