﻿var ammendged = false;
var allOK = true;
var msg = '';

function validate(theForm) {
    allOK = true;
    unblock();
    msg = 'Please correct the following errors.\n Fields with errors are highlighted in red\n\n';

    txtValidate('nametxt', 2, 'Please enter your name.');
    txtValidate('emailtxt', 5, 'Please enter your email address.');
    if (ele('emailtxt').value.length > 0) {
        if (echeck(ele('emailtxt').value) == false)
            ammend('emailtxt', 'Sorry Invalid email address.');
    }
    txtValidate('subjecttxt', 2, 'Please enter the subject.');
    txtValidate('messagetxt', 2, 'Please enter your message.');

    if (allOK) {
        //theForm.submit();
        return true;
    }
    else {
        alert(msg);

        return false;
    }
}

function ele(e) { return document.getElementById(e); }

function ammend(name, error) {
    allOK = false;
    ele(name).style.backgroundColor = '#FF0000';
    if (ammendged == false) {
        try {
            ele(name).focus();
            ammendged = true;
        }
        catch (x) { }
    }
    msg += error + '\n';
}

function unblock() {
    for (var i = 0; i < window.top.document.getElementsByTagName('INPUT').length; i++) {
        if (window.top.document.getElementsByTagName('INPUT')[i].id != 'subbutt')
            window.top.document.getElementsByTagName('INPUT')[i].style.backgroundColor = "#ffffff";
    }

    for (var i = 0; i < window.top.document.getElementsByTagName('textarea').length; i++) {
        window.top.document.getElementsByTagName('textarea')[i].style.backgroundColor = "#ffffff";
    }
}

function txtValidate(name, minlength, error) {
    if (ele(name).value.length < minlength) {
        ammend(name, error);
        return false;
    }
    return true;
}

function echeck(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
}

