
function pageWidth() { return window.innerWidth != null? window.innerWidth: document.body != null? document.body.clientWidth:null; }

var myForm = document.formCalc;
var clrVal = 0;

fill_part_number();

function fill_part_number() {
	var srs = get_radio_value(document.formCalc.AT);
	var lst1 = myForm.PartNum;
	lst1.options.length = 0;
	
	if (lst1.options.length < 1) {
		var j = 0;
		for (i=0;i<pn.length;i++) {
//			if (nm[i] == srs) {
			if (nm[i].indexOf(srs) > -1) {
				lst1.options[j] = new Option(nm[i], i, false, false);
				j += 1;
			}
		}
		document.getElementById("warn1").innerHTML = "";
		selectPN();
	}
}

function selectPN() {
	var i = myForm.PartNum.options[myForm.PartNum.selectedIndex].value;
	if (i > -1) {
		var tbl = "<table cellspacing=1 cellpadding=1 class=\"data1\">\n";
		tbl += "<tr>\n"
		+ "<th>Part Number</th><th>Emitter Outlet spacing, inches</th><th>Nominal emittter flow, gph</th><th>Nominal gpm/100'</th>"
		+ "</tr>\n"
		+ "<tr>\n"
		+ "<td>" + pn[i] + "</td><td>" + otspc[i] + "</td><td>" + flw[i] + "</td><td>" + gpm[i] + "</td>"
		+ "</tr>\n"
		+ "</table>";
		document.getElementById("modeldata").innerHTML = tbl;
	}
	else { document.getElementById("modeldata").innerHTML = ""; }
	get_calcs();
}

function btn_calc() {
	testVal(myForm.app_unif_zip,'app_unif_warn',99,1);
	get_calcs();
}

function btn_reset() {
	myForm.reset();
	fill_part_number();
	app_unif_def = 1;
}

function get_calcs() {
	if (get_radio_value(myForm.AT) == '') {
		document.getElementById("warn1").innerHTML = "select an Aqua-Traxx Model"; return;
	}
	else { document.getElementById("warn1").innerHTML = ""; if (myForm.PartNum.options.length == 0) { fill_part_number(); return; } }
	
	var si = myForm.PartNum.options[myForm.PartNum.selectedIndex].value;
	
	var v_inlet_prs = myForm.Inlet_Prs_zip.value * 1;
	
	if (v_inlet_prs > 0) {
		var v_fr_gph = flwcoef[si] * Math.pow(v_inlet_prs, flwexp[si]);
		myForm.fr_gph.value = roundNumber(v_fr_gph, 2);
		document.getElementById("fr_gph").innerHTML = myForm.fr_gph.value + ' gph\/emitter';
		
		var v_fr_gpm = (1200 / otspc[si]) * v_fr_gph / 60 ;
		myForm.fr_gpm.value = roundNumber(v_fr_gpm, 2);
		document.getElementById("fr_gpm").innerHTML = myForm.fr_gpm.value + ' gpm\/100\'';
	}
	
	var unit1 = get_radio_value(myForm.unit1);
	var v_lat_spc =  myForm.lat_spc_zip.value / unit1;
	
	var v_gross_app_rt = v_fr_gpm / v_lat_spc * 0.96;
	
	if (v_lat_spc > 0) {
		myForm.gross_app_rt.value = roundNumber(v_gross_app_rt, 2);
		document.getElementById("gross_app_rt").innerHTML = myForm.gross_app_rt.value + ' inches/hour';
	}
	
	var v_app_unif = testVal(myForm.app_unif_zip,'app_unif_warn',99, 1) / 100;
	
	if (v_lat_spc > 0 && !isNaN(v_gross_app_rt) && !isNaN(v_app_unif)) {
		var v_net_app_rt = v_gross_app_rt * v_app_unif;
		document.getElementById("net_app_rt").innerHTML = roundNumber(v_net_app_rt, 2) + ' inches/hour';
		document.getElementById("apply10").innerHTML = roundNumber((1/v_net_app_rt), 1);
		document.getElementById("apply01").innerHTML = roundNumber((0.1/v_net_app_rt), 1);
	}
	else {
		document.getElementById("net_app_rt").innerHTML = '';
		document.getElementById("apply10").innerHTML = '';
		document.getElementById("apply01").innerHTML = '';
	}
	
}

//	general functions

	function get_radio_value(rdobtn)
	{
		var rVal = "";
	for (var i=0; i < rdobtn.length; i++)
	   {
	   if (rdobtn[i].checked)
	      {
	      rVal = rdobtn[i].value;
	      }
	   }
	   return rVal;
	}
	
	function roundNumber(num, dec) {
		var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
		return result;
	}
	
//	validate functions

function testField(field, warndiv) {
	document.getElementById(warndiv).innerHTML = "";
	var vl = field.value * 1; 
	if (isNaN(field.value) || vl == 0) { field.value = clrVal; return field.value; }
}

function clrField(field) {
	clrVal = field.value; field.value = '';
}

function testVal(field, warndiv, max, min) {
	document.getElementById(warndiv).innerHTML = "";
	var vl = field.value * 1; 
	if (isNaN(field.value) || vl == 0) { field.value = clrVal; return field.value; }
	if (field.value > max) { document.getElementById(warndiv).innerHTML = "<span>number between 1 - " + max + "</span>"; return NaN; }
	if (field.value < min) { document.getElementById(warndiv).innerHTML = "<span>number between 1 - " + max + "</span>"; return NaN; }
	return field.value;
}