$(function(){
	$.fn.pager = function(clas, options) {
		var settings = {
			navId: 'page_nav',
			navClass: 'page_nav',
			navAttach: 'append',
			highlightClass: 'highlight',
			prevText: '&laquo;',
			nextText: '&raquo;',
			linkText: null,
			linkWrap: null,
			height: 'auto'
		}
		if(options) $.extend(settings, options);

		return this.each( function () {
			var me = $(this);
			var size;
			var i = 0;
			var navid = '#'+settings.navId;

			function init () {
				size = $(clas, me).not(navid).size();
				if(settings.height == null) {
					settings.height = getHighest();
				}
				if(size > 1) {
					makeNav();
					show();
					highlight();
				}
				sizePanel();
				if(settings.linkWrap != null) {
					linkWrap();
				}
			}
			function makeNav () {
				//var str = '<div id="'+settings.navId+'" class="'+settings.navClass+'">';
				var str = '<a href="#" rel="prev">'+settings.prevText+'</a>';
				for(var i = 0; i < size; i++) {
					var j = i+1;
					str += '<a href="#" rel="'+j+'">';
					str += (settings.linkText == null) ? j : settings.linkText[j-1];
					str += '</a>';
				}
				str += '<a href="#" rel="next">'+settings.nextText+'</a>';
				//str += '</div>';
				switch (settings.navAttach) {
					case 'before':
						$('#'+settings.navId).before(str);
						break;
					case 'after':
						$('#'+settings.navId).after(str);
						break;
					case 'prepend':
						$('#'+settings.navId).prepend(str);
						break;
					default:
						$('#'+settings.navId).append(str);
						break;
				}
			}
			function show () {
				$(me).find(clas).not(navid).hide();
				var show = $(me).find(clas).not(navid).get(i);
				$(show).show();
			}
			function highlight () {
				$(me).find(navid).find('a').removeClass(settings.highlightClass);
				var show = $(me).find(navid).find('a').get(i+1);
				$(show).addClass(settings.highlightClass);
			}
			function sizePanel () {
				if($.browser.msie) {
					$(me).find(clas).not(navid).css( {
						height: settings.height
					});	
				} else {
					$(me).find(clas).not(navid).css( {
						minHeight: settings.height
					});
				}
			}
			function getHighest () {
				var highest = 0;
				$(me).find(clas).not(navid).each(function () {
					
					if(this.offsetHeight > highest) {
						highest = this.offsetHeight;
					}
				});
				highest = highest + "px";
				return highest;
			}
			function getNavHeight () {
				var nav = $(navid).get(0);
				return nav.offsetHeight;
			}
			function linkWrap () {
				$(me).find(navid).find("a").wrap(settings.linkWrap);
			}
			init();
			$(this).find(navid).find("a").click(function () {
				if($(this).attr('rel') == 'next') {
					if(i + 1 < size) {
						i = i+1;
					}
				} else if($(this).attr('rel') == 'prev') { 
					if(i > 0) {	
						i = i-1;
					}
				} else {
					var j = $(this).attr('rel');
					i = j-1;
				}
				show();
				highlight();
				return false;
			});
			$("#search_page").find("a").click(function () {
				if($(this).attr('rel') == 'next') {
					if(i + 1 < size) {
						i = i+1;
					}
				} else if($(this).attr('rel') == 'prev') { 
					if(i > 0) {	
						i = i-1;
					}
				}
				else{
					return;
				}
				show();
				highlight();
				anchor.offset().top;
				return false;
			});
		});
	}

	$("#page_body").pager('div.page_block');

	$(".selectable").selectable({
		set: "fadeIn",
		inDuration: "fast",
		opacity: .9
	});

	if(document.all){
		$("#skin").remove();
	}else{
		var css = $("link[type='text/css']");
		$("#skin a").click(function(){
			var href = this.href.split("#")[1];
			css[1].href = css[1].href.replace(/(skin\/)\w+(\/style.css)/,"$1"+href+"$2");
			return false;
		});
	}

	$('a[rel*=lightbox]').lightBox({
		overlayOpacity: 0.5,
		imageLoading:  '../img/lightbox/lightbox-ico-loading.gif',
		imageBtnClose: '../img/lightbox/lightbox-btn-close.gif',
		imageBtnPrev:  '../img/lightbox/lightbox-btn-prev.gif',
		imageBtnNext:  '../img/lightbox/lightbox-btn-next.gif',
		imageBlank:    '../img/lightbox/lightbox-blank.gif',
		txtImage:      'Photo'
	});
});
