biooncIAC.analytics = {
  
  adapters : ["googleAnalytics", "omniture"],
  
  callAdapters : function() {
    
    var fnName = arguments[0],
        args = Array.prototype.slice.call(arguments, 1),
        adapters = this.adapters,
        l = adapters.length,
        currentAdapter = null;
    
    while (l--) {
      currentAdapter = adapters[l];
      if (typeof biooncIAC[currentAdapter] === 'object') {
        currentAdapter = biooncIAC[currentAdapter];
        
        if (typeof currentAdapter[fnName] === 'function') {
          currentAdapter[fnName].apply(currentAdapter, args);
        } else if (typeof currentAdapter['defaultCall'] === 'function') {
          currentAdapter['defaultCall'].apply(currentAdapter, arguments);
        }
         
      }
    }
    
  }
  
};

biooncIAC.googleAnalytics = {
   
  // This is called if googleAnalytics[methodName] isn't a function or doesn't exist
  defaultCall: function() {
    var defaultArgs = ['_trackEvent'],
        fnName = arguments[0],
        params = Array.prototype.slice.call(arguments, 1),
        gaCall = defaultArgs.concat(fnName).concat(params);
     
    _gaq.push(gaCall);
  }
   
};

biooncIAC.omniture = {
   
  changeFontSize: function(value) {
    s.linkTrackVars='events,eVar21';
    s.linkTrackEvents='event13';
    s.prop21=s.eVar21=value;
    s.events='event13'
    s.tl(this,'o',s.pageName+'|changefontsize');
    s.linkTrackVars='prop35,prop36,prop37,prop38,eVar35,eVar36,eVar37,eVar38';
    s.linkTrackEvents='None';
  },
   
  printPage: function() {
    s.linkTrackVars='events';
    s.linkTrackEvents='event10';
    s.events='event10';
    s.tl(this,'o',s.pageName+'|printpage');
    s.linkTrackVars='prop35,prop36,prop37,prop38,eVar35,eVar36,eVar37,eVar38';
    s.linkTrackEvents='None';
  },
  
  printQuestions: function(questions) {
    var s_linkTrackVarsTemp = s.linkTrackVars; 
    var s_linkTrackEventsTemp = s.linkTrackEvents; 
    s.linkTrackVars='prop47,eVar47';
    s.prop47=s.eVar47= questions;
    s.tl(this,'o',s.pageName+'|print_questions'); 
    s.linkTrackVars = s_linkTrackVarsTemp; 
    s.linkTrackEvents = s_linkTrackEventsTemp; 
    clearOmniVar(); 
  },
 
  emailPage: function(status, msg) {
    if (status == "error") {
      s.linkTrackVars='events';
      s.linkTrackEvents='event14';
      s.prop19=s.eVar19=msg;
      s.events='event14';
      s.tl(this,'o',s.pageName+'|emailpage');
      s.events='';
      s.linkTrackVars='prop35,prop36,prop37,prop38,eVar35,eVar36,eVar37,eVar38';
      s.linkTrackEvents='None';
    } else if (status == "success") {
      s.linkTrackVars='events';
      s.linkTrackEvents='event11';
      s.events='event11';
      s.tl(this,'o',s.pageName+'|emailpage');
      s.events='';
      s.linkTrackVars='prop35,prop36,prop37,prop38,eVar35,eVar36,eVar37,eVar38';
      s.linkTrackEvents='None';
    }
  },
  
  setIndication: function() {
    var currentUrl = window.location.href.toLowerCase(),
        allIndications = "",
        indicationTests = [
          {
            url : "/breast-cancer",
            indication : "mbc|her2bc"
          },
          {
            url : "/colon-cancer",
            indication : "crc"
          },
          {
            url : "/lung-cancer",
            indication : "nsclc"
          },
          {
            url: "/stomach-cancer",
            indication: "gas"
          },
          {
            url: "/kidney-cancer",
            indication: "rcc"
          },
          {
            url: "/ovarian-cancer",
            indication: "ova"
          },
          {
            url: "/skin-cancer",
            indication: "skn"
          },
          {
            url: "/pancreatic-cancer",
            indication: "pc"
          }
        ];
    
    for (var i = 0, m = indicationTests.length; i < m; i++) {
      var indicationTest = indicationTests[i],
          url = indicationTest.url.toLowerCase(),
          indication = indicationTest.indication.toLowerCase();
          
      if (currentUrl.indexOf(url) > -1) return indication;
    }
    
    // Fallback
    return "all";
    
  }
   
};
