// Movie scroller script - Copyright 2008 Fredrik Lönn
// Verified in :  Internet explorer 7, Firefox 2
// For more info visit: http://www.fastvideoindexer.com

var MovieScroller_pos = 0;
var MovieScroller_scroll_speed = 16;
var MovieScroller_scroll_stepping = 2;
var MovieScroller_image_index = 0;
var MovieScroller_initial_delay = 0;
var MovieScroller_preloading = 0;
var MovieScroller_has_preloaded = 0;
var MovieScroller_control_pos_x = 0;
var MovieScroller_control_pos_y = 0;
var MovieScroller_images;
var MovieScroller_preloaded_array;
var MovieScroller_image_width;      // width of each video frame
var MovieScroller_image_height;     // height of each video frame

function MovieScroller( in_x_pos, in_y_pos, in_image_width, in_image_height, in_image_array )
{
    MovieScroller_control_pos_x = in_x_pos; 
    MovieScroller_control_pos_y = in_y_pos;
    MovieScroller_image_width = in_image_width;
    MovieScroller_image_height = in_image_height;
    MovieScroller_images = in_image_array;

    MovieScroller_preloaded_array = new Array(MovieScroller_images.length);
 
	this.Create();
}

MovieScroller.prototype.Create = function()
{
    this.WriteHtml();
    this.Init();
}

MovieScroller.prototype.WriteHtml = function()
{
    var html = "<div id=\"MovieScroller_top\" style=\"position:absolute; top: 0; left: 0; Z-index: 2\">"

    html += "<div id=\"MovieScroller_left_border_div\" style=\"position:absolute; Z-index: 2\">";
    html += "<img id=\"MovieScroller_left_border_img\" src=\"empty.gif\" />";
    html += "</div>";

    html += "<div id=\"MovieScroller_right_border_div\" style=\"position:absolute; Z-index: 2\">";
    html += "<img id=\"MovieScroller_right_border_img\" src=\"empty.gif\" />";
    html += "</div>";

    html += "<div id=\"MovieScroller_movie0\" style=\"position:absolute;  Z-index: 1\">";
    html += "<img id=\"MovieScroller_frame0\" src=\"" + MovieScroller_images[0] + "\"/>";
    html += "</div>";

	html += "<div id=\"MovieScroller_movie1\" style=\"position:absolute;  Z-index: 0\">";
    html += "<img id=\"MovieScroller_frame1\" src=\"" + MovieScroller_images[1] + "\"/>";
    html += "</div>";

    html += "</div>";

	document.writeln(html);
	document.close(); 
}

MovieScroller.prototype.Init = function()
{
    MovieScroller_PreLoad();

	document.getElementById("MovieScroller_left_border_div").style.left = MovieScroller_control_pos_x - MovieScroller_image_width;
    document.getElementById("MovieScroller_left_border_div").style.top = MovieScroller_control_pos_y;
    document.getElementById("MovieScroller_left_border_img").width = MovieScroller_image_width;
    document.getElementById("MovieScroller_left_border_img").height = MovieScroller_image_height;
    
    document.getElementById("MovieScroller_right_border_div").style.left = MovieScroller_control_pos_x + MovieScroller_image_width;
    document.getElementById("MovieScroller_right_border_div").style.top = MovieScroller_control_pos_y;
    document.getElementById("MovieScroller_right_border_img").width = MovieScroller_image_width;
    document.getElementById("MovieScroller_right_border_img").height = MovieScroller_image_height;

    document.getElementById("MovieScroller_movie0").style.top = MovieScroller_control_pos_y;
    document.getElementById("MovieScroller_movie1").style.top = MovieScroller_control_pos_y;

    document.getElementById("MovieScroller_frame0").width = MovieScroller_image_width;
    document.getElementById("MovieScroller_frame0").height = MovieScroller_image_height;

    document.getElementById("MovieScroller_frame1").width = MovieScroller_image_width;
    document.getElementById("MovieScroller_frame1").height = MovieScroller_image_height;
}

function MovieScroller_preload_error() 
{
    MovieScroller_has_preloaded++;
}

function MovieScroller_preload_done()
{
    MovieScroller_has_preloaded++;
    if (MovieScroller_has_preloaded==2)
    {
        setInterval( MovieScroller_DoScroll, MovieScroller_scroll_speed );   // start the scroll when the first two images has loaded.
    }
	
    if (MovieScroller_preloading < MovieScroller_images.length)
    {
        setTimeout( MovieScroller_PreLoad, 0);       
    }
}

function MovieScroller_PreLoad()
{
    if (MovieScroller_preloading<MovieScroller_images.length)
    {
	    MovieScroller_preloaded_array[ MovieScroller_preloading ]=new Image();
	    MovieScroller_preloaded_array[ MovieScroller_preloading ].onload = MovieScroller_preload_done;
	    MovieScroller_preloaded_array[ MovieScroller_preloading ].onerror = MovieScroller_preload_error;
	    MovieScroller_preloaded_array[ MovieScroller_preloading ].src=MovieScroller_images[ MovieScroller_preloading ];
        MovieScroller_preloading++;
    }
}

function MovieScroller_UpdateImages()
{
    if (++MovieScroller_image_index >= MovieScroller_images.length )
        MovieScroller_image_index = 0;

	if (MovieScroller_image_index%2)
	    document.getElementById("MovieScroller_frame0").src = MovieScroller_preloaded_array[ MovieScroller_image_index ].src;	
	else
	    document.getElementById("MovieScroller_frame1").src = MovieScroller_preloaded_array[ MovieScroller_image_index ].src;	
}

function MovieScroller_DoScroll()
{
    MovieScroller_pos -= MovieScroller_scroll_stepping;
    if (MovieScroller_pos < -MovieScroller_image_width)
    {
        MovieScroller_pos = 0;
        MovieScroller_UpdateImages();
    }

	if (MovieScroller_image_index%2)
	{
	    document.getElementById("MovieScroller_movie0").style.left = MovieScroller_control_pos_x + MovieScroller_pos + MovieScroller_image_width;
	    document.getElementById("MovieScroller_movie1").style.left = MovieScroller_control_pos_x + MovieScroller_pos;
	}
	else
	{
	    document.getElementById("MovieScroller_movie0").style.left = MovieScroller_control_pos_x + MovieScroller_pos;
	    document.getElementById("MovieScroller_movie1").style.left = MovieScroller_control_pos_x + MovieScroller_pos + MovieScroller_image_width;
	}
}
