﻿// THIS FILE NEEDS: jQuery JavaScript Library v1.3.2

// -------------------------------------------------------------------------- PAGE INIT --------------------------------------------------------------------------

// ----- Set onload functions here:

$(document).ready(function(){

	// Initialize global scripts

	// Initialize local scripts (placed in each page)

	localInit();

	// Your code here

	

});

// ------------------------------------------------------------------------- /PAGE INIT --------------------------------------------------------------------------



// -------------------------------------------------------------------------- WAGON INFO -------------------------------------------------------------------------


function getBookingStatus(wagonID){
	wagon_id = wagonID;
	var foo = $.ajax({
		url: "ajax.php",
		data: "wagon_id="+wagon_id,
		cache: false,
		async: false
	}).responseText;
					
	booking_status = foo.split("_");
	
	return booking_status;
	
}




// ----- Wagon info init 

function initWagonInfo() {

	//Get page and hash

	getPageAndHash();

	//Create HTML output

	createPageHTML();

}

// ----- Get page hash

var sFolder = '';

var sPage = '';

var iHash = null;

function getPageAndHash() {

	//Get subfolder

	sFolder = '';

	//Get page

	sPage = location.pathname.split('/')[location.pathname.split('/').length-1];

	//Get hash

	if (window.location.search == '') {

		iHash = null;

	}

	else {

		iHash = parseInt(window.location.search.split('?')[1]);

	}

}

// ----- Create page HTML

function createPageHTML() {

	//Set item strings

	var menuHTML = '';

	var menuOn = '';

	var subpageProductId = '';

	var subpageProductName = '';

	var subpageProductImage = '';

	var subpageProductEqualTo = '';

	var subpageProductDataYear = '';

	var subpageProductDataLicense = '';

	var subpageProductDescription = '';

	var subpageProductWeight = '';

	var subpageProductLength = '';

	var subpageProductMoreInfo = '';

	var subpageProductEquipment = '';

	var subpageProductAvailibility = '';

	var subpageProductPricing = '';

	//Set language strings

	var sLangTerms = '';

	var sLangCollection = '';

	var sLangCar = '';

	var sLangModel = '';

	var sLangLicense = '';

	var sLangAvailable = '';

	var sLangWeek = '';

	var sLangMore = '';

	var sLangBook = '';

	var sLangEquals = '';

	var sLangWeight = '';

	var sLangLength = '';

	var sLangImages = '';

	var sLangPeriod = '';

	var sLangPricing = '';

	var sLangTermsPdf = '';

	var sLangTermsPdfCaption = '';

	var sLangPricePdf = '';

	var sLangPricePdfCaption = '';

	//Get XML

	$.get("data.xml",{},function(xml){

		//Get translations

		sLangTerms = $('language',xml).find("terms").find(lang).text();

		sLangCollection = $('language',xml).find("collection").find(lang).text();

		sLangCar = $('language',xml).find("car").find(lang).text();

		sLangModel = $('language',xml).find("model").find(lang).text();

		sLangLicense = $('language',xml).find("license").find(lang).text();

		sLangAvailable = $('language',xml).find("available").find(lang).text();

		sLangWeek = $('language',xml).find("week").find(lang).text();
		
		sLangMore = $('language',xml).find("more").find(lang).text();

		sLangBook = $('language',xml).find("book").find(lang).text();

		sLangEquals = $('language',xml).find("equals").find(lang).text();

		sLangWeight = $('language',xml).find("weight").find(lang).text();

		sLangLength = $('language',xml).find("length").find(lang).text();

		sLangImages = $('language',xml).find("images").find(lang).text();

		sLangPeriod = $('language',xml).find("period").find(lang).text();

		sLangPricing = $('language',xml).find("pricing").find(lang).text().split('_');

		sLangTermsPdf = $('language',xml).find("terms-pdf").find(lang).text();

		sLangTermsPdfCaption = $('language',xml).find("terms-pdf").find(lang).attr("caption");

		sLangPricePdf = $('language',xml).find("price-pdf").find(lang).text();

		sLangPricePdfCaption = $('language',xml).find("price-pdf").find(lang).attr("caption");

		//Create output

		switch(iHash) {

			//Create TERMS and CONDITIONS output

			case 0:

				//create menu items 1 and 2

				menuHTML = '<li id="menuItem_0" class="on"><a href="' + sPage + '?0">' + sLangTerms + '</a></li><li id="menuItem_all"><a href="' + sPage + '">' + sLangCollection + '</a></li>';

				//create data

				$('#pageMenu').append(menuHTML);

				$('wagon',xml).each(function(i) {

					//get item strings

					subpageProductId = $(this).attr("id");

					subpageProductName = $(this).attr("name");

					//add menu item

					menuHTML = '<li id="menuItem_' + subpageProductId + '"><a href="' + sPage + '?' + subpageProductId + '">' + subpageProductName + ' (' + sLangCar + ' ' + subpageProductId + ')</a></li>';

					$('#pageMenu').append(menuHTML);

				});

				sProductList = '<li class="subpage-terms">' + $('conditions',xml).find(lang).text(); +'</li>';

				//append and fade in

				$('#productList').append(sProductList);

				$('#productList li.subpage-product:last').fadeIn(1000);

				//page title

				$('#pageTitle').html(sLangTerms);

				break;

			//Create ALL wagons output

			case null:

				//create menu items 1 and 2

				menuHTML = '<li id="menuItem_0"><a href="' + sPage + '?0">' + sLangTerms + '</a></li><li id="menuItem_all" class="on"><a href="' + sPage + '">' + sLangCollection + '</a></li>';

				//create data

				$('#pageMenu').append(menuHTML);

				$('wagon',xml).each(function(i) {
											 
					//get item strings

					subpageProductId = $(this).attr("id");

					subpageProductName = $(this).attr("name");

					subpageProductImage = $(this).attr("image");

					subpageProductDescription = $(this).find("description").find(lang).text();

					subpageProductDataYear = $(this).find("year").text();

					subpageProductDataLicense = $(this).find("license").find(lang).text();

					subpageProductInterval = $(this).find("interval").find(lang).text();

					subpageProductAvailibility = $(this).find("availability").find("week");

					/* subpageProductPricing = sLangPricing[0] + $(this).find("pricing").attr("low"); 

					 subpageProductPricing += sLangPricing[1] + $(this).find("pricing").attr("mid"); 

					subpageProductPricing += sLangPricing[2] + $(this).find("pricing").attr("high"); 

					subpageProductPricing += sLangPricing[3]; */
					
					
					// unavailable dates, take wagon id as parameter, returns an array.
					var booking_data = getBookingStatus(subpageProductId);
					

					//add menu item

					menuHTML = '<li id="menuItem_' + subpageProductId + '"><a href="' + sPage + '?' + subpageProductId + '">' + subpageProductName + ' (' + sLangCar + ' ' + subpageProductId + ')</a></li>';

					$('#pageMenu').append(menuHTML);

					//create output

					sProductList = '';

					sProductList += '<li class="subpage-product" style="display: none;">';

						sProductList += '<div class="clear-float"></div>';

						sProductList += '<div class="subpage-product-overview">';

							sProductList += '<div class="subpage-product-name">' + subpageProductName + ' (' + sLangCar + ' ' + subpageProductId + ')</div>';

							sProductList += '<div class="subpage-product-data">' + sLangModel + ': ' + subpageProductDataYear + '. ' + sLangLicense + ': ' + subpageProductDataLicense + '.</div>';

							sProductList += '<div class="subpage-product-description"><img class="subpage-product-image" src="_img/upload/' + subpageProductImage + '" alt="" align="left" border="0" />' + subpageProductDescription + ' </div>';

							sProductList += '<div class="subpage-product-action">';

								sProductList += '<div class="clear-float"></div>';

								sProductList += '<a class="buttonized" href="' + lang + '-form.htm?' + subpageProductId + '&amp;w=0">' + sLangBook + '</a>';

								sProductList += '<a class="buttonized" href="' + sPage + '?' + subpageProductId + '">' + sLangMore + '</a>';

								sProductList += '<div class="clear-float"></div>';

							sProductList += '</div>';

						sProductList += '</div>';

						//show availability

						sProductList += '<div class="subpage-product-availibility">';

							sProductList += '<b>' + sLangCar + ' ' + subpageProductId + ' ' + sLangAvailable + ':</b>';

							sProductList += '<ul class="availability">';

								//loop available weeks

								subpageProductAvailibility.each(function(){

									if ($(this).attr("available").toLowerCase() == 'yes') {
										
	
											// loop through booking_data to check if wagon is available.
											var booked;
											for (key in booking_data){
												if(booking_data[key] == $(this).attr("number")+', '+$(this).attr("year")){
													booked = true;
												}
											}
											
											classUnavailable = '';
											
											// print out if wagon is available.
											if(booked == true){
												classUnavailable = 'class="unavailable"';
												sProductList += '<li '+ classUnavailable +'><span class="week">' + sLangWeek + ' ' + $(this).attr("number") + '</span><span class="interval">(' + $(this).attr("interval") + ')</span></li>';
											}else{
												sProductList += '<li><a href="' + lang + '-form.htm?' + subpageProductId + '&amp;w=' + $(this).attr("number") + '" title="' + sLangBook + ': ' + sLangWeek + ' ' + $(this).attr("number") + '"><span class="week">' + sLangWeek + ' ' + $(this).attr("number") + '</span><span class="interval">(' + $(this).attr("interval") + ')</span></a></li>';												
											}

											//sProductList += '<li><a href="' + lang + '-form.htm?' + subpageProductId + '&amp;w=' + $(this).attr("number") + '" title="' + sLangBook + ': ' + sLangWeek + ' ' + $(this).attr("number") + '"><span class="week">' + sLangWeek + ' ' + $(this).attr("number") + '</span><span class="interval">(' + $(this).attr("interval") + ')</span></a></li>';

									}

								});

							sProductList += '</ul>';

							sProductList += '<div class="clear-float"></div>';

							sProductList += '<div class="subpage-product-pricing">' + subpageProductPricing + '</div>';

							sProductList += '<div class="subpage-product-documents"><a href="' + sLangPricePdf + '" target="_blank">' + sLangPricePdfCaption + ' (pdf)</a><br /><a href="' + sLangTermsPdf + '" target="_blank">' + sLangTermsPdfCaption + ' (pdf)</a></div>';

							sProductList += '<div class="subpage-product-period"><b>' + sLangPeriod + ' ' + subpageProductInterval + '.</b></div>';

						sProductList += '</div>';

						sProductList += '<div class="clear-float"></div>';

					sProductList += '</li>';

					//append and fade in

					$('#productList').append(sProductList);

					$('#productList li.subpage-product:last').fadeIn(1000);

					//page title

					$('#pageTitle').html(sLangCollection);

				});

				break;

			//Create SINGLE wagon output

			default:

				//create menu items 1 and 2

				menuHTML = '<li id="menuItem_0"><a href="' + sPage + '?0">' + sLangTerms + '</a></li><li id="menuItem_all"><a href="' + sPage + '">' + sLangCollection + '</a></li>';

				//create data

				$('#pageMenu').append(menuHTML);

				$('wagon',xml).each(function(i) {

					//get item strings

					subpageProductId = $(this).attr("id");

					subpageProductName = $(this).attr("name");

					subpageProductImage = $(this).attr("image");

					subpageProductEqualTo = $(this).attr("equalto");

					subpageProductDescription = $(this).find("description").find(lang).text();

					subpageProductWeight = $(this).find("description").find(lang).attr("weight");

					subpageProductLength = $(this).find("description").find(lang).attr("length");

					subpageProductMoreInfo = $(this).find("description").find(lang).attr("more");

					subpageProductEquipment = $(this).find("description").find(lang).attr("equipment");

					subpageProductDataYear = $(this).find("year").text();

					subpageProductDataLicense = $(this).find("license").find(lang).text();

					subpageProductInterval = $(this).find("interval").find(lang).text();

					subpageProductAvailibility = $(this).find("availability").find("week");

					subpageProductImages = $(this).find("images").find("item");

				

					/*subpageProductPricing = sLangPricing[0] + $(this).find("pricing").attr("low");

					subpageProductPricing += sLangPricing[1] + $(this).find("pricing").attr("mid");

					subpageProductPricing += sLangPricing[2] + $(this).find("pricing").attr("high"); 

					subpageProductPricing += sLangPricing[3]; */

					//add menu item

					menuOn = '';

					if (subpageProductId == iHash) { menuOn = 'class="on"'; }

					menuHTML = '<li id="menuItem_' + subpageProductId + '" ' + menuOn + '><a href="' + sPage + '?' + subpageProductId + '">' + subpageProductName + ' (' + sLangCar + ' ' + subpageProductId + ')</a></li>';

					$('#pageMenu').append(menuHTML);

					//create output

					if (iHash == parseInt($(this).attr("id"))) {
					
					// unavailable dates, take wagon id as parameter, returns an array.
					var booking_data = getBookingStatus(subpageProductId);
					
		

						sProductList = '';

						sProductList += '<li class="subpage-product" style="display: none;">';

							sProductList += '<div class="clear-float"></div>';

							sProductList += '<div class="subpage-product-overview">';

								sProductList += '<div class="subpage-product-data">' + sLangModel + ': ' + subpageProductDataYear + '. ' + sLangLicense + ': ' + subpageProductDataLicense + '.</div>';

								sProductList += '<div class="subpage-product-description"><img class="subpage-product-image" src="_img/upload/' + subpageProductImage + '" alt="" align="left" border="0" />' + subpageProductDescription + ' </div>';

								sProductList += '<div class="subpage-product-weight"><b>' + sLangWeight + ':</b> ' + subpageProductWeight + '</div>';

								sProductList += '<div class="subpage-product-length"><b>' + sLangLength + ':</b> ' + subpageProductLength + '</div>';

								sProductList += '<div class="subpage-product-equipment">' + subpageProductEquipment + '</div>';

								if (subpageProductMoreInfo != '') {

									sProductList += '<div class="subpage-product-more"><b>' + subpageProductMoreInfo + '</b></div>';

								}

								sProductList += '<div class="subpage-product-images"><b>' + sLangImages + ':</b><div id="gallery"><div class="clear-float"></div><ul>';

								//loop images

								subpageProductImages.each(function(){

									sProductList += '<li><a href="_img/upload/' + $(this).attr("url") + '" title="' + $(this).find(lang).text() + '"><img src="_img/upload/' + $(this).attr("thumburl") + '" width="54" height="54" alt="' + $(this).find(lang).text() + '" border="0" /></a></li>';									 

								});

								sProductList += '</ul><div class="clear-float"></div></div></div>';

								sProductList += '<div class="subpage-product-action">';

									sProductList += '<div class="clear-float"></div>';

									sProductList += '<a class="buttonized" href="' + lang + '-form.htm?' + subpageProductId + '&amp;w=0">' + sLangBook + '</a>';

									sProductList += '<div class="clear-float"></div>';

								sProductList += '</div>';

							sProductList += '</div>';

							//show availability

							sProductList += '<div class="subpage-product-availibility">';

								sProductList += '<b>' + sLangCar + ' ' + subpageProductId + ' ' + sLangAvailable + ':</b>';

								sProductList += '<ul class="availability">';

									//loop available weeks

									subpageProductAvailibility.each(function(){

										if ($(this).attr("available").toLowerCase() == 'yes') {
										
											// loop through booking_data to check if wagon is available.
											var booked;
											for (key in booking_data){
												if(booking_data[key] == $(this).attr("number")+', '+$(this).attr("year")){
													booked = true;
												}
											}
											
											classUnavailable = '';
											
											// print out if wagon is available.
											if(booked == true){
												classUnavailable = 'class="unavailable"';
												sProductList += '<li '+ classUnavailable +'><span class="week">' + sLangWeek + ' ' + $(this).attr("number") + '</span><span class="interval">(' + $(this).attr("interval") + ')</span></li>';												
											}else{
												sProductList += '<li><a href="' + lang + '-form.htm?' + subpageProductId + '&amp;w=' + $(this).attr("number") + '" title="' + sLangBook + ': ' + sLangWeek + ' ' + $(this).attr("number") + '"><span class="week">' + sLangWeek + ' ' + $(this).attr("number") + '</span><span class="interval">(' + $(this).attr("interval") + ')</span></a></li>';
											}
											
											
											
											// print out if wagon is available.
//											if(booked != true)
	//											sProductList += '<li><a href="' + lang + '-form.htm?' + subpageProductId + '&amp;w=' + $(this).attr("number") + '" title="' + sLangBook + ': ' + sLangWeek + ' ' + $(this).attr("number") + '"><span class="week">' + sLangWeek + ' ' + $(this).attr("number") + '</span><span class="interval">(' + $(this).attr("interval") + ')</span></a></li>';
											
											//sProductList += '<li><a href="' + lang + '-form.htm?' + subpageProductId + '&amp;w=' + $(this).attr("number") + '" title="' + sLangBook + ': ' + sLangWeek + ' ' + $(this).attr("number") + '"><span class="week">' + sLangWeek + ' ' + $(this).attr("number") + '</span><span class="interval">(' + $(this).attr("interval") + ')</span></a></li>';

										}

									});

								sProductList += '</ul>';

								sProductList += '<div class="clear-float"></div>';

								if (subpageProductEqualTo != '') {

									sProductList += '<div class="subpage-product-equals"><a class="hover-link" href="' + sPage +'?' +subpageProductEqualTo + '">' + sLangEquals + '</a></div>';

								}

								sProductList += '<div class="clear-float"></div>';

								sProductList += '<div class="subpage-product-pricing">' + subpageProductPricing + '</div>';

								sProductList += '<div class="subpage-product-documents"><a href="' + sLangPricePdf + '" target="_blank">' + sLangPricePdfCaption + ' (pdf)</a><br /><a href="' + sLangTermsPdf + '" target="_blank">' + sLangTermsPdfCaption + ' (pdf)</a></div>';

								sProductList += '<div class="subpage-product-period"><b>' + sLangPeriod + ' ' + subpageProductInterval + '.</b></div>';

							sProductList += '</div>';

							sProductList += '<div class="clear-float"></div>';

						sProductList += '</li>';

						//append and fade in

						$('#productList').append(sProductList);

						$('#productList li.subpage-product:last').fadeIn(1000);

						//page title

						$('#pageTitle').html(subpageProductName + ' (' + sLangCar + ' ' + subpageProductId + ')');

						//initialize lightbox

						$(function() {

							$('#gallery a').lightBox();

						});

					}

				});

		}

		

	});

}

// ------------------------------------------------------------------------- /WAGON INFO -------------------------------------------------------------------------



// ------------------------------------------------------------------------ BOOKING FORM -------------------------------------------------------------------------

// ----- Booking page init 

function initBooking() {

	//Get page and hash

	getBookingPageAndHash();

	//Create HTML output

	createBookingPageHTML();

}

// ----- Get item id, lang and selected week

var iWeek = null;

function getBookingPageAndHash() {

	//Get subfolder

	sFolder = '';

	//Get page

	sPage = location.pathname.split('/')[location.pathname.split('/').length-1];

	//Get hash

	if (window.location.search == '') {

		iHash = null;

		iWeek = null;

	}

	else {

		iHash = parseInt(window.location.search.split('?')[1].split('&')[0]);

		iWeek = parseInt(window.location.search.split('?')[1].split('&')[1].split('=')[1]);

	}

}

// ----- Create booking page HTML
var sBookingFormHTML = '';
var sWeekLabel = '';
var sTextWeek = '';
var sTextCurrency = '';
var iRentalWeeks = 1;
var sSelectDefault = '';
var aSelect = new Array();
function createBookingPageHTML() {
	//Hide form parts
	$('#formCalc').hide();
	//
	var sBookingFormHTML = '';
	var ProductAvailibility = null;
	
	
	$.get("data.xml",{},function(xml){
		
		//Create select options array
		$('wagon',xml).each(function(i) {
			if (iHash == parseInt($(this).attr("id"))) {
				//Set page title
				$('#pageTitle').text($(this).attr("name"));
				//Set wagon name and title to hidden form fields
				document.getElementById('wagon_name').value = $(this).attr("name");
				document.getElementById('wagon_id').value = $(this).attr("id");
				//Get available weeks, create array
				ProductAvailibility = $(this).find("availability").find("week");
				var u = 0;
				ProductAvailibility.each(function(){
					if ($(this).attr("available").toLowerCase() == 'yes') {
						//aSelect[u] = $(this).attr("number") + ':' + $(this).attr("interval") + ':' + $(this).attr("price");
						aSelect[u] = $(this).attr("number") + ':' + $(this).attr("interval") + ':' + $(this).attr("price") + ':' + $(this).attr("year");
						u++;
					}
				});
				
			}
		});
		
		//Begin fieldset
		sBookingFormHTML += '<fieldset id="fSetRental" class="rental">';
		sBookingFormHTML += '<p class="fieldset-description"><b>' + $('booking',xml).find(lang).find("rental").attr("title") + '.</b> ' + $('booking',xml).find(lang).find("rental").attr("desc") + '</p>';
		
		//Create strings used by all selects
		sSelectDefault = $('booking',xml).find(lang).find("rental").find("options").attr("default");
		sWeekLabel = $('booking',xml).find(lang).find("rental").find("options").attr("label");
		sTextWeek = $('booking',xml).find(lang).find("rental").attr("week");
		sTextCurrency = $('booking',xml).find(lang).attr("currency");
		
		//Create select
		sBookingFormHTML += createWeekSelect(0);
		
		//End fieldset
		sBookingFormHTML += '</fieldset>';
		//Create link for adding more weeks
		sBookingFormHTML += '<div class="align-right"><a href="#" onclick="createWeekSelect(1);return false;">' + $('booking',xml).find(lang).find("rental").attr("add") + '</a></div>';
		
		//Write HTML
		$('#formCalc').append(sBookingFormHTML);
		$('#formCalc').fadeIn(1000);
		
		//Calculate all sums
		//calcAll();

		//Create addons html
		sBookingFormHTML = '';
		sBookingFormHTML += '<fieldset id="fSetAddons" class="addons">';
		sBookingFormHTML += '<p class="fieldset-description"><b>' + $('booking',xml).find(lang).find("addons").attr("title") + '.</b> ' + $('booking',xml).find(lang).find("addons").attr("desc") + '</p>';
		$('booking',xml).find(lang).find("addons").find("field").each(function(i) {
			
			//create interval
			switch (parseInt($(this).attr("interval"))) {
				case 0:
					var sInterval = ' ' + $('booking',xml).find(lang).attr("currency") + '<span id="' + $(this).attr("id") + '_calc" class="calc">' + $(this).attr("price") + ',0</span>';
					break;
				case 1:
					var sInterval = ' ' + $('booking',xml).find(lang).attr("currency") + '/' + $('booking',xml).find(lang).attr("weekly") + '<span id="' + $(this).attr("id") + '_calc" class="calc">' + $(this).attr("price") + ',1</span>';
					break;
				case 2:
					var sInterval = ' ' + $('booking',xml).find(lang).attr("currency") + '/' + $('booking',xml).find(lang).attr("period") + '<span id="' + $(this).attr("id") + '_calc" class="calc">' + $(this).attr("price") + ',2</span>';
					break;
			}
			
			switch ($(this).attr("type")) {
				case 'checkbox':
					
					sBookingFormHTML += '<div class="field-container checkbox">';
						sBookingFormHTML += '<div class="clear-float"></div>';
						sBookingFormHTML += '<div class="float-left">';
							sBookingFormHTML += '<input type="checkbox" onclick="calcAddonBox(this);" id="' + $(this).attr("id") + '" name="' + $(this).attr("id") + '" value="' + $(this).attr("price") + '" />';
							sBookingFormHTML += '<label id="' + $(this).attr("id") + '_label" for="' + $(this).attr("id") + '">' + $(this).attr("label") + ', ' + $(this).attr("price") + sInterval + '</label>';
							sBookingFormHTML += '<span class="field-description">' + $(this).attr("desc") + '</span>';
						sBookingFormHTML += '</div>';
						sBookingFormHTML += '<div id="' + $(this).attr("id") + '_sum" class="float-right row-sum"></div>';
						sBookingFormHTML += '<div class="clear-float"></div>';
					sBookingFormHTML += '</div>';
					
					break;
				case 'text':
				
					sBookingFormHTML += '<div class="field-container textfield">';
						sBookingFormHTML += '<div class="clear-float"></div>';
						sBookingFormHTML += '<div class="float-left">';
							sBookingFormHTML += '<input type="text" class="numeric" maxlength="1" onfocus="clearAddonField(this);" onblur="fillAddonField(this);" onkeyup="calcAddonField(this);" id="' + $(this).attr("id") + '" name="' + $(this).attr("id") + '" value="0" />';
							sBookingFormHTML += '<label id="' + $(this).attr("id") + '_label" for="' + $(this).attr("id") + '">' + $(this).attr("label") + ', ' + $(this).attr("price") + sInterval + '</label>';
							sBookingFormHTML += '<span class="field-description">' + $(this).attr("desc") + '</span>';
						sBookingFormHTML += '</div>';
						sBookingFormHTML += '<div id="' + $(this).attr("id") + '_sum" class="float-right row-sum"></div>';
						sBookingFormHTML += '<div class="clear-float"></div>';
					sBookingFormHTML += '</div>';
				
					break;
			}

		});
		sBookingFormHTML += '</fieldset>';
		
		//Write HTML
		$('#formCalc').append(sBookingFormHTML);
		$('#formCalc').fadeIn(1000);
		
		//Make fields numeric
		$('#formCalc input.numeric').each(function(i) {
			$(this).numeric();								  
		});
		
		//Calculate all sums
		calcAll();
		
		//Create customer html

		sBookingFormHTML = '';

		sBookingFormHTML += '<fieldset id="fSetCustomers" class="customer">';

		sBookingFormHTML += '<p class="fieldset-description"><b>' + $('booking',xml).find(lang).find("customer").attr("title") + '.</b> ' + $('booking',xml).find(lang).find("customer").attr("desc") + '</p>';

		$('booking',xml).find(lang).find("customer").find("field").each(function(i) {

			

			switch ($(this).attr("type")) {

			case 'checkbox':

				

				sBookingFormHTML += '<div class="field-container checkbox">';

					sBookingFormHTML += '<div class="clear-float"></div>';

					sBookingFormHTML += '<div class="float-left">';

						sBookingFormHTML += '<input type="checkbox" class="' + $(this).attr("class") + '" id="' + $(this).attr("id") + '" name="' + $(this).attr("id") + '" value="' + $(this).attr("price") + '" />';

						sBookingFormHTML += '<label id="' + $(this).attr("id") + '_label" for="' + $(this).attr("id") + '">' + $(this).attr("label") + '</label>';

						sBookingFormHTML += '<span class="field-description">' + $(this).attr("desc") + '</span>';

					sBookingFormHTML += '</div>';

					sBookingFormHTML += '<div class="clear-float"></div>';

				sBookingFormHTML += '</div>';

				

				break;

			case 'text':

			

				sBookingFormHTML += '<div class="field-container textfield">';

					sBookingFormHTML += '<div class="clear-float"></div>';

					sBookingFormHTML += '<label id="' + $(this).attr("id") + '_label" for="' + $(this).attr("id") + '">' + $(this).attr("label") + '</label>';

					sBookingFormHTML += '<input type="text" class="' + $(this).attr("class") + '" id="' + $(this).attr("id") + '" name="' + $(this).attr("id") + '" value="" />';

					sBookingFormHTML += '<div class="clear-float"></div>';

					sBookingFormHTML += '<span class="field-description">' + $(this).attr("desc") + '</span>';

				sBookingFormHTML += '</div>';

			

				break;

				

			case 'textarea':

			

				sBookingFormHTML += '<div class="field-container textarea">';

					sBookingFormHTML += '<div class="clear-float"></div>';

					sBookingFormHTML += '<label id="' + $(this).attr("id") + '_label" for="' + $(this).attr("id") + '">' + $(this).attr("label") + '</label>';

					sBookingFormHTML += '<textarea id="' + $(this).attr("id") + '" name="' + $(this).attr("id") + '"></textarea>';

					sBookingFormHTML += '<div class="clear-float"></div>';

					sBookingFormHTML += '<span class="field-description">' + $(this).attr("desc") + '</span>';

				sBookingFormHTML += '</div>';

			

				break;

		}

			



		});
		sBookingFormHTML += '</fieldset>';

		

		//Write HTML
		$('#formCustomer').append(sBookingFormHTML);
		$('#formCustomer').fadeIn(1000);
		
	});	
}


//Create week select
function createWeekSelect(iType) {
	//Create first select
	
	//Create first select box
	if (iType == 0) {
		var itemId = 0;
	}
	//Create additional boxes
	else {
		var itemId = $('#fSetRental select').length;
		sBookingFormHTML = '';
	}
	
	sBookingFormHTML += '<div class="field-container select">';
		sBookingFormHTML += '<div class="clear-float"></div>';
		sBookingFormHTML += '<div class="float-left">';
		sBookingFormHTML += '<label id="sel-' + itemId + '_label" for="sel-' + itemId + '" onchange="calcAddonSelect(this);">' + sWeekLabel  + '</label>';
		sBookingFormHTML += '<select id="sel-' + itemId + '" name="sel-' + itemId + '" onchange="calcAddonSelect(this);">';
		
		//Create deafult option for additional selects
		if (iType != 0) {
			sBookingFormHTML += '<option selected="selected" value="na" title="0">' + sSelectDefault + '</option>';
		}
		
		//Create options
		var sSelected = '';
		var calcPrice = '';
		
		
		// unavailable dates, take wagon id as parameter, returns an array.
		var this_wagon_id = document.getElementById('wagon_id').value;
		var booking_data = getBookingStatus(this_wagon_id);



		for (var i=0;i<aSelect.length;i++) {
			sSelected = '';
		
			//Set selected option for first select
			if (iType == 0) {
	
				//Set first available if no week is selected
				if (i == 0 && parseInt(iWeek) == 0) {
					sSelected = 'selected="selected" ';
					calcPrice = aSelect[i].split(':')[2];
					
				}
				//Set selected
				if (parseInt(aSelect[i].split(':')[0]) == parseInt(iWeek)) {
					sSelected = 'selected="selected" ';
					calcPrice = aSelect[i].split(':')[2];
				}
			}
			

			// loop through booking_data to check if wagon is available, set disabled if match.
			var	sDisabled = '';
			for (key in booking_data){
				if(booking_data[key] == aSelect[i].split(':')[0] + ', ' + aSelect[i].split(':')[3]){
					sDisabled = 'disabled = "disabled"';
					//sDisabled = 'style="display:none"';
					sSelected = '';
				}
				
			}
			
			
			var sValue = 'value="' + aSelect[i].split(':')[0] + ', ' + aSelect[i].split(':')[3] + '"';
			
			if(sDisabled != 'disabled = "disabled"'){

			//Create option
			sBookingFormHTML += '<option ' + sDisabled + ' ' + sSelected + ' ' + sValue + ' title="' + aSelect[i].split(':')[2] + '">' + sTextWeek + aSelect[i].split(':')[0] + ' (' + aSelect[i].split(':')[1] + '), ' + aSelect[i].split(':')[2] + sTextCurrency + '</option>';

			}
			//Create option
			//sBookingFormHTML += '<option ' + sSelected + ' value="' + aSelect[i].split(':')[0] + ', ' + aSelect[i].split(':')[3] + '" title="' + aSelect[i].split(':')[2] + '">' + sTextWeek + aSelect[i].split(':')[0] + ' (' + aSelect[i].split(':')[1] + '), ' + aSelect[i].split(':')[2] + sTextCurrency + '</option>';
						
			
		}
		
		sBookingFormHTML += '</select>';
		sBookingFormHTML += '</div>';
		sBookingFormHTML += '<div id="sel-' + itemId + '_sum" class="float-right row-sum">' + calcPrice + '</div>';
		sBookingFormHTML += '<div class="clear-float"></div>';
	sBookingFormHTML += '</div>';
	
	//Create output
	if (iType == 0) {
		return sBookingFormHTML;
	}
	else {
		//Write HTML
		$('#fSetRental').append(sBookingFormHTML);
		$('#fSetRental').fadeIn(1000);
		iRentalWeeks++;
		calcAll();
	}
}

//Calculate checkbox rows
function calcAddonBox(oBox) {
	var sSumFieldId = '#' + oBox.id + '_sum';
	var sPriceIntervalId = '#' + oBox.id + '_calc';
	//calculate or clear row sum 
	if (oBox.checked) {
		//get price and interval
		var iSum = 0;
		var iPrice = parseInt($(sPriceIntervalId).text().split(',')[0]);
		var iInterval = parseInt($(sPriceIntervalId).text().split(',')[1]);
		if (iInterval == 1) {
			iSum = iPrice * iRentalWeeks;	
		}
		else {
			iSum = iPrice;
		}
		//update sum
		$(sSumFieldId).text(iSum);
	}
	else {
		//clear sum
		$(sSumFieldId).text('');
	}
	//calculate all sums
	calcAll();
}

//handle text field values
function clearAddonField(oBox) {
	if (oBox.value == 0) {
		oBox.value = '';
	}
}
function fillAddonField(oBox) {
	if (oBox.value == '') {
		oBox.value = 0;
	}
	calcAll();
}

//Calculate text rows
function calcAddonField(oField) {
	var sSumFieldId = '#' + oField.id + '_sum';
	var sPriceIntervalId = '#' + oField.id + '_calc';
	if (parseInt(oField.value) > 0) {
		//get price and interval
		var iSum = 0;
		var iPrice = parseInt($(sPriceIntervalId).text().split(',')[0]);
		var iInterval = parseInt($(sPriceIntervalId).text().split(',')[1]);
		if (iInterval == 1) {
			iSum = (iPrice * parseInt(oField.value)) * iRentalWeeks;	
		}
		else {
			iSum = iPrice * parseInt(oField.value);
		}
		//update sum
		$(sSumFieldId).text(iSum);
	}
	else {
		oField.value = '';
		//clear sum
		$(sSumFieldId).text('');
	}
	//calculate all sums
	calcAll();
}
//Calculate select
function calcAddonSelect(oSelect) {
	var sSumFieldId = '#' + oSelect.id + '_sum';
	iSum = parseInt(oSelect.options[oSelect.selectedIndex].title);
	//update sum
	if (iSum == 0) { iSum = ''; }
	$(sSumFieldId).text(iSum);
	//calculate all sums
	calcAll();
}

//Calculate total sum
function calcAll() {
	//get number of selected weeks, send selected weeks to hidden field
	iRentalWeeks = 0;
	var cSelects = document.getElementById('fSetRental').getElementsByTagName('select');
	var sWeeksHidden = '';
	for (var i=0;i<cSelects.length;i++) {
		if (cSelects[i].options[cSelects[i].selectedIndex].value != 'na') {
			sWeeksHidden += cSelects[i].options[cSelects[i].selectedIndex].text + ' *** ';
			iRentalWeeks++;
		}
	}
	document.getElementById('selected_weeks').value = sWeeksHidden;
	//adjust all visible sums for addons
	if (document.getElementById('fSetAddons')) {
		var cAddons = document.getElementById('fSetAddons').getElementsByTagName('input');
		for (var i=0;i<cAddons.length;i++) {
			switch(cAddons[i].type) {
				case 'checkbox':
					if (cAddons[i].checked) {
						if (parseInt($('#' + cAddons[i].id + '_calc').text().split(',')[1]) == 1) {
							iSum = parseInt($('#' + cAddons[i].id + '_calc').text().split(',')[0]) * iRentalWeeks;	
						}
						else {
							iSum = parseInt($('#' + cAddons[i].id + '_calc').text().split(',')[0]);
						}
						//update sum
						$('#' + cAddons[i].id + '_sum').text(iSum);
					}
					break;
				case 'text':
					if (parseInt(cAddons[i].value) > 0) {
						if (parseInt($('#' + cAddons[i].id + '_calc').text().split(',')[1]) == 1) {
							iSum = (parseInt($('#' + cAddons[i].id + '_calc').text().split(',')[0]) * parseInt(cAddons[i].value)) * iRentalWeeks;	
						}
						else {
							iSum = parseInt($('#' + cAddons[i].id + '_calc').text().split(',')[0]) * parseInt(oField.value);
						}
						//update sum
						$('#' + cAddons[i].id + '_sum').text(iSum);
					}
					break;
			}
		}
	}
	//get total sum
	var iSumTotal = 0;
	$('#formCalc div.row-sum').each(function(i) {
		if ($(this).text() != '') {
			iSumTotal += parseInt($(this).text());						  
		}								  
	});
	$('#formSum_sum').text(iSumTotal);
	//update hidden field
	document.getElementById('sum_total').value = iSumTotal;
	
	
}

// ----------------------------------------------------------------------- /BOOKING FORM -------------------------------------------------------------------------