/**
 * @package	GeoDatum
 * Proyecto	:	GeoDatum - Sistema de Información Territorial
 * Archivo	:	TabsFicha.class.js
 *
 * @link http://www.siigsa.cl
 * @copyright SIIGSA - Registro Propiedad Intelectual Nº 172.560 - Derechos Reservados
 * @author Gonzalo Arenas Flores <garenas@siigsa.cl>
 * @since 22-07-2009
 * @version 1.0.0
 * @see adm_modulo06, perfil
 * 
 * Clase que administra tabs. 
 * >>>> Puede que en algunas secciones del código aparezca TF, esto hace referencia a TabsFicha <<<<
 *
 */

/**
 * @copyright SIIGSA - Registro Propiedad Intelectual Nº 172.560 - Derechos Reservados
 * @author Gonzalo Arenas Flores <garenas@siigsa.cl>
 * @since 22-07-2009
 * @version 1.0.0
 *
 * Constructor de la clase de TabsFicha
 * 
 */
function TabsFicha(){
	
	/**
	 * @author Gonzalo Arenas Flores <garenas@siigsa.cl>
	 * @since 22-07-2009
   * 
   * Object oTabsFicha
   */
	var oTag 	= 	this;
	
	/**
	 * @author Gonzalo Arenas Flores <garenas@siigsa.cl>
	 * @since 22-07-2009
   * 
   * Object oTamTF
   */
	var oTamTF = new Tag();
	
	/**
	 * @author Gonzalo Arenas Flores <garenas@siigsa.cl>
	 * @since 22-07-2009
   */
	this.altura_tabs_contenido = "300px";
	
	/**
	 * @author Gonzalo Arenas Flores <garenas@siigsa.cl>
	 * @since 22-07-2009
   */
	this.ancho_tabs_contenido = "90%";
		
	/*---------------------------------------------------------------------------*/
	/*---------------------------------------------------------------------------*/
	/*---------------------------   FUNCIONES   ---------------------------------*/
	/*---------------------------------------------------------------------------*/
	/*---------------------------------------------------------------------------*/
	/**
	 * @copyright 2008 - SIIGSA - Registro Propiedad Intelectual Nº 172.560 - Derechos Reservados
	 * @author Gonzalo Arenas Flores <garenas@siigsa.cl>
	 * @since 22-07-2009
 	 * @version 1.0.0
 	 * 
 	 * Establece un valor determinado a una variable (propiedad) de la clase
 	 * 
 	 * @param string $propiedad Nombre de la Propiedad
 	 * @param mixed Valor de la Propiedad
 	 * @param String $indice representa el indice del arreglo donde se asignará el valor
 	 * 
 	 * @see Tag.class.js
 	 */
	this.set = function (propiedad, valor, indice){
		
		try{
			if(typeof(indice)!="undefined"){								//Si especifica un indice interpreta que se refiere a un atributo de tipo arreglo
				
				var arreglo = eval('this.' + propiedad);					//Recupera el atributo
				arreglo[indice] = valor;									//Le asiga el valor al arreglo en la posicion especificada como indices
				
			}else{
				
				eval('this.' + propiedad + ' = "' + valor + '"');			//Si no se trata de un arreglo setea el atributo de forma directa
				
			}
			
			
		}catch(e){
			
			alert(e.name + " - " + e.message);
			
		}
		
	}
 	

	/**
	 * @copyright 2008 - SIIGSA - Registro Propiedad Intelectual Nº 172.560 - Derechos Reservados
   * @author Gonzalo Arenas Flores <garenas@siigsa.cl>
	 * @since 22-07-2009
   * @version 1.0.0
   * 
   * Retorna el valor actual de una variable (propiedad) de la clase
   * 
   * @param string $propiedad Nombre de la Propiedad
   * @param String $indice representa el indice del arreglo donde se asignará el valor
   * 
   * @return mixed Valor de la Propiedad
   * 
   * @see Tag.class.js
   */
	this.get = function (propiedad, indice){
		
		try{
			
			if(typeof(indice)!="undefined"){							//Si especifica un indice interpreta que se refiere a un atributo de tipo arreglo
				
				var arreglo = eval('this.' + propiedad);				//Recupera el atributo
				return arreglo[indice];									//Retorna el valor contenido en el arreglo con posición indice
				
			}else{
				
				return eval('this.' + propiedad);						//Si no es arreglo retorna directamente
				
			}			
			
		}catch(e){
			
			alert(e.name + " - " + e.message);
			
		}
		
	}

	
	/**
	 * @link http://www.siigsa.cl
	 * @copyright SIIGSA - Registro Propiedad Intelectual Nº 172.560 - Derechos Reservados
	 * @author Gonzalo Arenas Flores <garenas@siigsa.cl>
	 * @since 28-01-2009
	 * @version 1.0.0
	 * 
	 * Funcion para resaltar o apagar un titulo
	 * 
	 * @param Object $titulo	= objeto del titulo a procesar
	 *
	 */
	this.resaltarTitulo = function(titulo){
		
		try{
			
			var titulo_activo = this.get("titulo_activo");
			
			if(titulo.id != titulo_activo){
		
				if(oTamTF.getAtributoTag(titulo,"className") == "fondo_tab_no_seleccionado" || oTamTF.getAtributoTag(titulo,"class") == "fondo_tab_no_seleccionado"){
						
					oTamTF.setAtributoTag(titulo,"class","fondo_tab_seleccionado");
					oTamTF.setAtributoTag(titulo,"className","fondo_tab_seleccionado");
						
				}else{
						
					oTamTF.setAtributoTag(titulo,"class","fondo_tab_no_seleccionado");
					oTamTF.setAtributoTag(titulo,"className","fondo_tab_no_seleccionado");
						
				}
			}	
		
		}catch(e){
				
			alert(e.name + " - " + e.message);
			
		}
		
	}
	
	
	/**
	 * @link http://www.siigsa.cl
	 * @copyright SIIGSA - Registro Propiedad Intelectual Nº 172.560 - Derechos Reservados
	 * @author Gonzalo Arenas Flores <garenas@siigsa.cl>
	 * @since 22-07-2009
	 * @version 1.0.0
	 * 
	 * Funcion para seleccionar un titulo y desactivar el anteriormente seleccionado
	 * 
	 * @param Object $titulo	= objeto del titulo a procesar
	 *
	 */
	this.seleccionarTitulo = function(titulo){
	
		try{

			var titulo_activo = this.get("titulo_activo");
			/*DESACTIVAR OPCION ANTERIOR*/
			var titulo_a_desactivar = oTamTF.getTags(1,titulo_activo);
			
			oTamTF.setAtributoTag(titulo_a_desactivar,"class","fondo_tab_no_seleccionado");
			oTamTF.setAtributoTag(titulo_a_desactivar,"className","fondo_tab_no_seleccionado");
			
			var div_a_desactivar = oTamTF.getTags(1,"div_"+titulo_activo);
			oTamTF.setAtributoTag(div_a_desactivar,"class","fondo_div_no_seleccionado");
			oTamTF.setAtributoTag(div_a_desactivar,"className","fondo_div_no_seleccionado");
			oTamTF.setEstiloTag(div_a_desactivar,"height","0px");
			oTamTF.setEstiloTag(div_a_desactivar,"width","0%");
			
			/*FIN DESACTIVAR OPCION ANTERIOR*/
			
			/*ACTIVAR NUEVA OPCION*/
			this.set("titulo_activo",titulo.id);
			
			oTamTF.setAtributoTag(titulo,"class","fondo_tab_seleccionado");
			oTamTF.setAtributoTag(titulo,"className","fondo_tab_seleccionado");

			var div_a_activar = oTamTF.getTags(1,"div_"+titulo.id);
			oTamTF.setAtributoTag(div_a_activar,"class","fondo_div_seleccionado");
			oTamTF.setAtributoTag(div_a_activar,"className","fondo_div_seleccionado");
//			this.set(ancho_tabs_contenido, "95%");
//			oTamTF.setEstiloTag(div_a_activar,"height","90%");
//			alert(this.get("ancho_tabs_contenido"));
			oTamTF.setEstiloTag(div_a_activar,"height",this.get("altura_tabs_contenido"));
			oTamTF.setEstiloTag(div_a_activar,"width",this.get("ancho_tabs_contenido"));
			/*FIN ACTIVAR NUEVA OPCION*/
		
		}catch(e){
				
			alert(e.name + " - " + e.message);
			
		}
		
	}
	
}
