// JavaScript Document


/* scroller */
/* scroller functions for mouse interaction */
function CA_SetupScroller() {
	
	document.getElementById('scroller').style.overflow = 'hidden';
	
	var d = document.getElementById('scroller');
	d.style.position = 'relative';
	
	var d2 = document.getElementById('scrollpage');
	d2.style.position = 'absolute';
	d2.style.left = '0px';
	
	setInterval('CA_HideShowScroll()', 500);

}

// hides and shows the buttons
function CA_HideShowScroll () {
	/*
	var sp = document.getElementById('scrollpage');
	
	dir = 'left';
	
	var img = document.getElementById(dir+'scrollerarrow');
	var newleft = sp.style.left
	newleft = CA_GetScrollToPos(dir);
	
	if (sp.style.left == newleft) {
		img.style.visibility = 'hidden';
	} else {
		img.style.visibility = 'visible';
	}
	
	dir = 'right';
	
	var img = document.getElementById(dir+'scrollerarrow');
	var newleft = sp.style.left
	newleft = CA_GetScrollToPos(dir);
	
	if (sp.style.left == newleft) {
		img.style.visibility = 'hidden';
	} else {
		img.style.visibility = 'visible';
	}
	
	
	*/
}

function CA_Numeralize(s) {
	if (!s) {
		s = '0px';	
	}
	return parseInt(String(s).replace(/[^\-0-9]/g,''))
}
function CA_Pixelize(s) {
	return CA_Numeralize(s)+'px';
}

function CA_GetScrollToPos(dir, p) {
	node = document.getElementById('scrollpage');
	
	var newleft = node.style.left
	var nleft = CA_Numeralize(newleft);
	
	// calculate direction and distance
	var nodes = node.getElementsByTagName('DIV');
	// loop through nodes to find the next one to move to
	var n = nodes.length;
	for (i=0;i<n;i++) {
		if (nodes[i].id && /_s[0-9]+$/.test(nodes[i].id)) {
			if (dir == 'right') {
				if (nodes[i].offsetLeft*-1 < nleft) {
					newleft = CA_Pixelize(-nodes[i].offsetLeft);
					if (p) CS_SetPagination(i+1);
					break;
				}
			} else {
				if (nodes[i].offsetLeft*-1 > nleft) {
					newleft = CA_Pixelize(-nodes[i].offsetLeft);
					if (p) CS_SetPagination(i+1);
				}
			}
		}
	}
	
	return newleft;
}

function CS_SetPagination(k) {
	var node = document.getElementById('scrollpagenation');
	var nodes = node.getElementsByTagName('A');
	for (var i=0; i<nodes.length; i++) {
		nodes[i].className = '';
		if (i==k) {
			nodes[i].className = 'current';
		}
	}
}

function CA_Scroll(dir) {
	node = document.getElementById('scrollpage');
	
	var myFx = new Fx.Tween(node);

	var newleft = node.style.left
	
	newleft = CA_GetScrollToPos(dir, true);
	
	if (node.style.left != newleft) {
		myFx.start('left', CA_Pixelize(node.style.left), newleft);
	}
	
	return false;
}

function CA_ScrollTo (i) {
	node = document.getElementById('scrollpage');

	var n = node.getElementsByTagName('DIV').item(i-1);
	
	newleft = CA_Pixelize(-n.offsetLeft);
	
	CS_SetPagination(i)
	
	var myFx = new Fx.Tween(node);
	if (node.style.left != newleft) {
		myFx.start('left', CA_Pixelize(node.style.left), newleft);
	}
	
	return false;
}



/* fade in fade out setup */
function Bolt_SetUpFades(tag) {
	if (typeof(Behaviour)!='undefined') return;
	var nodes = document.getElementsByTagName(tag);
	var n = nodes.length;
	for (i=0;i<n;i++) {
		if (/(^| )FadeIn( |$)/.test(nodes[i].className)) {
			nodes[i].style.visibility = 'hidden';
		}
	}
}

function Bolt_DoFadeIns(tag) {
	if (typeof(Behaviour)!='undefined') return;
	var nodes = document.getElementsByTagName(tag);
	var n = nodes.length;
	var time = 100;
	var int = 240;
	var opacity = 1;
	for (i=0;i<n;i++) {
		if (/(^| )FadeIn( |$)/.test(nodes[i].className)) {
			nodes[i].style.visibility = 'hidden';
			setTimeout("Bolt_FadeIn(document.getElementsByTagName('"+tag+"').item("+i+"), '"+opacity+"')",time+int);
			time+=int;
		}
	}
}

/* general fade in/out */
function Bolt_FadeIn(node) {
	//alert('fadein');
	var myFx = new Fx.Tween(node);
	myFx.set('opacity', 0);
	
	node.style.visibility = 'visible';
	node.style.display = 'block';
	
	node.style.visibility = 'visible';
	myFx.start('opacity', 0, 1);
}
function Bolt_FadeOut(node) {
	var myFx = new Fx.Tween(node);
	myFx.start('opacity', 1, 0);
}
