// used to validate form fields in get_whitepaper pages and signup form

function isNullOrEmpty(value) {
    return (value == null || value.length == 0);
}

function addRequiredElementMissing(element) {
    element.show();    
}

function createStartTag(tagName) {
    return "@lt;" + tagName + "@gt;";
}

function createEndTag(tagName) {
    return "@lt;/" + tagName + "@gt;";
}

function createElement(tagName, value) {
    return  createStartTag(tagName) + value + createEndTag(tagName);
}

function renderNotes() {
    var nl = "@@n";
    var returnVal = "Lawyers: " + $("lawyers").value + nl;
    returnVal += "Support: " + $("support").value + nl;
    returnVal += "Comments: " + $("comments").value + nl;  
    return returnVal;    
}

function prepPostData() {
    var value = createStartTag("contact");
    value += createElement("firstname", $("firstname").value);
    value += createElement("lastname", $("lastname").value);
    value += createElement("email", $("email").value);
    value += createElement("phone", $("phone").value);
    value += createStartTag("notes");
    value += renderNotes();
    value += createEndTag("notes");
    value += createEndTag("contact");
    $("postData").value = value;
    console.log(value);
}

function validate(evt) {
    var stopSubmission = false;
    
    if (isNullOrEmpty($('firstname').value)) {
        $('requiredFirstName').show();
        stopSubmission = true;
    }
    else {
        $('requiredFirstName').hide();
    }
    if (isNullOrEmpty($('lastname').value)) {
        $('requiredLastName').show();
        stopSubmission = true;
    }
    else {
        $('requiredLastName').hide();
    }
    
    if (isNullOrEmpty($('email').value)) {
        $('validateEmail').show();
        $("validateEmail").innerHTML = "Required"
        stopSubmission = true;
    }
    else if (!checkMail()) {
        stopSubmission = true;
    }
    else {
        $('validateEmail').hide();
    }    
    
    if (stopSubmission) {
        Event.stop(evt);
    }
    else {
        prepPostData();
    }
    return !stopSubmission;
}

 function checkMail()
 {
     var x = document.getElementById("email").value;
     var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
     if (filter.test(x)) {
        $("validateEmail").hide();
        return true;
     }
     else {
        $("validateEmail").show();
        $("validateEmail").innerHTML = "Must be a valid email address"
        return false;
    }
}
