// JavaScript Document
var bookStates = new Array(12)
var validNumberCharacters = new String("0123456789")

//Empty
bookStates[0] = new Array()
//Arkansas
bookStates[1] = new Array('Bella Vista', 'Eureka Springs', 'Fort Smith', 'Harrison', 'Mountain Home', 'Northwest Arkansas', 'Siloam Springs', 'South Arkansas')
//Colorado 
bookStates[2] = new Array('Aspen', 'Craig', 'Delta', 'Estes Park', 'Glenwood Springs', 'Grand County', 'Montrose', 'Rifle', 'Steamboat Springs', 'Summit County', 'Telluride', 'Vail Valley') 
//Idaho
bookStates[3] = new Array('Lewis-Clark Valley', 'McCall/Cascade', 'Moscow', 'Southwest Idaho', 'Sun Valley')
//Kansas
bookStates[4] = new Array('Baxter Springs', 'Chanute', 'Coffeyville (Montgomery County)', 'Columbus', 'Craw-Kan', 'Fort Scott', 'Four County', 'Fredonia-Neodesha (Montgomery County)', 'Independence (Montgomery County)', 'Iola', 'LaHarpe', 'Parsons', 'Pittsburg') 
//Mississippi
bookStates[5] = new Array('Central Mississippi', 'Oxford/Batesville')
//Missouri
bookStates[6] = new Array('Aurora', 'Bates County', 'Branson', 'Carthage', 'Cassville-Shell Knob', 'Greenfield-Lockwood', 'Joplin', 'Lamar-Golden City', 'McDonald County', 'Monett', 'Mt Vernon', 'Neosho', 'Nevada-El Dorado Springs', 'Ozark-Nixa', 'Springfield', 'Stockton')
//New Mexico
bookStates[7] = new Array('Artesia', 'Carlsbad', 'Chama', 'Clovis', 'Eastern New Mexico', 'Espanola', 'Hobbs', 'Las Vegas', 'Los Alamos', 'Lovington', 'Roosevelt County', 'Roswell', 'Santa Fe', 'Silver City-Deming', 'Taos', 'Tucumcari', 'Western New Mexico') 
//Oklahoma
bookStates[8] = new Array('Grand Lake', 'Grove', 'Mayes County', 'Miami', 'Pryor-Chouteau', 'Vinita') 
//Oregon
bookStates[9] = new Array('Eastern Oregon')
//Texas
bookStates[10] = new Array('Abilene', 'Big Spring', 'Bryan/College Station', 'Denver City-Seminole', 'Eldorado/Ozona/Sonora', 'Killeen/Fort Hood', 'Lubbock', 'Midland', 'Odessa', 'San Angelo', 'Temple/Belton')
//Washington
bookStates[11] = new Array('Lewis-Clark Valley', 'Pullman/Palouse')

function PopulateBooks(){
	var formObject = document.forms[0]
	var index = formObject.BookState.options.selectedIndex
	 
	this.ClearMenu(formObject.Book)
	 
	for(var i = 0; i < bookStates[index].length; i++){
	   var option = new Option(bookStates[index][i], '')
	   formObject.Book.options[i] = option
	}
}

function PopulateBooks2(){
	var formObject = document.forms[0]
	var index = formObject.BookState.options.selectedIndex
	 
	this.ClearMenu(formObject.Book)
	 
	for(var i = 0; i < bookStates[index].length; i++){
	   var option = new Option(bookStates[index][i], '')
	   formObject.Book.options[i] = option
	}
	
	if(index == 0)
		document.getElementById("Book").disabled = true
	else
		document.getElementById("Book").disabled = false
}


function ClearMenu(object){
	var formObject = document.forms[0]

	for (var i =(object.length-1); i>=0; i--){
		  object.options[i]=null
	}
}

function AddToList(){
	var formObject = document.forms[0]
	var index = formObject.Book.options.selectedIndex
	var optionValue = formObject.Book.options[index].text
	var adLength = formObject.SelectedBooks.length
	
	if(optionValue != '')
	{
		var option = new Option(optionValue, optionValue)
		formObject.SelectedBooks.options[adLength] = option
	}
}

function AddToList2(){
	var formObject = document.forms[0]
	var bookLength = formObject.Book.length
	var adLength = formObject.SelectedBooks.length
	
	if(bookLength != 0)
	{	
		var index = formObject.Book.options.selectedIndex
		var optionValue = formObject.Book.options[index].text
	
		if(optionValue != '')
		{
			var option = new Option(optionValue, optionValue)
			formObject.SelectedBooks.options[adLength] = option
		}
	}
}

function ResetAll(){
	var formObject = document.forms[0]
	this.ClearMenu(formObject.Book)
	this.ClearMenu(formObject.SelectedBooks)
	formObject.reset
}

function SelectAll(object){
	for(var i = 0; i < object.length; i++){
		object.options[i].selected = true;
	}
}

function DeSelectAll(object){
	for(var i = 0; i < object.length; i++){
		object.options[i].selected = false;
	}
}


function ConvertPhoneToFormat(phoneToConvert){
	var tempString = new String("")
	var str = new String(phoneToConvert.value)
	var digits=""
	for(var i=0;i<str.length;i++) {
		c=str.charAt(i); if(c>="0" && c<="9") digits+=c;
	}
	
	//INITIAL : 5045555555
	//CONVERTED: (504) 555-5555
	for(i = 0; i<digits.length; i++)
	{
		switch(i)
		{
			case 3 :
				tempString  = "(" + tempString + ") " + digits.charAt(i)
				break;
			case 5 :
				tempString += digits.charAt(i) + "-"
				break;
			default:
				tempString += digits.charAt(i)
				break;
		}
	}
	
	phoneToConvert.value = tempString
}
			

function ValidatePhoneFormat(phoneToValidate){
	var str = new String(phoneToValidate.value)
	var digits=""
	for(var i=0;i<str.length;i++) {
		c=str.charAt(i); if(c>="0" && c<="9") digits+=c;
	}
	return digits.length==10;
}


function ValidateChangeYourListing()
{
	var formObject = document.forms[0]
	var errorMessage = ""
	var warningMessage = ""
	
	warningMessage += "For any fields that do not apply, please enter \"None\"\n\n"
	
	//Contact Person
	if(formObject.FirstName.value == "")
		errorMessage += "First name missing\n"
	
	if(formObject.LastName.value == "")
		errorMessage += "Last name missing\n"
	
	if(formObject.Email.value == "")
		errorMessage += "Email missing\n"
	
	if(!ValidatePhoneFormat(formObject.Phone))
		errorMessage += "Please enter 10 digits in contact phone field\n"
	
	if(errorMessage != "")
		errorMessage += "\n";

	//Select Book
	if(formObject.BookState.options[formObject.BookState.options.selectedIndex].text.substr(0,6) == "Select")
		errorMessage += "Book state must be selected\n"
		
	if(formObject.SelectedBooks.length <= 0)
		errorMessage += "Book list is empty\n"
	
	if(errorMessage != "")
		errorMessage += "\n";
		
	//Incorrect Listing Information
	if(formObject.IncorrectName.value == "")
		errorMessage += "Incorrect listing name missing\n"
		
	if(formObject.IncorrectEmailAddress.value == "")
	    errorMessage += "Incorrect listing e-mail missing\n"
	
	if(formObject.IncorrectWebAddress.value == "")
		errorMessage += "Incorrect listing web address missing\n"
		
	if(formObject.IncorrectStreetAddress.value == "")
		errorMessage += "Incorrect listing street address missing\n"
	
	if(formObject.IncorrectCity.value == "")
		errorMessage += "Incorrect listing city missing\n"
		
	if(formObject.IncorrectState.options[formObject.IncorrectState.options.selectedIndex].text == "Select")
		errorMessage += "Incorrect listing state must be selected\n"
		
	if(formObject.IncorrectZip.value == "")
		errorMessage += "Incorrect listing zip code missing\n"
	
	if(!ValidatePhoneFormat(formObject.IncorrectPhone))
		errorMessage += "Please enter 10 digits in incorrect listing phone field\n"
		
	if(errorMessage != "")
		errorMessage += "\n";
		
	//Correct Listing Information
	if(formObject.CorrectName.value == "")
		errorMessage += "Correct listing name missing\n"
		
	if(formObject.CorrectEmailAddress.value == "")
	    errorMessage += "Correct listing e-mail missing\n"
	
	if(formObject.CorrectWebAddress.value == "")
		errorMessage += "Correct listing web address missing\n"
		
	if(formObject.CorrectStreetAddress.value == "")
		errorMessage += "Correct listing street address missing\n"
	
	if(formObject.CorrectCity.value == "")
		errorMessage += "Correct listing city missing\n"
		
	if(formObject.CorrectState.options[formObject.CorrectState.options.selectedIndex].text == "Select")
		errorMessage += "Correct listing state must be selected\n"
		
	if(formObject.CorrectZip.value == "")
		errorMessage += "Correct listing zip code missing\n"
	
	if(!ValidatePhoneFormat(formObject.CorrectPhone))
		errorMessage += "Please enter 10 digits in correct listing phone field\n"
	
	if(errorMessage == "")
	{
		ConvertPhoneToFormat(formObject.Phone)
		ConvertPhoneToFormat(formObject.IncorrectPhone)
		ConvertPhoneToFormat(formObject.CorrectPhone)
		return true
	}
	else
	{	
		DeSelectAll(formObject.SelectedBooks)
		alert(warningMessage + errorMessage)
		return false
	}
}
		

function ValidateAdvertiseWithUs()
{
	var formObject = document.forms[0]
	var errorMessage = ""
	
	//Company Info
	if(formObject.CompanyName.value == "")
		errorMessage += "Company name missing\n"
		
	if(formObject.CompanyType.value == "")
		errorMessage += "Type of Business missing\n"
		
	if(formObject.CompanyAddress.value == "")
		errorMessage += "Address missing\n"
		
	if(formObject.CompanyCity.value == "")
		errorMessage += "City missing\n"
		
	if(formObject.CompanyState.options[formObject.CompanyState.options.selectedIndex].text.substr(0,6) == "Select")
		errorMessage += "State must be selected\n"
	
	if(!ValidatePhoneFormat(formObject.CompanyPhone))
		errorMessage += "Please enter 10 digits in company phone field\n"
		
	if(errorMessage != "")
		errorMessage += "\n";
	
	//Contact Person
	if(formObject.FirstName.value == "")
		errorMessage += "First name missing\n"
	
	if(formObject.LastName.value == "")
		errorMessage += "Last name missing\n"
	
	if(formObject.ContactEmail.value == "")
		errorMessage += "Email missing\n"
	
	if(!ValidatePhoneFormat(formObject.ContactPhone))
		errorMessage += "Please enter 10 digits in contact phone field\n"
	
	if(errorMessage != "")
		errorMessage += "\n";
		
	//Select Book
	if(formObject.BookState.options[formObject.BookState.options.selectedIndex].text.substr(0,6) == "Select")
		errorMessage += "Book state must be selected\n"
		
	if(formObject.SelectedBooks.length <= 0)
		errorMessage += "Book list is empty\n"
	
	if(errorMessage != "")
		errorMessage += "\n";
	
	if(errorMessage == "")
	{
		ConvertPhoneToFormat(formObject.CompanyPhone)
		ConvertPhoneToFormat(formObject.ContactPhone)
		return true
	}
	else
	{	
		DeSelectAll(formObject.SelectedBooks)
		alert(errorMessage)
		return false
	}
}


function ValidateArtSubmission(national)
{
	var errorMessage = ""
	
	var formObject = document.forms["form"]
	
	if(national) {
		formObject.txtAccountNum.value=formObject.txtAccountNum1.value+"-"+formObject.txtAccountNum2.value;
	}
	
	if(!(formObject.bnew.checked||formObject.bchange.checked)) {
		alert("You must check Ad Submission or Changes to Previous Submission and complete the form");
		return false;
	}
	
	if(!formObject.chkAgree.checked)
		errorMessage += "You must agree to the guidelines for art submission and check the box\n"
	
	//Select Book
	var sbk=formObject.bookSelect.options[formObject.bookSelect.options.selectedIndex].value;
	if(sbk == "")
		errorMessage += "A book must be selected\n"
	
	//Company Info
	if(formObject.txtCompanyName.value == "")
		errorMessage += national?"Client name missing\n":"Company name missing\n"
		
	if((formObject.txtAccountNum.value == "" && !(formObject.checkbox && formObject.checkbox.checked)) || (formObject.txtAccountNum.value == "-" && national))
		errorMessage += national?"CMR/Client number missing\n":"Account number missing\n"
		
	//Contact Person
	if(formObject.txtContactName.value == "")
		errorMessage += "Contact name missing\n"
	
	if(!ValidatePhoneFormat(formObject.txtContactPhone))
		errorMessage += "Please enter 10 digits in contact phone field\n"
	
	if(national && formObject.txtAdvertiserAgency.value == "")
		errorMessage += "Name of CMR Agency missing\n"
		
	if(formObject.txtAdInfo.value == "")
		errorMessage += "Artwork info missing\n"
		
	if(formObject.dropFileType.options.selectedIndex==0)
		errorMessage += "A file type must be selected\n"
	
	if(formObject.fileInputFile.value == "")
		errorMessage += "Original artwork file missing\n"
	else {
		var ext=formObject.fileInputFile.value;
		ext=ext.substring(ext.lastIndexOf(".")+1).toLowerCase();
		if(ext!="tif" && ext!="tiff" && ext!="jpg" && ext!="jpeg" && ext!="pdf" && ext!="zip" && ext!="sit" && ext!="eps" && ext!="psd")
			errorMessage += "Original artwork file does not have allowed file type\n"
	}
		
/*	if(formObject.fileJpegInputField.value == "")
		errorMessage += "Low-res JPG artwork file missing\n"
	else {
		var ext=formObject.fileJpegInputField.value;
		ext=ext.substring(ext.lastIndexOf(".")+1).toLowerCase();
		if(ext!="jpg" && ext!="jpeg")
			errorMessage += "Low-res artwork file does not have JPG file type\n"
	}
*/
	if(errorMessage == "")
	{
		ConvertPhoneToFormat(formObject.txtContactPhone);
		
		var tx="";
/*		if(sbk=="Temple/Belton" || sbk=="San Angelo" || sbk=="Midland" || sbk=="Odessa" || sbk=="Abilene" || sbk=="Bryan/College Station")
			tx="";
*/
	if(national) formObject.sendtohigh.value="kuser@namesandnumbers.com";
		else if(formObject.bnew.checked) formObject.sendtohigh.value="artsubmission"+tx+"-graphics@namesandnumbers.com";
		else formObject.sendtohigh.value="kuser@namesandnumbers.com";
			
		if(national) formObject.sendtolow.value="nationalart@namesandnumbers.com";
		else if(formObject.bnew.checked) formObject.sendtolow.value="artsubmission"+tx+"-qc-ss@namesandnumbers.com";
		else formObject.sendtolow.value="artsubmission"+tx+"-admgmt@namesandnumbers.com";
			
		return true
	}
	else
	{	
		alert(errorMessage)
		return false
	}
}


function radioValue(r)
{
	for(var i=0;i<r.length;i++) if(r[i].checked) return r[i].value;
	return "";
}


function ValidateTellus()
{
	var formObject = document.forms[0]
	var errorMessage = ""
	
	//Select Book
	var sbk=formObject.bookSelect.options[formObject.bookSelect.options.selectedIndex].value;
	if(sbk == "")
		errorMessage += "A book must be selected\n"
	
	//Radio Buttons
	if(radioValue(formObject.Oftenofuse) =="")
		errorMessage += "Please select how often you use your phone book\n"
	if(radioValue(formObject.Service) =="")
		errorMessage += "Please rate the Service Guide\n"
	if(radioValue(formObject.Findfast) =="")
		errorMessage += "Please rate the Find It Fast Section\n"
	if(radioValue(formObject.Govt) =="")
		errorMessage += "Please rate the Government Section\n"
	if(radioValue(formObject.community) =="")
		errorMessage += "Please rate the Community Information\n"
	if(radioValue(formObject.completeness) =="")
		errorMessage += "Please rate the Completeness\n"
		
	//Questions
	if(formObject.likeadded.value == "")
		errorMessage += "Please tell us what features you find useful and would like to see added to your phone book\n"
	if(formObject.whyuse.value == "")
		errorMessage += "Please tell us why you use and what you like most about your phone book\n"
	if(radioValue(formObject.online) =="")
		errorMessage += "Please tell us if you have accessed our directories online\n"
	if(radioValue(formObject.mobile) =="")
		errorMessage += "Please tell us if you have accessed our mobile site\n"	
	if(formObject.comments.value == "")
		errorMessage += "Please provide a comment or suggestion\n"
	
	//Name
	if(formObject.firstname.value == "")
		errorMessage += "First Name is missing\n"
	if(formObject.lastname.value == "")
		errorMessage += "Last Name is missing\n"
		
	if(formObject.address.value == "")
		errorMessage += "Address is missing\n"
	if(formObject.city.value == "")
		errorMessage += "City is missing\n"
		
	if(formObject.state.options[formObject.state.options.selectedIndex].text == "State")
		errorMessage += "State must be selected\n"
		
	if(formObject.zip.value == "")
		errorMessage += "Zip Code is missing\n"
	
	if(!ValidatePhoneFormat(formObject.phone))
		errorMessage += "Please enter 10 digits in Phone Number field\n"
	
	if(formObject.email.value == "")
		errorMessage += "Email is missing\n"
	
	if(errorMessage == "")
	{
		ConvertPhoneToFormat(formObject.phone)
		return true
	}
	else
	{	
		alert(errorMessage)
		return false
	}
}



//Old specific market contest validation
function ValidateContest()
{
	var formObject = document.forms[0]
	var errorMessage = ""
	
	//Select Book
	var sbk=formObject.bookSelect.options[formObject.bookSelect.options.selectedIndex].value;
	if(sbk == "")
		errorMessage += "A book must be selected\n"
	
	//Questions
	if(formObject.quest1.value == "")
		errorMessage += "Answer to Question 1 is missing\n"
	if(formObject.quest2.value == "")
		errorMessage += "Answer to Question 2 is missing\n"
	if(formObject.quest3.value == "")
		errorMessage += "Answer to Question 3 is missing\n"
	if(formObject.quest4.value == "")
		errorMessage += "Answer to Question 4 is missing\n"
	if(formObject.quest5.value == "")
		errorMessage += "Answer to Question 5 is missing\n"
		
	//Name
	if(formObject.firstname.value == "")
		errorMessage += "First Name is missing\n"
	if(formObject.lastname.value == "")
		errorMessage += "Last Name is missing\n"
		
	if(formObject.address.value == "")
		errorMessage += "Address is missing\n"
	if(formObject.city.value == "")
		errorMessage += "City is missing\n"
		
	if(formObject.state.options[formObject.state.options.selectedIndex].text == "State")
		errorMessage += "State must be selected\n"
		
	if(formObject.zip.value == "")
		errorMessage += "Zip Code is missing\n"
	
	if(!ValidatePhoneFormat(formObject.phone))
		errorMessage += "Please enter 10 digits in Phone Number field\n"
	
	if(formObject.email.value == "")
		errorMessage += "Email is missing\n"
	
	if(formObject.whyuse.value == "")
		errorMessage += "Please tell us why you use your Names and Numbers phone book\n"
	
	if(formObject.likemost.value == "")
		errorMessage += "Please tell us what you like most about your Names and Numbers phone book\n"
	
	if(formObject.likeadded.value == "")
		errorMessage += "Please tell us what you would like to see added to your Names and Numbers phone book\n"
	
	if(formObject.comments.value == "")
		errorMessage += "Please provide a comment or suggestion\n"
	
	if(errorMessage == "")
	{
		ConvertPhoneToFormat(formObject.phone)
		return true
	}
	else
	{	
		alert(errorMessage)
		return false
	}
}

