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;
	button3 = button + 2;
	if( ( document.QuoteForm.elements[button].checked == false && document.QuoteForm.elements[button2].checked == false && document.QuoteForm.elements[button3].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( index = 2; index < 165; index = index + 11 ) {
		quantityIndex = index + 4;
		widthIndex = index + 5;
		heightIndex = index + 6;
		gridsIndex = index + 7;
		priceIndex = index + 8;
		taxCreditIndex = index + 9;
		
		base = 0;
		factor = 0;
		perimeter = 0;
		
		for( offset = 0; offset < 6; offset = offset + 1 ) {
			tempIndex = index + offset;
			if( form.elements[tempIndex].checked == true ) {
				factor = factor_values[offset];
				base = 1;
			}
		}
		if( ( form.elements[quantityIndex].value == null || form.elements[quantityIndex].value.length == 0 ) ) {
			form.elements[quantityIndex].value = 1;
		}
		if( ( form.elements[widthIndex].value == null || form.elements[widthIndex].value.length == 0 ) ) {
			form.elements[widthIndex].value = 0;
		}
		if( ( form.elements[heightIndex].value == null || form.elements[heightIndex].value.length == 0 ) ) {
			form.elements[heightIndex].value = 0;
		}
		if( ( form.elements[taxCreditIndex].value == null || form.elements[taxCreditIndex].value.length == 0 ) ) {
			form.elements[taxCreditIndex].value = 0;
		}
		if( ( form.elements[widthIndex].value == 0 || form.elements[heightIndex].value == 0 ) ) {
			base = 0; factor = 0;
		}
		
		grids_num = form.elements[gridsIndex].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[widthIndex].value ) + parseFloat( form.elements[heightIndex].value ) ) * base );	
		
		form.elements[priceIndex].value = formatPrice( form.elements[quantityIndex].value * ( ( ( parseFloat( perimeter * factor ) + parseFloat( base * baseprice ) ) * markup ) + parseFloat( perimeter * grids_value ) ) );
		
		form.elements[taxCreditIndex].value = formatPrice( parseFloat( form.elements[priceIndex].value ) * 0.11 );
	}
// Casement Windows
	for( index = 167; index < 242; index = index + 11 ) {
		quantityIndex = index + 4;
		widthIndex = index + 5;
		heightIndex = index + 6;
		gridsIndex = index + 7;
		priceIndex = index + 8;
		taxCreditIndex = index + 9;
	
		base = 0;
		factor = 0;
		perimeter = 0;
		for( offset = 0; offset < 4; offset = offset + 1 ) {
			tempIndex = index + offset;
			if( form.elements[tempIndex].checked == true ) {
				factor = c_factor_values[offset];
				base = 1;
			}
		}
		if( ( form.elements[quantityIndex].value == null || form.elements[quantityIndex].value.length == 0 ) ) {
			form.elements[quantityIndex].value = 1;
		}
		if( ( form.elements[widthIndex].value == null || form.elements[widthIndex].value.length == 0 ) ) {
			form.elements[widthIndex].value = 0;
		}
		if( ( form.elements[heightIndex].value == null || form.elements[heightIndex].value.length == 0 ) ) {
			form.elements[heightIndex].value = 0;
		}
		if( ( form.elements[taxCreditIndex].value == null || form.elements[taxCreditIndex].value.length == 0 ) ) {
			form.elements[taxCreditIndex].value = 0;
		}
		if( ( form.elements[widthIndex].value == 0 || form.elements[heightIndex].value == 0 ) ) {
			base = 0; factor = 0;
		}
		grids_num = form.elements[gridsIndex].selectedIndex;
		if( grids_num == 0 ) {
			grids_value = 0;
		} else if( grids_num == 1 ) {
			grids_value = c_grid_factor;
		} else if( grids_num == 2 ) {
			grids_value = sculptured_grid_factor;
		}
		perimeter = ( ( parseFloat( form.elements[widthIndex].value ) + parseFloat( form.elements[heightIndex].value ) ) * base );
		form.elements[priceIndex].value = formatPrice( form.elements[quantityIndex].value * ( ( ( parseFloat( perimeter * factor ) + parseFloat( base * c_baseprice ) ) * c_markup ) + parseFloat( perimeter * grids_value ) ) );
		
		form.elements[taxCreditIndex].value = formatPrice( parseFloat( form.elements[priceIndex].value ) * 0.11 );
	}
// Patio Doors
	for( index = 244; index < 314; index = index + 9 ) {
		quantityIndex = index + 3;
		dimensionsIndex = index + 4;
		gridsIndex = index + 5;
		priceIndex = index + 6;
		taxCreditIndex = index + 7;
		
		PatioDoors_value = 0;
		selectIndex = form.elements[dimensionsIndex].selectedIndex;
		for( offset = 0; offset < 3; offset++ ) {
			tempIndex = index + offset;
			if( form.elements[tempIndex].checked == true ) {
				if( index > 278 ) {
					PatioDoors_value = writeFrenchDoorOptions( form.elements[dimensionsIndex], selectIndex, offset );
				} else {
					PatioDoors_value = writeDoorOptions( form.elements[dimensionsIndex], selectIndex, offset );
				}
			}
		}
		
		if( ( form.elements[quantityIndex].value == null || form.elements[quantityIndex].value.length == 0 ) ) {
			form.elements[quantityIndex].value = 1;
		}
		if( ( form.elements[taxCreditIndex].value == null || form.elements[taxCreditIndex].value.length == 0 ) ) {
			form.elements[taxCreditIndex].value = 0;
		}
		
		doorgrids_num = form.elements[gridsIndex].selectedIndex;
		if( doorgrids_num == 0 ) {
			doorgrids_value = 0;
		} else if( doorgrids_num == 1 ) {
			doorgrids_value = parseFloat( PatioDoors_value ) * parseFloat( doorgrid_factor );
		} else if( doorgrids_num == 2 ) {
			doorgrids_value = parseFloat( PatioDoors_value ) * parseFloat( sculptured_doorgrid_factor );
		}
		form.elements[priceIndex].value = formatPrice( form.elements[quantityIndex].value * ( parseFloat( PatioDoors_value ) + parseFloat( doorgrids_value ) ) );
		
		for( offset = 0; offset < 3; offset++ ) {
			tempIndex = index + offset;
			form.elements[taxCreditIndex].value = formatPrice( parseFloat( form.elements[priceIndex].value ) * 0.11 );
		}
	}
// Bay Windows
	for( index = 316; index < 328; index = index + 7 ) {
		quantityIndex = index + 0;
		widthIndex = index + 1;
		heightIndex = index + 2;
		gridsIndex = index + 3;
		priceIndex = index + 4;
		taxCreditIndex = index + 5;
		
		bay_perimeter = 0;
		baygrids_num = form.elements[gridsIndex].selectedIndex;
		if( baygrids_num == 0 ) {
			baygrids_factor = 0;
		} else if( baygrids_num == 1 ) {
			baygrids_factor = baygrid_factor;
		} else if( baygrids_num == 2 ) {
			baygrids_factor = sculptured_grid_factor;
		}
		baybase = 1;
		bayfactor = bay_factor;
		if( ( form.elements[quantityIndex].value == null || form.elements[quantityIndex].value.length == 0 ) ) {
			form.elements[quantityIndex].value = 1;
		}
		if ( ( form.elements[widthIndex].value == null || form.elements[widthIndex].value.length == 0 ) ) {
			form.elements[widthIndex].value = 0;
		}
		if ( ( form.elements[heightIndex].value == null || form.elements[heightIndex].value.length == 0 ) ) {
			form.elements[heightIndex].value = 0;
		}
		if( ( form.elements[taxCreditIndex].value == null || form.elements[taxCreditIndex].value.length == 0 ) ) {
			form.elements[taxCreditIndex].value = 0;
		}
		if ( ( form.elements[widthIndex].value == 0 || form.elements[heightIndex].value == 0 ) ) {
			baybase = 0; bayfactor = 0;
		}

		bay_perimeter = ( ( parseFloat( form.elements[widthIndex].value ) + parseFloat( form.elements[heightIndex].value ) ) * baybase );
		form.elements[priceIndex].value = formatPrice( form.elements[quantityIndex].value * ( ( ( parseFloat( bay_perimeter * bayfactor ) + parseFloat( baybase * baybase_price ) ) * bay_markup ) + parseFloat( bay_perimeter * baygrids_factor ) ) );
		
		form.elements[taxCreditIndex].value = '0.00';
	}	
// Bow Windows
	for( index = 330; index < 342; index = index + 7 ) {
		quantityIndex = index + 0;
		widthIndex = index + 1;
		heightIndex = index + 2;
		gridsIndex = index + 3;
		priceIndex = index + 4;
		taxCreditIndex = index + 5;
		
		bow_perimeter = 0;
		bowgrids_num = form.elements[gridsIndex].selectedIndex;
		if( bowgrids_num == 0 ) {
			bowgrids_factor = 0;
		} else if( bowgrids_num == 1 ) {
			bowgrids_factor = bowgrid_factor;
		} else if( bowgrids_num == 2 ) {
			bowgrids_factor = sculptured_grid_factor;
		}
		bowbase = 1;
		bowfactor = bow_factor;
		if( ( form.elements[quantityIndex].value == null || form.elements[quantityIndex].value.length == 0 ) ) {
			form.elements[quantityIndex].value = 1;
		}
		if ( ( form.elements[widthIndex].value == null || form.elements[widthIndex].value.length == 0 ) ) {
			form.elements[widthIndex].value = 0;
		}
		if ( ( form.elements[heightIndex].value == null || form.elements[heightIndex].value.length == 0 ) ) {
			form.elements[heightIndex].value = 0;
		}
		if( ( form.elements[taxCreditIndex].value == null || form.elements[taxCreditIndex].value.length == 0 ) ) {
			form.elements[taxCreditIndex].value = 0;
		}
		if ( ( form.elements[heightIndex].value == 0 || form.elements[heightIndex].value == 0 ) ) {
			bowbase = 0; bowfactor = 0;
		}

		bow_perimeter = ( ( parseFloat( form.elements[widthIndex].value ) + parseFloat( form.elements[heightIndex].value ) ) * bowbase );
		form.elements[priceIndex].value = formatPrice( form.elements[quantityIndex].value * ( ( ( parseFloat( bow_perimeter * bowfactor ) + parseFloat( bowbase * bowbase_price ) ) * bow_markup ) + parseFloat( bow_perimeter * bowgrids_factor ) ) );
		
		form.elements[taxCreditIndex].value = '0.00';
	}	

// Garden Aire Windows
	for( index = 344; index < 366; index = index + 6 ) {
		quantityIndex = index + 0;
		dimensionsIndex = index + 1;
		gridsIndex = index + 2;
		priceIndex = index + 3;
		taxCreditIndex = index + 4;
		
		selectIndex = form.elements[dimensionsIndex].selectedIndex;
		Garden_value = GardenPrice[selectIndex];
		gardengrids_num = form.elements[gridsIndex].selectedIndex;
		
		if( ( form.elements[quantityIndex].value == null || form.elements[quantityIndex].value.length == 0 ) ) {
			form.elements[quantityIndex].value = 1;
		}
		if( ( form.elements[taxCreditIndex].value == null || form.elements[taxCreditIndex].value.length == 0 ) ) {
			form.elements[taxCreditIndex].value = 0;
		}
		
		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 );
		}
		
		if( selectIndex == 0 ) {
			gardengrids_value = 0;
		}
		
		form.elements[priceIndex].value = formatPrice( form.elements[quantityIndex].value * ( parseFloat( Garden_value ) + parseFloat( gardengrids_value ) ) );
		
		form.elements[taxCreditIndex].value = '0.00';
	}
// Add up total
	
// Express all prices as XXX.XX
	taxcredittotal = (
		parseFloat( form.hungcredit1.value ) +
		parseFloat( form.hungcredit2.value ) +
		parseFloat( form.hungcredit3.value ) +
		parseFloat( form.hungcredit4.value ) +
		parseFloat( form.hungcredit5.value ) +
		parseFloat( form.hungcredit6.value ) +
		parseFloat( form.hungcredit7.value ) +
		parseFloat( form.hungcredit8.value ) +
		parseFloat( form.hungcredit9.value ) +
		parseFloat( form.hungcredit10.value ) +
		parseFloat( form.hungcredit11.value ) +
		parseFloat( form.hungcredit12.value ) +
		parseFloat( form.hungcredit13.value ) +
		parseFloat( form.hungcredit14.value ) +
		parseFloat( form.hungcredit15.value ) +
		parseFloat( form.casementcredit1.value ) +
		parseFloat( form.casementcredit2.value ) +
		parseFloat( form.casementcredit3.value ) +
		parseFloat( form.casementcredit4.value ) +
		parseFloat( form.casementcredit5.value ) +
		parseFloat( form.casementcredit6.value ) +
		parseFloat( form.casementcredit7.value ) +
		parseFloat( form.patiocredit1.value ) +
		parseFloat( form.patiocredit2.value ) +
		parseFloat( form.patiocredit3.value ) +
		parseFloat( form.patiocredit4.value ) +
		parseFloat( form.french_patiocredit1.value ) +
		parseFloat( form.french_patiocredit2.value ) +
		parseFloat( form.french_patiocredit3.value ) +
		parseFloat( form.french_patiocredit4.value ) /*+
		parseFloat( form.baycredit1.value ) +
		parseFloat( form.baycredit2.value ) +
		parseFloat( form.bowcredit1.value ) +
		parseFloat( form.bowcredit2.value ) +
		parseFloat( form.gardencredit1.value ) +
		parseFloat( form.gardencredit2.value ) +
		parseFloat( form.gardencredit3.value ) +
		parseFloat( form.gardencredit4.value )*/
	);
	
	if( taxcredittotal > 1500.00 ) {
		form.taxcredittotal.value = '1500.00';
	} else {
		form.taxcredittotal.value = formatPrice( taxcredittotal );
	}
	
	form.ordertotal.value = formatPrice( 
		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.casetot1.value ) +
		parseFloat( form.casetot2.value ) +
		parseFloat( form.casetot3.value ) +
		parseFloat( form.casetot4.value ) +
		parseFloat( form.casetot5.value ) +
		parseFloat( form.casetot6.value ) +
		parseFloat( form.casetot7.value ) +
		parseFloat( form.doortot1.value ) +
		parseFloat( form.doortot2.value ) +
		parseFloat( form.doortot3.value ) +
		parseFloat( form.doortot4.value ) +
		parseFloat( form.frenchtot1.value ) +
		parseFloat( form.frenchtot2.value ) +
		parseFloat( form.frenchtot3.value ) +
		parseFloat( form.frenchtot4.value ) +
		parseFloat( form.baytot1.value ) +
		parseFloat( form.baytot2.value ) +
		parseFloat( form.bowtot1.value ) +
		parseFloat( form.bowtot2.value ) +
		parseFloat( form.gardentot1.value ) +
		parseFloat( form.gardentot2.value ) +
		parseFloat( form.gardentot3.value ) +
		parseFloat( form.gardentot4.value )
	 );
}