﻿
var _siteRoot = 'default.aspx'
var _root = 'default.aspx';
var offset = 697;
var ticker = false;

// options slide or fade
var effect = "fade";
var isIE = (window.ActiveXObject) ? true : false;
window.onerror=function(desc,page,line,chr){
/* alert('JavaScript error occurred! \n'
  +'\nError description: \t'+desc
  +'\nPage address:      \t'+page
  +'\nLine number:       \t'+line
 );*/
}

$(function(){

 slider.init();
 
});

var slider = {
    num: -1,
    cur: 0,
    cr: [],
    al: null,
    at: 10 * offset,
    ar: true,
    init: function () {
        if (!slider.data || !slider.data.length)
            return false;

        var d = slider.data;
        slider.num = d.length;
        var pos = Math.floor(Math.random() * slider.num); //slider.num);

        for (var i = 0; i < slider.num; i++) {
            if (effect == "slide") {
                $('#' + d[i].id).css({ left: ((i - pos) * offset) });
            }

            $('#slide-nav').append('<a id="slide-link-' + i + '" href="#" onclick="slider.slide(' + i + ');return false;" onfocus="this.blur();">' + (i + 1) + '</a>');
        }

        if (effect == "fade") {
            $('img,div#slide-controls').show();
            slider.fade(pos);
        }
        else {
            $('img,div#slide-controls', $('div#slide-holder')).show();
            slider.text(d[pos]);
            slider.on(pos);
            slider.cur = pos;
        }


        window.setTimeout('slider.auto();', slider.at);
    },
    auto: function () {
        if (!slider.ar) {
            return false;
        }

        // randomize here
        var next = slider.cur + 1;

        if (next >= slider.num) {
            next = 0;
        }

        if (effect == "slider") {
            slider.slide(next);
        }
        else if (effect == "fade") {
            slider.fade(next);
        }
    },
    fade: function (pos) {
        window.clearTimeout(slider.al);
        slider.al = window.setTimeout('slider.auto();', slider.at);
        var d = slider.data;

        for (var i = 0; i < slider.num; i++) {
            if (pos != i) {
                if (isIE) {
                    $('#' + d[i].id).hide();
                }
                else {
                    $('#' + d[i].id).fadeOut(500);
                }
            }
        }

        if (isIE) {
            $('#' + d[pos].id).show();
        }
        else {
            $('#' + d[pos].id).fadeIn(800);
        }

        slider.text(d[pos]);
        slider.cur = pos;
    },
    slide: function (pos) {
        if (pos < 0 || pos >= slider.num || pos == slider.cur) {
            return;
        }

        window.clearTimeout(slider.al);
        slider.al = window.setTimeout('slider.auto();', slider.at);

        var d = slider.data;

        for (var i = 0; i < slider.num; i++) {
            $('#' + d[i].id).stop().animate({ left: ((i - pos) * offset) }, offset, 'swing');
        }

        slider.on(pos);
        slider.text(d[pos]);
        slider.cur = pos;
    },
    on: function (pos) {
        $('#slide-nav a').removeClass('on');
        $('#slide-nav a#slide-link-' + pos).addClass('on');
    },
    text: function (di) {
        slider.cr['a'] = di.client;
        slider.cr['b'] = di.desc;

        if (ticker) {
            // with ticker
            slider.ticker('#slide-client span', di.client, 0, 'a');
            slider.ticker('#slide-desc', di.desc, 0, 'b');
        }
        else {
            // no ticker
            $("#slide-client span").html(di.client);
            $("#slide-desc").html(di.desc);
        }


    },
    ticker: function (el, text, pos, unique) {
        if (slider.cr[unique] != text)
            return false;

        ctext = text.substring(0, pos) + (pos % 2 ? '-' : '_');
        $(el).html(ctext);

        if (pos == text.length)
            $(el).html(text);
        else
            window.setTimeout('slider.ticker("' + el + '","' + text + '",' + (pos + 1) + ',"' + unique + '");', 30);
    }
};


