
// Cargar formulario de búsqueda adecuado según de cual vengan
function cargar_formulario_busqueda(vista)
{
    // Comprobar que exista la variable con typeof 
    if (typeof(parent.formularioBusqueda)=="undefined")
    {
      // Cargar el formulario de búsqueda sencilla en función de la vista
      // consultada. Si no se detecta mandarlo a la página principal
      switch(vista)
      {
        case "FRAGMENTOS_CAS":
          this.location=dirraiz+'/formulario.htm'
          break
        case "FRAGMENTOS_VAL":
          this.location=dirraiz+'/formulari.htm'
          break
        default:
          this.location=dirraiz
          break
      }
    }
    else
    {
        // Comprobar que exista la variable con typeof 
        formulario=parent.formularioBusqueda
        if (formulario=="FORMULARIO")
            this.location=dirraiz+'/formulario.htm'
        else if (formulario=="FORMULARI")
            this.location=dirraiz+'/formulari.htm'
        else if (formulario=="FRAGMENTOS_CAS_AVANZADO")
            this.location=dirdbdocs+'/BASIS/'+baseDeDatos+'/WEB/FRAGMENTOS_CAS_AVANZADO/SF'
        else if (formulario=="FRAGMENTOS_VAL_AVANZADO")
            this.location=dirdbdocs+'/BASIS/'+baseDeDatos+'/WEB/FRAGMENTOS_VAL_AVANZADO/SF'
        else if (formulario=="FRAGMENTOS_CAS_AVANZA2")
            this.location=dirdbdocs+'/BASIS/'+baseDeDatos+'/WEB/FRAGMENTOS_CAS_AVANZA2/SF'
        else if (formulario=="FRAGMENTOS_VAL_AVANZA2")
            this.location=dirdbdocs+'/BASIS/'+baseDeDatos+'/WEB/FRAGMENTOS_VAL_AVANZA2/SF'
        else if (top.idioma=="CASTELLANO")
            this.location=dirraiz+'/formulario.htm'
        else
            this.location=dirraiz+'/formulari.htm'
    }
}

// Devuelve el tipo de búsqueda de la que se ha partido en
// función del formulario de búsqueda. Devuelve:
// S  --> busqueda sencilla
// A  --> búsqueda avanzada
// R  --> acotar búsqueda
// N  --> no definido
function tipoBusqueda()
{
    // Comprobar que exista la variable con typeof 
    if (typeof(parent.formularioBusqueda)=="undefined")
      return "N"
    
    formulario=parent.formularioBusqueda
    switch(formulario)
    {
      case "FORMULARIO":
      case "FORMULARI":
        return "S"
        break
      case "FRAGMENTOS_CAS_AVANZADO":
      case "FRAGMENTOS_VAL_AVANZADO":
        return "A"
        break
      case "FRAGMENTOS_CAS_AVANZA2":
      case "FRAGMENTOS_VAL_AVANZA2":
        return "R"
        break
      default:
        return "N"
    }
}

// Devuelve el nombre del formulario de búsquda en el
// otro idioma
function formularioEnOtroIdioma()
{
    // Comprobar que exista la variable con typeof 
    if (typeof(parent.formularioBusqueda)=="undefined")
      return ""
    
    formulario=parent.formularioBusqueda
    switch(formulario)
    {
      case "FORMULARIO":
        return "FORMULARI"
        break
      case "FORMULARI":
        return "FORMULARIO"
        break
      case "FRAGMENTOS_CAS_AVANZADO":
        return "FRAGMENTOS_VAL_AVANZADO"
        break
      case "FRAGMENTOS_VAL_AVANZADO":
        return "FRAGMENTOS_CAS_AVANZADO"
        break
      case "FRAGMENTOS_CAS_AVANZA2":
        return "FRAGMENTOS_VAL_AVANZA2"
        break
      case "FRAGMENTOS_VAL_AVANZA2":
        return "FRAGMENTOS_CAS_AVANZA2"
        break
      default:
        return ""
    }
}

// Cargar formulario de búsqueda adecuado en el otro idioma
function cargar_formulario_busqueda_otro_idioma(vista)
{
    // Comprobar que exista la variable con typeof 
    if (typeof(parent.formularioBusqueda)=="undefined")
    {
      // Cargar el formulario de búsqueda sencilla en función de la vista
      // consultada. Si no se detecta mandarlo a la página principal
      switch(vista)
      {
        case "FRAGMENTOS_CAS":
          top.location=dirraiz+'/defaultv.htm?URL='+dirraiz+'/formulari.htm' 
          break
        case "FRAGMENTOS_VAL":
          top.location=dirraiz+'/default.htm?URL='+dirraiz+'/formulario.htm'
          break
        default:
          this.location=dirraiz
          break
      }
    }
    else
    {
        // Comprobar que exista la variable con typeof 
        formulario=parent.formularioBusqueda
        if (formulario=="FORMULARIO")
            top.location=dirraiz+'/defaultv.htm?URL='+dirraiz+'/formulari.htm'
        else if (formulario=="FORMULARI")
            top.location=dirraiz+'/default.htm?URL='+dirraiz+'/formulario.htm'
        else if (formulario=="FRAGMENTOS_CAS_AVANZADO")
            top.location=dirraiz+'/defaultv.htm?URL='+dirdbdocs+'/BASIS/'+baseDeDatos+'/WEB/FRAGMENTOS_VAL_AVANZADO/SF'
        else if (formulario=="FRAGMENTOS_VAL_AVANZADO")
            top.location=dirraiz+'/default.htm?URL='+dirdbdocs+'/BASIS/'+baseDeDatos+'/WEB/FRAGMENTOS_CAS_AVANZADO/SF'
        else if (formulario=="FRAGMENTOS_CAS_AVANZA2")
            top.location=dirraiz+'/defaultv.htm?URL='+dirdbdocs+'/BASIS/'+baseDeDatos+'/WEB/FRAGMENTOS_VAL_AVANZA2/SF'
        else if (formulario=="FRAGMENTOS_VAL_AVANZA2")
            top.location=dirraiz+'/default.htm?URL='+dirdbdocs+'/BASIS/'+baseDeDatos+'/WEB/FRAGMENTOS_CAS_AVANZA2/SF'
        else if (top.idioma=="CASTELLANO")
            top.location=dirraiz+'/defaultv.htm?URL='+dirraiz+'/formulari.htm'
        else
            top.location=dirraiz+'/default.htm?URL='+dirraiz+'/formulario.htm'
    }
}

// Establece, en función del nombre del campo que le pasan como argumento,
// que se debe cargar en la pantalla de información del campo si el Tesauro,
// el índice o únicamente la ayuda del campo

function establecerParametrosInfoCampo(campo,etiqueta,idioma,vista)
{
    var establecerParametrosInfoCampo
    // Hacer un case para tratar cada caso por separado
    switch(campo)
    {
      // Los casos de campos que tienen tesauro los trato juntos
      
      //14.02.2006 Modificación Servicio de Informática. Incorporamos el campo materias
      case "DESCRIPTOR_TEMAS":
      //14.02.2006 Fin Modificación Servicio de Informática.
      
      case "DESCRIPTOR_EUROVOC":
      case "DESCRIPTOR_PROPIO":
      case "DESCRIPTOR_TOPONIMICO":
      case "ORADOR_NORMALIZADO":
        establecerParametrosInfoCampo="TESAURO=SI&INDICE=SI&CAMPO="+campo
        break
      default:
        establecerParametrosInfoCampo="TESAURO=NO&INDICE=SI&CAMPO="+campo
    }
	etiqueta=etiqueta.replace(/ /g, "+")
	establecerParametrosInfoCampo+="&ETIQUETA="+etiqueta+"&IDIOMA="+idioma+"&VISTA="+vista
            
    return establecerParametrosInfoCampo
}

function QuitarBlancos(Cadena)
{
        if (Cadena.length==0)
                return ""

        // Buscar primer caracter distinto de blanco
        primerNoBlanco=0
        while(Cadena.charAt(primerNoBlanco)==" " && primerNoBlanco<Cadena.length)
        {
                primerNoBlanco++
        }

        // Buscar último caracter distinto de blanco
        ultimoNoBlanco=Cadena.length-1
        while (Cadena.charAt(ultimoNoBlanco)==" " && ultimoNoBlanco>=0)
        {
                ultimoNoBlanco--
        }

        // Si todos son blancos devolver una cadena vacía
        if (primerNoBlanco>ultimoNoBlanco)
                return ""

        // Obtener la cadena sin espacios al principio y al final
        return Cadena.substring(primerNoBlanco,ultimoNoBlanco+1)
}

// Asignar los códigos escape que corresponden a la coma y el ampersand
var escComa=escape(",");
var escAmpersand=escape("&");

// Si la cadena tiene comillas cambiamos las comas y los ampersands
// que hay dentro de las comillas por sus caracteres de escape y le
// quitamos las comillas
function tratarCadenaConComillas(Cadena)
{
  // Variables auxiliares
  var comillasAbiertas=false
  var i=0
  
  // Variable para el resultado
  var cadenaTratada=""

  // Recorrer toda la cadena
  for(i=0;i<Cadena.length;i++)
  {
	// Conseguir un caracter
	caracter=Cadena.charAt(i)

	// Tratar cada caracter por separado
	switch (caracter)
	{
	  case ',':
	      if (comillasAbiertas)
		    cadenaTratada+=escComa
		  else
		    cadenaTratada+=caracter
		  break
	  case '&':
	      if (comillasAbiertas)
		    cadenaTratada+=escAmpersand
		  else
		    cadenaTratada+=caracter
		  break
	  case '"':
		  if (comillasAbiertas)
		    comillasAbiertas=false
		  else
		    comillasAbiertas=true
		  break
	  default:
		  cadenaTratada+=caracter
	}
  }
  
  // Devolver la cadena que he formado
  return cadenaTratada;
}


function abrirPaginaAyuda(pagina)
{
    var nombreVentana=String("AyudaDSCV")
    ventanaInfo=window.open(dirraiz+pagina,
                            nombreVentana,"height=500,width=700,scrollbars=yes,resizable=yes")
}


function tratar_condicion(condicion)
{
        // Si no hay valor terminar
        if (condicion.length==0)
                return ""

        // Asignar el valor inicial
        condicionTratada=QuitarBlancos(condicion)

// Si el valor contiene comillas las quitaremos y además
	// sustituiremos las comas y ampersands que estaban entre comillas
	// por sus códigos de caracter
	if (condicionTratada.search(/"/g)!=-1)
		condicionTratada=tratarCadenaConComillas(condicionTratada)

    //Eliminar blancos intermedios entre operadores y palabras
        
        
        if (condicionTratada.search(" ,")!=1)
        {
        bus=condicionTratada.search(" ,")
            while (bus !=-1)
                {
                    condicionTratada=condicionTratada.replace(/ ,/g, ",")
                    bus=condicionTratada.search(" ,")
                }
        }

        if (condicionTratada.search(", ")!=1)
        {
            bus=condicionTratada.search(", ")
            while (bus !=-1)
                {
                    condicionTratada=condicionTratada.replace(/, /g, ",")
                    bus=condicionTratada.search(", ")
                }
        }
        
        if (condicionTratada.search(" &")!=1)
        {
            bus=condicionTratada.search(" &")
            while (bus !=-1)
                {
                    condicionTratada=condicionTratada.replace(/ &/g, "&")
                    bus=condicionTratada.search(" &")
                }
        }

        if (condicionTratada.search("& ")!=1)
        {
            bus=condicionTratada.search("& ")
            while (bus !=-1)
                {
                    condicionTratada=condicionTratada.replace(/& /g, "&")
                    bus=condicionTratada.search("& ")
                }
        }
        
        if (condicionTratada.search(" :")!=1)
        {
        bus=condicionTratada.search(" :")
            while (bus !=-1)
                {
                    condicionTratada=condicionTratada.replace(/ :/g, ":")
                    bus=condicionTratada.search(" :")
                }
        }

        if (condicionTratada.search(": ")!=1)
        {
            bus=condicionTratada.search(": ")
            while (bus !=-1)
                {
                    condicionTratada=condicionTratada.replace(/: /g, ":")
                    bus=condicionTratada.search(": ")
                }
        }
        
        // Entrecomillar cada condición
        condicionTratada=condicionTratada.replace(/ /g, "+");
        condicionTratada=condicionTratada.replace(/,/g, "\",\"");
        condicionTratada=condicionTratada.replace(/&/g, "\"&\"");
        condicionTratada=condicionTratada.replace(/:/g, "\":\"");
        
        // Recuperar los caracteres especiales para evitar que el "escape"
    // que se aplica posteriormente cause un error al convertir por
    // ejemplo el %2C en %252C (pone el caracter escape del %)
    condicionTratada=unescape(condicionTratada)

    // Devolver la condición tratada
    return "\""+escape(condicionTratada)+"\""
    //  return "\""+condicionTratada+"\""
}


//Las tres funciones siguientes cambian la imagen de restringir busqueda al pasar el cursor por encima

function MM_preloadImages() { //v2.0
  if (document.images) {
    var imgFiles = MM_preloadImages.arguments;
    if (document.preloadArray==null) document.preloadArray = new Array();
    var i = document.preloadArray.length;
    with (document) for (var j=0; j<imgFiles.length; j++) if (imgFiles[j].charAt(0)!="#"){
      preloadArray[i] = new Image;
      preloadArray[i++].src = imgFiles[j];
  } }
}

function MM_swapImgRestore() { //v2.0
  if (document.MM_swapImgData != null)
    for (var i=0; i<(document.MM_swapImgData.length-1); i+=2)
      document.MM_swapImgData[i].src = document.MM_swapImgData[i+1];
}

function MM_swapImage() { //v2.0
  var i,j=0,objStr,obj,swapArray=new Array,oldArray=document.MM_swapImgData;
  for (i=0; i < (MM_swapImage.arguments.length-2); i+=3) {
    objStr = MM_swapImage.arguments[(navigator.appName == 'Netscape')?i:i+1];
    if ((objStr.indexOf('document.layers[')==0 && document.layers==null) ||
        (objStr.indexOf('document.all[')   ==0 && document.all   ==null))
      objStr = 'document'+objStr.substring(objStr.lastIndexOf('.'),objStr.length);
    obj = eval(objStr);
    if (obj != null) {
      swapArray[j++] = obj;
      swapArray[j++] = (oldArray==null || oldArray[j-1]!=obj)?obj.src:oldArray[j];
      obj.src = MM_swapImage.arguments[i+2];
  } }
  document.MM_swapImgData = swapArray; //used for restore
}

function CargarAnyos()

{

	// Limpiar valores

	for (i=document.forms[0].ANYO_LISTADO.length-1;i>=0;i--)

		document.forms[0].ANYO_LISTADO.options[i]=null

	

	var LegislaturaSeleccionada=""

	

	if (document.forms[0].LEGISLATURA_SUM.selectedIndex>=0)

	LegislaturaSeleccionada=document.forms[0].LEGISLATURA_SUM.options[document.forms[0].LEGISLATURA_SUM.selectedIndex].value



//modificar esto cada vez que se añada una legislatura

	switch(LegislaturaSeleccionada)

	{

	case "CONS":

		sinanyo = new Option("","",false,false)

		document.forms[0].ANYO_LISTADO.options[0] = sinanyo
	
		anyo1982=new Option("1982","'01.01.1982':'31.12.1982'",false,false) 
		
		document.forms[0].ANYO_LISTADO.options[1] = anyo1982
		
		anyo1983=new Option("1983","'01.01.1983':'05.03.1983'",false,false)
		
		document.forms[0].ANYO_LISTADO.options[2] = anyo1983

		// Seleccionar el operador por defecto

		document.forms[0].ANYO_LISTADO.selectedIndex=0

        break;  


	 

	case "I":

		sinanyo = new Option("","",false,false)

		document.forms[0].ANYO_LISTADO.options[0] = sinanyo 

		anyo1983=new Option("1983","'01.01.1983':'31.12.1983'",false,false)

		document.forms[0].ANYO_LISTADO.options[1] = anyo1983

		anyo1984=new Option("1984","'01.01.1984':'31.12.1984'",false,false)

		document.forms[0].ANYO_LISTADO.options[2] = anyo1984

		anyo1985=new Option("1985","'01.01.1985':'31.12.1985'",false,false)

		document.forms[0].ANYO_LISTADO.options[3] = anyo1985

		anyo1986=new Option("1986","'01.01.1986':'31.12.1986'",false,false)

		document.forms[0].ANYO_LISTADO.options[4] = anyo1986

		anyo1987=new Option("1987","'01.01.1987':'31.12.1987'",false,false)

		document.forms[0].ANYO_LISTADO.options[5] = anyo1987

        

			// Seleccionar el operador por defecto

		document.forms[0].ANYO_LISTADO.selectedIndex=0

        

            break;  



	case "II":

		sinanyo = new Option("","",false,false)

		document.forms[0].ANYO_LISTADO.options[0] = sinanyo 

		anyo1987=new Option("1987","'01.01.1987':'31.12.1987'",false,false)

		document.forms[0].ANYO_LISTADO.options[1] = anyo1987

		anyo1988=new Option("1988","'01.01.1988':'31.12.1988'",false,false)

		document.forms[0].ANYO_LISTADO.options[2] = anyo1988

		anyo1989=new Option("1989","'01.01.1989':'31.12.1989'",false,false)

		document.forms[0].ANYO_LISTADO.options[3] = anyo1989

		anyo1990=new Option("1990","'01.01.1990':'31.12.1990'",false,false)

		document.forms[0].ANYO_LISTADO.options[4] = anyo1990

		anyo1991=new Option("1991","'01.01.1991':'31.12.1991'",false,false)

		document.forms[0].ANYO_LISTADO.options[5] = anyo1991



			// Seleccionar el operador por defecto

		document.forms[0].ANYO_LISTADO.selectedIndex=0

        

            break;  



 	case "III":

		sinanyo = new Option("","",false,false)

		document.forms[0].ANYO_LISTADO.options[0] = sinanyo 

		anyo1991=new Option("1991","'01.01.1991':'31.12.1991'",false,false)

		document.forms[0].ANYO_LISTADO.options[1] = anyo1991

		anyo1992=new Option("1992","'01.01.1992':'31.12.1992'",false,false)

		document.forms[0].ANYO_LISTADO.options[2] = anyo1992

		anyo1993=new Option("1993","'01.01.1993':'31.12.1993'",false,false)

		document.forms[0].ANYO_LISTADO.options[3] = anyo1993

		anyo1994=new Option("1994","'01.01.1994':'31.12.1994'",false,false)

		document.forms[0].ANYO_LISTADO.options[4] = anyo1994

		anyo1995=new Option("1995","'01.01.1995':'31.12.1995'",false,false)

		document.forms[0].ANYO_LISTADO.options[5] = anyo1995



			// Seleccionar el operador por defecto

		document.forms[0].ANYO_LISTADO.selectedIndex=0

        

            break;  





 	case "IV":

		sinanyo = new Option("","",false,false)

		document.forms[0].ANYO_LISTADO.options[0] = sinanyo 

		anyo1995=new Option("1995","'01.01.1995':'31.12.1995'",false,false)

		document.forms[0].ANYO_LISTADO.options[1] = anyo1995

		anyo1996=new Option("1996","'01.01.1996':'31.12.1996'",false,false)

		document.forms[0].ANYO_LISTADO.options[2] = anyo1996

		anyo1997=new Option("1997","'01.01.1997':'31.12.1997'",false,false)

		document.forms[0].ANYO_LISTADO.options[3] = anyo1997

		anyo1998=new Option("1998","'01.01.1998':'31.12.1998'",false,false)

		document.forms[0].ANYO_LISTADO.options[4] = anyo1998

		anyo1999=new Option("1999","'01.01.1999':'31.12.1999'",false,false)

		document.forms[0].ANYO_LISTADO.options[5] = anyo1999

        

			// Seleccionar el operador por defecto

		document.forms[0].ANYO_LISTADO.selectedIndex=0

        

            break;  





 	case "V":

		sinanyo = new Option("","",false,false)

		document.forms[0].ANYO_LISTADO.options[0] = sinanyo 

		anyo1999=new Option("1999","'01.01.1999':'31.12.1999'",false,false)

		document.forms[0].ANYO_LISTADO.options[1] = anyo1999

		anyo2000=new Option("2000","'01.01.2000':'31.12.2000'",false,false)

		document.forms[0].ANYO_LISTADO.options[2] = anyo2000

		anyo2001=new Option("2001","'01.01.2001':'31.12.2001'",false,false)

		document.forms[0].ANYO_LISTADO.options[3] = anyo2001

		anyo2002=new Option("2002","'01.01.2002':'31.12.2002'",false,false)

		document.forms[0].ANYO_LISTADO.options[4] = anyo2002

		anyo2003=new Option("2003","'01.01.2003':'31.12.2003'",false,false)

		document.forms[0].ANYO_LISTADO.options[5] = anyo2003        

			// Seleccionar el operador por defecto

		document.forms[0].ANYO_LISTADO.selectedIndex=0

        

            break;  



	case "VI":

		sinanyo = new Option("","",false,false)

		document.forms[0].ANYO_LISTADO.options[0] = sinanyo 

		anyo2003=new Option("2003","'01.01.2003':'31.12.2003'",false,false)

		document.forms[0].ANYO_LISTADO.options[1] = anyo2003 

		anyo2004=new Option("2004","'01.01.2004':'31.12.2004'",false,false)

		document.forms[0].ANYO_LISTADO.options[2] = anyo2004 

		anyo2005=new Option("2005","'01.01.2005':'31.12.2005'",false,false)

		document.forms[0].ANYO_LISTADO.options[3] = anyo2005  

		anyo2006=new Option("2006","'01.01.2006':'31.12.2006'",false,false)

		document.forms[0].ANYO_LISTADO.options[4] = anyo2006
		
		anyo2007=new Option("2007","'01.01.2007':'01.06.2007'",false,false)

		document.forms[0].ANYO_LISTADO.options[5] = anyo2007

			// Seleccionar el operador por defecto

		document.forms[0].ANYO_LISTADO.selectedIndex=0

        

            break;  

case "VII":

		sinanyo = new Option("","",false,false)

		document.forms[0].ANYO_LISTADO.options[0] = sinanyo 

              anyo2007=new Option("2007","'14.06.2007':'31.12.2007'",false,false)

		document.forms[0].ANYO_LISTADO.options[1] = anyo2007 

		anyo2008=new Option("2008","'01.01.2008':'31.12.2008'",false,false)

		document.forms[0].ANYO_LISTADO.options[2] = anyo2008 

		anyo2009=new Option("2009","'01.01.2009':'31.12.2009'",false,false)

		document.forms[0].ANYO_LISTADO.options[3] = anyo2009  

		anyo2010=new Option("2010","'01.01.2010':'31.12.2010'",false,false)

		document.forms[0].ANYO_LISTADO.options[4] = anyo2010
		
		anyo2011=new Option("2011","'01.01.2011':'08.06.2011'",false,false)

		document.forms[0].ANYO_LISTADO.options[5] = anyo2011

			// Seleccionar el operador por defecto

		document.forms[0].ANYO_LISTADO.selectedIndex=0

        

            break;  


case "VIII":

		sinanyo = new Option("","",false,false)

		document.forms[0].ANYO_LISTADO.options[0] = sinanyo 

              anyo2011=new Option("2011","'09.06.2011':'31.12.2011'",false,false)

		document.forms[0].ANYO_LISTADO.options[1] = anyo2011 

		anyo2012=new Option("2012","'01.01.2012':'31.12.2012'",false,false)

		document.forms[0].ANYO_LISTADO.options[2] = anyo2012 

		anyo2013=new Option("2013","'01.01.2013':'31.12.2013'",false,false)

		document.forms[0].ANYO_LISTADO.options[3] = anyo2013  

		anyo2014=new Option("2014","'01.01.2014':'31.12.2014'",false,false)

		document.forms[0].ANYO_LISTADO.options[4] = anyo2010
		
		anyo2015=new Option("2015","'01.01.2015':'01.06.2015'",false,false)

		document.forms[0].ANYO_LISTADO.options[5] = anyo2015

			// Seleccionar el operador por defecto

		document.forms[0].ANYO_LISTADO.selectedIndex=0

        

            break;  
       

}

}

