	var strHighlight = '2px solid red';
	var strNormal = '2px inset white'; 
	function ValidateForm(){
		if (document.getElementById("firstname").value == ""){
			alert("Please give your first name");
			document.getElementById("firstname").focus();
			document.getElementById("firstname").style.border = strHighlight;
			return false;
		}
		document.getElementById("firstname").style.border = strNormal;
		if (document.getElementById("lastname").value == ""){
			alert("Please give your last name");
			document.getElementById("lastname").focus();
			document.getElementById("lastname").style.border = strHighlight;
			return false;
		}
		document.getElementById("lastname").style.border = strNormal;
		if (!ValidEmail(document.getElementById("email").value)){
			alert("Please give a valid email address");
			document.getElementById("email").focus();
			document.getElementById("email").style.border = strHighlight;
			return false;
		}
		document.getElementById("email").style.border = strNormal;
		if (document.getElementById("message").value == ""){
			alert("What is your message?");
			document.getElementById("message").focus();
			document.getElementById("message").style.border = strHighlight;
			return false;
		}
		document.getElementById("message").style.border = strNormal;
		return true;
	}

	var Xtarget;
	var Ytarget;
	var Xincrement=-1;
	var Yincrement=-1;
	var X;
	var Y;
	var Xstart;
	var Ystart;
	var xbar;
	var ybar;
	var timerX;
	var timerY;

	function Animate(){
		//alert(0);
		Xincrement=-1;
		Yincrement=-1;
			
		//alert(10);	
		//var xf = SafeParseFloat(document.getElementById("x").value);
		//alert(20);
		//var of = SafeParseFloat(document.getElementById("o").value);
//alert(of+":"+xf);
		xbar = document.getElementById("xbar");
		ybar = document.getElementById("ybar");
		//alert(10);
		Xtarget = parseInt((SafeParseFloat(document.getElementById("k").value)-40)*2.795)+39;
		//alert(10);
		Xtarget = Math.max(39,Math.min(366,Xtarget));
		//alert(40);
		Ytarget = 278-parseInt((SafeParseFloat(document.getElementById("m").value)-1.46)*450);
		//alert(50);
		Ytarget = Math.max(34,Math.min(280,Ytarget));
		//alert(60);
		X = parseInt(xbar.style.left.replace("px","")); 
		Xstart = X;
		Y = parseInt(ybar.style.top.replace("px","")); 
		Ystart = Y;
		//alert(70);
		if (Xtarget>X)Xincrement = 1;
		if (Ytarget>Y)Yincrement = 1;
		if (Math.abs(Xtarget-X) > Math.abs(Ytarget-Y )){
			// Reduce Y inc
			if ((Xtarget-X)!=0)Yincrement = Yincrement * Math.abs(Ytarget-Y)/Math.abs(Xtarget-X);
		}else{
			//Reduce xinc
			if ((Ytarget-Y) != 0)Xincrement = Xincrement * Math.abs(Xtarget-X)/Math.abs(Ytarget-Y);
		}
		//alert(80);
		timerX = setTimeout('moveX()',1);
		timerY = setTimeout('moveY()',1);
		//alert(200);
	}
	function moveX(){
		//alert("moveX in");
		var xbar_x = parseInt(xbar.style.left.replace("px",""));
		if ( ( ( Xincrement > 0 ) ) && (xbar_x >= Xtarget ) ||
			 ( ( Xincrement < 0 ) ) && (xbar_x <= Xtarget ) ){
			//clearTimeout(timerX);
		}else{
			X += Xincrement;
			//if ( Math.abs(X-Xstart) > 100 || Math.abs(Xtarget-X)>100)X += 2*Xincrement;
			xbar.style.left = parseInt(X)+"px";
			timerX = setTimeout('moveX()',1);
		}
		//alert("moveX out");
	}
	function moveY(){
		//alert("moveY in");
		var ybar_y = parseInt(ybar.style.top.replace("px",""));
		if ( ( ( Yincrement > 0 ) ) && (ybar_y >= Ytarget ) ||
			 ( ( Yincrement < 0 ) ) && (ybar_y <= Ytarget ) ){
			//clearTimeout(timerY);
		}else{
			Y += Yincrement;
			//if ( Math.abs(Y-Ystart) > 100 || Math.abs(Ytarget-Y)>100)Y += 2*Yincrement;
			ybar.style.top = parseInt(Y)+"px";
			timerY = setTimeout('moveY()',1);
		}
		//alert("moveY out");
	}


		
	function Calculate(oThis){
		m = SafeParseFloat(document.getElementById("m").value);
		f = SafeParseFloat(document.getElementById("f").value);
		i = SafeParseFloat(document.getElementById("i").value);
		k = SafeParseFloat(document.getElementById("k").value);
		s = SafeParseFloat(document.getElementById("s").value);
		p = SafeParseFloat(document.getElementById("p").value);
		//alert("m = " + m + " f = " + f + " i = " + i + " k = " + k + " s = " + s + " p = " + p );
		switch( oThis.id ){
			case "m":
				//alert("m");

				if(isNaN(m)){
					alert("Please enter numbers only");
					return false;
				}
				i = ((m) * 39.370078740157477);
				if(i==0){
					alert("Please enter valid values into the boxes");
				}

				f = parseInt(i / 12);
				i = i % 12;
				document.getElementById("f").value=f;
				document.getElementById("i").value=Math.round(i);
				break;
			case "f":
				if(isNaN(f)){
					alert("Please enter numbers only");
					return false;
				}
				m = f * 0.3048 + i * 0.0254;
				document.getElementById("m").value=m.toFixed(2);
				break;
			case "i":
				if(isNaN(i)){
					alert("Please enter numbers only");
					return false;
				}
				if ( f == 0.0 && i >=12 ){
					f = Math.floor( i / 12 );
					i = i - f*12;
				}
				m = f * 0.3048 + i * 0.0254
				document.getElementById("f").value=f;
				document.getElementById("i").value=i;
				document.getElementById("m").value=m.toFixed(2);
				break;
			case "k":
				if(isNaN(k)){
					alert("Please enter numbers only");
					return false;
				}
				p = 2.20462262 * k;
				s = 0;
				document.getElementById("p").value=p.toFixed(2);
				break;
			case "s":
				if(isNaN(s)){
					alert("Please enter numbers only");
					return false;
				}
				k = ((s*14)+p) * 0.45359;
				document.getElementById("k").value=k.toFixed(2);
				break;
			case "p":
				if(isNaN(p)){
					alert("Please enter numbers only");
					return false;
				}
				k = ((s*14)+p) * 0.45359;
				document.getElementById("k").value=k.toFixed(2);
				break;
		}
		s2 = Math.floor( p / 14 );
		if ( s2 > 0 ){
			p = p - s2 * 14;
			s += s2;
			document.getElementById("p").value=p.toFixed(2);
			document.getElementById("s").value=s;
		}
		//alert(m);
		//document.getElementById("bmi").value="";
		document.getElementById("bmi_result").style.display='none';
		document.getElementById("bmi_result_back").style.display='none';
		if (m>1)bmi=k/(m*m);
		if (bmi>1){
			//document.getElementById("bmi").value=(k/(m*m)).toFixed(2);
		
			document.getElementById("bmi_result").innerHTML = "Your Body Mass Index is<br/><strong>"+(k/(m*m)).toFixed(2)+"</strong>"
			document.getElementById("bmi_result").style.display='';
			document.getElementById("bmi_result_back").style.display='';
		}
		Animate();
	}
	function Clear(){
		document.getElementById("bmi_result").style.display='none';
		document.getElementById("bmi_result_back").style.display='none';
		document.getElementById("m").value="";
		document.getElementById("f").value="";
		document.getElementById("i").value="";
		document.getElementById("k").value="";
		document.getElementById("s").value="";
		document.getElementById("p").value="";
		Animate();
	}

