// JavaScript Document
// used to validate forms on the client-side before anything has been submitted

function validate_required(field,alerttxt){
	//alert('Validating ' + field.name);
	with (field){
	  if (value==null||value==""){
		  alert(alerttxt);
		  return false;
	  }
	  else{
		  return true;
	  }
	}
}

function validate_date(field,alerttxt){
	//alert('Validating ' + field.name);
	with (field){
	  if (!value.match(/\d\d\d\d-\d\d-\d\d/)){
		  alert(alerttxt);
		  return false;
	  }
	  else{
		  return true;
	  }
	}
}

function validate_time(field,alerttxt){
	//alert('Validating ' + field.name);
	with (field){
	  if (!value.match(/\d\d:\d\d:\d\d/)){
		  alert(alerttxt);
		  return false;
	  }
	  else{
		  return true;
	  }
	}
}

function validate_email(field,alerttxt){
	//alert('Validating ' + field.name);
	with (field){
		apos=value.indexOf("@");
		dotpos=value.lastIndexOf(".");
		if (apos<1||dotpos-apos<2) {
			alert(alerttxt);return false;
		}
		else {
			return true;
		}

	}
}


function validate_number(field,alerttxt){
	//alert('Validating ' + field.name);
	with (field){
		if (!value.match(/^\d+$/)){
			alert(alerttxt);
			return false;
		}
		else {
			return true;
		}
	}
}


function validate_select(field,alerttxt){
	//alert('Validating ' + field.name);
	with (field){
		if (value == 0){
			alert(alerttxt);
			return false;
		}
		else {
			return true;
		}
	}
}








function validate_registration(thisform){
	//alert('Validating the form: ' + thisform.name);
	with (thisform){
		if (validate_required(first_name,"First Name must be filled out!")==false){
			first_name.focus();
			return false;
		}
		if (validate_required(last_name,"Last Name must be filled out!")==false){
			last_name.focus();
			return false;
		}
		if (validate_email(email,"A valid e-mail address is required!")==false){
			email.focus();
			return false;
		}
		if (validate_required(password,"Password must be filled out!")==false){
			password.focus();
			return false;
		}		
		if(password.value != confirm_password.value){
			alert('Your password fields do not match')
			password.focus();
			return false;
		}
	}
}


function validate_auction(thisform){
	//alert('Validating the auction form: ' + thisform.name);
	with (thisform){
		if (validate_date(date,"Date fields must be in the format YYYY-MM-DD")==false){
			date.focus();
			return false;
		}
		if (validate_time(time,"Time fields must be in the format HH:MM:SS")==false){
			time.focus();
			return false;
		}
	}
}


/*
function validate_lotItem(thisform){
	//alert('Validating the lot item form: ' + thisform.name);
	with (thisform){
		if((price_realized.value != null) && (price_realized.value != "")){
			if (validate_number(price_realized,"The price realized must contain only numbers")==false){
				price_realized.focus();
				return false;
			}
		}
	}
}
*/



function validate_absenteeBid(thisform){
	//alert('Validating the absentee bid form: ' + thisform.name);
	with (thisform){
		if (validate_required(first_name,"First name is required")==false){
			first_name.focus();
			return false;
		}
		if (validate_required(last_name,"Last name is required")==false){
			last_name.focus();
			return false;
		}
		if (validate_required(phone,"Phone number is required")==false){
			phone.focus();
			return false;
		}
		if (validate_email(email,"A valid e-mail address is required")==false){
			email.focus();
			return false;
		}
		if (validate_required(address,"Address is required")==false){
			address.focus();
			return false;
		}
		if (validate_required(city,"City is required")==false){
			city.focus();
			return false;
		}
		if (validate_required(zip,"Zip is required")==false){
			zip.focus();
			return false;
		}
		if (validate_required(top_bid,"Top limit is required")==false){
			top_bid.focus();
			return false;
		}
		if (validate_required(lot_number,"Lot Number is required!")==false){
			lot_number.focus();
			return false;
		}
		if (validate_select(payment_type,"You must select a payment type!")==false){
			payment_type.focus();
			return false;
		}
		if (validate_required(description,"You must include a description!")==false){
			description.focus();
			return false;
		}
		if (validate_select(auction_ID,"You must select an auction!")==false){
			auction_ID.focus();
			return false;
		}
		if(security.value != 1){
			alert('Please try answering the security question again.')
			security.focus();
			return false;
		}
	}
}





function validate_appraisal(thisform){
	//alert('Validating the appraisal form: ' + thisform.name);
	with (thisform){
		if (validate_required(first_name,"First name is required")==false){
			first_name.focus();
			return false;
		}
		if (validate_required(last_name,"Last name is required")==false){
			last_name.focus();
			return false;
		}
		if (validate_email(email,"A valid e-mail address is required")==false){
			email.focus();
			return false;
		}
		if (validate_required(photo1,"You must include at least one photo! (Use the first upload input)")==false){
			photo1.focus();
			return false;
		}
		if(security.value != 1){
			alert('Please try answering the security question again.')
			security.focus();
			return false;
		}

	}
}


function validate_contact(thisform){
	//alert('Validating the contact form: ' + thisform.name);
	with (thisform){
		if (validate_required(name,"You must provide a name")==false){
			name.focus();
			return false;
		}
		if (validate_email(email,"You must provide a valid e-mail address")==false){
			email.focus();
			return false;
		}
		if (validate_required(question,"You must provide a question")==false){
			question.focus();
			return false;
		}
		if(security.value != 1){
			alert('Please try answering the security question again.')
			security.focus();
			return false;
		}
	}
}


function validate_change_password(thisform){
	//alert('Validating the change password form: ' + thisform.name);
	with (thisform){
		if (validate_required(new_password,"You must provide a new password")==false){
			new_password.focus();
			return false;
		}
		
		if(new_password.value != confirm_new_password.value){
			alert('Your password fields do not match')
			new_password.focus();
			return false;
		}


	}
}


function validate_myinformation(thisform){
	//alert('Validating the myinformation form: ' + thisform.name);
	with (thisform){
		if (validate_required(first_name,"First Name must be filled out!")==false){
			first_name.focus();
			return false;
		}
		if (validate_required(last_name,"Last Name must be filled out!")==false){
			last_name.focus();
			return false;
		}
	}
}