/**
 * Objeto de manejo de skin(piel) de artículos y portadas de diarios regionales
 * @author shoto
 */
/** path a head superior  */
var headSuperior = '';


/**
 * 
 * @param {Object} tipo
 */
function DRSkin(tipo){
    this.type = tipo; // portada | articulo
    this.elemHeadId   = 'cabecera';
    this.elemScriptId = 'headScript';
    this.cssArtId     = 'cssArticulo';
    this.cssGlobalId  = 'cssGlobal';
    this.cssHeadId    = 'cssHead';
    this.originals = new Array();
}

DRSkin.prototype.setSkin = function(domain){
  try {
      if((domain == null) || (domain == '') || (domain.length == 0)){
          return false;
      }
      var theHead = document.getElementsByTagName('head')[0];
      
     // var containerHead = document.getElementById(this.elemHeadId);
      if (theHead) {

      }
      
      if(domain != window.location.hostname){     
         if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){// IE
             this.changeCssIE(this.cssArtId,'http://' + domain + '/matriz/css/articulo.css','/prontus_multimedia/css/articulo.css' );
             this.changeCssIE(this.cssGlobalId,'http://' + domain + '/matriz/css/global.css','/prontus_multimedia/css/global.css' );
         } else {// w3c
             var theHead = document.getElementsByTagName('head')[0];
             var styleElement =  document.createElement('style');
             styleElement.id = 'remoteCSS';
             styleElement.setAttribute('type','text/css'); 
             var cssHtml  = "@import url('"+'http://'+domain+'/matriz/css/articulo.css'+"');";
             cssHtml  += "@import url('"+'http://'+domain+'/matriz/css/global.css'+"');";
             var cssText = document.createTextNode(cssHtml);
             styleElement.appendChild(cssText);
             theHead.appendChild(styleElement);
         }
      }
      var scriptfont = document.createElement('script');
         scriptfont.id = 'fontsize';
         scriptfont.type = 'text/javascript';
         scriptfont.src = '/prontus_multimedia/js-local/cambia_tam_fonts.js';
         theHead.appendChild(scriptfont);
      return true;
  } catch (e) {
      alert('setSkin:'+e);
      
  }
}

DRSkin.prototype.setSkinHead = function(domain){
  try {
      if((domain == null) || (domain == '') || (domain.length == 0)){
          return false;
      }
      var theHead = document.getElementsByTagName('head')[0];
            
      if(domain != window.location.hostname){     
         if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){// IE
             this.changeCssIE(this.cssHeadId,'http://' + domain + '/matriz/css/head.css','/prontus_multimedia/css/global.css' );
         } else {// w3c
             var theHead = document.getElementsByTagName('head')[0];
             var styleElement =  document.createElement('style');
             styleElement.id = 'remoteHeadCSS';
             styleElement.setAttribute('type','text/css'); 
             var cssHtml  = "@import url('"+'http://'+domain+'/matriz/css/head.css'+"');";
             var cssText = document.createTextNode(cssHtml);
             styleElement.appendChild(cssText);
             theHead.appendChild(styleElement);
         }
      }
      var scriptfont = document.createElement('script');
         scriptfont.id = 'fontsize';
         scriptfont.type = 'text/javascript';
         scriptfont.src = '/prontus_multimedia/js-local/cambia_tam_fonts.js';
         theHead.appendChild(scriptfont);
      return true;
  } catch (e) {
      alert('setSkin:'+e);
      
  }
}



DRSkin.prototype.initHead = function(domain){
  try {
      if((domain == null) || (domain == '') || (domain.length == 0)){
          return false;
      }
      var theHead = document.getElementsByTagName('head')[0];
      if (theHead) {
         var scriptsup = document.createElement('script');
         scriptsup.id = this.elemScriptId+'sup';
         scriptsup.type = 'text/javascript';
         scriptsup.src = 'http://' + domain + '/matriz/head/headsuperior.js';
         theHead.appendChild(scriptsup);
         var scriptinf = document.createElement('script');
         scriptinf.id = this.elemScriptId+'inf';
         scriptinf.type = 'text/javascript';
         scriptinf.src = 'http://' + domain + '/matriz/head/headinferior.js';
         theHead.appendChild(scriptinf);
         var scripto = document.createElement('script');
         scripto.id = this.elemScriptId;
         scripto.type = 'text/javascript';
         scripto.src = 'http://' + domain + '/matriz/head/head.js';
         theHead.appendChild(scripto);
      }
      return true;
  } catch (e) {
      alert('initHead:'+e);
      
  }
}


/**
 * Realiza reemplazo de estilos con control de error en la carga
 * @param {Object} id  identifcador de nodo link
 * @param {Object} url fuente de nuevo estilo
 * @param {Object} localUrl fuente local en caso de fallar la carga de la remota
 */
DRSkin.prototype.changeCssIE = function(id, url, localUrl){
    try{
    var cssObj = document.getElementById(id);
    if (cssObj) {
        var originalSrc = cssObj.href;
        addEvent(cssObj, 'error', function(e){
        // alert('No se pudo cargar la css.loaaaaaaading default'+e);
        var target = e.target || e.srcElement;
        target.href = originalSrc;//localUrl;// '/prontus_multimedia/css/global.css';
        e.cancelBubble = true;
        if (e.stopPropagation) e.stopPropagation();
        }, true);
        cssObj.href = url;
    }
    }catch(e){/*alert('changeCssIE:'+e);*/}
}


/**
 * 
 */
function DRUtils(){}

DRUtils.prototype.getRequestParam =  function(){
  var url = document.URL;
  var msg = '';
  var msg_start = url.indexOf("s=");
  if (url.indexOf("&", msg_start) > 0) {
    var msg_end = url.indexOf("&", msg_start);
  }else{
    var msg_end = url.length;
  };
  if ((msg_start > 0) && ((msg_start + 2) < msg_end)) {
    msg = url.substring(msg_start + 2, msg_end);
    msg = unescape(msg);
  };
  return msg;
}



function writeHead(contenido){
    var containerHead = document.getElementById('cabecera');
    if (containerHead) {
       containerHead.innerHTML = contenido;
    }
}

function writeHeadSup(contenido){
    var containerHead = document.getElementById('cabeceraSup');
    if (containerHead) {
       containerHead.innerHTML = contenido;
    }
}

function writeHeadInf(contenido){
    var containerHead = document.getElementById('cabeceraInf');
    if (containerHead) {
       containerHead.innerHTML = contenido;
    }
}

function chargeElement(elemID, urlSrc){
    try{
        var objElem = document.getElementById(elemID);
        if(objElem){
            var scripto   = document.createElement('script');
//         script.id    = ''
             scripto.type = 'text/javascript';
             scripto.src  = urlSrc;
             objElem.appendChild(scripto);
//        alert('Elemento encontrado'+urlSrc+'-->'+elemID);;      
        }
    }catch(e){
        alert('chargeElement: '+e)
    }
}

function fillHtmlElement(elemID,contenido){
    try{
        var objElem = document.getElementById(elemID);
        if(objElem){
            objElem.innerHTML = contenido;
        }
    }catch(e){
        alert('chargeElement: '+e)
    }
};

function addScript(path){
    try {
        var theHead = document.getElementsByTagName('head')[0];
        var scriptsup2 = document.createElement('script');
        scriptsup2.type = 'text/javascript';
        // alert('http://' + window.location.hostname + path);
        scriptsup2.src = 'http://' + window.location.hostname + path;
        theHead.appendChild(scriptsup2);
    } catch (e) {
        alert(e);
    }
}
