scrl_timeout = 20; // miliseconds
scrl_speed = 1;  // speed of moving - pixels in one move;
scrl_direction = 2; // 0 - to down, 1 - to up, 2 - to left, 3 - to right, 4 - changing aplha (only MSIE)
scrl_cycletime = 30; // miliseconds
scrl_moving = Array();
scrl_container = null;
scrl_can_scroll = true;
scrl_objs = Array();
function scrl_init_child(object) {		
	if (!object.style) return;	
	switch (scrl_direction) {
		case 0: {
			object.style.top = -scrl_container.offsetHeight;
		}break;
		case 1: {				
			object.style.top = scrl_container.offsetHeight;
		}break;
		case 2: {
			object.style.left = scrl_container.offsetWidth;
			object.style.top = 0;
		}break;
		case 3: {
			object.style.left = -object.offsetWidth;
			object.style.top = 0;
		}break;	
		case 4: {
			//object.style.visibility = 'hidden';
		}break;
	}
}
function scrl_set_moving(no1, no2) {
	var objs = scrl_container.childNodes;
	if (no1>=0) scrl_objs[no1].style.display = 'inline';
	scrl_objs[no2].style.display = 'inline';
	scrl_moving = Array(no1, no2);
}
function scrl_init(container_id) {

	if (scrl_container = document.getElementById(container_id)) {
		var objs = scrl_container.childNodes;
		var maxs = scrl_container.offsetHeight;
		for(i=0; i<objs.length; i++) {
			if ((objs[i].tagName=="DIV") && (objs[i].className.indexOf("scr_item")>=0)) {
				scrl_objs[scrl_objs.length] = objs[i];
				scrl_init_child(objs[i]);
				/*if (i==0) {
					objs[i].style.left = 50*i;		
					objs[i].style.top = 0;
				}	*/		
			}
		}
		if (scrl_objs.length>1) {
			scrl_set_moving(-1,0);
			setTimeout("scrl_move()", scrl_timeout);
		}
		else if (scrl_objs.length==1) scrl_set_moving(-1,0);
	}
}
function scrl_move() {
	if (scrl_moving.length<2) return;
	switch (scrl_direction) {
		case 0: {
			if (scrl_moving[0]>=0) {
				var tmp0 = parseInt(scrl_objs[scrl_moving[0]].style.top) + scrl_can_scroll?scrl_speed:0;
				scrl_objs[scrl_moving[0]].style.top = tmp0;
			}
			var tmp1 = parseInt(scrl_objs[scrl_moving[1]].style.top) + scrl_can_scroll?scrl_speed:0;
			scrl_objs[scrl_moving[1]].style.top = tmp1 ;
			if ((tmp1>=0) && (tmp1<=scrl_speed)) {
				scrl_init_child(scrl_objs[scrl_moving[0]]);
				scrl_objs[scrl_moving[1]].style.top = 0;
				scrl_set_moving(scrl_moving[1],(scrl_moving[1]+1) % scrl_objs.length);
				setTimeout("scrl_move()", scrl_timeout);
			}
			else setTimeout("scrl_move()", scrl_cycletime);
		}break;
		case 1: {
			var tmp0 = parseInt(scrl_objs[scrl_moving[0]].style.top) - (scrl_can_scroll?scrl_speed:0);
			var tmp1 = parseInt(scrl_objs[scrl_moving[1]].style.top) - (scrl_can_scroll?scrl_speed:0);
			scrl_objs[scrl_moving[0]].style.top = tmp0;
			scrl_objs[scrl_moving[1]].style.top = tmp1 ;
			if ((tmp1>=0) && (tmp1<=scrl_speed)) {
				scrl_init_child(scrl_objs[scrl_moving[0]]);
				scrl_objs[scrl_moving[1]].style.top = 0;
				scrl_set_moving(scrl_moving[1],(scrl_moving[1]+1) % scrl_objs.length);
				setTimeout("scrl_move()", scrl_timeout);
			}
			else setTimeout("scrl_move()", scrl_cycletime);
		}break;
		case 2: {
			if (scrl_moving[0]>=0) {
				var tmp0 = parseInt(scrl_objs[scrl_moving[0]].style.left) - (scrl_can_scroll ? scrl_speed : 0);
				scrl_objs[scrl_moving[0]].style.left = tmp0;
			}
			var tmp1 = parseInt(scrl_objs[scrl_moving[1]].style.left) - (scrl_can_scroll ? scrl_speed : 0);
			scrl_objs[scrl_moving[1]].style.left = tmp1 ;
			
			//alert_obj = document.getElementById('REPORT');
			//alert_obj.innerHTML = scrl_objs[scrl_moving[0]].style.left+","+parseInt(scrl_objs[scrl_moving[1]].style.left)+"<br>"+alert_obj.innerHTML;
			if ((tmp1>=0) && (tmp1<=scrl_speed)) {
				if (scrl_moving[0]>=0) scrl_init_child(scrl_objs[scrl_moving[0]]);
				scrl_objs[scrl_moving[1]].style.left = 0;
				scrl_set_moving(scrl_moving[1],(scrl_moving[1]+1) % scrl_objs.length);
				setTimeout("scrl_move()", scrl_timeout);
			}
			else setTimeout("scrl_move()", scrl_cycletime);
		}break;
		case 3: {
			var tmp0 = parseInt(scrl_objs[scrl_moving[0]].style.left) + scrl_can_scroll?scrl_speed:0;
			var tmp1 = parseInt(scrl_objs[scrl_moving[1]].style.left) + scrl_can_scroll?scrl_speed:0;
			scrl_objs[scrl_moving[0]].style.left = tmp0;
			scrl_objs[scrl_moving[1]].style.left = tmp1 ;
			if ((tmp1>=0) && (tmp1<=scrl_speed)) {
				scrl_init_child(scrl_objs[scrl_moving[0]]);
				scrl_objs[scrl_moving[1]].style.left = 0;
				scrl_set_moving(scrl_moving[1],(scrl_moving[1]+1) % scrl_objs.length);
				setTimeout("scrl_move()", scrl_timeout);
			}
			else setTimeout("scrl_move()", scrl_cycletime);
		}break;
	}
}
