var LikeIt = {
	tablename : '',
	position : 0,
	id : 0,
	total : 0,
	baseUrl : '.',
	
	init: function (baseUrl) {
		this.baseUrl = baseUrl;
	},
	toggle : function (tablename, id) {
		new Ajax.Request(this.baseUrl + '/likeit.php', {
			method : 'post',
			parameters : {
				action : 'toggle',
				tablename : tablename,
				id : id
			},
			onSuccess : function (transport) {
				var result = transport.responseText.evalJSON();
				
				if (result.status == 'success') {
					var likeit = $('likeit_' + tablename + '_' + id);
					likeit.id = '';
					likeit.className = '';
					
					likeit.innerHTML = result.html;
				} else {
					alert('Es ist ein Fehler aufgetreten!');
					location.reload();
				}
			}
		});
	},
	showLikes : function (tablename, id, start) {
		if (!start) {
			start = 0;
		}
		
		this.tablename = tablename;
		this.position = start;
		this.id = id;
		
		new Ajax.Request(this.baseUrl + '/likeit.php', {
			method : 'post',
			parameters : {
				action : 'showLikes',
				tablename : tablename,
				id : id,
				start : this.position,
				baseUrl : this.baseUrl
			},
			onSuccess : function (transport) {
				var result = transport.responseText.evalJSON();
				
				if (result.status == 'success') {
					if (result.likers) {
						if (LikeIt.position == 0) {
							Ameisen.showUserList(result.title, result.likers);
						} else {
							Ameisen.appendToUserList(result.likers);
						}
						
						LikeIt.total = result.total;
						
						$('overlay_content').setAttribute('onscroll', 'LikeIt.onScroll(event);');
					}
				} else {
					alert('Es ist ein Fehler aufgetreten!');
					location.reload();
				}
			}
		});
	},
	onScroll : function (event) {
		var element = $('overlay_content');
		var height = element.scrollHeight;
		var scroll = element.scrollTop;

		var diff = height - scroll;
		if (diff <= 1000) {
			if (this.position + 100 < this.total) {
				this.position += 100;
				this.showLikes(this.tablename, this.id, this.position);
			}
		}
	}
}
