﻿var rotator = null;
var intervalID = null;

function initRotator() {
    var r = rotator;

    $('li.ri').each(function(i) {
        if (i == 0) {
            $(this).fadeTo(0, 1);
            $(this).css('z-index', 1);
        }
        else {
            $(this).fadeTo(0, 0);
        }
    });

    $('li.ri').mouseover(function() {
        r.pause = true;
    }).mouseout(function() {
        r.pause = false;
    });

    $('li.rc').each(function(i) {
        if (i == 0) {
            $(this).fadeTo(0, 1);
        }
        else {
            $(this).fadeTo(0, 0);
        }
    });

    $('#rotator-buttons div img.over').each(function(i) {
        if (i == 0) {
            $(this).fadeTo(0, 1);
        }
        else {
            $(this).fadeTo(0, 0);
        }
    });

//    var c1 = 0;
//    var c2 = 0;
//    var r = rotator;
//    
//	$$('li.ri').each(function(item){
//	    if (c1 == 0)
//	        item.set('opacity', 1)
//	    else
//	        item.set('opacity', 0)
//	        
//	    c1++;
//	});
//	
//	$$('li.ri').addEvents({
//		mouseenter: function(){
//		    r.pause = true;
//		},
//		mouseleave: function(){
//		    r.pause = false;
//		}
//	});

//	$$('li.rc').each(function(item) {
//	    if (c2 == 0)
//	        item.set('opacity', 1)
//	    else
//	        item.set('opacity', 0)

//	    c2++;
//	});

//	$$('li.rt').addEvents({
//		mouseenter: function(){
//		    dC(true);
//		},
//		mouseleave: function(){
//		    dC(false);
//		}
//	});
}

function Rotator()
{
    this.ms = 0;
    this.increment = 10;
    this.interval = 4000;
    this.auto = true;
    this.pause = false;
    this.activeIndex = 0;
    this.transition = 1500;
    this.busy = false;
    this.count = 3;
}

function doRotatorTimer()
{
    var r = rotator;
    var index;
    
    if (r.activeIndex == r.count)
        index = 0;
    else
        index = r.activeIndex+1;
    
    if (r.auto)
    {
        if (r.ms == r.interval)
        {
            xFade(index);
            r.ms = 0;
        }
        else
        {
            if (!r.pause)
                r.ms += r.increment;
        }
    }
    else
        clearInterval(intervalID);
}

function xFade(index)
{
    var r = rotator;
    var ri1;
    var ri2;
    var rc1
    var rc2;
    var rb1
    var rb2;

    if (index == r.activeIndex || r.busy)
        return;
    else
        r.busy = true;
    
//    ri1 = $('ri'+r.activeIndex);
//    ri2 = $('ri'+index);
//    rc1 = $('rc'+r.activeIndex);
//    rc2 = $('rc'+index)

    ri1 = $('#ri' + r.activeIndex);
    ri2 = $('#ri' + index);
    rc1 = $('#rc' + r.activeIndex);
    rc2 = $('#rc' + index)
    rb1 = $('#rb' + r.activeIndex);
    rb2 = $('#rb' + index)

    ri1.fadeTo(r.transition, 0, doBusyFalse);
    ri2.fadeTo(r.transition, 1);
    rc1.fadeTo(r.transition, 0);
    rc2.fadeTo(r.transition, 1);
    rb1.fadeTo(r.transition, 0);
    rb2.fadeTo(r.transition, 1);

    ri1.css('z-index', 0);
    ri2.css('z-index', 1);
//    var fx1 = new Fx.Morph(ri1, {
//	    duration: r.transition
//    });
//    fx1.start({
//	    'opacity':[1,0]
//	}).chain(function() { r.busy = false });
//    
//    var fx2 = new Fx.Morph(ri2, {
//	    duration: r.transition
//    });
//    fx2.start({
//	    'opacity':[0,1]
//    });

//    var fx3 = new Fx.Morph(rc1, {
//	    duration: r.transition
//    });
//    fx3.start({
//        'opacity':[1,0]
//    });

//    var fx4 = new Fx.Morph(rc2, {
//	    duration: r.transition
//    });
//    fx4.start({
//        'opacity':[0,1]
//    });

    r.activeIndex = index;
}

function kill()
{
    rotator.auto = false;
}

function doBusyFalse() {
    rotator.busy = false;
}

rotator = new Rotator();
intervalID = setInterval('doRotatorTimer()', rotator.increment);
