// FUNCIONES COMUNES DE DOM
// ----------------------------------------------------------------------------
// Si estamos en un dominio *.consumer.es, cambiamos el document.domain a 'consumer.es'
// para que podamos acceder a los datos de los iframes iframes desde
// otros dominios *.consumer.es (http://www.mozilla.org/projects/security/components/same-origin.html)
if (document.domain.indexOf('.consumer.es') != -1) {
  document.domain = 'consumer.es';
}
else if (document.domain.indexOf('.consumaseguridad.com') != -1) {
  document.domain = 'consumaseguridad.com';
}

function getObj(name) {
  if (document.getElementById && document.getElementById(name)) { return document.getElementById(name); }
  else if (document.all && document.all[name]) { return document.all[name]; }
  else if (document.layers && document.layers[name]) { 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);
    if (x != null) {
      // Si el menu que queremos expandir, lo hacemos
      if (i == menuIndex) { x.style.display = "block"; }
      else { x.style.display = "none"; }
    }
  }
}


// ----------------------------------------------------------------------------
// COOKIES
// ----------------------------------------------------------------------------
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;
}


// ----------------------------------------------------------------------------
// 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 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) {
    getObj('rc-estructura').style.fontSize = '0.4em';
  }
  else if (newSize == 2) {
    getObj('rc-estructura').style.fontSize = '0.5em';
  }
  else if (newSize == 3) {
    getObj('rc-estructura').style.fontSize = '0.6em';
  }
  else if (newSize == 4) {
    getObj('rc-estructura').style.fontSize = '0.7em';
  }
  else if (newSize == 5) {
    getObj('rc-estructura').style.fontSize = '0.8em';
  }
      
  // 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-disminuye-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-disminuye-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_aumenta);
  rc_tamano_de_texto_ul.appendChild(rc_tamano_de_texto_disminuye);

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

  // 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 este problema
window.onload = function(e) { resizeStyle(); }



// ----------------------------------------------------------------------------
// IMPRESION 
// ----------------------------------------------------------------------------
function showPrintLink(cssBase,language) {
  if (language == null || language == "es") { title = "imprimir"; }
  else if (language == "eu") { title = "inprimatu"; }
  else if (language == "ca") { title = "imprimir"; }
  else if (language == "ga") { title = "imprimir"; }
  
  var a = document.createElement("a");
  a.setAttribute("href","#");
  a.setAttribute("title",title);
  a.appendChild(document.createTextNode(title));
  a.onclick = function(e){ showPrintVersion(cssBase,language); return false; }

  // Creamos el li
  var li = document.createElement("li");
  li.setAttribute("id","rc-otras-utilidades-imprimir");
  li.appendChild(a);

  // Añadimos el li a #rc-otras-utilidades, teniendo en cuenta que pueden haber añadido mas enlaces de utilidades
  if (getObj('rc-otras-utilidades-glosario')) {
    getObj('rc-otras-utilidades').insertBefore(li,getObj('rc-otras-utilidades-glosario'));
  }
  else if (getObj('rc-otras-utilidades-addon-1')) {
    getObj('rc-otras-utilidades').insertBefore(li,getObj('rc-otras-utilidades-addon-1'));
  }
  else {
    getObj('rc-otras-utilidades').appendChild(li);
  }
}

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.1024.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);
  getObj('rc-estructura').insertBefore(p,getObj('rc-estructura').firstChild);
  // 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-estructura').removeChild(getObj('rc-volver-version-grafica'));
  getObj('rc-print-css').disabled = true;
  document.getElementsByTagName("head")[0].removeChild(getObj('rc-print-css'));
}

// ----------------------------------------------------------------------------
// PNG TRANSPARENTE 
// ----------------------------------------------------------------------------
window.onload = doPngFixIE;

function doPngFixIE() {
  //alert(document.images.length);
  var detectada = navigator.appVersion.split("MSIE"); //Primero detectamos que se trata de IE en realidad
  var version = parseFloat(detectada[1]); //Luego obtenemos el numero de version
	
  //	alert(version);
	
  if (version >= 5.5 && version < 7.0 && document.body.filters) //Preguntamos por la version 5.5 o superior o si existe el elemento filters
  {
    for(var i = document.images.length - 1; i >= 0; i--) // Analizamos todas las imagenes del documento
    {
      //alert(i);
      //alert(document.images);
			
      var img = document.images[i]; //Tomamos el nombre de la imagen actual en el ciclo
      var imgName = img.src.toLowerCase(); //convertimos a minusculas
      	
      //alert(imgName);
      	
      if (imgName.substring(imgName.length-10, imgName.length) == ".trans.png") //detectamos la extension
      {
        var strHTML = "<span " + " class=\"" + img.className +"\" style=\"display:inline-block;" + "width:" + img.width + "px; height:" + img.height + "px;" + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader" + "(src=\'" + img.src + "\', sizingMethod='image');\"></span>" 
        img.outerHTML = strHTML //Luego obligamos a la imagen a cargar este codigo en forma de variable
        //alert(strHTML);
      }
    }
  }
}



// ----------------------------------------------------------------------------
// AJAX
// ----------------------------------------------------------------------------
function getAjaxData(url,callbackFunction,callbackFunctionParams) {
  
  if (window.XMLHttpRequest) { // Mozilla, Safari,...
    AJAX = new XMLHttpRequest();
    if (AJAX.overrideMimeType) {
      // set type accordingly to anticipated content type
      //AJAX.overrideMimeType('text/xml');
      AJAX.overrideMimeType('text/html');
    }
  } else if (window.ActiveXObject) { // IE
    try {
      AJAX = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        AJAX = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e) {}
    }
  }
  if (!AJAX) {
    // alert('Cannot create XMLHTTP instance');
    return false;
  }

  // Hacemos la peticion
  AJAX.onreadystatechange=function() {
    if (AJAX.readyState==4) {
      response = AJAX.responseText;
      response = response.replace(/^\s*|\s*$/g,"");
      if (callbackFunctionParams == null) {
        eval(callbackFunction+'("'+response+'")');
      }
      else {
        eval(callbackFunction+'("'+response+'","'+callbackFunctionParams+'")');
      }
    }
  }
  AJAX.open('GET',url,true);
  AJAX.send(null)
    
}

