// FUNCIONES COMUNES DE DOM
// ----------------------------------------------------------------------------
function getObj(name) {
  if (document.getElementById) { return document.getElementById(name); }
  else if (document.all) { return document.all[name]; }
  else if (document.layers) { return document.layers[name]; }
  return null;
}

var DHTML = (document.getElementById || document.all || document.layers);
function swapElement(id,type){
  if (!DHTML) return;
  
  if (!type) { type = 'block';};
  
  var x = getObj(id);
  if (x.style.display == "none") { x.style.display = type; }
  else { x.style.display = "none"; }
}
  
function expandMenu(menuPrefix,menuIndex,totalNumOfMenus){
  if (!DHTML) return;
  
  for(i = 1; i <= totalNumOfMenus; i++) {
    var x = getObj(menuPrefix+i);
    // Si el menu que queremos expandir, lo hacemos
    if (i == menuIndex) { x.style.display = "block"; }
    else { x.style.display = "none"; }
  }
}



// ----------------------------------------------------------------------------
// TAMAÑO DE TEXTO 
// ----------------------------------------------------------------------------
function getCurrentSize() {
  var cookie = readCookie("styleSize");
  var currentSize = cookie ? parseInt(cookie) : 2;
 
  // Comprobamos si el valor es un integro, y si no lo es ponemos el valor por defecto
  if (isNaN(currentSize)) { currentSize = 2; }

  return currentSize;
}


function createCookie(name,value,days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else expires = "";
    
    // Obtenemos el domain
    var domainParts = document.domain.split('.');
    var cookieDomain = '.'+domainParts[domainParts.length-2]+'.'+domainParts[domainParts.length-1];
   
    // Asignamos la nueva cookie
    document.cookie = name+"="+value+expires+"; path=/; domain="+cookieDomain;
}

function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}


function resizeStyle(sizeSwap) {
  if (sizeSwap == null) { sizeSwap = 0;}
  var currentSize = getCurrentSize();
  
  // Calculamos el nuevo tamaño, manteniendolo en los limites
  var newSize = currentSize + sizeSwap;
  if (newSize > 5) { newSize = 5; }
  if (newSize < 1) { newSize = 1; }
  if (isNaN(newSize) || newSize == null) { newSize = 2; }
  
  if (newSize == 1 ) {
    document.getElementsByTagName("body")[0].style.fontSize = '50%';
  }
  else if (newSize == 2) {
    document.getElementsByTagName("body")[0].style.fontSize = '62.5%';
  }
  else if (newSize == 3) {
    document.getElementsByTagName("body")[0].style.fontSize = '75%';
  }
  else if (newSize == 4) {
    document.getElementsByTagName("body")[0].style.fontSize = '87.5%';
  }
  else if (newSize == 5) {
    document.getElementsByTagName("body")[0].style.fontSize = '100%';
  }
      
  // Asignamos el nuevo valor a la cookie
  createCookie("styleSize", newSize, 365);
  
}



function setResizeLinks(linkText,downLinkText,upLinkText) {
  // Creamos los enlaces con DOM
  // Creamos el primer span con su a y li
  var rc_tamano_de_texto_aumenta_a_span1 = document.createElement("span");  
  rc_tamano_de_texto_aumenta_a_span1.innerHTML = upLinkText+" ";
  rc_tamano_de_texto_aumenta_a_span1.setAttribute("class","rc-elemento-accesorio");
  var rc_tamano_de_texto_aumenta_a_span2 = document.createElement("span");  
  rc_tamano_de_texto_aumenta_a_span2.setAttribute("id","rc-tamano-de-texto-aumenta-simbolo");
  rc_tamano_de_texto_aumenta_a_span2.innerHTML = "&#43;";
  var rc_tamano_de_texto_aumenta_a_span3 = document.createElement("span");  
  rc_tamano_de_texto_aumenta_a_span3.setAttribute("id","rc-tamano-de-texto-aumenta-simbolo-container");
  rc_tamano_de_texto_aumenta_a_span3.appendChild(rc_tamano_de_texto_aumenta_a_span2);
  var rc_tamano_de_texto_aumenta_a = document.createElement("a");
  rc_tamano_de_texto_aumenta_a.setAttribute("href","#rc-tamano-de-texto-aumenta");
  rc_tamano_de_texto_aumenta_a.setAttribute("title",upLinkText);
  var rc_tamano_de_texto_aumenta = document.createElement("li");
  rc_tamano_de_texto_aumenta.setAttribute("id","rc-tamano-de-texto-aumenta");
  rc_tamano_de_texto_aumenta.appendChild(rc_tamano_de_texto_aumenta_a);
  rc_tamano_de_texto_aumenta_a.appendChild(rc_tamano_de_texto_aumenta_a_span1);
  rc_tamano_de_texto_aumenta_a.appendChild(rc_tamano_de_texto_aumenta_a_span3);
 
  // Creamos el segundo span con su a y li
  var rc_tamano_de_texto_disminuye_a_span1 = document.createElement("span");
  rc_tamano_de_texto_disminuye_a_span1.innerHTML = downLinkText+" ";
  rc_tamano_de_texto_disminuye_a_span1.setAttribute("class","rc-elemento-accesorio");
  var rc_tamano_de_texto_disminuye_a_span2 = document.createElement("span");  
  rc_tamano_de_texto_disminuye_a_span2.setAttribute("id","rc-tamano-de-texto-aumenta-simbolo");
  rc_tamano_de_texto_disminuye_a_span2.innerHTML = "&#151;";
  var rc_tamano_de_texto_disminuye_a_span3 = document.createElement("span");  
  rc_tamano_de_texto_disminuye_a_span3.setAttribute("id","rc-tamano-de-texto-aumenta-simbolo-container");
  rc_tamano_de_texto_disminuye_a_span3.appendChild(rc_tamano_de_texto_disminuye_a_span2);
  var rc_tamano_de_texto_disminuye_a = document.createElement("a");
  rc_tamano_de_texto_disminuye_a.setAttribute("href","#rc-tamano-de-texto-disminuye");
  rc_tamano_de_texto_disminuye_a.setAttribute("title",downLinkText);  
  var rc_tamano_de_texto_disminuye = document.createElement("li");
  rc_tamano_de_texto_disminuye.setAttribute("id","rc-tamano-de-texto-disminuye");
  rc_tamano_de_texto_disminuye.appendChild(rc_tamano_de_texto_disminuye_a);
  rc_tamano_de_texto_disminuye_a.appendChild(rc_tamano_de_texto_disminuye_a_span1);
  rc_tamano_de_texto_disminuye_a.appendChild(rc_tamano_de_texto_disminuye_a_span3);
  
  // Creamos el ul y asignamos los lis
  var rc_tamano_de_texto_ul = document.createElement("ul");
  rc_tamano_de_texto_ul.appendChild(rc_tamano_de_texto_disminuye);
  rc_tamano_de_texto_ul.appendChild(rc_tamano_de_texto_aumenta);

  // Creamos el p
  var rc_tamano_de_texto_titulo = document.createElement("p");
  rc_tamano_de_texto_titulo.setAttribute("id","rc-tamano-de-texto-titulo");
  rc_tamano_de_texto_titulo.innerHTML = linkText;

  // Creamos el div y asignamos el p y el ul
  var rc_tamano_de_texto = document.createElement("div");
  rc_tamano_de_texto.setAttribute("id","rc-tamano-de-texto");
  rc_tamano_de_texto.appendChild(rc_tamano_de_texto_titulo);
  rc_tamano_de_texto.appendChild(rc_tamano_de_texto_ul);
  
  // Asignamos el nuevo div
  getObj('rc-utilidades').appendChild(rc_tamano_de_texto);

  // Asignamos los eventos a los enlaces
  getObj('rc-tamano-de-texto-disminuye').onclick = function(e){ resizeStyle(-1);return false; }
  getObj('rc-tamano-de-texto-aumenta').onclick = function(e){ resizeStyle(+1);return false; }
  
  resizeStyle();
}

// Hay veces en que las que al ejecutar resizeStyle(); mientras todavía esta cargándose la página
// el texto no se muestra correctamente. Por eso lo volvemos a hacer al final de la carga
// para evitar eset problema
window.onload = function(e) { resizeStyle(); }



// ----------------------------------------------------------------------------
// IMPRESION 
// ----------------------------------------------------------------------------
function showPrintVersion(cssBase,language) {
  // Definimos el texto a mostrar
  if (language == null || language == "es") { textoVolverVersionGrafica = "Volver a la versión gráfica"; }
  else if (language == "eu") { textoVolverVersionGrafica = "Bertsio grafikora itzuli"; }
  else if (language == "ca") { textoVolverVersionGrafica = "Tornar a la versió gràfica"; }
  else if (language == "ga") { textoVolverVersionGrafica = "Volver á versión gráfica"; }
  
  // Cargamos el css de impresion
  var printCss = document.createElement('link');
  printCss.setAttribute('rel','stylesheet');
  printCss.setAttribute('type','text/css');
  printCss.setAttribute('href','http://static.consumer.es/bundle/common~css~red-consumer.print.css+'+cssBase+'~css~global.print.css');
  printCss.setAttribute('media','screen,print');
  printCss.setAttribute('id','rc-print-css');
  document.getElementsByTagName("head")[0].appendChild(printCss);
  
   
  // Mostramos el enlace para volver a la version grafica
  var p = document.createElement('p');
  p.setAttribute('id','rc-volver-version-grafica');
  p.style.display = 'block';
  var a = document.createElement('a');
  a.setAttribute('href','#');
  a.setAttribute('title',textoVolverVersionGrafica);
  a.appendChild(document.createTextNode(textoVolverVersionGrafica));
  a.onclick = function(e) { hidePrintVersion(); return false; };
  p.appendChild(a);
  document.getElementsByTagName("body")[0].insertBefore(p,document.getElementsByTagName("body")[0].firstChild);
  
  // Imprimimos automáticamente la página
  setTimeout("window.print()",1000);
}

function hidePrintVersion() {
  document.getElementsByTagName("body")[0].removeChild(getObj('rc-volver-version-grafica'));
  getObj('rc-print-css').disabled = true;
  document.getElementsByTagName("head")[0].removeChild(getObj('rc-print-css'));
}
