function URLEncode (clearString)
{
  var output = '';
  var x = 0;
  clearString = clearString.toString();
  var regex = /(^[a-zA-Z0-9_.]*)/;
  while (x < clearString.length) {
    var match = regex.exec(clearString.substr(x));
    if (match != null && match.length > 1 && match[1] != '')
    {
      output += match[1];
      x += match[1].length;
    } 
    else 
    {
      if (clearString[x] == ' ')
        output += '+';
      else
      {
        var charCode = clearString.charCodeAt(x);
        var hexVal = charCode.toString(16);
        output += '%' + ( hexVal.length < 2 ? '0' : '' ) + hexVal.toUpperCase();
      }
      x++;
    }
  }
  return output;
}

function validEmail(email)
{
  if (!email.match("[^@]{1,64}@[^@]{1,255}"))
    return false;
  else
  {
    var email_array = email.split("@");
    var local_array = email_array[0].split(".");
    for (var i = 0;i < local_array.length;i++)
      if (!local_array[i].match("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$"))
        return false;
    if (!email_array[1].match("^\[?[0-9\.]+\]?$"))
    {
      domain_array = email_array[1].split(".");
      if (domain_array.length < 2)
        return false;
    }
    for (var i = 0;i < domain_array.length;i++)
      if (!domain_array[i].match("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$"))
        return false;
    return true;
  }
}  

function validPassword(password)
{
  if (password.length < 6)
    return false;
  return true;
}