// based on http://javascript.about.com/library/bltick1.htm

// enter your ticker content here (use \/ and \' in place of / and ' respectively)
//var message=new Array('Are you looking for loads of useful information <a href="http:\/\/javascript.about.com\/">About Javascript<\/a>? Well now you\'ve found it.');

var ticker_width='980px';                   // width (in pixels)
var ticker_height='32px';                   // height (in pixels)
var ticker_fsz = '12px';                    // font size (in pixels)
var ticker_colour='#3e763d';                // background colour:
var ticker_moStop=true;                     // pause on mouseover (true or false)
var ticker_ceStop=true;                     // stop at the center
var ticker_ceWait=2;                        // base number of seconds to wait at the center
var ticker_chWait=0.125;                    // how many seconds to wait for each character of length
var ticker_fontfamily = 'arial,sans-serif'; // font for message
var ticker_speed=50;                        // scroll speed (1 = slow, 5 = fast)
var ticker_rate=50;                         // update interval (in ms)

var cps=ticker_speed;
var aw, mq, i=0;

function ticker_load_message() {
    mq = document.getElementById("mq");
    mq.style.left=(parseInt(ticker_width)+10)+"px";
    mq.innerHTML='<span id="tx">'+message[i++%message.length]+'</span>';
    aw = document.getElementById("tx").offsetWidth;
}

function ticker_wait_time() {
    with (document.getElementById('ticker')) {
        var num_chars = document.all ? innerText.length : textContent.length;
    }
    return (ticker_ceWait + ticker_chWait*num_chars)*1000;
}

function ticker_start() {
    if (document.getElementById) {
        var tick = '<div style="position:relative;width:'+ticker_width+';height:'+(parseInt(ticker_fsz)+4)+'px;top: '+(parseInt(ticker_height)-parseInt(ticker_fsz)-4)/2+'px; overflow:hidden;background-color:'+ticker_colour+'"';
        if (ticker_moStop) tick += ' onmouseover="cps=0" onmouseout="cps=ticker_speed"';
        tick +='><div id="mq" style="position:absolute;left:0px;top:0px;font-family:'+ticker_fontfamily+';font-size:'+ticker_fsz+';white-space:nowrap;"></div></div>';
        document.getElementById('ticker').innerHTML = tick;
        ticker_load_message();
        lefttime=setInterval("ticker_scroll_to_center()", ticker_rate);
    }
}

function ticker_scroll_to_center() {
    if (ticker_ceStop && parseInt(mq.style.left)<(parseInt(ticker_width)-aw)/2+cps) {
        clearInterval(lefttime);
        setTimeout("lefttime=setInterval(\"ticker_scroll()\", ticker_rate)", ticker_wait_time());
    } else {
        ticker_scroll();
    }
}

function ticker_scroll(){
    if (parseInt(mq.style.left)>(-10 - aw)) {
        mq.style.left = parseInt(mq.style.left)-cps+"px"
    } else {
        clearInterval(lefttime);
        ticker_load_message();
        //setTimeout("lefttime=setInterval(\"ticker_scroll_to_center()\", ticker_rate)", ticker_wait_time());
        lefttime=setInterval("ticker_scroll_to_center()", ticker_rate);
    }
}

utils_add_event(window, 'load', ticker_start);
