/* ********************************************************************************** */
/*  Funcion que cambia de tamano la letra del(los) estilo(s) referenciado(s).         */
/*  Archivo de estilos usado:                                                         */
/*      /web/p4_lanacion/css/site/port/estilos.css                                    */
/*  V1.0 10/01/2003 - MCO                                                             */
/*  V1.1 13/01/2003 - ALD - Uso de selectorText                                       */
/*  V1.2 13/01/2003 - MCO - Recuperacion y reasignacion de atributos al mismo estilo  */
/*  V1.3 15/01/2003 - MCO - Se elimina cant en porcentaje de la llamada a la funcion  */
/*                          para dejarlo en forma local al js y modificar solo este   */
/*                          en afinamientos o cambios posteriores.                    */
/*  V1.4 15/01/2003 - ALD - Agrega estilos, aumenta "salto" y disminuye margenes.     */
/*  V1.5 17/01/2003 - ALD - Optimiza un poco para agilizar la ejecucion.              */
/*  V1.6 30/01/2003 - ALD - Mejora manejo de intervalos de tamano.                    */
/*  V1.7 03/06/2003 - MCO - Nueva optimizacion. Se agrega tratamiento para el * que   */
/*                          indica valor generico de las cascadas                     */
/*  V1.8 05/02/2006 - ALD - Agrega funcionalidad a FF y Netscape.                     */
/* ********************************************************************************** */

var size_actual = 100;

var tamanos = new Array(70,80,90,100,130,180,250);
// 1.8 Arreglo de estilos a afectar.
var estilos = new Array('titular','bajada','epigrafe','subtitulos','CUERPO');
var size_actual_i = 3; // Corresponde al cuarto elemento en el arreglo tamanos.

// Variable por defecto.
var fontWeight_default = '';
var fontFamily_default = '';
var fontSize_default = '';
var color_default = '';
var indice_hoja_estilos = 0;

if (document.styleSheets) { // 1.8 Funciona solo para browsers capaces.

  // Inicializa arreglos de estilos. V1.7.
  var fontweight = new Array();
  var fontfamily = new Array();
  var fontsize   = new Array();
  var fontcolor  = new Array();

  var firstsheet=document.styleSheets[indice_hoja_estilos];
  var therules=firstsheet.cssRules? firstsheet.cssRules: firstsheet.rules;

  // Rescata los atributos de los css del primer archivo de estilos de la pagina html (por eso se usa el subindice 0).
  for (var i=0; i < therules.length; i++) { // 1.2
    fontweight[i] = therules[i].style.fontWeight;
    fontfamily[i] = therules[i].style.fontFamily;
    fontsize[i]   = therules[i].style.fontSize;
    fontcolor[i]  = therules[i].style.color;
  };

  // Inicializa elementos a modificar.
  var var_elements = new Array();
  var debug="";

  // Busca los elementos a modificar (css). Estos son fijos y hay que agregarlos directamente en este archivo.
  for (var i=0; i < therules.length; i++) {
    var aux = therules[i].selectorText;
    found = 0;
    
    //if ( aux.indexOf('recuadro') >= 0 ) { //debug
    //  debug+=aux+"\n"; //debug
    //};  //debug
     
    if (aux == '*') {
      fontWeight_default = therules[i].style.fontSize;
      fontFamily_default = therules[i].style.fontWeight;
      fontSize_default   = therules[i].style.fontFamily;
      color_default      = therules[i].style.color;
    };
    
    // 1.8 Encuentra estilos a afectar.
    for (k=0; k < estilos.length; k++) {
      if ( (aux.indexOf(estilos[k]) >= 0) && (aux.indexOf(':hover') < 0) ) { found = 1; };
    }; // for k
  
    if (found == 1) { var_elements[var_elements.length] = i; };
  };
  // alert(debug); // debug
}; // if

function cambia_size(signo) {
  // Hasta el momento el cambio de fonts sirve solo para ie.

  if (document.styleSheets) { // 1.8 Funciona solo para browsers capaces.
    if ( (signo == '20') || (signo == 'mas') ) {// 1.3
      if (size_actual_i >= (tamanos.length - 1)) { return; };
      size_actual_i++;
    }else{
      if (size_actual_i <= 0) { return; };
      size_actual_i--;
    };
    size_actual = tamanos[size_actual_i];

    // 1.5 Solo aplica cambios a elementos preseleccionados.
    for (var i=0; i < var_elements.length; i++) {
      var j = var_elements[i];

    
      if (fontsize[j] == '') { if (fontSize_default != '') { fontsize[j] = fontSize_default; }else{ fontsize[j] = 12 }; }; // V1.7.

      var tam_final = parseInt((parseInt(fontsize[j]) * size_actual)/100);

      if (tam_final - parseInt(tam_final) > 0) { // Si resultado da con decimal, se agrega uno al entero.
        tam_final = parseInt(tam_final) + 1;
      };
      
      therules[j].style.fontSize = tam_final+'px'; // 1.8
      // 1.8 document.styleSheets[indice_hoja_estilos].rules[j].style.fontSize = tam_final+'px';
  	  //alert(document.styleSheets[indice_hoja_estilos].rules[j].selectorText +"\n"+tam_final+"\n"+document.styleSheets[indice_hoja_estilos].rules[j].style.fontSize);
	    //alert(fontsize[j] +"\n"+document.styleSheets[indice_hoja_estilos].rules[j].style.fontSize);

	  };
  }else{ 
    alert("Este Navegador no soporta aumento/disminución de tamaño de texto.");
  };
}; // cambia_size

