
var errorMessage = '';

function validateBooksellerRegistration() {
	errorMessage = '';
	if (document.register.companyName.value == '') errorMessage = errorMessage + "Please specify a company name.\n";
	if (document.register.billingAddressLine1.value == '' || document.register.billingCity.value == '' || document.register.billingStateProvince.value == '' || document.register.billingCountry.value == '' || document.register.billingZip.value == '') errorMessage = errorMessage + "Please specify a complete billing address.\n";
	if (document.register.sameAsBilling.checked) {
	}
	else {
		if (document.register.shippingAddressLine1.value == '' || document.register.shippingCity.value == '' || document.register.shippingStateProvince.value == '' || document.register.shippingCountry.value == '' || document.register.shippingZip.value == '') errorMessage = errorMessage + "Please specify a complete shipping address.\n";
	}
	if (document.register.firstName.value == '' || document.register.surname.value == '') errorMessage = errorMessage + "Please specify a contact name.\n";
	if (validateEmail(document.register.email.value) == false) errorMessage = errorMessage + "Please specify a valid email address.\n";
	if (document.register.areaCode.value == '' || document.register.telephoneNumber.value == '') errorMessage = errorMessage + "Please specify a valid telephone number.\n";
	if (document.register.password.value == '') errorMessage = errorMessage + "Please specify a password.\n";
	if (document.register.password.value != '' && (document.register.password.value != document.register.confirmPassword.value)) errorMessage = errorMessage + "Your password does not match the confirmation password.\n";
	if (errorMessage != '') alert(errorMessage);
	else {
		document.register.submit();
	}
}

function validateMediaRegistration() {
	errorMessage = '';
	if (document.register.companyName.value == '') errorMessage = errorMessage + "Please specify a company name.\n";
	if (document.register.billingAddressLine1.value == '' || document.register.billingCity.value == '' || document.register.billingStateProvince.value == '' || document.register.billingCountry.value == '' || document.register.billingZip.value == '') errorMessage = errorMessage + "Please specify a complete billing address.\n";
	if (document.register.sameAsBilling.checked) {
	}
	else {
		if (document.register.shippingAddressLine1.value == '' || document.register.shippingCity.value == '' || document.register.shippingStateProvince.value == '' || document.register.shippingCountry.value == '' || document.register.shippingZip.value == '') errorMessage = errorMessage + "Please specify a complete shipping address.\n";
	}
	if (document.register.firstName.value == '' || document.register.surname.value == '') errorMessage = errorMessage + "Please specify a contact name.\n";
	if (validateEmail(document.register.email.value) == false) errorMessage = errorMessage + "Please specify a valid email address.\n";
	if (document.register.website.value == '') errorMessage = errorMessage + "Please specify a website address.\n";
	if (document.register.areaCode.value == '' || document.register.telephoneNumber.value == '') errorMessage = errorMessage + "Please specify a valid telephone number.\n";
	if (document.register.password.value == '') errorMessage = errorMessage + "Please specify a password.\n";
	if (document.register.password.value != '' && (document.register.password.value != document.register.confirmPassword.value)) errorMessage = errorMessage + "Your password does not match the confirmation password.\n";
	if (errorMessage != '') alert(errorMessage);
	else {
		document.register.submit();
	}
}

function validateConsumerRegistration() {
	errorMessage = '';
	if (document.register.billingAddressLine1.value == '' || document.register.billingCity.value == '' || document.register.billingStateProvince.value == '' || document.register.billingCountry.value == '' || document.register.billingZip.value == '') errorMessage = errorMessage + "Please specify a complete billing address.\n";
	if (document.register.sameAsBilling.checked) {
	}
	else {
		if (document.register.shippingAddressLine1.value == '' || document.register.shippingCity.value == '' || document.register.shippingStateProvince.value == '' || document.register.shippingCountry.value == '' || document.register.shippingZip.value == '') errorMessage = errorMessage + "Please specify a complete shipping address.\n";
	}
	if (document.register.firstName.value == '' || document.register.surname.value == '') errorMessage = errorMessage + "Please specify a contact name.\n";
	if (validateEmail(document.register.email.value) == false) errorMessage = errorMessage + "Please specify a valid email address.\n";
	if (document.register.areaCode.value == '' || document.register.telephoneNumber.value == '') errorMessage = errorMessage + "Please specify a valid telephone number.\n";
	if (document.register.password.value == '') errorMessage = errorMessage + "Please specify a password.\n";
	if (document.register.password.value != '' && (document.register.password.value != document.register.confirmPassword.value)) errorMessage = errorMessage + "Your password does not match the confirmation password.\n";
	if (errorMessage != '') alert(errorMessage);
	else {
		document.register.submit();
	}
}

function validateProfile(registrationType) {
	errorMessage = '';
	if (registrationType != 'I' && document.profile.companyName.value == '') errorMessage = errorMessage + "Please specify a company name.\n";
	if (registrationType == 'M' && document.profile.website.value == '') errorMessage = errorMessage + "Please specify a website address.\n";
	if (document.profile.billingAddressLine1.value == '' || document.profile.billingCity.value == '' || document.profile.billingState.value == '' || document.profile.billingCountry.value == '' || document.profile.billingZip.value == '') errorMessage = errorMessage + "Please specify a complete billing address.\n";
	if (document.profile.shippingAddressLine1.value == '' || document.profile.shippingCity.value == '' || document.profile.shippingState.value == '' || document.profile.shippingCountry.value == '' || document.profile.shippingZip.value == '') errorMessage = errorMessage + "Please specify a complete shipping address.\n";
	if (document.profile.firstName.value == '' || document.profile.surname.value == '') errorMessage = errorMessage + "Please specify a contact name.\n";
	if (validateEmail(document.profile.email.value) == false) errorMessage = errorMessage + "Please specify a valid email address.\n";
	if (document.profile.areaCode.value == '' || document.profile.telephoneNumber.value == '') errorMessage = errorMessage + "Please specify a valid telephone number.\n";
	if (errorMessage != '') alert(errorMessage);
	else {
		document.profile.submit();
	}
}

function validateContactForm() {
	errorMessage = '';
	if (document.contactUs.name.value == '') errorMessage = errorMessage + "Please specify a contact name.\n";
	if (validateEmail(document.contactUs.email.value) == false) errorMessage = errorMessage + "Please specify a valid email address.\n";
	if (document.contactUs.message.value == '') errorMessage = errorMessage + "Please write a brief message.\n";
	if (errorMessage != '') alert(errorMessage);
	else {
		document.contactUs.submit();
	}
}

function validateErrataForm() {
	errorMessage = '';
	if (document.errata.title.value == '') errorMessage = errorMessage + "Please specify the title of the book.\n";
	if (document.errata.isbn.value == '') errorMessage = errorMessage + "Please specify the ISBN from the back cover or copyright page.\n";
	if (document.errata.pageNumber.value == '') errorMessage = errorMessage + "Please specify the page number on which the error occurs.\n";
	if (document.errata.errorDescription.value == '') errorMessage = errorMessage + "Please describe the error.\n";
	if (document.errata.name.value == '') errorMessage = errorMessage + "Please provide your name.\n";
	if (validateEmail(document.errata.email.value) == false) errorMessage = errorMessage + "Please specify a valid email address.\n";
	if (errorMessage != '') alert(errorMessage);
	else {
		document.errata.submit();
	}
}

function validateDefectForm() {
	errorMessage = '';
	if (document.defect.title.value == '') errorMessage = errorMessage + "Please specify the title of the book.\n";
	if (document.defect.isbn.value == '') errorMessage = errorMessage + "Please specify the ISBN from the back cover or copyright page.\n";
	if (document.defect.pageNumber.value == '') errorMessage = errorMessage + "Please specify the page number on which the defect occurs.\n";
	if (document.defect.errorDescription.value == '') errorMessage = errorMessage + "Please describe the defect.\n";
	if (document.defect.name.value == '') errorMessage = errorMessage + "Please provide your name.\n";
	if (validateEmail(document.defect.email.value) == false) errorMessage = errorMessage + "Please specify a valid email address.\n";
	if (errorMessage != '') alert(errorMessage);
	else {
		document.defect.submit();
	}
}

function validateContactAuthorForm() {
	errorMessage = '';
	if (document.contactAuthor.author.value == '') errorMessage = errorMessage + "Please specify the author's name.\n";
	if (document.contactAuthor.message.value == '') errorMessage = errorMessage + "Please write a brief message.\n";
	if (document.contactAuthor.name.value == '') errorMessage = errorMessage + "Please provide your name.\n";
	if (validateEmail(document.contactAuthor.email.value) == false) errorMessage = errorMessage + "Please specify a valid email address.\n";
	if (errorMessage != '') alert(errorMessage);
	else {
		document.contactAuthor.submit();
	}
}

function validateJobsForm() {
	errorMessage = '';
	if (document.jobs.name.value == '') errorMessage = errorMessage + "Please provide your name.\n";
	if (validateEmail(document.jobs.email.value) == false) errorMessage = errorMessage + "Please specify a valid email address.\n";
	if (document.jobs.publishingBackground.value == '') errorMessage = errorMessage + "Please describe your publishing background.\n";
	if (document.jobs.relevantExperience.value == '') errorMessage = errorMessage + "Please describe your relevant experience.\n";
	if (errorMessage != '') alert(errorMessage);
	else {
		document.jobs.submit();
	}
}

function validateSearchForm() {
	errorMessage = '';
	if (document.searchForm.searchValue.value == '') errorMessage = errorMessage + "Please specify something to search for.\n";
	if (errorMessage != '') alert(errorMessage);
	else {
		document.searchForm.submit();
	}
}

function validateOmnipresentSearchForm() {
	errorMessage = '';
	if (document.omnipresentSearchForm.searchValue.value == '') errorMessage = errorMessage + "Please specify something to search for.\n";
	if (errorMessage != '') alert(errorMessage);
	else {
		document.omnipresentSearchForm.submit();
	}
}

function validateLoginForm() {
	errorMessage = '';
	if (validateEmail(document.loginForm.Email.value) == false) errorMessage = errorMessage + "Please specify a valid email address.\n";
	if (document.loginForm.Password.value == '') errorMessage = errorMessage + "Please enter your password.\n";
	if (errorMessage != '') alert(errorMessage);
	else {
		document.loginForm.submit();
	}
}

function validateForgotPassword() {
	errorMessage = '';
	if (validateEmail(document.forgotPassword.Email.value) == false) errorMessage = errorMessage + "Please specify a valid email address.\n";
	if (errorMessage != '') alert(errorMessage);
	else {
		document.forgotPassword.submit();
	}
}

function validateResetPassword() {
	errorMessage = '';
	if (validateEmail(document.resetPassword.Email.value) == false) errorMessage = errorMessage + "Please specify a valid email address.\n";
	if (document.resetPassword.Password.value == '') errorMessage = errorMessage + "Please specify a password.\n";
	if (document.resetPassword.Password.value != '' && (document.resetPassword.Password.value != document.resetPassword.confirmPassword.value)) errorMessage = errorMessage + "Your password does not match the confirmation password.\n";
	if (errorMessage != '') alert(errorMessage);
	else {
		document.resetPassword.submit();
	}
}

function validateTellAfriendForm() {
	errorMessage = '';
	if (document.tellAfriend.senderName.value == '') errorMessage = errorMessage + "Please provide your name.\n";
	if (validateEmail(document.tellAfriend.senderEmail.value) == false) errorMessage = errorMessage + "Please specify a valid sender email address.\n";
	if (document.tellAfriend.recipientName.value == '') errorMessage = errorMessage + "Please provide the recipient's name.\n";
	if (validateEmail(document.tellAfriend.recipientEmail.value) == false) errorMessage = errorMessage + "Please specify a valid recipient email address.\n";
	if (errorMessage != '') alert(errorMessage);
	else {
		document.tellAfriend.submit();
	}
}

function validateEmail(emailAddress) {
	var foundAtSymbol = 'N';
	var foundDot = 'N';
	for (counter = 0; counter < emailAddress.length; counter++) {
		if (emailAddress.substring(counter,counter + 1) == '@') foundAtSymbol = 'Y';
		if (emailAddress.substring(counter,counter + 1) == '.') foundDot = 'Y';
	}
	if (foundAtSymbol == 'Y' && foundDot == 'Y') {
		if (forbiddenCharacters(emailAddress, ' ') == true) return true;
		else return false;
	}
	else return false;
}

function allowableCharacters(userInput, allowableCharacters) {
	var foundIllegalCharacter = 'N';
	userInput = userInput.toLowerCase();
	for (outerCounter = 0; outerCounter < userInput.length; outerCounter++) {
		var foundIt = 'N';
		for (innerCounter = 0; innerCounter < allowableCharacters.length; innerCounter++) {
			if (userInput.substring(outerCounter,outerCounter + 1) == allowableCharacters.substring(innerCounter,innerCounter + 1)) foundIt = 'Y';
		}
		if (foundIt == 'N') foundIllegalCharacter = 'Y';
	}
	if (foundIllegalCharacter == 'N') return true;
	else return false;
}

function forbiddenCharacters(userInput, forbiddenCharacters) {
	var foundIt = 'N';
	for (outerCounter = 0; outerCounter < userInput.length; outerCounter++) {
		for (innerCounter = 0; innerCounter < forbiddenCharacters.length; innerCounter++) {
			if (userInput.substring(outerCounter,outerCounter + 1) == forbiddenCharacters.substring(innerCounter,innerCounter + 1)) foundIt = 'Y';
		}
	}
	if (foundIt == 'N') return true;
	else return false;
}

function cleanString(userInput, excisedCharacter) {
	var cleanInput = '';
	for (counter = 0; counter < userInput.length; counter++) {
		if (userInput.substring(counter,counter + 1) != excisedCharacter) cleanInput = cleanInput + userInput.substring(counter,counter + 1);
	}
	return cleanInput;
}


