﻿var _haveName    = false;
var _haveEMail   = false;
var _haveSubject = false;
var _haveMessage = false;

function GetElement(name)
{
    return document.all ? document.all[name] : document.getElementById(name);
}

function BuildFormMailFields()
{
    _haveName    = CopyValue("Name",    "realname");
    _haveEMail   = CopyValue("EMail",   "email");
    _haveSubject = CopyValue("Subject", "subject", "Contact Us Response [%%]");
    _haveMessage = CopyValue("Message", "message");
    
    _haveEMail = IsValidEMail(GetElement("EMail").value);
}

function IsValidEMail(str)
{
    var at="@"
    var dot="."
    var lat=str.indexOf(at)
    var lstr=str.length
    var ldot=str.indexOf(dot)
    if (str.indexOf(at)==-1)
       return false;

    if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr)
       return false;

    if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr)
       return false;

     if (str.indexOf(at,(lat+1))!=-1)
       return false;

     if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot)
       return false;

     if (str.indexOf(dot,(lat+2))==-1)
       return false;
    
     if (str.indexOf(" ")!=-1)
       return false;

     return true;
}

function CopyValue(from, to, substitute)
{
    var _from = GetElement(from);
    var _to   = GetElement(to);
    if (substitute)
        _to.value = substitute.replace("%%", _from.value);
    else
        _to.value = _from.value;
        
    return (_from.value.length > 0);
}

function FormIsValid()
{
    var valid = _haveName && _haveEMail && _haveSubject && _haveMessage;
    
    SetValidationFlag(_haveName,    "NameValid");
    SetValidationFlag(_haveEMail,   "EMailValid");
    SetValidationFlag(_haveSubject, "SubjectValid");
    SetValidationFlag(_haveMessage, "MessageValid");

    var valMsg = GetElement("ValidationMsg");
    
    if (valMsg)
    {
        if (valid)
            valMsg.innerHTML = "";
        else
        {
            valMsg.innerHTML = "You must enter the following fields:<br/>";
            if (!_haveName)    valMsg.innerHTML += "<li>Your Name</li>";
            if (!_haveEMail)   valMsg.innerHTML += "<li>Your e-mail</li>";
            if (!_haveSubject) valMsg.innerHTML += "<li>Subject</li>";
            if (!_haveMessage) valMsg.innerHTML += "<li>Message</li>";
        }
    }
    
    return valid;
}

function SetValidationFlag(status, id)
{
    var elmt = GetElement(id);
    if (elmt)
        elmt.innerText = status ? "" : "*";
}

