var config_wwwdomain = 'http://' + document.domain;
var expecting_callback = null;
(function($) {
	var self = this;
	self._is_authorized = false;
	$.fn.authBind = function(type, handler) { return $._auth_bind.init(this, type, handler); }
	
	$._auth_bind = {
		init: function(obj, type, handler) {
			obj = obj instanceof jQuery ? obj : $(obj);
			obj.bind(type, function(event) {
				var _el = $(this);
				if (self._is_authorized) {
					handler.call(_el, event);
				} else {
					event.stopImmediatePropagation();
					event.preventDefault();
					var callback = (function(object) {
						return function() {
							self._is_authorized = true;
							var e = new jQuery.Event(type);
							object.trigger(e);
						}
					})(_el);
					
					$.getJSON(
						config_wwwdomain + "/ajax/userservice/?cmd=islogged",
						function(data){
							if (data.status == 1) {
								callback();
							}
							else {
								expecting_callback = callback;
								tb_show(
									"Вы должны зайти на сайт",
//  									config_wwwdomain + "/ajax/userservice/fast-login.html?modal=true&height=260&width=300"
									config_wwwdomain + "/user/login/?modal=true&height=600&width=360"
								);
							}
						}
					);
				}
			});
			return obj;
		}
	}		
})(jQuery);
var expecting_callback = null;
