	function CalculateBraSize(register_usage)
	{
		var inch, a_size, b_size, final_size, final_cup;
		
		a_size = document.getElementById("fittingMeasurement1").value;
		b_size = document.getElementById("fittingMeasurement2").value;
		
		final_size = 0;
		final_cup = "";
				
		inch = 2.54;
		
		// convert to inches if applicable
		if (document.getElementById("inches").checked == true)
		{
			a_size = a_size * inch;
			b_size = b_size * inch;
		}

		// line 1
		if (a_size > 57 && a_size < 63) 
		{
			final_size = 28;
	
			if (b_size > 64 && b_size < 68)
			{
				final_cup = "AAA";
			}
			if (b_size > 67 && b_size < 71)
			{
				final_cup = "AA";
			}	
			if (b_size > 69 && b_size < 73)
			{
				final_cup = "A";
			}
			if (b_size > 72 && b_size < 76)
			{
				final_cup = "B";
			}
			if (b_size > 74 && b_size < 78)
			{
				final_cup = "C";
			}
			if (b_size > 77 && b_size < 81)
			{
				final_cup = "D";
			}
			if (b_size > 80 && b_size < 83)
			{
				final_cup = "DD";
			}
			if (b_size > 82 && b_size < 86)
			{
				final_cup = "E";
			}
			if (b_size >= 85 && b_size < 88)
			{
				final_cup = "F";
			}
			if (b_size >= 87 && b_size < 91)
			{
				final_cup = "FF";
			}
			if (b_size > 89 && b_size < 93)
			{
				final_cup = "G";
			}
			if (b_size > 92 && b_size < 96)
			{
				final_cup = "GG";
			}
			if (b_size > 95 && b_size < 99)
			{
				final_cup = "H";
			}
			if (b_size > 97 && b_size < 101)
			{
				final_cup = "HH";
			}
			if (b_size > 100 && b_size < 104)
			{
				final_cup = "J";
			}
			if (b_size > 102 && b_size < 106)
			{
				final_cup = "JJ";
			}
			if (b_size > 105 && b_size < 109)
			{
				final_cup = "K";
			}
		}

		// line 2
		if (a_size > 62 && a_size < 68) 
		{
			final_size = 30;
	
			if (b_size > 69 && b_size < 73)
			{
				final_cup = "AAA";
			}
			if (b_size >= 73 && b_size < 78)
			{
				final_cup = "AA";
			}
			if (b_size > 76 && b_size < 80)
			{
				final_cup = "A";
			}	
			if (b_size > 78 && b_size <= 81)
			{
				final_cup = "B";
			}
			if (b_size > 81 && b_size <= 83)
			{
				final_cup = "C";
			}
			if (b_size > 83 && b_size <= 85)
			{
				final_cup = "D";
			}
			if (b_size > 85 && b_size < 88)
			{
				final_cup = "DD";
			}
			if (b_size > 87 && b_size <= 90)
			{
				final_cup = "E";
			}
			if (b_size > 90 && b_size < 93)
			{
				final_cup = "F";
			}
			if (b_size > 92 && b_size < 96)
			{
				final_cup = "FF";
			}
			if (b_size > 95 && b_size <= 98)
			{
				final_cup = "G";
			}
			if (b_size > 98 && b_size < 101)
			{
				final_cup = "GG";
			}
			if (b_size > 100 && b_size < 104)
			{
				final_cup = "H";
			}
			if (b_size > 102 && b_size < 106)
			{
				final_cup = "HH";
			}
			if (b_size > 104 && b_size < 108)
			{
				final_cup = "J";
			}
			if (b_size > 107 && b_size < 111)
			{
				final_cup = "JJ";
			}
			if (b_size > 110 && b_size < 114)
			{
				final_cup = "K";
			}
		}		
	
		// line 3
		if (a_size > 67 && a_size < 73) 
		{
			final_size = 32;
			
			if (b_size > 75 && b_size < 79)
			{
				final_cup = "AAA";
			}
			if (b_size > 78 && b_size <= 81)
			{
				final_cup = "AA";
			}
			if (b_size > 81 && b_size <= 83)
			{
				final_cup = "A";
			}
			if (b_size > 83 && b_size < 86)
			{
				final_cup = "B";
			}
			if (b_size > 84 && b_size < 88)
			{
				final_cup = "C";
			}
			if (b_size > 87 && b_size < 91)
			{
				final_cup = "D";
			}
			if (b_size > 89 && b_size < 93)
			{
				final_cup = "DD";
			}
			if (b_size > 92 && b_size < 96)
			{
				final_cup = "E";
			}
			if (b_size > 95 && b_size < 99)
			{
				final_cup = "F";
			}
			if (b_size > 98 && b_size < 101)
			{
				final_cup = "FF";
			}
			if (b_size > 100 && b_size <= 103)
			{
				final_cup = "G";
			}
			if (b_size > 103 && b_size < 106)
			{
				final_cup = "GG";
			}
			if (b_size > 105 && b_size <= 108)
			{
				final_cup = "H";
			}
			if (b_size > 108 && b_size < 111)
			{
				final_cup = "HH";
			}
			if (b_size > 110 && b_size < 114)
			{
				final_cup = "J";
			}
			if (b_size > 113 && b_size < 116)
			{
				final_cup = "JJ";
			}
			if (b_size > 115 && b_size < 118)
			{
				final_cup = "K";
			}
		}
		
		// line 4
		if (a_size > 72 && a_size < 78) 
		{
			final_size = 34;			

			if (b_size > 79 && b_size < 83)
			{
				final_cup = "AAA";
			}
			if (b_size > 82 && b_size <= 85)
			{
				final_cup = "AA";
			}
			if (b_size > 85 && b_size < 88)
			{
				final_cup = "A";
			}
			if (b_size > 87 && b_size < 91)
			{
				final_cup = "B";
			}
			if (b_size > 89 && b_size < 93)
			{
				final_cup = "C";
			}
			if (b_size > 92 && b_size < 96)
			{
				final_cup = "D";
			}
			if (b_size > 94 && b_size < 98)
			{
				final_cup = "DD";
			}
			if (b_size > 97 && b_size < 101)
			{
				final_cup = "E";
			}
			if (b_size > 100 && b_size < 104)
			{
				final_cup = "F";
			}
			if (b_size > 103 && b_size < 106)
			{
				final_cup = "FF";
			}
			if (b_size > 105 && b_size < 109)
			{
				final_cup = "G";
			}
			if (b_size > 107 && b_size < 111)
			{
				final_cup = "GG";
			}
			if (b_size > 110 && b_size <= 113)
			{
				final_cup = "H";
			}
			if (b_size > 113 && b_size < 116)
			{
				final_cup = "HH";
			}
			if (b_size > 115 && b_size < 119)
			{
				final_cup = "J";
			}
			if (b_size > 117 && b_size < 121)
			{
				final_cup = "JJ";
			}
			if (b_size > 120 && b_size < 124)
			{
				final_cup = "K";
			}
		}
		
		// line 5
		if (a_size > 77 && a_size < 83) 
		{
			final_size = 36;			

			if (b_size > 84 && b_size < 88)
			{
				final_cup = "AAA";
			}
			if (b_size > 87 && b_size <= 90)
			{
				final_cup = "AA";
			}
			if (b_size > 90 && b_size < 93)
			{
				final_cup = "A";
			}
			if (b_size > 92 && b_size < 96)
			{
				final_cup = "B";
			}
			if (b_size > 95 && b_size < 98)
			{
				final_cup = "C";
			}
			if (b_size > 97 && b_size < 101)
			{
				final_cup = "D";
			}
			if (b_size > 100 && b_size < 103)
			{
				final_cup = "DD";
			}
			if (b_size > 102 && b_size < 107)
			{
				final_cup = "E";
			}
			if (b_size > 105 && b_size < 109)
			{
				final_cup = "F";
			}
			if (b_size > 108 && b_size < 111)
			{
				final_cup = "FF";
			}
			if (b_size > 110 && b_size < 114)
			{
				final_cup = "G";
			}
			if (b_size > 113 && b_size < 115)
			{
				final_cup = "GG";
			}
			if (b_size > 115 && b_size <= 118)
			{
				final_cup = "H";
			}
			if (b_size > 118 && b_size < 121)
			{
				final_cup = "HH";
			}
			if (b_size > 120 && b_size < 124)
			{
				final_cup = "J";
			}
			if (b_size > 123 && b_size < 127)
			{
				final_cup = "JJ";
			}
			if (b_size > 125 && b_size < 129)
			{
				final_cup = "K";
			}
		}
		
		// line 6
		if (a_size > 82 && a_size < 88) 
		{
			final_size = 38;			

			if (b_size > 92 && b_size < 96)
			{
				final_cup = "AA";
			}
			if (b_size > 95 && b_size < 98)
			{
				final_cup = "A";
			}
			if (b_size > 97 && b_size < 101)
			{
				final_cup = "B";
			}
			if (b_size > 99 && b_size < 103)
			{
				final_cup = "C";
			}
			if (b_size > 102 && b_size < 106)
			{
				final_cup = "D";
			}
			if (b_size > 105 && b_size < 108)
			{
				final_cup = "DD";
			}
			if (b_size > 107 && b_size < 111)
			{
				final_cup = "E";
			}
			if (b_size > 110 && b_size < 114)
			{
				final_cup = "F";
			}
			if (b_size > 113 && b_size < 116)
			{
				final_cup = "FF";
			}
			if (b_size > 115 && b_size < 119)
			{
				final_cup = "G";
			}
			if (b_size > 117 && b_size < 121)
			{
				final_cup = "GG";
			}
			if (b_size > 120 && b_size <= 123)
			{
				final_cup = "H";
			}
			if (b_size > 123 && b_size < 126)
			{
				final_cup = "HH";
			}
			if (b_size > 125 && b_size < 129)
			{
				final_cup = "J";
			}
			if (b_size > 128 && b_size < 132)
			{
				final_cup = "JJ";
			}
			if (b_size > 130 && b_size < 134)
			{
				final_cup = "K";
			}
		}						

		// line 7
		if (a_size > 87 && a_size < 93) 
		{
			final_size = 40;			

			if (b_size > 99 && b_size < 103)
			{
				final_cup = "A";
			}
			if (b_size > 102 && b_size < 106)
			{
				final_cup = "B";
			}
			if (b_size > 104 && b_size < 108)
			{
				final_cup = "C";
			}
			if (b_size > 107 && b_size < 111)
			{
				final_cup = "D";
			}
			if (b_size > 109 && b_size < 113)
			{
				final_cup = "DD";
			}
			if (b_size > 112 && b_size < 116)
			{
				final_cup = "E";
			}
			if (b_size > 115 && b_size < 119)
			{
				final_cup = "F";
			}
			if (b_size > 117 && b_size < 121)
			{
				final_cup = "FF";
			}
			if (b_size > 120 && b_size < 124)
			{
				final_cup = "G";
			}
			if (b_size > 122 && b_size < 126)
			{
				final_cup = "GG";
			}
			if (b_size >= 125 && b_size < 128)
			{
				final_cup = "H";
			}
			if (b_size > 127 && b_size < 131)
			{
				final_cup = "HH";
			}
			if (b_size > 130 && b_size < 134)
			{
				final_cup = "J";
			}
			if (b_size > 133 && b_size < 137)
			{
				final_cup = "JJ";
			}
			if (b_size > 135 && b_size < 139)
			{
				final_cup = "K";
			}
		}	

		// line 8
		if (a_size > 93 && a_size < 98) 
		{
			final_size = 42;			
		
			if (b_size > 104 && b_size < 108)
			{
				final_cup = "A";
			}
			if (b_size > 107 && b_size < 111)
			{
				final_cup = "B";
			}
			if (b_size > 109 && b_size < 113)
			{
				final_cup = "C";
			}
			if (b_size > 112 && b_size < 116)
			{
				final_cup = "D";
			}
			if (b_size > 114 && b_size <= 118)
			{
				final_cup = "DD";
			}
			if (b_size > 118 && b_size <= 121)
			{
				final_cup = "E";
			}
			if (b_size > 121 && b_size <= 123)
			{
				final_cup = "F";
			}
			if (b_size > 123 && b_size <= 125)
			{
				final_cup = "FF";
			}
			if (b_size > 125 && b_size < 128)
			{
				final_cup = "G";
			}
			if (b_size >= 128 && b_size < 131)
			{
				final_cup = "GG";
			}
		}
	
		// line 9
		if (a_size > 97 && a_size < 103) 
		{
			final_size = 44;			
		
			if (b_size > 112 && b_size < 116)
			{
				final_cup = "B";
			}	
			if (b_size > 115 && b_size <= 118)
			{
				final_cup = "C";
			}	
			if (b_size > 118 && b_size < 121)
			{
				final_cup = "D";
			}
			if (b_size > 120 && b_size < 124)
			{
				final_cup = "DD";
			}
			if (b_size > 123 && b_size < 127)
			{
				final_cup = "E";
			}
			if (b_size > 125 && b_size < 129)
			{
				final_cup = "F";
			}
			if (b_size > 128 && b_size < 132)
			{
				final_cup = "G";
			}
			if (b_size > 130 && b_size < 134)
			{
				final_cup = "GG";
			}
		}
	
		if (final_cup.length < 1)
		{
			ClearSize();
			return false;
		}
		
		if (final_size == 0)
		{
			ClearSize();
			return false;
		}
	
		ShowSize(final_size, final_cup);
		
		// log use of the bra calculator in analytics stats if necessary
		if (register_usage)
		{
			//var logger = new Ajax.Request('/fitting-guide-bra-calculator-used.php', { method:'get' });	
			//alert("test");
			
			new Ajax.Request('/fitting-guide-bra-calculator-used.php');
		}
		
		return true;
	}

	function ClearSize()
	{
		// show empty size
		document.getElementById("fittingDialSize").style.top = 0;
		document.getElementById("fittingDialCup").style.top = 0;
	}
	
	function ToggleMeasurement()
	{
		// remember what measurement we're currently working with
		if (document.getElementById("inches").checked)
		{
			current_measurement = "inches";	
		}
		else
		{
			current_measurement = "centimetres";	
		}
		
		// check the selection has changed
		if ((document.getElementById("inches").checked && document.getElementById("selection").value == "inches") || (document.getElementById("centimetres").checked && document.getElementById("selection").value == "centimetres"))
		{
			// do nothing as already on inches
			return false;	
		}

		inch = 2.54;
		
		// use current slider values
		a_size = document.getElementById("fittingMeasurement1").value;
		b_size = document.getElementById("fittingMeasurement2").value;
		
		// convert to inches or back to cm if applicable
		if (document.getElementById("inches").checked == true)
		{
			a_size = Math.floor(a_size / inch);
			b_size = Math.floor(b_size / inch);
		}
		else
		{
			a_size = Math.floor(a_size * inch);
			b_size = Math.floor(b_size * inch);	
		}
		
		// set range
		//$R(min,max);
		
		// set new slider values
		sliderA.setValue(a_size);
		sliderB.setValue(b_size);
		
		// set measurement values
		document.getElementById("fittingMeasurement1").value = a_size;
		document.getElementById("fittingMeasurement2").value = b_size;
		
		// remember which measurement we are working with
		document.getElementById("selection").value = current_measurement;
	}

	function ShowSize(size, cup)
	{
		var size_array = new Array();
		var cup_array = new Array();
		
		// size mappings
		size_array[28] = -40;
		size_array[30] = -80;
		size_array[32] = -120;
		size_array[34] = -160;
		size_array[36] = -200;
		size_array[38] = -240;
		size_array[40] = -280;
		size_array[42] = -320;
		size_array[44] = -360;
		
		// size mappings
		cup_array["AAA"] = -40;
		cup_array["AA"] = -80;
		cup_array["A"] = -120;
		cup_array["B"] = -160;
		cup_array["C"] = -200;
		cup_array["D"] = -240;
		cup_array["DD"] = -280;
		cup_array["E"] = -320;
		cup_array["F"] = -360;
		cup_array["FF"] = -400;
		cup_array["G"] = -440;
		cup_array["GG"] = -480;
		cup_array["H"] = -520;
		cup_array["HH"] = -560;
		cup_array["J"] = -600;
		cup_array["JJ"] = -640;
		cup_array["K"] = -680;
		
		//document.getElementById("fittingDialSize").style.top = size_array[size] + "px";
		//document.getElementById("fittingDialCup").style.top = cup_array[cup] + "px";
		
		new Effect.Morph("fittingDialSize", {
		  style: "top:" + size_array[size] + "px",
		  duration: 0.8
		});
		
		new Effect.Morph("fittingDialCup", {
		  style: "top:" + cup_array[cup] + "px",
		  duration: 0.8
		});
	}
	
	// default to a typical size to help users get started
	Event.observe(window, 'load', function() {
		
		sliderA.setValue(75);
		sliderB.setValue(90);
		ShowSize(34, "C");
	});
