/*************************************************************************************
Handles the loading of content
Requirement(s):
- /js/lib/jquery-1.3.2.min.js
************************************************************************************/

var contenthandler = {
	pageLoading: false,
	background: new Array(),
	size: new Array(),
	scripts: new Array(),
	animationspeed: 1000,
	currentpage: 'home',
	
	loadpage: function(pagename){
		if(!$(this).pageloading){
			$(this).pageloading = true;			
			var $backgroundLayer = $('#background');
			var $contentbackgroundLayer = $('#contentFade');
			var $ajaxlayer = $('#contentAJAX');
			var $ajaxlayerContent = $('#contentAJAXinner');
			var $backgroundImg;
			
			//changes the background image
			if($backgroundLayer.html() == ''){
				$backgroundLayer.append('<img />');
				backgroundImg = $backgroundLayer.children('img')[0];
				$(backgroundImg).attr('src',contenthandler.background[pagename]);
				$(backgroundImg).attr('onload',function(){
					$backgroundLayer.fadeIn(contenthandler.animationspeed);
				});	
			}else{
				$backgroundLayer.fadeOut('fast',function(){
					$backgroundLayer.html('');
					$backgroundLayer.append('<img />');
					backgroundImg = $backgroundLayer.children('img')[0];
					$(backgroundImg).attr('src',contenthandler.background[pagename]);
					$(backgroundImg).attr('onload',function(){						
						$backgroundLayer.fadeIn(contenthandler.animationspeed);
					});	
				});
			}										
			
			//changes the faded layer			
			$ajaxlayer.fadeOut(contenthandler.animationspeed,function(){
				try{
					$ajaxlayerContent.jScrollPaneRemove();
				}catch(err){}
				
				$ajaxlayer.css(contenthandler.size[pagename]);				
				//$ajaxlayerContent.css('width',$ajaxlayer.css('width'));				
				//$ajaxlayerContent.css('height',$ajaxlayer.css('height'));
				$ajaxlayerContent.css('width',parseInt($ajaxlayer.css('width')) - 16 + 'px');
				$ajaxlayerContent.css('height',parseInt($ajaxlayer.css('height')) - 16 + 'px');				
				$contentbackgroundLayer.animate(contenthandler.size[pagename],contenthandler.animationspeed,"swing",function(){
					$ajaxlayerContent.load('/tiles/'+pagename+'.php', function(){
						$ajaxlayerContent.css('overflow','hidden');
						
						//stores the currentpage
						contenthandler.currentpage = pagename;
						
						/*//loads any script file(s) if they exist						
						if(contenthandler.scripts[pagename]){							
							$.ajaxSetup({ cache: true });
							$.getScript(contenthandler.scripts[pagename], function(){
								$.ajaxSetup({ cache: false });
							});							
						}*/
						
						$ajaxlayer.fadeIn(contenthandler.animationspeed, function(){
							if(pagename != 'home'){
								$ajaxlayerContent.css('overflow','auto');
								$ajaxlayerContent.jScrollPane({
									scrollbarWidth: 6
								});
							}
							if(pagename == 'media'){
								media.updateNowPlaying();
							}
							if(pagename == 'portraits'){								
								portraits.init();
							}
						});						
					});					
				});				
			});		
			
			$(this).pageloading = false;	
		}		
	}
};

contenthandler.background['home'] = '/imgs/home/background.jpg';
contenthandler.size['home'] = {
	width: '140px',
	height: '166px',
	left: '39px',
	top: '341px'
}; 

contenthandler.background['bio'] = '/imgs/bio/background.jpg';
contenthandler.size['bio'] = {
	width: '319px',
	height: '507px',
	left: 0,
	top: 0
};

contenthandler.background['contact'] = '/imgs/contact/background.jpg';
contenthandler.size['contact'] = {
	width: '160px',
	height: '507px',
	left: '487px',
	top: 0
};

contenthandler.background['links'] = '/imgs/links/background.jpg';
contenthandler.size['links'] = {
	width: '272px',
	height: '507px',
	left: '448px',
	top: 0
};

contenthandler.background['media'] = '/imgs/media/background.jpg';
contenthandler.size['media'] = {
	width: '320px',
	height: '507px',
	left: '220px',
	top: 0
};
contenthandler.scripts['media'] = '/js/tiles/media.js';

contenthandler.background['news'] = '/imgs/news/background.jpg';
contenthandler.size['news'] = {
	width: '320px',
	height: '507px',
	left: '57px',
	top: 0
};

contenthandler.background['portraits'] = '/imgs/portraits/background.jpg';
contenthandler.size['portraits'] = {
	width: '400px',
	height: '507px',
	left: '301px',
	top: 0
};

contenthandler.background['press'] = '/imgs/press/background.jpg';
contenthandler.size['press'] = {
	width: '272px',
	height: '507px',
	left: '419px',
	top: 0
};

contenthandler.background['shop'] = '/imgs/shop/background.jpg';
contenthandler.size['shop'] = {
	width: '275px',
	height: '507px',
	left: '372px',
	top: 0
};

contenthandler.background['shows'] = '/imgs/shows/background.jpg';
contenthandler.size['shows'] = {
	width: '211px',
	height: '507px',
	left: '133px',
	top: 0
};
