//------------------------------------------------------------------- // Trim functions // Returns string with whitespace trimmed //------------------------------------------------------------------- function LTrim(str) { for (var i=0; str.charAt(i)==" "; i++); return str.substring(i,str.length); } function RTrim(str) { for (var i=str.length-1; str.charAt(i)==" "; i--); return str.substring(0,i+1); } function Trim(str) { return LTrim(RTrim(str)); } //------------------------------------------------------------------- // isNull(value) // Returns true if value is null //------------------------------------------------------------------- function isNull(val) { if (val == null) { return true; } return false; } //------------------------------------------------------------------- // isBlank(value) // Returns true if value only contains spaces //------------------------------------------------------------------- function isBlank(val) { if (val == null) { return true; } for (var i=0; i < val.length; i++) { if ((val.charAt(i) != ' ') && (val.charAt(i) != "\t") && (val.charAt(i) != "\n")) { return false; } } return true; } //------------------------------------------------------------------- // isInteger(value) // Returns true if value contains all digits //------------------------------------------------------------------- function isInteger(val) { for (var i=0; i < val.length; i++) { if (!isDigit(val.charAt(i))) { return false; } } return true; } //------------------------------------------------------------------- // isNumeric(value) // Returns true if value contains a positive float value //------------------------------------------------------------------- function isNumeric(val) { var dp = false; for (var i=0; i < val.length; i++) { if (!isDigit(val.charAt(i))) { if (val.charAt(i) == '.') { if (dp == true) { return false; } // already saw a decimal point else { dp = true; } } else { return false; } } } return true; } //------------------------------------------------------------------- // isDigit(value) // Returns true if value is a 1-character digit //------------------------------------------------------------------- function isDigit(num) { var string="1234567890"; if (string.indexOf(num) != -1) { return true; } return false; } //------------------------------------------------------------------- // isMonth(string) // Returns true if string is either a full month name or a month // abbreviation. //------------------------------------------------------------------- function isMonth(val) { val = val+""; val = val.toLowerCase(); if ((val=="jan") || (val=="feb") || (val=="mar") || (val=="apr") || (val=="may") || (val=="jun") || (val=="jul") || (val=="aug") || (val=="sep") || (val=="oct") || (val=="nov") || (val=="dec")) { return true; } if ((val=="january") || (val=="february") || (val=="march") || (val=="april") || (val=="may") || (val=="june") || (val=="july") || (val=="august") || (val=="september") || (val=="october") || (val=="november") || (val=="december")) { return true; } return false; } //------------------------------------------------------------------- // isStateAbbr(string) // Returns true if string is a US state abbreviation or one of // the canadian provinces //------------------------------------------------------------------- function isStateAbbr(val) { if (val.length != 2) { return false; } val = val+""; if (val.charAt(0) == ' ' || val.charAt(1) == ' ') { return false; } if (isUSStateAbbr(val)) { return true; } if (isCanadianStateAbbr(val)) { return true; } return false; } //------------------------------------------------------------------- // isUSStateAbbr(string) // Returns true if string is a US State Abbreviation //------------------------------------------------------------------- function isUSStateAbbr(val) { val = val+""; if (val.length != 2) { return false; } if (val.charAt(0) == ' ' || val.charAt(1) == ' ') { return false; } var string="AK AL AR AZ CA CO CT DC DE FL GA HI IA ID IL IN KS KY LA MA MD ME MI MN MO MS MT NC ND NE NH NJ NM NV NY OH OK OR PA PR RI SC SD TN TX UT VA VI VT WA WI WV WY"; if (string.indexOf(val.toUpperCase()) != -1) { return true; } return false; } //------------------------------------------------------------------- // isCanadianStateAbbr(string) // Returns true if string is a Canadian State (Province) Abbreviation //------------------------------------------------------------------- function isCanadianStateAbbr(val) { val = val+""; if (val.length != 2) { return false; } if (val.charAt(0) == ' ' || val.charAt(1) == ' ') { return false; } var string="AB BC EI MB NB NF NS NT NU ON PQ SK YK"; if (string.indexOf(val.toUpperCase()) != -1) { return true; } return false; } //------------------------------------------------------------------- // setNullIfBlank(input_object) // Sets a form field to "" if it isBlank() //------------------------------------------------------------------- function setNullIfBlank(obj) { if (isBlank(obj.value)) { obj.value = ""; } } //------------------------------------------------------------------- // setFieldsToUpperCase(input_object) // Sets value of form field toUpperCase() for all fields passed //------------------------------------------------------------------- function setFieldsToUpperCase() { for (var i=0; i1) { msg = arguments[1]; } if (arguments.length>2) { dofocus = arguments[2]; } else { dofocus=false; } if (isBlank(obj.value)) { if (!isBlank(msg)) { alert(msg); } if (dofocus) { obj.select(); obj.focus(); } return true; } return false; } //------------------------------------------------------------------- // disallowModify(input_object[,message[,true]]) // Checks a form field for a value different than defaultValue. // Optionally alerts and focuses //------------------------------------------------------------------- function disallowModify(obj) { var msg; var dofocus; if (arguments.length>1) { msg = arguments[1]; } if (arguments.length>2) { dofocus = arguments[2]; } else { dofocus=false; } if (getInputValue(obj) != getInputDefaultValue(obj)) { if (!isBlank(msg)) { alert(msg); } if (dofocus) { obj.select(); obj.focus(); } setInputValue(obj,getInputDefaultValue(obj)); return true; } return false; } //------------------------------------------------------------------- // inputValue(v) //------------------------------------------------------------------- function inputValue(v) { while (true) { var i = v.indexOf(unescape("%0A")); if (i<0) break; v = v.substring(0,i)+v.substring(i+1) } while (true) { var i = v.indexOf(unescape("%0D")); if (i<0) break; v = v.substring(0,i)+v.substring(i+1) } return v; } //------------------------------------------------------------------- // isChanged(input_object) // Returns true if input object's state has changed since it was // created. //------------------------------------------------------------------- function isChanged(obj) { if ((typeof obj.type != "string") && (obj.length > 0) && (obj[0] != null) && (obj[0].type=="radio")) { for (var i=0; i 0) { var x=0; for (var i=0; i 0) { for (var i=0; i 0) && (obj[0] != null) && (obj[0].type=="radio")) { for (var i=0; i 0) { return obj.options[obj.selectedIndex].value; } else { return ""; } } if (obj.type=="select-multiple") { var val = ""; for (var i=0; i 0) { val = val.substring(0,val.length-1); // remove trailing comma } return val; } return ""; } //------------------------------------------------------------------- // getInputDefaultValue(input_object) // Get the default value of any form input field when it was created // Multiple-select fields are returned as comma-separated values // (Doesn't support input types: button,file,password,reset,submit) //------------------------------------------------------------------- function getInputDefaultValue(obj) { if ((typeof obj.type != "string") && (obj.length > 0) && (obj[0] != null) && (obj[0].type=="radio")) { for (var i=0; i 0) { for (var i=0; i 0) { val = val.substring(0,val.length-1); // remove trailing comma } return val; } return ""; } //------------------------------------------------------------------- // setInputValue() // Set the value of any form field. In cases where no matching value // is available (select, radio, etc) then no option will be selected // (Doesn't support input types: button,file,password,reset,submit) //------------------------------------------------------------------- function setInputValue(obj,val) { if ((typeof obj.type != "string") && (obj.length > 0) && (obj[0] != null) && (obj[0].type=="radio")) { for (var i=0; i