/*************************************************************
*                                                            *
*                                                            *
*                                                            *
* ScrollScript                                               *
* 2007 Exsisto Ltd.                                          *
*                                                            *
*                                                            *
*                                                            *
*************************************************************/

/*
speed:
1 - fastest
2 - faster
3 - fast
4 - medium
5 - slow
6 - slower
7 - slowest
*/
switch(speed) {
	case 1:
	realSpeed = 2/3;
	break;
	case 2:
	realSpeed = 1/2;
	break;
	case 3:
	realSpeed = 1/3;
	break;
	case 4:
	realSpeed = 1/4;
	break;
	case 5:
	realSpeed = 1/5;
	break;
	case 6:
	realSpeed = 1/6;
	break;
	case 7:
	realSpeed = 1/8;
	break;
}


var mainMoveArray = makeFactArray();


var scrollArray = new Array();

function makeFactArray() {
	middle = Math.floor((1/7)*elementDim);
	if(middle%2 != elementDim%2) {
		middle++;
	}
	to_middle = (elementDim-middle)/2;
	to_middle_array = new Array (1,1,1,1,1,1,1,1,1);
	for(i=8;i>=0;i--) {
		to_middle_array[i] = Math.floor((realSpeed)*to_middle);
		to_middle -= Math.floor((realSpeed)*to_middle);
	}
	while(to_middle > 0) {
		for(i=8; i>=0;i--) {
			if(to_middle-- > 0) to_middle_array[i]++;
		}
	}
	to_end_array = to_middle_array.slice();
	to_end_array.reverse();
	to_middle_array[9] = middle;
	return to_middle_array.concat(to_end_array);
}
function init()
{
	document.getElementById('scrollImgRight').onmouseover = function() {
		if(document.getElementById('scrollImgRight').src == url + 'scroll_act_right.gif') {
			document.getElementById('scrollImgRight').src = url + 'scroll_dis_right_hover.gif';
		}
	}
	document.getElementById('scrollImgRight').onmouseout = function() {
		if(document.getElementById('scrollImgRight').src == url + 'scroll_dis_right_hover.gif') {
			document.getElementById('scrollImgRight').src = url + 'scroll_act_right.gif';
		}
	}
	
	document.getElementById('scrollImgLeft').onmouseover = function() {
		if(document.getElementById('scrollImgLeft').src == url + 'scroll_act_left.gif') {
			document.getElementById('scrollImgLeft').src = url + 'scroll_dis_left_hover.gif';
		}
	}
	document.getElementById('scrollImgLeft').onmouseout = function() {
		if(document.getElementById('scrollImgLeft').src == url + 'scroll_dis_left_hover.gif') {
			document.getElementById('scrollImgLeft').src = url + 'scroll_act_left.gif';
		}
	}
	
	
	var scrollers = getElementsByChildNodes('scrollContent');
	
	for(i=0;i<scrollers.length;i++)
	{
		var scr = scrollers[i];
		var sc = document.getElementById('scrollContent');
		var scrollerObj = new theScroller();

		if(orientation == "vertical") {
			if(sc.style.top != '') {
				scrollerObj.offset = parseInt(sc.style.top);
			}
		}
		else {
			if(sc.style.left != '') {
				scrollerObj.offset = parseInt(sc.style.left);
			}
		}
		scrollerObj.max = scrollers.length;
		scrollArray.push(scrollerObj);
	}
}
function theScroller () {
	var me = this;
	this.dir = 0;
	this.pos = 0;
	this.offset = 0;
	this.max = 8;
	this.view = oneStepView;
	this.cpos = 0;
	this.is_moving = false;
	this.interval = '';
	this.movearray = mainMoveArray;
}
function scrollMove(target)
{
	var scrollerObj = scrollArray[0];
	if(target == 1) target = moveStep;
	else if(target == -1) target = -moveStep;

	var request = (target * 2) + scrollerObj.cpos;
	if(request > scrollerObj.max && target > 0){
		target = scrollerObj.max - scrollerObj.cpos - target;
	}
	else if(scrollerObj.cpos + target < 0){
		var result = scrollerObj.cpos + target;
		target = target - result;
	}
	if(target == 0)
	return;
	scrollerObj.dir = target;
	if(  !scrollerObj.is_moving && ( (scrollerObj.dir > 0 && (scrollerObj.cpos + scrollerObj.view) < scrollerObj.max )  ||  (scrollerObj.dir < 0 && scrollerObj.cpos > 0) ) )
	{
		scrollerObj.is_moving = true;
		scrollerObj.cpos += scrollerObj.dir;
		scrollerObj.interval = setInterval(function () { makeScroll(scrollerObj) },1);
	}

	scrollTheImages(target, scrollerObj);
}
function makeScroll(scrollerObj)
{
	var sc = document.getElementById( 'scrollContent' );
	if(scrollerObj.pos == scrollerObj.movearray.length)
	{
		scrollerObj.pos = 0;
		clearInterval(scrollerObj.interval);
		scrollerObj.is_moving = false;
		return;
	}
	scrollerObj.offset += ((-1 * scrollerObj.dir) * scrollerObj.movearray[scrollerObj.pos]);

	if(orientation == "vertical") {
		sc.style.top = scrollerObj.offset + 'px';
	}
	else {
		sc.style.left = scrollerObj.offset + 'px';
	}
	scrollerObj.pos++;
}
function scrollTheImages(target, scrollerObj)
{
	var leftImg = document.getElementById('scrollImgLeft');
	var rightImg = document.getElementById('scrollImgRight');

	var leftDiv = document.getElementById('scrollLeft');
	var rightDiv = document.getElementById('scrollRight');

	if(target > 0){
		if((scrollerObj.cpos + scrollerObj.view) == scrollerObj.max){
			rightImg.src = url + 'scroll_dis_right.gif';
			rightDiv.style.cursor = 'arrow';
		}

		leftImg.src = url + 'scroll_act_left.gif';
		leftDiv.style.cursor = 'pointer';
	}
	else{

		if(scrollerObj.cpos == 0){
			leftImg.src = url + 'scroll_dis_left.gif';
			leftDiv.style.cursor = 'arrow';
		}

		rightImg.src = url + 'scroll_act_right.gif';
		rightDiv.style.cursor = 'pointer';
		/* document.getElementById('scrollImgRight').onmouseover = function() {
		url + 'scroll_dis_right_hover.gif';
		alert("a");
		}
		document.getElementById('scrollImgRight').onmouseout = url + 'scroll_act_right.gif';*/
	}
}
function getElementsByChildNodes(prnt) {
	var parent = document.getElementById(prnt).childNodes;
	var elements = new Array();
	for (var i = 0; i < parent.length; ++i)
	elements.push(parent[i]);
	return elements;
}

