﻿function validateEmail(elementID) {
    if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(document.getElementById(elementID).value)) return true;
    return false;
}

function validateMatchConfirm(elementID1, elementID2) {
    if (document.getElementById(elementID1).value == document.getElementById(elementID2).value) return true;
    return false;
}

function validateExists(elementID) {
    if (document.getElementById(elementID).value.length > 0) return true;
    return false;
}

function validateMobile(elementID) {
    var MobileNumberRegEx = /^\+27[78][234678][0-9]{7}/;
    if (MobileNumberRegEx.test(document.getElementById(elementID).value)) return true;
    return false;
}

function validateContactNumber(elementID) {
///^((\+)|(\(\+\d+\))|(\(\d+\))|(\+\(\d+\)))?[\d\s]+$/;
    var NumberRegEx = /[\d\s\(\)\+]+/;
    if (NumberRegEx.test(document.getElementById(elementID).value)) return true;
    return false;
}

function validateString(elementID) {
    var StringRegEx = /^[a-zA-Z\s]+$/;
    if (StringRegEx.test(document.getElementById(elementID).value)) return true;
    return false;
}


function validateChecked(elementID) {
    if (document.getElementById(elementID).checked) return true;
    return false;
}

function validateDate(DayElementID, MonthElementID, YearElementID) {
    var myDayStr = document.getElementById(DayElementID).value; // Numeric 
    var myMonthStr = document.getElementById(MonthElementID).value; // Numeric
    var myYearStr = document.getElementById(YearElementID).value; // Numeric

    var myMonth = new Array('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec');
    var myDateStr = myDayStr + ' ' + myMonth[myMonthStr - 1] + ' ' + myYearStr;

    var myDate = new Date();
    myDate.setFullYear(myYearStr, myMonthStr, myDayStr);

    if (myDate.getMonth() != myMonthStr) {
        return false;
    } else {
        return true;
    }
}

function nothing() { }

function validateSAID(elementID) {
    var SAIDRegEx = /^(((\d{2}((0[13578]|1[02])(0[1-9]|[12]\d|3[01])|(0[13456789]|1[012])(0[1-9]|[12]\d|30)|02(0[1-9]|1\d|2[0-8])))|([02468][048]|[13579][26])0229))(( |-)(\d{4})( |-)(\d{3})|(\d{7}))/;
    if (SAIDRegEx.test(document.getElementById(elementID).value)) return true;
    return false;
}

function validateSAPostalCode(elementID) {
    var PostalCodeRegEx = /^[0-9]{4,4}/;
    if (PostalCodeRegEx.test(document.getElementById(elementID).value)) return true;
    return false;
}

function validateButtonChecked(elementName) {
    for (i = 0; i < document.getElementsByName(elementName).length; i++) {
        if (document.getElementsByName(elementName).item(i).checked) return true;
    }
    return false;
}

function numbersonly(e) {
    var unicode = e.charCode ? e.charCode : e.keyCode
    if (unicode != 8 && unicode != 9) { //if the key isn’t the backspace or tab key (which we should allow)
        if (unicode < 48 || unicode > 57) //if not a number
            return false //disable key press
    }
}

function validateTextOnly(elementID) {
    var TextOnlyRegEx = /[a-zA-z]/;
    if (TextOnlyRegEx.test(document.getElementById(elementID).value)) return true;
    return false;
}


function textonly(e) {
    var code;
    if (!e) var e = window.event;
    if (e.keyCode) code = e.keyCode;
    else if (e.which) code = e.which;
    var character = String.fromCharCode(code);
    //alert('Character was ' + character);
    //alert(code);
    //if (code == 8) return true;
    var AllowRegex = /^[\ba-zA-Z\s-]$/;
    if (AllowRegex.test(character)) return true;
    return false;
}