
var booking = {

	bookungPageID:"booking.php",
	loungePageID:"booking2.php",
	pfwID:"c-frame",
	isOpen:false,
	planWidth:730,
	planHeight:730,

	toolTipOffsetX:60,
	toolTipOffsetY:25,

	openEvent:null,	

	lounges:[




		{

			id:3,

			top:319,

			left:732,

			label:'VIP Lounge Main',

			desc:'Sehen und gesehen werden, das gilt f&uuml;r die VIP-Lounge in der Delta-Mainarea. Hier k&ouml;nnt ihr zu dem heissesten Sound aus House, Electro, Black und Charts ein ganz besonderes Feeling erleben und eine super exklusive Party feiern!',

			image:'thumbs/reservierungen/tn_vip-mail-thumb.jpg',

			price:'100.00',

			imageBG:'thumbs/reservierungen/vip-mail-thumb.jpg'

		},


		{

			id:2,

			top:84,

			left:526,

			label:'Vip Lounge Black',

			desc:'',

			image:'thumbs/reservierungen/tn_vip-black-thumb.jpg',

			price:'100.00',

			imageBG:'thumbs/reservierungen/vip-black-thumb.jpg'

		}
		

		

	],



	



	akklounge:null,



	



	products:[],



	



	shopingcart:[],



	



	init:function () {



		



		booking.isOpen = true;



		booking.initWindows();



	},



	



	



	update:function (eventID) {



		$('#lounges-event-display').html ('<img src="images/res_loader.gif"/>');



		booking.displayReset();



		$.getJSON("lounges_update.php?event_id="+eventID, function(json) {



			$('#lounges-event-display').html('<span class="w-bold">'+json.event.tag+'.'+json.event.monat+'.'+json.event.jahr+'</span><h1>'+json.event.headline+'</h1>');



			booking.openEvent = json.event;



			$.each (json.bookings,function (i,item) {



				for(var i = 0; i < booking.lounges.length; i++) {



					if (booking.lounges[i].id == item.lounge) {
                    
						var dot;
						if (item.status == 1)
							dot = "url(images/res-yelow-dot.png)";
				
						if (item.status == 2)
							dot = "url(images/res-red-dot.png)";

						if (item.status == 3)
							dot = "url(images/res-grey-red-dot.png)";

						$('#'+booking.lounges[i].htmlObjectID)
							.css("background-image", dot)
							.unbind ('click');
						break;	
					}
				}
				});
		 });
	},



	displayReset:function () {
		for(var i = 0; i < booking.lounges.length; i++) {
			$('#'+booking.lounges[i].htmlObjectID)
				.css("background-image", "url(images/res-green-dot.png)")
				.unbind ('click')
				.bind ('click',function () {
					booking.openBookingForm($(this).attr('objectid'));
				});
		}
	},


	openBookingForm:function (loungeID) {
		window.location.hash = booking.loungePageID+'?event='+booking.openEvent.ID+'&lounge='+loungeID;
	},

	initWindows:function () {
		$('body').append('<div id="lounges-tooltip"><center><img id="lounges-image" src="" height="200"/></center></div>');
		$('#image-bg-vip').append('<div id="lounges-event-display"><img src="images/res_loader.gif"/></div>');
		$('#resv_kalender').load('backend/inc/inc_reservierung_kalender.php');
		
		/*** add lounge ***/
		for(var i = 0; i < booking.lounges.length; i++) {
			var htmlObject = $('#image-bg-vip').append('<div objectID="'+booking.lounges[i].id+'" id="lounge-frame-wrapper-'+booking.lounges[i].id+'" class="lounge-frame-wrapper"><div class="lounge-label">'+booking.lounges[i].label+'</div></div>');
			booking.lounges[i].htmlObjectID = 'lounge-frame-wrapper-'+booking.lounges[i].id;
			$('#'+booking.lounges[i].htmlObjectID).hover (booking.onLoungeOver,booking.onLoungeOut);
		}
		booking.positionLounges();

		$(window).bind('resize',booking.onResize);
			booking.update();
	},


	onLoungeOver:function (e) {
		$(this).addClass('lounge-hover');
		var object = null;
		for(var i = 0; i < booking.lounges.length; i++) {
			if (parseInt ($(this).attr('objectID')) ==  booking.lounges[i].id) {
				object = booking.lounges[i];
				break;
			}
		}


		$('#lounges-tooltip')
			.css('display','none')
			.css("top",(e.pageY - booking.toolTipOffsetX) + "px")
			.css("left",(e.pageX + booking.toolTipOffsetY) + "px")
			.fadeIn("fast");

		$('#lounges-image').attr('src',object.imageBG);
		$('#lounges-tooltip h1').html(object.label);
		$('#lounges-tooltip p').html(object.desc);

		$(this).mousemove(function(e){
			$("#lounges-tooltip")
				.css("top",(e.pageY - booking.toolTipOffsetX) + "px")
				.css("left",(e.pageX + booking.toolTipOffsetY) + "px");
		});	
	},
	
	onLoungeOut:function () {

		$(this).removeClass('lounge-hover');
		$('#lounges-tooltip').css('display','none')
		$(this).mousemove(function (e) {});
	},

	positionLounges:function () {

		var bgWidth = $('#image-bg-vip').width();
		var bgHeight = $('#image-bg-vip').height();

		var pWidth = Math.round((bgWidth * 100)/ booking.planWidth);
		var pHeight = Math.round((bgHeight * 100) / booking.planHeight);

		for(var i = 0; i < booking.lounges.length; i++) {
			$('#'+booking.lounges[i].htmlObjectID).css({
				'top':booking.lounges[i].top ,
				'left':booking.lounges[i].left 
				});
		}
	},


	destroyWindows:function () {
		booking.shopingcart = [];	
		booking.akklounge = null;
	},

	destroy:function (noBgReset) {
		$(window).unbind('resize',booking.onResize)
		booking.destroyWindows();
	},



	



	



	showLounge:function (loungeID,eventID) {

		booking.destroy(true);
		lounge = null;
		for(var i = 0; i < booking.lounges.length; i++) {
			if (booking.lounges[i].id == parseInt(loungeID)){
				lounge = booking.lounges[i]; 
				break;	
			}
		}



		/**lounge nicht gefunden -> break **/
		if (lounge == null){
			window.location.href="index.php";
			return false;	
		}

		booking.akklounge = lounge;
		
		$('#image-bg-vip').append('<div id="lounges-booking-infos-event"><h1 class="booking-date"> VIP LOUNGE buchen f&uuml;r den: '+booking.openEvent.tag+'.'+booking.openEvent.monat+'.'+booking.openEvent.jahr+'</h1><h1 class="booking-event">'+booking.openEvent.headline+'</h1></div><div id="booking-lounge-book-wrapper" class="booking-lounge-book-wrapper"><div class="warenkorb-wrapper"><h1> Produkte </h1><div id="produkte" class="warenkorb-display"></div></div><div class="warenkorb-wrapper"><h1> Warenkorb</h1><div id="warenkorb" class="warenkorb-display"></div><div id="umsatz-display"><div class="umsatz-wrapper"><p> Mindestumsatz </p><p id="min-umsatz"> '+lounge.price+' &euro; </p></div><div class="umsatz-wrapper"><p> Im Warenkorb </p> <p id="akk-umsatz"> 0 &euro; </p> </div></div></div><div class="clear"></div><div id="lounges-booking-infos" style="height:500px"> </div></div>');

		$('#lounges-booking-infos').html('<div id="lounges-booking-infos-lounge"><h1>'+booking.akklounge.label+'</h1><p>'+booking.akklounge.desc+'</div></p><form id="form_resv"><table width="100%" border="0" cellpadding="2" cellspacing="0"><tr><td valign="top" width="70" align="right">Vorname</td><td width="212"><input name="vorname" type="text" id="name2"  size="35" class="input" /></td></tr><tr><td valign="top" width="70" align="right">Name</td><td width="212"><input name="name" type="text" id="name2"  size="35" class="input" /></td></tr><tr><td valign="top" width="70" align="right">Stra&szlig;e/Nr.</td><td width="212"><input name="strasse" type="text" id="strasse"  size="35" class="input" /></td></tr><tr><td valign="top" width="70" align="right">PLZ/Ort</td><td width="212"><input name="plz" type="text" id="ort" style="width:10%;" maxlength="5" class="input" />&nbsp;<input name="stadt" type="text" id="ort" style="width:80%;" size="35" class="input" /></td></tr><tr><td valign="top" width="70" align="right">Telefon</td><td width="212"><input name="telefon" type="text" id="telefon"  size="35" class="input" /></td></tr><tr><td valign="top" width="70" align="right">E-Mail</td><td width="212"><input name="email" type="text" id="email"  size="35" class="input" /></td></tr><tr><td width="70" align="right" valign="top">Anmerkung</td><td width="212"><textarea name="anmerk" id="text" style="width:250px;height:60px;" class="input"></textarea></td></tr><tr><td align="right" valign="top"><input type="checkbox" id="wiederruf" name="wiederruf" value="true"/></td><td>Hiermit erkl&auml;re ich dass ich die <a href="http://delta-duisburg.de/#widerrufsbedingungen.php" target="_blank">Widerrufsbedingungen</a> gelesen haben, und mit den genannten Bedingungen einverstanden bin.</td></tr><tr align="center"><td colspan="2"><input id="booking-form-send-bn" type="button" value=" senden " class="button" onclick="booking.check_resv();">&nbsp;&nbsp;<input type="reset" name="reset" value=" l&ouml;schen " class="button" /></td></tr></table></form><br /><p><font size="2" color="#FF0000"><strong><center>Alle Preise verstehen sich exkl. Eintrittspreis.<br />Bei kurzfristiger Buchung Zahlung nach Absprache.</strong></font> <br /><br />Wir bitten um Verst&auml;ndnis dass wir 50% der Bestellsumme <strong>vorab</strong> als Anzahlung einfordern m&uuml;ssen.<br /> Die Kontodaten werden am Ende des Bestellprozesses angezeigt.</center></p><div id="booking-form-feedback"></div>');


		$('#booking-form-send-bn').css('visibility','hidden');
		

		$.getJSON ('http://'+window.location.hostname+'/lounges_get_products.php',function (json) {

			booking.products = json.producs;			

			$.each(booking.products, function (i,item) {
				var p = '<div class="product" pid="'+item.ID+'"><img class="procut-image" src="http://'+window.location.hostname+'/'+item.bildpfad+'" height="60" style="float:left"/><p class="product-dec">'+item.bezeichnung+'</p><p class="product-price"> Preis: '+item.preis+' Euro</p>';
                	p += '<div class="clear"></div>';
				$('#produkte').append(p);
			});


			$('.product').hover (function () {
				$(this).css({"background-image":"url(images/product-pfeil_green.png)",'background-color':'#333'});
			},function () {
				$(this).css({"background-image":"url(images/product-pfeil.png)",'background-color':'transparent'});
			}).click (function () {
				var pid = parseInt($(this).attr('pid'));
				for(var i = 0; i < booking.products.length; i++) {
					if (pid == booking.products[i].ID) {
						booking.addProduct(booking.products[i]);
						break;
					}
				}
			});
		});	

	},



	



	



	addProduct:function (product) {



		var pin = booking.isInCart(product);



		if (pin) {



			



			pin.count ++;



			



		}else{



			var nid = Math.round(Math.random()*10000000);



			$('#warenkorb').append('<div id="'+nid+'" class="product-cart"><h1>'+product.bezeichnung+'</h1><p id="p_'+nid+'"><span>Anzahl:</span> <span>1</span> <span>Preis gesammt:</span> <span>'+product.preis+' &euro;</span> </p><div class="product-cart-buttons"><a onclick="booking.addProduct(booking.findeProduct('+product.ID+'));"><img src="http://'+window.location.hostname+'/images/shop-add.png" border="0"/></a> <a onclick="booking.removeProduct(booking.findeProduct('+product.ID+'));"><img src="http://'+window.location.hostname+'/images/shop-remove.png" border="0"/></a></div></div>');



			



			var po = {};



				po.ID = product.ID;



				po.price = product.preis;



				po.hmtlID = nid.toString();



				po.count = 1;



				



			booking.shopingcart.push(po);



		}



		



		booking.updatePrice();



	},



	



	



	isInCart:function (product) {



		for (var i = 0; i < booking.shopingcart.length; i++) {



			if (booking.shopingcart[i].ID == product.ID) {



				return booking.shopingcart[i];



			}



		}



		return false;



	},



	



	



	removeProduct:function (product) {



		var pin = booking.isInCart(product);



		if (pin && pin.count > 0) {



			pin.count --;



			



			if (pin.count == 0) {



				booking.shopingcart.splice(booking.shopingcart.indexOf(pin),1);



				



				$('#'+pin.hmtlID).remove();



			}



			



		}



		booking.updatePrice();



	},



		



	



	findeProduct:function (ID) {



		var pid = parseInt(ID);



		for(var i = 0; i < booking.products.length; i++) {



			if (pid == booking.products[i].ID) {



				return booking.products[i];



			}



		}



	},



	



	



	updatePrice:function () {



		



		var totalprice = 0;



		



		for (var i = 0; i < booking.shopingcart.length; i++) {



			



			var ptotal = Math.round(((booking.shopingcart[i].price * booking.shopingcart[i].count)*100))/100;



			



			$('#p_'+booking.shopingcart[i].hmtlID).html ('<span>Anzahl:</span> <span>'+booking.shopingcart[i].count+'</span> <span>Preis gesammt:</span> <span>'+booking.CurrencyFormatted(ptotal)+' &euro;</span>');



			totalprice += ptotal;



		}	



		



		$('#akk-umsatz').html(booking.CurrencyFormatted(totalprice)+' &euro;');



		



		if (totalprice >= booking.akklounge.price) {



			$('#akk-umsatz').css('color','#090');



			$('#booking-form-send-bn').css('visibility','visible');



			$('#booking-form-feedback')



				.html('Buchung m&ouml;glich')



				.css('color','#090');



		}else{



			$('#akk-umsatz').css('color','#F00');



			$('#booking-form-send-bn').css('visibility','hidden');



			$('#booking-form-feedback')



				.html('Der Mindestbestellwert f&uuml;r diese Lounge betr&auml;gt: '+booking.akklounge.price+' &euro;')



				.css('color','#F00');



		}



			



	},



	



	check_resv:function () {

		var sendObj = {};

			sendObj.booking = {'lounge':booking.akklounge.id,'event':booking.openEvent.ID};

			sendObj.product = booking.shopingcart;

			sendObj.personal = $('#form_resv').serializeObject();

        

		$('#booking-form-feedback').html('<img src="images/res_loader.gif">');

		$.get('http://'+window.location.hostname+'/reservierung_feedback.php',{'json':$.toJSON(sendObj)},function (data) {
			if (data.indexOf('001') != -1){
					booking.onBookingComplete();
				}else{
					$('#booking-form-feedback').html(data);
				}
			});

	},


	onBookingComplete: function () {
		window.location.hash = "bookingcomplete.php";
	},
	



	onResize:function (e) {



		booking.positionLounges();



	},



	



	 CurrencyFormatted:function(amount) { 



		var i = parseFloat(amount); 



		if(isNaN(i)) { i = 0.00; } 



		var minus = ''; 



		if(i < 0) { minus = '-'; } 



		i = Math.abs(i); 



		i = parseInt((i + .005) * 100); 



		i = i / 100; 



		s = new String(i); 



		if(s.indexOf('.') < 0) { s += '.00'; } 



		if(s.indexOf('.') == (s.length - 2)) { s += '0'; } 



		s = minus + s; 



		return s; 



	} 





}












