(function($) {	
	var ajax = null;
	var popup_id = null;
	
    $.shop_popup = function(method,options) {
		if (method=="open") {
			var settings = $.extend({
				ajax_url: null,
				ajax_data: null,
				iframe_url: null,
				width: null,
				height: null,
				overflow: "hidden",
				close: true,
				modal:0,
				id:"PopupContainer"
			}, options);
			
			popup_id=settings.id;
			
			if ($('#page_'+settings.id).length==0) {
				var container = $('<div id="page_'+settings.id+'" class="bg_color_dark3"><div id="page_'+settings.id+'_inner" class="bg_color_light2"></div></div>');
			    $('body').append(container);
			
				$("#page_"+settings.id).overlay({
					top: 'center',
					load: false
				});
			}
			
			if (settings.ajax_url!=null) $('#page_'+settings.id+'_inner').html('<div id="page_'+settings.id+'_ajax"></div>');
	 
			if (settings.width!=null) {
				$('#page_'+settings.id).css("width",settings.width+"px");
				$('#page_'+settings.id+'_inner').css("width",(settings.width-30)+"px");
				if (settings.ajax_url!=null) $('#page_'+settings.id+'_ajax').css("width",(settings.width-30)+"px");
			}
			if (settings.height!=null) {
				$('#page_'+settings.id).css("height",settings.height);
				$('#page_'+settings.id+'_inner').css("height",(settings.height-30)+"px");
				if (settings.ajax_url!=null) $('#page_'+settings.id+'_ajax').css("height",(settings.height-30)+"px");
			}
			
			$('#page_'+settings.id+'_inner').css("overflow",settings.overflow);
			
			if (settings.ajax_url!=null) {
				if (ajax) {
					ajax.abort();
					ajax = null;
				}
					
				ajax = $.ajax({
					type: 'GET',
					url: settings.ajax_url,
					data: settings.ajax_data,
					success: function(data) {
						$('#page_'+settings.id+'_inner').html(data);
					}
				});
			} else if (settings.iframe_url!=null) {
				$('#page_'+settings.id+'_inner').html('<iframe style="position:relative; top:-10px; left:-10px;" src="'+settings.iframe_url+'" id="page_'+settings.id+'_iframe" width="'+(settings.width-10)+'" height="'+(settings.height-10)+'" frameborder="0" marginwidth="0" marginheight="0" allowtransparency="true"></iframe>');
			}				
			
			if (settings.modal!=0) {
				$(document).mask({
					color: '#000000',
					loadSpeed: 100,
					opacity: settings.modal,
					closeOnEsc:settings.close,
					closeOnClick:settings.close,
					onBeforeClose: function(event) {
						$('#page_'+settings.id).overlay().close();
					}
				});
			}
			
			$('#page_'+settings.id).overlay().getConf().closeOnEsc=settings.close;
			$('#page_'+settings.id).overlay().getConf().closeOnClick=settings.close;
			
			$('#page_'+settings.id).overlay().load();
			$('#page_'+settings.id).css("left",Math.ceil(($(window).width()-$('#page_'+settings.id).width()) / 2)+"px");
		}
		
		if (method=="close") {
			$('#page_'+popup_id).overlay().close();
			$.mask.close();
		}
		
    }
})(jQuery);

