(function($){
    var show = new Slideshow();

    ///////////////////////////////////////////
    //embed SWF for Youtube Vids

    var params = { allowScriptAccess: "always" };
    var atts = { id: "ytplayer" };
    swfobject.embedSWF("http://www.youtube.com/e/6y64zTRlrmo?enablejsapi=1&version=3&playerapiid=ytplayer",
                       "ytvidcont1", "560", "349", "8", null, null, params, atts);
    
    function Slideshow(){
        var self = $(this);
        var autoProgress = true;
        var timeout, show, slides;
        var left = "left";
        var center = "center";
        var right = "right";
        var visible = "visible";
        var speed = 700;
        var ease = 'easeInSine';
        var currentSlide = 0;
        var autoDelay = 7000;

        $(document).ready(function(){
            show = $('.slideshow');
            slides = $('li', show);
            slides.addClass(right).addClass(visible);
            self.moveTo(currentSlide);
        });

        self.moveTo = function(slideId){
            var current = slides.get(currentSlide)
            var auto = $('input[name="auto"]', current).val();
            if (auto != 'false'){
                var target = slides.get(slideId);
		var curret = $(slides.get(currentSlide));
                if (!target) {self.moveTo(0);return;}
                $(current).switchClass(center, left, speed, ease).switchClass(left, right, 0, ease);
                $(target).switchClass(right, center, speed, ease);
                currentSlide = slideId;
                //console.log("currentslide = "+currentSlide+" autoProgress = "+autoProgress);
            }
            timeout = setTimeout(self.progress, autoDelay+speed);
        }

        self.progress = function(){
            self.moveTo(currentSlide+1);
        }

//        self.stopAuto = function(){
//            console.log("show halting");
//            autoProgress = false;
//            if (timeout)clearTimeout(timeout);
//            console.log("show halted");
//        }
//
//        self.startAuto = function(){
//            console.log("show auto");
//            autoProgress = true;
//            timeout = setTimeout(self.progress, autoDelay+speed);
//            console.log("show autoed");
//        }

    }

})(jQuery)

function receiveOoyalaEvent(playerId ,eventName ,parameters ){
    //console.log('recived event');
    if (eventName == 'stateChanged'){
        var slide = $("#"+playerId).parents('li');
        var auto = $('input[name="auto"]', slide);
        if (parameters.state == 'paused' ) auto.val(true);
        else auto.val(false);
    }
}

function onYouTubePlayerReady(playerId) {
        var player = document.getElementById(playerId);
        player.addEventListener('onStateChange', 'ytStateChange')
    }

function ytStateChange(){
    var player = document.getElementById("ytplayer");
    var state = player.getPlayerState();
    var slide = $(player).parents('li');
    var auto = $('input[name="auto"]', slide);
    if (state == 1 || state == 3)
        auto.val(false);
    else
        auto.val(true);
}
