//----------------------------------------------------------
//	Funciones para la gestion de las consultas
//----------------------------------------------------------
function EstablecerCampoFiltroConsulta(sCampo,sValor)
{
	var aElemDes,oCampoDes,i;

	//Buscamos el campo destino
  aElemDes=document.getElementsByName(sCampo);
  if (aElemDes.length>0)
	{ 
		oCampoDes=aElemDes[0];


		
		if (oCampoDes.type=='checkbox') oCampoDes.checked=(sValor=='S');
		else if (oCampoDes.type=='radio')
		{
			// AGA 04/12/2006 >> Inicialización campos radio
			for(i=0; i<aElemDes.length; i++)
			{
				oCampoDes=aElemDes[i];
				if(oCampoDes.value == sValor) oCampoDes.checked=true;
			}
		}
		else if (oCampoDes.isDisabled && ((oCampoDes.type=='select-one') || (oCampoDes.type=='textarea')))
		{
			// AGA 23/11/2006 >> Inicializació campo desactivado 
			// que  no se envían al hacer el submit => se replica 
			// el valor de inicialización al campo hidden paralelo
			oCampoDes.value = sValor;
			aElemDes[1].value = sValor;
		}
		else oCampoDes.value=sValor;
		
	}
}

function GestionarEnlaceAccion(sEnlace,sIdAccion,iVentana,iWidth,iHeight,iHTTPS)
{
	var aElementos,i,sIdFila;

	//Buscamos la fila seleccionada
	sIdFila='';
	aElementos=document.getElementsByName('WTGSELECC');
	for(i=0;i<aElementos.length;i++)
	{
		if (aElementos[i].checked)
		{
			sIdFila=aElementos[i].value;
			break;
		}
	}

	//Comprobamos si hay alguna fila seleccionada
	if (sIdFila.length>0)
	{
		GestionarEnlaceAccionFila(sEnlace,sIdAccion,sIdFila,iVentana,iWidth,iHeight,iHTTPS);
	}
	else
	{
		alert(strSeleccionarFila);
	}
}

function GestionarEnlaceAccionFila(sEnlace,sIdAccion,sIdFila,iVentana,iWidth,iHeight,iHTTPS)
{
	var oCampo,aRelServicio,aParejaRel,sValor,oFormLink,oCampoOculto,i,oVentana,sNombreVentana,iTop,iLeft,sFeatures,aParams;

  
	//Buscamos el formulario que utilizaremos para simular un link y le quitamos todos los campos que tenga.
	oFormLink=document.getElementById('frmLink');
	while (oFormLink.childNodes.length>0)
		oFormLink.removeChild(oFormLink.childNodes.item(0));

	//Buscamos la relacion de campos con el servicio de este enlace
	oCampo=document.getElementById(sIdAccion);
  if ((oCampo!=null) && (oCampo.value.length>0))
	{
		//Por cada campo anadimos un campo oculto al formulario con su valor
		aRelServicio=oCampo.value.split('&');

		for(i=0;i<aRelServicio.length;i++)
		{
			//Buscamos el valor del campo
			aParejaRel=aRelServicio[i].split('=');
			
			//** AGA 20/09/2006: Paso de parámetros entre formularios
			// La codificación de la relación de campos entre páginas puede ser de 2 maneras:
			//  - Campos resultado consulta (sistema tradicional):
			//				En la parte derecha del igual está el nombre del campo resultado de la consulta
			//  - Parámetro (sistema nuevo):
			//				En la parte derecha del igual está el tipo de parámetro (CMP=campo o VAL=valor)
			//        y el valor (nombre del campo en el form o valor, respectivamente) separados
			// 				por la secuencia de control "|$|"

			aParams=aParejaRel[1].split('|$|');
			
			if (aParams.length == 1)
			{
				// Relación por campo resultado de consulta
				oCampo=document.getElementById(sIdFila.concat('_').concat(aParejaRel[1]));
				if (oCampo!=null) sValor=oCampo.value;
				else sValor='';
	
				//Creamos un campo oculto y lo anadimos al formulario
				oCampoOculto=document.createElement('INPUT');
				oCampoOculto.type='hidden';
				oCampoOculto.name=aParejaRel[0];
				oCampoOculto.value=sValor;
				oFormLink.appendChild(oCampoOculto);
			}
			else if (aParams.length == 2)
			{
				// Relación por parámetro
				switch(aParams[0])
				{
					case 'CMP':
						oCampo=document.getElementById(aParams[1]);
						if (oCampo!=null) sValor=oCampo.value;
						else sValor='';
						break;
					
					case 'VAL':
						sValor=URLDecode(aParams[1]);
						break;
					
					default:
						sValor='';
						break;
				}
				//Creamos un campo oculto y lo anadimos al formulario
				oCampoOculto=document.createElement('INPUT');
				oCampoOculto.type='hidden';
				oCampoOculto.name=aParejaRel[0];
				oCampoOculto.value=sValor;
				oFormLink.appendChild(oCampoOculto);				
			}
		}
	}

	//Comprobamos si el resultado hay que mostrarlo en otra ventana o no
	if ((iVentana==0) || (iVentana==1))
	{
	  // Calculamos la posicion de la ventana para que salga en el centro
		iLeft=Math.round((window.screen.availWidth-iWidth)/2);
	  if (iLeft<0) iLeft=0;
		iTop=Math.round((window.screen.availHeight-iHeight)/2);
	  if (iTop<0) iTop=0;
		if (iVentana==1) sFeatures='scrollbars=yes,resizable=yes';
		else sFeatures='menubar=yes,toolbar=yes,scrollbars=yes,resizable=yes,location=yes';
		sFeatures=sFeatures.concat(',width='+iWidth+',height='+iHeight+',left='+iLeft+',top='+iTop);

		// Abrimos la nueva ventana
		oCampo=document.getElementById('EDC_ID_VENTANA');
		if (oCampo!=null) sNombreVentana=oCampo.value;
		else sNombreVentana='EDC_link';
		oVentana=window.open('about:blank',sNombreVentana,sFeatures);
		oFormLink.target=sNombreVentana;
		oVentana.focus();
	}
	else oFormLink.target='_self';

	//Ejecutamos el link
	sEnlace=CalcularURLHTTPS(sEnlace,iHTTPS);
	oFormLink.action=sEnlace.concat('?procedencia=Consulta');
	oFormLink.submit();
}
function InicializarConsulta()
{
  try
   {
      InicializarCampos(); 
   }
   catch(ex)
   {
    
   }
}



