$(document).ready(function(){
	checkHashChange('',1);
	setInterval("checkHashChange();",100);	

	ajaxPage();
});

function ajaxPage(){
	$('.ajaxPage').each(function(){
		if(!$(this).hasClass('isset')){	
			$(this).addClass('isset');
			
			$(this).click(
				function() {
					href=this.href.split($('base').attr('href'));
					if(href[1]){
						load_ajaxPage(href[1],0,this);
						return false;
					}
				}
			);
		}
	});
	
	$('.ajaxPage_noRequest').each(function(){
		if(!$(this).hasClass('isset')){	
			$(this).addClass('isset');
			
			$(this).click(
				function() {
					href=this.href.split($('base').attr('href'));
					if(href[1]){
						load_ajaxPage(href[1],1);
						return false;
					}
				}
			);
		}
	});
}

function track_url(url){
	try {
		pageTracker._trackPageview("/"+url);
	} catch(err) { }	
}

var load_ajaxPageReq;
function load_ajaxPage(url,noRequest,linkClicked){
	window.location.hash=url;
	checkHashChange(url);

	if(noRequest){
		track_url(url);
		return;	
	}
	
	$('#page_content').fadeOut('slow',function(){
		if(load_ajaxPageReq){
			load_ajaxPageReq.abort();
		}
		load_ajaxPageReq=$.ajax({
			type: "POST",
			url: url,
			data:({"json":true}),
			dataType:"json",
			error: function(){
				window.location=$("base").attr("href");
			},
			success: function(resp){
				if(linkClicked){
					$('#nav a.on').removeClass("on");
					$(linkClicked).addClass("on");
				}
				
				document.title=resp.Title;
				
				if($('#bg2').attr("class")){
					$('#bg2').removeClass($('#bg2').attr("class"));
				}
				$('#bg2').addClass(resp.Content_Div_Class);
				
				$('#bg1').fadeOut('slow',function(){
					if($('#bg1').attr("class")){
						$('#bg1').removeClass($('#bg1').attr("class"));
					}
					$('#bg1').addClass(resp.Content_Div_Class);
					
					$('#bg1').show();
				});
				
				$('#page_content').html(resp.Content);
				track_url(url);
				ajaxPage();
				ready();
				$('#page_content').fadeIn(400,function(){
					$('#panel').jScrollPane({showArrows:true});
				});
			}
		});
	});
}

var lastHash;
function checkHashChange(setLastHash,startup){		
	currHash=window.location.href;
	currHash=currHash.split("#");
	currHash=currHash[1];
	
	if(startup){
		if(currHash){
//			baseurl=$("base").attr("href");
//			window.location=baseurl+currHash;
		}
	}
	
	if(setLastHash){
		lastHash=setLastHash;	
	}
	if(currHash && currHash!==lastHash){
		load_ajaxPage(currHash);
	}
}
