function setActiveStyleSheet(title) {
  var i, a, main;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
      a.disabled = true;
      if(a.getAttribute("title") == title) a.disabled = false;
    }
  }
}

function getActiveStyleSheet() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");
  }
  return null;
}

function getPreferredStyleSheet() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1
       && a.getAttribute("rel").indexOf("alt") == -1
       && a.getAttribute("title")
       ) return a.getAttribute("title");
  }
  return null;
}

function createCookie(name,value,days) {
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }
  else expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  }
  return null;
}

window.onload = function(e) {
  var cookie = readCookie("style");
  var title = cookie ? cookie : getPreferredStyleSheet();
  setActiveStyleSheet(title);
}

window.onunload = function(e) {
  var title = getActiveStyleSheet();
  createCookie("style", title, 365);
}

var cookie = readCookie("style");
var title = cookie ? cookie : getPreferredStyleSheet();
setActiveStyleSheet(title);

function pausescroller(divId, divClass, delay) {
    var content = new Array()
    if (document.getElementById('cprLatestNews__ctl1_hdnele').value != null) {
        if (document.getElementById('cprLatestNews__ctl1_hdndesc').value == null || document.getElementById('cprLatestNews__ctl1_hdndesc').value == "") {
            document.getElementById('cprLatestNews__ctl1_hdndesc').value = document.getElementById('cprLatestNews__ctl1_hdntitle').value;
        }
        content[0] = '<div class="ArticleBody"><div class="ArticleHeader"><a href="newsarticle.aspx?elementid=' + document.getElementById('cprLatestNews__ctl1_hdnele').value + '">' + document.getElementById('cprLatestNews__ctl1_hdntitle').value + '</a><p>' + document.getElementById('cprLatestNews__ctl1_hdndesc').value.substring(0, 200) + '...</p><div class="ArticleDate">' + document.getElementById('cprLatestNews__ctl1_hdnpublished').value + '</div></div><div class="scrollerdimlim"></div></div>';
    }
    if (document.getElementById('cprLatestNews__ctl2_hdnele').value != null) {
        if (document.getElementById('cprLatestNews__ctl2_hdndesc').value == null || document.getElementById('cprLatestNews__ctl2_hdndesc').value == "") {
            document.getElementById('cprLatestNews__ctl2_hdndesc').value = document.getElementById('cprLatestNews__ctl2_hdntitle').value;
        }
        content[1] = '<div class="ArticleBody"><div class="ArticleHeader"><a href="newsarticle.aspx?elementid=' + document.getElementById('cprLatestNews__ctl2_hdnele').value + '">' + document.getElementById('cprLatestNews__ctl2_hdntitle').value + '</a><p>' + document.getElementById('cprLatestNews__ctl2_hdndesc').value.substring(0, 200) + '...</p><div class="ArticleDate">' + document.getElementById('cprLatestNews__ctl2_hdnpublished').value + '</div></div><div class="scrollerdimlim"></div></div>';
    }
    if (document.getElementById('cprLatestNews__ctl3_hdnele').value != null) {
        if (document.getElementById('cprLatestNews__ctl3_hdndesc').value == null || document.getElementById('cprLatestNews__ctl3_hdndesc').value == "") {
            document.getElementById('cprLatestNews__ctl3_hdndesc').value = document.getElementById('cprLatestNews__ctl3_hdntitle').value;
        }
        content[2] = '<div class="ArticleBody"><div class="ArticleHeader"><a href="newsarticle.aspx?elementid=' + document.getElementById('cprLatestNews__ctl3_hdnele').value + '">' + document.getElementById('cprLatestNews__ctl3_hdntitle').value + '</a><p>' + document.getElementById('cprLatestNews__ctl3_hdndesc').value.substring(0, 200) + '...</p><div class="ArticleDate">' + document.getElementById('cprLatestNews__ctl3_hdnpublished').value + '</div></div><div class="scrollerdimlim"></div></div>';
    }
    if (document.getElementById('cprLatestNews__ctl4_hdnele').value != null) {
        if (document.getElementById('cprLatestNews__ctl4_hdndesc').value == null || document.getElementById('cprLatestNews__ctl4_hdndesc').value == "") {
            document.getElementById('cprLatestNews__ctl4_hdndesc').value = document.getElementById('cprLatestNews__ctl4_hdntitle').value;
        }
        content[3] = '<div class="ArticleBody"><div class="ArticleHeader"><a href="newsarticle.aspx?elementid=' + document.getElementById('cprLatestNews__ctl4_hdnele').value + '">' + document.getElementById('cprLatestNews__ctl4_hdntitle').value + '</a><p>' + document.getElementById('cprLatestNews__ctl4_hdndesc').value.substring(0, 200) + '...</p><div class="ArticleDate">' + document.getElementById('cprLatestNews__ctl4_hdnpublished').value + '</div></div><div class="scrollerdimlim"></div></div>';
    }
    if (document.getElementById('cprLatestNews__ctl5_hdnele').value != null) {
        if (document.getElementById('cprLatestNews__ctl5_hdndesc').value == null || document.getElementById('cprLatestNews__ctl5_hdndesc').value == "") {
            document.getElementById('cprLatestNews__ctl5_hdndesc').value = document.getElementById('cprLatestNews__ctl5_hdntitle').value;
        }
        content[4] = '<div class="ArticleBody"><div class="ArticleHeader"><a href="newsarticle.aspx?elementid=' + document.getElementById('cprLatestNews__ctl5_hdnele').value + '">' + document.getElementById('cprLatestNews__ctl5_hdntitle').value + '</a><p>' + document.getElementById('cprLatestNews__ctl5_hdndesc').value.substring(0, 200) + '...</p><div class="ArticleDate">' + document.getElementById('cprLatestNews__ctl5_hdnpublished').value + '</div></div><div class="scrollerdimlim"></div></div>';
    }
    this.content = content //message array content
    this.tickerid = divId //ID of ticker div to display information
    this.delay = delay //Delay between msg change, in miliseconds.
    this.mouseoverBol = 0 //Boolean to indicate whether mouse is currently over scroller (and pause it if it is)
    this.hiddendivpointer = 1 //index of message array for hidden div
    document.write('<div id="' + divId + '" class="' + divClass + '" style="position: relative; overflow: hidden"><div class="innerDiv" style="position: absolute; width: 100%" id="' + divId + '1">' + content[0] + '</div><div class="innerDiv" style="position: absolute; width: 100%; visibility: hidden" id="' + divId + '2">' + content[1] + '</div></div>')
    var scrollerinstance = this
    if (window.addEventListener) //run onload in DOM2 browsers
        window.addEventListener("load", function() { scrollerinstance.initialize() }, false)
    else if (window.attachEvent) //run onload in IE5.5+
        window.attachEvent("onload", function() { scrollerinstance.initialize() })
    else if (document.getElementById) //if legacy DOM browsers, just start scroller after 0.5 sec
        setTimeout(function() { scrollerinstance.initialize() }, 500)
}

// -------------------------------------------------------------------
// initialize()- Initialize scroller method.
// -Get div objects, set initial positions, start up down animation
// -------------------------------------------------------------------

pausescroller.prototype.initialize = function() {
    this.tickerdiv = document.getElementById(this.tickerid)
    this.visiblediv = document.getElementById(this.tickerid + "1")
    this.hiddendiv = document.getElementById(this.tickerid + "2")
    this.visibledivtop = parseInt(pausescroller.getCSSpadding(this.tickerdiv))
    //set width of inner DIVs to outer DIV's width minus padding (padding assumed to be top padding x 2)
    this.visiblediv.style.width = this.hiddendiv.style.width = this.tickerdiv.offsetWidth - (this.visibledivtop * 2) + "px"
    this.getinline(this.visiblediv, this.hiddendiv)
    this.hiddendiv.style.visibility = "visible"
    var scrollerinstance = this
    document.getElementById(this.tickerid).onmouseover = function() { scrollerinstance.mouseoverBol = 1 }
    document.getElementById(this.tickerid).onmouseout = function() { scrollerinstance.mouseoverBol = 0 }
    if (window.attachEvent) //Clean up loose references in IE
        window.attachEvent("onunload", function() { scrollerinstance.tickerdiv.onmouseover = scrollerinstance.tickerdiv.onmouseout = null })
    setTimeout(function() { scrollerinstance.animateup() }, this.delay)
}


// -------------------------------------------------------------------
// animateup()- Move the two inner divs of the scroller up and in sync
// -------------------------------------------------------------------

pausescroller.prototype.animateup = function() {
    var scrollerinstance = this
    if (parseInt(this.hiddendiv.style.top) > (this.visibledivtop + 5)) {
        this.visiblediv.style.top = parseInt(this.visiblediv.style.top) - 5 + "px"
        this.hiddendiv.style.top = parseInt(this.hiddendiv.style.top) - 5 + "px"
        setTimeout(function() { scrollerinstance.animateup() }, 50)
    }
    else {
        this.getinline(this.hiddendiv, this.visiblediv)
        this.swapdivs()
        setTimeout(function() { scrollerinstance.setmessage() }, this.delay)
    }
}

// -------------------------------------------------------------------
// swapdivs()- Swap between which is the visible and which is the hidden div
// -------------------------------------------------------------------

pausescroller.prototype.swapdivs = function() {
    var tempcontainer = this.visiblediv
    this.visiblediv = this.hiddendiv
    this.hiddendiv = tempcontainer
}

pausescroller.prototype.getinline = function(div1, div2) {
    div1.style.top = this.visibledivtop + "px"
    div2.style.top = Math.max(div1.parentNode.offsetHeight, div1.offsetHeight) + "px"
}

// -------------------------------------------------------------------
// setmessage()- Populate the hidden div with the next message before it's visible
// -------------------------------------------------------------------

pausescroller.prototype.setmessage = function() {
    var scrollerinstance = this
    if (this.mouseoverBol == 1) //if mouse is currently over scoller, do nothing (pause it)
        setTimeout(function() { scrollerinstance.setmessage() }, 100)
    else {
        var i = this.hiddendivpointer
        var ceiling = this.content.length
        this.hiddendivpointer = (i + 1 > ceiling - 1) ? 0 : i + 1
        this.hiddendiv.innerHTML = this.content[this.hiddendivpointer]
        this.animateup()
    }
}

pausescroller.getCSSpadding = function(tickerobj) { //get CSS padding value, if any
    if (tickerobj.currentStyle)
        return tickerobj.currentStyle["paddingTop"]
    else if (window.getComputedStyle) //if DOM2
        return window.getComputedStyle(tickerobj, "").getPropertyValue("padding-top")
    else
        return 0
}


var tooltip2 = function() {
    var id = 'tt2';
    var top = 3;
    var left = 3;
    var maxw = 500;
    var speed = 15;
    var timer = 20;
    var endalpha = 95;
    var alpha = 0;
    var tt, t, c, b, h;
    var ie = document.all ? true : false;
    return {
        show: function(v, w) {
            if (tt == null) {
                tt = document.createElement('div');
                tt.setAttribute('id', id);
                t = document.createElement('div');
                t.setAttribute('id', id + 'top');
                c = document.createElement('div');
                c.setAttribute('id', id + 'cont');
                b = document.createElement('div');
                b.setAttribute('id', id + 'bot');
                tt.appendChild(t);
                tt.appendChild(c);
                tt.appendChild(b);
                document.body.appendChild(tt);
                tt.style.opacity = 0;
                tt.style.filter = 'alpha(opacity=0)';
                document.onmousemove = this.pos;
            }
            tt.style.display = 'block';
            c.style.fontFamily = 'Arial';
            c.style.fontSize = '1.2em';
            c.innerHTML = v;
            
    
            tt.style.width = w ? w + 'px' : 'auto';
            if (!w && ie) {
                t.style.display = 'none';
                b.style.display = 'none';
                tt.style.width = tt.offsetWidth;
                t.style.display = 'block';
                b.style.display = 'block';
            }
            if (tt.offsetWidth > maxw) { tt.style.width = maxw + 'px' }
            h = parseInt(tt.offsetHeight) + top;
            clearInterval(tt.timer);
            tt.timer = setInterval(function() { tooltip2.fade(1) }, timer);
        },
        pos: function(e) {
            var u = ie ? event.clientY + document.documentElement.scrollTop : e.pageY;
            var l = ie ? event.clientX + document.documentElement.scrollLeft : e.pageX;
            tt.style.top = (u - h) + 'px';
            tt.style.left = (l + left) + 'px';
        },
        fade: function(d) {
            var a = alpha;
            if ((a != endalpha && d == 1) || (a != 0 && d == -1)) {
                var i = speed;
                if (endalpha - a < speed && d == 1) {
                    i = endalpha - a;
                } else if (alpha < speed && d == -1) {
                    i = a;
                }
                alpha = a + (i * d);
                tt.style.opacity = alpha * .01;
                tt.style.filter = 'alpha(opacity=' + alpha + ')';
            } else {
                clearInterval(tt.timer);
                if (d == -1) { tt.style.display = 'none' }
            }
        },
        hide: function() {
            clearInterval(tt.timer);
            tt.timer = setInterval(function() { tooltip2.fade(-1) }, timer);
        }
    };
} ();
