
  // --------------------------------------------------------------------------

  Zoomedia = {

    version: '1.0',

    redirect: function(url) {
      var anchor_pos = url.indexOf("#");
      document.location.href = (anchor_pos == -1) ? url : url.substr(0, anchor_pos);
    },

    print: function() {
      if (window.print) {
        window.print();
      } else {
        alert("Sorry, your browser doesn't support this feature.\nPlease use your browser's print button");
      }
      return false;
    }
  };

  // --------------------------------------------------------------------------

  Zoomedia.Menu = function(id) {
    if (id) {
      try { this.build( document.getElementById( id ) ); } catch(err) {}
    }
  };

  // --------------------------------------------------------------------------

  Zoomedia.Menu.prototype = {

    // ------------------------------------------------------------------------

    ptr: null,
    timer: null,
    delay: 1000,
    liList: [],

    // ------------------------------------------------------------------------

    setTimeOut: function(el) {
      var self = this;
      var id = el.getAttribute('id');
      this.timer = window.setTimeout(function() { self.mouseOut(document.getElementById(id)); }, this.delay);
    },

    // ------------------------------------------------------------------------

    mouseOut: function(el) {
      if (this.timer != null && this.ptr != null&& this.ptr.id == el.id) {
        if (!el.firstChild.getAttribute('on')) {
          el.firstChild.className = '';
        }

        for(var ulList = el.getElementsByTagName('ul'), i=0; i < ulList.length; ++i) {
          ulList.item(i).style.visibility = 'hidden';
        }

        for(var liList = el.getElementsByTagName('li'), i=0; i < liList.length; ++i) {
          liList.item(i).firstChild.className = '';
        }

        this.ptr = null;
        this.liList = new Array();

        return;
      }

      var className = '';
      for(var i=0; i < this.liList.length; i++) {
        if (this.liList[i] == el.id) {
          className = 'hover';
          break;
        }
      }

      if (!el.firstChild.getAttribute('on')) {
        el.firstChild.className = className;
      }
    },

    // ------------------------------------------------------------------------

    mouseOver: function(el) {
      for(var i=0; i < this.liList.length; ++i) {
        if (this.liList[i] == el.id) {
          break;
        }
      }

      if (i == this.liList.length) {
        this.liList[i] = el.id;
      }

      if (this.timer != null && this.ptr != null) {
        if (!this.ptr.firstChild.getAttribute('on')) {
          this.ptr.firstChild.className = '';
        }
        for(var ulList = this.ptr.getElementsByTagName('ul'), i=0; i < ulList.length; ++i) {
          ulList.item(i).style.visibility = 'hidden';
        }
        window.clearTimeout(this.timer);
        this.timer = null;
        this.liList = new Array();
      }

      this.ptr = el;

      if (this.ptr.tagName.toLowerCase() == 'li') {
        if (!this.ptr.firstChild.getAttribute('on')) {
          this.ptr.firstChild.className = 'hover';
        }
      }

      var ulList = this.ptr.getElementsByTagName('ul');

      if (ulList.length > 0) {
        ulList.item(0).style.visibility = 'visible';
      }
    },

    // ------------------------------------------------------------------------

    build: function(el) {
      var self = this;
      for(var i=0; i < el.childNodes.length; ++i) {
        if (el.childNodes[i].nodeName.toLowerCase() == 'li') {
          for(var j=0; j < el.childNodes[i].childNodes.length; ++j) {
            if (el.childNodes[i].childNodes[j].nodeName.toLowerCase() == 'ul') {
              el.childNodes[i].onmouseover = function() { try { self.mouseOver(this); } catch(err) {} };
              el.childNodes[i].onmouseout = function() { try { self.setTimeOut(this); } catch(err) {} };
              //this.build(el.childNodes[i].childNodes[j]);
              //break;
            }
          }
        }
      }
    }

    // ------------------------------------------------------------------------

  }//Zoomedia.Menu

  // --------------------------------------------------------------------------

  Zoomedia.Glossary = new function() {

    // ------------------------------------------------------------------------

    this.current = null;

    // ------------------------------------------------------------------------

    this.items = {};

    // ------------------------------------------------------------------------

    this.tpl = '<div class="glossary">'+
                '<div class="header">%POPUP_TITLE%</div>'+
                '<div class="main">%POPUP_CONTENT%</div>'+
                '<div class="footer"><a href="#" onclick="Zoomedia.Glossary.hide(\'div_%GLOSSARY_ID%\'); return false;">close</a></div>'+
               '</div>';

    // ------------------------------------------------------------------------

    this.setItems = function(items) {
      this.items = items;
    };

    // ------------------------------------------------------------------------

    this.show = function(a, id, event) {
      if (this.current) {
        this.hide(this.current);
      }

      var div = document.createElement('div');
          div.setAttribute('id', 'div_'+id);
          div.onclick = function() { Zoomedia.Glossary.hide( 'div_'+id ); };
          div.className = 'gloss_def';
          div.style.position = 'absolute';
          div.style.display = 'none';
          div.style.zIndex = 2000;

          /*offset = document.body.scrollTop ? document.body.scrollTop : document.documentElement.scrollTop;
          if (!offset) {
            offset = 0; // stupid ie5/mac
          }

          div.style.top = (offset + event.clientY)+'px';
          div.style.left = event.clientX+'px';*/

          div.innerHTML = this.tpl.replace('%GLOSSARY_ID%', id).replace('%POPUP_TITLE%', this.items[id].title).replace('%POPUP_CONTENT%', this.items[id].content);

      //insert div before anchor tag
      a.parentNode.insertBefore(div, a);

      div.style.top  =  (a.offsetTop - a.clientHeight - div.clientHeight) + 'px';
      div.style.left = a.offsetLeft+'px';
      div.style.display = 'block';

      this.current = 'div_'+id;

      //close removes the dynamically created div
      //div.parentNode.removeChild(div);
    };

    // ------------------------------------------------------------------------

    this.hide = function(eleId) {
      var div = document.getElementById(eleId);
      if (div) {
        div.parentNode.removeChild(div);
      }
    };

    // ------------------------------------------------------------------------

  };

  // --------------------------------------------------------------------------

  Zoomedia.FontSize = function(font_size) {
	  
	  // Write the text images
	  $("a#textsmall").css("background-position","0px 0px");
	  $("a#textmed").css("background-position","0px 0px");
	  $("a#textlarge").css("background-position","0px 0px");
	    
	  if (font_size == "small" || !font_size) {
		  $("a#textsmall").css("background-position","0px -16px");
	  }
	  if (font_size == "medium") {
		  $("a#textmed").css("background-position","0px -16px");
	  }
	  if (font_size == "large") {
		  $("a#textlarge").css("background-position","0px -16px");
	  }

    // ------------------------------------------------------------------------

    var sizes = ['small', 'medium', 'large'];

    // ------------------------------------------------------------------------

    var body = document.getElementById('wrapper');

    // ------------------------------------------------------------------------

    var current_font_size = 'medium';

    // ------------------------------------------------------------------------

    var match = document.cookie.match(/(?:font_size=(.+)(?:;?|$))/);

    // ------------------------------------------------------------------------

    if (match) {
      current_font_size = match[1];
      if (font_size == current_font_size) {
        //return;
      }
    }

    // ------------------------------------------------------------------------

    if (body) {
        
        body.className = body.className.replace('/ '+current_font_size+'/', '');

        body.className = ' '+font_size;

    }
    
    // -----------------------------------------------------------------------
    
    document.cookie = 'font_size='+font_size+';path=/;';

  };
  
  function getCookie(c_name) {
      if (document.cookie.length>0) {
        c_start=document.cookie.indexOf(c_name + "=");
        if (c_start!=-1) {
            c_start=c_start + c_name.length+1;
            c_end=document.cookie.indexOf(";",c_start);
            if (c_end==-1) c_end=document.cookie.length;
                return unescape(document.cookie.substring(c_start,c_end));
        }
      }
      return false;
  }

  // --------------------------------------------------------------------------

  Zoomedia.Form = new function() {

    // ------------------------------------------------------------------------

    this.submit = function(form) {
      document.getElementById(form).submit();
    };

    // ------------------------------------------------------------------------

    this.formatNumber = function(value) {
      return value.replace(/[^\d.]/g, '');
    };

    // ------------------------------------------------------------------------

    this.formatTelephoneNumber = function(value) {
      return value.replace(/[^\d]/g, '');
    };

    // ------------------------------------------------------------------------

  };

    // --------------------------------------------------------------------------

  Zoomedia.SharePage = new function(id) {

    // ------------------------------------------------------------------------

    this.timer = null;

    // ------------------------------------------------------------------------

    this.delay = 500;

    // ------------------------------------------------------------------------

    this.active = false;

    // ------------------------------------------------------------------------

    this.setActive = function(enabled) {
      this.active = enabled;
    };

    // ------------------------------------------------------------------------

    this.isActive = function() {
      return this.active;
    };

    // ------------------------------------------------------------------------

    this.setTimeOut = function(el) {
      var self = this;
      var id = el.getAttribute('id');
      this.timer = window.setTimeout(function() { self.mouseOut(document.getElementById(id)); }, this.delay);
    };

    // ------------------------------------------------------------------------

    this.hide = function(el) {
      this.setActive(false);
      document.getElementById('share-page-widget').style.display = 'none';
    };

    // ------------------------------------------------------------------------

    this.show = function(a) {
      //if (this.isActive()) {
        //return;
      //}

      this.setActive(true);

      var widget = document.getElementById('share-page-widget');
      if (widget) {
        widget.style.top  = (a.offsetTop + a.offsetHeight) + 'px';
        widget.style.left = a.offsetLeft+'px';
        widget.style.display = 'block';
      }

      return false;
    };

    // ------------------------------------------------------------------------

  }; //Zoomedia.SharePage

  // --------------------------------------------------------------------------
  
  function preload(arrayOfImages) {
    $(arrayOfImages).each(function(){
        // $('<img/>')[0].src = this;
        // Alternatively you could use:
        (new Image()).src = this;
    });
  }  
  
  $(document).ready(function(){

	    // Preload the HP masthead Img's
		preload([
		    '/img/home1.jpg',
		    '/img/home2.jpg',
			'/img/home3.jpg',
			'/img/home4.jpg',
			'/img/home5.jpg',
		]);
		
		// Cycle functions for HP Masthead
		$('#cycle-container div#cycle ul').cycle({ 
		    fx:     'fade', 
		    speed:  'fast', 
		    timeout: 5000, 
			speedIn:  1800, 
            speedOut: 900, 
			easeIn: 'easeOutExpo',
			easeOut: 'easeOutExpo',
			pager: '#cyclePager',
			pagerAnchorBuilder: function(idx, slide) { 
		        // return selector string for existing anchor 
		        return '#cyclePager a:eq(' + idx + ')'; 
		    } 
		});
		
		$('a.todayTop img').mouseover(function() {
			if($(this).attr('src') != '/img/tabToday_dw.gif') {
				$(this).attr('src', '/img/tabToday_up.gif');
			}			
		}).mouseleave(function() {
			if($(this).attr('src') != '/img/tabToday_dw.gif') {
                $(this).attr('src', '/img/tabToday.gif');
            }   
		});
		
		$('a.peopleTop img').mouseover(function() {
            if($(this).attr('src') != '/img/tabPeople_dw.gif') {
                $(this).attr('src', '/img/tabPeople_up.gif');
            }           
        }).mouseleave(function() {
            if($(this).attr('src') != '/img/tabPeople_dw.gif') {
                $(this).attr('src', '/img/tabPeople.gif');
            }   
        });
		
		$('a.scienceTop img').mouseover(function() {
            if($(this).attr('src') != '/img/tabScience_dw.gif') {
                $(this).attr('src', '/img/tabScience_up.gif');
            }           
        }).mouseleave(function() {
            if($(this).attr('src') != '/img/tabScience_dw.gif') {
                $(this).attr('src', '/img/tabScience.gif');
            }   
        });
		
		// Tool tips
		$('.pipeline-table .pipeline-img-column div[title]').qtip({ 
		  style: {
			  'font-size': '0.9em',
			  width: 200,
		      padding: '13px 13px 0px 13px',
		      background: '#cee0e2',
		      color: '#333',
		      textAlign: 'left',
		      border: {
		         width: 5,
		         radius: 0,
		         color: '#cee0e2'
		      }, 
			  tip: true
		  },
		  position: {
		      corner: {
		         target: 'topRight',
		         tooltip: 'leftMiddle'
		      }
		   } 
		});
		
		//Hide (Collapse) the toggle containers on load
	    //$("#social").hide(); 

	    $("#link-share").click(function(){
	    	$('#social').animate({width: 'toggle'}, 1000);
	    });
	    
		$('.management-column a.bio-link, .management-column a.bio-link2, .management-column img, .director-profile a.bio-link').click(function(e) {
			e.preventDefault();
			var biodiv = $(this).parents('.management-column, .director-profile').find('div.bio-popup');
			var centerDiv = $('#centerModal');
			var content = biodiv.html();
			centerDiv.addClass('bio-popup');
			centerDiv.html(content);
			centerDiv.center().fadeIn();
			centerDiv.find('a#pop-close').bind('click', function(e) {
  				e.preventDefault();
				centerDiv.fadeOut('fast').html('');
			});
			centerDiv.find('a#pop-email').bind('click', function(e) {
  				e.preventDefault();
				window.open('/send_page?pageurl='+window.location,'Send this Page','scrollbars=no,menubar=no,height=585,width=625,resizable=yes,toolbar=no,location=no,status=no');
			});
			centerDiv.find('a#pop-print').bind('click', function(e) {
  				e.preventDefault();
				
				BioWindow=window.open("", "Print Bio", "height=500, width=390"); 
				BioWindow.document.write("<html><head><title>Print Bio</title><link href=\"/css/achilStyle.css\" rel=\"stylesheet\" type=\"text/css\"><link href=\"/css/achilStyle-popups.css\" rel=\"stylesheet\" type=\"text/css\"></head>"); 
				BioWindow.document.write("<body>"+ content +"</body></html>"); 
				BioWindow.document.close();
				BioWindow.print();
			});
		});
		
		$('a.modalAnimation').click(function(e) {
			e.preventDefault();
			var anidiv = $(this).parents('.pageCTextA, .pageLTextA, .pageRText').find('div.bio-popup');
			var centerDiv = $('#centerModal');
			centerDiv.css('width', '720px');
			var content = anidiv.html();
			centerDiv.addClass('bio-popup');
			centerDiv.html(content);
			centerDiv.center().fadeIn();
			centerDiv.find('a#pop-close').bind('click', function(e) {
  				e.preventDefault();
				centerDiv.fadeOut('fast').html('');
			});
		});
		
		$('#etp-image').mouseover(function() {
			$(this).find('img').attr('src', '/img/chart01b_P18.jpg');
			$(this).find('p.caption').html('However, the future of HCV therapy is migrating to oral combinations of two or more direct antivirals, leaving NS4A antagonists well positioned to become a cornerstone of HCV therapy.');
		}).mouseleave(function() {
			$(this).find('img').attr('src', '/img/chart01a_P18.jpg');
			$(this).find('p.caption').html('Current investigational treatment regimens combine a direct antiviral with Pegylated interferon.');
		});
		
	 // MODAL WINDOW ACTIONS
	    $('a[name=modal]').click(function(e){
	        // Cancel the link behavior
	        e.preventDefault();
	        launchWindow($(this).attr('href'));
	    });

	    $('a.poplight[href^=#]').click(function(e){
	        // Cancel the link behavior
	        e.preventDefault();
	        launchPopWindow(this);
	    });

	    // MODAL WINDOW CONTROLS
	    // if close button is clicked
	    $('.window .close, #popup_container .close').click(function(e){
	        if ($(this).hasClass('go') == false) {
	            // Cancel the link behavior
	            e.preventDefault();
	        }
	        
	        $('#mask, .window').hide();
	    });
	    $('#popup_container a.close').click(function(e){
	        e.preventDefault();
	        $('#popup_container').fadeOut();
	    });

	    $('a.closePop, #fade').live('click', function(e){ //When clicking on the close or fade layer...
	        e.preventDefault();
	        $('#fade , .popup_block').fadeOut(function(){
	            $('#fade, a.close').remove(); //fade them both out
	        });
	        
	    });
	    
	    // Init tabs
	    //$("#tabs").tabs();
	    	

	});

  
var ActiveProfile="";

function showProfile(ProfileName) {
	document.getElementById(ProfileName + "_list").style.display='block';
	document.getElementById(ProfileName).style.display='none';

  	if(ActiveProfile != "") {
  		hideOpenedProfile();
  	}
  	
  	ActiveProfile = ProfileName;
  }

function hideProfile(ProfileName) {
	document.getElementById(ProfileName + "_list").style.display='none';
	document.getElementById(ProfileName).style.display='block';
	ActiveProfile="";
}

function hideOpenedProfile() {
	document.getElementById(ActiveProfile + "_list").style.display='none';
	document.getElementById(ActiveProfile).style.display='block';
}
  
  
