if (typeof rssIncludeBoxTickerStandard == 'undefined') {

var rssIncludeBoxTickerStandard = {};

rssIncludeBoxTickerStandard.obj = function(boxData) {
    this.intervals = [];
    this._activeDiv = 0;
    this._entryDivs = [];
    this._boxId = boxData.boxId;
    this._boxWidth = boxData.width;
    this._boxPadding = boxData.padding;
    this.isIE6 = false;
    this.isIE7 = false;
    if (navigator.appName == 'Microsoft Internet Explorer') {
        if (navigator.appVersion.indexOf('MSIE 6') != -1) {
            this.isIE6 = true;
        } else if (navigator.appVersion.indexOf('MSIE 7') != -1) {
            this.isIE7 = true;
        }
    }
    this._init();
};

rssIncludeBoxTickerStandard.instances = [];

rssIncludeBoxTickerStandard.initBoxes = function()
{
    var inputs = document.getElementsByTagName('input');
    for (var i = 0; i < inputs.length; i++) {
        // check if it's a rssinclude ticker standard box input data
        if (inputs[i].className.indexOf('rssincludeBoxTickerStandardData') == -1) {
            continue;
        }

        // that it won't be initialized again
        inputs[i].className = inputs[i].className.replace(/rssincludeBoxTickerStandardData/, '');

        if (inputs[i].value) {
            eval("var parsedData = "+inputs[i].value);
            var boxId = parsedData.boxId;
            // if there is already a box with this boxId, clear the intervals of it
            // is neccessary for the box preview
            if (typeof rssIncludeBoxTickerStandard.instances[boxId] != 'undefined') {
                rssIncludeBoxTickerStandard.instances[boxId].clearIntervals();
            }

            rssIncludeBoxTickerStandard.instances[boxId] = new rssIncludeBoxTickerStandard.obj(parsedData);

            if (!parsedData.effectType || parsedData.effectType == 'fade') {
                rssIncludeBoxTickerStandard.instances[boxId].intervals.push(
                    window.setInterval("rssIncludeBoxTickerStandard.instances["+boxId+"].fade("+parsedData.effectSpeed+")", parsedData.refreshTime)
                );
            } else if (parsedData.effectType == 'switch') {
                rssIncludeBoxTickerStandard.instances[boxId].intervals.push(
                    window.setInterval("rssIncludeBoxTickerStandard.instances["+boxId+"].switchEntry()", parsedData.refreshTime)
                );
            } else if (parsedData.effectType == 'scroll_rtl') {
                rssIncludeBoxTickerStandard.instances[boxId].intervals.push(
                    window.setInterval("rssIncludeBoxTickerStandard.instances["+boxId+"].scroll("+parsedData.effectSpeed+", 'rtl')", parsedData.refreshTime)
                );
            } else if (parsedData.effectType == 'scroll_ltr') {
                rssIncludeBoxTickerStandard.instances[boxId].intervals.push(
                    window.setInterval("rssIncludeBoxTickerStandard.instances["+boxId+"].scroll("+parsedData.effectSpeed+", 'ltr')", parsedData.refreshTime)
                );
            } else if (parsedData.effectType == 'scroll_btt') {
                rssIncludeBoxTickerStandard.instances[boxId].intervals.push(
                    window.setInterval("rssIncludeBoxTickerStandard.instances["+boxId+"].scroll("+parsedData.effectSpeed+", 'btt')", parsedData.refreshTime)
                );
            } else if (parsedData.effectType == 'scroll_ttb') {
                rssIncludeBoxTickerStandard.instances[boxId].intervals.push(
                    window.setInterval("rssIncludeBoxTickerStandard.instances["+boxId+"].scroll("+parsedData.effectSpeed+", 'ttb')", parsedData.refreshTime)
                );
            }
        }
    }
};

rssIncludeBoxTickerStandard._fadeSetOpacity = function(id, opacity) {
    if (!id) return;
    var el = document.getElementById(id);
    if (!el) return;
    el.style.opacity = (opacity / 100);
    el.style.MozOpacity = (opacity / 100);
    el.style.KhtmlOpacity = (opacity / 100);
    el.style.filter = "alpha(opacity=" + opacity + ")";
    if (opacity <= 0) {
        el.style.display = 'none';
        el.style.zIndex = 1;
    } else if (opacity >= 100) {
        el.style.zIndex = 2;
        el.style.display = 'block';
    } else {
        el.style.display = 'block';
    }
};

rssIncludeBoxTickerStandard._scrollSetPosition = function(scrollData) {
    if (!scrollData) return;

    for (var i = 0; i < scrollData.length; i++) {
        if (!scrollData[i].styleKey || !scrollData[i].id) continue;
        var el = document.getElementById(scrollData[i].id);
        if (!el) continue;
        el.style[scrollData[i].styleKey] = scrollData[i].styleValue;
    }
};

rssIncludeBoxTickerStandard.obj.prototype =
{
    _init: function() {
        var highestElement = 0;
        var widestElement = 0;
        var i = 0;
        document.getElementById('rssincl-content-' + this._boxId).style.position = 'relative';
        while (true) {
            var id = 'rssincl-entry-' + this._boxId + '-' + i;
            var el = document.getElementById(id);
            if (el) {
                el.style.display = 'block';
                if (parseInt(el.offsetHeight) > highestElement) {
                    highestElement = parseInt(el.offsetHeight);
                }
                if (parseInt(el.offsetWidth) > widestElement) {
                    widestElement = parseInt(el.offsetWidth);
                }
                el.style.position = 'absolute';

                if (i === 0) {
                    el.style.zIndex = 2;
                    el.style.display = 'block';
                } else {
                    el.style.zIndex = 1;
                    el.style.display = 'none';
                }

                this._entryDivs.push(id);
            } else {
                break;
            }
            i += 1;
        }
        document.getElementById('rssincl-content-' + this._boxId).style.height = highestElement + 'px';

        for (var i = 0; i < this._entryDivs.length; i++) {
            var el = document.getElementById(this._entryDivs[i]);
            el.style.width = (this._boxWidth - 2 * this._boxPadding)+'px';
            el.style.height = (highestElement - 2*this._boxPadding)+'px';
        }
    },

    clearIntervals: function() {
        for (var i = 0; i < this.intervals.length; i++) {
            window.clearInterval(this.intervals[i]);
        }
    },

    _getEntryId: function(num) {
        var num = num % this._entryDivs.length;
        return 'rssincl-entry-'+this._boxId+'-'+num;
    },

    scroll: function(milliseconds, direction) {
        var oldId = this._getEntryId(this._activeDiv);
        var nextId = this._getEntryId(this._activeDiv + 1);
        var el = document.getElementById(oldId);
        var offsetWidth = this._boxWidth;
        var offsetHeight = el.offsetHeight;

        var styleKey = '';
        var scrollAmount = 0;
        switch (direction) {
            case 'rtl':
                styleKey = 'left';
                scrollAmount = offsetWidth;
                break;
            case 'ltr':
                styleKey = 'right';
                scrollAmount = offsetWidth;
                break;
            case 'btt':
                styleKey = 'top';
                scrollAmount = offsetHeight;
                break;
            case 'ttb':
                styleKey = 'bottom';
                scrollAmount = offsetHeight;
                break;
        }
        if (!styleKey || !scrollAmount) return;

        //speed for each frame
        var speed = Math.round(milliseconds) / scrollAmount;
        var timer = 0;

        document.getElementById(nextId).style.display = 'block';
        for (var i = 0; i <= scrollAmount; i++) {
            var posValue = scrollAmount - ((-1)*scrollAmount * (i/scrollAmount) * (i/scrollAmount-2));
            window.setTimeout("rssIncludeBoxTickerStandard._scrollSetPosition(["
                +"{ id: '"+oldId+"', styleKey: '"+styleKey+"', styleValue: '"+(posValue-scrollAmount)+"px' }"
                +",{ id: '"+nextId+"', styleKey: '"+styleKey+"', styleValue: '"+posValue+"px' }"
            +"])", (timer * speed));
            timer++;
        }

        this._activeDiv += 1;
    },

    switchEntry: function() {
        document.getElementById(this._getEntryId(this._activeDiv)).style.display = 'none';
        document.getElementById(this._getEntryId(this._activeDiv + 1)).style.display = 'block';
        this._activeDiv += 1;
    },

    fade: function(milliseconds) {
        this._fadeOut(this._getEntryId(this._activeDiv), milliseconds);
        this._fadeIn(this._getEntryId(this._activeDiv + 1), milliseconds);
        this._activeDiv += 1;
    },

    _fadeOut: function(id, milliseconds) {
        //speed for each frame
        var speed = Math.round((milliseconds) / 100);
        var timer = 0;
        for (var i = 100; i >= 0; i--) {
            window.setTimeout("rssIncludeBoxTickerStandard._fadeSetOpacity('" + id + "', " + i + ")", (timer * speed));
            timer++;
        }
    },

    _fadeIn: function(id, milliseconds) {
        //speed for each frame
        var speed = Math.round((milliseconds) / 100);
        for (var i = 0; i <= 100; i++) {
            window.setTimeout("rssIncludeBoxTickerStandard._fadeSetOpacity('" + id + "', " + i + ")", (i * speed));
        }
    }
};


// from: http://snipplr.com/view.php?codeview&id=6156
(function () {
    var ie  = !!(window.attachEvent && !window.opera);
    var wk  = /webkit\/(\d+)/i.test(navigator.userAgent) && (RegExp.$1 < 525);
    var fn  = [];
    var run = function () { for (var i = 0; i < fn.length; i++) fn[i](); };
    var d   = document;
    var ready = function (f) {
        if (!ie && !wk && d.addEventListener)
            return d.addEventListener('DOMContentLoaded', f, false);
        if (fn.push(f) > 1) return;
        if (ie)
            (function () {
                try { d.documentElement.doScroll('left'); run(); }
                catch (err) { setTimeout(arguments.callee, 0); }
            })();
        else if (wk)
            var t = setInterval(function () {
                if (/^(loaded|complete)$/.test(d.readyState))
                    clearInterval(t), run();
            }, 0);
    };
    ready(rssIncludeBoxTickerStandard.initBoxes);
})();





}