(function($){
    var options = null;

    $.fn.popupWindow = function(plgOptions) {
	   var defaults = {
		  handler : null,
		  closeBtn : true
	   };

	   options = $.extend(defaults, plgOptions);

	   return this.each(function() {
		  if(!$(this).length)
			 return false;
		  options.handler = $(this);
		  width = options.handler.outerWidth();
		  height = options.handler.outerHeight();
		  margintop = height/2;
		  marginleft = width/2;
		  if(!options.handler.hasClass('popup_contener')) {
			 options.handler.addClass('popup_contener');
			 data = options.handler.html();
			 options.handler.empty();
			 options.handler.append('<div class="popup_bg"></div>');
			 options.handler.append('<div class="popup_window"></div>');
			 options.handler.find('.popup_window').append(data);
		  }
		  options.handler.find('.popup_window').css({width : width, height : height, marginTop : -margintop, marginLeft : -marginleft})
		  if(options.closeBtn)
			 $.fn.popupWindow.addCloseButton();
		  $.fn.popupWindow.addBackgroundEvent();
		  $.fn.popupWindow.show();
		  //$("#window_login_form").popupWindow({closeBtn : true});
	   });

    }

    $.fn.popupWindow.show = function() {
	   options.handler.fadeIn(300);
	   phoneFillHandler();
    }

     $.fn.popupWindow.close = function() {
		  options.handler.fadeOut(300, function() {
			 options.handler.find('.popup_close').remove();
			 data = options.handler.find('.popup_window').html();
			 options.handler.empty();
			 options.handler.removeClass('popup_contener');
			 options.handler.append(data);
		  });
    }

    $.fn.popupWindow.addCloseButton = function() {
	   options.handler.find('.popup_window').prepend('<div class="popup_close">x</div>');
	   options.handler.find('.popup_close').click(function(){
		 $.fn.popupWindow.close();
	   });
    }

    $.fn.popupWindow.addBackgroundEvent = function() {
	   options.handler.find('.popup_bg').click(function(){
		 $.fn.popupWindow.close();
	   });
    }

})(jQuery);

