function redirect(url) {
	window.location.href = url;
}

// Standaard Ajax functies
$.ajaxSetup({
	url: 'ajax.php',
	error: function(xhr){
		alert('AJAX Error: ' + xhr.responseText);
	}
})



var epi_tooltip = function(){
	
	var div = '#epi_tooltip';
	var tooltip, self, ajax;
	
	return {
		init: function(){
			self = this;

			tooltip = $(div);

			$('a').mouseover(function(){
				tooltip.show();
				self.load();
			}).mousemove(function(e){
				tooltip.css({left:e.pageX + 15, top:e.pageY + 15});
			}).mouseout(function(e){
				tooltip.hide();
			});
		},
		load: function(){
			if( typeof ajax === 'object') {
				ajax.abort();
			};
			console.log( typeof ajax );
			tooltip
				.addClass('loading')
				.html('');
			
			var data = {
				page: 'Application',
				act: 'showAppDetails'
			};
			ajax = $.ajax({
				dataType: 'json',
				data: {
					page: 'Application',
					act: 'showAppDetails'
				}, 
				success: function(json){
					tooltip.html(json.data);
					tooltip.removeClass('loading');
				}
			});
		}
	}

}();


var items = function(){
	return {
		getById: function(id, callback) {
			var data = {
				page:	'Items',
				act:	'getById',
				id:		id
			};
			$.getJSON('ajax.php', data, function(json){
				if( json.item == null ) {
					alert('Item could not be found!');
					return;
				}
				if( typeof callback == 'function') {
					callback(json.item);
				}
			});
		}
	}
}();

var bosses = function(){

	return {
		getByZoneId: function(id, callback) {
			var data = {
				page:	'Bosses',
				act:	'getByZoneId',
				id:		id
			};
			$.getJSON('ajax.php', data, function(json){
				if( json.bosses == null ) {
					alert('boss could not be found!');
					return;
				}
				if( typeof callback == 'function') {
					callback(json.bosses);
				}
			});
		}
	}

}();


var filter = function(){

	var self;
	var div;

	return {
		init: function(selector){
			self = this;
			self.setSelector(selector);
		},
		setSelector: function(selector) {
			div = $(selector);
		},
		exec: function(column, criteria, callback) {
			var query = $.trim(criteria);

			div.each(function() {
				var result = ( $(this).find('td').eq(column).text().search(new RegExp(query, "i")) < 0 );
				callback(result, this);
			});
		},
		search: function(column, criteria) {
			
			self.exec(column, criteria, function(result, element){
				$(element).toggle(!result);
			});
		},
		searchHideOnly: function(column, criteria) {
			self.exec(column, criteria, function(result, element){
				if(result) $(element).hide();
			});
		},
		reset: function(){
			div.show();
		}
	}
}();


$(function(){

});