/*
A thumb lista bal és jobb irányba történő scroll-ozását végző függvények.
*/

var t;
var t_lassit;
var scroll_in_progress;
var pos = 0;
var max_speed = 8;
var speed_rise_up = 0.5;
var speed_rise_down = 0.5;
var curr_speed = 0;
var slideshow_pager_width = 0;

//visszatér -1-vel, ha nem Explorer, különben a verziószámmal
function IEVer(){
	var rv = -1;
	if (navigator.appName == 'Microsoft Internet Explorer'){
		var ua = navigator.userAgent;
		var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
		if (re.exec(ua) != null){
			rv = parseFloat( RegExp.$1 );
		}
	}
	return rv;
}

//az IE verziójától függően vizsgálom a html elem szélességét és adom értékül a változónak
function IEVerEllenorzes(){
	var ver = IEVer();
	if ( ver> -1 ){
		if ( ver>= 8.0 ){
			slideshow_pager_width = document.getElementById('slideshow_pager').firstChild.clientWidth;
		}
		else if ( ver == 7.0 ){
			var s_pager = document.getElementById('slideshow_pager');
			for (var i=0;i<s_pager.childNodes.length;i++){
				if (s_pager.childNodes[i].nodeName == 'UL'){
					slideshow_pager_width = s_pager.clientWidth;
				}
			}
		}
		else if ( ver == 6.0 ){
			var s_pager = document.getElementById('slideshow_pager');
			for (var i=0;i<s_pager.childNodes.length;i++){
				if (s_pager.childNodes[i].nodeName == 'UL'){
					slideshow_pager_width = s_pager.clientWidth;
				}
			}
		}
		else{
			slideshow_pager_width = 0;
		}
	}
	else{
		slideshow_pager_width = document.getElementById('slideshow_pager').firstChild.clientWidth;
	}
}

//a scroll-t elindítja
function start_scroll(direction){
	document.cookie = "scroll_speed=((start))";
	IEVerEllenorzes();
	if (scroll_in_progress!=1) {
		srcoll_in_progress=1;

		scroll(direction,speed_rise_up);
	}
}

//direction: left=0, right=1;
//a scroll irányától függően balra vagy jobbra tolom a tartalmat
function scroll(direction,curr_speed){
	w=document.getElementById('slideshow_pager_container');
	v=document.getElementById('slideshow_pager');
	
	//a jobb oldali lapozón állva balra csúsztatom, a sebességet folyamatosan növelve
	if (direction==1){
		if( (curr_speed + speed_rise_up) < max_speed ) curr_speed = curr_speed + speed_rise_up;
		var inner_width = (slideshow_pager_width+pos);
		var outer_width = (w.clientWidth);
		if (inner_width>outer_width){
			pos-=curr_speed;
			v.style.left = ""+pos+"px";
		}
	}
	//a bal oldali lapozón állva jobbra csúsztatom, a sebességet folyamatosan növelve.
	else {
		if (pos<0){
			if( (curr_speed + speed_rise_up) < max_speed ) curr_speed = curr_speed + speed_rise_up;
			pos+=curr_speed;
			v.style.left = ""+pos+"px";
		}
	}
	
	var speedCookie = document.cookie;
	var speed = speedCookie.substring((speedCookie.indexOf("scroll_speed=((")+15),speedCookie.indexOf("))"));
	if(speed=='stop'){
		clearTimeout(t);
	}
	else{
		//eltárolom sütiben az aktuális sebességet
		document.cookie = "scroll_speed=(("+curr_speed+"))";
		t=setTimeout("scroll("+direction+","+curr_speed+")",40);
	}
}

//az iránytól függően folyamatosan lassítva (míg el nem éri a nullát) csúsztatom a listát
function scroll_lassit(direction,curr_speed){
	w=document.getElementById('slideshow_pager_container');
	v=document.getElementById('slideshow_pager');
	
	if (direction==1){
		if( (curr_speed - speed_rise_down) >= 0 ) curr_speed = curr_speed - speed_rise_down;
		var inner_width = (slideshow_pager_width+pos);
		var outer_width = (w.clientWidth);
		if (inner_width>outer_width){
			pos-=curr_speed;
			v.style.left = ""+pos+"px";
		}
	}
	else {
		if (pos<0){
			if( (curr_speed - speed_rise_down) >= 0 ) curr_speed = curr_speed - speed_rise_down;
			pos+=curr_speed;
			v.style.left = ""+pos+"px";
		}
	}
	if(curr_speed==0){
		clearTimeout(t_lassit);
		clearTimeout(t);
	}
	else{
		t_lassit = setTimeout("scroll_lassit("+direction+","+curr_speed+")",40);
	}
}

//a scroll-t leállítja
function stop_scroll(direction){
	IEVerEllenorzes();
	//kiszedem a sütiből az aktuális sebességet és a sütit kiürítem
	var speedCookie = document.cookie;
	var speed = speedCookie.substring((speedCookie.indexOf("scroll_speed=((")+15),speedCookie.indexOf("))"));
	document.cookie = "scroll_speed=((stop))";

	//kikapcsolom az időzítőt
	clearTimeout(t);
	
	//elindítom a lassítót
	scroll_lassit(direction,speed)
	scroll_in_progress=0;
}
