function validateQuoteform(theForm)
{
	if (theForm.email.value == "")
	{
		alert("Please enter a value in the email field.");
		theForm.email.focus();
		return (false);
	}

	if (theForm.email.value.length < 6)
	{
		alert("Please enter at least 6 characters in the email field.");
		theForm.email.focus();
		return (false);
	}
	return (true);
}

function listElements(formName)
{
	document.write("<table border=1><tr><th>Number</th><th>Name</th><th>Type</th><th>Value</th><th>Checked</th></tr>");
	for(i = 0; i < formName.elements.length; i++)
	{
		document.write( "<tr><td>" + i +
		"</td><td>" + formName.elements[i].name +
		"</td><td>" + formName.elements[i].type +
		"</td><td>" + formName.elements[i].value +
		"</td><td>" + formName.elements[i].checked +
		"</td></tr>");
	}
	document.write("</table>");
}

function changeURL(winSize, winName, newURL)
{
	win = window.open(newURL, winName, winSize);
	return false;
}

function checkDoorButtons(button)
{
	button2 = button + 1;
	if(( document.QuoteForm.elements[button].checked == false && document.QuoteForm.elements[button2].checked == false ))
	{
		alert("Please select the number of panels for your door before selecting the size.");
	}
}

function writeDoorOptions (selectName,selectIndex,PanelsIndex)
{
	var sel = selectName;

	var opt = new Option(DoorSize[PanelsIndex][0],DoorPrice[PanelsIndex][0]);
	sel.options[0] = opt;
	PatioDoor_value = DoorPrice[PanelsIndex][0];
	for (var i = sel.options.length; i > 0; i--)
		sel.options[i] = null;
	if(selectIndex > DoorPrice[PanelsIndex].length)
	{
		selectIndex = 0;
	}
	limit = (DoorPrice[PanelsIndex].length - 1);
	for (var i = limit; i > 0; i--)
		if(selectIndex == i)
		{
			opt = new Option(DoorSize[PanelsIndex][i], DoorSize[PanelsIndex][i], false, true);
			sel.options[i] = opt;
			PatioDoor_value = DoorPrice[PanelsIndex][i];
		} else {
			opt = new Option(DoorSize[PanelsIndex][i], DoorSize[PanelsIndex][i]);
			sel.options[i] = opt;
		}
	return PatioDoor_value;
}

function writeFrenchDoorOptions (selectName,selectIndex,PanelsIndex)
{
	var sel = selectName;

	var opt = new Option(DoorSize[PanelsIndex][0],FrenchDoorPrice[PanelsIndex][0]);
	sel.options[0] = opt;
	PatioDoor_value = FrenchDoorPrice[PanelsIndex][0];
	for (var i = sel.options.length; i > 0; i--)
		sel.options[i] = null;
	if(selectIndex > FrenchDoorPrice[PanelsIndex].length) { selectIndex = 0; }
	limit = (FrenchDoorPrice[PanelsIndex].length - 1);
	for (var i = limit; i > 0; i--)
		if(selectIndex == i)
		{
			opt = new Option(DoorSize[PanelsIndex][i], DoorSize[PanelsIndex][i], false, true);
			sel.options[i] = opt;
			PatioDoor_value = FrenchDoorPrice[PanelsIndex][i];
		} else {
			opt = new Option(DoorSize[PanelsIndex][i], DoorSize[PanelsIndex][i]);
			sel.options[i] = opt;
		}
	return PatioDoor_value;
}

function writeGardenOptions()
{
	form = document.QuoteForm;
	for(i = 165; i < 179; i = i + 4)
	{
		sel = form.elements[i];
		limit = (GardenSize.length - 1);
		for(j = limit; j > 0; j--)
		{
			opt = new Option(GardenSize[j], GardenSize[j]);
			sel.options[j] = opt;
		}
	}
}

function formatPrice(input)
{
	var dollars = Math.floor(input);
	var cents = '' + Math.round(input * 100);
	cents = cents.substring(cents.length-2, cents.length);
	if (parseInt(cents) == 0)
	{
		cents = '00';
	}
	input = dollars + '.' + cents;
	return input;
}

function computeForm(input)
{
	form = input.form;
	form.browser.value=navigator.appName;
	form.version.value=navigator.appVersion;

// Windows
	for(i = 2; i < 135; i = i + 9)
	{
		base = 0;
		factor = 0;
		perimeter = 0;
		for(j = 0; j < 4; j++)
		{
			x = i + j;
			if(form.elements[x].checked == true)
			{
				factor = factor_values[j];
				base = 1;
			}
		}
		w = i + 4; h = i + 5;
		if ((form.elements[w].value == null || form.elements[w].value.length == 0))
		{
			form.elements[w].value = 0;
		}
		if ((form.elements[h].value == null || form.elements[h].value.length == 0))
		{
			form.elements[h].value = 0;
		}
		if ((form.elements[w].value == 0 || form.elements[h].value == 0))
		{
			base = 0; factor = 0;
		}
		g = i + 6;
		grids_num = form.elements[g].selectedIndex;
		if(grids_num == 0)
		{ 
			grids_value = 0;
		}
		else if(grids_num == 1)
		{
			grids_value = grid_factor;
		}
		else if(grids_num == 2)
		{
			grids_value = sculptured_grid_factor;
		}
		perimeter = (( parseFloat(form.elements[w].value) + parseFloat(form.elements[h].value)) * base);
		t = i + 7;
		form.elements[t].value = (( (parseFloat(perimeter * factor) +
		parseFloat(base * baseprice)) * markup) + parseFloat(perimeter * grids_value) );
	}
// Patio Doors
	for(i = 137; i < 163; i = i + 7)
	{
		PatioDoors_value = 0;
		pd = i + 3;
		selectIndex = form.elements[pd].selectedIndex;
		for(j = 0; j < 3; j++)
		{
			x = i + j;
			if(form.elements[x].checked == true)
			{
				PatioDoors_value = writeDoorOptions(form.elements[pd], selectIndex, j);
			 }
		}
		dg = i + 4;
		doorgrids_num = form.elements[dg].selectedIndex;
		if(doorgrids_num == 0)
		{
			doorgrids_value = 0;
		}
		else if(doorgrids_num == 1)
		{
			doorgrids_value = parseFloat(PatioDoors_value) * parseFloat(doorgrid_factor);
		}
		dt = i + 5;
		form.elements[dt].value = (parseFloat(PatioDoors_value) + parseFloat(doorgrids_value));
	}
// Garden Aire Windows
	for(i = 165; i < 179; i = i + 4)
	{
		selectIndex = form.elements[i].selectedIndex;
		Garden_value = GardenPrice[selectIndex];
		gg = i + 1;
		gardengrids_num = form.elements[gg].selectedIndex;
		if(gardengrids_num == 0)
		{
			gardengrids_value = 0;
		}
		else if(gardengrids_num == 1)
		{
			gardengrids_value = parseFloat(Garden_value) * parseFloat(gardengrid_factor);
		}
		else if(gardengrids_num == 2)
		{
			gardengrids_value = parseFloat(Garden_value) * parseFloat(sculptured_gardengrid_factor);
		}
		else if(selectIndex == 0)
		{
			gardengrids_value = 0;
		}
		gt = i + 2;
		form.elements[gt].value = (parseFloat(Garden_value) + parseFloat(gardengrids_value));
	}
// Add up total
	form.ordertotal.value = (
		parseFloat(form.tot1.value) +
		parseFloat(form.tot2.value) +
		parseFloat(form.tot3.value) +
		parseFloat(form.tot4.value) +
		parseFloat(form.tot5.value) +
		parseFloat(form.tot6.value) +
		parseFloat(form.tot7.value) +
		parseFloat(form.tot8.value) +
		parseFloat(form.tot9.value) +
		parseFloat(form.tot10.value) +
		parseFloat(form.tot11.value) +
		parseFloat(form.tot12.value) +
		parseFloat(form.tot13.value) +
		parseFloat(form.tot14.value) +
		parseFloat(form.tot15.value) +
		parseFloat(form.doortot1.value) +
		parseFloat(form.doortot2.value) +
		parseFloat(form.doortot3.value) +
		parseFloat(form.doortot4.value) +
		parseFloat(form.gardentot1.value) +
		parseFloat(form.gardentot2.value) +
		parseFloat(form.gardentot3.value) +
		parseFloat(form.gardentot4.value)
	);
// Express all prices as XXX.XX
	form.tot1.value = formatPrice(form.tot1.value); 
	form.tot2.value = formatPrice(form.tot2.value);
	form.tot3.value = formatPrice(form.tot3.value); 
	form.tot4.value = formatPrice(form.tot4.value);
	form.tot5.value = formatPrice(form.tot5.value); 
	form.tot6.value = formatPrice(form.tot6.value);
	form.tot7.value = formatPrice(form.tot7.value); 
	form.tot8.value = formatPrice(form.tot8.value);
	form.tot9.value = formatPrice(form.tot9.value); 
	form.tot10.value = formatPrice(form.tot10.value);
	form.tot11.value = formatPrice(form.tot11.value); 
	form.tot12.value = formatPrice(form.tot12.value);
	form.tot13.value = formatPrice(form.tot13.value); 
	form.tot14.value = formatPrice(form.tot14.value);
	form.tot15.value = formatPrice(form.tot15.value);
	form.doortot1.value = formatPrice(form.doortot1.value); 
	form.doortot2.value = formatPrice(form.doortot2.value);
	form.doortot3.value = formatPrice(form.doortot3.value); 
	form.doortot4.value = formatPrice(form.doortot4.value);
	form.gardentot1.value = formatPrice(form.gardentot1.value); 
	form.gardentot2.value = formatPrice(form.gardentot2.value);
	form.gardentot3.value = formatPrice(form.gardentot3.value); 
	form.gardentot4.value = formatPrice(form.gardentot4.value);

	form.ordertotal.value = formatPrice(form.ordertotal.value);
}