

if(typeof MTVi == "undefined"){
   MTVi = {};
}

MTVi.version = "0.1";
MTVi.scriptname = "MTVi.js";
MTVi.scriptpath = "";
MTVi.scriptparent = "";
MTVi._debug = true;

MTVi.modules = [
//   "Ads",
   "Reporting",
//   "AJAX",
//  "DOM",
   "Util" 
];


/* check compatibility for older browsers array and add module if necessary */
if(typeof Array.prototype.push == "undefined"){
   MTVi.modules[MTVi.modules.length]= "Compat";
}


MTVi.toString = function (){
   return "MTV Javascript Package version " + this.version + " Active Modules: " + this.modules.toString();
}


MTVi.debug = function(msg){
         
   if(MTVi._debug){
      try{
         var d = document.getElementById("debug");
         d.innerHTML += msg + "<br>";
      }catch(e){
         alert(msg);
      }
   }
}


MTVi.addOnloadEvent = function(func){
  if (window.attachEvent){
    window.attachEvent("onload", func);
  }
  if(window.addEventListener){
    window.addEventListener("load", func, false);
  }
  return this;
}


MTVi.loadModule = function(module){


      var mod; 
      if (module.indexOf(".js")==-1)  { 
         mod = MTVi.scriptpath + module + ".js";
      } else {
         mod = module;
      }

      if(typeof document.createElement != "undefined"){
         var scr = document.createElement('script');
         scr.setAttribute("type", "text/javascript");
         scr.setAttribute("src", mod);
         scr.setAttribute("defer", true);
         MTVi.scriptparent.appendChild(scr);
      } else {
         document.write("<scr" + "ipt type='text/javascript' src='" + mod + "'><" + "/" + "scr" + "ipt>");
      }

}

MTVi.locateBase = function(){

   var scripts = document.getElementsByTagName("script");
   var path;
   for (var i=0;i<scripts.length;i++){
      if(scripts[i].src.indexOf(MTVi.scriptname)!= -1){
         MTVi.scriptpath = (scripts[i].src.substring(0,scripts[i].src.indexOf(MTVi.scriptname)));
         MTVi.scriptparent = (scripts[i].parentNode); 
      }
   }
}

MTVi.loadModules = function(){

   for (var i=0;i<MTVi.modules.length;i++){
      MTVi.loadModule(MTVi.modules[i]);
   }
}


MTVi.loadAdditionalModules = function(){

   if(typeof MTVi_additional_modules != "undefined"){
      for(var i=0;i<MTVi_additional_modules.length;i++){
         MTVi.loadModule(MTVi_additional_modules[i]);
      }
   }
}


MTVi.loadConfigModules = function(){

   if(typeof MTVi_config_modules != "undefined"){
      for(var i=0;i<MTVi_config_modules.length;i++){
         MTVi.loadModule(MTVi_config_modules[i]);
      }
   }
}

try {
   MTVi.locateBase();
}catch(e){
   window.status = e.message;
}

   MTVi.loadConfigModules();
   MTVi.loadModules();
   MTVi.loadAdditionalModules();

