function validateEmail(email){return/([\w-\.]+)@((?:[\w|-]+\.)+)([a-zA-Z]{2,6})\b/.test(email)}function restrictStringLength(string,length){length=validateNumber(length);if(length==false){return length}if(string.length<=length){return true}else{return false}}function restrictStringToList(string,list){var valid=false;for(var i=0;i<list.length;i++){if(string==list[i]){return true}}return valid}var validChars=["0","1","2","3","4","5","6","7","8","9"];function validateNumber(integer,arg1,arg2){if(integer!=null&&arg1==null&&arg2==null){return validateNumber1(integer)==false?false:true}else if(integer!=null&&arg1!=null&&arg2==null){return validateNumber2(integer,arg1)}else if(integer!=null&&arg1!=null&&arg2!=null){return validateNumber3(integer,arg1,arg2)}return false}function validateNumber1(integer){if(/^[-+]?\d+(\.\d+)?$/.test(integer)){return parseInt(integer)}else{return false}}function validateNumber2(integer,bound){try{var val=validateNumber1(integer);var result=val-validateNumber1(bound);return result==0?true:result}catch(err){return false}}function validateNumber3(integer,lower,upper){try{var val=validateNumber1(integer);if(val>validateNumber1(lower)&&val<validateNumber1(upper)){return true}return false}catch(err){return false}}var dateSeparators=[".","/","\\","-"," "];var monthsShort=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];var monthsFull=["January","February","March","April","May","June","July","August","September","October","November","December"];function validateDate(date){var dateToken=tokeniseDate(date);if(dateToken==false&&dateToken!=" "){return false}var dateTokens=date.split(dateToken);var format=tryDMY(dateTokens);if(format==false){format=tryMDY(dateTokens)}if(format==false){format=tryYMD(dateTokens)}try{return format=format.replace(/:/g,"-")}catch(err){}return false}function compareDates(date1,date2){date1=validateDate(date1);if(date1==false){return false}date2=validateDate(date2);if(date2==false){return false}var day1=date1.substring(0,date1.indexOf("-"));date1=date1.substring(date1.indexOf("-")+1);var month1=date1.substring(0,date1.indexOf("-"));var year1=date1.substring(date1.indexOf("-")+1);var day2=date2.substring(0,date2.indexOf("-"));date2=date2.substring(date2.indexOf("-")+1);var month2=date2.substring(0,date2.indexOf("-"));var year2=date2.substring(date2.indexOf("-")+1);date1=new Date();date1.setFullYear(year1,month1,day1);date2=new Date();date2.setFullYear(year2,month2,day2);var millOffset=date1.getTime()-date2.getTime();var negative=false;var oneDay=1000*60*60*24;if(millOffset<0){negative=true;millOffset=millOffset*-1}millOffset=millOffset/oneDay;millOffset=parseInt(millOffset);return negative?millOffset*-1:millOffset}function tokeniseDate(date){var separator=false;for(var i=0;i<dateSeparators.length;i++){if(date.indexOf(dateSeparators[i])>0&&separator==false){separator=dateSeparators[i]}else if(date.indexOf(dateSeparators[i])>0){return separator}}return separator}function tryDMY(dateTokens){var yearFormat,monthFormat,dayFormat;yearFormat=isYear(dateTokens[2]);if(yearFormat==false){return false}monthFormat=isMonth(dateTokens[1]);if(monthFormat==false){return false}dayFormat=isDay(dateTokens[0],dateTokens[1],dateTokens[2]);if(dayFormat==false){return false}return dayFormat+":"+(monthFormat-1)+":"+yearFormat}function tryMDY(dateTokens){var yearFormat,monthFormat,dayFormat;yearFormat=isYear(dateTokens[2]);if(yearFormat==false){return false}monthFormat=isMonth(dateTokens[0]);if(monthFormat==false){return false}dayFormat=isDay(dateTokens[1],dateTokens[0],dateTokens[2]);if(dayFormat==false){return false}return dayFormat+":"+(monthFormat-1)+":"+yearFormat}function tryYMD(dateTokens){var yearFormat,monthFormat,dayFormat;yearFormat=isYear(dateTokens[0]);if(yearFormat==false){return false}monthFormat=isMonth(dateTokens[1]);if(monthFormat==false){return false}dayFormat=isDay(dateTokens[2],dateTokens[1],dateTokens[0]);if(dayFormat==false){return false}return dayFormat+":"+(monthFormat-1)+":"+yearFormat}function isYear(year){try{var value=parseInt(year);if(year.length==2){var date=new Date();return date.getFullYear().substring(0,2)+year}else if(year.length==4){return year}else{return false}}catch(err){}return false}function isMonth(month){try{var value=parseInt(month);if(month.length==1&&value>0){return value}else if(month.length==2&&value<13&&value>0){return value}}catch(err){}for(var i=0;i<12;i++){if(month==monthsFull[i]||month==monthsFull[i].toLowerCase()||month==monthsFull[i].toUpperCase()){return i+1}else if(month==monthsShort[i]||month==monthsShort[i].toLowerCase()||month==monthsShort[i].toUpperCase()){return i+1}}return false}function isDay(day,month,year){month=isMonth(month);var isAlpha=false;if(day.length>4){return false}if(day.indexOf("st")>0||day.indexOf("nd")>0||day.indexOf("rd")>0||day.indexOf("th")>0){day=day.substring(0,2);isAlpha=true}try{var value=parseInt(day);if((month==0||month==2||month==4||month==6||month==7||month==8||month==9)&&value<=31&&value>0){if(isAlpha){return value}else{return day}}else if(month!=1&&value<=30&&value>0){if(isAlpha){return value}else{return day}}else{year=parseInt(year);if(year%4==0&&(year%100!=0||year%400==0)&&value<30&&value>0){if(isAlpha){return value}else{return day}}else if(!(year%4==0&&(year%100!=0||year%400==0))&&value<29&&value>0){if(isAlpha){return value}else{return day}}}}catch(err){}return false}
