if (! cooliris) {
    var cooliris = {};
}

cooliris.video = function() {
    var TIMEOUTS = [];
    var MOVIES, NEXTMOVIE, NEXTTIME, INDEX, NEXTELEM, NEXTELEMID;
    var playing;
    var videoSize = {width: 472, height: 295};
    
    var embedFlash = function(movieTitle, playH264, loopVideo)
    {
      var playerDiv = document.getElementById('coolirisVideoPlayerDiv');
      playerDiv.innerHTML = '<div id="coolirisVideoPlayer"></div>';

      var ext = playH264 ? '.mp4' : '.flv';
      swfobject.embedSWF('/site/videos/VideoPlayer.swf',
        "coolirisVideoPlayer",
        videoSize.width, videoSize.height, "9.0.0",
        false, {splashScreen:movieTitle+".jpg",
        src:movieTitle+ext, loop : false},
        { wmode:'opaque', allowScriptAccess:'always', allowFullScreen: 'false'
      });
      
      $('coolirisVideoPlayer').onclick=cooliris.video.playPause;
      playing = true;
    };
    
    var clearTimeouts = function() {
        for (var i = 0; i < TIMEOUTS.length; i++) {
            clearTimeout(TIMEOUTS[i]);
        }
    };
    
    return {
        defineMovies : function(theMovies) {
            MOVIES = theMovies;
        },

        switchMovie : function(movieTitle, index, loopVideo)
        {
          clearTimeouts();
  
          if (MOVIES) { 
              INDEX = index;
              NEXTMOVIE = MOVIES[((INDEX+1)%(MOVIES.length))].movie;
              NEXTTIME = MOVIES[INDEX].time;
              NEXTELEMID = 'sidenav'+((INDEX+1)%(MOVIES.length)+1);
              var t = setTimeout("switchMovie('"+NEXTMOVIE+"', "+(INDEX+1)%(MOVIES.length)+"); setCurrent('"+NEXTELEMID+"')", NEXTTIME*1000);
              TIMEOUTS.push(t);
          }

          var canSeeH264 = swfobject.hasFlashPlayerVersion("9.0.115");
  
          embedFlash(movieTitle, canSeeH264, loopVideo);
        },
        
        playPause : function() {
            var el = $('coolirisVideoPlayer');
            if (playing){
                el.pause();
            } else {
                el.resume();
            }
            playing = !playing;
        }, 
        
        stop : function() {
            var el = $('coolirisVideoPlayer');
            // el.start();
            // return;
            if (playing && el.pause) {
                el.pause();
                playing=false;
            }
        },
        
        start : function() {
            var el = $('coolirisVideoPlayer');
            // el.stop();
            // return;
            if (!playing && el.resume) {
                el.resume();
                playing=true;
            }
        },
        
        /**
         * Expects a javascript object with height and width properties
         */
        setVideoSize : function(dimension) {
            videoSize = dimension;
        },
        
        hasFlash: function() {
            var fv = swfobject.getFlashPlayerVersion();
            return !!(fv.minor || fv.major || fv.release);
        }
    };
}();
