function swapImage(control, image) { control.src = image; } function winclose() { window.close(); } function clearform(thisform) { var elements = thisform.elements; for (var i=0;i=0; i-=2) { tempval = parseInt(cardNbr.charAt(i)); tempval *= 2; if(tempval > 9) tempval -= 9; sum += tempval; } for(i=cardNbr.length-1; i>=0; i-=2) { sum += parseInt(cardNbr.charAt(i)); } if(sum%10 == 0) return true; return false; } function setFocus(thisform) { var bFound = false; var elements = thisform.elements; for (var i=0;i -1) { var emailid = value.substring(0, value.indexOf('@')); var emaildomain = value.substring(value.indexOf('@')+1, value.length); log('emailid:', emailid) // check email id // if (/^\w+([\.-]?\w+)+$/.test(emailid)) { if (/^\w+([\.-]?\w+)*$/.test(emailid)) { log('dsads'); if (/^\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(emaildomain)) isvalid = true; else isvalid = false; } else { isvalid = false; } } else { isvalid = false; } return isvalid; } function isFirstCharAlphaNum(strInput) { var isAlphaNum = true; if (typeof strInput != "undefined") { strInput = Trim(strInput); if(strInput.length > 1) isAlphaNum = isValidInput(strInput.substring(0,1), "M"); } return isAlphaNum; } function isValidInput( strInput, strType ) { var blnResult = false ; var strSCPattern = "[\"']"; var strTFPattern = "[^\\-\\,\\.\\[\\]\\{\\}|A-Za-z0-9 ]"; var strANPattern = "[\"'~`!@#$%^&*()_\\-+=|/><\.\,\:{}\;\\\\?\\[\\] ]"; //Only allowed A-Z,a-z,0-9 var strANPattern_space = "[\"'~`!@#$%^&*()_\\-+=|/><\.\,\:{}\;\\\\?\\[\\]]"; // Only allowed A-Z,a-z,0-9 and space var strANPattern_adm = "[\"'~`!@#$^&()_\\-+=|/><\.\,\:{}\;\\\\?\\[\\] ]"; //A-Z,a-z,0-9, * and % var strVCPattern = "[\`~!@#$%^*\\+=|><\:{}\;\\\\?\\[\\]]"; //Allowed certain special character -- // '-" &(),./_ var strSCPattern_FileUpload = "[\"*?|/><]"; var strANPattern_ID = "[^A-Za-z0-9]"; //This type will not allow any other languages data except for a-z,A-Z and 0-9. var strANPattern_IDspace = "[^A-Za-z0-9 ]"; //This type will not allow any other languages data except for a-z,A-Z,0-9 and space. var strANPattern_engspace = "[^A-Za-z ]"; //This type will not allow any other languages data except for a-z,A-Z and space. var strADRPattern_nonchi = "[^A-Za-z0-9 \.\,-/']"; //Non-chinese address var strNoPattern_space = "[^0-9 ]"; var strNoPattern = "[^0-9]"; switch(strType){ case "M" : regexp = new RegExp(strANPattern,"g"); break; case "MS" : regexp = new RegExp(strANPattern_space,"g"); break; case "MADM" : regexp = new RegExp(strANPattern_adm,"g"); break; case "MVC" : regexp = new RegExp(strVCPattern,"g"); break; case "MSCF" : regexp = new RegExp(strSCPattern_FileUpload,"g"); break; case "MID" : regexp = new RegExp(strANPattern_ID,"g"); break; case "MNCS" : regexp = new RegExp(strANPattern_IDspace,"g"); break; case "MES" : regexp = new RegExp(strANPattern_engspace,"g"); break; case "MNCADR" : regexp = new RegExp(strADRPattern_nonchi,"g"); break; case "MSC" : regexp = new RegExp(strSCPattern,"g"); break; case "MASC" : regexp = new RegExp(strTFPattern,"g"); break; case "MNO" : regexp = new RegExp(strNoPattern_space,"g"); break; case "NNO" : regexp = new RegExp(strNoPattern,"g"); break; // ------------------------------------- // to be remove case "SC" : regexp = new RegExp(strANPattern,"g"); break; case "ASC" : regexp = new RegExp(strANPattern,"g"); break; } blnResult = !(regexp.test(strInput)); return blnResult; } function isNonChinese(str) { var n=true; if (typeof str != "undefined") { var l=str.length; for (var i=0;i= 33 && str.charCodeAt (i) <= 126) && str.charAt(i) != ' ') n = false; } } return n; } /* *http://www.info.gov.hk/td/pdiballot/checkHKID.html *http://www.phpsky.com/home/tools/hkid/index.php *HKID format = A123456(7), where: * - 'A' must be a letter or space. * - The bracket and the checksum digit inside could be 0-9 or A. * - If check digit = 10, then it will be treated as "A" * - If check digit = 11, then it will be treated as "0" *------------------------------------------------------------------------------------- *Oct 2004 - Additional recources found at http://www.excelhelp.net/cgi-bin/forum/topic.cgi?forum=3&topic=5 *a.The format of HKID (2 digit prefix) (6 digit number) (1 check digit) = 9 digits *b.If the prefixes only contain one alphabet, a blank space will be added in front. * Therefore, total length of HKID should be always 9 digits */ function validateHKID(hkId) { if(hkId.length < 8 || hkId.length > 9) return false; else if(hkId.length == 8) hkId = ' ' + hkId; return checkHKID(hkId); } function checkHKID(hkId) { var reqAddBlankSpace = false; var firstPrex; var secondPrex; hkId = Trim(hkId); newStr = hkId.replace("(" ,""); newStr = newStr.replace(")" ,""); if (hkId.length > 2) { firstPrex = hkId.substring(0,1); secondPrex = hkId.substring(1,2); } if ( !isNaN(secondPrex) ) { reqAddBlankSpace = true; } if(hkId.length < 0 || hkId.length < 7 || !isNaN(firstPrex) ) { return false; } else if ( getHKCheckDigit(reqAddBlankSpace,Trim(newStr)) == false) { return false; } return true ; } /* * user have the option to enter HK ID in format of A123456(7) or A1234567 */ function getHKCheckDigit(reqAddBlankSpace,hkId) { var numericDigit ; var total = 0; var start = hkId.length ; var checkDigit ; var lastDigit = hkId.substring(hkId.length-1,hkId.length) ; var ret; if (reqAddBlankSpace == true) { total += 91 * 9; } for(var i = 0; i < hkId.length-1 ; i++) { numericDigit = hkId.substring(i, i+1); if ( isNaN(numericDigit) ) { numericDigit = numericDigit.toUpperCase(); numericDigit = numericDigit.charCodeAt(0) ;//-64 ; //-64 A=65 } total += numericDigit * start; // alert("strat : " + start + "numericDigit: " + numericDigit +"total -" + total ); start--; } if (total != 0) { ret = parseInt(total) % 11; if (ret < 0) { ret += 11; } checkDigit = 11 - ret; } //HKID is valid,if checkDigit = last digit //If checkDigit = 10, treated it as "A" //If checkDigit = 11, treated it as "0" if ( checkDigit == 11) { checkDigit = 0; } if ( checkDigit == 10) { checkDigit = "A"; } if (checkDigit != lastDigit.toUpperCase() ) { return false; } return true ; } // TRIM STRING // ----------------------------------------------------------------------------------------------------- function Trim(string) { var i; var intCount; var tempLength; if (typeof string != "undefined") { if ( string != null ) { intCount = 0; for (i = 0; i < string.length; i++) { if ((string.charAt(i)) != " ") break; else intCount = intCount + 1; } string = string.substring(intCount, string.length); intCount = 0; tempLength = string.length; for (i = tempLength-1; i >= 0; i--) { if ((string.charAt(i)) != " ") break; else intCount = intCount + 1; string = string.substring(0, tempLength-intCount); } } else { string = ''; } } else { string = ''; } return string; } /* function Trim(string) { var i; var intCount; var tempLength; if (typeof string != "undefined") { intCount = 0; for (i = 0; i < string.length; i++) { if ((string.charAt(i)) != " ") break; else intCount = intCount + 1; } string = string.substring(intCount, string.length); intCount = 0; tempLength = string.length; for (i = tempLength-1; i >= 0; i--) { if ((string.charAt(i)) != " ") break; else intCount = intCount + 1; string = string.substring(0, tempLength-intCount); } } return string; } */ function getDateString() { var string = SYS_serverdate; var dateString = ""; var i; for (i = 0; i < string.length; i++) { if ((string.charAt(i)) != "-") dateString += string.charAt(i); } return dateString; } function onOrAfterToday(calyyyy, calmm, caldd) { var diff = dateDiff(calyyyy, calmm, caldd); if(diff == "-") { return false; } else { if(diff > 0) return false; else return true; } } function dateDiff(calyyyy, calmm, caldd) { var diff = 0; if( caldd != null && calmm != null && calyyyy != null ) { if(calmm.length<2) { calmm = '0' + calmm; } if(caldd.length<2) { caldd = '0' + caldd; } diff = getDateString() - parseInt(calyyyy + calmm + caldd, '10'); return diff; } else return "-"; } function addWinOnLoadEvent(func) { var oldonload = window.onload; if (typeof window.onload != 'function') { window.onload = func; } else { window.onload = function() { if (oldonload) { oldonload(); } func(); } } } function openPopupWin(url,winname,width,height,top,left) { if(!width) width=617; if(!height) height=500; if(!top) top=0; if(!left) left=window.screen.availWidth-width-10; var win = window.open(url,winname,"resizable=1,scrollbars=1,width="+width+",height="+height+",top="+top+",left="+left); win.focus(); } // validate date var minYear=1901; function daysInFebruary (year) { return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 ); } function isDate(strYear, strMonth, strDay) { var daysInMonth = [0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; month=parseInt(strMonth, '10'); day=parseInt(strDay, '10'); year=parseInt(strYear, '10'); if (strMonth.length<1 || month<1 || month>12) return false; if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]) return false; if (strYear.length != 4 || year==0 || year