

function RezerwacjeOnlineController(extOptions){
	var options = {
		overlay : {	},
		zrodloID : false,
		roundedCorners : true,
		borderColor : 'black',
		serwis:''
	}

	for(k in extOptions){
		options[k] = extOptions[k];
	}

	this.display = function(obiektID){
		overlay.display(true);
		var html = '<div id="rezerwacjePanelWrapper" style=" '+(options.roundedCorners ? '-webkit-border-radius: 8px;   -moz-border-radius: 8px; border-radius: 8px;' : '')+'display: none; position: absolute; top: 40px; left: 100px; background: white; z-index: 200; border: 2px solid '+options.borderColor+';"><div style="text-align: right;"><span class="closeB" style="font-weight: bold; font-family: arial; padding: 4px; cursor: pointer; font-size:20px;">X</span></div><iframe style="width: 700px; height: 500px;" src="http://rezerwacje.meteor24.pl/index.php?modul=rezerwacja&f=main&obiektID='+obiektID+'&serwis='+options.serwis+'"  scrolling="auto" border=0 marginheight=0 marginwidth=0 frameborder=0 ></iframe></div>'
		$(document.body).append(html);
		$('#rezerwacjePanelWrapper').fadeIn();
		$('#rezerwacjePanelWrapper').find('.closeB').click(function(){ 
			$('#rezerwacjePanelWrapper').fadeOut(function(){ $('#rezerwacjePanelWrapper').remove(); }); 
			overlay.display(false); 
		});
			
		
		var bodyWidth = $('body').width();
		var bodyHeight = $('body').height();
		
		var panelWidth = $('#rezerwacjePanelWrapper').width();
		var panelHeight = $('#rezerwacjePanelWrapper').height();	
		var scrollOffset = getScrollOffset();
		
		var topOffset = scrollOffset.y+10;
		var leftOffset = bodyWidth/2 - panelWidth/2;
		$('#rezerwacjePanelWrapper').css({ left : leftOffset, top: topOffset});
		
		$(window).resize(function(){
			setSize();
		});		
	};	
	
	var setSize = function(){
		if (!document.getElementById('rezerwacjePanelWrapper')) { return; };
		var bodyWidth = $('body').width();
		var bodyHeight = $('body').height();
		
		var panelWidth = $('#rezerwacjePanelWrapper').width();
		var panelHeight = $('#rezerwacjePanelWrapper').height();		
		
		var leftOffset = bodyWidth/2 - panelWidth/2
		$('#rezerwacjePanelWrapper').css({ left : leftOffset});		
	};

	/* ustawia overlay */
	var overlay = (function(){
		var opt={
			overlayID : 'custom-background-overlay',
			zIndex : 199,
			color : 'white',
			opacity : 0.5
		};
		
		for(k in options.overlay){
			opt[k] = options.overlay[k];
		}
		
		var overlay = null;
		
		var setSize = function(){
			var width = $('body').width();
			var height = $('body').height();
			$('#'+opt.overlayID).css({'width': width, 'height' : height});
		};
		
		
		return {
			display : function(b){
				if(!document.getElementById(opt.overlayID)){
					var html = '<div id="'+opt.overlayID+'" style="background:'+opt.color+'; z-index:'+opt.zIndex+'; display:none; position: absolute; top:0; left:0;  _filter:alpha(opacity=50); -moz-opacity: 0.5; opacity: 0.5;"></div>';
					$('body').append(html);
					$(window).resize(setSize);
				}
				setSize();
				overlay = $('#'+opt.overlayID);
				if (b){
					overlay.show();
				} else {
					overlay.hide();
				}
			}
		};
	})();

	
	var getScrollOffset = function(parent) {
		var offset = {x:0, y:0};		
		var doc = parent ? parent.document : document;
		var win = parent ? parent.window : window;

		if (doc.documentElement && doc.documentElement.scrollTop) {
			offset.y = doc.documentElement.scrollTop;
			offset.x = doc.documentElement.scrollLeft;
		} else if (doc.body) {
			offset.y = doc.body.scrollTop;
			offset.x = doc.body.scrollLeft;
		} else if (win.innerHeight) {
			offset.y = win.pageYOffset;
			offset.x = win.pageYOffset;
		}
		return offset;
	};
	
};





