(function($) {
	var fadeSpeed = 300;
	var ajaxIsLoading = false;
	var loadingCategoryCount = 0;

	/* sidebar slider */
	$.fn.sidebar = function(){
				$("#sideslide").hoverIntent(
				{    
				    sensitivity:	8,
				    interval:		100,
				    over:			$.fn.sidebar.show,
				    timeout:		300,
				    out:			$.fn.sidebar.hide
				}
			);
		$("#sideslide .box").hover($.fn.box.highlight,$.fn.box.dim)
	}
	$.fn.sidebar.show = function(){
		$('#sideslide').animate({right:0})
	}
	$.fn.sidebar.hide = function(){
		$('#sideslide').animate({right:-240})
	}
	
	
	/* box inside a sidebar */
	$.fn.box = function(){}
	$.fn.box.highlight = function(){
		$(this).addClass('highlight');
	}
	$.fn.box.dim = function(){
		$(this).removeClass('highlight');
	}
	
	
	/* what could this be? */
	$.fn.ajaxController=function(){
		$(".ajaxMenuSwitcher").click($.fn.ajaxController.loadContent)
	}
	
	/* after you click on the top menu this is what happens */
	$.fn.ajaxController.loadContent = function (e){
		e.preventDefault();
		if (ajaxIsLoading) return false;
		ajaxIsLoading = true;
		// highlight
		$(".ajaxMenuSwitcher").removeClass('active')
		//$(this).addClass('active');
		
		//$('rel='+($(this).attr('rel'))).addClass('active');
		var targetRel=$(this).attr('rel');
		$('[rel='+targetRel+']').addClass('active')
		
		var relArray = $(e.currentTarget).attr('rel').split(':');
		var nCat = relArray[0];
		var nPage = relArray[1];
		if (nCat == categoryID && nPage == pageID) return false;
		
		$("#loading").fadeIn(fadeSpeed);
		$('#share').fadeOut(fadeSpeed);
		if (nCat != categoryID){
			pageID = nPage;
			categoryID = nCat;
			loadingCategoryCount = 0;
			$("#ajaxedImage").fadeOut(fadeSpeed);
			$("#ajaxedEntry").fadeOut(fadeSpeed, $.fn.ajaxController.loadNewCategory);
			$('#sideslide').animate({right : -400}, $.fn.ajaxController.loadNewSidebar);
		}else{
			pageID = nPage;
			categoryID = nCat;
			$("#ajaxedEntry").fadeOut(fadeSpeed, $.fn.ajaxController.loadNewContent);
		}
		refreshWindow()
		return false;
	}
	
	function refreshWindow(){
		window.location.hash = '#cat=' + categoryID + '&pag=' + pageID;
		$('#share .bshare').attr({href:'share.php?cat=' + categoryID + '&pag=' + pageID});
		$('#share .bprint').attr({href:'print.php?cat=' + categoryID + '&pag=' + pageID});
		$('#share .bdownload').attr({href:'download.php?cat=' + categoryID + '&pag=' + pageID});
		
		$('.facebook').attr({href:'shareproxy.php?t=facebook&cat=' + categoryID + '&pag=' + pageID});
		$('.twitter').attr({href:'shareproxy.php?t=twitter&cat=' + categoryID + '&pag=' + pageID});
		$('.linkedin').attr({href:'shareproxy.php?t=linkedin&cat=' + categoryID + '&pag=' + pageID});
		$('.googlebuzz').attr({href:'shareproxy.php?t=googlebuzz&cat=' + categoryID + '&pag=' + pageID});
		
		$('.jScrollPaneTrack').fadeOut(fadeSpeed);
	}
	/* category loading */
	$.fn.ajaxController.loadNewCategory = function (){
		$('#ajaxedEntry').load( 'loadContent.php?cat=' + categoryID + '&pag=' + pageID, $.fn.ajaxController.loadNewCategoryProgress);
		$('#ajaxedImage').load( 'loadBanner.php?cat=' + categoryID + '&pag=' + pageID, $.fn.ajaxController.loadNewCategoryProgress);
	}
	$.fn.ajaxController.loadNewCategoryProgress = function(){
		loadingCategoryCount++;
		if (loadingCategoryCount>=2){
			ajaxIsLoading = false;
			$("#loading").fadeOut(fadeSpeed);
			$("#ajaxedEntry").fadeIn( fadeSpeed, function(){ $('#scrollArea').jScrollPane(); } );
			$("#ajaxedImage").fadeIn( fadeSpeed );
			if(pageID!=0){$('#share').fadeIn(fadeSpeed);}
			$('title').html($('#sectionTitle').html() + ' | ' + page_title);
		}
	}
	/* page loading */
	$.fn.ajaxController.loadNewContent = function (urlToLoad){
		$('#ajaxedEntry').load( 'loadContent.php?cat=' + categoryID + '&pag=' + pageID, $.fn.ajaxController.loadNewContentComplete);
	}
	
	$.fn.ajaxController.loadNewContentComplete = function (){
		ajaxIsLoading = false;
		$("#loading").fadeOut(fadeSpeed);
		$("#ajaxedEntry").fadeIn(fadeSpeed,function(){ $('#scrollArea').jScrollPane();	});
		if(pageID!=0){$('#share').fadeIn(fadeSpeed);}
		$.fn.ajaxController();
		$('title').html($('#sectionTitle').html() + ' | ' + page_title);
	}
	/* sidebar switching */
	$.fn.ajaxController.loadNewSidebar = function(){
		$('#sideslide').load( 'loadSidebar.php?cat='+categoryID, $.fn.ajaxController.loadNewSidebarComplete);
	}
	$.fn.ajaxController.loadNewSidebarComplete = function (){
		// really it's a show :)
		$.fn.sidebar.hide();
		$("#sideslide .box").hover($.fn.box.highlight,$.fn.box.dim);
		$.fn.ajaxController();
	}
	
	
	
	
	/****/
	$.fn.shareFormControl = function(e){
		e.preventDefault();
		if ($('#from').hasClass('error') || $('#to').hasClass('error') || $('#name').hasClass('error')){
			return false;
		}
		$('#sharebtn').slideUp();
		var dane={
			from:$.trim($('#from').val()),
			to:$.trim($('#to').val()),
			name:$.trim($('#name').val()),
			cat:categoryID,
			pag:pageID
		}
		$.post('ashare.php',dane,$.fn.shareFormControl.callback); 
		return false;
	}
	$.fn.shareFormControl.callback = function (e){
		$('#from').val($('#from').attr('title'));
		$('#to').val($('#to').attr('title'));
		$('#name').val($('#name').attr('title'));
		$('#sharebtn').slideDown();
		$('#popup_confirm_msg').html(e);
		$.fn.popupbox.hide();
		$.fn.popupboxConfirm.show();
	}
	$(document).ready(function() {
		$.fn.sidebar()
		//$.fn.ajaxController();
		$('#scrollArea').jScrollPane();
		$('input[type=text],textarea').simpleWaterMark('watermark');
		$.fn.popupbox()
		$.fn.popupboxConfirm()
		$('#share .bshare').click(function(e){e.preventDefault();$.fn.popupbox.show();return false;})
		$('#shareform').submit($.fn.shareFormControl)
	 })
})(jQuery);

