// Daniel Lai : Generic Form Checkings functions 12/02/2001 function frmValidate(form,x) { var regExpDate = /([1-9]|0[1-9]|[12][0-9]|3[01])[- /.]([1-9]|0[1-9]|1[012])[- /.]\d\d\d\d/; var regExpFloat = /(^-*\d+$)|(^-*\d+\.\d+$)/; var regExpEmail = /^[a-zA-Z0-9._-]+@([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,4}$/; var regExpInt = /(^-?\d\d*$)/; //var limitBool = true; var message = "" var more_message = "" var showmsg = "no" x = x - 1 for (var i = 0; i <= x; i++) { var messenger = form.elements[i].name messenger = messenger.substring(0, 4) var fieldname = form.elements[i].name fieldname = fieldname.substring(4) if (messenger == "req_") { more_message = r_check(form,x,fieldname,i) } else if (messenger == "int_") { more_message = regExp_check(form,x,fieldname,i,regExpInt) } else if (messenger == "flt_") { more_message = regExp_check(form,x,fieldname,i,regExpFloat) } else if (messenger == "eml_") { more_message = regExp_check(form,x,fieldname,i,regExpEmail) } else if (messenger == "dat_") { more_message = regExp_check(form,x,fieldname,i,regExpDate) } if (more_message != "") { if (message == "") { message = more_message more_message="" } else { message = message + "\n" + more_message more_message="" } } if (message > "") { showmsg = "yes" } } if (showmsg == "yes") { alert("The following field(s) were incomplete or incorrect:\n\n" + message + "\n\nPlease complete the form and submit again.") } else { return true; } } function r_check(form,x,fieldname,i) { var msg_addition = "" new_fieldname = fieldname for (var y = 0; y <= x; y++) { if ((form.elements[y].type == "radio" || form.elements[y].type == "checkbox") && form.elements[y].name == new_fieldname && form.elements[y].checked == true) { msg_addition = "" break } else if ((form.elements[y].type == "radio" || form.elements[y].type == "checkbox") && form.elements[y].name == new_fieldname && form.elements[y].checked == false) { msg_addition = form.elements[i].value } else if (form.elements[y].type == "select-one") { var l = form.elements[y].selectedIndex if (form.elements[y].name == fieldname && form.elements[y].options[l].value != "") { msg_addition = "" break } else if (form.elements[y].name == fieldname && form.elements[y].options[l].value == "") { msg_addition = form.elements[i].value } } else if (form.elements[y].name == fieldname && form.elements[y].value == "" && form.elements[y].type != "radio" && form.elements[y].type != "checkbox" && form.elements[y].type != "select-one") { msg_addition = form.elements[i].value break } else if (form.elements[y].name == fieldname && form.elements[y].value != "" && form.elements[y].type != "radio" && form.elements[y].type != "checkbox" && form.elements[y].type != "select-one") { msg_addition = "" } } return(msg_addition) } function regExp_check(form,x,fieldname,i,regExp) { for (var y = 0; y <= x; y++) { if (form.elements[y].name == fieldname) break } var msg_addition = "" var sTarget = form.elements[y].value if(sTarget == ""){ //return msg_addition } else if(!regExp.test(sTarget)){ msg_addition = form.elements[i].value } return(msg_addition) } function i_check(form,x,fieldname,i) { for (var y = 0; y <= x; y++) { if (form.elements[y].name == fieldname) break } var msg_addition = "" inputStr = form.elements[y].value.toString() if (inputStr == "") { // msg_addition = form.elements[i].value } else { for (var c = 0; c < inputStr.length; c++) { var oneChar = inputStr.charAt(c) if (c == 0 && oneChar == "-") { continue } if (oneChar < "0" || oneChar > "9") { msg_addition = form.elements[i].value } } } return(msg_addition) } function isInteger(sDate) { var new_msg = "true" inputStr = sDate.toString() for (var i = 0; i < inputStr.length; i++) { var oneChar = inputStr.charAt(i) if ((oneChar < "0" || oneChar > "9") && oneChar != "/") { new_msg = "false" } } return (new_msg) } function asc(each_char) { var n = 0 var char_str = charSetStr() for (i = 0; i < char_str.length; i++) { if (each_char == char_str.substring(i, i+1)) { break } } return i + 32 } function charSetStr() { var str str = ' !"#$%&' + "'" + '()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~' return str } function chkDates(inDateFrom, inDateTo){ if(!isValidDate(inDateFrom) || !isValidDate(inDateTo)){ alert("Invalid dates entered."); return false; } if(dateDiff("s",inDateFrom,inDateTo) < 0){ alert("Date To cannot earlier than Date From."); return false; } return true; } function chkDateRange(inShowBy, inDateFrom, inDateTo){ var intDiff = dateDiff("m",inDateFrom,inDateTo); if(inShowBy == "W" && intDiff >= 3){ alert("Only 3 months period allowed for showing weekly data."); return false; } if(inShowBy == "M" && intDiff >= 12){ alert("Only 12 months period allowed for showing monthly data."); return false; } if(inShowBy == "Q" && intDiff >= 36){ alert("Only 3 years period allowed for showing quarterly data."); return false; } return true; }