// Used to advance (using the selected option data) to the second stage of the form...
function moveToStageTwo(optionNum) {

	numSingles = 3 - optionNum;
	numRuns = document.getElementById('opt'+optionNum+'_numruns').innerHTML;
	document.location = '/pallets_step2.php?numsingles='+numSingles+'&numruns='+numRuns;	

	return (true);	
}

// Used to advance (using the selected option data) to the second stage of the form...
function moveToStageThree() {

	numSingles = document.getElementById('numsingles').value;
	numRuns = document.getElementById('numruns').value;
	numBays = document.getElementById('rl_numberofbays').innerHTML;

	document.location = '/pallets_step3.php?numsingles='+numSingles+'&numruns='+numRuns+'&numbays='+numBays;	

	return (true);	
}

// Used to advance (using the selected option data) to the second stage of the form...
function moveToStageFour() {

	numSingles = document.getElementById('numsingles').value;
	numRuns = document.getElementById('numruns').value;
	numBays = document.getElementById('numbays').value;
	numLevels = document.getElementById('rh_palletlevels').innerHTML;

	document.location = '/pallets_step4.php?numsingles='+numSingles+'&numruns='+numRuns+'&numbays='+numBays+'&numlevels='+numLevels;	

	return (true);	
}


// Used to update the pallet option calculator
function updatePalletOptCalc() {

    var availablewidth = parseInt(document.getElementById('opt_buildingwidth').value, 10);
	var framedepth =  parseInt(document.getElementById('opt_framedepth').value, 10);
	var rowspacerlength =  parseInt(document.getElementById('opt_rowspacer').value, 10);
	var minimumaislewidth =  parseInt(document.getElementById('opt_aislewidth').value, 10);

	// Two single sided runs...
	var resultantwidth = availablewidth - 2 * framedepth - rowspacerlength;
	if (isNaN(resultantwidth)) resultantwidth = "0";
	document.getElementById('opt1_availablewidth').innerHTML = resultantwidth;
	if (framedepth > 0) {
		var resultantdoubleruns = Math.floor((resultantwidth - minimumaislewidth) / (minimumaislewidth + 2 * framedepth + rowspacerlength));
		if (isNaN(resultantdoubleruns)) resultantdoubleruns = "0";
		document.getElementById('opt1_numruns').innerHTML = resultantdoubleruns;
		
		if (resultantdoubleruns > 0) {
			var resultantaislewidth = Math.round((resultantwidth - resultantdoubleruns * (2 * framedepth + rowspacerlength)) / (resultantdoubleruns + 1), 2);
			if (isNaN(resultantaislewidth)) resultantaislewidth = "0";
			document.getElementById('opt1_availaislewidth').innerHTML = resultantaislewidth;
		}
		
		if (resultantdoubleruns > 0) {
			var resultantleaveswidth = Math.floor((resultantwidth - (resultantdoubleruns + 1) * (2 * framedepth + rowspacerlength)) / (resultantdoubleruns + 2));
			if (isNaN(resultantleaveswidth)) resultantleaveswidth = "0";
			document.getElementById('opt1_remainingaisle').innerHTML = resultantleaveswidth;
		}
	}


	// One single sided runs...	
		var resultantwidth = availablewidth - framedepth - (rowspacerlength/2);
		if (isNaN(resultantwidth)) resultantwidth = "0";
		document.getElementById('opt2_availablewidth').innerHTML = resultantwidth;

		if (framedepth > 0) {
			var resultantdoubleruns = Math.floor((resultantwidth - minimumaislewidth) / (minimumaislewidth + 2 * framedepth + rowspacerlength));
			if (isNaN(resultantdoubleruns)) resultantdoubleruns = "0";
			document.getElementById('opt2_numruns').innerHTML = resultantdoubleruns;

			if (resultantdoubleruns > 0) {
				var resultantaislewidth = Math.round((resultantwidth - resultantdoubleruns * (2 * framedepth + rowspacerlength)) / (resultantdoubleruns + 1), 2);
				if (isNaN(resultantaislewidth)) resultantaislewidth = "0";
				document.getElementById('opt2_availaislewidth').innerHTML = resultantaislewidth;
			}

			if (resultantdoubleruns > 0) {
				var resultantleaveswidth = Math.floor((resultantwidth - (resultantdoubleruns + 1) * (2 * framedepth + rowspacerlength)) / (resultantdoubleruns + 2));
				if (isNaN(resultantleaveswidth)) resultantleaveswidth = "0";
				document.getElementById('opt2_remainingaisle').innerHTML = resultantleaveswidth;
			}
		}



	// No single sided runs...	
		var resultantwidth = availablewidth;
		if (isNaN(resultantwidth)) resultantwidth = "0";
		document.getElementById('opt3_availablewidth').innerHTML = resultantwidth;

		if (framedepth > 0) {
			var resultantdoubleruns = Math.floor((resultantwidth - minimumaislewidth) / (minimumaislewidth + 2 * framedepth + rowspacerlength));
			if (isNaN(resultantdoubleruns)) resultantdoubleruns = "0";
			document.getElementById('opt3_numruns').innerHTML = resultantdoubleruns;

			if (resultantdoubleruns > 0) {
				var resultantaislewidth = Math.round((resultantwidth - resultantdoubleruns * (2 * framedepth + rowspacerlength)) / (resultantdoubleruns + 1), 2);
				if (isNaN(resultantaislewidth)) resultantaislewidth = "0";
				document.getElementById('opt3_availaislewidth').innerHTML = resultantaislewidth;
			}

			if (resultantdoubleruns > 0) {
				var resultantleaveswidth = Math.floor((resultantwidth - (resultantdoubleruns + 1) * (2 * framedepth + rowspacerlength)) / (resultantdoubleruns + 2));
				if (isNaN(resultantleaveswidth)) resultantleaveswidth = "0";
				document.getElementById('opt3_remainingaisle').innerHTML = resultantleaveswidth;
			}
		}

	return (false);
}


// Run length calculator
function updateRunLengthCalc() {
	
	uprightWidth = 90;
	
	// Grab the necessary...
    var warehouselength = parseInt(document.getElementById('rl_warehouselength').value, 10);
	var clearmarshall =  parseInt(document.getElementById('rl_clearmarshall').value, 10);
	var clearlength =  parseInt(document.getElementById('rl_clearlength').value, 10);
	var bayclear =  parseInt(document.getElementById('rl_bayclear').value, 10);

	// Workout details and update...	
	var availablelength = warehouselength - clearmarshall - clearlength;
	if (isNaN(availablelength)) availablelength = "0";
	document.getElementById('rl_availablelength').innerHTML = availablelength;			

	if (availablelength > 0) {
		var numberbays = Math.floor((availablelength - uprightWidth) / (bayclear + uprightWidth));
		if (isNaN(numberbays)) numberbays = "0";
		document.getElementById('rl_numberofbays').innerHTML = numberbays;			

		if (numberbays > 0) {
			var shortmarshall = availablelength - (numberbays * (bayclear + uprightWidth) + uprightWidth)
			if (isNaN(shortmarshall)) shortmarshall = "0";
			document.getElementById('rl_shortofmarshalling').innerHTML = shortmarshall;						

			var bayreduction = (numberbays + 1) * (bayclear + uprightWidth) + uprightWidth - availablelength;
			if (isNaN(bayreduction)) bayreduction = "0";
			document.getElementById('rl_extrabayreduction').innerHTML = bayreduction;	
		}

	}

	return (false);
}


// Run height calculator
function updateRunHeightCalc() {
		
	// Grab the necessary...
    var clearheight = parseInt(document.getElementById('rh_clearheight').value, 10);
	//var legheight =  parseInt(document.getElementById('rh_legheight').value, 10);
	var loadheight =  parseInt(document.getElementById('rh_loadheight').value, 10);

	// Workout details and update...
	//var availableheight = clearheight - legheight;
	var availableheight = clearheight;
	if (isNaN(availableheight)) availableheight = "0";
	//document.getElementById('rh_availableheight').innerHTML = availableheight;		

	var palletlevels = Math.floor(availableheight/(loadheight+200));
	if (isNaN(palletlevels)) palletlevels = "0";
	document.getElementById('rh_palletlevels').innerHTML = palletlevels;		

	var partpallet = clearheight - (palletlevels * (loadheight+200)) - 200;
	if (partpallet < 200 || isNaN(partpallet)) partpallet = "0";
	//document.getElementById('rh_heightover').innerHTML = partpallet;		
	
	return (false);
}


// Pallet number calculator
function updatePalletNumberCalc() {
		
	// Grab the necessary...
    var singleruns = parseInt(document.getElementById('pn_singleruns').value, 10);
	var doubleruns =  parseInt(document.getElementById('pn_doubleruns').value, 10);
	var bayslong =  parseInt(document.getElementById('pn_bayslong').value, 10);
	var palletstobeam =  parseInt(document.getElementById('pn_palletstobeam').value, 10);
	var palletlevels =  parseInt(document.getElementById('pn_palletlevels').value, 10);
	var palletprice = 35;
	
	// Workout details and update...
	if ((singleruns + doubleruns > 0) && bayslong > 0 && palletstobeam > 0 && palletlevels > 0) {
	
		var numberpallets = (singleruns + doubleruns * 2) * bayslong * palletstobeam * palletlevels;
		if (isNaN(numberpallets)) numberpallets = "0";
		document.getElementById('pn_numberpallets').innerHTML = numberpallets;		
	
		var installprice = numberpallets * palletprice;
		if (isNaN(installprice)) installprice = "0";
		//document.getElementById('pn_installprice').innerHTML = '&pound;'+formatPrice(installprice);		
	}

	return (false);
}

// Used to add comma delimiters to pricing information
function formatPrice(number) {

	var minus='';
	var CommaDelimiter=',';
	
	if (number < 0) { minus='-'; }
	
	number = parseInt(number);
	var price = new String(number);
	 
	for (var i = 0; i < Math.floor((price.length-(1+i))/3); i++) {
		price = price.substring(0,price.length-(4*i+3)) + CommaDelimiter + price.substring(price.length-(4*i+3));
	}
		
	return (minus + price);
}


