(function($) {

$.widget("ui.xPopup", {
	popupId: null,
	dialog: null,
	_create: function(){
		var self = this;
		var elem = this.element;
		self._createDialog();

		elem.bind('click.xPopup', function(e){
			$.get(elem.attr('href'), function(data){
				$('#' + self.popupId).html(data).dialog('open');
			});
			return false;
		});
	},
	_createDialog: function(){
		var self = this;
		if (this.popupId == null)
		{
			this.popupId = 'ajaxDialogWindow-' + Math.floor(Math.random()*1100);
		}

		if (this.dialog == null)
		{
			this.dialog = $('<div id="'+this.popupId+'"></div>').appendTo('body').hide();
			this.dialog = $('#' + this.popupId).dialog({
				autoOpen: false,
				modal: true,
				width: 600,
				minWidth: 600,
				minHeight: 250,
				draggable: self.element.hasClass('draggable'),
				resizable: self.element.hasClass('resizable'),
			});
		}
	}
});
})( jQuery );
