(function($) {
	$.mrim = {
		emails: {},
		mrim_status_classes: {
			'online':	'mrim_on',
			'offline':	'mrim_of',
			'away':		'mrim_aw',
			'undetermined':	'mrim_of'
		}
	};
	$.mrim.cb = function(res) {
		for(var p in res) {
			for(var i=0; i<$.mrim.emails[p].length; i++) {
				$.mrim.emails[p][i].addClass($.mrim.mrim_status_classes[res[p]]);
			}
		}
		$.mrim.emails = {}; // free memory
	};
	$.mrim.run = function(o) {
		var str = '';
		for(var p in $.mrim.emails) {
			str += p + ',';
		}
		if(str.length > 0) {
			str = str.substring(0, str.length-1);
		}
		$.getScript('http://status.mail.ru/batch?format=json&jsonp=jQuery.mrim.cb&emails='+str);
	};
	$.fn.mrim = function(options){
		$.fn.mrim.defaults = {};
		var opts = $.extend({}, $.fn.mrim.defaults, options);
		var emails = {};
		var len = this.length;
		return this.each(function(idx) {
			var $obj = $(this);
			var rel = $obj.attr('rel');
			if(rel) {
				if(typeof $.mrim.emails[rel] == 'undefined') {
					$.mrim.emails[rel] = [];
				}
				$.mrim.emails[rel].push($obj);
			}
			if(idx == len - 1) { // last element from set
				$.mrim.run();
			}
		});
	};
})(jQuery);

