function getBodyScrollTop(){
  return self.pageYOffset || (document.documentElement && document.documentElement.scrollTop) || (document.body && document.body.scrollTop);
}

function getClientHeight(){
  return document.compatMode=='CSS1Compat' ?document.documentElement.clientHeight:document.body.clientHeight;
}

function getDocumentHeight(){
	return (document.body.scrollHeight > document.body.offsetHeight)?document.body.scrollHeight:document.body.offsetHeight;
}

$(document).ready(function(){
	var scrollTopDiv = $(".scrollTop>span");
	var scrollBottomDiv = $(".scrollBottom>span");
	scrollTopDiv.live("click",function(){
		$.scrollTo(0,{axis:'y',duration:300});
	});
	scrollBottomDiv.live("click",function(){
		$.scrollTo("max",{axis:'y',duration:300});
	});
	
	if(getBodyScrollTop() == 0){
		scrollTopDiv.hide();
	}
	if(getBodyScrollTop()+getClientHeight() == getDocumentHeight()){
		scrollBottomDiv.hide();
	}
	
	function reCountScrolls(){
		if(getBodyScrollTop() == 0){
			if(!scrollTopDiv.is(":hidden")){ scrollTopDiv.fadeOut(300); }
		}
		else{
			if(scrollTopDiv.is(":hidden")){ scrollTopDiv.fadeIn(300); }
		}
		
		var endOfPage = (getBodyScrollTop()+getClientHeight() == getDocumentHeight());
		if(endOfPage && !scrollBottomDiv.is(":hidden")){ scrollBottomDiv.fadeOut(300); }
		if(!endOfPage && scrollBottomDiv.is(":hidden")){ scrollBottomDiv.fadeIn(300); }
	}
	
	$(window).scroll(function(){
		reCountScrolls();
	});
	$(window).resize(function(){
		reCountScrolls();
	});
});
