function validate_optionCheckedCount(fField){var optionCount=0;for(var i=0;i<fField.length;i++){if(fField[i].checked){optionCount++;}}return optionCount;}

function NB_formValidateErrorHandler( arrErrorMsgs, szErrorString ) {

	if( typeof szErrorString == "undefined" )
	{
		var szErrorString = arrErrorMsgs.length
			+ ((arrErrorMsgs.length > 1 ) ? " errors were" : " error was" )
			+ " detected in your form:";
	}
	
	szErrorString += "\n\n";
	

	for( var i = 0; i < arrErrorMsgs.length; i++ ) {
		szErrorString += ' * ' + arrErrorMsgs[i] + '\n\n';
	}

	alert( szErrorString );

}


function NB_formValidate(formObject){}


function NB_formFieldValueGet( objField ) {

	// GET VALUE OF SELECT LIST (SINGLE ITEM SELECTION)
	if( objField.type == "select-one" )
	{
		if (objField.options.length > 0) {
			return objField.options[ objField.options.selectedIndex ].value;
		} else {
			return "";
		}
	}	

	// GET VALUE OF SELECT LIST (MULTIPLE ITEM SELECTION)
	if( objField.type == "select-multiple" )
	{ 
		var szReturn = "";
		for( var i = 0; i< objField.options.length; i++ )
		{
			if( objField.options[ i ].selected )
			{
				szReturn += objField.options[i].value + ",";
			}
		}

		if( szReturn.length > 0 ) { szReturn = szReturn.substring( 0, szReturn.length-1); }

		return szReturn;
	}
	
	// GET VALUE OF A SINGLE CHECKBOX IF IT IS CHECKED
	if( objField.type == "checkbox" ) {
		return ((objField.checked) ? objField.value : "" );
	}
	
	// GET VALUE OF MULTIPLE CHECKBOXES
	if(
		(typeof objField.type != "string") &&
		(objField.length > 0) &&
		(objField[ 0 ] != null) &&
		(objField[ 0 ].type == "checkbox")
	) {
		var arrSelected = new Array();
	
		for (var i=0; i< objField.length; i++) {
			if( objField[i].checked ) { arrSelected[ arrSelected.length ] = objField[i].value; }
		}
		
		return arrSelected.toString();
	}

	// GET VALUE OF RADIO BUTTONS
	if(
		(typeof objField.type != "string") &&
		(objField.length > 0) &&
		(objField[ 0 ] != null) &&
		(objField[ 0 ].type == "radio")
	) {
		for (var i=0; i< objField.length; i++) {
			if( objField[i].checked ) { return objField[i].value; }
		}
		return "";
	}


	// GET VALUE OF STRING TYPES - HIDDEN, PASSWORD, TEXT, TEXTAREA
	if( typeof objField.type == "string" ) { return objField.value; };

	// IF NO MATCH, RETURN EMPTY STRING
	return "";
}


function NB_formFieldIsNotEmpty( objField ){ return(( NB_formFieldValueGet( objField ) != "" )?1:0) }

function checkMail(objField){
			var x = NB_formFieldValueGet( objField );
			x=x.trim();
			var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
			return filter.test(x);
		}

function NB_formFieldIsNumber( fField )
{
	if(fField.value=="")return 0;
	var firstNumberChar="+-.0123456789";
	var numberChars=".0123456789";
	var valIsNumber=1;
	
	if(firstNumberChar.indexOf(fField.value.charAt(0))<0){
		valIsNumber=0;
	}
	
	for(var i=1;i<fField.value.length;i++){
		if(numberChars.indexOf(fField.value.charAt(i))<0){valIsNumber=0;break;}
	}
	
	return valIsNumber;
}



function NB_formFieldIsPositiveNumber( fField )
{
	if(!NB_formFieldIsNumber( fField )) return 0;
	
	var blnIsNumber = 1;
	
	if( fField.value < 0 ){ blnIsNumber = 0 }
	return blnIsNumber;
}



function NB_formOptionSelect( objField, vValueToSelect ) {

	// ONLY PROCESS SELECT CONTROLS
	if((objField.type == "select-one") || (objField.type == "select-multiple" ))
	{ 
		for( var i = 0; i< objField.options.length; i++ )
		{
			objField.options[ i ].selected
				= ( objField.options[ i ].value == vValueToSelect );
		}
	}
}


function NB_formPasswordCompare( objField, objFieldConfirm ) { 
	return( objField.value == objFieldConfirm.value )
}


function NB_stringTrim( szString ) {
	alert('trim function');
	return szString.replace(/^\\s+|\\s+$/,'');
}
 
 //trim out extraneous whitespace
String.prototype.trim = function() {
    return this.replace(/^\s+|\s+$/g,"");
}

