//currunits is defined in menubar.tpl

var nPI = 3.14159;

function toMM(inval)
{
	switch(currunits)
	{
		case 'si':
			return inval;
			break;
		case 'met':
			return (inval * 25.4);
			break;
	}
}

function toIN(inval)
{
	switch(currunits)
	{
		case 'si':
			return inval;
			break;
		case 'met':
			return (inval / 25.4);
			break;
	}
}

function TeethToPD(Teeth, Pitch){
	var sPitch = new String(Pitch);
	var nTeeth = parseInt(Teeth);
	
	sPitch = sPitch.toString();
		
	dPD = "";
	
	if (sPitch.substring(0, 3) == "MOD")
	{
		nNum1 = sPitch.substring(3, sPitch.length);
		dPD = (nTeeth / (25.4 / nNum1))
	}
	else
	{
		sType = sPitch.substring(sPitch.length-2,sPitch.length);
				
		if (sType == "CP")
		{
			if (sPitch.substring(sPitch.length-4,sPitch.length-2) == "mm")
			{
				nNum1 = sPitch.substring(0,sPitch.indexOf("mm"));
				dPD = nTeeth / (nPI / (nNum1 / 25.4)); //convert mm to in
			}
			else
			{
				nNum1 = sPitch.substring(0,sPitch.indexOf("/"));
				nNum2 = sPitch.substring(sPitch.indexOf("/")+1, sPitch.length-2);
							
				dPD = nTeeth / (nPI / (nNum1 / nNum2));
			}
		}
		
		if (sType == "DP")
		{
			nNum1 = sPitch.substring(0,sPitch.length-2);
						
			dPD = (nTeeth / nNum1);
		}
	}

	return toMM(Math.round(dPD*10000)/10000);
}

function TeethToCirc(Teeth, Pitch){
	var sPitch = new String(Pitch);
	var nTeeth = parseInt(Teeth);
	
	sPitch = sPitch.toString();
	
	dCircumference = "";

	if (sPitch.substring(0, 3) == "MOD")
	{
		nNum1 = sPitch.substring(3, sPitch.length);
		dCircumference = (nTeeth / (25.4 / nNum1)) * nPI
	}
	else
	{
		sType = sPitch.substring(sPitch.length-2,sPitch.length);
				
		if (sType == "CP")
		{
			if (sPitch.substring(sPitch.length-4,sPitch.length-2) == "mm")
			{
				nNum1 = sPitch.substring(0,sPitch.indexOf("mm"));
				dCircumference = nTeeth * (nNum1 / 25.4); //convert mm to in
			}
			else
			{
				nNum1 = sPitch.substring(0,sPitch.indexOf("/"));
				nNum2 = sPitch.substring(sPitch.indexOf("/")+1, sPitch.length-2);
							
				dCircumference = nTeeth * (nNum1 / nNum2);
			}
		}
		
		if (sType == "DP")
		{
			nNum1 = sPitch.substring(0,sPitch.length-2);
						
			dCircumference = (nTeeth / nNum1) * nPI;
		}
	}

	return toMM(dCircumference);
}

function PdToTeeth(PD, Pitch){
	var sPitch = new String(Pitch);
	var nPD = parseFloat(PD);
	
	sPitch = sPitch.toString();
	
	nTeeth = "";
	
	if (sPitch == "N/A")
	{
		nTeeth = 0;
		return nTeeth;
	}


	nPD = toIN(nPD);
	
	if (sPitch.substring(0, 3) == "MOD")
	{
		nNum1 = sPitch.substring(3, sPitch.length);
		nTeeth = Math.round((25.4 / nNum1) * nPD);
	}
	else
	{
		sType = sPitch.substring(sPitch.length-2,sPitch.length);
				
		if (sType == "CP")
		{
			if (sPitch.substring(sPitch.length-4,sPitch.length-2) == "mm")
			{
				nNum1 = sPitch.substring(0,sPitch.indexOf("mm"));
				nTeeth = Math.round(nPD * (nPI / (nNum1 / 25.4))); //convert mm to in
			}
			else
			{
				nNum1 = sPitch.substring(0,sPitch.indexOf("/"));
				nNum2 = sPitch.substring(sPitch.indexOf("/")+1, sPitch.length-2);
							
				nTeeth = Math.round(nPD * (nPI / (nNum1 / nNum2)));
			}
		}
		
		if (sType == "DP")
		{
			nNum1 = sPitch.substring(0,sPitch.length-2);
						
			nTeeth = Math.round(nNum1 * nPD);
		}
	}
	return nTeeth;
}


		function FixURL(inputURL)
			{
				// If we are reloading an item with the random value attached we'll strip it and attach a new one
				if (inputURL.indexOf('forupd') != -1)
					{
						inputURL = inputURL.substring(0,inputURL.indexOf('forupd') - 1);
					}


				// We add a random number to the URL to prevent proxy servers from caching stuff
				for (var i = 0; i < inputURL.length; i++) 
  					{
						var ch = inputURL.substring(i, i + 1);
						if (ch == '?')
							{
								return inputURL + '&forupd=' + Math.random( );
							}
					}
				return inputURL + '?forupd=' + Math.random( );
			}

		function LoadWindow(windowURL) 
		   {
			var newURL=FixURL(windowURL);	
			if (window.parent==window)
				{
					window.location = newURL;
				}
			else
				{
					window.parent.location = newURL;
				}
		   }
	
		function ShowPopUp(windowURL)
		   {
			//window.alert('The item will open in a new window');
			var browser=navigator.appName + " " + navigator.appVersion;
			if (browser.substring(0, 8)=="Netscape")
			  {
			  var newWind=window.open(windowURL,'remote','width=430,height=400,scrollbars=yes,resizable=yes');
			  if (newWind.opener == null)
				 { newWind.opener = window; }
			  else
				 { 
				 if (browser.substring(0, 12)=="Netscape 3.0")
					newWind.focus();
				 if (browser.substring(0, 12)=="Netscape 2.0")
					newWind.document.forms[0].display.focus();
				 }
			  }
		   else
			  {
			  var newWind=window.open(windowURL,'remote','width=430,height=400,scrollbars=yes,resizable=yes');
			  if (newWind.opener == null)
				 { newWind.opener = window; }
			  }
			}

		function LoadFrame(sourceURL,frameName) 
		   {
		   		window.parent.frameName.location = sourceURL;
		   }


		function LoadHelp(topic)
		   {
			var browser=navigator.appName + " " + navigator.appVersion;
/*			if (browser.substring(0, 8)=="Netscape")
			  {
			  var newWind=window.open('/help/help.asp?topic=' + topic ,'remote','width=430,height=800');
			  if (newWind.opener == null)
				 { newWind.opener = window; }
			  else
				 { 
				 if (browser.substring(0, 12)=="Netscape 3.0")
					newWind.focus();
				 if (browser.substring(0, 12)=="Netscape 2.0")
					newWind.document.forms[0].display.focus();
				 }
			  }
		   else
			  {*/
			  if (newWind)
			  {
				if (newWind.closed)
				{
					newWind.stop();
					newWind.close();
				}
			  }
			  var newWind=window.open('/help/help.asp?topic=' + topic ,'remote','status=no,toolbar=no,menubar=no,location=no,scrollbars=yes,resizable=yes,width=300,height=200,top=0,left=0');
			  newWind.focus();
			}
			//}

// Deactivate Cloaking  -->
