jomLike = {
	jQuery : window.jQuery,
	extend : function(obj) {
		this.jQuery.extend(this, obj);
	}
}
jQuery.noConflict(true);
jomLike.extend({
	extractData : function(id) {
		id = id.split('-');
		var data = {
			'element' : id[1],
			'id' : id[2],
			'jomLikeUrl' : jomLikeVal[id[2]]['url'],
			'title' : jomLikeVal[id[2]]['title']
		};
		return data;
	},
	like : function(e) {
		var like = jomLike.jQuery(e).parents('.like-snippet');
		var data = this.extractData(like.attr('id'));
		jomLike.jQuery(e).attr('onclick', '');
		this.call('like', data, e);
	},
	dislike : function(e) {
		var like = jomLike.jQuery(e).parents('.like-snippet');
		var data = this.extractData(like.attr('id'));
		jomLike.jQuery(e).attr('onclick', '');
		this.call('dislike', data, e);
	},
	unlike : function(e) {
		var like = jomLike.jQuery(e).parents('.like-snippet');
		var data = this.extractData(like.attr('id'));
		jomLike.jQuery(e).attr('onclick', '');
		this.call('unlike', data, e);
	},
	undislike : function(e) {
		var like = jomLike.jQuery(e).parents('.like-snippet');
		var data = this.extractData(like.attr('id'));
		jomLike.jQuery(e).attr('onclick', '');
		this.call('undislike', data, e);
	},
	call : function(likeTask, data, e) {
		jomLike.jQuery.ajax({
			url : live_site,
			async : false,
			data : {
				option : 'com_jomlike',
				method : 'store',
				task : likeTask,
				format : 'raw',
				data : JSON.stringify(data)
			},
			success : function(data) {
				jomLike.jQuery(e).closest("div.article-likes").replaceWith(data);
			}
		});
	}
});
