var $D = YAHOO.util.Dom;
var $E = YAHOO.util.Event;
var $A = YAHOO.util.Anim;
var $S = YAHOO.widget.Slider;
var $ = $D.get;

YAHOO.util.AnimMgr.fps = 500;

YAHOO.widget.jpEffect = function(el) { this.oEl = YAHOO.util.Dom.get(el); };

YAHOO.widget.jpEffect.prototype.showPageNum = function() {
	var grow = new $A('pagetip', {opacity: {to: 1}}, 0.2);
	grow.animate();
};

YAHOO.widget.jpEffect.prototype.hidePageNum = function() {
	var shrink = new $A('pagetip', {opacity: {to: 0}}, 0.2);
	shrink.animate();
};

YAHOO.jpmullan = function() {
	return {
		init : function() {
			if($('pages')) {
				$D.setStyle('pagetip', 'opacity', '0');
				var pages = $('pages').getElementsByTagName('li');
				var ticks = Math.floor(946/pages.length);
				var slider = $S.getHorizSlider('slider', 'skullslider', 0, 946, ticks);
				for(i = 0; i < pages.length; i++) {
					if($D.hasClass(pages[i], 'thisPageNumber')) {
						slider.setValue(i*ticks);
						if((i*ticks) > 45) {
							$D.setStyle(here, 'margin-left', (i*ticks)-45+'px');
						}
						$('pagenum').innerHTML = i+1;
					}
				}
				slider.subscribe('change', this.changePageNum);
				slider.subscribe('slideEnd', this.endSlide);

				$E.on('slider', 'mouseover', this.showTip);
				$E.on('slider', 'mouseout', this.hideTip);
			}
			
			$E.on('searchText', 'focus', function() {
				if(this.getAttribute('value') == 'search the boneyard...') {
					this.setAttribute('value', '');
				}
			});
			$E.on('searchText', 'blur', function() {
				if(this.getAttribute('value') == '') {
					this.setAttribute('value', 'search the boneyard...');
				}
			});
		},
		
		endSlide : function() {
			var ticks = Math.floor(946/$('pages').getElementsByTagName('li').length);
			var num = Math.ceil(($D.getX('skullslider')-$D.getX('slider'))/ticks);
			var page = $('pages').getElementsByTagName('li')[num].getElementsByTagName('a')[0];
			if(page) {
				window.location = page.href;
			}
		},
		
		showTip : function() {
			var show = new YAHOO.widget.jpEffect();
			show.showPageNum();
		},
		
		hideTip : function() {
			var hide = new YAHOO.widget.jpEffect();
			hide.hidePageNum();
		},
		
		changePageNum : function() {
			var ticks = Math.floor(946/$('pages').getElementsByTagName('li').length);
			var num = Math.ceil(($D.getX('skullslider')-$D.getX('slider'))/ticks);
			$('pagenum').innerHTML = num+1;
		}
	}
}();
$E.on(window, 'load', YAHOO.jpmullan.init, YAHOO.jpmullan, true);
