
var booking = {
	bookungPageID:"booking.php",
	loungePageID:"booking2.php",
	pfwID:"c-frame",
	isOpen:false,
	

	planWidth:730,
	planHeight:730,

	toolTipOffsetX:100,
	toolTipOffsetY:20,
	

	openEvent:null,


	lounges:[




		{

			id:12,

			top:416,

			left:171,

			label:'L10',

			desc:'',

			image:'',

			price:'100.00',

			imageBG:''

		},


		{

			id:11,

			top:416,

			left:198,

			label:'L9',

			desc:'',

			image:'',

			price:'100.00',

			imageBG:''

		},


		{

			id:10,

			top:416,

			left:226,

			label:'L8',

			desc:'',

			image:'',

			price:'100.00',

			imageBG:''

		},


		{

			id:9,

			top:201,

			left:306,

			label:'L7',

			desc:' ',

			image:'',

			price:'100.00',

			imageBG:''

		},


		{

			id:8,

			top:201,

			left:176,

			label:'L6',

			desc:'',

			image:'',

			price:'100.00',

			imageBG:''

		},


		{

			id:7,

			top:117,

			left:286,

			label:'L5',

			desc:'',

			image:'',

			price:'100.00',

			imageBG:''

		},


		{

			id:6,

			top:77,

			left:286,

			label:'L4',

			desc:'',

			image:'',

			price:'100.00',

			imageBG:''

		},


		{

			id:5,

			top:123,

			left:123,

			label:'L3',

			desc:'',

			image:'',

			price:'100.00',

			imageBG:''

		},


		{

			id:4,

			top:88,

			left:123,

			label:'L2',

			desc:'',

			image:'',

			price:'100.00',

			imageBG:''

		},


		{

			id:3,

			top:51,

			left:123,

			label:'L1',

			desc:'',

			image:'',

			price:'100.00',

			imageBG:''

		}
	],

        

	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)";

							

						$('#'+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 () {

		/**kalender**/

		$('#image-bg-vip').append('<div id="resv_kalender"></div>');

		$('#image-bg-vip').append('<div id="lounges-tooltip"><h1></h1><p></p></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.image);
		$('#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':Math.round((booking.lounges[i].top * pHeight)/100) +$('#image-bg-vip').offset().top,

				'left': (Math.round((booking.lounges[i].left * pWidth)/100)+$('#image-bg-vip').offset().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.hash = booking.bookungPageID;

			return false;	

		}

		

		booking.akklounge = lounge;

		

		

		

		$('#image-bg-vip').append('<div id="lounges-booking-infos-event"><span class="w-bold">'+booking.openEvent.tag+'||'+booking.openEvent.monat+'||'+booking.openEvent.jahr+'</span><h1>'+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+' € </p></div><div class="umsatz-wrapper"><p> Im Warenkorbs </p> <p id="akk-umsatz"> 0 € </p> </div></div></div><div class="clear"></div><div id="lounges-booking-infos"> </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="500" 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" style="width:250px;" 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" style="width:250px;" 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" style="width:250px;" 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:47px;" maxlength="5" class="input" />&nbsp;<input name="stadt" type="text" id="ort" style="width:197px;" 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" style="width:250px;" 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" style="width:250px;" 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 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><div id="booking-form-feedback"></div>');

		$('#booking-form-send-bn').css('visibility','hidden');

		

		$.getJSON ('lounges_get_products.php',function (json) {

			booking.products = json.producs;

			

			$.each(booking.products, function (i,item) {

				

				$('#produkte').append('<div class="product" pid="'+item.ID+'"><img class="procut-image" src="'+item.bildpfad+'" height="50" style="float:left"/><p class="product-dec">'+item.bezeichnung+'</p><p class="product-price"> Preis: '+item.preis+' Euro</p><p class="product-descriptio">'+item.beschreibung+'</p><div class="clear"></div>');

				});

				

				

				$('.product').hover (function () {

					$(this).css({"background-image":"url(images/product-pfeil_green.png)"}).addClass('product-hover');

				},function () {

					$(this).css({"background-image":"url(images/product-pfeil.png)"}).removeClass('product-hover');

				})

				.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+' €</span> </p><div class="product-cart-buttons"><a onclick="booking.addProduct(booking.findeProduct('+product.ID+'));"><img src="images/shop-add.png" border="0"/></a> <a onclick="booking.removeProduct(booking.findeProduct('+product.ID+'));"><img src="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)+' €</span>');

			totalprice += ptotal;

		}	

		

		$('#akk-umsatz').html(booking.CurrencyFormatted(totalprice)+' €');

		

		if (totalprice >= booking.akklounge.price) {

			$('#akk-umsatz').css('color','#090');

			$('#booking-form-send-bn').css('visibility','visible');

			$('#booking-form-feedback')

				.html('Buchung möglich')

				.css('color','#090');

		}else{

			$('#akk-umsatz').css('color','#F00');

			$('#booking-form-send-bn').css('visibility','hidden');

			$('#booking-form-feedback')

				.html('Der Mindestbestellwert für diese Lounge beträgt: '+booking.akklounge.price+' €')

				.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('reservierung_feedback.php',{'json':$.toJSON(sendObj)},function (data) {

			if (data.indexOf('001') != -1){

					window.location.hash = "bookingcomplete.php";

				}else{

					$('#booking-form-feedback').html(data);	

				}

			});

	},

	

	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; 

	} 

	

}






