   var _DEFAULT_WIDTH_ = 725;
   var currFocus = 0;
   var headerGifs = {
    '/on_site/acuc_2009/levelB.htm':"/on_site/acuc_2009/images/registration.gif",
    '/on_site/acuc_2009/workfiles/acuc09_level2.htm':"/on_site/acuc_2009/images/thought_leaders.gif",
    '/on_site/acuc_2009/register.html':"/on_site/acuc_2009/images/registration.gif",
    '/on_site/acuc_2009/register_sponsor.html':"/on_site/acuc_2009/images/registration.gif",
    '/training/on_site/acuc_2009/register.php':"/training/on_site/acuc_2009/images/registration.gif",
    '/training/on_site/acuc_2009/thankyou.html':"/training/on_site/acuc_2009/images/registration.gif",
    '/on_site/acuc_2009/thought_leaders.html':"/on_site/acuc_2009/images/thought_leaders.gif",
    '/on_site/acuc_2009/events.html':"/on_site/acuc_2009/images/schedule.gif",
    '/on_site/acuc_2009/keynoters.html':"/on_site/acuc_2009/images/keynote_speakers.gif",
    '/on_site/acuc_2009/breakout_sessions.html':"/on_site/acuc_2009/images/breakouts.gif",
    '/on_site/acuc_2009/exec_book_series.html':"/on_site/acuc_2009/images/exec_book.gif",
    '/on_site/acuc_2009/guest_optional.html':"/on_site/acuc_2009/images/guest-optional.gif",
    '/on_site/acuc_2009/tuition.html':"/on_site/acuc_2009/images/tuition.gif",
    '/on_site/acuc_2009/hotel.html':"/on_site/acuc_2009/images/hotel_info.gif",
    '/on_site/acuc_2009/exhibit_hall.html':"/on_site/acuc_2009/images/exhibit_hall.gif",
    '/on_site/acuc_2009/sponsorship.html':"/on_site/acuc_2009/images/exhibit_hall.gif",
    '/on_site/acuc_2009/vendors.html':"/on_site/acuc_2009/images/exhibit_hall.gif",
    '/on_site/acuc_2009/exhibitor_info.html':"/on_site/acuc_2009/images/exhibitor_info.gif",
    '/on_site/acuc_2009/acuc_twitter.html':"/on_site/acuc_2009/images/twitter.gif",
    '/on_site/acuc_2009/virtual.html':"/on_site/acuc_2009/images/sponsorship.gif",
    '/on_site/acuc_2009/special_offer.html':"/on_site/acuc_2009/images/special_offer.gif",
    '/on_site/acuc_2009/new_hot_topics.html':"/on_site/acuc_2009/images/new_hot_topics.gif",
    '/on_site/acuc_2009/onsite.html':"/on_site/acuc_2009/images/cyber.gif",
    '/on_site/acuc_2009/session_handouts.html':"/on_site/acuc_2009/images/session_handouts.gif"

   };

   var getElementsByTagClass =  function(tagName, tagClass) {
     this.arr = [];
     var el = null, tc = null;
     var tagArr = document.getElementsByTagName(tagName);
     for (var i=0; i<tagArr.length; i++) {
       el = tagArr[i];
       tc = el.className;
       if (null !== tc) {
         if (tagClass == tc) {
           this.arr.push(el);
         }
       }
     }
     return this.arr;
   };

   //addEvent written by Dean Edwards 2005
   function addEvent(element, type, handler) {
     if (!handler.$$guid) handler.$$guid = addEvent.guid++;
     if (!element.events) element.events = {};
     var handlers = element.events[type];
     if (!handlers) {
       handlers = element.events[type] = {};
       if (element["on" + type]) {
         handlers[0] = element["on" + type];
       }
     }
     handlers[handler.$$guid] = handler;
     element["on" + type] = handleEvent;
   }
   //counter used to create unique IDs
   addEvent.guid = 1;
   function removeEvent(element, type, handler) {
     if (element.events && element.events[type]) {
       delete element.events[type][handler.$$guid];
     }
   }
   function handleEvent(event) {
     var returnValue = true;
     event = event || fixEvent(window.event);
     var handlers = this.events[event.type];
     for (var i in handlers) {
       this.$$handleEvent = handlers[i];
       if (this.$$handleEvent(event) === false) {
         returnValue = false;
       }
     }
     return returnValue;
   }
   function fixEvent(event) {
     event.preventDefault = fixEvent.preventDefault;
     event.stopPropogation = fixEvent.stopPropogation;
     return event;
   }
   fixEvent.preventDefault = function() {
     this.returnValue = false;
   }
   fixEvent.stopPropogation = function() {
     this.cancelBubble= true;
   }
   // end of Dean Edwards code

   var callScroll = function(event) {
     event = event || fixEvent(window.event);
     var i, j, m, n, v;
     var nextI = 0;
     var intervalID = null, navtags = [];
     var t = event.srcElement || event.target;
     var slider = document.getElementById("scrollSlider");
     var currX = parseInt(slider.x);
     var currI = parseInt(slider.getAttribute("currfocus"));
     if (this.id) {
       nextI = parseInt(this.id.substr(3));
     } else {
       nextI = parseInt(t.id.substr(3));
     }
     var Idiff = nextI - currI;
     var Xdiff = (Idiff * _DEFAULT_WIDTH_);// - currX;
     var nextX = currX - Xdiff; // NB: Xdiff may be negative
     var step = function() {
       var u = slider.x;
       var v = (0 <= Idiff) ? u - 25 : u + 25;
       slider.style.left = v.toString() + "px";
       slider.x = v;
       if (0 <= Idiff) {
         if (nextX < v) {
           setTimeout(step, 12);
         }
       } else {
         if (nextX > v) {
           setTimeout(step, 12);
         }
       }
       slider.setAttribute("currfocus", nextI);
       currFocus = nextI;
     };
     setTimeout(step, 12);
     /* coordinate navigation */
     if (this.id) {
       m = this.id.substr(3);
       navtags = getElementsByTagClass('a', 'body_nav');
       for (var j=0; j<navtags.length; j+=1) {
         n = navtags[j].id.substr(3);
         if (n != m) {
           navtags[j].style.color = '#231F20';
         } else {
           navtags[j].style.color = '#EE4023';
         }
       }
     }
   };

   var DOMwalk = function walk(node, func) {
     func(node);
     node = node.firstChild;
     while (node) {
       walk(node, func);
       node = node.nextSibling;
     }
   };

   var initDivs = function () {
     var results = [];
     var i, l=null, r;
     var slider = document.getElementById("scrollSlider");
     var n = slider.firstChild;
     var count = 0;
     var leftsum = 0;
     while (n) {
       if (n.nodeType===1 && n.nodeName==="DIV") {
         n.style.top = "0px";
         n.style.left = (count * _DEFAULT_WIDTH_).toString() + "px";
         leftsum += parseInt(n.style.width.substr(0, n.style.width.length-2));
         n.x = (count * _DEFAULT_WIDTH_).toString();
         results.push(n);
         ++count;
       }
       n = n.nextSibling;
     }
     slider.setAttribute("currfocus",'0');
     slider.x = 0;
     if (results.length != 0) slider.style.width = results.length * _DEFAULT_WIDTH_;
     for (r=0; r<results.length; r++) {
       i = 0;
       l = results[r].firstChild;
       while (l && (l.nodeType!==1 || l.nodeName!=="SPAN")) {
         l = l.nextSibling;
         ++i;
       }
       if (l) {
         document.getElementById(l.id).onclick = callScroll;
       } // if l
     } // for r
   };

   var initNavTags = function () {
     var navtags = getElementsByTagClass('a', 'body_nav');
     for (var i=0; i<navtags.length; i+=1) {
       addEvent(navtags[i], 'mouseup', function(e) {
         var idx1, idx2;
         idx1 = this.id.substr(3);
         if (currFocus !== idx1) {
           var sbox = document.getElementById("scrollSlider");
           //sbox.scrollTo = callScroll;
           var ntags = getElementsByTagClass("a", "body_nav");
           for (var j=0; j<ntags.length; j+=1) {
             idx2 = ntags[j].id.substr(3);
             if (idx2 != idx1) {
               ntags[j].style.color = '#231F20';
             } else {
               ntags[j].style.color = '#EE4023';
             }
           }
           currFocus = idx1;
           callScroll(e);
         }
       });
     } // for i
   };

   var initPageTags = function () {
     var navtags = getElementsByTagClass('a', 'pagination');
     for (var i=0; i<navtags.length; i+=1) {
       addEvent(navtags[i], 'mouseup', function(e) {
         var idx1;
         idx1 = this.id.substr(3);
         if (currFocus !== idx1) {
           var sbox = document.getElementById("scrollSlider");
           //sbox.scrollTo = callScroll;
           var ntags = getElementsByTagClass("a", "body_nav");
           for (var j=0; j<ntags.length; j+=1) {
             idx2 = ntags[j].id.substr(3);
             if (idx2 != idx1) {
               ntags[j].style.color = '#231F20';
             } else {
               ntags[j].style.color = '#EE4023';
             }
           }
           currFocus = idx1;
           callScroll(e);
         }
       });
     } // for i
   };

   addEvent(window, "load", function(e) {
     document.getElementById("page_header").innerHTML = '<img src="'+headerGifs[window.location.pathname]+'" alt=""/>';
     initDivs();
     initNavTags();
     initPageTags();
     document.getElementById("scrollSlider").scrollTo = callScroll;
   });
