    function isblank(s)
    {
        for ( var i = 0; i < s.length; i++ )
        {
            var c = s.charAt(i);
            if ( ( c != ' ' ) && ( c != '\n' ) && ( c != '\t' ) )
            {
				return false;
			}
        }
        return true;
    }

    function containblank(s)
    {
        for ( var i = 0; i < s.length; i++ )
        {
            var c = s.charAt(i);
            if ( ( c == ' ' ) || ( c == '\n' ) || ( c == '\t' ) ) return true;
        }
        return false;
    }
    
    function verify(f){
		return verifywithcustommessage(f,'Please correct these error(s) and re-submit');
    }
    
    function verifywithcustommessage(f,strMsg)
    {
        var msg;
        var empty_fields = "";
        var errors = "";

        for ( var i = 0; i < f.length; i++ )
        {
            var e = f.elements[i];
            
            if ( ( ( e.type == "text" ) || ( e.type == "textarea" ) || ( e.type == "file" ) || ( e.type == "password" ) ) && !e.optional )
            {
                if ( ( e.value == null ) || ( e.value == "" ) || isblank( e.value ) )
                {
					empty_fields += "\n     " + e.name.replace(/_/g," ");
                    continue;
                }

                if ( e.numeric || ( e.min != null && e.min != "" ) || ( e.max != null  && e.max != "") )
                {
                    var v = parseFloat( e.value );
                    if ( isNaN( v ) ||
                        ( ( e.min != null ) && ( v < e.min ) ) ||
                        ( ( e.max != null ) && ( v > e.max ) ) )
                    {
                            errors += "_ The field " + e.name.replace(/_/g," ") + " must be a number";
                            if ( e.min != null )
                                errors += " that is greater than " + e.min;
                            if ( e.max != null && e.min != null )
                                errors += " and less than " + e.max;
                            else if ( e.max != null )
                                errors += " that is less than " + e.max;
                            errors += ".\n";
                    }
                }
                
                if ( e.image )
                {
					if ( e.value.indexOf('.') != -1 ) 
					{
						strExt = e.value.substring ( e.value.lastIndexOf( '.' ) +1 ).toUpperCase();
						if ( strExt != 'GIF' && strExt != 'JPG' )
						{
							errors += "_ The field " + e.name.replace(/_/g," ") + " must be an image.\n";
						}
					}
                }
                
                if ( e.text )
                {
					if ( e.value.indexOf('.') != -1 )
					{
						strExt = e.value.substring( e.value.lastIndexOf( '.' ) +1 ).toUpperCase();
						if ( strExt != 'TXT' && strExt != 'HTM' && strExt != 'HTML' )
						{
							errors += "_ The field " + e.name.replace(/_/g," ") + " must be an HTML or TXT file.\n";
						}
					}
				}
				
				
				if ( e.noblanks )
				{
					if ( containblank(e.value) )
					{
						errors += "_ The field " + e.name.replace(/_/g," ") + " must not contain spaces.\n";
					}
				}
				
				if ( e.confirm != null )
				{
					if ( e.value != e.confirm.value )
					{
						errors += "_ The passwords you entered are not equal."
					}
				}
				
				if ( e.email )
				{
					s = e.email.value
			        for ( var i = 0; i < s.length; i++ )
					{
						var c = s.charAt(i);
						if ( ( c < '\x2e' ) || ( c > '\x7a' ) ) 
						{
							errors += "_ The email address you entered is not valid."
						}
					}
					return true;	
				}
            }
            
            if (e.type == "select-one") {
				if (e.selectedIndex == e.invalidIndex) {
					empty_fields += "\n     " + e.name.replace(/_/g," ");
					//errors += "_ You must choose an option from the drop down box."
				}
            }
       }

        if ( !empty_fields && !errors ) return true;

        msg = "_________________________________________________\n\n"
        msg += " The form was not submitted due to the following error(s).\n";
        msg += " " + strMsg + ".\n";
        msg += "_________________________________________________\n\n"

        if ( empty_fields )
        {
            msg += "The following required field(s) are empty:"
                + empty_fields + "\n";
            if ( errors ) msg += "\n";
        }
        msg += errors;
        alert(msg);
        return false;
	}