var dkl = {
	
	BOXPATH: '/customProjects/DKLUserInteraction/boxes/',
	
	init: function() {
		
		// get array from url
		var url = dkl.analyzeUrl();
		
		// now load ajax magic
		dkl.loadContents(url.bio);
		
		// Load the tabs
		$('#tabs').tabs({
			/*fx: {
				opacity: 'toggle'
			},*/
			spinner: 'Retrieving data...'
		});
		
		// Load up shadowbox
		dkl.initShadowBox();
		
		// load up sidebar boxes
		dkl.initBoxes(url.bio);

	},
	
	
	/* Loads content in the tabs by a givin id
	 * 
	 * @id Int
	 * @return Null
	 */
	loadContents: function(id) {
		
		var path = '/customProjects/DKLUserInteraction/';
		var arr = {
			comments: 'showComments.php',
			pictures: 'showPics.php',
			links: 'showLinks.php'
		}
		
		for(i in arr) {
			var selector = $('#'+i);
			var toLoad = path+arr[i];
			var tabCount = i;
			selector.load(toLoad, {bioID: id}, function() {
				dkl.addTabCount($(this).attr('id'));
			});
		}
		
	},
	
	
	addTabCount: function($id) {
		var $count = $('#' + $id + ' li').size();
		$('#' + $id + 'Tab a').append(' (' + $count + ')');
	},
	
	
	/* Load shadowbox
	 */
	initShadowBox: function() {
		Shadowbox.init({
			language: 'en',
			players:  ['img', 'html', 'iframe', 'qt', 'wmp', 'swf', 'flv']
		});
	},
	
	
	/* Query the expert database */
	expertDatabase: {
		check: function(name, bioid) {
			var $name = (name) ? name : $('#bio h1 strong').text();
			var $bioid = (bioid) ? bioid : null;
		
			$.get('/customProjects/DKLUserInteraction/checkExpertDatabase.php', {
				name: $name,
				bioid: $bioid
			}, function(data) {
				if(data.expertId) {
					dkl.getBox('expertdb', data, selector);
				} else {
					return false
				}
			}, 'json');
		
		}
	},
	
	/* Start up boxes
	 */
	initBoxes: function(bioid) {
		selector = $('#contentWrapper .rightWrapper');
		
		// gets ui box
		dkl.getBox('newestcontent', {bioid: bioid}, selector.find('.latestContentWrapper'));
		dkl.getBox('ui', {bioid: bioid}, selector.find('.uiWrapper'));
		dkl.getBox('bibliotek', {bioid: bioid}, selector.find('.bibWrapper'));
		
		
		// lets check if person is in expertdatabase
		dkl.expertDatabase.check(null, bioid);
		
	},
	
	getBox: function(box, data, selector) {
		$.get(this.BOXPATH + box + '.php', data, function(box) {
			selector.prepend(box);
		}, 'html');
	},
	
	bindPictures: function() {
		var pictures = $('a[rel=shadowbox]');
		pictures.bind('click', function(event) {
			Shadowbox.open({
				player: 'img',
				content: $(this).attr('href')
			});
			return false;
		});
	},
	
	
	/* Analyzes the url and returns an object with the params
	 * 
	 * @return Object
	 */
	analyzeUrl: function() {
		var url = window.location + '';
		url = url.split('/').slice(3, url.length);
		var output = new Object();
		for(i in url) {
			if(url[i] != '') {
				if(i%2) {
					output[prev] = url[i];
				} else {
					var prev = url[i];
					output[url[i]] = '';
				}
			}
		}
		return output;
	}
};


// set style for shadowbox
Shadowbox.loadSkin('classic', '/customProjects/CSS/shadowbox');


// And we are ready for load! Fire up the dkl object
jQuery(document).ready(function($) {
	dkl.init();
});
