
function Categorias ()
{
}

Categorias.CambiarFiltro = function (Component, Pedidos, Tipo, Lng, Cliente, Categoria)
{
	var Filtro  = Component.name.substr (11).asInteger ();
	var oSelect = $$ ('slcFiltro' + Tipo + '-' + Filtro);

 	if (Pedidos || oSelect.value != 'null')
	{	Categorias.ActivarFiltro (oSelect.value == 'null' ? Filtro -1 : Filtro, Pedidos, Tipo, Lng, Cliente, Categoria);
		if (oSelect.value != 'null') Filtro++;
	} else if (! Pedidos)
	{	$$ ('idCaracteristicas', 'style.display', 'none');
		$$ ('idCaracteristicasOff', 'style.display', 'block');
		Categorias.VerInformacion (true);
	}
	Categorias.VaciarFiltros (Filtro + 1, Tipo);
}


Categorias.ActivarFiltro = function (Filtro, Pedidos, Tipo, Lng, Cliente, Categoria)
{ var	Ajax      = new TAjax ();
	var i         = 0;
	var UltFiltro = document.getElementById ('slcFiltro' + Tipo + '-' +(Filtro + 1)) ? false : true;

	Ajax.Filtro          = Filtro + 1;
	Ajax.Pedidos         = Pedidos;
	Ajax.Categoria       = Categoria;
	Ajax.Tipo            = Tipo;
	Ajax.Lng             = Lng;
	Ajax.Cliente         = Cliente;
	Ajax.onCargar        = Categorias.ActivarFiltroOn;
	Ajax.Vars.Categoria  = Categoria;
	Ajax.Vars.Pedidos    = Pedidos;
	Ajax.Vars.UltFiltro  = UltFiltro;
	Ajax.Vars.Filtros    = Filtro;
	Ajax.Vars.Lng        = Lng;
	Ajax.Vars.Tipo       = Tipo;

	for (i = 1; i <= Filtro; i++)
	{	Ajax.Vars ['cFiltro' + i] = document.Filtros ['Filtro' + Tipo + '-' + i].value;
		Ajax.Vars ['vFiltro' + i] = document.Filtros ['slcFiltro' + Tipo + '-' + i].value;
	}
	if (! UltFiltro) Ajax.Vars ['cFiltro'] = document.Filtros ['Filtro' + Tipo + '-' + (Filtro + 1)].value;
	Ajax.Cargando = 'idCargando' + Tipo + '-' + (Filtro + 1) + '|visible';
	Ajax.Cargar ('/fuentes/filtrocategoria.php');
}


Categorias.ActivarFiltroOn = function (Peticion)
{
	var Datos     = DataSet (Peticion.asText (), 'FILTRO');
	var oSelect   = document.getElementById ('slcFiltro' + Peticion.Tipo + '-' + Peticion.Filtro);
	var txtSelect = document.getElementById ('txtFiltro' + Peticion.Tipo + '-' + Peticion.Filtro);
	var SoloUno   = 0;

	if (oSelect)
	{	EliminarHijos (oSelect);
		Categorias.OpcionSelect (oSelect, 'null');
		if (Datos.RecordCount () == 1) SoloUno = Datos.ByName ('Id');

		while (! Datos.Eof ())
		{	Categorias.OpcionSelect (oSelect, Datos.ByName ('Id'), Datos.ByName ('Valor'));
			Datos.Next ();
		}
		oSelect.disabled = false;
		if (txtSelect) txtSelect.style.color = '#333A42';
	}
	if (Peticion.Pedidos) CargarArticulosPedidos (Peticion);
	else Categorias.DatosArticulo (Peticion);
	if (SoloUno)
	{	oSelect.focus ();
		oSelect.value = SoloUno;
		Categorias.CambiarFiltro (oSelect, Peticion.Pedidos, Peticion.Tipo, Peticion.Lng, Peticion.Cliente, Peticion.Categoria);
	}
}



Categorias.VerInformacion = function (Ver)
{
	if (Ver)
	{	$$ ('CategoriaInformacion', 'style.display', 'block');
		$$ ('CategoriaArticulo', 'style.display', 'none');
	
	} else
	{	$$ ('CategoriaInformacion', 'style.display', 'none');
		$$ ('CategoriaArticulo', 'style.display', 'block');		
		$$ ('idCaracteristicas', 'style.display', 'block');
		$$ ('idCaracteristicasOff', 'style.display', 'none');
	}
}




Categorias.VaciarFiltros = function (Filtro, Tipo)
{
	var oSelect   = $$ ('slcFiltro' + Tipo + '-' + Filtro);
	var txtSelect = $$ ('txtFiltro' + Tipo + '-' + Filtro);

	while (oSelect)
	{	if (Filtro > 1)
		{	EliminarHijos (oSelect);
			Categorias.OpcionSelect (oSelect, 'null');
			oSelect.disabled = true;
			if (txtSelect) txtSelect.style.color = '#ACA899';
		} else oSelect.value = 'null';
		oSelect = document.getElementById ('slcFiltro' + Tipo + '-' + (++Filtro));
		txtSelect = document.getElementById ('txtFiltro' + Tipo + '-' + Filtro);
	}
}



Categorias.OpcionSelect = function (oSelect, Valor, Texto)
{
	var oNodo = document.createElement ('option');

	oNodo.value = Valor;
	if (Valor == 'null') Texto = '-----------------------------------------------------------------';
	oNodo.innerHTML = Texto;
	oSelect.appendChild (oNodo);
}


Categorias.DatosArticulo = function (Peticion)
{
	var Articulos = DataSet (Peticion.asText (), 'ARTICULOS');

	if (Articulos.RecordCount () > 0)
	{	for (var i = 1; i <= 13; i++) Categorias.DatosArticuloCampo (Articulos, 'Campo' + i);

		Categorias.DatosArticuloCampo (Articulos, 'Peso');
		Categorias.ActivarMontajes (Articulos);
		Categorias.VerInformacion (false);
	} else
	{	Categorias.VerInformacion (true);
	}
}


Categorias.DatosArticuloCampo = function (oArticulos, sCampo)
{
	var Etiqueta  = $$ ('Field' + sCampo);
	var Decimales = 0;
	if (Etiqueta)
	{ Decimales = Etiqueta.getAttribute ('decimales');
		if (Decimales != '-1') 	Etiqueta.innerHTML = FlotanteACadena (oArticulos.asFloat (sCampo), Decimales);
		else 
		{	Etiqueta.innerHTML = oArticulos.ByName (sCampo);
			$$ ('idField' + sCampo, 'innerHTML', oArticulos.ByName (sCampo));
		}	
	}
}

Categorias.ActivarMontajes = function (Articulos)
{
	var i       = 1;
	var Td      = document.getElementById ('tdMontaje' + i++);
	var Oferta  = null;
	var Montaje = 0;
	var Id      = 0;
	var Fich    = '';

	while (Td)
	{	Td.style.display  = 'none';
		Td = document.getElementById ('tdMontaje' + i++);
	}

	Articulos.First ();
	while (! Articulos.Eof ())
	{	if ((Montaje = Articulos.ByName ('Montaje')))
		{	Id   = Articulos.ByName ('Id');
			if (document.images ['imgMontaje' + Montaje])
				document.images ['imgMontaje' + Montaje].title = Articulos.ByName ('Ref');
			$$ ('idRefMontaje' + Montaje, 'innerHTML', Articulos.ByName ('Ref'));
			if (document.Montajes ['Montaje' + Montaje])
		 	$$ ('tdMontaje' + document.Montajes ['Montaje' + Montaje].value, 'style.display', '');
		 	
		 	Oferta = document.getElementById ('idTDOferta' + Montaje);         
		 	if (Oferta) Oferta.setAttribute ('Articulo', Id);

			document.Montajes ['Articulo' + Montaje].value   	 = Id;
			document.Montajes ['Fichero' + Montaje].value    	 = Articulos.ByName ('Fichero');
			document.Montajes ['ExistePDF' + Montaje].value  	 = Articulos.ByName ('ExistePDF');
			document.Montajes ['ExisteDWG' + Montaje].value  	 = Articulos.ByName ('ExisteDWG');
			document.Montajes ['ExisteSLDPRT' + Montaje].value = Articulos.ByName ('ExisteSLDPRT');
			document.Montajes ['ExisteIGS' + Montaje].value    = Articulos.ByName ('ExisteIGS');
		}
		Articulos.Next ();
	}
}



function Path (Lng)
{
	if (Lng == 3) return ('fr');
	else if (Lng == 2) return ('en');
	else return ('es');
}


Categorias.VerInstalacion = function (iModelo, iId, iLng)
{
	var Ventana = new TVentana ();

	Ventana.Ancho      = 530;
	Ventana.Alto       = 570;
	Ventana.ScrollBars = true;
	Ventana.Nombre     = 'Instalaciones';
	Ventana.URL        = '/fuentes/verinstalacion.php?Modelo=' + iModelo + '&Id=' + iId + '&Lng=' + iLng;
	Ventana.Open (true);
}


Categorias.CargarInformacion = function (Categoria, Info, Enlace, Flag, Lng)
{
	if (Enlace)
	{	if (Flag == 1) window.location = Enlace + '&Lng=' + Lng;
		else VerEnlace (Enlace);
	}	else marco.location.href = '/plantillas/' + Path (Lng) + '/informacion/info' + Categoria + '-' + Info + '.html';
}


Categorias.PedirOferta = function (iMontaje, Lng)
{
	var Articulo = document.Montajes ['Articulo' + iMontaje].value.asInteger ();
	var Ventana  = new TVentana ();

	Ventana.Nombre = 'Oferta';
	Ventana.Ancho  = 520;
	Ventana.Alto   = 500;
	Ventana.URL    = '/fuentes/oferta.php?Articulo=' + Articulo + '&Lng=' + Lng;
	Ventana.Open (true);
}


Categorias.DescargarArchivo = function (iMontaje, sTipo, Lng)
{
	var Fichero  = document.Montajes ['Fichero' + iMontaje].value;
	var Articulo = document.Montajes ['Articulo' + iMontaje].value;
	
	switch (sTipo)
	{	case 'pdf':
			if (document.Montajes ['ExistePDF' + iMontaje].value.asBoolean ())
				window.location = '/fuentes/descargararchivo.php?Fichero=' + Fichero + '&Tipo=' + sTipo;
			else Categorias.PedirDocumentacion (Articulo, sTipo, Lng);
			break;
		case 'dwg':
			if (document.Montajes ['ExisteDWG' + iMontaje].value.asBoolean ())
				window.location = '/fuentes/descargararchivo.php?Fichero=' + Fichero + '&Tipo=' + sTipo;
			else Categorias.PedirDocumentacion (Articulo, sTipo);
			break;
		case 'sldprt':
			if (document.Montajes ['ExisteSLDPRT' + iMontaje].value.asBoolean ())
				window.location = '/fuentes/descargararchivo.php?Fichero=' + Fichero + '&Tipo=' + sTipo;
			else Categorias.PedirDocumentacion (Articulo, sTipo, Lng);
			break;
		case 'igs':
			if (document.Montajes ['ExisteIGS' + iMontaje].value.asBoolean ())
				window.location = '/contenidos/montajes/igs/' + Fichero + '.igs';
			else Categorias.PedirDocumentacion (Articulo, sTipo, Lng);
		break;
	}
}


Categorias.PedirDocumentacion = function (Articulo, Tipo, Lng)
{
	var Ventana  = new TVentana ();
	Ventana.Nombre = 'Oferta';
	Ventana.Ancho  = 520;
	Ventana.Alto   = 500;
	Ventana.URL    = '/fuentes/pedirdocumentacion.php?Articulo=' + Articulo + '&Tipo=' + Tipo + '&Lng=' + Lng;
	Ventana.Open (true);
}


