		var nationalURL="http://www.aaa.com?rclub=065&stop=yes&rurl=";
		var cookieName="ourzipck";
		function submitForm(){
			if(fieldsAreValid()){
				document.cookieForm.submit();
				return false;
			}else{
			    return false;
		   }
		}
		
		function fieldsAreValid(){
			return true;
		}
		
		function validateUser(){
			if(!spiderClient()) {
				var cookieData = getCookie(cookieName);
				var foundZipCode = ""
				var foundAssociation = ""
				var foundClub = ""
				var startIndex = 0;
				if(cookieData > "") {
					pipe = cookieData.indexOf("|");
					if(pipe > 4) {
						foundZipCode = cookieData.substring(startIndex, pipe);
						startIndex = pipe + 1
						pipe = cookieData.indexOf("|", startIndex);
						if(pipe > 8) {
							foundAssociation = cookieData.substring(startIndex, pipe);
							startIndex = pipe + 1;
							if(cookieData.length > startIndex) {
								foundClub = cookieData.substring(startIndex);
							}
						}
					}
				}
				if(foundZipCode > "" && foundAssociation > "" && foundClub > "") {
					// cookie found, data OK, continue
				} else {
					verifyUserIsInOurTerritory();		
				}			
			}//spider OK
		}//end validate user

		// checks to see if the client is a spider
		// currently this method only looks for several specific spiders, but covers the
		// major search engines. Other useragent matches would need to be added as 
		// they are desired/discovered
		function spiderClient() {
			var spiderFound = false;
			var useragent = window.navigator.userAgent;
			useragent = useragent.toUpperCase();
			if(useragent.substring(0, 6) == "GOOGLE" || useragent.substring(0, 7) == "BACKRUB") {
				// should match all Google Spiders
				spiderFound = true;
			} else if(useragent.substring(0, 5) == "YAHOO") {
				// should match all Yahoo spiders
				spiderFound = true;
			} else if(useragent.substring(0, 6) == "MSNBOT") {
				// should match all MSN spiders
				spiderFound = true;
			} else if(useragent.substring(0, 5) == "LYCOS") {
				// should match Lycos
				spiderFound = true;
			} else if(useragent.substring(0, 8) == "MERCATOR") {
				// should match AltaVista
				spiderFound = true;
			}
			return spiderFound;
		}
		
			// gets the zipcode cookie data from the club's cookie
		function getCookie(CookieName) {
			var search = CookieName + "=";
			if(document.cookie.length > 0) {
				offset = document.cookie.indexOf(search);
				if(offset != -1) {
					offset += search.length;
					end = document.cookie.indexOf(";", offset);
					
					if(end == -1) {
						end = document.cookie.length;
					}
					return document.cookie.substring(offset, end);
				}
			}
		}		
		function verifyUserIsInOurTerritory() {
			//Get zipcode from url
			var pageURL=document.URL;
			var parameters = window.location.search.substring(1);
			var pairs = parameters.split("&");
			var argName;
			var argValue;
			for(var i=0;i<pairs.length;i++){
				var pos=pairs[i].indexOf("=");
				if(pos>=0){
					argName=pairs[i].substring(0,pos);
					argValue=pairs[i].substring(pos+1);
					if(argName=="zip"){
						break;
					}
						
				}
			}
			if(argName=="zip"){
					//now if we find zip on url, we will let them in, write cookie.
					setCookie(argValue);
			}else{
			   //zipcode not found in url, no cookie either, send to national for verification
			   window.location=nationalURL + pageURL;
			}
		}//End function
		
		 function setCookie(zipCode){
			var pageURL=document.URL;
			var today=new Date();
			//Set cookie to expire in two years
			//365 days/year * 24 hours/day * 60 minutes/hour * 60 seconds/minute * 1000 milliseconds/second * 2 years
			var expires=new Date(today.getTime() + 1000 * 60 * 60 * 24 * 365 * 2);
			document.cookie=cookieName+"="+zipCode+"|AAA|065;expires="+expires.toGMTString()+";path=/";
		}
		<!--

/*
WM_setCookie(), WM_readCookie(), WM_killCookie()
A set of functions that eases the pain of using cookies.

Source: Webmonkey Code Library
(http://www.hotwired.com/webmonkey/javascript/code_library/)

Author: Nadav Savio
Author Email: nadav@wired.com
*/


// This next little bit of code tests whether the user accepts cookies.
var WM_acceptsCookies = false;
if(document.cookie == '') {
    document.cookie = 'WM_acceptsCookies=yes'; // Try to set a cookie.
    if(document.cookie.indexOf('WM_acceptsCookies=yes') != -1) {
	WM_acceptsCookies = true; 
    }// If it succeeds, set variable
} else { // there was already a cookie
  WM_acceptsCookies = true;
}


function WM_setCookie (name, value, hours, path, domain, secure) {
    if (WM_acceptsCookies) { // Don't waste your time if the browser doesn't accept cookies.
	var not_NN2 = (navigator && navigator.appName 
		       && (navigator.appName == 'Netscape') 
		       && navigator.appVersion 
		       && (parseInt(navigator.appVersion) == 2))?false:true;

	if(hours && not_NN2) { // NN2 cannot handle Dates, so skip this part
	    if ( (typeof(hours) == 'string') && Date.parse(hours) ) { // already a Date string
		var numHours = hours;
	    } else if (typeof(hours) == 'number') { // calculate Date from number of hours
		var numHours = (new Date((new Date()).getTime() + hours*3600000)).toGMTString();
	    }
	}
	document.cookie = name + '=' + escape(value) + ((numHours)?(';expires=' + numHours):'') + ((path)?';path=' + path:'') + ((domain)?';domain=' + domain:'') + ((secure && (secure == true))?'; secure':''); // Set the cookie, adding any parameters that were specified.
    }
} // WM_setCookie


function WM_readCookie(name) {
    if(document.cookie == '') { // there's no cookie, so go no further
	return false; 
    } else { // there is a cookie
	var firstChar, lastChar;
	var theBigCookie = document.cookie;
	firstChar = theBigCookie.indexOf(name);	// find the start of 'name'
	var NN2Hack = firstChar + name.length;
	if((firstChar != -1) && (theBigCookie.charAt(NN2Hack) == '=')) { // if you found the cookie
	    firstChar += name.length + 1; // skip 'name' and '='
	    lastChar = theBigCookie.indexOf(';', firstChar); // Find the end of the value string (i.e. the next ';').
	    if(lastChar == -1) lastChar = theBigCookie.length;
	    return unescape(theBigCookie.substring(firstChar, lastChar));
	} else { // If there was no cookie of that name, return false.
	    return false;
	}
    }	
} // WM_readCookie

function WM_killCookie(name, path, domain) {
  var theValue = WM_readCookie(name); // We need the value to kill the cookie
  if(theValue) {
      document.cookie = name + '=' + theValue + '; expires=Fri, 13-Apr-1970 00:00:00 GMT' + ((path)?';path=' + path:'') + ((domain)?';domain=' + domain:''); // set an already-expired cookie
  }
} // WM_killCookie


// -->
