﻿var CONTAINER_WIDTH = 870; // Ticker Container width (in integer)
var LEFT_CONTAINER = 0;  // Left Position of Ticker Container (in integer)
var MOUSEOVER_DIV_WIDTH = 400; // MouseOver Div width (in integer)
var MOUSEOVER_DIV_HEIGHT = 170;  
var RIGHT_CONTAINER = CONTAINER_WIDTH; // Right Position of Ticker Container (in integer)
var DATA_POLLTIME1 = 5; // Time interval for ticker update/refresh (in seconds)
var TICKER_SPEED_MIN_LIMIT = 0; // Ticker speed minimum limit (in integer) [usually 0]
var TICKER_SPEED_MAX_LIMIT = 6; // Ticker speed maximum limit (in integer) [usually 6]
var TICKER_TIMEOUT = 0.02; // *** Dont change this *** Ticker speed (in soconds) [usually between 0.03 & 0.05]

var TICKER_PAUSED1 = false; // Should ticker be paused on PageLoad   
var TICKER_SPEED1 = 2; // Ticker speed (in integer) [usually between 1 & 6]
var TICKER_RIGHTTOLEFT1 = true;
var CURR_SCROLL_DIV_ID1;

var obj_divContainer1 = null;
var obj_div1 = null;
var obj_div2 = null;
 


var req = new Array();
var flag = new Boolean();
var lastPos = null;
var currentPos = "";
var flag = true;
var obj_Notes = null;

var offX = 10; // how far from mouse to show tip
var offY = 10; // how long from mouse to show tip
var mouseX, mouseY;
var dom = (document.getElementById) ? true : false;
var ns5 = (!document.all && dom || window.opera) ? true : false;
var ie5 = ((navigator.userAgent.indexOf("MSIE") > -1) && dom) ? true : false;
var ie4 = (document.all && !dom) ? true : false;

var InitialSpacerVal = 90;

function InitializeTicker(cnt, d1, d2,dover) {
     obj_divContainer1 = cnt;
     obj_div1 = d1;
     obj_div2 = d2;
     obj_Notes = dover;

    DATA_POLLTIME1 = DATA_POLLTIME1 * 1000; //seconds to milliseconds    
    TICKER_TIMEOUT = TICKER_TIMEOUT * 1000;
    obj_divContainer1.style.cursor = "arrow";
    LEFT_CONTAINER = getLeftPos(obj_divContainer1);

    obj_divContainer1.style.width = CONTAINER_WIDTH + 'px'


    obj_div2.innerHTML = obj_div1.innerHTML;



    obj_div1.style.left = getLeftPos(obj_divContainer1) + InitialSpacerVal + 'px';
    obj_div2.style.left = getLeftPos(obj_div1) + getWidth(obj_div1) + 'px';

    CURR_SCROLL_DIV_ID1 = obj_div1.id;

    TICKER_tick();
    window.setTimeout("GetServerData1()", DATA_POLLTIME1);



}

function TICKER_tick() {
    /*Ticker 1 */
    if (!TICKER_PAUSED1) {
        var d2L = parseInt(obj_div2.style.left, 10);
        var d1L = parseInt(obj_div1.style.left, 10);

        if (TICKER_RIGHTTOLEFT1) {
            if (d2L <= -getWidth(obj_div2)) //if div2 crossed the start and reached way ahead of start
            {
                obj_div2.style.left = getLeftPos(obj_div1) + getWidth(obj_div1) + 'px';
                d2L = parseInt(obj_div2.style.left, 10);
                CURR_SCROLL_DIV_ID1 = obj_div1.id;
            }
            if (d2L <= getLeftPos(obj_divContainer1)) // if div2 crossed start then move it behind div1
            {
                obj_div1.style.left = getLeftPos(obj_div2) + getWidth(obj_div2) + 'px';
                d1L = parseInt(obj_div1.style.left, 10);
                CURR_SCROLL_DIV_ID1 = obj_div2.id;
            }
        }

        if (!TICKER_RIGHTTOLEFT1) {
            if (d1L >= RIGHT_CONTAINER) {
                obj_div1.style.left = getLeftPos(obj_div2) - getWidth(obj_div1) + 'px';
                d1L = parseInt(obj_div1.style.left, 10);
                CURR_SCROLL_DIV_ID1 = obj_div2.id;
            }
            if (d2L >= RIGHT_CONTAINER) {
                obj_div2.style.left = getLeftPos(obj_div1) - getWidth(obj_div2) + 'px';
                d2L = parseInt(obj_div2.style.left, 10);
                CURR_SCROLL_DIV_ID1 = obj_div1.id;
            }
        }

        d1L -= TICKER_SPEED1 * (TICKER_RIGHTTOLEFT1 ? 1 : -1);
        d2L -= TICKER_SPEED1 * (TICKER_RIGHTTOLEFT1 ? 1 : -1);
        obj_div1.style.left = d1L + 'px';
        obj_div2.style.left = d2L + 'px';
    }

    /*End of Ticker 1 */


    window.setTimeout("TICKER_tick()", TICKER_TIMEOUT);
}


function OnTabDataRetrived1(result, context, methodName) {

    if (!TICKER_PAUSED1) {
        obj_div1.innerHTML = result;
        obj_div2.innerHTML = result;

        var d2L = parseInt(obj_div2.style.left, 10);
        var d1L = parseInt(obj_div1.style.left, 10);
        if (TICKER_RIGHTTOLEFT1) {
            if (CURR_SCROLL_DIV_ID1 == obj_div1.id) {
                obj_div2.style.left = getLeftPos(obj_div1) + getWidth(obj_div1) + 'px';
                d2L = parseInt(obj_div2.style.left, 10);
            }
            else {
                obj_div1.style.left = getLeftPos(obj_div2) + getWidth(obj_div2) + 'px';
                d1L = parseInt(obj_div1.style.left, 10);
            }
        }
        if (!TICKER_RIGHTTOLEFT1) {
            if (CURR_SCROLL_DIV_ID1 == obj_div1.id) {
                obj_div2.style.left = getLeftPos(obj_div1) - getWidth(obj_div2) + 'px';
                d2L = parseInt(obj_div2.style.left, 10);
            }
            else {
                obj_div1.style.left = getLeftPos(obj_div2) - getWidth(obj_div1) + 'px';
                d1L = parseInt(obj_div1.style.left, 10);
            }
        }

    }
    window.setTimeout("GetServerData1()", DATA_POLLTIME1);
}



function GoLeft(w) {
    if (w == 0)
        TICKER_RIGHTTOLEFT1 = true;
   
}
function GoRight(w) {
    if (w == 0)
        TICKER_RIGHTTOLEFT1 = false;
    
}

function Incr(w) {
    if (w == 0) {
        if (TICKER_SPEED1 + 1 <= TICKER_SPEED_MAX_LIMIT)
            TICKER_SPEED1 = TICKER_SPEED1 + 1;
    }
    
}

function Decr(w) {
    if (w == 0) {
        if (TICKER_SPEED1 - 1 > TICKER_SPEED_MIN_LIMIT)
            TICKER_SPEED1 = TICKER_SPEED1 - 1;
    }
    
}

function getLeftPos(who) {
    var t = 0; var l = 0;
    while (who) {
        l += who.offsetLeft;
        t += who.offsetTop;
        who = who.offsetParent;        
    }
    l = l - LEFT_CONTAINER;
    return parseInt(l, 10);
}
function GetServerData1() {
    tickershowallAsync.GetTicker1("", OnTabDataRetrived1, OnTimeOut1, OnError1, OnAbort1);
}


function getWidth(who) { return parseInt(who.offsetWidth, 10) }
function OnTimeOut1(result, context, methodName) { window.setTimeout("GetServerData1()", DATA_POLLTIME1); }
function OnError1(result, context, methodName) { window.setTimeout("GetServerData1()", DATA_POLLTIME1); }
function OnAbort1(result, context, methodName) { window.setTimeout("GetServerData1()", DATA_POLLTIME1); }




function sMOver(evt, obj, w) {
    obj.className = '';
    if (!evt) evt = window.event;
    obj.style.cursor = "pointer";
    trackMouse(evt);
    currentPos = obj.getAttribute('token'); // obj.id;
    if (w == 0)
        TICKER_PAUSED1 = true;    
    if (obj.getAttribute('token') != lastPos) {
        obj_Notes.style.width = '0px';
        obj_Notes.innerHTML = "<img src='images/loading.gif'  alt='loading...' />";
        req.push(obj.getAttribute('token'));
        if (flag == true) {
            flag = false;
            if (w == 0)
                tickershowallAsync.GetMouseOver1(req.pop(), OnMOverDetailsRetrived1, OnTimeOut1, OnError1, OnAbort1);
        }
    }
}

function OnMOverDetailsRetrived1(res, context, methodName) {
    var ss = res.value;
    if (ss != '') {
        obj_Notes.style.width = MOUSEOVER_DIV_WIDTH + 'px';
        obj_Notes.innerHTML = res;
        flag = true;
        lastPos = currentPos;
    }
    else {
        obj_Notes.style.visibility = "hidden";
    }
}

function sMOut(evt, obj, w) {
    obj.className = '';
    obj_Notes.style.visibility = "hidden";
    if (w == 0)
        TICKER_PAUSED1 = false;
   

    flag = true;
}

function trackMouse(evt) {
    standardbody = (document.compatMode == "CSS1Compat") ? document.documentElement : document.body //create reference to common "body" across doctypes
    mouseX = (ns5) ? evt.pageX : window.event.clientX + standardbody.scrollLeft;
    mouseY = (ns5) ? evt.pageY : window.event.clientY + standardbody.scrollTop;
    positionTip(evt);
}
function positionTip(evt) {
    standardbody = (document.compatMode == "CSS1Compat") ? document.documentElement : document.body;
    mouseX = (ns5) ? evt.pageX : window.event.clientX + standardbody.scrollLeft;
    mouseY = (ns5) ? evt.pageY : window.event.clientY + standardbody.scrollTop;
    var tpWd = (ie4 || ie5) ? MOUSEOVER_DIV_WIDTH : MOUSEOVER_DIV_WIDTH;
    var tpHt = (ie4 || ie5) ? MOUSEOVER_DIV_HEIGHT : MOUSEOVER_DIV_HEIGHT;
    var winWd = (ns5) ? window.innerWidth - 20 + window.pageXOffset : standardbody.clientWidth + standardbody.scrollLeft;
    var winHt = (ns5) ? window.innerHeight - 20 + window.pageYOffset : standardbody.clientHeight + standardbody.scrollTop;
    obj_Notes.style.visibility = "visible";
    obj_Notes.style.position = 'absolute';
    if ((mouseX + offX + tpWd) > winWd)
        obj_Notes.style.left = mouseX - (tpWd + offX) + "px";
    else obj_Notes.style.left = mouseX + offX + "px";
    if ((mouseY + offY + tpHt) > winHt)
        obj_Notes.style.top = winHt - (tpHt + offY) + "px";
    else obj_Notes.style.top = mouseY + offY + "px";
}
