function isEmailAddr(email)
{
  var result = false;
  var theStr = new String(email);
  var index = theStr.indexOf("@");
  if (index > 0)
  {
    var pindex = theStr.indexOf(".",index);
    if ((pindex > index+1) && (theStr.length > pindex+1))
    result = true;
  }
  return result;
}

function validRequired(formField,fieldLabel)
{
    var result = true;

    if (formField.value == "")
    {
        alert('Please enter a value for the "' + fieldLabel +'" field.');
        formField.focus();
        result = false;
    }

    return result;
}

function checkValue(formField,requiredValue,fieldLabel)
{
    var result = true;

    if (formField.value != requiredValue)
    {
        alert('"' + fieldLabel +'" niet goed ingevuld.');
        formField.focus();
        result = false;
    }

    return result;
}

function allDigits(str)
{
    return inValidCharSet(str,"0123456789");
}

function inValidCharSet(str,charset)
{
    var result = true;

    // Note: doesn't use regular expressions to avoid early Mac browser bugs
    for (var i=0;i<str.length;i++)
        if (charset.indexOf(str.substr(i,1))<0)
        {
            result = false;
            break;
        }

    return result;
}

function validEmail(formField,fieldLabel,required)
{
    var result = true;

    if (required && !validRequired(formField,fieldLabel))
        result = false;

    if (result && ((formField.value.length < 3) || !isEmailAddr(formField.value)) )
    {
        alert("Please enter a complete email address in the form: yourname@yourdomain.com");
        formField.focus();
        result = false;
    }

  return result;

}

function checkCheckBox(f){
if (f.terms.checked == false )
{
alert('Please read and accept the Rules and Regulations.');
return false;
}
}
function matchos(f){
if (document.form1.passwordsa.value != document.form1.passwordsa2.value)
{
alert ('Your email fields or the password fields do not match');
return false;
}
if (document.form1.email.value!=document.form1.confirmemail.value)
{
alert ('Your email fields or the password fields do not match');
return false;
}
return true;
}
function validateForm(theForm, type, code)
{
switch (type){
case 'new': 
		if (!checkValue(theForm.verification_code,code,"Antispam Controle")) 
				return false;
    if (!validRequired(theForm.username,"Name"))
        return false;
    if (!validRequired(theForm.topic_title,"Topic Title"))
        return false;
		if (!validRequired(theForm.email,"Email Address"))
        return false;
    if (!validEmail(theForm.email,"Email Address",true))
        return false;
    if (!validRequired(theForm.message,"Message"))
        return false;
		break;
case 'reply': 
		if (!checkValue(theForm.verification_code,code,"Antispam Controle")) 
				return false;
    if (!validRequired(theForm.username,"Name"))
        return false;
		if (!validRequired(theForm.email,"Email Address"))
        return false;
    if (!validEmail(theForm.email,"Email Address",true))
        return false;
    if (!validRequired(theForm.message,"Message"))
        return false;
break;
}
return true;
}
