var lsum;
var nout;
var lt=0;
var la;
var lm;
var fFlag=1;

function step2(){
	document.getElementById("Flat").disabled = false;
	document.getElementById("Pitch").disabled = false;
	document.getElementById("text1").innerHTML = "<p>Select a roof type</p>";
}
	
function step2a() {
	selection="";
	for(i=0; i<=1 ;i++){
		if (document.form3.roof[i].checked){
			selection=document.form3.roof[i].value;
		}
	}
	document.getElementById("length").disabled = false;
	document.getElementById("length").style.backgroundColor = "#FFFFFF";
	document.getElementById("width").disabled = false;
	document.getElementById("width").style.backgroundColor = "#FFFFFF";
	document.getElementById("area").disabled = false;
	document.getElementById("area").style.backgroundColor = "#FFFFFF";
	if (selection=="Flat"){
		document.getElementById("pitchangle").disabled = true;
		document.getElementById("pitchangle").style.backgroundColor = "#BBBBBB";
		document.getElementById("text1").innerHTML = "<p>Enter the roof area - The length and width boxes can be used to assist. (press Tab to calculate the area) <p>Remember to manually add half of the area of any vertical wall that abuts the roof.";
	}else{ 
		document.getElementById("pitchangle").disabled = false;
		document.getElementById("pitchangle").style.backgroundColor = "#FFFFFF";
		document.getElementById("text1").innerHTML = "<p>Enter the roof area - The length, width and pitch boxes can be used to assist.  (press Tab to calculate the area) <p>If you calculate your own areas include an allowance for the pitch of the roof equal to half of the vertical area. <p>Remember to manually add half of the area of any vertical wall that abuts the roof.";
	}
}


function calcarea(){
	var a;
	var xx = document.getElementById("length").value;
	if (xx==0){
		return;
	}
		
	var w = document.getElementById("width").value;
	if (w==0){
		return;
	}
		
	selection="";
	for(i=0; i<=1 ;i++){
		if (document.form3.roof[i].checked){
			selection=document.form3.roof[i].value;
		}
	}
	
	if (selection=="Flat"){
		a=xx*w
	}else{ 
		var pa = document.getElementById("pitchangle").value;
		if (pa==0){
			return;
		}
		a=xx*w +(Math.tan(pa*3.1415927/180)*w*xx/2);
	}
	document.getElementById("area").value= Math.round(a*100)/100;
	step3();
}


function step3(){
	selection="";
	for(i=0; i<=1 ;i++){
		if (document.form3.roof[i].checked){
			selection=document.form3.roof[i].value;
		}
	}
		if (selection=="Flat"){
			if(fFlag==1){
				var ri=document.getElementById("rain").value;
				ri=Math.round(ri*2.8*1000)/1000;  	//   1.75/0.625 =2.8
				document.getElementById("rain").value=ri;
				fFlag=0;
			}
			step4a();
		}else{
			document.getElementById("glength").disabled = false;
			document.getElementById("glength").style.backgroundColor = "#FFFFFF";
			document.getElementById("gutterselect").disabled = false;
			document.getElementById("text1").innerHTML = "<p>Enter the gutter length. <p>Select a gutter using the drop down list. <p>If you want a custom made rectangular or trapezoidal gutter you must still click the box to select 'Box Gutter (special)'";
		}
}

function step3a(){
	if (document.getElementById("gutterselect").value==1) {
		document.getElementById("throat").disabled = false;
		document.getElementById("throat").style.backgroundColor = "#FFFFFF";
		document.getElementById("sole").disabled = false;
		document.getElementById("sole").style.backgroundColor = "#FFFFFF";
		document.getElementById("depth").disabled = false;
		document.getElementById("depth").style.backgroundColor = "#FFFFFF";
		document.getElementById("text1").innerHTML = "<p>Enter the dimensions of the gutter. <p>For a rectangular section make the sole and the throat the same value";
	}else{
		document.getElementById("throat").disabled = true;
		document.getElementById("throat").style.backgroundColor = "#BBB";
		document.getElementById("sole").disabled = true;
		document.getElementById("sole").style.backgroundColor = "#BBB";
		document.getElementById("depth").disabled = true;
		document.getElementById("depth").style.backgroundColor = "#BBB";
		step4();
	}
}

function step3b(){
	document.getElementById("text1").className = "default";
	if (document.getElementById("throat").value==0){
		return;
	}
	if (document.getElementById("throat").value<1){
		document.getElementById("text1").innerHTML = "<p> Error - The value for throat width should be in millimetres";
		document.getElementById("text1").className = "warning";
		document.getElementById("throat").className = "warning";
		return;
	}else{
		document.getElementById("throat").className = "default";
		document.getElementById("text1").innerHTML = "<p>Enter the dimensions of the gutter. <p>For a rectangular section make the sole and the throat the same value";
	}
	if (document.getElementById("sole").value==0){
		return;
	}
	if (document.getElementById("sole").value<1){
		document.getElementById("text1").innerHTML = "<p> Error - The value for sole width should be in millimetres";
		document.getElementById("text1").className = "warning";
		document.getElementById("sole").className = "warning";
		return;
	}else{
		document.getElementById("sole").className = "default";
		document.getElementById("text1").innerHTML = "<p>Enter the dimensions of the gutter. <p>For a rectangular section make the sole and the throat the same value";
	}
	
	if (document.getElementById("sole").value>document.getElementById("throat").value){
		document.getElementById("text1").innerHTML = "<p> Error - The value for sole width can not be larger than the throat width";
		document.getElementById("text1").className = "warning";
		document.getElementById("sole").className = "warning";
		document.getElementById("throat").className = "warning";
		return;
	}else{
		document.getElementById("throat").className = "default";
		document.getElementById("sole").className = "default";
		document.getElementById("text1").innerHTML = "<p>Enter the dimensions of the gutter. <p>For a rectangular section make the sole and the throat the same value";
	}
	
	if (document.getElementById("depth").value==0){
		return;
	}
	if (document.getElementById("depth").value<1){
		document.getElementById("text1").className = "warning";
		document.getElementById("text1").innerHTML = "<p> Error - The value for depth should be in millimetres";
		document.getElementById("depth").className = "warning";
		return;
	}else{
		document.getElementById("depth").className = "default";
		document.getElementById("text1").innerHTML = "<p>Enter the dimensions of the gutter. <p>For a rectangular section make the sole and the throat the same value";
	}
	step4();
}


function step4(){
	document.getElementById("text1").innerHTML = "<p>Select the outlet. <p>If you want a 63mm diameter outlet you must still click the box to select '63mm dia'";
	document.getElementById("outletselect1").style.visibility = "hidden";
	document.getElementById("outletselect2").style.visibility = "hidden";
	document.getElementById("outletselect3").style.visibility = "hidden";
	document.getElementById("outletselect1").disabled = false;
	document.getElementById("outletselect2").disabled = false;
	document.getElementById("outletselect3").disabled = false;
	if (document.getElementById("gutterselect").value==1) {
		document.getElementById("outletselect1").style.visibility = "visible";
		return;
	}
	if (document.getElementById("gutterselect").value==2) {
		document.getElementById("outletselect3").style.visibility = "visible";
		return;
	}
	if (document.getElementById("gutterselect").value==3) {
		document.getElementById("outletselect2").style.visibility = "visible";
		return;
	}
	if (document.getElementById("gutterselect").value==4) {
		document.getElementById("outletselect2").style.visibility = "visible";
		return;
	}
	if (document.getElementById("gutterselect").value==5) {
		document.getElementById("outletselect1").style.visibility = "visible";
		return;
	}
	if (document.getElementById("gutterselect").value==6) {
		document.getElementById("outletselect2").style.visibility = "visible";
		return;
	}
	if (document.getElementById("gutterselect").value==7) {
		document.getElementById("outletselect2").style.visibility = "visible";
		return;
	}
	if (document.getElementById("gutterselect").value==8) {
		document.getElementById("outletselect1").style.visibility = "visible";
		return;
	}
	if (document.getElementById("gutterselect").value==9) {
		document.getElementById("outletselect2").style.visibility = "visible";
		return;
	}
	if (document.getElementById("gutterselect").value==10) {
		document.getElementById("outletselect1").style.visibility = "visible";
		return;
	}
	if (document.getElementById("gutterselect").value==11) {
		document.getElementById("outletselect2").style.visibility = "visible";
	}
}

function step4a(){
	selection="";
	for(i=0; i<=1 ;i++){
		if (document.form3.roof[i].checked){
			selection=document.form3.roof[i].value;
		}
	}
	if (selection=="Flat"){
		document.getElementById("num").disabled = false;
		document.getElementById("num").style.backgroundColor = "#FFFFFF";
		document.getElementById("leaf").disabled = false;
		//document.getElementById("uneven").disabled = false;
		document.getElementById("sq").disabled = false;
		document.getElementById("sump").disabled = false;
		document.getElementById("text1").innerHTML = "<p>Enter the number of downpipes. (press Tab to proceed). <p>Check the tick boxes if you require leafguards, if the downpipe is to be a square profile or if the outlets are in a sump.";
		spacing();
	}else{
		document.getElementById("end").disabled = false;
		document.getElementById("cent").disabled = false;
		document.getElementById("text1").innerHTML = "<p>If there is an outlet at the ends of the gutter select 'end' otherwise select 'centered'.";
	}
}

function step4b() {
	document.getElementById("num").disabled = false;
	document.getElementById("num").style.backgroundColor = "#FFFFFF";
	document.getElementById("leaf").disabled = false;
	document.getElementById("corner").disabled = false;
	document.getElementById("uneven").disabled = false;
	document.getElementById("text1").innerHTML = "<p>Enter the number of downpipes. (press Tab to proceed).<p>Check the tick boxes if you require leafguards, if there are corners in the gutter or the outlets are unevenly spaced.";
	spacing();
}

function leafguard(){
	if (document.form3.lg.checked == true) {
		alert ( "Leafguards reduce the capacity of the downpipe by a half and are a maintenance liability.\r\rGuttermaster do not recommend the use of leafguards.","Guttermaster Advice");
	}
}

function sumpselect(){
	if (document.form3.sump.checked == true) {
		document.getElementById("sud").disabled = false;
		document.getElementById("sud").style.backgroundColor = "#FFFFFF";
		document.getElementById("text1").innerHTML = "<p>Enter the sump depth.";
	}else{
		document.getElementById("sud").disabled = true;
		document.getElementById("sud").style.backgroundColor = "#BBB";
		document.getElementById("text1").innerHTML = "<p>Enter the number of downpipes. (press Tab to proceed).<p>Check the tick boxes if you require leafguards, if the downpipe is to be a square profile or if the outlets are in a sump.";
	}
}
	
	
function spacing(){
	document.getElementById("text1").className = "default";
	if (document.getElementById("num").value==0 ){
		return;
	}
	document.getElementById("olab1").style.visibility = "hidden";
	document.getElementById("olab2").style.visibility = "hidden";
	document.getElementById("olab3").style.visibility = "hidden";
	document.getElementById("olab4").style.visibility = "hidden";
	document.getElementById("olab5").style.visibility = "hidden";
	document.getElementById("olab6").style.visibility = "hidden";
	document.getElementById("olab7").style.visibility = "hidden";
	document.getElementById("olab8").style.visibility = "hidden";
	document.getElementById("olab9").style.visibility = "hidden";
	document.getElementById("olab10").style.visibility = "hidden";
	document.getElementById("olab11").style.visibility = "hidden";
	document.getElementById("olab12").style.visibility = "hidden";
	document.getElementById("olab13").style.visibility = "hidden";
	document.getElementById("olab14").style.visibility = "hidden";
	document.getElementById("olab15").style.visibility = "hidden";
	document.getElementById("olab16").style.visibility = "hidden";
	document.getElementById("olab17").style.visibility = "hidden";
	document.getElementById("olab18").style.visibility = "hidden";
	document.getElementById("out1").disabled = true;
	document.getElementById("out2").disabled = true;
	document.getElementById("out3").disabled = true;
	document.getElementById("out4").disabled = true;
	document.getElementById("out5").disabled = true;
	document.getElementById("out6").disabled = true;
	document.getElementById("out7").disabled = true;
	document.getElementById("out8").disabled = true;
	document.getElementById("out9").disabled = true;
	document.getElementById("out10").disabled = true;
	document.getElementById("out11").disabled = true;
	document.getElementById("out12").disabled = true;
	document.getElementById("out13").disabled = true;
	document.getElementById("out14").disabled = true;
	document.getElementById("out15").disabled = true;
	document.getElementById("out16").disabled = true;
	document.getElementById("out17").disabled = true;
	document.getElementById("out1").style.backgroundColor = "#BBB";
	document.getElementById("out2").style.backgroundColor = "#BBB";
	document.getElementById("out3").style.backgroundColor = "#BBB";
	document.getElementById("out4").style.backgroundColor = "#BBB";
	document.getElementById("out5").style.backgroundColor = "#BBB";
	document.getElementById("out6").style.backgroundColor = "#BBB";
	document.getElementById("out7").style.backgroundColor = "#BBB";
	document.getElementById("out8").style.backgroundColor = "#BBB";
	document.getElementById("out9").style.backgroundColor = "#BBB";
	document.getElementById("out10").style.backgroundColor = "#BBB";
	document.getElementById("out11").style.backgroundColor = "#BBB";
	document.getElementById("out12").style.backgroundColor = "#BBB";
	document.getElementById("out13").style.backgroundColor = "#BBB";
	document.getElementById("out14").style.backgroundColor = "#BBB";
	document.getElementById("out15").style.backgroundColor = "#BBB";
	document.getElementById("out16").style.backgroundColor = "#BBB";
	document.getElementById("out17").style.backgroundColor = "#BBB";
	
	
	if (document.form3.ue.checked == true) {
		selection="";
		for(i=0; i<=1 ;i++){
			if (document.form3.roof[i].checked){
				selection=document.form3.roof[i].value;
			}
		}
		if (selection=="Flat"){
			document.getElementById("text1").innerHTML = "<p>Enter the outlet spacing in metres.";
		}else{
			document.getElementById("text1").innerHTML = "<p>Enter the outlet spacing in metres. (press Tab to move to the next box). <p> Note that the sum of these spacings must equal the gutter length.";
		}
		document.getElementById("calc").disabled = true;		
		
		selection="";
		for(i=0; i<=1 ;i++){
			if (document.form3.end[i].checked){
				selection=document.form3.end[i].value;
			}
		}
		
		//End outlet
		if (selection=="end"){
			if (document.getElementById("num").value<3 ){
				document.getElementById("text1").className = "warning";
				document.getElementById("text1").innerHTML = "<p>Selection Error - It is not possible to have less than 3 unevenly spaced end outlets !";
				return;
			}
			if(document.getElementById("num").value>18 ){
				alert ("This calculator can only manage 18 unevenly spaced end outlets. Please send details of the project to Guttermaster so that more comprehensive calculations can be carried out for you.");
				return;
			}
			document.getElementById("olab1").innerHTML= "Out1";
			document.getElementById("olab1").style.visibility = "visible";
			document.getElementById("out1").disabled = false;
			document.getElementById("out1").style.backgroundColor = "#FFFFFF";
			document.getElementById("out1").value = 0;
			document.getElementById("olab2").innerHTML="Out2";
			document.getElementById("olab2").style.visibility = "visible";
			document.getElementById("out2").disabled = false;
			document.getElementById("out2").style.backgroundColor = "#FFFFFF";
			document.getElementById("out2").value = 0;
			document.getElementById("olab3").innerHTML="Out3";
			document.getElementById("olab3").style.visibility = "visible";
			if (document.getElementById("num").value==3 ){
				return;
			}
			document.getElementById("out3").disabled = false;
			document.getElementById("out3").style.backgroundColor = "#FFFFFF";
			document.getElementById("out3").value = 0;
			document.getElementById("olab4").innerHTML="Out4";
			document.getElementById("olab4").style.visibility = "visible";
			if (document.getElementById("num").value==4 ){
				return;
			}
			document.getElementById("out4").disabled = false;
			document.getElementById("out4").style.backgroundColor = "#FFFFFF";
			document.getElementById("out4").value = 0;
			document.getElementById("olab5").innerHTML="Out5";
			document.getElementById("olab5").style.visibility = "visible";
			if (document.getElementById("num").value==5 ){
				return;
			}
			document.getElementById("out5").disabled = false;
			document.getElementById("out5").style.backgroundColor = "#FFFFFF";
			document.getElementById("out5").value = 0;
			document.getElementById("olab6").innerHTML="Out6";
			document.getElementById("olab6").style.visibility = "visible";
			if (document.getElementById("num").value==6 ){
				return;
			}
			document.getElementById("out6").disabled = false;
			document.getElementById("out6").style.backgroundColor = "#FFFFFF";
			document.getElementById("out6").value = 0;
			document.getElementById("olab7").innerHTML="Out7";
			document.getElementById("olab7").style.visibility = "visible";
			if (document.getElementById("num").value==7 ){
				return;
			}
			document.getElementById("out7").disabled = false;
			document.getElementById("out7").style.backgroundColor = "#FFFFFF";
			document.getElementById("out7").value = 0;
			document.getElementById("olab8").innerHTML="Out8";
			document.getElementById("olab8").style.visibility = "visible";
			if (document.getElementById("num").value==8 ){
				return;
			}
			document.getElementById("out8").disabled = false;
			document.getElementById("out8").style.backgroundColor = "#FFFFFF";
			document.getElementById("out8").value = 0;
			document.getElementById("olab9").innerHTML="Out9";
			document.getElementById("olab9").style.visibility = "visible";
			if (document.getElementById("num").value==9 ){
				return;
			}
			document.getElementById("out9").disabled = false;
			document.getElementById("out9").style.backgroundColor = "#FFFFFF";
			document.getElementById("out9").value = 0;
			document.getElementById("olab10").innerHTML="Out10";
			document.getElementById("olab10").style.visibility = "visible";
			if (document.getElementById("num").value==10 ){
				return;
			}
			document.getElementById("out10").disabled = false;
			document.getElementById("out10").style.backgroundColor = "#FFFFFF";
			document.getElementById("out10").value = 0;
			document.getElementById("olab11").innerHTML="Out11";
			document.getElementById("olab11").style.visibility = "visible";
			if (document.getElementById("num").value==11 ){
				return;
			}
			document.getElementById("out11").disabled = false;
			document.getElementById("out11").style.backgroundColor = "#FFFFFF";
			document.getElementById("out11").value = 0;
			document.getElementById("olab12").innerHTML="Out12";
			document.getElementById("olab12").style.visibility = "visible";
			if (document.getElementById("num").value==12 ){
				return;
			}
			document.getElementById("out12").disabled = false;
			document.getElementById("out12").style.backgroundColor = "#FFFFFF";
			document.getElementById("out12").value = 0;
			document.getElementById("olab13").innerHTML="Out13";
			document.getElementById("olab13").style.visibility = "visible";
			if (document.getElementById("num").value==13 ){
				return;
			}
			document.getElementById("out13").disabled = false;
			document.getElementById("out13").style.backgroundColor = "#FFFFFF";
			document.getElementById("out13").value = 0;
			document.getElementById("olab14").innerHTML="Out14";
			document.getElementById("olab14").style.visibility = "visible";
			if (document.getElementById("num").value==14 ){
				return;
			}
			document.getElementById("out14").disabled = false;
			document.getElementById("out14").style.backgroundColor = "#FFFFFF";
			document.getElementById("out14").value = 0;
			document.getElementById("olab15").innerHTML="Out15";
			document.getElementById("olab15").style.visibility = "visible";
			if (document.getElementById("num").value==15 ){
				return;
			}
			document.getElementById("out15").disabled = false;
			document.getElementById("out15").style.backgroundColor = "#FFFFFF";
			document.getElementById("out15").value = 0;
			document.getElementById("olab16").innerHTML="Out16";
			document.getElementById("olab16").style.visibility = "visible";
			if (document.getElementById("num").value==16 ){
				return;
			}
			document.getElementById("out16").disabled = false;
			document.getElementById("out16").style.backgroundColor = "#FFFFFF";
			document.getElementById("out16").value = 0;
			document.getElementById("olab17").innerHTML="Out17";
			document.getElementById("olab17").style.visibility = "visible";
			if (document.getElementById("num").value==17 ){
				return;
			}
			document.getElementById("out17").disabled = false;
			document.getElementById("out17").style.backgroundColor = "#FFFFFF";
			document.getElementById("out17").value = 0;
			document.getElementById("olab18").innerHTML="Out18";
			document.getElementById("olab18").style.visibility = "visible";
		}else{
			//Centre outlets
			if(document.getElementById("num").value>16 ){
				alert( "This calculator can only manage 16 unevenly spaced outlets. Please send details of the project to Guttermaster so that more comprehensive calculations can be carried out for you.");
				return;
			}
			document.getElementById("olab1").innerHTML="end ";
			document.getElementById("olab1").style.visibility = "visible";
			document.getElementById("out1").disabled = false;
			document.getElementById("out1").style.backgroundColor = "#FFFFFF";
			document.getElementById("out1").value = 0;
			document.getElementById("olab2").innerHTML="Out1";
			document.getElementById("olab2").style.visibility = "visible";
			document.getElementById("out2").disabled = false;
			document.getElementById("out2").style.backgroundColor = "#FFFFFF";
			document.getElementById("out2").value = 0;
			document.getElementById("olab3").style.visibility = "visible";
			if (document.getElementById("num").value==1 ){
				document.getElementById("olab3").innerHTML="end";
				return
			}
			document.getElementById("olab3").innerHTML="Out2";
			document.getElementById("out3").disabled = false;
			document.getElementById("out3").style.backgroundColor = "#FFFFFF";
			document.getElementById("out3").value = 0;
			document.getElementById("olab4").style.visibility = "visible";
			if (document.getElementById("num").value==2 ){
				document.getElementById("olab4").innerHTML="end";
				return
			}
			document.getElementById("olab4").innerHTML="Out3";
			document.getElementById("out4").disabled = false;
			document.getElementById("out4").style.backgroundColor = "#FFFFFF";
			document.getElementById("out4").value = 0;
			document.getElementById("olab5").style.visibility = "visible";
			if (document.getElementById("num").value==3 ){
				document.getElementById("olab5").innerHTML="end";
				return
			}
			document.getElementById("olab5").innerHTML="Out4";
			document.getElementById("out5").disabled = false;
			document.getElementById("out5").style.backgroundColor = "#FFFFFF";
			document.getElementById("out5").value = 0;
			document.getElementById("olab6").style.visibility = "visible";
			if (document.getElementById("num").value==4 ){
				document.getElementById("olab6").innerHTML="end";
				return
			}
			document.getElementById("olab6").innerHTML="Out5";
			document.getElementById("out6").disabled = false;
			document.getElementById("out6").style.backgroundColor = "#FFFFFF";
			document.getElementById("out6").value = 0;
			document.getElementById("olab7").style.visibility = "visible";
			if (document.getElementById("num").value==5 ){
				document.getElementById("olab7").innerHTML="end";
				return
			}
			document.getElementById("olab7").innerHTML="Out6";
			document.getElementById("out7").disabled = false;
			document.getElementById("out7").style.backgroundColor = "#FFFFFF";
			document.getElementById("out7").value = 0;
			document.getElementById("olab8").style.visibility = "visible";
			if (document.getElementById("num").value==6 ){
				document.getElementById("olab8").innerHTML="end";
				return
			}
			document.getElementById("olab8").innerHTML="Out7";
			document.getElementById("out8").disabled = false;
			document.getElementById("out8").style.backgroundColor = "#FFFFFF";
			document.getElementById("out8").value = 0;
			document.getElementById("olab9").style.visibility = "visible";
			if (document.getElementById("num").value==7 ){
				document.getElementById("olab9").innerHTML="end";
				return
			}
			document.getElementById("olab9").innerHTML="Out8";
			document.getElementById("out9").disabled = false;
			document.getElementById("out9").style.backgroundColor = "#FFFFFF";
			document.getElementById("out9").value = 0;
			document.getElementById("olab10").style.visibility = "visible";
			if (document.getElementById("num").value==8 ){
				document.getElementById("olab10").innerHTML="end";
				return
			}
			document.getElementById("olab10").innerHTML="Out9";
			document.getElementById("out10").disabled = false;
			document.getElementById("out10").style.backgroundColor = "#FFFFFF";
			document.getElementById("out10").value = 0;
			document.getElementById("olab11").style.visibility = "visible";
			if (document.getElementById("num").value==9 ){
				document.getElementById("olab11").innerHTML="end";
				return
			}
			document.getElementById("olab11").innerHTML="Out10";
			document.getElementById("out11").disabled = false;
			document.getElementById("out11").style.backgroundColor = "#FFFFFF";
			document.getElementById("out11").value = 0;
			document.getElementById("olab12").style.visibility = "visible";
			if (document.getElementById("num").value==10 ){
				document.getElementById("olab12").innerHTML="end";
				return
			}
			document.getElementById("olab12").innerHTML="Out11";
			document.getElementById("out12").disabled = false;
			document.getElementById("out12").style.backgroundColor = "#FFFFFF";
			document.getElementById("out12").value = 0;
			document.getElementById("olab13").style.visibility = "visible";
			if (document.getElementById("num").value==11 ){
				document.getElementById("olab13").innerHTML="end";
				return
			}
			document.getElementById("olab13").innerHTML="Out12";
			document.getElementById("out13").disabled = false;
			document.getElementById("out13").style.backgroundColor = "#FFFFFF";
			document.getElementById("out13").value = 0;
			document.getElementById("olab14").style.visibility = "visible";
			if (document.getElementById("num").value==12 ){
				document.getElementById("olab14").innerHTML="end";
				return
			}
			document.getElementById("olab14").innerHTML="Out13";
			document.getElementById("out14").disabled = false;
			document.getElementById("out14").style.backgroundColor = "#FFFFFF";
			document.getElementById("out14").value = 0;
			document.getElementById("olab15").style.visibility = "visible";
			if (document.getElementById("num").value==13 ){
				document.getElementById("olab15").innerHTML="end";
				return
			}
			document.getElementById("olab15").innerHTML="Out14";
			document.getElementById("out15").disabled = false;
			document.getElementById("out15").style.backgroundColor = "#FFFFFF";
			document.getElementById("out15").value = 0;
			document.getElementById("olab16").style.visibility = "visible";
			if (document.getElementById("num").value==14 ){
				document.getElementById("olab16").innerHTML="end";
				return
			}
			document.getElementById("olab16").innerHTML="Out15";
			document.getElementById("out16").disabled = false;
			document.getElementById("out16").style.backgroundColor = "#FFFFFF";
			document.getElementById("out16").value = 0;
			document.getElementById("olab17").style.visibility = "visible";
			if (document.getElementById("num").value==15 ){
				document.getElementById("olab17").innerHTML="end";
				return
			}
			document.getElementById("olab17").innerHTML="Out16";
			document.getElementById("out17").disabled = false;
			document.getElementById("out17").style.backgroundColor = "#FFFFFF";
			document.getElementById("out17").value = 0;
			document.getElementById("olab18").style.visibility = "visible";
			document.getElementById("olab18").innerHTML="end";
		}
	}else{
		document.getElementById("calc").disabled = false;
		selection="";
		for(i=0; i<=1 ;i++){
			if (document.form3.roof[i].checked){
				selection=document.form3.roof[i].value;
			}
		}
		if (selection=="Flat"){
			document.getElementById("text1").innerHTML = "<p>Click 'calculate' to work out the sizes of the chutes and hoppers.";
		}else{
			document.getElementById("text1").innerHTML = "<p>Click 'calculate' to check the size of the gutter and outlet";
		}
	}
}

function clearbox(xx){
	document.getElementById(xx).value="";
}

function checksum(){
	document.getElementById("text1").className = "default";
	selection="";
	for(i=0; i<=1 ;i++){
		if (document.form3.end[i].checked){
			selection=document.form3.end[i].value;
		}
	}
	if (selection=="end"){
		nout=parseInt(document.getElementById("num").value)-1;
	}else{
		nout=parseInt(document.getElementById("num").value)+1
	}
	
	xy="out"+nout
	if (document.getElementById(xy).value==0){
		// exit if data still being entered
		return;
	}
	
	lsum=parseFloat(document.getElementById("out1").value);
	
	lsum=lsum+parseFloat(document.getElementById("out2").value);
	
	if (nout==2){
		checksumexit();
		return;
	}
	lsum=lsum+parseFloat(document.getElementById("out3").value);
	if (nout==3){
		checksumexit();
		return;
	}
	lsum=lsum+parseFloat(document.getElementById("out4").value);
	if (nout==4){
		checksumexit();
		return;
	}
	lsum=lsum+parseFloat(document.getElementById("out5").value);
	if (nout==5){
		checksumexit();
		return;
	}
	lsum=lsum+parseFloat(document.getElementById("out6").value);
	if (nout==6){
		checksumexit();
		return;
	}
	lsum=lsum+parseFloat(document.getElementById("out7").value);
	if (nout==7){
		checksumexit();
		return;
	}
	lsum=lsum+parseFloat(document.getElementById("out8").value);
	if (nout==8){
		checksumexit();
		return;
	}
	lsum=lsum+parseFloat(document.getElementById("out9").value);
	if (nout==9){
		checksumexit();
		return;
	}
	lsum=lsum+parseFloat(document.getElementById("out10").value);
	if (nout==10){
		checksumexit();
		return;
	}
	lsum=lsum+parseFloat(document.getElementById("out11").value);
	if (nout==11){
		checksumexit();
		return;
	}
	lsum=lsum+parseFloat(document.getElementById("out12").value);
	if (nout==12){
		checksumexit();
		return;
	}
	lsum=lsum+parseFloat(document.getElementById("out13").value);
	if (nout==13){
		checksumexit();
		return;
	}
	lsum=lsum+parseFloat(document.getElementById("out14").value);
	if (nout==14){
		checksumexit();
		return;
	}
	lsum=lsum+parseFloat(document.getElementById("out15").value);
	if (nout==15){
		checksumexit();
		return;
	}
	lsum=lsum+parseFloat(document.getElementById("out16").value);
	if (nout==16){
		checksumexit();
		return;
	}
	lsum=lsum+parseFloat(document.getElementById("out17").value);
	checksumexit();
} 

function checksumexit(){
	selection="";
	for(i=0; i<=1 ;i++){
		if (document.form3.roof[i].checked){
			selection=document.form3.roof[i].value;
		}
	}
	if (selection=="Flat"){
		document.getElementById("calc").disabled = false;
		document.getElementById("text1").innerHTML = "<p>Click 'calculate' to check the size of the gutter and outlet";		
	}else{
		if( lsum==document.getElementById("glength").value ){
			document.getElementById("calc").disabled = false;
			document.getElementById("text1").innerHTML = "<p>Click 'calculate' to check the size of the gutter and outlet";	
		}else{
			document.getElementById("text1").className = "warning";
			document.getElementById("text1").innerHTML = "<p>Input error - The sum of the spacings does not equal the gutter length";
		}
	}
}

function calclongest(x1, x2){
	if(x1>lm){
		lm=x1;
	}
	var xx=x1+x2;
	if(xx>la){
		la=xx;
	}
	lt=x1;
}


function calculate(){
	document.getElementById("text1").className = "default";
	
	var ri = document.getElementById("rain").value;
	if(ri==0){
		document.getElementById("text1").className = "warning";
		document.getElementById("text1").innerHTML = "<p>Please enter a rainfall rate";
		return;
	}
	if(ri>0.07 || ri<0.008){
		document.getElementById("text1").className = "warning";
		document.getElementById("text1").innerHTML = "<p>Please check the units for rainfall, they should be in l/s/sq m. <p> The rainfall rate should have a value between 0.009 and 0.06 l/s/sq m";
		return;
	}
	
	var A = document.getElementById("area").value;
	if(A==0){
		document.getElementById("text1").className = "warning";
		document.getElementById("text1").innerHTML = "<p>Please enter the roof area";
		return;
	}
	
	var n = document.getElementById("num").value;
	if(n==0){
		document.getElementById("text1").className = "warning";
		document.getElementById("text1").innerHTML = "<p>Please set the number of outlets";
		return;
	}
	
	if (document.form3.lg.checked == true) {
		var fl=0.5;
	}else{
		var fl=1.0;
	}
	
	selection="";
	for(i=0; i<=1 ;i++){
		if (document.form3.roof[i].checked){
			selection=document.form3.roof[i].value;
		}
	}
	if (selection=="Pitch"){
		var gl = document.getElementById("glength").value;
		if(gl==0){
			document.getElementById("text1").className = "warning";
			document.getElementById("text1").innerHTML = "<p>Please enter a gutter length";
			return;
		}
		
		var gc = document.getElementById("gutterselect").value
		if(gc==0){
			document.getElementById("text1").className = "warning";
			document.getElementById("text1").innerHTML = "<p>Please chose a gutter type";
			return;
		}
		// Box gutter special selected
		if (gc==1){
			var tw = document.getElementById("throat").value;
			if(tw==0){
				document.getElementById("text1").className = "warning";
				document.getElementById("text1").innerHTML = "<p>Please set the throat width";
				return;
			}
			if(tw<10){
				document.getElementById("text1").className = "warning";
				document.getElementById("text1").innerHTML = "<p>Please check the units for the throat width they should be in millimetres";
				return;
			}
			var sw = document.getElementById("sole").value;
			if(sw==0){
				document.getElementById("text1").className = "warning";
				document.getElementById("text1").innerHTML = "<p>Please set the sole width";
				return;
			}
			if(sw<10){
				document.getElementById("text1").className = "warning";
				document.getElementById("text1").innerHTML = "<p>Please check the units for the sole width they should be in millimetres";
				return;
			}
			var d = document.getElementById("depth").value;
			if(d==0){
				document.getElementById("text1").className = "warning";
				document.getElementById("text1").innerHTML = "<p>Please set the depth";
				return;
			}
			if(d<10){
				document.getElementById("text1").className = "warning";
				document.getElementById("text1").innerHTML = "<p>Please check the units for the gutter depth they should be in millimetres";
				return;
			}
		}else{
			var tw=0;
			var sw=0;
			var d=0;
		}
	
		
		//check outlet
		if (gc==1 || gc==5 || gc==8 ||gc==10) {
			var oc=document.getElementById("outletselect1").value;
		}
		if (gc==3 || gc==4 || gc==6 || gc==7 || gc==9 || gc==11) {
			var oc=document.getElementById("outletselect2").value;
			if(oc>3){
				oc=oc+1;
			}
		}
		if (gc==2) {
			var oc=document.getElementById("outletselect3").value;
			if(oc>3){
			   oc=oc+1;
			}
			if(oc>2){
				oc=oc+2;
			}
		}
		if(oc==0){
			document.getElementById("text1").className = "warning";
			document.getElementById("text1").innerHTML = "<p>Please chose an outlet type";
			return;
		}
	
		if (document.form3.corner.checked == true) {
			var fc=0.85;
		}else{
			var fc=1.0;
		}
	
		// determine the maximum lengths to an outlet
		selection="";
		for(i=0; i<=1 ;i++){
			if (document.form3.end[i].checked){
				selection=document.form3.end[i].value;
			}
		}
		if (document.form3.ue.checked == true) {
			if (selection=="end"){
				nout=n-1;
				lm=parseFloat(document.getElementById("out1").value)/2;
				lt=lm;
				la=0;
				calclongest(parseFloat(document.getElementById("out2").value)/2, lt);
				if (nout==2) {
					
				}else{
					calclongest(parseFloat(document.getElementById("out3").value)/2, lt);
					if (nout==3){
					
					}else{
						calclongest(parseFloat(document.getElementById("out4").value)/2, lt);
						if (nout==4){
						
						}else{
							calclongest(parseFloat(document.getElementById("out5").value)/2, lt);
							if (nout==5){
							
							}else{
								calclongest(parseFloat(document.getElementById("out6").value)/2, lt);
								if (nout==6){
								
								}else{
									calclongest(parseFloat(document.getElementById("out7").value)/2, lt);
									if (nout==7){
								
									}else{
										calclongest(parseFloat(document.getElementById("out8").value)/2, lt);
										if (nout==8){
										
										}else{
											calclongest(parseFloat(document.getElementById("out9").value)/2, lt);
											if (nout==9){
											
											}else{
												calclongest(parseFloat(document.getElementById("out10").value)/2, lt);
												if (nout==10){
												
												}else{
													calclongest(parseFloat(document.getElementById("out11").value)/2, lt);
													if (nout==11){
													
													}else{
														calclongest(parseFloat(document.getElementById("out12").value)/2, lt);
														if (nout==12){
														
														}else{
															calclongest(parseFloat(document.getElementById("out13").value)/2, lt);
															if (nout==13){
															
															}else{
																calclongest(parseFloat(document.getElementById("out14").value)/2, lt);
																if (nout==14){
																
																}else{
																	calclongest(parseFloat(document.getElementById("out15").value)/2, lt);
																	if (nout==15){
																	
																	}else{
																		calclongest(parseFloat(document.getElementById("out16").value)/2, lt);
																		if (nout==16){
																	
																		}else{
																			calclongest(parseFloat(document.getElementById("out17").value)/2, lt);
																		}
																	}
																}
															}
														}
													}
												}
											}
										}
									}
								}
							}
						}
					}
				}
			}else{
				lm=parseFloat(document.getElementById("out1").value);
				la=0;
				if(n==1){
					calclongest(parseFloat(document.getElementById("out2").value),parseFloat(document.getElementById("out1").value));
				}else{
					calclongest(parseFloat(document.getElementById("out2").value)/2,parseFloat(document.getElementById("out1").value));
					if (n==2){
						calclongest(parseFloat(document.getElementById("out3").value), lt);
					}else{
						calclongest(parseFloat(document.getElementById("out3").value)/2, lt);
						if (n==3){
							calclongest(parseFloat(document.getElementById("out4").value), lt);
						}else{
							calclongest(parseFloat(document.getElementById("out4").value)/2, lt);
							if (n==4){
								calclongest(parseFloat(document.getElementById("out5").value), lt);
							}else{
								calclongest(parseFloat(document.getElementById("out5").value)/2, lt);
								if (n==5){
									calclongest(parseFloat(document.getElementById("out6").value), lt);
								}else{
									calclongest(parseFloat(document.getElementById("out6").value)/2, lt);
									if (n==6){
										calclongest(parseFloat(document.getElementById("out7").value), lt);
									}else{
										calclongest(parseFloat(document.getElementById("out7").value)/2, lt);
										if (n==7){
											calclongest(parseFloat(document.getElementById("out8").value), lt);
										}else{
											calclongest(parseFloat(document.getElementById("out8").value)/2, lt);
											if (n==8){
												calclongest(parseFloat(document.getElementById("out9").value), lt);
											}else{
												calclongest(parseFloat(document.getElementById("out9").value)/2, lt);
												if (n==9){
													calclongest(parseFloat(document.getElementById("out10").value), lt);
												}else{
													calclongest(parseFloat(document.getElementById("out10").value)/2, lt);
													if (n==10){
														calclongest(parseFloat(document.getElementById("out11").value), lt);
													}else{
														calclongest(parseFloat(document.getElementById("out11").value)/2, lt);
														if (n==11){
															calclongest(parseFloat(document.getElementById("out12").value), lt);
														}else{
															calclongest(parseFloat(document.getElementById("out12").value)/2, lt);
															if (n==12){
																calclongest(parseFloat(document.getElementById("out13").value), lt);
															}else{
																calclongest(parseFloat(document.getElementById("out13").value)/2, lt);
																if (n==13){
																	calclongest(parseFloat(document.getElementById("out14").value), lt);
																}else{
																	calclongest(parseFloat(document.getElementById("out14").value)/2, lt);
																	if (n==14){
																		calclongest(parseFloat(document.getElementById("out15").value), lt);
																	}else{
																		calclongest(parseFloat(document.getElementById("out15").value)/2, lt);
																		if (n==15){
																			calclongest(parseFloat(document.getElementById("out16").value), lt);
																		}else{
																			calclongest(parseFloat(document.getElementById("out16").value)/2, lt);
																			calclongest(parseFloat(document.getElementById("out17").value), lt);
																		}
																	}
																}
															}
														}
													}
												}
											}
										}
									}
								}
							}
						}
					}
				}		
			}
		}else{
			if (selection=="end"){
				if (n==1){
					la=gl;
					lm=gl;
				}else{
					if (n==2){
						la=gl/2;
						lm=gl/2;
					}else{
						la=gl/(n-1);
						lm=la/2;
					}
				}
			}else{
				la=gl/n;
				lm=la/2;
			}
		}
		document.getElementById("la").value = la;
		document.getElementById("lm").value = lm;
	}else{
		//flat roof
		if (document.form3.sump.checked == true) {
			var d=document.getElementById("sud").value;
			if(d==0){
				document.getElementById("text1").className = "warning";
				document.getElementById("text1").innerHTML = "<p>Please set the sump depth";
				return;
			}
		}else{
			d=0;
		}
		
		if (document.form3.sq.checked == true) {
			tw=100;
		}else{
			tw=0;
		}
		gc=100;
		gl=n;
		sw=0;
		la=0;
		lm=0;
		oc=0;
		fc=0;
		
	}
		
		
	var rnd = Math.random();
	var passVariables = "GuttermasterCalcs.php?ri=" + ri + "&A=" + A + "&gl=" + gl + "&gc=" + gc + "&tw=" + tw + "&sw=" + sw + "&d=" + d + "&oc=" + oc + "&fl=" + fl + "&fc=" + fc + "&la=" + la + "&lm=" + lm + "&rnd=" + rnd;
	var ajaxRequest;  // The variable that makes Ajax possible!
	var obj = document.getElementById("text1");
	
	document.getElementById("text1").innerHTML = "<p>Calculating.....";
	try{
		// Opera 8.0+, Firefox, Safari
		ajaxRequest = new XMLHttpRequest();
	} catch (e){
		// Internet Explorer Browsers
		try{
			ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try{
				ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e){
				// Something went wrong
				alert("Sorry, your browser does not support Ajax at this time. Please update your browser and try again.");
				return false;
			}
		}
	}
	// Create a function that will receive data sent from the server
	ajaxRequest.open("GET", passVariables, true);
	ajaxRequest.send(null);
		
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4 && ajaxRequest.status == 200){
			document.getElementById("text1").innerHTML = ajaxRequest.responseText;
			document.getElementById("textResults").value = ajaxRequest.responseText;
		}
	}
	document.getElementById("print").disabled = false;
}



