var vip = {

	$plan:null,

	origWidth:0,
	origHeight:0,
	
	ration:0,
	
	toFitWidht:0,
	toFitHeight:0,
	
	pLeft:0,
	pTop:0,
	
	
	openEvent:null,
	
	
	init:function () {
		
		/** lounges hover effect **/
		$('#lounges-select li').hover (
			function () {
				$(this)
					.stop()
					.animate({'background-color':'#333333'},400)
					.find('img').stop().fadeTo(400,1)
				},
			function () {
				$(this)
					.stop()
					.animate({'background-color':'#000000'},400)
					.find('img').stop().fadeTo(400,0)
				}
		)
		.mouseenter(vip.onLocationOver)
		.mouseleave(vip.onLocationOut);
		
		/*
		$('.lounge')
			.tooltip({
					width:200,
					onData: vip.onLoungeOver
				});		
		*/
		
		vip.$plan = $('#lounges-plan-gray');
		
		
		
		$display = $('#lounges-display');
		vip.origWidth = $display.width();
		vip.origHeight = $display.height();
		vip.ration = vip.origWidth / vip.origHeight;
		

		vip.toFitWidht = 730;
		vip.toFitHeight = 450;
		
		vip.pLeft = ((vip.toFitHeight * vip.ration) * 100) / (vip.origWidth);
		vip.pTop = (vip.toFitHeight * 100) / vip.origHeight

		vip
			.$plan
			.css({
				'height':vip.toFitHeight,
				'width':(vip.toFitHeight * vip.ration),
				left:80
				});
		
		$('#lounges-scroller')
			.scrollLeft(0)
			.scrollTop(0);
		

		$('#lounges-display > .lounge').each(function (i, elem) {
			$t = $(this);
			
			var top = parseInt($t.css('top'));
			var left = parseInt($t.css('left'));
			
			$t.data('pos', {
				top:top,
				left:left
			});
			
			var newLeft = ((left * vip.pLeft) / 100);
			var newTop = ((top * vip.pTop) / 100);
			
			$t.css({top:newTop, left:newLeft+80});
			
		});
		
		
		vip.update();
		
	},
	
	
	
	
	onLocationOver: function (e) {
		
		$t = $(this);
		
		var left = $t.attr('left');
		var top = $t.attr('top');
		var layer = $t.attr('hoverlayer');
		
		vip
			.$plan
			.stop()
			.animate({
				top:0,
				left:0,
				height:vip.origHeight, 
				width:vip.origWidth,
				opacity:.4
				},
				500,
				function () {
					$('#'+layer).stop().fadeTo(50,1);	
				});
		
		$('#lounges-scroller')
			.stop()
			.animate({scrollLeft:left, scrollTop:top},500);
		
	
	
		$('#lounges-display > .lounge').each(function (i, elem) {
			$t = $(this);
			var orig = $t.data('pos');
			$t.stop().animate({left:orig.left, top:orig.top},500);
		});
		
		
		
		$('#'+layer)
			.stop()
			.fadeTo(500,0);
			
	},
	
	
	onLocationOut: function () {
		
		$t = $(this);
		
		vip
			.$plan
			.stop()
			.animate({height:vip.toFitHeight, width:(vip.toFitHeight * vip.ration), opacity:1, top:0, left:80},500);
		
		var layer = $t.attr('hoverlayer');

		$('#'+layer).fadeTo(0,0);

		$('#lounges-display > .lounge').each(function (i, elem) {
			$t = $(this);
			var orig = $t.data('pos');
			
			var newLeft = (orig.left * vip.pLeft) /100;
			var newTop = (orig.top * vip.pTop) /100;
			
			$t.stop().animate({left:newLeft+80, top:newTop},500);
		});		
		
		
		$('#'+layer)
			.stop()
			.fadeTo(500,0);
			
		$('#lounges-scroller')
			.stop()
			.animate({scrollLeft:0, scrollTop:0},500);
					
	},
	
	
	
	update: function (eventID) {
		
		$('#lounges-infos')
			.children('.container-content')
			.html('')
			.addClass('loader');	
		
		/** reset lounges **/
		$('#lounges-display .lounge')
			.attr('class','lounge')
			.addClass('lounge-status-0')
			.unbind('click')
			.bind('click', vip.onLocationClick);
		
		
		
		$.getJSON('lounges_update.php',{event_id:eventID}, function (json) {
			
			vip.openEvent = json.event.ID;
			
			$('#lounges-infos')
				.children('.container-content')
				.removeClass('loader')
				.html('<span class="text-p">'+json.event.tag+'//'+json.event.monat+'//'+json.event.jahr+'</span> '+json.event.headline);
				
			
			$('.lounge').bind('click', vip.onLoungeClick);
			
			for (var i = 0; i < json.bookings.length; i++) {
				$lounge = $('#lounge-'+json.bookings[i].lounge);
				$lounge
					.removeClass('lounge-status-0')
					.addClass('lounge-status-'+json.bookings[i].status)
					.unbind('click');	
			}
				
		});
		
		
		
	},
	
	
	
	
	onLoungeClick:function () {
		var lid = $(this).attr('lid');
		var evt = vip.openEvent;
		window.location.hash = "lounges/booking?event="+evt+"&lounge="+lid;
	},
	
	
	
	onLoungeOver: function (target) {
		$.tooltip.$content.html('');
		$.tooltip.$content.append($(target).children('.lounge-infos').clone());
	},
	
	
	
	
	
	onLocationClick: function () {
		
		
	}
	



	
}

var booking = {
	update: function (id) {
		vip.update(id);	
	}
}
