window.onload=function(){
    document.forms[0].onsubmit=function(){
        return (checkAllFields() && checkAddress(this.eaddress.value));

    }
}

function checkAddress(val){
    var eml = new Email(val);
    var url;
    eml.validate();
    if (! eml.valid) {
        errorMsg(eml.message,"red");
        return false;
    }
    if(eml.valid)
    {
        return true;
    }
}

function checkAllFields(){
    var nametxt = document.getElementById("nametxt");
    var emailaddr =document.getElementById("emailaddr");
    var tarea = document.getElementById("tarea");
    return  (siftFieldVal(trim(nametxt.value)) &&
             siftFieldVal(trim(emailaddr.value)) &&
             siftFieldVal(trim(tarea.value)));
}

function siftFieldVal(val){
    if(val.length < 1 || val.indexOf("null") != -1)  {
        errorMsg("Please make sure a field value is not blank. Thanks!",
                "red");
        return false;
    }
    return true;
}
function errorMsg(msg,sColor){
    var div = document.getElementById("message");
    div.style.color=sColor;
    div.style.fontSize="0.9em";
    //remove old messages
    if(div.hasChildNodes()){
        div.removeChild(div.firstChild);
    }
    div.appendChild(document.createTextNode(msg));

}
function showMsg(_id,txt){
    if(_id && txt){_id.innerHTML=txt;}
}
function clearMsg(_id){
    if(_id){_id.innerHTML="";}

}
    //http://www.pbdr.com/jscript/trimstr.htm
function trim(str) {
        str = str.replace( /^\s+/g, "" );// strip leading
        return str.replace( /\s+$/g, "" );// strip trailing
}
