function validate(form)
{
      if ( ! isValid(form.elements["q"].value) ) {
				alert( "Your query '"+form.elements["q"].value+"' contains invalid characters in your search keywords.  Please use only letters, digits, apostraphe's and spaces to seperate keywords." );
				return false;
	    } else {
				return true;
      }
}

function isValidChar (c)
{   return ( ((c >= "a") && (c <= "z")) || ((c >= "A") && (c <= "Z")) || (c == "'") || ((c >= "0") && (c <= "9"))        )
}

function isValid (s)
{   var i;
    if (isEmpty(s)) 
       if (isValid.arguments.length == 1) return defaultEmptyOK;
       else return (isValid.arguments[1] == true);
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if (!isValidChar(c)) return false;
    }
    return true;
}

