/* ****************************************************************************
Copyright 2008,
Todos los derechos Reservados
CAMARA DE COMERCIO DE MEDELLIN PARA ANTIOQUIA

DESARROLLADO POR:
CM.COM E.U.
cmhenao@epm.met.co

El uso sin solicitud expresa a la compañia de esta libreria es una clara
violación a la propiedad intelectual y los derechos de autor.
**************************************************************************** */

/* ****************************************************************************
Autor: Jhon Alejandro Ramirez Velez
       Desarrollador
       Progress - WebSpeed
       jhalrave@une.net.co - jhalrave@gmail.com
**************************************************************************** */
function CargarDependencias(){
  if(window.CurrentDependency == undefined || window.CurrentDependency == null){
    window.CurrentDependency = 0;
    window.Messages = document.createElement('DIV');
    window.Messages.style.border          = "1px solid #b2b2b2";
    window.Messages.style.marginTop       = "250px";
    window.Messages.style.padding         = "30px";
    window.Messages.style.paddingLeft     = "50px";
    window.Messages.style.marginLeft      = "150px";
    window.Messages.style.fontSize        = "12px";
    window.Messages.style.fontWeight      = "bolder";
    window.Messages.style.color           = "#2F4F4F";
    window.Messages.style.width           = "50%";
    window.Messages.style.height          = "20%";

    var oBar = document.createElement('DIV');
    oBar.style.backgroundColor            = "#e2e2e2";
    oBar.style.border                     = "1px solid #b2b2b2";
    oBar.style.textAlign                  = "left";
    var oText = document.createElement('SPAN');

    window.Messages.appendChild(oBar);
    window.Messages.appendChild(oText);

    window.Messages.wBar = oBar;
    window.Messages.wLabel = oText;
    
    oBar  = null;
    oText = null;

    document.body.appendChild(window.Messages);
  }
  var oClass = DEPENDECIES[window.CurrentDependency++];
  Message(oClass.className, oClass, 'Cargando');
  loadScript('', oClass.className, CallBack);
}

function CallBack(sClass){
  Message(sClass, null, 'CARGADO');
  if(window.CurrentDependency < DEPENDECIES.length){
    CargarDependencias();
  }else{
    cmcom.utils.removeElement(window.Messages, true);
    var oApp = new cApplication();
    oApp.code_name = CONFIG.APP_CODE;
    application = oApp;
    app = oApp;
    oApp.classes['menu'] = "cActualizacionProponente";
    oApp.init();
    oApp.start();
    startUtils();
  }
}

function Message(sClass, oClase, sStatus){
  var datos = window.Messages;
  dato = datos[sClass];
  if(dato == undefined){
    datos[sClass] = oClase;
    datos.wLabel.innerText = "CARGANDO " + oClase.description + " ...";
  }else{
    if(dato.baseClass){
      sClassName = dato.baseClass;
    }else{
      var aClassName = sClass.split('.');
      var sClassName = aClassName.pop();
    }
    datos.wBar.style.width = (50 + 15 * window.CurrentDependency) + "px";
    datos.wBar.innerText = (window.CurrentDependency + 1) + " de " + DEPENDECIES.length;
    datos.wLabel.innerText = dato.description + (window[sClassName]?" OK":" FAILED " + sClass);
  }
}
