function validate(_this) {
    
    if (event.ctrlKey)
        return true;
        
    var valid = "";

    if (validateText(formx.name.value.replace(";", "_")))
        valid += "- Name\n";
    if (validateText(formx.organisation.value.replace(";", "_")))
        valid += "- Organisation\n";
    //if (validateText(formx.county.value.replace(";", "_")))
    //    valid += "- County / State\n";
    if (formx.country.value == "" || formx.country.value.indexOf("Select") == 0)
        valid += "- Country\n";
    if (validateEmail(formx.email.value.replace(";", "_")))
        valid += "- Email\n";
    //if (formx.comments.value == "")
    //    valid += "- Your message\n";

    if (valid == "") {
        document.formx.submit();
        return true;
    }
    else {
        alert("Please enter the following details:\n\n" + valid.substring(0, valid.length - 1));
        return false;
    }
}

function validateEmail(text) {
    return !echeck(text);
}

function validateText(text) {
    if (trim(text) == "") return true;
    return false;
}

function trim(sString) {
    while (sString.substring(0, 1) == ' ') {
        sString = sString.substring(1, sString.length);
    }
    while (sString.substring(sString.length - 1, sString.length) == ' ') {
        sString = sString.substring(0, sString.length - 1);
    }
    return sString;
}

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 (ldot == lstr - 1) {
        return false
    }

    if (str.indexOf(" ") != -1) {
        return false
    }

    return true
}
