(function($){
	$.fn.extend({
		EnumeratePages: function(options){
			var defaults = {}
			
			var options = $.extend(defaults,options);
			
			return this.each(function(){
				var o = options;
				var Wrapper = $(this);
				var Pages = Wrapper.find(o.wrapper);
				var Navigation = Wrapper.find('div.enumerateNav');
				if ( Pages.length < 2 ) {
          Navigation.hide()
        } else {
					var enumerate = Navigation.find('div.enumerate');
					for(var i = 0;i<Pages.length;i++){
						var pageLink = $('<a href="#" class="pageLink"></a>');
						pageLink
							.text(i+1)
							.appendTo(enumerate)
						if(i==0){pageLink.addClass('curPage')}
					}
					Navigation
						.children('a').bind('pageTurn',function(){
							var Links = Navigation.children('a');
							var curPage = $(o.wrapper+':visible');
							if($(this).hasClass('prevPage')){var nextPage = curPage.prev()}
							else if($(this).hasClass('nextPage')){var nextPage = curPage.next()}
							else{}
							if(nextPage.length!=0){
								var pageIndex = Pages.index(nextPage);
								curPage.hide();
								nextPage.show();
								if(pageIndex == 0){
									Links
										.removeClass('middlePage')
										.removeClass('lastPage')
										.addClass('firstPage');
								}
								else if(pageIndex == Pages.length-1){
									Links
										.removeClass('firstPage')
										.removeClass('middlePage')
										.addClass('lastPage');
								}
								else{
									Links
										.removeClass('firstPage')
										.removeClass('lastPage')
										.addClass('middlePage');
								}
								Navigation
									.find('a.pageLink')
										.removeClass('curPage')
										.eq(pageIndex)
											.addClass('curPage');
								
							}
							return false;
						})
						.end()
						.find('a.prevPage')
							.bind('click',function(){
								$(this).trigger('pageTurn');
								return false;
							})
						.end()
						.find('a.nextPage')
							.bind('click',function(){
								$(this).trigger('pageTurn');
								return false;
							})
						.end()
						.find('a.pageLink')
							.bind('click',function(){
								var pageIndex = Navigation.find('a.pageLink').index($(this));
								var curPage = $(o.wrapper+':visible');
								curPage.hide();
								Pages.eq(pageIndex).show();
								Navigation.find('a.pageLink').removeClass('curPage')
								$(this).addClass('curPage');
								return false;
							})
							
				}
			})
		}
	})
})(jQuery)
