/*****************************************************
* (c) 2000-2002 In2netlogic Ltd.  All rights reserved
* Written by John Makin.               www.jmakin.com
******************************************************/
function validAlpha(vData) {if (vData.length == 0) return false;return validStringList(vData.toUpperCase(), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ');}function validCreditCard (vData) {vData = validCardClean(vData);return ((vData.length > 12) && (vData.length < 20));}function validCardClean(vData) {var vCleanString = '';var vChar;for (var lLoop=0; lLoop<vData.length; lLoop++) {vChar = vData.charAt(lLoop);if (validInteger(vChar)) vCleanString += vChar;}return vCleanString;}function validDate(lDay, lMonth, lYear) {if (!(validInteger(lDay) && validInteger(lMonth) && validInteger(lYear))) return false;if ((lDay < 1 || lDay > 31)) return false;if ((lMonth < 1 || lMonth > 12)) return false;return true;}function validEmail(vData) {var atPos = vData.indexOf('@');var dotPos = vData.lastIndexOf('.');var lLen = vData.length;if (!(atPos <1 || dotPos-atPos<2 || lLen-dotPos<2 || lLen-dotPos>5)) {return (invalidStringList(vData, '! \"\'£$%^&*(){}[]<>/\\|+=?:;#,¬~'));} else {return false;}}function validInteger(vData) {return (vData.length > 0) ? (validStringList(vData, "0123456789-") && (vData.indexOf('-') == vData.lastIndexOf('-'))) : true;}function validPrimaryKey(vData) {if (validInteger(vData)) {return (vData > 0);} else {return false;}}function validNumber(vData) {if (vData.length == 0) return false;if (!validStringList(vData, "0123456789.-")) return false;return ((vData.indexOf('.') == vData.lastIndexOf('.')) && (vData.indexOf('-') == vData.lastIndexOf('-')));}function validString(vData, lMin, lMax) {var lLen = vData.length;if (lLen < lMin) return false;if (lMax > lMin && lLen > lMax) return false;return true;}function validTelNumber(vData) {return (vData.length > 5 && validStringList(vData, "0123456789 ()+#.-"));}function validUKPostcode(vData) {var sMap = "";var sCleanPCode = "";var lLen = vData.length;vData = vData.toUpperCase();for (var lLoop=0; lLoop<lLen; lLoop++) {sTemp = vData.charAt(lLoop);if (validAlpha(sTemp)) {sMap += "A";sCleanPCode = sCleanPCode + sTemp;} else if (validInteger(sTemp)) {sMap += "N";sCleanPCode = sCleanPCode + sTemp;} else if (sTemp != " ") {return false;}}if (sCleanPCode.substr(0,4) == "BFPO") {return true;} else if (sMap == "ANNAA" || sMap == "ANNNAA" || sMap == "AANNAA" || sMap == "AANNNAA" || sMap == "ANANAA" || sMap == "AANANAA") {var sTemp = vData.substr(lLen-3, 3);return invalidStringList(sTemp, 'CIKMOV');} else {return false;}}function validStringList(vData, sCheckStr) {var sChar;for (var lLoop=0; lLoop<vData.length; lLoop++) {if (sCheckStr.indexOf(vData.charAt(lLoop)) == "-1") return false;}return true;}function invalidStringList(vData, sCheckStr) {var sChar;for (var lLoop=0; lLoop<vData.length; lLoop++) {if (sCheckStr.indexOf(vData.charAt(lLoop)) > "-1") return false;}return true;}