Stage.addObject('InnerPages');

var InnerPages = function InnerPages(){

	var init = function init() {
		var scrolledElms = $D.getElementsByClassName('scrolled','div','innerPages');
		
		if(scrolledElms.length > 0) {
			for(var i = 0, l = scrolledElms.length; i < l; i++) {
				var elmId = $D.generateId(scrolledElms[i],'scrolled-');
				new scroll(elmId);
			}
		}

		var scrolledElms = null;
	};

	var scroll = function(elmId) {	
		var _self = this;
		var bodyId, upId, downId;

		var init = function() {
			var slider = $D.getElementsByClassName('slider','div',elmId);

			if(typeof(slider[0]) != 'undefined') {
				slider = slider[0];
				var up = $D.getElementsByClassName('up','div', slider);
				var down = $D.getElementsByClassName('down','div', slider);
				var body = $D.getElementsByClassName('text','div', elmId);

				if(typeof(body[0]) != 'undefined') {
					bodyId = $D.generateId(body[0], 'scrolled-body-');
					upId = $D.generateId(up[0], 'scrolled-up-');
					downId = $D.generateId(down[0], 'scrolled-down-');
					$E.on(up,'click',_self.up);
					$E.on(down,'click',_self.down);
					verify();
				}

				up = null;
				down = null;
				body = null;
			}

			slider = null;
		};

		var verify = function() {
			var sTop = $D.get(bodyId).scrollTop;
			var sHeight = $D.get(bodyId).scrollHeight;
			var cHeight = $D.get(bodyId).clientHeight;
			if(sTop == 0) {
				$D.get(upId).className = 'up-disable';
			} else {
				$D.get(upId).className = 'up';
			}

			if(cHeight + sTop >= sHeight) {
				$D.get(downId).className = 'down-disable';
			} else {
				$D.get(downId).className = 'down';
			}
		};

		this.up = function() {
			$D.get(bodyId).scrollTop -= 14;
			verify();
		};

		this.down = function() {
			$D.get(bodyId).scrollTop += 14;
			verify();
		};

		init.call();
	};

	init.call();
}

