// JavaScript Document

// script.aculo.us extensions
// dependences
//http://www.ioncannon.net/javascript/48/smooth-scrolling-image-list/

//http://www.jools.net/projects/javascript/scrollable-divs/
//http://jools.net/wsvn/Projects/trunk/scroller/scroller.js

//http://www.jackslocum.com/blog/2006/10/02/3-easy-steps-to-avoid-javascript-memory-leaks/
/*
function slScroll(strId, strDir) {

	var slScrollStart = 0;
	var slScrollEnd = 200;
	var slScrollOffset = 40;
	var slScrollCount = slScrollStart;
	var slScrollTime = '';

	if ($strDir = 'up') {
		if (slScrollCount > slScrollStart) {
			blnCondition = true;
		} else {
			return false;
		}
		intY = slScrollOffset;
	} else {
		if (slScrollCount <= slScrollEnd) {
			blnCondition = true;
		} else {
			return false;
		}
		intY = (0 - slScrollOffset);
	}

}

// initialize variables
var slScrollStart = 0;
var slScrollCount = slScrollStart;
var slScrollOffset = 80;
var SlScrollEnd = 0;
var effScrollUp;
var effScrollDown;

function pageInit() {
	slScrollEnd = -(parseInt(Element.getHeight('thecast_scroll')) - slScrollOffset);
	Event.observe(
		'cast_top',
		'mouseover',
		function(e) { 
			slScrollUp('thecast_scroll'); 
		}
	);
	Event.observe('cast_top', 'mouseout', 
		function(e) {
			if (effScrollUp) { 
				slScrollCount = effScrollUp.originalTop;
				effScrollUp.cancel(); 
			}
		}
	);
	Event.observe('cast_bottom', 'mouseover', function(e){ slScrollDown('thecast_scroll'); });
	Event.observe('cast_bottom', 'mouseout', 
		function(e) {
			if (effScrollDown) {
				slScrollCount = effScrollDown.originalTop;
				effScrollDown.cancel();
			}
		}
	);
}

function slCallBackDownU(objElement) {
	if (objElement['originalTop']) {
		if (objElement['originalTop'] < slScrollEnd) {
			objElement.cancel();
			slScrollCount = objElement['originalTop'];
		}
	}
}
function slCallBackDown(objElement) {
	slScrollCount = objElement['originalTop'];
	slScrollDown(objElement.element.id);
}
function slCallBackUpU(objElement) {
	if (objElement['originalTop']) {
		if (objElement['originalTop'] > slScrollStart) {
			objElement.cancel();
			slScrollCount = objElement['originalTop'];
		}
	}
}
function slCallBackUp(objElement) {
	slScrollCount = objElement['originalTop'];
	slScrollUp(objElement.element.id);
}

function slScrollDown(strId) {
	if (slScrollCount > slScrollEnd) {
//		slScrollCount = slScrollCount + slScrollOffset;
		effScrollDown = new Effect.Move(strId, { 
			x: 0, 
			y: (0 - slScrollOffset), 
			transition: Effect.Transitions.linear, 
			beforeUpdate: slCallBackDownU,
			afterFinish: slCallBackDown
		});
	}
} 

function slScrollUp(strId) {
	if (slScrollCount < slScrollStart) {
//		slScrollCount = slScrollCount - slScrollOffset;
		effScrollUp = new Effect.Move(strId, { 
			x: 0, 
			y: slScrollOffset, 
			transition: Effect.Transitions.linear, 
			beforeUpdate: slCallBackUpU,
			afterFinish: slCallBackUp
		});
	}
}
*/
var i = 0;
var minScroll = 0;
var maxScroll = 1;
function ScrollDown() {
	if (i < maxScroll) {
		new Effect.Move('thecast_scroll', {
			x: 0,
			y: -83,
			transition: Effect.Transitions.linear
		});
		i = i + 1;
	}
}
function ScrollUp() {
	if (i > minScroll) {
		new Effect.Move('thecast_scroll', {
			x: 0,
			y: 83,
			transition: Effect.Transitions.linear
		});
		i = i - 1;
	}
}
