// Validate a zip code to a certain geographic area
//
// City list to check for is seperated by a ';' and for cities with multiple words
// use an '_' instead of a space
function ValidateZipCode(ZipCode, Cities, LabelName)
{
	var error_string = "";
	var Result = false;
	var Value = ZipCode.value;
	// Just get the first 5 digits
	if (Value.length>5) {
			Value = Value.substring(0,5);
	}

	var CheckedCities = "";
	var ZipNum = parseInt(Value);
	
	if (LabelName==null) {
		LabelName = "zip_code_label";	
	}

	if ((Value.length != 5) && (Value.length!=9) && (Value.length!=10))
	{	
		error_string = "The zip code you entered is not valid.\n\n";
		Result = false;			
	}
	else 
	{	
		if (Cities.indexOf("ventura;")!=-1)
		{
			
			switch (ZipNum)
			{
				// Ventura
				case 93001:
				case 93002: // PO Box
				case 93003:
				case 93004:
				case 93005: // PO Box
				case 93006: // PO Box
				case 93007: // PO Box
				case 93009: // Unique
					Result = true;
					break;
			}
			CheckedCities = CheckedCities + "Ventura, ";
		}
		if (Cities.indexOf("oxnard;")!=-1)
		{
			if (Result == false)
				switch (ZipNum)
				{
				
					// Oxnard
					case 93030:
					case 93031: // PO Box
					case 93032: // PO Box
					case 93033:
					case 93034: // PO Box
					case 93035:
					case 93036:
						Result = true;
						break;
				}
			CheckedCities = CheckedCities + "Oxnard, ";
		}
		
		if (Cities.indexOf("camarillo;")!=-1)
		{
			if (Result == false) 
				switch (ZipNum)
				{
			
					// Camarillo
					case 93010:
					case 93011: // PO Box
					case 93012: 
						Result = true;
						break;
				}
			CheckedCities = CheckedCities + "Camarillo, ";
		}
		
		
		if (Cities.indexOf("oakview;")!=-1)
		{
			if (Result == false)
				switch (ZipNum)
				{	
					// Oakview
					case 93022:
						Result = true;
						break;
				}
			CheckedCities = CheckedCities + "Oakview, ";
		}
		
		
		if (Cities.indexOf("ojai;")!=-1)
		{
			if (Result == false)
				switch (ZipNum)
				{		
					// Ojai
					case 93023:
					case 93024: // PO Box
						Result = true;
						break;
				}
			CheckedCities = CheckedCities + "Ojai, ";
		}		
		
		if (Cities.indexOf("thousand_oaks;")!=-1)
		{
			if (Result == false)
				switch (ZipNum)
				{		
					// Thousand Oaks
					case 91319: // PO Box
					case 91320: 
					case 91358: // PO Box
					case 91359: // PO Box
					case 91360:
					case 91361:
					case 91362:
					case 91363: // Unique, also westlake
						Result = true;
						break;
				}
			CheckedCities = CheckedCities + "Thousand Oaks, ";
		}		
		
		if (Cities.indexOf("westlake_village;")!=-1)
		{
			if (Result == false)
				switch (ZipNum)
				{		
					// Westlake Village
					case 91359: // PO Box
					case 91361: 
					case 91362: 
						Result = true;
						break;
				}
			CheckedCities = CheckedCities + "Westlake Village, ";
		}		
		
		if (Cities.indexOf("agoura_hills;")!=-1)
		{
			if (Result == false)
				switch (ZipNum)
				{		
					// Agoura Hills
					case 91301: 
					case 91376:  // PO Box
					case 91377: 
					case 91363: // Unique, also Thousand Oaks
						Result = true;
						break;
				}
			CheckedCities = CheckedCities + "Agoura Hills, ";
		}		
		
		if (Cities.indexOf("moorpark;")!=-1)
		{
			if (Result == false)
				switch (ZipNum)
				{		
					// Moorpark
					case 93021: 
					case 93020:  // PO Box
						Result = true;
						break;
				}
			CheckedCities = CheckedCities + "Moorpark, ";
		}		
		
		if (Cities.indexOf("simi_valley;")!=-1)
		{
			if (Result == false)
				switch (ZipNum)
				{		
					// Simi Valley
					case 93062:	 // PO Box 
					case 93063:  
					case 93064:  // Unique
					case 93065:	 
					case 93093:  // PO Box
					case 93094:	 // PO Box
					case 93099:  // Unique
						Result = true;
						break;
				}
			CheckedCities = CheckedCities + "Simi Valley, ";
		}		
		
		if (Cities.indexOf("calabasas;")!=-1)
		{
			if (Result == false)
				switch (ZipNum)
				{		
					// Calabasas
					case 91301:	 
					case 91302:  
					case 91372:  // PO Box
					case 91399:	 // Unique	 
						Result = true;
						break;
				}
			CheckedCities = CheckedCities + "Calabasas, ";
		}		
		
		if (Cities.indexOf("woodland_hills;")!=-1)
		{
			if (Result == false)
				switch (ZipNum)
				{		
					// Woodland Hills
					case 91302:	 
					case 91303:  
					case 91364:  
					case 91365:	 // PO Box
					case 91367:
					case 91371:  // Unique
					case 91372:  // PO Box
					case 91399:  // Unique
					
						Result = true;
						break;
				}
			CheckedCities = CheckedCities + "Woodland Hills, ";
		}		
		
		if (Cities.indexOf("canoga_park;")!=-1)
		{
			if (Result == false)
				switch (ZipNum)
				{		
					// Canoga Park
					case 91303:	 // Shared with Woodland Hills
					case 91304:  
					case 91305:  // PO Box
					case 91306:	 
					case 91307:
					case 91308:  // PO Box
					case 91309:  // PO Box
					case 91396:  // PO Box
					
						Result = true;
						break;
				}
			CheckedCities = CheckedCities + "Canoga Park, ";
		}
		
		if (CheckedCities.length > 1)
			CheckedCities = CheckedCities.substring(0,CheckedCities.length-2);
			
		if (Result == false)
		{	
			error_string = "Unfortunately, the zip code you entered is not in an area that we service. We service the following communities: " + CheckedCities + ".\n\n";
		}
	}


	if (Result == false)
		document.getElementById(LabelName).style.color = 'red';
	else
		document.getElementById(LabelName).style.color = 'black';		
		
	return error_string;
}


