if (typeof(CDSBE) == 'undefined')
{
   var CDSBE = {
   HostName: "http://content.cdsbe.com",
   //HostName: "http://localhost:4040",
   //HostName: "",
   ClientGroupID: "MSDSB",
   ClientID: "MUO001",
   Version: 1,
   
   InstanceID: null,
   BaseURL: null,
   VersionBaseURL: null,
   CoreBaseURL: null,
   SharedBaseURL: null,
   ScriptBaseURL: null,
   CssBaseURL: null,
   ImagesBaseURL: null,
   JsonTemplateBaseURL: null,
   JsonBaseURL: null,
   ContentBaseURL: null,
   IsHttps: 0,
   ScriptTagStart: " <script type='text/javascript' src='",
   ScriptTagEnd: "'></script>",
   SyndicatorID: null,
   CreateRandom: function(){
      do
      {
         result = Math.random();
      }
      while(result == 0 || result == 1)
      return result.toString().substring(2);
   },
   Initialize: function(){
      CDSBE.InstanceID = CDSBE.CreateRandom(); 
      if(location.href.substr(0,5) == "https")
      {
         CDSBE.HostName = CDSBE.HostName.replace("http","https");
         CDSBE.IsHttps = 1;
      } 
      CDSBE.BaseURL = CDSBE.HostName + "/" + CDSBE.ClientGroupID + "/" + CDSBE.ClientID + "/";
      CDSBE.VersionBaseURL = CDSBE.BaseURL + CDSBE.Version + "/";
      CDSBE.CoreBaseURL = CDSBE.VersionBaseURL;
      CDSBE.SharedBaseURL = CDSBE.CoreBaseURL + "shared/";
      CDSBE.ScriptBaseURL = CDSBE.SharedBaseURL;
      CDSBE.CssBaseURL = CDSBE.SharedBaseURL + "_css/";
      CDSBE.ImagesBaseURL = CDSBE.SharedBaseURL + "_images/";
      CDSBE.JsonTemplateBaseURL = CDSBE.SharedBaseURL;
      CDSBE.JsonBaseURL = CDSBE.VersionBaseURL + "json/";
      CDSBE.ContentBaseURL = null; // cdsInitialized() call needed to set this value
   },
    addToDom : function(path, type) {
        var html_doc = document.getElementsByTagName('head').item(0);
        var item = null;
        if (type == "js")
        {
            item = document.createElement('script');
            item.setAttribute('language', 'javascript');
            item.setAttribute('type', 'text/javascript');
            item.setAttribute('src', path);
        }
        else if (type == "css")
        {
            item = document.createElement('link');
            item.setAttribute('type', 'text/css');
            item.setAttribute('href', path);
            item.setAttribute('rel', 'stylesheet');
        }
        html_doc.appendChild(item);
        return false;
    },
   LoadApiComponents: function(SyndicatorID){
        
      document.write(CDSBE.ScriptTagStart + CDSBE.ScriptBaseURL + "CDS.aswindow.js" + CDSBE.ScriptTagEnd);
      document.write(CDSBE.ScriptTagStart + CDSBE.ScriptBaseURL + "CDS.api.js" + CDSBE.ScriptTagEnd);
      
      //CDSBE.addToDom(CDSBE.ScriptBaseURL + "CDS.aswindow.js", "js");
      //CDSBE.addToDom(CDSBE.ScriptBaseURL + "CDS.api.js", "js");
   },
   LoadScriptFile: function(fileName, cacheBust){
      var cdsbeCoreParam = "?A=1" + "&S=" + CDSBE.IsHttps 
            + "&II=" + CDSBE.InstanceID + "&CGI=" + CDSBE.ClientGroupID
            + "&CI=" + CDSBE.ClientID + "&V=" + CDSBE.Version 
            + "&SI=" + CDSBE.SyndicatorID + "&CB=" + cacheBust;
      CDSBE.addToDom(CDSBE.ScriptBaseURL + fileName + cdsbeCoreParam, "js");
      //document.write(CDSBE.ScriptTagStart + CDSBE.ScriptBaseURL + fileName + cdsbeCoreParam + CDSBE.ScriptTagEnd);
   }
   };
   
   function cdsInitialize(SyndicatorID,GeoLang)
   {
       CDSBE.SyndicatorID = SyndicatorID;

       // DDD Added
       CDSBE.ContentBaseURL = CDSBE.HostName + "/" + CDSBE.ClientGroupID + ((CDSBE.HostName.indexOf("localhost") != -1) ? "" : ("/" + CDSBE.ClientID + "/" + CDSBE.SyndicatorID))  + "/content/";     
       CDS.Private.gContentBaseURL = CDSBE.ContentBaseURL;
       
       CDS.SyndicatorID = SyndicatorID;
      
      if (SyndicatorID.toString().toLowerCase() == "fill_in_syndicatorid_here")
      {
         cdsInsertSyndicatorWarning();
      }      
      
      if(GeoLang != null && GeoLang != "")
      {
         CDS.GeoLang = Geolang;
      }
      
      CDSBE.LoadScriptFile("CDS.postinit.js", CDSBE.InstanceID);
   }
   
   function cdsInsertSyndicatorWarning()
   {
      if (document.body && document.body.firstChild)
      {
         var isIE = (window.ActiveXObject) ? true : false;
         var isMozilla = (document.implementation.createDocument) ? true : false;
         var idString = "cdsInsertSyndicatorWarning";
         var styleString = "position:relative;margin-bottom:10px;padding:10px;background-color:Red;width:580px;height:60px;color:White;font-family:Arial;font-weight:bold;";
         var div = document.createElement("div");
         div.setAttribute("id",idString);
         var text = document.createTextNode("The Syndicator ID used on this page is not authorized for production use. Please contact your account manager or support@cdsbe.com to get a valid Syndicator ID.");
         div.appendChild(text);
         document.body.insertBefore(div,document.body.firstChild);
         div = document.getElementById(idString);
         
         if(isIE)
         {
            div.style.cssText = styleString;
         }
         else
         {
            div.setAttribute("style",styleString);
         }
      }
      else
      {
         setTimeout(cdsInsertSyndicatorWarning, 200);
      }
   }
   
   CDSBE.Initialize();
   CDSBE.LoadApiComponents();
}
