var ptnEmail            = /^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i;
var ptnPassword         = /^[0-9a-zA-Z]+$/;
var ptnVoucherCode      = /^[0-9a-zA-Z]+$/;
var ptnOnlyNumber       = /^[0-9]+$/;
var ptnOnlyNumberSpace  = /^[0-9 ]+$/;
var ptnPostcode         = /^[0-9a-zA-Z -]+$/;
var ptnNumberCommaDot = /^[0-9,.]+$/;
var ptnNumberComma = /^[0-9,]+$/;

function GRegEx(val, regex) {
    return regex.test(val)
}

function GCheckLength(o1, n, min, max, o2) {
    if (jQuery.trim(o1.val()).length > max || jQuery.trim(o1.val()).length < min) {
        o2.append("<li>- " + n + " has not been specified.</li>");
        o1.addClass("validateTipsHighLight");
        return 1;
    } else return 0;
}

function GCheckRegexp(o1, regexp, n, o2) {
    if (!(regexp.test(o1.val()))) {
        o2.append("<li>- " + n + " is either in an invalid format or contains invalid characters</li>");
        o1.addClass("validateTipsHighLight");
        return 1;
    } else return 0;
}

function GCheckLength2(o1, n, min, max, o2) {
    if (jQuery.trim(o1.val()).length > max || jQuery.trim(o1.val()).length < min) {
        o2.text(n + " has not been specified.");
        return 1;
    } else return 0;
}

function GCheckRegexp2(o1, regexp, n, o2) {
    if (!(regexp.test(o1.val()))) {
        o2.text(n + " is either in an invalid format or contains invalid characters");
        return 1;
    } else return 0;
}

function GCheckMatch(o1, o2, n1, n2, o3) {
    if (o1.val() === o2.val()) {
        return 0;
    } else {
        o3.append("<li>- " + n1 + " and " + n2 + " do not match.</li>");
        o1.addClass("validateTipsHighLight");
        o2.addClass("validateTipsHighLight");
        return 1;
    }
}

function GCheckPW(o1, o2) {
    var pw = o1.val();
    var regexp = /[^(a-zA-Z0-9)]/;
    var msg = "<li>- The password must contain at least 7 characters and no more than 20 characters.<br />&nbsp;&nbsp;&nbsp;No characters other than letters and numbers may be used.<br />&nbsp;&nbsp;&nbsp;Your password must contain at least one letter and one number.</li>"
    if (regexp.test(pw)) {
        o2.append(msg);
        o1.addClass("validateTipsHighLight");
        return 1; 
    }

    var l = pw.length;
    var engValue, intValue, i, j;
    for (i = 0; i <= l; i++) {
        if (i == l) j = 1
        else j = i + 1

        if (isNaN(pw.substring(i, j)) == true) engValue = true;
        if (isNaN(pw.substring(i, j)) == false) intValue = true;
    }
    if (engValue && intValue) { return 0; }
    else {
        o2.append(msg);
        o1.addClass("validateTipsHighLight");
        return 1;
    }
}

