var requestQuoteForm;
function validateRequestQuoteForm() {
	requestQuoteForm = document.getElementById("requestQuoteForm");
	with( requestQuoteForm ) {
		if ( !validateField(name, "Name is required!") ) {
			return false;
		}
		if ( !validateField(phone, "Phone is required!") ) {
			return false;
		}
		if ( !validateEmail(email, "Enter a valid E-Mail address!") ) {
			return false;
		}
		if ( !validateField(accountName, "Account Name is required!") ) {
			return false;
		}
		if ( !validateDropDown(format, "Format is required!") ) {
			return false;
		}
		if ( !validateField(imageSize, "Image Size is required!") ) {
			return false;
		}
		if ( !validateField(pageSize, "Page Size is required!") ) {
			return false;
		}
		if ( !validateField(pageNums, "Number of Pages is required!") ) {
			return false;
		}
		if ( !validateRadioButton(paperProvided, null, "Paper Provided is required!") ) {
			return false;
		}
		if ( !validateDropDown(paperWeight, "Paper Basis Weight is required!") ) {
			return false;
		}
		if ( !validateDropDown(paperGrade, "Paper Grade is required!") ) {
			return false;
		}
		if ( !validateDropDown(color, "Color is required!") ) {
			return false;
		}
		if ( !validateField(quantity, "Quantity is required!") ) {
			return false;
		}
		if ( !validateRadioButton(version, versionQuantity, "Versions is required!") ) {
			return false;
		}
		if ( !validateRadioButton(oneFourthFolding, foldingQuantity, "1/4 Folding is required!") ) {
			return false;
		}
		if ( !validateRadioButton(stringTieFolding, stringTieQuantity, "String-Tie Folding is required!") ) {
			return false;
		}
		if ( !validateRadioButton(boxing, boxingQuantity, "Boxing is required!") ) {
			return false;
		}
		if ( !validateDropDown(fileFormat, "File Format is required!") ) {
			return false;
		}
		if ( !validateDropDown(fileDeliveryType, "File Via is required!") ) {
			return false;
		}
		if ( !validateField(printLeadTime, "Print Lead Time is required!") ) {
			return false;
		}
		if ( !validateRadioButton(transportationRequired, null, "Transportation Required is required!") ) {
			return false;
		}
	}
	return true;
}

function validateEmail(fieldName,alertTxt) {
	with (fieldName) {
		if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(value)){
			fieldName.className = 'requiredTextBox';
			return true;
		} else {
			fieldName.focus;
			fieldName.className = 'failedTextBox';
			alert(alertTxt);
			return false;
		}
	}
}

function validateRadioButton(fieldName, secondaryField, alertTxt) {
	var checked = false;
	var fieldValue;
	for (i=0; i < fieldName.length; i++) {
		if (fieldName[i].checked) {
			checked = true;
			fieldValue = fieldName[i].value;
			break;
		}
	}
	if (!checked) {
		fieldName.focus;
		fieldName.className = 'failedTextBox';
		alert(alertTxt);
		return false;
	}
	else if (secondaryField != null && fieldValue == 'yes') {	
		with(requestQuoteForm) {
			return validateField(secondaryField, "If you answered 'Yes', please enter the quantity.");
		}
	} 
	else {
		if ( secondaryField != null ) {
			secondaryField.className = 'requiredTextBox';
		}
		fieldName.className = 'requiredTextBox'; 
		return true;
	}
}

function validateDropDown(fieldName, alertTxt) {
	if ( fieldName.selectedIndex == 0 )
    {
        alert ( alertTxt);
        fieldName.className = 'failedTextBox'; 
        return false;
    }
    else {
    	fieldName.className = 'requiredTextBox'; 
    	return true;
    }
}

function validateField(fieldName,alertTxt) {
	with (fieldName) {
		if (value==null || value=="") {
	        fieldName.focus;
	        fieldName.className = 'failedTextBox'; 
			alert(alertTxt);
			return false;
		} else {
			fieldName.className = 'requiredTextBox';
			return true;
		}
	}
}
