
  
  
//JavaScript functions such as addEvent, clearing text input fields with default text, init, addLoadEvent, rotating the
//news ticker

function addLoadEvent(func) {
    var oldonload = window.onload;
    if (typeof window.onload != 'function'){
        window.onload = func;
    } else {
        window.onload = function(){
            oldonload();
            func();
        }
    }
}

function init() {
    var formInputs = document.getElementsByTagName('input');
    for (var i = 0; i < formInputs.length; i++) {
        var theInput = formInputs[i];

        if (theInput.type == 'text' && theInput.className.match(/\bclear-default\b/)) {
            /* Add event handlers */
            addEvent(theInput, 'focus', clearDefaultText, false);
            addEvent(theInput, 'blur', replaceDefaultText, false);
            /* Save the current value */
            if (theInput.value != '') {
                theInput.defaultText = theInput.value;
            }
        }
    }
}

// this function provides a way to get all elements by class name
// pass in the class name in quotes, the node containing the elements (opt)
// and the tag name (opt) if you want to search on only divs, for example

function getElementsByClass(searchClass,node,tag) {
  var classElements = new Array();
  if ( node == null ) {
    node = document;
  }
  if ( tag == null ) {
    tag = '*';
  }
  var els = node.getElementsByTagName(tag);
  var elsLen = els.length;
  var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
  for (i = 0, j = 0; i < elsLen; i++) {
    if ( pattern.test(els[i].className) ) {
      classElements[j] = els[i];
      j++;
    }
  }
  return classElements;
}

function clearDefaultText(e) {
    var target = window.event ? window.event.srcElement : e ? e.target : null;
    if (!target) return;

    if (target.value == target.defaultText) {
        target.value = '';
    }
}

function replaceDefaultText(e) {
    var target = window.event ? window.event.srcElement : e ? e.target : null;
    if (!target) return;

    if (target.value == '' && target.defaultText) {
        target.value = target.defaultText;
    }
}

function addEvent(obj, type, fn) {
    if (obj.attachEvent) {
        obj['e' + type + fn] = fn;
        obj[type + fn] = function(){obj['e' + type + fn]( window.event );}
        obj.attachEvent( 'on' + type, obj[type + fn] );
    } else
        obj.addEventListener(type, fn, false);
}

function newsTickerTimeout() {
    var prev = 999;
    var headlines = document.getElementsByTagName("li");
    var news = new Array();
    var count = 0;

    if(headlines.length > 0) {
        for(var i=0; i<headlines.length; i++) {
            if(headlines[i].className == 'news' || headlines[i].className == 'news hidden') {
                news[count] = headlines[i];
                count = count + 1;
            }
        }
    if(news.length >0 ){
        for(var j=0; j<news.length; j++) {
            if(news[j].className == 'news') {
                prev = j;
                news[j].className += " hidden";
            }
        }
        
        if(prev == news.length-1) {
            news[0].className = "news";
        }else{
            news[prev+1].className = "news";
        }
        t = setTimeout("newsTickerTimeout()",15000);
}
    }
}

addEvent(window, 'load', init, false);
addEvent(window, 'load', newsTickerTimeout, false);
