// In these arrays, the first number is the price for 1 to 9 mounts
// and the second number is the price for more than 10 mounts


function checkForm(form)
{
	var exteriorWidthInput = parseFloat(form.external_width.value);
	var exteriorHeightInput = parseFloat(form.external_height.value);
	var apertureWidthInput = parseFloat(form.aperture_width.value);
	var apertureHeightInput = parseFloat(form.aperture_height.value);
	
	if(isNaN(exteriorWidthInput) || isNaN(exteriorHeightInput) || isNaN(apertureWidthInput) || isNaN(apertureHeightInput))
	{
		alert("Please make sure you've entered numbers\nin both sets of Width and Height boxes.");
		return false;
	}
	else if(form.mount_colour.value == "")
	{
		alert("Please choose a mount colour by clicking one of the coloured squares.");
		return false;
	}
	else if(isNaN(parseFloat(form.quantity.value)))
	{
		alert("The quantity you entered does not appear to be a number.");
		return false;
	}
	else if(calculatePrice(form))
	{
	 	return true;
	}
	return false;
}


function colourSquare(anImage, aColourName, aColourCode)
{
	var mountSquare = window.document.getElementById('chosenmount');
	var inputText = window.document.getElementById('mountcolourinput');
	var inputCode = window.document.getElementById('mountcolourcode');
	mountSquare.src = "mount_colours/" + anImage;
	inputText.value = aColourName;
	inputCode.value = aColourCode;
}

// Moves the decimal point one place to the right.  Written
// because Javascript is not very good with floating point
// numbers.
function moveDecimalPointRight(aNumericalString) 
{	
	var newString;
	if (aNumericalString.indexOf('.') == -1)
	{
		newString = aNumericalString + "0";
	}
	else
	{
		var temp = new Array();
		temp = aNumericalString.split('.');
		
		if(temp[1].length == 1)
		{
			newString = temp[0] + temp[1];
		}
		else
		{
			newString = temp[0] + temp[1].substring(0, 1) + "." + temp[1].substring(1);
		}
	}
	return newString;
}

// Moves the decimal point one place to the left.  Written
// because Javascript is not very good with floating point
// numbers.
function moveDecimalPointLeft(aNumericalString) 
{	
	var newString;
	if (aNumericalString.indexOf('.') == -1)
	{
		aNumericalString += ".";
	}
	var temp = new Array();
	temp = aNumericalString.split('.');
	newString = temp[0].substring(0, temp[0].length - 1) + "." + temp[0].substring(temp[0].length - 1) + temp[1];
	if(newString.substring(newString.length - 1) == "0")
	{
		newString = newString.substring(0, newString.length - 2)
	}
	return newString;
}

function changeUnits(aUnits)
{
	var preferedUnits = aUnits;
	var exteriorWidthBox = window.document.getElementById('external_width');
	var exteriorHeightBox = window.document.getElementById('external_height');
	var apertureWidthBox = window.document.getElementById('aperture_width');
	var apertureHeightBox = window.document.getElementById('aperture_height');
	
	if(!isNaN(parseFloat(exteriorWidthBox.value)))
	{
		if(preferedUnits == 'millimetres')
		{
			exteriorWidthBox.value = moveDecimalPointRight(exteriorWidthBox.value);
		}
		else
		{
			exteriorWidthBox.value = moveDecimalPointLeft(exteriorWidthBox.value);
		}
	}
	
	if(!isNaN(parseFloat(exteriorHeightBox.value)))
	{
		if(preferedUnits == 'millimetres')
		{
			exteriorHeightBox.value = moveDecimalPointRight(exteriorHeightBox.value);
		}
		else
		{
			exteriorHeightBox.value = moveDecimalPointLeft(exteriorHeightBox.value);
		}
	}
	
	if(!isNaN(parseFloat(apertureWidthBox.value)))
	{
		if(preferedUnits == 'millimetres')
		{
			apertureWidthBox.value = moveDecimalPointRight(apertureWidthBox.value);
		}
		else
		{
			apertureWidthBox.value = moveDecimalPointLeft(apertureWidthBox.value);
		}
	}
	
	if(!isNaN(parseFloat(apertureHeightBox.value)))
	{
		if(preferedUnits == 'millimetres')
		{
			apertureHeightBox.value = moveDecimalPointRight(apertureHeightBox.value);
		}
		else
		{
			apertureHeightBox.value = moveDecimalPointLeft(apertureHeightBox.value);
		}
	}
}

function calculatePrice(form)
{
	var exteriorWidthInput = parseFloat(form.external_width.value);
	var exteriorHeightInput = parseFloat(form.external_height.value);
	var apertureWidthInput = parseFloat(form.aperture_width.value);
	var apertureHeightInput = parseFloat(form.aperture_height.value);
	var preferedUnits = form.units.value;
	if(preferedUnits == 'centimetres')
	{
		exteriorWidthInput = exteriorWidthInput * 10;
		exteriorHeightInput = exteriorHeightInput * 10;
		apertureWidthInput = apertureWidthInput * 10;
		apertureHeightInput = apertureHeightInput * 10;
	}
	var mountWidthInInches = exteriorWidthInput / 25.4;
	var mountHeightInInches = exteriorHeightInput / 25.4;
	var mountWidthPlusHeight = Math.ceil(mountWidthInInches + mountHeightInInches);
	var nearestPriceBreakAbove;
	if(mountWidthInInches > 44 || mountHeightInInches > 44 || mountWidthPlusHeight > 76)
	{
		if(preferedUnits == 'centimetres')
		{
			alert("We can't cut a mount at " + form.external_width.value + "cm x " + form.external_height.value + "cm.  The mount card\nwe use is only 112cm x 81.5cm (44 inches by 32 inches).");
			return false;
		}
		else
		{
			alert("We can't cut a mount at " + form.external_width.value + "mm x " + form.external_height.value + "mm.  The mount card\nwe use is only 1120mm x 815mm (44 inches by 32 inches).");
			return false;
		}
	}
	else if(exteriorWidthInput <= apertureWidthInput || exteriorHeightInput <= apertureHeightInput)
	{
		if(exteriorWidthInput <= apertureWidthInput && exteriorHeightInput <= apertureHeightInput)
		{
			alert("Your aperture is larger than the mount");
			return false;
		}
		else if(exteriorWidthInput <= apertureWidthInput && exteriorHeightInput > apertureHeightInput)
		{
			alert("Your aperture width is larger than the width of the mount");
			return false;
		}
		else if(exteriorWidthInput > apertureWidthInput && exteriorHeightInput <= apertureHeightInput)
		{
			alert("Your aperture height is larger than the height of the mount");
			return false;
		}
	}
	else
	{
		if(mountWidthPlusHeight <= 8)
		{
			nearestPriceBreakAbove = 8;
		}
		else if(mountWidthPlusHeight <= 9)
		{
			nearestPriceBreakAbove = 9;
		}
		else if(mountWidthPlusHeight <= 32)
		{
			if(mountWidthPlusHeight % 2 == 0)
			{
				nearestPriceBreakAbove = mountWidthPlusHeight;
			}
			else
			{
				nearestPriceBreakAbove = mountWidthPlusHeight + 1;
			}
		}
		else
		{
			if(mountWidthPlusHeight % 4 == 0)
			{
				nearestPriceBreakAbove = mountWidthPlusHeight;
			}
			else
			{
				if((mountWidthPlusHeight + 1) % 4 == 0)
				{
					nearestPriceBreakAbove = mountWidthPlusHeight + 1;
				}
				else
				{
					if((mountWidthPlusHeight + 2) % 4 == 0)
					{
						nearestPriceBreakAbove = mountWidthPlusHeight + 2;
					}
					else
					{
						if((mountWidthPlusHeight + 3) % 4 == 0)
						{
							nearestPriceBreakAbove = mountWidthPlusHeight + 3;
						}
					}
				}
			}
		}
		enterPrices(nearestPriceBreakAbove);
		return true;
	}
}

function standardSize(aValue)
{
	var preferedUnits = window.document.getElementById('units');
	var exteriorWidthBox = window.document.getElementById('external_width');
	var exteriorHeightBox = window.document.getElementById('external_height');
	var priceBox1To9 = window.document.getElementById('price_1_to_9');
	var priceBoxOver10 = window.document.getElementById('price_over_10');
	var priceBox1To9Backs = window.document.getElementById('price_1_to_9_Backs');
	var priceBoxOver10Backs = window.document.getElementById('price_over_10_Backs');
	exteriorWidthBox.value = "";
	exteriorHeightBox.value = "";
	priceBox1To9.value = "";
	priceBoxOver10.value = "";
	
	switch(aValue)
	{
		case "1":
		{
			// 3½" x 3½"
			if(preferedUnits.value == 'centimetres')
			{
				exteriorWidthBox.value = 8.89;
				exteriorHeightBox.value = 8.89;
			}
			else
			{
				exteriorWidthBox.value = 88.9;
				exteriorHeightBox.value = 88.9;
			}
			priceBox1To9.value = upTo8InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo8InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo8InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo8InchPriceBack[1].toFixed(2);
			break;
		}
		
		case "2":
		{
			// 5" x 3½"
			if(preferedUnits.value == 'centimetres')
			{
				exteriorWidthBox.value = 12.7;
				exteriorHeightBox.value = 8.89;
			}
			else
			{
				exteriorWidthBox.value = 127;
				exteriorHeightBox.value = 88.9;
			}
			priceBox1To9.value = upTo9InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo9InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo9InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo9InchPriceBack[1].toFixed(2);
			break;
		}
		
		case "3":
		{
			// 5" x 5"
			if(preferedUnits.value == 'centimetres')
			{
				exteriorWidthBox.value = 12.7;
				exteriorHeightBox.value = 12.7;
			}
			else
			{
				exteriorWidthBox.value = 127;
				exteriorHeightBox.value = 127;
			}
			priceBox1To9.value = upTo10InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo10InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo10InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo10InchPriceBack[1].toFixed(2);
			break;
		}
		
		case "4":
		{
			// 6" x 4"
			if(preferedUnits.value == 'centimetres')
			{
				exteriorWidthBox.value = 15.24;
				exteriorHeightBox.value = 10.16;
			}
			else
			{
				exteriorWidthBox.value = 152.4;
				exteriorHeightBox.value = 101.6;
			}
			priceBox1To9.value = upTo10InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo10InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo10InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo10InchPriceBack[1].toFixed(2);
			break;
		}
		
		case "5":
		{
			// 7" x 5"
			if(preferedUnits.value == 'centimetres')
			{
				exteriorWidthBox.value = 17.78;
				exteriorHeightBox.value = 12.7;
			}
			else
			{
				exteriorWidthBox.value = 177.8;
				exteriorHeightBox.value = 127;
			}
			priceBox1To9.value = upTo12InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo12InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo12InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo12InchPriceBack[1].toFixed(2);
			break;
		}
		
		case "6":
		{
			// 8" x 6"
			if(preferedUnits.value == 'centimetres')
			{
				exteriorWidthBox.value = 20.32;
				exteriorHeightBox.value = 15.24;
			}
			else
			{
				exteriorWidthBox.value = 203.2;
				exteriorHeightBox.value = 152.4;
			}
			priceBox1To9.value = upTo14InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo14InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo14InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo14InchPriceBack[1].toFixed(2);
			break;
		}
		
		case "7":
		{
			// 8" x 8"
			if(preferedUnits.value == 'centimetres')
			{
				exteriorWidthBox.value = 20.32;
				exteriorHeightBox.value = 20.32;
			}
			else
			{
				exteriorWidthBox.value = 203.2;
				exteriorHeightBox.value = 203.2;
			}
			priceBox1To9.value = upTo16InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo16InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo16InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo16InchPriceBack[1].toFixed(2);
			break;
		}
		
		case "8":
		{
			// 9" x 6"
			if(preferedUnits.value == 'centimetres')
			{
				exteriorWidthBox.value = 22.86;
				exteriorHeightBox.value = 15.24;
			}
			else
			{
				exteriorWidthBox.value = 228.6;
				exteriorHeightBox.value = 152.4;
			}
			priceBox1To9.value = upTo16InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo16InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo16InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo16InchPriceBack[1].toFixed(2);
			break;
		}
		
		case "9":
		{
			// 9" x 7"
			if(preferedUnits.value == 'centimetres')
			{
				exteriorWidthBox.value = 22.86;
				exteriorHeightBox.value = 17.78;
			}
			else
			{
				exteriorWidthBox.value = 228.6;
				exteriorHeightBox.value = 177.8;
			}
			priceBox1To9.value = upTo16InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo16InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo16InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo16InchPriceBack[1].toFixed(2);
			break;
		}
		
		case "10":
		{
			// 10" x 7"
			if(preferedUnits.value == 'centimetres')
			{
				exteriorWidthBox.value = 25.4;
				exteriorHeightBox.value = 17.78;
			}
			else
			{
				exteriorWidthBox.value = 254;
				exteriorHeightBox.value = 177.8;
			}
			priceBox1To9.value = upTo18InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo18InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo18InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo18InchPriceBack[1].toFixed(2);
			break;
		}
		
		case "11":
		{
			// 10" x 8"
			if(preferedUnits.value == 'centimetres')
			{
				exteriorWidthBox.value = 25.4;
				exteriorHeightBox.value = 20.32;
			}
			else
			{
				exteriorWidthBox.value = 254;
				exteriorHeightBox.value = 203.2;
			}
			priceBox1To9.value = upTo18InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo18InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo18InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo18InchPriceBack[1].toFixed(2);
			break;
		}
		
		case "12":
		{
			// 10" x 10"
			if(preferedUnits.value == 'centimetres')
			{
				exteriorWidthBox.value = 25.4;
				exteriorHeightBox.value = 25.4;
			}
			else
			{
				exteriorWidthBox.value = 254;
				exteriorHeightBox.value = 254;
			}
			priceBox1To9.value = upTo20InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo20InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo20InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo20InchPriceBack[1].toFixed(2);
			break;
		}
		
		case "13":
		{
			// 12" x 8"
			if(preferedUnits.value == 'centimetres')
			{
				exteriorWidthBox.value = 30.48;
				exteriorHeightBox.value = 20.32;
			}
			else
			{
				exteriorWidthBox.value = 304.8;
				exteriorHeightBox.value = 203.2;
			}
			priceBox1To9.value = upTo20InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo20InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo20InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo20InchPriceBack[1].toFixed(2);
			break;
		}
		
		case "14":
		{
			// 12" x 10"
			if(preferedUnits.value == 'centimetres')
			{
				exteriorWidthBox.value = 30.48;
				exteriorHeightBox.value = 25.4;
			}
			else
			{
				exteriorWidthBox.value = 304.8;
				exteriorHeightBox.value = 254;
			}
			priceBox1To9.value = upTo22InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo22InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo22InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo22InchPriceBack[1].toFixed(2);
			break;
		}
		
		case "15":
		{
			// 14" x 11"
			if(preferedUnits.value == 'centimetres')
			{
				exteriorWidthBox.value = 35.56;
				exteriorHeightBox.value = 27.94;
			}
			else
			{
				exteriorWidthBox.value = 355.6;
				exteriorHeightBox.value = 279.4;
			}
			priceBox1To9.value = upTo26InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo26InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo26InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo26InchPriceBack[1].toFixed(2);
			break;
		}
		
		case "16":
		{
			// 15" x 12"
			if(preferedUnits.value == 'centimetres')
			{
				exteriorWidthBox.value = 38.1;
				exteriorHeightBox.value = 30.48;
			}
			else
			{
				exteriorWidthBox.value = 381;
				exteriorHeightBox.value = 304.8;
			}
			priceBox1To9.value = upTo28InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo28InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo28InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo28InchPriceBack[1].toFixed(2);
			break;
		}
		
		case "17":
		{
			// 18" x 14"
			if(preferedUnits.value == 'centimetres')
			{
				exteriorWidthBox.value = 45.72;
				exteriorHeightBox.value = 35.56;
			}
			else
			{
				exteriorWidthBox.value = 457.2;
				exteriorHeightBox.value = 355.6;
			}
			priceBox1To9.value = upTo32InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo32InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo32InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo32InchPriceBack[1].toFixed(2);
			break;
		}
		
		case "18":
		{
			// 20" x 16"
			if(preferedUnits.value == 'centimetres')
			{
				exteriorWidthBox.value = 50.8;
				exteriorHeightBox.value = 40.64;
			}
			else
			{
				exteriorWidthBox.value = 508;
				exteriorHeightBox.value = 406.4;
			}
			priceBox1To9.value = upTo36InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo36InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo36InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo36InchPriceBack[1].toFixed(2);
			break;
		}
		
		case "19":
		{
			// 24cm x 30cm
			if(preferedUnits.value == 'centimetres')
			{
				exteriorWidthBox.value = 24;
				exteriorHeightBox.value = 30;
			}
			else
			{
				exteriorWidthBox.value = 240;
				exteriorHeightBox.value = 300;
			}
			priceBox1To9.value = upTo22InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo22InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo22InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo22InchPriceBack[1].toFixed(2);
			break;
		}
		
		case "20":
		{
			// 30cm x 30cm
			if(preferedUnits.value == 'centimetres')
			{
				exteriorWidthBox.value = 30;
				exteriorHeightBox.value = 30;
			}
			else
			{
				exteriorWidthBox.value = 300;
				exteriorHeightBox.value = 300;
			}
			priceBox1To9.value = upTo24InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo24InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo24InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo24InchPriceBack[1].toFixed(2);
			break;
		}
		
		case "21":
		{
			// 30cm x 40cm
			if(preferedUnits.value == 'centimetres')
			{
				exteriorWidthBox.value = 30;
				exteriorHeightBox.value = 40;
			}
			else
			{
				exteriorWidthBox.value = 300;
				exteriorHeightBox.value = 400;
			}
			priceBox1To9.value = upTo28InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo28InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo28InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo28InchPriceBack[1].toFixed(2);
			break;
		}
		
		case "22":
		{
			// 40cm x 40cm
			if(preferedUnits.value == 'centimetres')
			{
				exteriorWidthBox.value = 40;
				exteriorHeightBox.value = 40;
			}
			else
			{
				exteriorWidthBox.value = 400;
				exteriorHeightBox.value = 400;
			}
			priceBox1To9.value = upTo32InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo32InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo32InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo32InchPriceBack[1].toFixed(2);
			break;
		}
		
		case "23":
		{
			// 40cm x 50cm
			if(preferedUnits.value == 'centimetres')
			{
				exteriorWidthBox.value = 40;
				exteriorHeightBox.value = 50;
			}
			else
			{
				exteriorWidthBox.value = 400;
				exteriorHeightBox.value = 500;
			}
			priceBox1To9.value = upTo36InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo36InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo36InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo36InchPriceBack[1].toFixed(2);
			break;
		}
		
		case "24":
		{
			// 50cm x 50cm
			if(preferedUnits.value == 'centimetres')
			{
				exteriorWidthBox.value = 50;
				exteriorHeightBox.value = 50;
			}
			else
			{
				exteriorWidthBox.value = 500;
				exteriorHeightBox.value = 500;
			}
			priceBox1To9.value = upTo40InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo40InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo40InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo40InchPriceBack[1].toFixed(2);
			break;
		}
		
		case "25":
		{
			// 50cm x 60cm
			if(preferedUnits.value == 'centimetres')
			{
				exteriorWidthBox.value = 50;
				exteriorHeightBox.value = 60;
			}
			else
			{
				exteriorWidthBox.value = 500;
				exteriorHeightBox.value = 600;
			}
			priceBox1To9.value = upTo44InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo44InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo44InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo44InchPriceBack[1].toFixed(2);
			break;
		}
		
		case "26":
		{
			// 50cm x 70cm
			if(preferedUnits.value == 'centimetres')
			{
				exteriorWidthBox.value = 50;
				exteriorHeightBox.value = 70;
			}
			else
			{
				exteriorWidthBox.value = 500;
				exteriorHeightBox.value = 700;
			}
			priceBox1To9.value = upTo48InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo48InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo48InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo48InchPriceBack[1].toFixed(2);
			break;
		}
		
		case "27":
		{
			// 60cm x 80cm
			if(preferedUnits.value == 'centimetres')
			{
				exteriorWidthBox.value = 60;
				exteriorHeightBox.value = 80;
			}
			else
			{
				exteriorWidthBox.value = 600;
				exteriorHeightBox.value = 800;
			}
			priceBox1To9.value = upTo56InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo56InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo56InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo56InchPriceBack[1].toFixed(2);
			break;
		}
		
		case "28":
		{
			// 50cm x 100cm
			if(preferedUnits.value == 'centimetres')
			{
				exteriorWidthBox.value = 50;
				exteriorHeightBox.value = 100;
			}
			else
			{
				exteriorWidthBox.value = 500;
				exteriorHeightBox.value = 1000;
			}
			priceBox1To9.value = upTo60InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo60InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo60InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo60InchPriceBack[1].toFixed(2);
			break;
		}
		
		case "29":
		{
			// A4
			if(preferedUnits.value == 'centimetres')
			{
				exteriorWidthBox.value = 21.0;
				exteriorHeightBox.value = 29.7;
			}
			else
			{
				exteriorWidthBox.value = 210;
				exteriorHeightBox.value = 297;
			}
			priceBox1To9.value = upTo20InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo20InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo20InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo20InchPriceBack[1].toFixed(2);
			break;
		}
		
		case "30":
		{
			// A3
			if(preferedUnits.value == 'centimetres')
			{
				exteriorWidthBox.value = 29.7;
				exteriorHeightBox.value = 42;
			}
			else
			{
				exteriorWidthBox.value = 297;
				exteriorHeightBox.value = 420;
			}
			priceBox1To9.value = upTo30InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo30InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo30InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo30InchPriceBack[1].toFixed(2);
			break;
		}
		
		case "31":
		{
			// A2
			if(preferedUnits.value == 'centimetres')
			{
				exteriorWidthBox.value = 42;
				exteriorHeightBox.value = 59.4;
			}
			else
			{
				exteriorWidthBox.value = 420;
				exteriorHeightBox.value = 594;
			}
			priceBox1To9.value = upTo40InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo40InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo40InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo40InchPriceBack[1].toFixed(2);
			break;
		}
		
		case "32":
		{
			// A1
			if(preferedUnits.value == 'centimetres')
			{
				exteriorWidthBox.value = 59.4;
				exteriorHeightBox.value = 84.1;
			}
			else
			{
				exteriorWidthBox.value = 594;
				exteriorHeightBox.value = 841;
			}
			priceBox1To9.value = upTo60InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo60InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo60InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo60InchPriceBack[1].toFixed(2);
			break;
		}
		
		default:
		{
			exteriorWidthBox.value = "";
			exteriorHeightBox.value = "";
			priceBox1To9.value = "";
			priceBoxOver10.value = "";
			priceBox1To9Backs.value = "";
			priceBoxOver10Backs.value = "";
		}
	}
	window.document.getElementById('aperture_width').focus();
}

function clearPrices()
{
	var priceBox1To9 = window.document.getElementById('price_1_to_9');
	var priceBoxOver10 = window.document.getElementById('price_over_10');
	var priceBox1To9Backs = window.document.getElementById('price_1_to_9_Backs');
	var priceBoxOver10Backs = window.document.getElementById('price_over_10_Backs');
	priceBox1To9.value = "";
	priceBoxOver10.value = "";
	priceBox1To9Backs.value = "";
	priceBoxOver10Backs.value = "";
}

function enterPrices(aWidthPlusHeight)
{
	clearPrices();
	var priceBox1To9 = window.document.getElementById('price_1_to_9');
	var priceBoxOver10 = window.document.getElementById('price_over_10');
	var priceBox1To9Backs = window.document.getElementById('price_1_to_9_Backs');
	var priceBoxOver10Backs = window.document.getElementById('price_over_10_Backs');
	switch(aWidthPlusHeight)
	{
		case 8:
		{
			priceBox1To9.value = upTo8InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo8InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo8InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo8InchPriceBack[1].toFixed(2);
			break;
		}
		
		case 9:
		{
			priceBox1To9.value = upTo9InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo9InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo9InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo9InchPriceBack[1].toFixed(2);
			break;
		}
		
		case 10:
		{
			priceBox1To9.value = upTo10InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo10InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo10InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo10InchPriceBack[1].toFixed(2);
			break;
		}
		
		case 12:
		{
			priceBox1To9.value = upTo12InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo12InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo12InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo12InchPriceBack[1].toFixed(2);
			break;
		}
		
		case 14:
		{
			priceBox1To9.value = upTo14InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo14InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo14InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo14InchPriceBack[1].toFixed(2);
			break;
		}
		
		case 16:
		{
			priceBox1To9.value = upTo16InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo16InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo16InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo16InchPriceBack[1].toFixed(2);
			break;
		}
		
		case 18:
		{
			priceBox1To9.value = upTo18InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo18InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo18InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo18InchPriceBack[1].toFixed(2);
			break;
		}
		
		case 20:
		{
			priceBox1To9.value = upTo20InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo20InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo20InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo20InchPriceBack[1].toFixed(2);
			break;
		}
		
		case 22:
		{
			priceBox1To9.value = upTo22InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo22InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo22InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo22InchPriceBack[1].toFixed(2);
			break;
		}
		
		case 24:
		{
			priceBox1To9.value = upTo24InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo24InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo24InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo24InchPriceBack[1].toFixed(2);
			break;
		}
		
		case 26:
		{
			priceBox1To9.value = upTo26InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo26InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo26InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo26InchPriceBack[1].toFixed(2);
			break;
		}
		
		case 28:
		{
			priceBox1To9.value = upTo28InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo28InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo28InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo28InchPriceBack[1].toFixed(2);
			break;
		}
		
		case 30:
		{
			priceBox1To9.value = upTo30InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo30InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo30InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo30InchPriceBack[1].toFixed(2);
			break;
		}
		
		case 32:
		{
			priceBox1To9.value = upTo32InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo32InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo32InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo32InchPriceBack[1].toFixed(2);
			break;
		}
		
		case 36:
		{
			priceBox1To9.value = upTo36InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo36InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo36InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo36InchPriceBack[1].toFixed(2);
			break;
		}
		
		case 40:
		{
			priceBox1To9.value = upTo40InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo40InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo40InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo40InchPriceBack[1].toFixed(2);
			break;
		}
		
		case 44:
		{
			priceBox1To9.value = upTo44InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo44InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo44InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo44InchPriceBack[1].toFixed(2);
			break;
		}
		
		case 48:
		{
			priceBox1To9.value = upTo48InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo48InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo48InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo48InchPriceBack[1].toFixed(2);
			break;
		}
		
		case 52:
		{
			priceBox1To9.value = upTo52InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo52InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo52InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo52InchPriceBack[1].toFixed(2);
			break;
		}
		
		case 56:
		{
			priceBox1To9.value = upTo56InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo56InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo56InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo56InchPriceBack[1].toFixed(2);
			break;
		}
		
		case 60:
		{
			priceBox1To9.value = upTo60InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo60InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo60InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo60InchPriceBack[1].toFixed(2);
			break;
		}
		
		case 64:
		{
			priceBox1To9.value = upTo64InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo64InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo64InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo64InchPriceBack[1].toFixed(2);
			break;
		}
		
		case 68:
		{
			priceBox1To9.value = upTo68InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo68InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo68InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo68InchPriceBack[1].toFixed(2);
			break;
		}
		
		case 72:
		{
			priceBox1To9.value = upTo72InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo72InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo72InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo72InchPriceBack[1].toFixed(2);
			break;
		}
		
		case 76:
		{
			priceBox1To9.value = upTo76InchPrice[0].toFixed(2);
			priceBoxOver10.value = upTo76InchPrice[1].toFixed(2);
			priceBox1To9Backs.value = upTo76InchPriceBack[0].toFixed(2);
			priceBoxOver10Backs.value = upTo76InchPriceBack[1].toFixed(2);
			break;
		}
		
		default:
		{
			priceBox1To9.value = "";
			priceBoxOver10.value = "";
			priceBox1To9Backs.value = "";
			priceBoxOver10Backs.value = "";
		}
	}
}