

	
	calendarFrame = function()
	{
		this.ui;
		this.url;
		this.elem;
			
		this.init = function(elemId, params)
		{
			var This = this;

			this.elem = $('#' + elemId);
			$.get(this.url, params, function(result)
			{
				This.result(result, params);
			});
		};
		
		this.result = function(result, params)
		{
			var This = this;
			this.elem.html(result);

			if(!this.ui)
			{
				this.ui = new calendar();
			}
			this.ui.init(this.elem.attr('id'));
			
			// selecting an existing range
			if(params.start)
			{
				this.ui.range.select(params.start, 1, params.forceRooms);
				if(params.end)
				{
					this.ui.range.select(params.end, 1, params.forceRooms);
				}
			}

			// scrolling
			$('#' + this.elem.attr('id') + ' .prev').click(function(){
				This.init(This.elem.attr('id'), {
					time: this.rel, 
					start: This.ui.range.start,
					end: This.ui.range.end
				});
				return false;
			});
			$('#' + this.elem.attr('id') + ' .next').click(function(){
				This.init(This.elem.attr('id'), {
					time: this.rel, 
					start: This.ui.range.start,
					end: This.ui.range.end
				});
				return false;
			});
		};
	};
