(function($){
	if(!$.zIndex) $.zIndex = 1;
	
	$.popup = function () {
		$('.js-popup').each(function(){
			var popup = $(this);			
			var link = $('#'+popup.attr('attach_to'));
			link.click(function(event){
				$('.js-popup').each(function(){
					if(this != popup[0]) {
						$(this).removeClass('active');
					}
				});
				event.stopPropagation();
				event.preventDefault();
				popup.toggleClass('active');
				
				var setup = popup.attr('setup');
				
				if(!setup) {
					var offset = link.position();					
					var from = popup.attr('from');
					if(from == 'bottomright') {
						popup.css('top',(offset.top+link.outerHeight())+'px');
						popup.css('left',(offset.left+30)+'px');
					} else if (from == 'topright') {
						popup.css('top',(offset.top-popup.outerHeight())+'px');
						popup.css('left',(offset.left+15)+'px');
					}
					popup.attr('setup',1);
				}
				
				popup.css('zIndex',$.zIndex += 1);
			}).unselectable();
			
			if(popup.attr('onload')) {
				link.trigger('click');
			}
		});
		
		$(document).bind('click.jspopup',function(){
			$('.js-popup').removeClass('active');
		});
	};
})(jQuery);