/* Paginator plugin for jQuery
- http://www.doubleclique.com
- 2009 Kyle Beattie

Minimum CSS:


Ideal markup example:

 */

(function($){
	$.fn.activemenu = function(options) {
		var settings = $.extend(
			{
				classToNotActivateSlider:'categories'
			},
			options
		);
		return this.each(function(index) {
			var $children = $(this).children().find('a');
			var $this = $(this);
			var navItems = new Array();
			var content = new Array();
			content[index] = new Array();
			navItems[index] = new Array();

			if($('.contentHolder').length){
				var id = $('.contentHolder').attr('id');
				var number = id.split('-');
				content[index][number[1]] = $('#'+id);
			}			

			$children.each(function(i){
				if(!content[index][i]){
					content[index][i] = jQuery("<div></div>").attr({'class':'contentHolder','id':'ContentHolder-'+index+"-"+i});
				}
			});

			var getPage = function(url,index,i,loadingEl){
				loadingEl.addClass('loading');
				if(!jQuery("#ContentHolder-"+index+"-"+i).length){
					jQuery.get(url,function(data){
						$(content[index][i]).append(data);
						jQuery('.columnHolder').append(content[index][i]);
						$(content[index]).each(function(j){
							if(i==j){
								$(content[index][i]).fadeIn();
								Cufon.refresh();
							}else{
								$(content[index][j]).fadeOut();
							}
						});
						loadingEl.removeClass('loading');
						jQuery("ul.categories").activemenu();
					});
				}else{
					$(content[index]).each(function(j){
						if(i==j){
							$(content[index][i]).fadeIn();
							loadingEl.removeClass('loading');
						}else{
							$(content[index][j]).fadeOut();
						}
					});
				}
			};

			$children.each(function(i){
				$(this).click(function(ev){
					ev.preventDefault();
					navItems[index][i] = $(this);
					var link = $(this).attr('href');
					
					if(!$this.hasClass(settings.classToNotActivateSlider)){
						var text = $(this).find('em').text();
						var pos = $(this).offset().top;
						var offset = $("#Sidebar").offset().top;
						$("#ActiveMenuItem").find('span').text(text);
						$("#ActiveMenuItem").animate({'top':(pos-offset)-7+'px'},300,"linear",function(){
							getPage(link,index,i,$("#ActiveMenuItem").find('span'));
						});
					}else{
						getPage(link,index,i,$this);
						var $clicked = $(this);
						if(i!=0){
							jQuery("#Sidebar a").each(function(x){
								if(x!=0){
									var currentLink = $(this).attr('href');
									var filter = currentLink.split("/");
									var newFilter = $clicked.attr('href').split("/");
									var newLink = filter[0]+"/"+filter[1]+"/"+filter[2]+"/"+newFilter[3]+"/"+filter[4]+"/";
									$(this).attr('href',newLink);
								}
							});
						}
					}					
				});
			});
		});
	};
})(jQuery);