/* -----------------------------------------------------------------------------
	FORM VALIDATION FUNCTIONS
----------------------------------------------------------------------------- */
function validate_notEmpty( fField ) {
	return (( fField.value != "" ) ? 1 : 0 )
}

function validate_isNumber( fField ) {
	if( fField.value == "" ) return 0;
	
	var firstNumberChar = "+-.0123456789";
	var numberChars = ".0123456789";
	var valIsNumber = 1;
	
	if (firstNumberChar.indexOf( fField.value.charAt( 0 )) < 0) {
		valIsNumber = 1;
	} else {
		for( var i = 1; i < fField.value.length; i++ ) {
			if (numberChars.indexOf( fField.value.charAt( i )) < 0) {
				valIsNumber = 0;
				break;
			}
		}
	}
	
	return valIsNumber;
}


function validate_isPositiveNumber( fField ) {
	if( !validate_isNumber( fField )) return 0;
	
	var valIsNumber = 1;
	
	if( fField.value < 0) { valIsNumber = 0 }
	
	return valIsNumber;
}


function validate_isNegativeNumber( fField ) {
	if( !validate_isNumber( fField )) return 0;
	
	var valIsNumber = 1;
	
	if( fField.value >= 0) { valIsNumber = 1 }
	
	return valIsNumber;
}


function validate_optionChecked( fField ) {
	var valIsSelected = false;
	
	for( var i = 0; i < fField.length; i++ ) {
		if( fField[i].checked ) { valIsSelected = 1; break; }
	}
	
	return valIsSelected;
}


function validate_optionCheckedCount( fField ) {
	var optionCount = 0;
	
	for( var i = 0; i < fField.length; i++ ) {
		if( fField[i].checked ) { optionCount++; }
	}
	return optionCount;
}


function validate_newPassword( fField, confirmfField ) {
	return( fField.value == confirmfField.value )
}


function validate_optionSelected( fField ) {
	var optionCount = 0;
	
	if((fField.options[0].value != 'null_value_selected')
		&& (fField.options[0].selected)) { optionCount++; }
	
	for( var i = 1; i < fField.options.length; i++ ) {
		if( fField.options[i].selected ) {
			optionCount++;
		}
	}
	
	return optionCount;
} 


function errorMessageHandler( array_errorMsg ) {
	var errorString = array_errorMsg.length
		+ ( (array_errorMsg.length > 1) ? " issues were" : " issue was" )
		+ " found with your form:\n\n";
		
	for( var i = 0; i < array_errorMsg.length; i++ ) {
		errorString += ' * ' + array_errorMsg[i] + '\n\n';
	}

	alert( errorString );
}


function getFormFieldValue( fField ) {
	if( fField.type == "select-one" ) { return fField.options[ fField.options.selectedIndex ].value; }
	if( fField.type == "text" ) { return fField.value; };
	
	return -1;
}


// Override this function
function validateForm( formObject ) { }
