Hi there,
I am currently doing some exercises on the JavaScript 4th edition by Don Gosselin. Well, the book itself is good, but here comes the problem (also i know its a pain in the ass to read that much code, but please if you are able to provide some help will be much appreciated)...and just to mention I am pasting the code for the form, but the problem is that the validation part is not working:


Code:
<script>
		function checkForNumber(fieldValue){
			var numberCheck = isNaN(fieldValue);
			if (numberCheck == true){
				window.alert("You must enter a numeric value!");
				return false;
			}
		}
		//Confirm Password box function
		function confirmPassword(){
			if(document.forms[0].password_confirm.value
			!= document.forms[0].password.value){
				window.alert("You did not enter the same password!");
				document.forms[0].password.focus();
			}
		}
		function noDelivery(){
			for(var i=0; i<document.forms[0].delivery.length;++i){
				if (document.forms[0].delivery[i].checked==true)
					document.forms[0].delivery[i].checked = false;
			}
		}
		function noSunday(){
			for(var i=0; i<document.forms[0].sunday.length;++i){
				if (document.forms[0].sunday[i].checked == true)
					document.forms[0].sunday[i].checked = false;
			}
		}
		//Function for copying the same data from a checkbox
		function sameShippingInfo(){
			if (document.forms[0].elements[5].checked == true){
				document.forms[0].name_shipping.value = document.forms[0].name_billing.value;
				document.forms[0].address_shipping.value = document.forms[0].address_billing.value;
				document.forms[0].city_shipping.value = document.forms[0].city_billing.value;
				document.forms[0].state_shipping.value = document.forms[0].state_billing.value;
				document.forms[0].zip_shipping.value = document.forms[0].zip_billing.value;
			}else{
				document.forms[0].name_shipping.value="";
				document.forms[0].address_shipping.value="";
				document.forms[0].city_shipping.value="";
				document.forms[0].state_shipping.value="";
				document.forms[0].zip_shipping.value="";
			}
		}
		//Adding magazines to the select box. -missing form subscription for adding values
		function addMagazine() { 
				if (document.forms[0].magazines.options[0] 
					&& document.forms[0].magazines.options[0].value == "none") 
					document.forms[0].magazines.options[0] = null; 


				else { 
					var magazine = new Option(); 
					magazine.text = document.forms[0].elements[31].value 
					magazine.value = document.forms[0].elements[31].value 
					nextItem = document.forms[0].magazines.length; 
					document.forms[0].magazines.options[nextItem] = magazine; 
					document.forms[0].elements[31].value = ""; 
				} 
				} 

		function deleteMagazine() { 
			var selectedItem = 
				document.forms[0].magazines.selectedIndex; 
			if (selectedItem == -1) 
				window.alert("You must select a magazine name in the list."); 
			else 
				document.forms[0].magazines.remove(selectedItem); 
				} 

		function changeMagazine() { 
			var selectedItem = 
				document.forms[0].magazines.selectedIndex; 
			if (selectedItem == -1) 
				window.alert("You must select a magazine name in the list."); 

			else { 
				document.forms[0].magazines.options[selectedItem] 
				.value = document.forms[0].elements[31].value; 
				document.forms[0].magazines.options[selectedItem] 
				.text = document.forms[0].elements[31].value; 
			} 
		} 
		//The above funciton is based on the values, not on the form elements, however else statement is using the [31] element.
		//onsubmit and onreset funciton below.!.
		function confirmSubmit(){
					var submitForm = window.confirm("Are you sure you want to submit the form?");
					if (submitForm != true){
						return false;
					}
					else if(document.form[0].name_billing.value == ""
						|| document.forms[0].address_billing.value == ""
						|| document.forms[0].city_billing.value == ""
						|| document.forms[0].state_billing.value == ""
						|| document.forms[0].zip_billing.value == ""){
					window.alert("You must enter your billing information.");
					return false;
				}
				else if(document.forms[0].name_shipping.value == ""
						||document.forms[0].address_shipping == ""
						||document.forms[0].city_shipping == ""
						||document.forms[0].state_shipping == ""
						||document.forms[0].zip_shipping == ""){
					window.alert("You must enter your shipping information.");
					return false;
				}
				else if(document.forms[0].area.value == ""
						||document.forms[0].exchange.value == ""
						||document.forms[0].phone.value == ""){
					window.alert("You must enter your telephone number");
					return false;
				}
				else if(document.forms[0].password.value == ""
						||document.forms[0].password_confirm.value == ""){
					window.alert("You must enter a password");			
					return false;
				}
				return true;
		}
		function confirmReset(){
			var resetForm = window.confirm("Are you sure you want to reset the form?");
			 if(resetForm == true){
				return true;
			 }else{
				return false;
			 }
		}
	</script>
</head>
<body>
	<h1> Gosselin Gazette Subscription Form</h1>
	<h2>Customer Information</h2>
<form action="FormProcessor.html" method="get" enctype="application/x-www-form-urlencoded" onsubmit="return confirmSubmit();" onreset="return confirmReset();">
	<table border="4">
		<tr>
			<td valign="top"><h3>Billing Information</h3>
				<p>Name<br />
					<input type="text" name="name_billing" size="50" /></p>
				<p>Address<br />
					<input type="text" name="address_billing" size="50" /></p>
				<p>Sity, State, Zip<br />
					<input type="text" name="city_billing" size="34" />
					<input type="text" name="state_billing" size "2" maxlength ="2" />
					<input type="text" name="zip_billing" size="10" maxlength ="10" 
					onchange="return checkForNumber(this.value);"/></p>
				<p><input type="checkbox" onclick="sameShippingInfo();" />Same shipping information</p>
			</td>
			<td valign="top">
			<h3>Shipping Information</h3>
			<p>Name<br />
				<input type="text" name="name_shipping" size="50" /></p>
			<p>Adress<br />
				<input type="text" name="address_shipping" size="50" /></p>
				<p>City, State, Zip<br />
				<input type="text" name="city_shipping" size="34" />
				<input type="text" name="state_shipping" size="2" maxlength="2"/>
				<input type="text" name="zip_shipping" size="2" maxlength="10"
				onchange="return checkForNumber(this.value);"/></p>
			</td>
	</table>
			<p>Telephone</p>
				<p>(<input type="text" name="area" size="3" maxlength="3" onchange="return checkForNumber(this.value);" />)
				<input type="text" name="exchange" size="3" maxlength="3" onchange="return checkForNumber(this.value);"/>
				<input type="text" name="phone" size="4" maxlength="4" onchange="return checkForNumber(this.value);"/></p>
		<p>Enter a password for subscription managing:</p>
		<p><input type="password" name="password" size="25"/></p>
		<p>Confirm Password:</p>
		<p><input type="password" name="password_confirm" size="25" onblur="confirmPassword();" /></p>
	<h3>Delivery Rates</h3>
	<table border="0">
		<colgroup align ="left" width="100" />
		<colgroup span="4" align="center" width="100" />
			<tr><th>&nbsp</th>
			<th>4 weeks</th>
			<th>13 weeks</th>
			<th>26 weeks</th>
			<th>52 weeks</th></tr>
			
			<tr><td><strong>Mon-Sat</strong></td>
			<td><input type="radio" name="delivery" value="12.60" onclick="noSunday();"/>$12.60</td>
			<td><input type="radio" name="delivery" value="40.95" onclick="noSunday();"/>$40.95</td>
			<td><input type="radio" name="delivery" value="81.90" onclick="noSunday();"/>$81.90</td>
			<td><input type="radio" name="delivery" value="156.00" onclick="noSunday();"/>$156.00</td></tr>
			
			<tr><td><strong>Every Day</strong></td>
			<td><input type="radio" name="delivery" value="13.56" onclick="noSunday();" />$13.56</td>
			<td><input type="radio" name="delivery" value="44.07" onclick="noSunday();"/>$44.07</td>
			<td><input type="radio" name="delivery" value="88.14" onclick="noSunday();"/>$88.14</td>
			<td><input type="radio" name="delivery" value="159.74" onclick="noSunday();"/>$159.74</td></tr>
	</table>
			<p><strong>Sundays Only ($3.50 per week)</strong>
			<input type="radio" name="sunday" value="weekly" onclick="noDelviery();" />
				Bill me weekly
			<input type="radio" name="sunday" value="monthly" onclick="noDelivery();" />
				Bill me monthly</p>
				
			<p>Do you subscribe to any other newspapers?</p>
			<p><input type="checkbox" name="newspapers" value="nytimes" /> New York Times<br />
			<p><input type="checkbox" name="newspapers" value="bostonglobe" /> Boston Globe<br />
			<p><input type="checkbox" name="newspapers" value="sfchronicle" /> San Fransisco Chronicle<br />
			<p><input type="checkbox" name="newspapers" value="miamiherald" /> Miami Herald<br />
			<p><input type="checkbox" name="newspapers" value="other" /> Other <br />
			
			<p>Magazine <input type="text" size="68" /></p> 
			<p><input type="button" value="Add Magazine" onclick="addMagazine();" style="width: 120px" /> <input type="button" value="Delete Magazine" onclick="deleteMagazine()" style="width: 120px" /> 
			<input type="button" value="Clear List" onclick="document.forms[0].magazines.options.length = 0;" 
			style="width: 120px" /> <input type="button" value="Change Magazine" onclick="changeMagazine()" style="width: 120px" /></p>
			<p><select name="magazines" multiple="multiple" size="10" style="width: 500px"> 
			<option value="none">Enter the magazines you subscribe to</option> 
			</select></p>
			
			<p><input type="image" alt="Graphical image of a subscribe button" src="subscribe.gif" /></p>
			<p><input type="reset" /></p>
</form>
</body>
</html>