window.addEvent('domready', function() {

    /* ----------Config Vars----------- */
    var slideTimer = 8000;  //time between slides (1 second = 1000), a.k.a. the interval duration
    var transitionTime = 1150; //transition time (1 second = 1000)
    var items = $$('.slide_item');  //Get array of elements for sliding
    var prevBtn = $('prevbtn');
    //var playBtn = $('playbtn');
    var nextBtn = $('nextbtn');
    var itemNum = 0;  //initialize a variable to hold the current slide index
    var isPaused = 0;
    
    /* --------end config vars-------- */

    //Setup positions
    items.each(function(element, index) {

        //since the viewer obviously has javascript on, we can remove the 'first_item' class
        if (index == 0) {
            element.removeClass('first_item');
            element.setStyle('left', "0");
        }
        else {
            element.setStyle('left', "988px");
        }

    });

    var numItems = items.length;  //get number of slider items
    //end setup



    //Slider Stuff
    var slideForward = function() {

        //get item to slide out
        var curItem = items[itemNum];

        //change index
        if (itemNum < (numItems - 1)) {
            itemNum++;
        }
        else {
            itemNum = 0;
        }

        //now get item to slide in using new index
        var newItem = items[itemNum];


        //set up our animation stylings for out and in motions (note:  Fx.Styles does NOT exist in moo 1.2, so we must use Fx.Morph or Fx.Tween)
        var item_in = new Fx.Morph(newItem, {
            duration: transitionTime,
            transition: Fx.Transitions.Quad.easeInOut,
            wait: false
        });

        var item_out = new Fx.Morph(curItem, {
            duration: transitionTime,
            transition: Fx.Transitions.Quad.easeInOut,
            wait: false
        });

        //we will set a beginning value here
        //this is so that it gives the illusion of continuous motion from one direction, even after the first cycle of items
        item_in.start({
            'left': [988, 0]
        });

        //no beginning values needed, since we always want to push the old item out to the left
        item_out.start({
            'left': '-988'
        });

    };


    var slideBackward = function() {

        //get item to slide out
        var curItem = items[itemNum];

        //change index for reverse movement
        if (itemNum > 0) {
            itemNum--;
        }
        else {
            itemNum = (numItems - 1);
        }

        //now get item to slide in using new index
        var newItem = items[itemNum];


        var item_in = new Fx.Morph(newItem, {
            duration: transitionTime,
            transition: Fx.Transitions.Quad.easeInOut,
            wait: false
        });

        var item_out = new Fx.Morph(curItem, {
            duration: transitionTime,
            transition: Fx.Transitions.Quad.easeInOut,
            wait: false
        });


        //we will set a beginning value here too, but this time to make it come from left to right
        item_in.start({
            'left': [-988, 0]
        });

        //no beginning values needed
        item_out.start({
            'left': '988'
        });

    };
    //end slideBackward


    //call the slider function periodically
    var theTimer = slideForward.periodical(slideTimer, this);

    nextBtn.addEvent('click', function() {
        if (isPaused == 0) {
            $clear(theTimer);
            theTimer = slideForward.periodical(slideTimer);
        }
        slideForward();
    });

    prevBtn.addEvent('click', function() {
        if (isPaused == 0) {
            $clear(theTimer);
            theTimer = slideForward.periodical(slideTimer);
        }
        slideBackward();
    });
    
    /*
    playBtn.addEvent('click', function(){
    if(isPaused == 0){
    isPaused = 1;
    $clear(theTimer);
    //				this.getElement('a').set('html', 'play'); 
    document.getElementById('playbtnimg').src='images/play_large_emed.gif';

		}
    else{
    isPaused = 0;
    slideForward();
    theTimer = slideForward.periodical(slideTimer); 
    //				this.getElement('a').set('html', 'pause'); 
    document.getElementById('playbtnimg').src='images/pause_large_emed.gif';

		}
    });
    */

});