PR = {
	
	/**
	 * Global application initialization, just calls init
	 * on each JS component file included in base.html
	 **/
	init: function(){
		var body_id = $("body").attr("id");
		switch(body_id){
			
			// Clips
			case "list-clips":
				PR.clips.init(); break;
				
			// Edit article
			case "edit-article":
				PR.editArticle.init(); break;

			// Upload browser
			case "upload-browser":
				PR.uploader.init(); break;

			// Media browser
			case "media-browser":
				PR.mediaBrowser.init(); break;
			// List posts
			case "list-posts":
				PR.posts.init(); break;
				
			// List users
			case "list-users":
				PR.users.init(); break;
			
			// List feeds
			case "list-feeds":
				PR.feeds.init(); break;
			
			// Homepage
			case "frontend-homepage":
				PR.home.init();
				break;
			
			// Article
			case "article":
				PR.article.init();
				break;
			
			// Subscribe
			case "subscribe":
				PR.subscribe.init();
				break;
				
			// FAQ
			case "frontend-faq":
				PR.faq.init();
				break;		

			// FAQ
			case "frontend-image":
				PR.image.init();
				break;	

		}
		
		// for all front end pages.
		if(body_id.indexOf('frontend') === 0) {
			PR.search.init();
		}
		
		
	},
	
	/**
	 * If window.console
	 **/
	setConsole: function(){
		if(!window.console){
			//$("body").append('<ul id="console"></ul>')
			window.console = function(){};
			window.console.log = function(message){
				//$("#console").append('<li>' + message + '</li>');
			};
		}
	},
	
	getHashValue: function(index){
		var url = document.location.hash;
		if(url.length === 0){
			return false;
		}
		var values = url.split("#/")[1];
		var value = values.split("/")[index];
		if(value !== undefined){
			return value;
		}
		else {
			return false;
		}
	},
	
	setHash: function(hash){
		document.location.hash = hash;
	}
};

jQuery(document).ready(function(){
	PR.setConsole();
	PR.init();
});