//-------------------------------------------------------------------
// 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-1;i--)
deleteOption(what,i);
for (var i=0;i