
function cancel_form(wurl){
		alert('Process cancelled.');
		window.location=wurl
}

function submitwform(wgotourl){
	document.wform.action=wgotourl;
	document.wform.submit();
}		

function submiterrorform(wgotourl){
	document.errorform.action=wgotourl;
	document.errorform.submit();
}	

function addAAPCheck(wgotourl){
	var error_msg = 'You will not be able to change this task after adding a new task.  Be sure the data you entered for this task is correct.  Do you still want to proceed? If yes, click OK. If no, click Cancel. ';
	if (confirm(error_msg)) {
		document.wform.action=wgotourl;
		document.wform.submit();
	}
}	

function dspComingSoon(){
	alert('Coming Soon');
}	

function validate_textarea_length(wmaxlength,wfieldname){
		var wfld = document.wform[wfieldname].value;
		if (wfld.length > wmaxlength) {
			alert("The "+wfieldname+" field will accept no more than "+wmaxlength+" characters. The value you entered is "+wfld.length+" characters.");
			document.wform[wfieldname].focus();
			document.wform[wfieldname].select();
		}
}			

function validate_numeric_value(wfieldname,wfieldlabel){
		var wfld = document.wform[wfieldname].value;
		if (isNaN(wfld)) {
			alert("The "+wfieldlabel+" field must be an integer value.");
			document.wform[wfieldname].focus();
			document.wform[wfieldname].select();
		}
}		

function setEventTypeSettings() {
	with (document.wform) {
		if (event_type.value == 'Backpack') {
			cost.value = '45.00';
			num_of_persons.value = '6';			
		} else if (event_type.value == 'Day hike') {
			cost.value = '15.00';
			num_of_persons.value = '12';	
		}
	}
}

function setDefaultDepartureTime() {
	with (document.wform) {
		departure_time.value = begin_time.value;
	}
}

function expandCollapseInviteList() {
	with (document.wform) {
		
		for (i = 0; i < elements.length; i++) {
			if ((elements[i].name == 'invite_only') && (elements[i].type == 'checkbox')){
					if (elements[i].checked == true) {
						document.getElementById('invite_list').style.display = 'block';						
					} else {
						document.getElementById('invite_list').style.display = 'none';								
					  }
			}
		}		
	}
}

function setDefaultReturnTime() {
	
	with (document.wform) {
		return_time.value = end_time.value;
	}
}

function isLeaderFormReady() {

	with (document.wform) {

		if (chkRequired(event_title.value) == false) {
			alert("You must enter an event title.");
			event_title.focus();
			return false;
		}
		if (chkRequired(event_type.value) == false) {
			alert("You must enter an event type.");
			event_type.focus();
			return false;
		}	
		if ((distance.value != '') && (isInteger(distance.value) == false)) {
			alert("The distance entered must be an integer value.");
			distance.focus();
			return false;
		}	
		if ((distance.value != '') && (distance_type.value == '')) {
			alert("If distance is entered, you must select a distance type.");
			distance_type.focus();
			return false;
		}		
		if ((elevation_gain.value != '') && (isInteger(elevation_gain.value) == false)) {
			alert("The elevation gain entered must be an integer value.  Do not include commas, feet, etc.");
			elevation_gain.focus();
			return false;
		}		
		if (chkRequired(meeting_place.value) == false) {
			alert("You must enter a meeting place.");
			meeting_place.focus();
			return false;
		}	
		
		if (begin_time.value.length <= 2) {
			alert("You must enter a begin time.");
			begin_time.focus();
			return false;
		}		
		if (end_time.value.length <= 2) {
			alert("You must enter an end time.");
			end_time.focus();
			return false;
		}			
		if (departure_time.value.length <= 2) {
			alert("You must enter a departure time.");
			departure_time.focus();
			return false;
		}		
		if (return_time.value.length <= 2) {
			alert("You must enter a return time.");
			return_time.focus();
			return false;
		}			
		if (chkRequired(num_of_persons.value) == false) {
			alert("You must enter the maximum number of persons allowed for this event.");
			num_of_persons.focus();
			return false;
		}		
		if (isInteger(num_of_persons.value) == false) {
			alert("The value for maximum number of persons must be an integer value.");
			num_of_persons.focus();
			return false;
		}
		if ((event_type.value == 'Backpack' || event_type.value == 'Day hike') && (difficulty_level.value.length == 0)) {
			alert("You must enter the difficulty level if backpack or day hike is selected.");
			difficulty_level.focus();
			return false;
		}
		if (chkRequired(permit_status.value) == false) {
			alert("You must enter a permit status for this event.  Enter capacity if permit is not required.");
			permit_status.focus();
			return false;
		}			
		if (chkRequired(num_registered.value) == false) {
			alert("The current number of people registered for this event must be entered.");
			num_registered.focus();
			return false;
		}
		if (isInteger(num_registered.value) == false) {
			alert("The current number of people entered must be an integer value.");
			num_registered.focus();
			return false;
		}		
		if (chkRequired(cost.value) == false) {
			alert("The cost for this event must be entered.  If none, enter 0.");
			cost.focus();
			return false;
		}			
		if (isDecimalNumber(cost.value) == false) {
			alert("Enter the cost in the format '10.00', '10', '0', '24.73'.");
			cost.focus();
			return false;
		}			

		var s = FCKeditorAPI.GetInstance('introduction');
		if (s.GetXHTML() =="" || s.GetXHTML() == null) {
			alert("You must enter an introduction.");
			return false;
		}
 
		return true;
	}
}	


function isReady() {
	with (document.wform) {
		
		for (i = 0; i < elements.length; i++) {
			if ((elements[i].name == 'event_id') 
					&& (elements[i].value == 0)){
					alert("You must register for an event to create a user account.  Please select the event you wish to register for.");
					elements[i].focus();
					return false;									
			}
		}
	
	
		if (chkRequired(first_name.value) == false) {
			alert("You must enter your first name.");
			first_name.focus();
			return false;
		}
	
		if (first_name.value.length <= 1) {
			alert("You must enter your full first name.");
			first_name.focus();
			return false;
		}
		 
		if (chkRequired(last_name.value) == false) {
			alert("You must enter your last name.");
			last_name.focus();
			return false;
		}			
	
		if (last_name.value.length <= 1) {
			alert("You must enter your full last name.");
			last_name.focus();
			return false;
		}
					
		if (isEmail(email.value) == false) {
			alert("Please enter a valid email address.");
			email.focus();
			return false;
		}
	
	
		if (chkRequired(street_address.value) == false) {
			alert("You must enter a street address.");
			street_address.focus();
			return false;
		}
				
		if (street_address.value.length <= 2) {
			alert("You must enter your full street address.");
			street_address.focus();
			return false;
		}
							
		if (chkRequired(city.value) == false) {
			alert("You must enter a city address.");
			city.focus();
			return false;
		}
		
		if (city.value.length <= 1) {
			alert("You must enter your city.");
			city.focus();
			return false;
		}
					
		if (chkRequired(state.value) == false) {
			alert("You must enter a state abbreviation.");
			state.focus();
			return false;
		}	
			
		if (state.value.length <= 1) {
			alert("You must enter your state abbreviation.");
			state.focus();
			return false;
		}
								
		if (chkRequired(zip.value) == false) {
			alert("You must enter a zip code address.");
			zip.focus();
			return false;
		}	
						
		if (zip.value.length <= 4) {
			alert("You must enter a valid zip code address.");
			zip.focus();
			return false;
		}
									
		if (chkRequired(phone.value) == false) {
			alert("You must enter a phone number including area code.");
			phone.focus();
			return false;
		}	
			
		if (phone.value.length <= 9) {
			alert("You must enter a phone number including area code.");
			phone.focus();
			return false;
		}
							
		if (chkRequired(emergency_contact.value) == false) {
			alert("You must provide a contact in case of an emergency.");
			emergency_contact.focus();
			return false;
		}
		
		if (emergency_contact.value.length <= 1) {
			alert("You must enter a first and last name for emergency contact.");
			emergency_contact.focus();
			return false;
		}	
				
		if (chkRequired(emergency_phone.value) == false) {
			alert("You must enter the emergency contacts phone number including area code.");
			emergency_phone.focus();
			return false;
		}	
			
		if (emergency_phone.value.length <= 9) {
			alert("You must enter an emergency phone number including area code.");
			emergency_phone.focus();
			return false;
		}
		
		if (chkRequired(hiking_experience.value) == false) {
			alert("You must describe your hiking experience.");
			hiking_experience.focus();
			return false;
		}
		
		if (hiking_experience.value.length <= 2) {
			alert("You must describe your hiking experience.");
			hiking_experience.focus();
			return false;
		}
					
		if (chkRequired(fitness_level.value) == false) {
			alert("You must describe your fitness level.");
			fitness_level.focus();
			return false;
		}
		
		if (fitness_level.value.length <= 2) {
			alert("You must describe your fitness level.");
			fitness_level.focus();
			return false;
		}
															
		if (chkRequired(wusername.value) == false) {
			alert("You must select a username.");
			wusername.focus();
			return false;
		}
							
		if (wusername.value.length <= 1) {
			alert("You must select a username.");
			wusername.focus();
			return false;
		}
					
		if (chkRequired(wpassword.value) == false) {
			alert("You must select a password.");
			wpassword.focus();
			return false;
		}
						
		if (wpassword.value.length <= 4) {
			alert("You must enter a password that is at least five characters long.");
			wpassword.focus();
			return false;
		}
					
		if (chkRequired(password_validate.value) == false) {
			alert("You must enter the password again.");
			password_validate.focus();
			return false;
		}				
		
		if (wpassword.value != password_validate.value) {
				alert("Your second entry of the password must match your first entry.");					
				password_validate.focus();
				password_validate.select();
				return false;
		}		
	
		for (i = 0; i < elements.length; i++) {
			if ((elements[i].name == 'liability_waiver') 
					&& (elements[i].checked == false) 
					&& (elements[i].type == 'checkbox')){
					alert("You must read and agree to the liability waiver before continuing.");							
					return false;									
			}
		}
		
		for (i = 0; i < elements.length; i++) {
			if ((elements[i].name == 'photo_consent') 
					&& (elements[i].checked == false) 
					&& (elements[i].type == 'checkbox')){
					alert("You must read and agree to the photo consent statement before continuing.");							
					return false;									
			}				
		}
		 
		return true;
	}
}	

function chkRequired(string) {

   if (!string) 
		return false;
   else 
		return true;
}  

function isEmail(string) {
	if (string.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)
		return true;
	else
		return false;
}
function isInteger(sText) {
   var ValidChars = "0123456789";
   var IsNumber=true;
   var Char;
 
   for (i = 0; i < sText.length && IsNumber == true; i++) { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) {
         IsNumber = false;
      }
   }
   return IsNumber;
}
function isDecimalNumber(sText) {
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;
 
   for (i = 0; i < sText.length && IsNumber == true; i++) { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) {
         IsNumber = false;
      }
   }
   return IsNumber;
}


