// JavaScript Document
var timedObj;
var validated = false;


function noError(){return true;}
window.onerror = noError;

function testQuote()
{
	var quoteName = document.getElementById('quote_name').value;

	if (quoteName == "" | quoteName == " ")
	{
		errorMessage('Please enter a name for your quote')
		return false;
	}
return true;
}

function errorMessage(error) {
		var oldText = document.getElementById('error_text');
		oldText.lastChild.nodeValue='';
		var txt = document.createTextNode(error);
		document.getElementById('error_text').appendChild(txt);
		document.getElementById('error_message').style.display = "block";
}

var result;
var validate = false;
function showHideButton(showHide) {
	if (showHide == "show"){
		document.getElementById('error_message').style.display = "none";
		var submit = document.getElementById('hiddenSubmit')
		submit.style.display = "";
		document.getElementById('grey_next').style.display ="none";

	} else {
		var submit = document.getElementById('hiddenSubmit')
		submit.style.display = "none";

		var greyNext = document.getElementById('grey_next')
		greyNext.style.display = "";
	}
}
function roundNumber(num, dec) {
	result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
	result=result.toFixed(2);


	return result;
}

function round(obj,round){

	var test = document.getElementById(obj).value


	var number = parseFloat(document.getElementById(obj).value);

	// if (number){
	if (1 == 1){
		var number = parseFloat(number);
		roundNumber(number, 2);
		number = result;


		//If the result is a number show it
		if (result != 'NaN') {
			if (round == 'round') {
				document.getElementById(obj).value = result;
			}
		}

		document.getElementById('error_message').style.display = "none";
		var isValid = true;

		switch(obj)
			{
				case "compound":

				break;

				case "soak_input":

				break;

				case "splash_input":

				break;


				case "d4":
					var number2 = parseFloat(document.getElementById('d3').value);

					if (number2){
						if (number < number2){
							errorMessage("D4 must be greater than D3");
							isValid = false;
						}
					}

				break;


				case "d5":
					var number2 = parseFloat(document.getElementById('d6').value);

					if (number2){
						if (number > number2){
							errorMessage("D5 must be less than D6");
							isValid = false;
						}
					}

				break;



				case "d3":
					var number2 = parseFloat(document.getElementById('d4').value);
					if (number2){
						if (number > number2){
							errorMessage("D3 must be less than D4");
							isValid = false;
						}
					}

				break;

				case "d9":
					var number2 = parseFloat(document.getElementById('d4').value);

					if (number2){
						if (number > number2){
							errorMessage ("D9 must be less than D4");
							isValid = false;
						}
					}
				break;



				case "d6":
					var number2 = parseFloat(document.getElementById('d5').value);
					if (number2){
						if (number < number2){
							errorMessage ("D6 must be greater than D5");
							//document.getElementById(obj).value = 0;
							isValid = false;
						}
					}
				break;

				case "d10":
					var number2 = parseFloat(document.getElementById('d5').value);
					if (number2){
						if (number < number2){
							errorMessage ("D10 must be greater than D5");
							//document.getElementById(obj).value = '';
							isValid = false;
						}
					}
				break;

				case "slotWidth":

					var h = parseFloat(document.getElementById('h').value);
					var htol = parseFloat(document.getElementById('htol').value);
					var slotWidthTol = parseFloat(document.getElementById('slotWidthTolerance').value);
					var quantity = parseFloat(document.getElementById('quantity').value);

					var number2 = parseFloat(document.getElementById('d7').value);
					var d7d8 = "d7"
					var dtol = parseFloat(document.getElementById('d7tolerance').value);

					if (number2){
						if ((number2/number) >=2){
							document.getElementById('error_message').style.display = "none";
						} else {
							errorMessage ('Slot Width b can not physically be over 5% of ' + d7d8);
							showHideButton('hide');
							//document.getElementById(obj).value = 0;
							isValid = false;
						}
					}
				break;

				case "h":
				case "htol":
					var h = parseFloat(document.getElementById('h').value);
					var htol = parseFloat(document.getElementById('htol').value);
					var quantity = parseFloat(document.getElementById('quantity').value);
					var number2  = parseFloat(document.getElementById('d7').value);
					var d7d8 = "d7"
					var dtol = parseFloat(document.getElementById('d7tolerance').value);
					//errorMessage ('Round DBG:obj ='+obj+' h='+h+' htol='+htol);
	 				//alert('obj='+obj);
					if (h && htol){
							if ((h/htol) >=2){
							document.getElementById('error_message').style.display = "none";
							isValid = true;
						} else {
							errorMessage (obj+' Tolerance can not physically be over 5% of h nominal (' + h +')');
							showHideButton('hide');
							//document.getElementById(obj).value = 0;
							isValid = false;
						}
					}

				break;
			}
		} else {
			switch(obj)
				{
					// Not a number but an initial
					case "d3":
					case "d6":
					case "d7":

					//alert(obj);
					//document.getElementById(obj).value = '0 ';
					isValid = true;
					break;
				}
		}

		/**
		* If the number is valid then request the amount of O-Rings
		*/
		if (isValid) {
			switch(obj)
				{
					//piston sealing
					case "d4":
					case "d4tolerance":
					case "d3":
					case "d3tolerance":
					case "d9":
					case "d9tolerance":

						/* Check if next button should be active*/
						var d4 = parseFloat(document.getElementById('d4').value);
						var d3 = parseFloat(document.getElementById('d3').value);
						var d4tol = parseFloat(document.getElementById('d4tolerance').value);
						var d3tol = parseFloat(document.getElementById('d3tolerance').value);
						var d9 = parseFloat(document.getElementById('d9').value);
						var d9tol = parseFloat(document.getElementById('d9tolerance').value);
						var chamfer = parseFloat(document.getElementById('chamfer_angle').value);

						calculateSizes('d4=' + d4 + '&d4tol=' + d4tol + '&d3=' + d3 + '&d3tol=' + d3tol + '&d9=' + d9 + '&d9tol=' + d9tol + '&chamfer=' + chamfer);
						showSizes('d4=' + d4 + '&d4tol=' + d4tol + '&d3=' + d3 + '&d3tol=' + d3tol + '&d9=' + d9 + '&d9tol=' + d9tol + '&chamfer=' + chamfer);

						var quantity = parseFloat(document.getElementById('quantity').value);
						//alert('d3='+d3+' d4='+d4+'d9='+d9+' d4='+d4+' quantity='+quantity);

						//

						if ((d3 && d4 ) && quantity > 0){
							showHideButton('show');
						} else {
							showHideButton('hide');
						}

						checkStaticPistonSealingForm();

					break;

					//rod sealing
					case "d5":
					case "d5tolerance":
					case "d6":
					case "d6tolerance":
					case "d10":
					case "d10tolerance":

						/* Check if next button should be active*/

						var d6 = parseFloat(document.getElementById('d6').value);
						var d6tol = parseFloat(document.getElementById('d6tolerance').value);
						var d5 = parseFloat(document.getElementById('d5').value);
						var d5tol = parseFloat(document.getElementById('d5tolerance').value);
						var d10 = parseFloat(document.getElementById('d10').value);
						var d10tol = parseFloat(document.getElementById('d10tolerance').value);
						var chamfer = parseFloat(document.getElementById('chamfer_angle').value);


						//calculateSizes('d5=' + d5 + '&d5tol=' + d5tol + '&d6=' + d6 + '&d6tol=' + d6tol + '&d10=' + document.staticRodSealingForm.d10.value + '&d10tol=' + document.staticRodSealingForm.d10tolerance.value +	'&chamfer=' + document.staticRodSealingForm.chamfer_angle.value);
						calculateSizes('d5=' + d5 + '&d5tol=' + d5tol + '&d6=' + d6 + '&d6tol=' + d6tol + '&d10=' + d10 + '&d10tol=' + d10tol +	'&chamfer=' + chamfer);
						showSizes('d5=' + d5 + '&d5tol=' + d5tol + '&d6=' + d6 + '&d6tol=' + d6tol + '&d10=' + d10 + '&d10tol=' + d10tol +	'&chamfer=' + chamfer);

						var quantity = parseFloat(document.getElementById('quantity').value);
						//var quantity = getQuantity();


						//if ( (d6 && d5 ) && ((quantity > 0) && (quantity !='NaN')) ){
						if ( (d6 && d5 ) && (quantity > 0) && (quantity != '') && (quantity != ' ')){
							showHideButton('show');
							//alert(quantity);

						} else {
							showHideButton('hide');
						}

						/* Check which input boxes should be enabled*/

						checkStaticRodSealingForm();

					break;

					/* axial sealing
						Note: d7 is the same as d8 if External Sealing
					*/
					case "d7":
					case "d7tolerance":
					case "h":
					case "htol":

						/* Check if next button should be active*/
						var h = parseFloat(document.getElementById('h').value);
						var htol = parseFloat(document.getElementById('htol').value);
						var d7tol = parseFloat(document.getElementById('d7tolerance').value);
						var d7 = parseFloat(document.getElementById('d7').value);

						calculateSizes('d7=' + d7 + '&d7tol=' + d7tol + '&h=' + h + '&htol=' + htol);
						showSizes('d7=' + d7 + '&d7tol=' + d7tol + '&h=' + h + '&htol=' + htol);

						var quantity = document.getElementById('quantity').value;

						//alert('quantity:'+quantity);
						//errrorMessage ('Round DBG:obj ='+obj+', h='+h+', htol='+htol+', d7='+d7+', d7tol='+d7tol+', quantity='+quantity);

						if ( (h && d7) && quantity > 0){
						 	showHideButton('show');
						} else {
							showHideButton('hide');
						}

						//alert('quantity:'+quantity);

						checkStaticAxialSealingForm();

					break;

				}
		}
}
function nominalTest(obj, target)
{

	var number = parseFloat(document.getElementById(obj).value);
	var number2 = parseFloat(document.getElementById(target).value);
	//alert("number2 / number "+number2+" / "+number+" ="+number2/number);
	if (number){
		if ((number2/number) >= 20){

			round(obj);
			document.getElementById('error_message').style.display = "none";
		} else {
			errorMessage ('The tolerance can only be maximum 5% of your nominal')
				alert('The tolerance can only be maximum 5% of your nominal')
			document.getElementById(obj).value = 0;
			document.getElementById(obj).focus()
		}
	}
}
function refreshPageTest() {
	if (validated == true){
		showHideButton('show');
	}
}
function roundDelay(obj,speed){
	//var speed = 3000;
	//alert(speed);

	if (!speed) speed = 0;

//	if (!(parseFloat(document.getElementById(obj).value == '0.')) || !(document.getElementById(obj).value == '.')){
//		break;
//	} else {

		if (obj =="d5")
		{
		  var timer = setTimeout("round('d5')" ,speed);
		}
		else if (obj =="d6")
		{
		  var timer = setTimeout("round('d6')" ,speed);
		}
		if (obj =="d5tolerance")
		{
		  var timer = setTimeout("round('d5tolerance')" ,speed);
		}
		else if (obj =="d6tolerance")
		{
		  var timer = setTimeout("round('d6tolerance')" ,speed);
		}
		else if (obj =="d10")
		{
		  var timer = setTimeout("round('d10')" ,speed);
		}
		else if (obj =="d10tolerance")
		{
		  var timer = setTimeout("round('d10tolerance')" ,speed);
		}
		else if (obj =="d4")
		{
		  var timer = setTimeout("round('d4')" ,speed);
		}

		else if (obj =="d4tolerance")
		{

		  var timer = setTimeout("round('d4tolerance')" ,speed);
		}
		else if (obj =="d3")
		{
		  var timer = setTimeout("round('d3')" ,speed);
		}
		else if (obj =="d3tolerance")
		{

		  var timer = setTimeout("round('d3tolerance')" ,speed);

		}
		else if (obj =="d9")
		{
		  var timer = setTimeout("round('d9')" ,speed);
		}
		else if (obj =="d9tolerance")
		{
		  var timer = setTimeout("round('d9tolerance')" ,speed);
		}


		else if (obj =="d7")
		{
		  var timer = setTimeout("round('d7')" ,speed);
		}
		else if (obj =="d7tolerance")
		{
		  var timer = setTimeout("round('d7tolerance')" ,speed);
		}
		else if (obj =="d8")
		{
		  var timer = setTimeout("round('d8')" ,speed);
		}

		else if (obj =="slotWidth")
		{
		  var timer = setTimeout("round('slotWidth')" ,speed);
		}
		else if (obj =="h")
		{
		  var timer = setTimeout("round('h')" ,speed);
		}
		else if (obj =="htol")
		{
		  var timer = setTimeout("round('htol')" ,speed);
		}
		else if (obj =="d7_p_tol")
		{
		  var timer = setTimeout("round('d7_p_tol')" ,speed);
		}
		else if (obj =="d8_p_tol")
		{
		  var timer = setTimeout("round('d8_p_tol')" ,speed);
		}
		else if (obj =="slotWidthTolerance")
		{
		  var timer = setTimeout("round('slotWidthTolerance')" ,speed);
		}
//	}

}

function highlightStaticPiston(area)
{

	document.getElementById('d4_highlightStaticPiston').style.display = "none";
	document.getElementById('d3_highlightStaticPiston').style.display = "none";
	document.getElementById('d9_highlightStaticPiston').style.display = "none";
	document.getElementById('cham_highlightStaticPiston').style.display = "none";
	document.getElementById(area).style.display = "block";
}

function highlightStaticRod(area)
{
	document.getElementById('d5_highlightStaticRod').style.display = "none";
	document.getElementById('d6_highlightStaticRod').style.display = "none";
	document.getElementById('d10_highlightStaticRod').style.display = "none";
	document.getElementById('cham_highlightStaticRod').style.display = "none";
	document.getElementById(area).style.display = "block";
}

function highlightStaticAxial(area)
{
	document.getElementById('d7_highlightStaticPiston').style.display = "none";
	document.getElementById('d8_highlightStaticPiston').style.display = "none";
	document.getElementById('b_highlightStaticPiston').style.display = "none";
	document.getElementById('h_highlightStaticPiston').style.display = "none";
	document.getElementById('htol_highlightStaticPiston').style.display = "none";
	document.getElementById(area).style.display = "block";
}

function stage1Val() {

step2 = document.materialSelectionForm.soak_input.value;

	if (step2 !="" && step2 !=" "){
		return true;
	} else {
		//alert ("Please enter a known material or search for a substance your product will be subject to" + step2);
		return false;
	}
}

function stage2Val(){
	maxt = parseInt(document.temperatureSelectionForm.max.value);
	maxtint = parseInt(document.temperatureSelectionForm.maxint.value);

	if (maxt > maxtint){
		//alert('The Max Intermittent value cannot be lower than the max value');
		errorMessage('The Max Intermittent value must be higher than the max value');
		return false;
	} else {

		document.getElementById('error_message').style.display = "none";
			return true;
	}
}

function info(infoSrc, status, obj){
	if (status == "blur")
	{
		obj.parentNode.style.backgroundColor = "";
		document.getElementById(infoSrc).style.display = "none";
		document.getElementById('info1').style.display = "";
	} else {
		obj.parentNode.style.backgroundColor = "#AFAFAF";
		document.getElementById(infoSrc).style.display = "";
		document.getElementById('info1').style.display = "none";
	}
}
function swapNext(element,dir){
	if (dir == "over") {
		element.src = "../../images/button_next_over.gif";
	} else {
		element.src = "../../images/button_next.gif";
	}
}
function swapNextMat(element,dir){
	if (dir == "over") {
		element.src = "../images/button_next_over.gif";

	} else {
		element.src = "../images/button_next.gif";

	}
}
function swapQuote(element,dir,type){
	if (dir == "over") {
		element.src = "images/button_"+type+"_over.gif";

	} else {
		element.src = "images/button_"+type+".gif";

	}
}

/**
* Check which
*/
function checkStaticRodSealingForm() {

	/* Check which input boxes should be enabled*/
	if (document.staticRodSealingForm.d6.value && document.staticRodSealingForm.d6tolerance.value ) {
		document.staticRodSealingForm.d5.disabled=false;
		document.staticRodSealingForm.d5tolerance.disabled=false;

		document.staticRodSealingForm.d5.style.backgroundColor="#FFFFFF";
		document.staticRodSealingForm.d5tolerance.style.backgroundColor="#FFFFFF";
	} else {
		document.staticRodSealingForm.d5.disabled=true;
		document.staticRodSealingForm.d5tolerance.disabled=true;

		document.staticRodSealingForm.d5.style.backgroundColor="#CFCFCF";
		document.staticRodSealingForm.d5tolerance.style.backgroundColor="#CFCFCF";
	}

	if (document.staticRodSealingForm.d5.value && document.staticRodSealingForm.d5tolerance.value ) {
		document.staticRodSealingForm.d10.disabled=false;
		document.staticRodSealingForm.d10tolerance.disabled=false;
		document.staticRodSealingForm.chamfer_angle.disabled=false;

		document.staticRodSealingForm.d10.style.backgroundColor="#FFFFFF";
		document.staticRodSealingForm.d10tolerance.style.backgroundColor="#FFFFFF";
		document.staticRodSealingForm.chamfer_angle.style.backgroundColor="#FFFFFF";

	} else {
		document.staticRodSealingForm.d10.disabled=true;
		document.staticRodSealingForm.d10tolerance.disabled=true;
		document.staticRodSealingForm.chamfer_angle.disabled=true;

		document.staticRodSealingForm.d10.style.backgroundColor="#CFCFCF";
		document.staticRodSealingForm.d10tolerance.style.backgroundColor="#CFCFCF";
		document.staticRodSealingForm.chamfer_angle.style.backgroundColor="#CFCFCF";
	}
}

function checkStaticPistonSealingForm() {

//alert('bo:');

	/* Check which input boxes should be enabled*/
	if (document.staticPistonSealingForm.d3.value && document.staticPistonSealingForm.d3tolerance.value ) {

		document.staticPistonSealingForm.d4.disabled=false;
		document.staticPistonSealingForm.d4tolerance.disabled=false;

		document.staticPistonSealingForm.d4.style.backgroundColor="#FFFFFF";
		document.staticPistonSealingForm.d4tolerance.style.backgroundColor="#FFFFFF";


	} else {

		document.staticPistonSealingForm.d4.disabled=true;
		document.staticPistonSealingForm.d4tolerance.disabled=true;

		document.staticPistonSealingForm.d4.style.backgroundColor="#CFCFCF";
		document.staticPistonSealingForm.d4tolerance.style.backgroundColor="#CFCFCF";

	}

	if (document.staticPistonSealingForm.d4.value && document.staticPistonSealingForm.d4tolerance.value ) {

		document.staticPistonSealingForm.d9.disabled=false;
		document.staticPistonSealingForm.d9tolerance.disabled=false;
		document.staticPistonSealingForm.chamfer_angle.disabled=false;

		document.staticPistonSealingForm.d9.style.backgroundColor="#FFFFFF";
		document.staticPistonSealingForm.d9tolerance.style.backgroundColor="#FFFFFF";
		document.staticPistonSealingForm.chamfer_angle.style.backgroundColor="#FFFFFF";


	} else {
		document.staticPistonSealingForm.d9.disabled=true;
		document.staticPistonSealingForm.d9tolerance.disabled=true;
		document.staticPistonSealingForm.chamfer_angle.disabled=true;

		document.staticPistonSealingForm.d9.style.backgroundColor="#CFCFCF";
		document.staticPistonSealingForm.d9tolerance.style.backgroundColor="#CFCFCF";
		document.staticPistonSealingForm.chamfer_angle.style.backgroundColor="#CFCFCF";

	}
}

function checkStaticAxialSealingForm(){

	/* Check which input boxes should be enabled*/
	if (document.staticAxialSealingForm.d7.value && document.staticAxialSealingForm.d7tolerance.value ) {

		document.staticAxialSealingForm.h.disabled=false;
		document.staticAxialSealingForm.htol.disabled=false;

		document.staticAxialSealingForm.h.style.backgroundColor="#FFFFFF";
		document.staticAxialSealingForm.htol.style.backgroundColor="#FFFFFF";


	} else {
		document.staticAxialSealingForm.h.disabled=true;
		document.staticAxialSealingForm.htol.disabled=true;

		document.staticAxialSealingForm.h.style.backgroundColor="#CFCFCF";
		document.staticAxialSealingForm.htol.style.backgroundColor="#CFCFCF";


	}
}


function mediaClick() {

	try	{
		var compound = document.materialSelectionForm.compound.value;
	}
	catch(err) {
		var compound = '';
	}

	try	{
		var soak_media = document.materialSelectionForm.soak_input.value;
	}
	catch(err) {
		var soak_media = '';
	}

	try	{
		var splash_media = document.materialSelectionForm.splash_input.value;
	}
	catch(err) {
		var splash_media = '';
	}

	try	{
		var min_temp = document.getElementById('min').value;
	}
	catch(err) {
		var min_temp = '';
	}

	try	{
		var max_temp = document.getElementById('max').value;
	}
	catch(err) {
		var max_temp = '';
	}

	try	{
		var max_int_temp = document.getElementById('maxint').value;
	}
	catch(err) {
		var max_int_temp = '';
	}

	try	{
		var hardness = document.getElementById('minHardness').value;
	}
	catch(err) {
		var hardness = '';
	}

	//var min_temp = 10;
	//var max_temp = 100;
	//var max_int_temp = 120 ;
	//var hardness = 50;


	materialSearchMat(	'compound_designation=' + '&soak_media=' + soak_media + '&splash_media=' + splash_media +
					'&min_temp=' + min_temp + '&max_temp=' + max_temp + '&max_int_temp=' + max_int_temp +
					'&hardness=' + hardness);
}

function showhide2(id, action){
//action - show or hide - default=show
	if (document.getElementById) {
		obj = document.getElementById(id);

		if (action == "hide"){
			//alert(obj+' hide');
			obj.style.display = "none";
		} else {
			obj.style.display = "";
			//alert(obj+' show');
		}
	}
}

function clearselect(id) {

	var select_box = document.getElementById(id);
//alert(id);
	if (select_box) {
		select_box.selectedIndex = -1;
	}
}


/**
* Material Selection: Check the that max temp is lower than max intermittent. If not reset max intermittent
*/
function maxCheck() {

	var maxt = parseInt(document.temperatureSelectionForm.max.value);
	var maxtint = parseInt(document.temperatureSelectionForm.maxint.value);

	// If maxtemp is larger

	if (maxt > maxtint){
		var selector = document.getElementById('maxint');
		//alert(selector);
		for(var i=0; i < selector.length; i++) {
			//alert(selector[i].value);
		 	if (selector[i].value >= maxt) {
		 	//lert('yo:'+i+' '+selector[3].value+' '+maxt);
		 	  //elector[i].checked=true;
		 	  	selector.selectedIndex = i;
      			document.getElementById('error_message').style.display = "none";
		 	   return;
		 	}
		 }
	}
}

function limitinput(event)
/*Limits the input to strList. If ballow is true, then
only allow what is in strList. If ballow is false,
then do not allow what is in strList.*/
{

	var strList = '.0123456789';

	var charCode = event.keyCode;
	if (charCode==0)
	{
		charCode = event.which;
	}
	var strChar = String.fromCharCode(charCode);
	/*controlArray holds the ASCII codes for valid
	control commands (BS, CR, LF, etc)*/
	var controlArray = Array(0, 8, 9, 10, 13, 27);
	var intOut = 0;


	if (charCode==8 || charCode==9 || charCode==37 || charCode==39 || charCode==46 || charCode==116 || (strList.indexOf(strChar)!=-1))
		/*Valid*/
	{
		return true;
	}
	else
	{
		return false;
	}


}

function setValue(id,value) {
	document.getElementById(id).value=value;
}

function getQuantity(){
	var quantity = parseFloat(document.getElementById('quantity').value);

	return quantity;
}

function popUp(URL) {
	day = new Date();
	id = day.getTime();
	eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=1,menubar=0,resizable=1,width=500,height=450');");
}
