try { document.execCommand('BackgroundImageCache', false, true); } catch(e) {}

DOM = YAHOO.util.Dom;
EVT = YAHOO.util.Event;

LINK_DISCLAIMER = 'The link you have selected will take you away from this site to one that is not owned or controlled by Genentech, Inc. Genentech, Inc. makes no representation as to the accuracy of the information contained on sites we do not own or control.\n\n Genentech does not recommend and does not endorse the content on any third-party websites. Your use of third-party websites is at your own risk and subject to the terms and conditions of use for such sites.';

LINK_DISCLAIMER2 = "NDICATIONS AND USAGE<br />Non-Hodgkin&apos;s Lymphoma (NHL)<br />Rituxan&#174; (rituximab) is indicated for the treatment of patients with:<br />Relapsed or refractory, low-grade or follicular, CD20-positive, B-cell NHL as a single agent<br />Previously untreated follicular, CD20-positive, B-cell NHL in combination with CVP chemotherapy<br />Non-progressing (including stable disease), low-grade, CD20-positive B-cell NHL, as a single agent, after first-line CVP chemotherapy<br >Previously untreated diffuse large B-cell, CD20-positive NHL in combination with CHOP or other anthracycline-based chemotherapy regimens<br />Rheumatoid Arthritis<br />Rituxan&#174; (rituximab) in combination with methotrexate is indicated to reduce signs and symptoms and to slow the progression of structural damage in adult patients with moderately-to severely- active rheumatoid arthritis who have had an inadequate response to one or more TNF antagonist therapies.<br /><br />BOXED WARNINGS and Additional Important Safety Information<br />The most important serious adverse reactions of Rituxan are fatal infusion reactions, tumor lysis syndrome (TLS), severe mucocutaneous reactions, progressive multifocal leukoencephalopathy (PML), hepatitis B reactivation with fulminant hepatitis, other viral infections, cardiovascular events, renal toxicity, and bowel obstruction and perforation. The most common adverse reactions of Rituxan (incidence &#8805;25 observed in patients with NHL are infusion reactions, fever, chills, infection, asthenia, and lymphopenia. The most common adverse reactions of Rituxan observed in patients with RA are hypertension, nausea, upper respiratory tract infection, arthralgia, pruritus, and pyrexia.<br />Attention healthcare provider: Provide Medication Guide to patient prior to Rituxan infusion.<br />For additional safety information, please see the full prescribing information, including BOXED WARNINGS and Medication Guide.";

PRODUCT_POPUP = "You are about to enter the Genentech BioOncology promotional product information section. This section includes information and resources related to our approved products.";

RESEARCH_DISCLAIMER = "You are now entering the Research Education section of BioOncology.com";

RESEARCH_POPUP = "You are about to enter the Genentech BioOncology research section. This section includes information and resources related to our pipeline and areas of research.  Products under investigational study have not been approved by the FDA for the use under investigation.  The information is presented only for purposes of providing an overview of areas of research focus and should not be construed as recommendation for use of any product for unapproved uses.";

function init() {
  //textzoom
  document.body.style.fontSize = textzoom.LEVELS[textzoom.index] + '%';
  
  // initialize nav sub-menus
 
  var nav = document.getElementById('nav-primary');
  var hasSub = DOM.getElementsByClassName('has-sub', 'a', nav);
  for (var i = 0; i < hasSub.length; i++) {
    var span = document.createElement('span');
    hasSub[i].appendChild(span);
  }
			
  var el, i=0;
  while((el = DOM.getElementsByClassName('drawer')[i++]) != null) {
    var prefix = el.id.split("-label")[0];
    // initialize drawer sliders
    var drawer = document.getElementById(prefix+'-drawer');
    if (drawer) {
      new Drawer(prefix+'-drawer', 0.15, Drawer.RIGHT);

      var label = document.getElementById(prefix+'-label');
      var a = label.getElementsByTagName('a')[0];

      YAHOO.util.Event.addListener(a, 'click', toggleDrawer);
    }
  }
  
  // initialize links
  var anchor, i = 0;
  while ((anchor = document.getElementsByTagName('a')[i++]) != null) {
    if (DOM.hasClass(anchor, 'external'))
      anchor.setAttribute('target', '_blank');
      if (DOM.hasClass(anchor, 'third-party')) 
      EVT.addListener(anchor, 'click', disclaimLink);
    if (DOM.hasClass(anchor, 'pi-download'))
      EVT.addListener(anchor, "click", downloadPi);
    if (DOM.hasClass(anchor.parentNode, 'jump-research'))
      EVT.addListener(anchor, "click",jumpToResearch);
  }
  productPopupInit();
  if($$(".pro-content").length>0)initDownloadPi($$(".pro-content")[0]);
  if($("pro-callout")!=undefined)initVisualComponents();
  if($("email-form")!=null) var emailPage = new EmailPage();
  if(document.getElementById('eprints')!=undefined) ePrintsInit();
}

function initDownloadPi(tg){
  tg.getElementsBySelector(".pro-left a",".pro-right a").each(function(el){
    el.observe("click",downloadPi.bind(this));
  }.bind(this));
}

function downloadPi(ev){
  var links = $$(".pro-pi a");
  if(links.length>0){
    var piUrl = $$(".pro-pi a")[0].href;
    var url = ev.findElement('a').href;
    var att = (Prototype.Browser.Gecko)? "width=0,height=0": "";
    if(url!=piUrl && url.endsWith(".pdf"))  window.open(piUrl,'Prescribing_Information',att);
  }
}

function toggleDrawer(e) {
  var target = EVT.getTarget(e);
  var prefix = target.parentNode.id.split("-label")[0];
  var drawer = Drawer.all[prefix+'-drawer'];
  if (drawer && !drawer.moving) {
    drawer.activate();
  }
  EVT.stopEvent(e);
}

YAHOO.util.Event.addListener(window, 'load', init);

// text zoom control

textzoom = {};
textzoom.LEVELS = [55, 62.5, 70, 75];
textzoom.DEFAULT_INDEX = 1;
textzoom.index = Number(getCookie('zoom') || textzoom.DEFAULT_INDEX);

textzoom.zoom = function(n) {
  var body = document.body;
  if(body.hasClassName("splash")) body.removeClassName("zoom"+textzoom.index);
  switch (n) {  
  case +1:
    textzoom.index = Math.min(textzoom.index+1, textzoom.LEVELS.length-1); 
  break;
  case -1:
    textzoom.index = Math.max(textzoom.index-1, 0);
  break;
  default: 
    textzoom.index = textzoom.DEFAULT_INDEX;
  break;
  }
  document.body.style.fontSize = textzoom.LEVELS[textzoom.index] + '%';
  setCookie('zoom', textzoom.index, 365, '/');
  if(body.hasClassName("splash")) body.addClassName("zoom"+textzoom.index);
  
};
document.write('<style type="text/css" media="screen">body { font-size: ' + textzoom.LEVELS[textzoom.index] + '%; }</style>');

function disclaimLink(e) {
  confirmRedirect(e, LINK_DISCLAIMER);
}

function jumpToResearch(e){ 
  confirmRedirect(e, RESEARCH_DISCLAIMER);
}

function confirmRedirect(e, disclaimer) {
  var target = EVT.getTarget(e);
  var isJumpResearch = DOM.hasClass(target.parentNode,"jump-research")
  if (target.tagName != 'A')
    target = target.parentNode;
  var href = target.href;
  EVT.stopEvent(e);

  var handleOK = function() {
    dialog.cfg.setProperty('visible', false, true);
    dialog.hide();
    if (DOM.hasClass(target, 'external') || DOM.hasClass(target.parentNode, 'external'))
      window.open(href);
    else
      location = href;
  };

  var handleCancel = function() {
    dialog.hide();
    dialog.destroy();
  };

  var dialog = new YAHOO.widget.SimpleDialog('dialog',
                                             {
                                               buttons: [ { text: isJumpResearch?"Proceed":'OK', handler: handleOK },
  { text: 'Cancel', handler: handleCancel } ],
                                               close: false,
                                               constraintoviewport: true,
                                               draggable: false,
                                               fixedcenter: true,
                                               icon: YAHOO.widget.SimpleDialog.ICON_WARN,
                                               text: disclaimer,
                                               underlay: 'none',
                                               visible: false,
                                               width: '315px',
                                               modal: true
                                             });
  dialog.setHeader('BioOncology.com');
  dialog.render(document.body);
  dialog.show();
}

function productPopupInit(){
   var isCookieSet = getCookie("isFirstTimeAC")==null;
   var targetSections = ["/pharmacists-center",
                         "/nurses-center",
                         "/fellows-center"];
   
   var isInSection = false;
  // console.info(isCookieSet);
   targetSections.each(function(section){
     if(location.href.include("/professional"+section+"/product-information")){
       if(isCookieSet)productPopup(PRODUCT_POPUP, "#")
       researchPopupInit();
       isInSection = true;
       throw $break;
     }
   })
    
  if(isCookieSet){
    if(!isInSection){         
      var selectors = [];
      targetSections.each(function(section){
        selectors.push('a[href*="'+'/professional'+section+'/product-information"]');
      });
      var links = $$(selectors);
      links.each(function(link){
        link.observe("click",function(ev){
          ev.stop();
          productPopup(PRODUCT_POPUP, link.href);
        });
      })
    }
  }
}

function researchPopupInit(){
  if(getCookie("isFirstTimeResearch")==null){
     var url = common.contextPath+'/research/';
     var links = $$('a[href*="'+url+'"]');
     links.each(function(link){
       link.observe("click", function(ev){
         ev.stop();
         productPopup(RESEARCH_POPUP, url);
       })
     })
   }
}

function productPopup(text, url){

  var handleOK = function() {
    if(url.include(common.contextPath+"/research/")){
      setCookie('isFirstTimeResearch', "no", 365, '/');
    }else{
      setCookie('isFirstTimeAC', "no", 365, '/');
    }
    destroy();
    location.href = url;
  };

  var handleCancel = function() {
    destroy();
    if(url == "#") location.href = common.contextPath;
  };
  
  var destroy = function(){
    dialog.hide();
    dialog.destroy();
  }
 
  var popUpText = new Element("div",{"class":"warning"}).update(text);
  
   var config = {
      modal: true,
      center: true,
      positionFixed: true,
      width: 380,
      containerCls: "dialog2-container",
      cls: "dialog2-bd",
      header: {
        cls: "dialog2-hd"
      },
      footer:{
        cls: "dialog2-ft",
        btns: {
          cls: "btns-cls",
          items: [{
            label: "OK",
            events: [{
              type: "click",
              func: handleOK
            }]
          },{
            label: "Cancel",
            events:[{
              type: "click",
              func: handleCancel
            }]
          }]
        } 
      }
    }
    
  var dialog = new meltmedia.Dialog(popUpText,config);
  dialog.init();
}
// utility functions

function getCookie(name) {
  var pattern = new RegExp('(^|; )' + name + '=([^;]*)');
  var m = document.cookie.match(pattern);
  return m && unescape(m[2]);
}

function setCookie(name, value, days, path, domain, secure) {
  var c = name + '=' + escape(value);
  var expires = null;
  if (days)
    expires = new Date(new Date().getTime() + (days * 24 * 60 * 60 * 1000));
  if (expires)
    c += '; expires=' + expires.toUTCString();
  if (path)
    c += '; path=' + path;
  if (domain)
    c += '; domain=' + domain;
  if (secure)
    c += '; secure';
  document.cookie = c;
}

function jumpTo(link){
  location.href = link;
}

/* slide deck */

function setContextPath(path) {
  contextPath = path;
}

function init_slidedeck() {
  meltmedia.example.slidedeck = new meltmedia.widget.SlideDeck("slidedeck",
                                                               {
                                                                 fixedcenter:true,
                                                                 constraintoviewport:true,
                                                                 underlay:"none",
                                                                 close:true,
                                                                 visible:false,
                                                                 draggable:false,
                                                                 modal:true,
                                                                 slides:[{src:contextPath+"/images/slidedecks/slidedeck1/Slide1.jpg",title:"HER dimerization inhibition MOA slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck1/Slide2.jpg",title:"HER dimerization inhibition MOA slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck1/Slide3.jpg",title:"HER dimerization inhibition MOA slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck1/Slide4.jpg",title:"HER dimerization inhibition MOA slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck1/Slide5.jpg",title:"HER dimerization inhibition MOA slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck1/Slide6.jpg",title:"HER dimerization inhibition MOA slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck1/Slide7.jpg",title:"HER dimerization inhibition MOA slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck1/Slide8.jpg",title:"HER dimerization inhibition MOA slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck1/Slide9.jpg",title:"HER dimerization inhibition MOA slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck1/Slide10.jpg",title:"HER dimerization inhibition MOA slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck1/Slide11.jpg",title:"HER dimerization inhibition MOA slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck1/Slide12.jpg",title:"HER dimerization inhibition MOA slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck1/Slide13.jpg",title:"HER dimerization inhibition MOA slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck1/Slide14.jpg",title:"HER dimerization inhibition MOA slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck1/Slide15.jpg",title:"HER dimerization inhibition MOA slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck1/Slide16.jpg",title:"HER dimerization inhibition MOA slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck1/Slide17.jpg",title:"HER dimerization inhibition MOA slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck1/Slide18.jpg",title:"HER dimerization inhibition MOA slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck1/Slide19.jpg",title:"HER dimerization inhibition MOA slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck1/Slide20.jpg",title:"HER dimerization inhibition MOA slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck1/Slide21.jpg",title:"HER dimerization inhibition MOA slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck1/Slide22.jpg",title:"HER dimerization inhibition MOA slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck1/Slide23.jpg",title:"HER dimerization inhibition MOA slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck1/Slide24.jpg",title:"HER dimerization inhibition MOA slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck1/Slide25.jpg",title:"HER dimerization inhibition MOA slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck1/Slide26.jpg",title:"HER dimerization inhibition MOA slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck1/Slide27.jpg",title:"HER dimerization inhibition MOA slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck1/Slide28.jpg",title:"HER dimerization inhibition MOA slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck1/Slide29.jpg",title:"HER dimerization inhibition MOA slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck1/Slide30.jpg",title:"HER dimerization inhibition MOA slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck1/Slide31.jpg",title:"HER dimerization inhibition MOA slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck1/Slide32.jpg",title:"HER dimerization inhibition MOA slide deck",description:""}],
                                                                 fulldeck:contextPath+"/content/Biooncology-SlideKit.ppt",
                                                                 count:true,
                                                                 width:"442px",
                                                                 height:"332px"
                                                               } );
  meltmedia.example.slidedeck.render();
}

function init_slidedeck2() {
  meltmedia.example.slidedeck2 = new meltmedia.widget.SlideDeck("slidedeck2",
                                                                {
                                                                  fixedcenter:true,
                                                                  constraintoviewport:true,
                                                                  underlay:"none",
                                                                  close:true,
                                                                  visible:false,
                                                                  draggable:false,
                                                                  modal:true,
                                                                  slides:[{src:contextPath+"/images/slidedecks/slidedeck2/Slide1.jpg",title:"Angiogeneis and VEGF slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck2/Slide2.jpg",title:"Angiogeneis and VEGF slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck2/Slide3.jpg",title:"Angiogeneis and VEGF slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck2/Slide4.jpg",title:"Angiogeneis and VEGF slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck2/Slide5.jpg",title:"Angiogeneis and VEGF slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck2/Slide6.jpg",title:"Angiogeneis and VEGF slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck2/Slide7.jpg",title:"Angiogeneis and VEGF slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck2/Slide8.jpg",title:"Angiogeneis and VEGF slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck2/Slide9.jpg",title:"Angiogeneis and VEGF slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck2/Slide10.jpg",title:"Angiogeneis and VEGF slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck2/Slide11.jpg",title:"Angiogeneis and VEGF slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck2/Slide12.jpg",title:"Angiogeneis and VEGF slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck2/Slide13.jpg",title:"Angiogeneis and VEGF slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck2/Slide14.jpg",title:"Angiogeneis and VEGF slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck2/Slide15.jpg",title:"Angiogeneis and VEGF slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck2/Slide16.jpg",title:"Angiogeneis and VEGF slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck2/Slide17.jpg",title:"Angiogeneis and VEGF slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck2/Slide18.jpg",title:"Angiogeneis and VEGF slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck2/Slide19.jpg",title:"Angiogeneis and VEGF slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck2/Slide20.jpg",title:"Angiogeneis and VEGF slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck2/Slide21.jpg",title:"Angiogeneis and VEGF slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck2/Slide22.jpg",title:"Angiogeneis and VEGF slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck2/Slide23.jpg",title:"Angiogeneis and VEGF slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck2/Slide24.jpg",title:"Angiogeneis and VEGF slide deck",description:""}],
                                                                  fulldeck:contextPath+"/content/Angiogenesis-SlideKit.ppt",
                                                                  count:true,
                                                                  width:"442px",
                                                                  height:"332px"
                                                                } );
  meltmedia.example.slidedeck2.render();
}

function init_slidedeck3() {
  meltmedia.example.slidedeck3 = new meltmedia.widget.SlideDeck("slidedeck3",
                                                                {
                                                                  fixedcenter:true,
                                                                  constraintoviewport:true,
                                                                  underlay:"none",
                                                                  close:true,
                                                                  visible:false,
                                                                  draggable:false,
                                                                  modal:true,
                                                                  slides:[{src:contextPath+"/images/slidedecks/slidedeck3/Slide1.jpg",title:"Apoptosis slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck3/Slide2.jpg",title:"Apoptosis slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck3/Slide3.jpg",title:"Apoptosis slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck3/Slide4.jpg",title:"Apoptosis slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck3/Slide5.jpg",title:"Apoptosis slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck3/Slide6.jpg",title:"Apoptosis slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck3/Slide7.jpg",title:"Apoptosis slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck3/Slide8.jpg",title:"Apoptosis slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck3/Slide9.jpg",title:"Apoptosis slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck3/Slide10.jpg",title:"Apoptosis slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck3/Slide11.jpg",title:"Apoptosis slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck3/Slide12.jpg",title:"Apoptosis slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck3/Slide13.jpg",title:"Apoptosis slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck3/Slide14.jpg",title:"Apoptosis slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck3/Slide15.jpg",title:"Apoptosis slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck3/Slide16.jpg",title:"Apoptosis slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck3/Slide17.jpg",title:"Apoptosis slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck3/Slide18.jpg",title:"Apoptosis slide deck",description:""},
  {src:contextPath+"/images/slidedecks/slidedeck3/Slide19.jpg",title:"Apoptosis slide deck",description:""}],
                                                                  fulldeck:contextPath+"/content/Apoptosis-SlideKit.ppt",
                                                                  count:true,
                                                                  width:"442px",
                                                                  height:"332px"
                                                                } );
  meltmedia.example.slidedeck3.render();
}

function showSlideDeck() {
  meltmedia.example.slidedeck.show();
}

function showSlideDeck2() {
  meltmedia.example.slidedeck2.show();
}

function showSlideDeck3() {
  meltmedia.example.slidedeck3.show();
}

function toggleDiv(id) {
  var divs=YAHOO.util.Dom.getElementsByClassName('bigImage');
  var links=YAHOO.util.Dom.getElementsByClassName('linkHighlight');

  for (i=0;i<divs.length;i++) {
    YAHOO.util.Dom.removeClass(divs[i], 'show');
    YAHOO.util.Dom.removeClass(links[i], 'active');
  }
  YAHOO.util.Dom.addClass(divs[id], 'show');
  YAHOO.util.Dom.addClass(links[id], 'active');
}

var safetyInfo = function(command) {
  var sidiv = document.getElementById("safetyInfo");
  var siels = sidiv.getElementsByTagName("div");
  switch(command) {
  case "closed":
    sidiv.style.display = "none";
    for(var i=0; i<siels.length; i++) {
      siels[i].style.display = "none";
    }
    break;
  case "none":
    sidiv.style.display = "none";
    break;
  default:
    sidiv.style.display = "block";
    document.getElementById(command.toLowerCase()).style.display = "block";
    break;
  }
};

var common = {
  pageInfo: {
    init: function(context, page) {
      this.page = page;
      this.contextPath = context;

    }
  }
};

/** USB Ajax Controls **/

var usb = {
  init: function(ev) {
    this.form = document.forms["promo-code"];

    // Override the default form submission
    this.form.submit = usb.submit;
    this.form.callback = this.callback;

    for (var i=0; i<this.form.childNodes.length; i++) {
      if (this.form.childNodes.item(i).nodeName.toLowerCase() == "input" &&
          this.form.childNodes.item(i).type == "image") {
        YAHOO.util.Event.addListener(this.form.childNodes.item(i), "click", this.verify, this, true);
      } 
    }

    if (this.form.elements["code"]) {
      var code = this.form.elements["code"];
      YAHOO.util.Event.addListener(code, "keypress", this.verify, this, true);
      /*
        if(!code.keyListener) {
        code.keyListener = new YAHOO.util.KeyListener(code,
        { keys: 13 },
        { fn: usb.verify,
        scope: usb,
        correctScope: true }, "keyup");
        code.keyListener.enable();
        }
      */
    }
  },

  doPromo: function(command) {
    var cObj = YAHOO.util.Connect.asyncRequest("POST", command, this.promoCallback);
    ajaxLoader.show();
  },

  submit: function() {
    YAHOO.util.Connect.setForm(this);
    var cObj = YAHOO.util.Connect.asyncRequest(this.method, this.action, this.callback);
    return false;
  },

  verify: function(ev) {
    if(ev.type == "click" || ev.keyCode == 13) {
      YAHOO.util.Event.stopEvent(ev);
      this.form.submit();
      ajaxLoader.show();
    }
  },

  callback: {
    customevents: {
      onSuccess: function(ev, args) {
        if(args[0].responseText.indexOf("unvalidated") > -1) {
          if(this.error) {
            this.error.parentNode.removeChild(this.error);
          }
        } else if (args[0].responseText.indexOf("validated") > -1) {
          document.getElementById("promo-code").style.display = "none";
          document.getElementById("questionnaire").className = "";
          if(this.error) {
            this.error.parentNode.removeChild(this.error);
          }
        } else if (args[0].responseXML.firstChild.childNodes.length <= 0) {
          if(!this.error) {
            this.error = document.createElement("DIV");
            error.id = "error";
            error.className = "error";
            error.innerHTML = "<p>There was an error verifying your code. Please ensure it is entered correctly and try again.</p>";
            YAHOO.util.Dom.insertBefore(error, document.getElementById("promo-code").firstChild.firstChild);
          }
        }
        ajaxLoader.hide();
      },

      onFailure: function(ev) {
        alert("Failed");
      }
    }
  },

  promoCallback: {
    customevents: {
      onSuccess: function(ev, args) {
        if(args[0].responseXML.firstChild.childNodes.length > 0) {
          document.getElementById("promo-code").innerHTML = args[0].responseText;
        } else {
          document.getElementById("promo-code").innerHTML = "<span style='display:block;padding:10px 20px'>Empty response.</span>"
        }
        usb.init();
        ajaxLoader.hide();
      },

      onFailure: function(ev) {
        alert("Failed");
      }
    }
  }
};

var ajaxLoader = {
  init: function(el) {
    var root = (document.getElementById(el)) ? document.getElementById(el) : el;
    var div = document.createElement("DIV");
    div.id = "ajax-loader";
    root.appendChild(div);
    var img = document.createElement("IMG");
    img.setAttribute("src", common.pageInfo.contextPath+"/images/ajax-loader.gif");
    div.appendChild(img);
    div.style.display = "none";
    this.getEl = function() {
      return div;
    }
  },
  show: function() {
    this.getEl().style.display = "block";
  },
  hide: function() {
    this.getEl().style.display = "none";
  }
};


// accordion
var initVisualComponents = function(){
  var acs = [];
  var count = 0;
  var aIndex = 0;
  $$("#pro-callout li").each(function(item){
    var a = item.select("a")[0];
    var isAActive = a.hasClassName("selected")?true:false
    acs.push(new VisualComponents.Accordion(a,item.select("div")[0],{
      isParentControlling:true,
      activeClassName:"selected",
      index:count,
      active: isAActive,
      eventName: "mouseover"
    }));
    if(isAActive)aIndex = count;
    count++;
  });
  var accordions = new VisualComponents.Accordions(acs,{isSingleOpen:true,activeIndex:aIndex});
}

//ePrints

var ePrintsInit = function(){
  
  var types = ['string','string','string','string','date'];
  var counter = 0;
  var sortUp = false;
  var activeCol = 0;
  var ePrintsTable = new ePrints.dataTable('eprints-table', 'filter');
  ePrintsTable.sort(activeCol,'string',false);
  ePrintsTable.addClassName('col',0,"title-col");
  ePrintsTable.addClassName('col',1,"brand-col");
  ePrintsTable.addClassName('col',3,"author-col");
  ePrintsTable.addClassName('col',5,"disabled");
  document.observe("table:rendered", function(event) {
      $('eprints-table').removeClassName('disabled');
      $('eprints-loading').hide();
      document.stopObserving('table:rendered');
    });
  ePrintsTable.render();
 
  var sj = new Element("a",{"id":"safety-jump","class":"jump-safety-text","href":"#safety-info"}).update("Click here to view all Indication and Safety Information");
  var go = new Element("a",{"class":"btn-safety-go","href":"#safety-info"});
  $("filter").appendChild(sj);
  $("filter").appendChild(go);
    
  /** assigning events to first col */
  function setDonloadEvents(){
    ePrintsTable.getLine("col",0).each(function(col){
      col.el.select("a")[0].observe("click",setDownlaodResult.bindAsEventListener(ePrintsTable,col.rowNum));
    });
  };
  
  setDonloadEvents();
    
  /** setting the opacity of disable boxes */    
  $$(".disable-box").each(function(item){
    item.setOpacity(.5);
  });
   
  /** assigning event to back to eprint button */
 $("back-to-eprint").observe("click", function(ev){
   /** setting interface*/
   $$(".step1 .disable-box")[0].style.display = "none";
   $$(".step2 .disable-box")[0].style.display = "block";
   $('back-to-eprint').style.display = "none";
   $("eprints-download-section").style.display = "none";
   $("top-filter-bar").style.display = "block";
   $("eprints-table").style.display = "";
   onFilterChnage(ePrintsTable.getUniqueItems(1));
 }.bind(this));
    
  /** asssigning event to step1 buton */
  $('pi-dl-btn').observe("click",function(ev){
    setTimeout(function(){
      $$(".step2 .disable-box")[0].style.display = "none"; 
      $$(".step1 .disable-box")[0].style.display = "block";
    },1000);
  });
  
  
  document.observe("filter:changed", function(event) {
    ePrintsTable.filter.go();
    onFilterChnage(ePrintsTable.getUniqueItems(1));
  });

  
  $('eprints-table').childElements()[0].down().childElements().each(function(_th){
    _th.addClassName('table-btn-'+counter);
    counter++;
    
    _th.observe('mousedown', function(event){
    
      var element = (event.element().tagName=="TH")? event.element() : event.element().parentNode;
      var _i = element.className.split("table-btn-")[1].charAt(0);
      removeAllBlue();
      element.addClassName('blue');
  
      if (sortUp) {
        element.addClassName('sort-up');
      } else {
        element.addClassName('sort-down');
      }   
      sortUp = !sortUp;
      ePrintsTable.sort(_i,types[_i], sortUp);
      ePrintsTable.render(); 
      setDonloadEvents();
      modifyInnerTexts();
     
      if(ePrintsTable.filter.activeFilter!="none")ePrintsTable.filter.go();
    });
  });
  modifyInnerTexts();
  
  function modifyInnerTexts(){
    $$(".author-col").each(function(_td){
        //uncomment if you want to show full authors
        //var p =  _td.select("p")[0];
        //p.title = p.innerHTML;
        var names = _td.childElements()[0].innerHTML.split(',');
        if (names.length > 1) {
          var text = names[0] + ", " + names[1] + ", et. al.";
          _td.childElements()[0].innerHTML = text;
        }
      
      });
    /*$$(".title-col").each(function(_el){
        _el.childElements()[0].childElements()[0].innerHTML = _el.childElements()[0].childElements()[0].innerHTML.substring(0, 100) + "...";
      }); */
  };
  
  function removeAllBlue(){
    $('eprints-table').childElements()[0].down().childElements().each(function(_th){
        _th.removeClassName('blue');
        _th.removeClassName('sort-down');
        _th.removeClassName('sort-up');
      });
  };
  
  function setDownlaodResult(ev){
    var piLink = {
      herceptin: "http://www.gene.com/gene/products/information/oncology/herceptin/insert.jsp",     
      avastin: "http://www.gene.com/gene/products/information/oncology/avastin/insert.jsp",
      rituxan: "http://www.gene.com/gene/products/information/immunological/rituxan/insert.jsp", 
      tarceva: "http://www.gene.com/gene/products/information/pdf/tarceva-prescribing.pdf"
    };
    
    /* showing download section */
    $("back-to-eprint").style.display = "block";
    $("top-filter-bar").style.display = "none";
    $("eprints-download-section").style.display = "block";
    $("eprints-table").style.display = "none";
    scroll(0,0);
    ev.stop();
    
    var tgIds = ["result-eprint-title","result-eprint-brand","result-eprint-tumor","result-eprint-author","result-eprint-date","result-eprint-disc"];
    
    var rowNum = $A(arguments)[1];
    var row = this.getLine("row",rowNum);
    var i = 0;
    /* updating the result */
    row.each(function(item){ 
      var el = item.el;
      var dataEl = el.hasClassName("title-col")? el.select('a')[0] : el.childElements().length>0? el.childElements()[0]: null;
      var tgItem = $(tgIds[i++]);
      if(dataEl!=null){
        if(el.hasClassName("disabled"))tgItem.parentNode.style.display = "block";  
        /* setting step2 link */
        if(typeof dataEl.href == "string" && dataEl.href.length>1){
          $("eprint-dl-btn").href = dataEl.href;
        }; 
        /* setting step1 link */
        if (el.hasClassName("brand-col")) {
          var brandName = el.select("p")[0].innerHTML.split(" ")[0].strip();
          onFilterChnage([brandName]);
          $("pi-dl-btn").href = piLink[brandName.toLowerCase()];
          $("pi-dl-btn").target = "_blank";
        };
  
        if(dataEl.title != ""){
          tgItem.update(shrinkIfBig(dataEl.title,Prototype.Browser.IE?9:10));
        }else{   
          if (dataEl.firstChild != null) {
            tgItem.update(dataEl.innerHTML);
          }else{
            tgItem.update("N/A");
          }
        }
      }else{
       /* if disclaimer is empty */
        if(el.hasClassName("disabled"))tgItem.parentNode.style.display = "none";  
      }
    });
    
    function shrinkIfBig(str,size){
      return str.length>190? "<span style='font-size:"+size+"px'>"+str+"</span>" : str;
    };
    
  };
  
  var onFilterChnage = function(activeItems){
  
    $$("#safety-info div.safety-item").each(function(el){
      el.addClassName("disabled");
    });  
    
    activeItems.each(function(item){
      $(item.split("(")[0].strip().toLowerCase()+"-safety").removeClassName("disabled");
    });
   
  }

}

function slidedeckSWFShow(swfID) {
	slidedeckSWFHide();
	hideVideo(); 
	$(swfID).show();
};

function slidedeckSWFHide(swfID) {
	$$(".swfSlidedeck").each(function(el){
  	el.hide();
  });  
};

