
var slider_sliding_from = new Array();
var slider_sliding_to = new Array();
var slider_slide_amount = new Array();
var slider_slide_from_size = new Array();
var slider_slide_to_size = new Array();

var slider_last_time = new Array();

var slider_handle_size = new Array();// = 50;
var slider_overall_size = new Array();// = 500;

var slider_type = new Array();
var slider_groupname = new Array();

var slider_num_groups = 0;

var slider_enterFrame = function() {
	
	for(slider_group = 0; slider_group < slider_num_groups; slider_group++ ) {
		if(slider_sliding_from[slider_group] != slider_sliding_to[slider_group]) {	
			
			slider_from = document.getElementById(slider_groupname[slider_group]+slider_sliding_from[slider_group]);
			slider_to = document.getElementById(slider_groupname[slider_group]+slider_sliding_to[slider_group]);
			
			this_time = (new Date()).valueOf();
			if(slider_last_time[slider_group] == 0) {
				slider_last_time[slider_group] = this_time;
			}
			
			interval = this_time - slider_last_time[slider_group];
			move_amount = interval;
			
			slider_slide_from_size[slider_group] -= move_amount;
			slider_slide_to_size[slider_group] += move_amount;
			
			if(slider_slide_from_size[slider_group] <= slider_handle_size[slider_group]) {
				
				if(slider_type[slider_group] == 0) {
					slider_from.style.width = slider_handle_size[slider_group]+"px";
					slider_to.style.width = slider_overall_size[slider_group]+"px";
				}
				else {
					slider_from.style.height = slider_handle_size[slider_group]+"px";
					slider_to.style.height = slider_overall_size[slider_group]+"px";
				}
				
				slider_sliding_from[slider_group] = slider_sliding_to[slider_group];
				slider_slide_from_size[slider_group] = slider_overall_size[slider_group];
				slider_slide_to_size[slider_group] = slider_handle_size[slider_group];
				slider_last_time[slider_group] = 0;
			}
			else {
				if(slider_type[slider_group] == 0) {
					slider_from.style.width = slider_slide_from_size[slider_group]+"px";
					slider_to.style.width = slider_slide_to_size[slider_group]+"px";
				}
				else {
					slider_from.style.height = slider_slide_from_size[slider_group]+"px";
					slider_to.style.height = slider_slide_to_size[slider_group]+"px";
				}
				
				slider_last_time[slider_group] = this_time;
			}
			
		}
	}

	setTimeout(slider_enterFrame, 0);
}

function slider_slide(id, slider_group) {

	if(slider_sliding_from[slider_group] == slider_sliding_to[slider_group]) {
		if(slider_sliding_to[slider_group] == id) {
			if(id > 1)
				slider_sliding_to[slider_group] = id-1;
		}
		else {
			slider_sliding_to[slider_group] = id;
		}
		
		if(document.all) {
			// setAttribute("class" "abc") doesn't work in IE, so we need to use setAttribue("className", "abc")
			// This doesn't work in real browsers, so we need a conditional here.
			document.getElementById(slider_groupname[slider_group]+slider_sliding_from[slider_group]).setAttribute("className", "slider");
			document.getElementById(slider_groupname[slider_group]+slider_sliding_to[slider_group]).setAttribute("className", "slider_open");
		}
		else {
			document.getElementById(slider_groupname[slider_group]+slider_sliding_from[slider_group]).setAttribute("class", "slider");
			document.getElementById(slider_groupname[slider_group]+slider_sliding_to[slider_group]).setAttribute("class", "slider_open");
		}
	}
}

function slider_init(handle_size, overall_size, type, groupname) {
	
	var slider_group = slider_num_groups++;
	
	slider_handle_size[slider_group] = handle_size;
	slider_overall_size[slider_group] = overall_size;
	slider_type[slider_group] = type;
	slider_groupname[slider_group] = groupname;
	
	
	slider_sliding_from[slider_group] = 1;
	slider_sliding_to[slider_group] = 1;
	slider_slide_amount[slider_group] = 0;
	slider_slide_from_size[slider_group] = slider_overall_size[slider_group];
	slider_slide_to_size[slider_group] = slider_handle_size[slider_group];

	slider_last_time[slider_group] = 0;
	
	setTimeout(slider_enterFrame, 0);
	
	return slider_group;
}
