var _jsver=11;for(var z=2;z<6;z++)document.write("<scr"+"ipt language=\"JavaScript1."+z+"\">_jsver = 1"+z+";</scr"+"ipt>");function _a(){this.version="141";this.instances=0;this.objects=new Object();this.librarypath="";this.autodetect=true;this.modules=new Array("field","functions|12","validation");this.packages=new Object();this.validators=new Array();this.containers=new Object();this.jsver=new Object();for(var z=1;z<9;z++)this.jsver["1"+z]="1."+z;this.errorColor="red";this.styleAttribute="backgroundColor";this.useErrorColorCoding=(document.all||document.getElementById)?true:false;this.validateAll=false;this.allowSubmitOnError=false;this.customValidators=0;this.resetOnInit=false;this.showStatusMsgs=true;this.userAgent=navigator.userAgent.toLowerCase();this.isIE5=(this.userAgent.indexOf("msie 5.")>-1);this.reAttribs=(this.isIE5)?"gi":"mgi";return true}qFormAPI=new _a();function _a_setLibraryPath(path){if(path.substring(path.length-1)!='/')path+='/';this.librarypath=path;return true}_a.prototype.setLibraryPath=_a_setLibraryPath;function _a_include(src,path,ver){var source=src;if(!source)return true;if(!path)var path=this.librarypath+"qforms/";if(!ver)var ver="";if(source.substring(source.length-3)!=".js")source+=".js";var thisPackage=source.substring(0,source.length-3);var strJS="<scr"+"ipt language=\"JavaScript";var strEJS="\"></scr"+"ipt>";if(this.packages[thisPackage])return true;if(thisPackage=="*"){for(var i=0;i<this.modules.length;i++){var source=this.modules[i];var ver="99";if(source.indexOf("|")>-1){ver=source.substring(source.indexOf("|")+1);source=source.substring(0,source.indexOf("|"))}if(_jsver>ver&&this.autodetect){document.write(strJS+this.jsver[ver]+"\" src=\""+path+source+"_js"+ver+".js"+strEJS)}else{document.write(strJS+"\" src=\""+path+source+".js"+strEJS)}this.packages[source]=true}}else{if(!this.autodetect||_jsver<12||ver.length==0){document.write(strJS+"\" src=\""+path+source+strEJS)}else if(this.autodetect&&(parseInt(_jsver,10)>=parseInt(ver,10))){source=source.substring(0,source.length-3)+"_js"+ver+source.substring(source.length-3);document.write(strJS+this.jsver[ver]+"\" src=\""+path+source+strEJS)}else{document.write(strJS+"\" src=\""+path+source+strEJS)}}this.packages[thisPackage]=true;return true}_a.prototype.include=_a_include;function _a_unload(){var isFramed=false;for(obj in qFormAPI.objects){qFormAPI.objects[obj]._status="idle";if(!!qFormAPI.objects[obj]._frame)isFramed=true}if(isFramed){this.objects=new Object();this.containers=new Object()}return true}_a.prototype.unload=_a_unload;function _a_validate(qForm){if(!this.validateAll){if(typeof qForm!="string"){alert("No validation form was specified.");return false}else{return qFormAPI.objects[qForm].validate()}}var aryErrors=new Array();for(obj in qFormAPI.objects){qFormAPI.objects[obj].checkForErrors();for(var i=0;i<qFormAPI.objects[obj]._queue.errors.length;i++){aryErrors[aryErrors.length]=qFormAPI.objects[obj]._queue.errors[i]}}if(aryErrors.length==0)return true;var strError="The following error(s) occurred:\n";for(var i=0;i<aryErrors.length;i++)strError+=" - "+aryErrors[i]+"\n";var result=false;if(this._allowSubmitOnError&&this._showAlerts)result=confirm(strError+"\nAre you sure you want to continue?");else if(this._allowSubmitOnError&&!this._showAlerts)result=true;else alert(strError);return result}_a.prototype.validate=_a_validate;function _a_reset(hardReset){for(obj in qFormAPI.objects)qFormAPI.objects[obj].reset(hardReset);return true}_a.prototype.reset=_a_reset;function _a_getFields(){stcAllData=new Object();for(obj in qFormAPI.objects){var tmpStruct=qFormAPI.objects[obj].getFields();for(field in tmpStruct){if(!stcAllData[field]){stcAllData[field]=tmpStruct[field]}else{stcAllData[field]+=","+tmpStruct[field]}}}return stcAllData}_a.prototype.getFields=_a_getFields;function _a_setFields(struct,rd,ra){for(obj in qFormAPI.objects)qFormAPI.objects[obj].setFields(struct,rd,ra)}_a.prototype.setFields=_a_setFields;function _a_dump(){var str="";formData=this.getFields();for(field in formData)str+=field+" = "+formData[field]+"\n";alert(str)}_a.prototype.dump=_a_dump;function qForm(name,parent,frame){if(name==null)return true;if(!name)return alert("No form specified.");qFormAPI.instances++;if(qFormAPI.instances==1)window.onunload=new Function(_functionToString(window.onunload,";qFormAPI.unload();"));this._name=name;this._parent=(!!parent)?parent:null;this._frame=(!!frame)?frame:null;this._status=null;this._queue=new Object();this._queue.errorFields=",";this._queue.errors=new Array();this._queue.validation=new Array();this._showAlerts=true;this._allowSubmitOnError=qFormAPI.allowSubmitOnError;this._locked=false;this._skipValidation=false;qFormAPI.objects[this._name]=this;this._pointer="qFormAPI.objects['"+this._name+"']";this.init();return true}new qForm(null,null,null);function _q_init(){if(!this._name)return false;if(this._parent&&document.layers)this._form=this._parent+".document."+this._name;else this._form="document."+this._name;if(this._frame)this._form=this._frame+"."+this._form;this.obj=eval(this._form);if(!this.obj)return alert("The form \""+this._name+"\" does not exist. This error \nwill occur if the Form object was initialized before the form \nhas been created or if it simply doesn't exist. Please make \nsure to initialize the Form object after page loads to avoid \npotential problems.");this.onSubmit=new Function(_functionToString(this.obj.onsubmit,""));var strSubmitCheck=this._pointer+".submitCheck();";if(this._frame)strSubmitCheck="top."+strSubmitCheck;this.obj.onsubmit=new Function("return "+strSubmitCheck);this._fields=new Array();this._pointers=new Object();for(var j=0;j<this.obj.elements.length;j++)this.addField(this.obj.elements[j].name);this._status="initialized";if(qFormAPI.resetOnInit)this.reset();return true}qForm.prototype.init=_q_init;function _q_addField(field){if(typeof field=="undefined"||field.length==0)return false;o=this.obj[field];if(typeof o=="undefined")return false;if(typeof o.type=="undefined")o=o[0];if((!!o.type)&&(typeof this[field]=="undefined")&&(field.length>0)){this[field]=new Field(o,field,this._name);this._fields[this._fields.length]=field;this._pointers[field.toLowerCase()]=this[field]}return true}qForm.prototype.addField=_q_addField;function _q_removeField(field){if(typeof this[field]=="undefined")return false;var f=this._fields;for(var i=0;i<f.length;i++){if(f[i]==field){var fp=i;break}}if(_jsver>=12){delete this[field];f.splice(fp,1);delete this._pointers[field.toLowerCase()];var q=this._queue.validation;for(var j=0;j<q.length;j++){if(q[j][0]==field){q.splice(j,1);j--}}}return true}qForm.prototype.removeField=_q_removeField;function _q_submitCheck(){if(this._status=="submitting"||this._status=="validating")return false;this._status="submitting";var result=qFormAPI.validate(this._name);if(result){var x=this.onSubmit();if(typeof x=="boolean")result=x}if(!result){this._status="idle"}else{_setContainerValues(this)}return result}qForm.prototype.submitCheck=_q_submitCheck;qForm.prototype.onSubmit=new Function("");function _q_addMethod(name,fn,type){if(arguments.length<2)return alert("To create a new method, you must specify \nboth a name and function to run: \n  obj.addMethod(\"checkTime\", _isTime);");var type=_param(arguments[2],"from").toLowerCase();if(type=="field")type="Field";else type="qForm";if(typeof fn=="function"){strFN=fn.toString();strFN=strFN.substring(strFN.indexOf(" "),strFN.indexOf("("));eval(type+".prototype."+name+" = "+strFN)}else{var fnTemp=new Function(fn);eval(type+".prototype."+name+" = fnTemp;")}return true}qForm.prototype.addMethod=_q_addMethod;function _q_addEvent(event,cmd,append){if(arguments.length<2)return alert("Invalid arguments. Please use the format \naddEvent(event, command, [append]).");var append=_param(arguments[2],true,"boolean");_addEvent(this._pointer+".obj",arguments[0],arguments[1],append);return true}qForm.prototype.addEvent=_q_addEvent;function _q_required(fields,value){var value=_param(arguments[1],true,"boolean");aryField=_removeSpaces(fields).split(",");for(var i=0;i<aryField.length;i++){if(!this[aryField[i]])return alert("The form field \""+aryField[i]+"\" does not exist.");this[aryField[i]].required=value}return true}qForm.prototype.required=_q_required;function _q_optional(fields){this.required(fields,false);return true}qForm.prototype.optional=_q_optional;function _q_forceValidation(fields,value){var value=_param(arguments[1],true,"boolean");aryField=_removeSpaces(fields).split(",");for(var i=0;i<aryField.length;i++){if(!this[aryField[i]])return alert("The form field \""+aryField[i]+"\" does not exist.");this[aryField[i]].validate=value}return true}qForm.prototype.forceValidation=_q_forceValidation;function _q_submit(){var x=false;if(this._status=="submitting")return false;if(this.obj.onsubmit())x=this.obj.submit();return(typeof x=="undefined")?true:x}qForm.prototype.submit=_q_submit;function _q_disabled(status){var objExists=(typeof this.obj.disabled=="boolean")?true:false;if(arguments.length==0)var status=(this.obj.disabled)?false:true;if(!objExists)this._locked=status;else this.obj.disabled=status;return true}qForm.prototype.disabled=_q_disabled;function _q_reset(hardReset){if(this._status==null)return false;for(var j=0;j<this._fields.length;j++){this[this._fields[j]].setValue(((!!hardReset)?null:this[this._fields[j]].defaultValue),true,false);if(this[this._fields[j]]._queue.dependencies.length>0)this[this._fields[j]].enforceDependency()}return true}qForm.prototype.reset=_q_reset;function _q_getFields(){if(this._status==null)return false;struct=new Object();for(var j=0;j<this._fields.length;j++)struct[this._fields[j]]=this[this._fields[j]].getValue();return struct}qForm.prototype.getFields=_q_getFields;function _q_setFields(struct,rd,ra){if(this._status==null)return false;var resetDefault=_param(arguments[1],false,"boolean");var resetAll=_param(arguments[2],true,"boolean");if(resetAll)this.reset();for(key in struct){var obj=this._pointers[key.toLowerCase()];if(obj){obj.setValue(struct[key],true,false);if(resetDefault)obj.defaultValue=struct[key]}}return true}qForm.prototype.setFields=_q_setFields;function _q_hasChanged(){if(this._status==null)return false;var b=false;for(var j=0;j<this._fields.length;j++){if(this[this._fields[j]].getValue()!=this[this._fields[j]].defaultValue){b=true;break}}return b}qForm.prototype.hasChanged=_q_hasChanged;function _q_changedFields(){if(this._status==null)return false;struct=new Object();for(var j=0;j<this._fields.length;j++){if(this[this._fields[j]].getValue()!=this[this._fields[j]].defaultValue){struct[this._fields[j]]=this[this._fields[j]].getValue()}}return struct}qForm.prototype.changedFields=_q_changedFields;function _q_dump(){var str="";var f=this.getFields();for(fld in f)str+=fld+" = "+f[fld]+"\n";alert(str)}qForm.prototype.dump=_q_dump;function Field(form,field,formName,init){if(arguments.length>3)return true;this._queue=new Object();this._queue.dependencies=new Array();this._queue.validation=new Array();this.qForm=qFormAPI.objects[formName];this.name=field;this.path=this.qForm._form+"['"+field+"']";this.pointer=this.qForm._pointer+"['"+field+"']";this.obj=eval(this.path);this.locked=false;this.description=field.toLowerCase();this.required=false;this.validate=false;this.container=false;this.type=(!this.obj.type&&!!this.obj[0])?this.obj[0].type:this.obj.type;this.validatorAttached=false;this.requiredMessage="";var value=this.getValue();this.defaultValue=value;this.lastValue=value;this.init();return true}new Field(null,null,null,true);function _f_init(){if(qFormAPI.useErrorColorCoding&&this.obj.style)this.styleValue=(!!this.obj.style[qFormAPI.styleAttribute])?this.obj.style[qFormAPI.styleAttribute].toLowerCase():"";if(document.layers&&(this.type=="radio"||this.type=="checkbox")&&!!this.obj[0]){this.addEvent("onclick","return "+this.pointer+".allowFocus();")}else{this.addEvent("onfocus","return "+this.pointer+".allowFocus();")}}Field.prototype.init=_f_init;function _f_allowFocus(){if(qFormAPI.useErrorColorCoding&&this.obj.style){if(this.qForm._queue.errorFields.indexOf(","+this.name+",")>-1)this.obj.style[qFormAPI.styleAttribute]=this.styleValue}this.lastValue=this.getValue();var result=this.checkIfLocked();if((this.type.indexOf("select")>-1)&&!result){this.resetLast();this.blur()}if(!result)this.onFocus();return result}Field.prototype.allowFocus=_f_allowFocus;Field.prototype.onFocus=new Function("");function _f_addEvent(event,cmd,append){if(arguments.length<2)return alert("Invalid arguments. Please use the format \naddEvent(event, command, [append]).");var append=_param(arguments[2],true,"boolean");if((this.type=="radio"||this.type=="checkbox")&&!!this.obj[0]){for(var i=0;i<this.obj.length;i++)_addEvent(this.path+"["+i+"]",arguments[0],arguments[1],append)}else{_addEvent(this.path,arguments[0],arguments[1],append)}return true}Field.prototype.addEvent=_f_addEvent;function _f_disabled(s){var status=arguments[0];var oField=(this.type=="radio")?this.obj[0]:this.obj;var objExists=(typeof oField.disabled=="boolean")?true:false;if(arguments.length==0)var status=(oField.disabled)?false:true;if(!objExists)this.locked=status;else{if(!!this.obj[0]&&this.type.indexOf("select")==-1)for(var i=0;i<this.obj.length;i++)this.obj[i].disabled=status;else this.obj.disabled=status}return true}Field.prototype.disabled=_f_disabled;function _f_checkIfLocked(showMsg){var bShowMsg=_param(arguments[0],this.qForm._showAlerts);if(this.isLocked()){this.blur();if(bShowMsg)alert("This field is disabled.");return false}return true}Field.prototype.checkIfLocked=_f_checkIfLocked;function _f_isLocked(){var isLocked=this.locked;if(this.qForm._locked)isLocked=true;return isLocked}Field.prototype.isLocked=_f_isLocked;function _f_isDisabled(){if(typeof this.obj.disabled=="boolean"){var isDisabled=this.obj.disabled;if(this.qForm.obj.disabled)isDisabled=true;return isDisabled}else{return false}}Field.prototype.isDisabled=_f_isDisabled;function _f_focus(){if(!!this.obj.focus)this.obj.focus()}Field.prototype.focus=_f_focus;function _f_blur(){if(!!this.obj.blur)this.obj.blur()}Field.prototype.blur=_f_blur;function _f_select(){if(!!this.obj.select)this.obj.select()}Field.prototype.select=_f_select;function _f_reset(){this.setValue(this.defaultValue,true,false)}Field.prototype.reset=_f_reset;function _f_getValue(){var type=(this.type.substring(0,6)=="select")?"select":this.type;var value=new Array();if(type=="select"){if(this.type=="select-one"&&!this.container){value[value.length]=(this.obj.selectedIndex==-1)?"":this.obj[this.obj.selectedIndex].value}else{for(var i=0;i<this.obj.length;i++){if((this.obj[i].selected||this.container)&&(!this.dummyContainer)){value[value.length]=this.obj[i].value}}}}else if((type=="checkbox")||(type=="radio")){if(!!this.obj[0]&&!this.obj.value){for(var i=0;i<this.obj.length;i++)if(this.obj[i].checked)value[value.length]=this.obj[i].value}else if(this.obj.checked){value[value.length]=this.obj.value}}else{value[value.length]=this.obj.value}return value.join(",")}Field.prototype.getValue=_f_getValue;function _f_setValue(value,bReset,doEvents){this.lastValue=this.getValue();var reset=_param(arguments[1],true,"boolean");var doEvents=_param(arguments[2],true,"boolean");var type=(this.type.substring(0,6)=="select")?"select":this.type;var v;if(type=="select"){var bSelectOne=(this.type=="select-one")?true:false;var orig=value;value=","+value+",";bLookForFirst=true;if(!this.container){for(var i=0;i<this.obj.length;i++){v=this.obj[i].value;bSelectItem=(value.indexOf(","+v+",")>-1)?true:false;if(bSelectItem&&(bLookForFirst||!bSelectOne))this.obj[i].selected=true;else if(reset||bSelectOne)this.obj[i].selected=false;if(bSelectItem&&bLookForFirst)bLookForFirst=false}if(bSelectOne&&bLookForFirst){if(this.defaultValue==orig)if(this.obj.length>0)this.obj[0].selected=true;else this.setValue(this.defaultValue)}}else{newValues=new Object();for(var i=0;i<this.boundContainers.length;i++){var sCName=this.qForm._name+"_"+this.boundContainers[i];if(qFormAPI.containers[sCName]){for(key in qFormAPI.containers[sCName]){if(value.indexOf(","+key+",")>-1){newValues[key]=qFormAPI.containers[sCName][key]}}}}this.populate(newValues,reset)}}else if((type=="checkbox")||(type=="radio")){if(!!this.obj[0]&&!this.obj.value){value=","+value+",";for(var i=0;i<this.obj.length;i++){if(value.indexOf(","+this.obj[i].value+",")>-1)this.obj[i].checked=true;else if(reset)this.obj[i].checked=false}}else if(this.obj.value==value){this.obj.checked=true}else if(reset){this.obj.checked=false}}else{this.obj.value=(!value)?"":value}if(doEvents){this.triggerEvent("onblur");if(this.lastValue!=value)this.triggerEvent("onchange")}this.onSetValue();return true}Field.prototype.setValue=_f_setValue;Field.prototype.onSetValue=new Function("");function _f_triggerEvent(event){oEvent=eval("this.obj."+event);if((this.obj.type=="checkbox")||(this.obj.type=="radio")&&!!this.obj[0]){for(var k=0;k<this.obj.length;k++){oEvent=eval("this.obj[k]."+event);if(typeof oEvent=="function")oEvent()}}else if(typeof oEvent=="function"){oEvent()}}Field.prototype.triggerEvent=_f_triggerEvent;function _q_addValidator(name,fn){if(arguments.length<2)return alert("To create a new validation object, you must specify \nboth a name and function to run: \n  obj.addValidator(\"isTime\", __isTime);");if(typeof fn=="string"){var _func=new Function(fn);_addValidator(name,_func)}else{_addValidator(name,fn)}return true}qForm.prototype.addValidator=_q_addValidator;function _f_validateExp(expression,error,cmd){var expression=_param(arguments[0],"false");var error=_param(arguments[1],"An error occurred on the field '\" + this.description + \"'.");var cmd=_param(arguments[2]);var strFn="if( "+expression+" ){ this.error = \""+error+"\";}";if(cmd.length>0)strFn+=cmd;strValidateExp="_validateExp"+qFormAPI.customValidators;_addValidator(strValidateExp,new Function(strFn));eval(this.pointer+".validate"+strValidateExp+"();");qFormAPI.customValidators++}Field.prototype.validateExp=_f_validateExp;function _addValidator(name,fn,alwaysRun){var alwaysRun=_param(arguments[2],false,"boolean");if(arguments.length<2)return alert("To create a new validation object, you must specify \nboth a name and function to run: \n  _addValidator(\"isTime\", __isTime);");if(name.substring(0,2).toLowerCase()=="is")name=name.substring(2);for(var a=0;a<qFormAPI.validators.length;a++)if(qFormAPI.validators[a]==name)return alert("The "+name+" validator has already been loaded.");qFormAPI.validators[qFormAPI.validators.length]=name;if(qFormAPI.showStatusMsgs&&name.substring(0,12)!="_validateExp"){window.status="Initializing the validate"+name+"() and is"+name+"() validation scripts...";setTimeout("window.status = ''",100)}var strFN=fn.toString();if((/applewebkit/i).test(navigator.userAgent))strFN=strFN.replace(/(\/\/[^\n]*\n)/gi,"").replace(/\/\*[^(\*\/)]*\*\//gi,"").replace(/\n/gi," ");var strName=strFN.substring(strFN.indexOf(" "),strFN.indexOf("("));var strArguments=strFN.substring(strFN.indexOf("(")+1,strFN.indexOf(")"));while(strArguments.indexOf(" ")>-1)strArguments=strArguments.substring(0,strArguments.indexOf(" "))+strArguments.substring(strArguments.indexOf(" ")+1);var strBody="var display = (this.qForm._status == 'validating') ? false : true;\n";strBody+="if( (display && this.isLocked()) || this.qForm._status.substring(0,5) == 'error') return false;\n this.value = this.getValue();";if(!alwaysRun)strBody+="if( !display && this.value.length == 0 && !this.required ) return false;\n";strBody+="this.error = '';\n";strBody+=strFN.substring(strFN.indexOf("{")+1,strFN.lastIndexOf("}"));strBody+="if( this.error.length > 0 && !!errorMsg) this.error = errorMsg;\n";strBody+="if( display && this.error.length > 0 ){\n";strBody+="if( this.qForm._status.indexOf('_ShowError') > -1 ){\n";strBody+="this.qForm._status = 'error';\n";strBody+="alert(this.error);\n";strBody+="setTimeout(this.pointer + \".focus();\", 1);\n";strBody+="setTimeout(this.pointer + \".qForm._status = 'idle';\", 100);\n";strBody+="} return false;\n";strBody+="} else if ( display ){ return true; } return this.error;\n";var strNewFN="new Function(";var aryArguments=strArguments.split(",");for(var i=0;i<aryArguments.length;i++){if(aryArguments[i]!="")strNewFN+="\""+aryArguments[i]+"\","}var strRuleFN=strNewFN;strNewFN+="\"errorMsg\",strBody);";eval("Field.prototype.is"+name+" = "+strNewFN);var strRule="var cmd = this.pointer + '.is"+name+"';\n";strRule+="cmd += '( ';\n";strRule+="for( i=0; i < arguments.length; i++ ){ \n";strRule+="if( typeof arguments[i] == 'string' ) cmd += '\"' + arguments[i] + '\",';\n";strRule+="else cmd += arguments[i] + ',';\n";strRule+="}\n";strRule+="cmd = cmd.substring(0, cmd.length-1);\n";strRule+="cmd += ')';\n";strRule+="this.qForm._queue.validation[this.qForm._queue.validation.length] = new Array(this.name, cmd);\n";strRule+="this._queue.validation[this._queue.validation.length] = cmd;\n";strRule+="if( !this.validatorAttached ){ this.addEvent('onblur', this.pointer + '.checkForErrors()');";strRule+="this.validatorAttached = true;}\n";strRule+="return true;\n";strRuleFN+="\"errorMsg\",strRule);";eval("Field.prototype.validate"+name+" = "+strRuleFN);return true}function _f_checkForErrors(){if(!this.validate||this.qForm._skipValidation)return true;this.qForm._status+="_ShowError";for(var i=0;i<this._queue.validation.length;i++)if(!eval(this._queue.validation[i]))break;setTimeout(this.pointer+".qForm._status = 'idle';",100);return true}Field.prototype.checkForErrors=_f_checkForErrors;function _q_validate(){if(!qFormAPI.packages.validation||this._skipValidation)return true;this.checkForErrors();if(this._queue.errors.length==0)return true;var result=this.onError();if(result==false)return true;var strError="The following error(s) occurred:\n";for(var i=0;i<this._queue.errors.length;i++)strError+=" - "+this._queue.errors[i]+"\n";var result=false;if(this._allowSubmitOnError&&this._showAlerts)result=confirm(strError+"\nAre you sure you want to continue?");else if(this._allowSubmitOnError&&!this._showAlerts)result=true;else alert(strError);return result}qForm.prototype.validate=_q_validate;function _q_checkForErrors(){var status=this._status;this._status="validating";this._queue.errors=new Array();var aryQueue=new Array();this._queue.errorFields=",";var sErrorMsg="";for(var j=0;j<this._fields.length;j++){sErrorMsg=(this[this._fields[j]].requiredMessage.length>0)?this[this._fields[j]].requiredMessage:"The "+this[this._fields[j]].description+" field is required.";if(this[this._fields[j]].required)aryQueue[aryQueue.length]=new Array(this._fields[j],this._pointer+"['"+this._fields[j]+"'].isNotEmpty(\""+sErrorMsg+"\");");if(qFormAPI.useErrorColorCoding&&this[this._fields[j]].obj.style)this[this._fields[j]].obj.style[qFormAPI.styleAttribute]=this[this._fields[j]].styleValue}for(var i=0;i<aryQueue.length;i++)this[aryQueue[i][0]].throwError(eval(aryQueue[i][1]));for(var i=0;i<this._queue.validation.length;i++)this[this._queue.validation[i][0]].throwError(eval(this._queue.validation[i][1]));this.onValidate();this._status=status;return true}qForm.prototype.checkForErrors=_q_checkForErrors;qForm.prototype.onValidate=new Function("");qForm.prototype.onError=new Function("");function _f_throwError(error){var q=this.qForm;if((typeof error=="string")&&(error.length>0)&&(q._queue.errorFields.indexOf(","+this.name+",")==-1)){q._queue.errors[q._queue.errors.length]=error;q._queue.errorFields+=this.name+",";if(qFormAPI.useErrorColorCoding&&this.obj.style)this.obj.style[qFormAPI.styleAttribute]=qFormAPI.errorColor;return true}return false}Field.prototype.throwError=_f_throwError;function _addEvent(obj,event,cmd,append){if(arguments.length<3)return alert("Invalid arguments. Please use the format \n_addEvent(object, event, command, [append]).");var append=_param(arguments[3],true,"boolean");var event=arguments[0]+"."+arguments[1].toLowerCase();var objEvent=eval(event);var strEvent=(objEvent)?objEvent.toString():"";strEvent=strEvent.substring(strEvent.indexOf("{")+1,strEvent.lastIndexOf("}"));strEvent=(append)?(strEvent+cmd):(cmd+strEvent);strEvent+="\n";eval(event+" = new Function(strEvent)");return true}function _functionToString(fn,cmd,append){if(arguments.length<1)return alert("Invalid arguments. Please use the format \n_functionToString(function, [command], [append]).");var append=_param(arguments[2],true,"boolean");var strFunction=(!fn)?"":fn.toString();strFunction=strFunction.substring(strFunction.indexOf("{")+1,strFunction.lastIndexOf("}"));if(cmd)strFunction=(append)?(strFunction+cmd+"\n"):(cmd+strFunction+"\n");return strFunction}function _param(v,d,t){if(typeof d=="undefined")d="";if(typeof t=="undefined")t="string";if(t=="number"&&typeof v=="string")var v=parseFloat(arguments[0]);var value=(typeof v!="undefined"&&typeof v==t.toLowerCase())?v:d;return value}function _removeSpaces(v){while(v.indexOf(" ")>-1)v=v.substring(0,v.indexOf(" "))+v.substring(v.indexOf(" ")+1);return v}function _setContainerValues(obj){for(var i=0;i<obj._fields.length;i++){if(obj[obj._fields[i]].container&&obj[obj._fields[i]].type.substring(0,6)=="select"){for(var x=0;x<obj[obj._fields[i]].obj.length;x++){obj[obj._fields[i]].obj[x].selected=(!obj[obj._fields[i]].dummyContainer)}}}}function _trim(s){return _rtrim(_ltrim(s))}function _ltrim(s){return(s.length==0)?s:s.replace(new RegExp("^\\s+",qFormAPI.reAttribs),"")}function _rtrim(s){return(s.length==0)?s:s.replace(new RegExp("\\s+$",qFormAPI.reAttribs),"")}function _listToArray(string,delim){var delim=_param(arguments[1],",");tmp=string.split(delim);for(var i=0;i<tmp.length;i++)tmp[i]=_trim(tmp[i]);return tmp}function _listSum(string,delim){var delim=_param(arguments[1],",");tmp=_listToArray(string,delim);iValue=0;for(var i=0;i<tmp.length;i++)iValue+=parseInt(_trim(tmp[i]),10);return iValue}function _stripInvalidChars(_s,_t){var s=_param(arguments[0]);var t=_param(arguments[1],"numeric").toLowerCase();var r;if(t=="numeric")r=new RegExp("[^0-9]+",qFormAPI.reAttribs);else if(t=="alpha")r=new RegExp("[^A-Za-z]+",qFormAPI.reAttribs);else if(t=="alphanumeric")r=new RegExp("\\W+",qFormAPI.reAttribs);else r=new RegExp("[^"+t+"]+",qFormAPI.reAttribs);s=s.replace(r,"");return s}function _isLength(string,len,type){var string=_param(arguments[0]);var len=parseInt(_param(arguments[1],10,"number"),10);var type=_param(arguments[2],"numeric");var tmp=_stripInvalidChars(string,type);return(tmp.length==len)?true:false}function _getState(abbr){var abbr=_param(arguments[0]).toLowerCase();_s=new Object();_s.al="Alabama";_s.ak="Alaska";_s.as="American Samoa";_s.az="Arizona";_s.ar="Arkansas";_s.ca="California";_s.co="Colorado";_s.ct="Connecticut";_s.de="Delaware";_s.dc="District of Columbia";_s.fm="Federal States of Micronesia";_s.fl="Florida";_s.ga="Georgia";_s.gu="Guam";_s.hi="Hawaii";_s.id="Idaho";_s.il="Illinois";_s["in"]="Indiana";_s.ia="Iowa";_s.ks="Kansas";_s.ky="Kentucky";_s.la="Louisana";_s.me="Maine";_s.mh="Marshall Islands";_s.md="Maryland";_s.ma="Massachusetts";_s.mi="Michigan";_s.mn="Minnesota";_s.ms="Mississippi";_s.mo="Missouri";_s.mt="Montana";_s.ne="Nebraska";_s.nv="Nevada";_s.nh="New Hampshire";_s.nj="New Jersey";_s.nm="New Mexico";_s.ny="New York";_s.nc="North Carolina";_s.nd="North Dakota";_s.mp="Northern Mariana Islands";_s.oh="Ohio";_s.ok="Oklahoma";_s.or="Oregon";_s.pw="Palau";_s.pa="Pennsylvania";_s.pr="Puerto Rico";_s.ri="Rhode Island";_s.sc="South Carolina";_s.sd="South Dakota";_s.tn="Tennessee";_s.tx="Texas";_s.ut="Utah";_s.vt="Vermont";_s.vi="Virgin Islands";_s.va="Virginia";_s.wa="Washington";_s.wv="West Virginia";_s.wi="Wisconsin";_s.wy="Wyoming";_s.aa="Armed Forces Americas";_s.ae="Armed Forces Africa/Europe/Middle East";_s.ap="Armed Forces Pacific";if(!_s[abbr]){return null}else{return _s[abbr]}}qFormAPI.sortOptions=new Object();qFormAPI.sortOptions.order="asc";qFormAPI.sortOptions.byText=true;function _sortOptions(obj,order,byText){var order=_param(arguments[1],qFormAPI.sortOptions.order);if(order!="asc"&&order!="desc")order="asc";var byText=_param(arguments[2],qFormAPI.sortOptions.byText,"boolean");var orderAsc=(order=="asc")?true:false;for(var i=0;i<obj.options.length;i++){for(var j=0;j<obj.options.length-1;j++){if(orderAsc&&(byText&&obj.options[j].text>obj.options[j+1].text)||(!byText&&obj.options[j].value>obj.options[j+1].value)){_swapOptions(obj.options[j],obj.options[j+1])}else if(!orderAsc&&(byText&&obj.options[j].text<obj.options[j+1].text)||(!byText&&obj.options[j].value<obj.options[j+1].value)){_swapOptions(obj.options[j],obj.options[j+1])}}}return true}function _swapOptions(o1,o2){var sText=o1.text;var sValue=o1.value;var sSelected=o1.selected;o1.text=o2.text;o1.value=o2.value;o1.selected=o2.selected;o2.text=sText;o2.value=sValue;o2.selected=sSelected}function _transferOptions(field1,field2,sort,type,selectItems,reset){var sort=_param(arguments[2],true,"boolean");var type=_param(arguments[3],"selected").toLowerCase();if(type!="all"&&type!="selected")type="selected";var selectItems=_param(arguments[4],true,"boolean");var reset=_param(arguments[5],false,"boolean");var doAll=(type=="all")?true:false;if(field1.type.substring(0,6)!="select")return alert("This method is only available to select boxes. \nThe field \""+field1.name+"\" is not a select box.");if(field2.type.substring(0,6)!="select")return alert("This method is only available to select boxes. \nThe field \""+field2.name+"\" is not a select box.");if(reset)field2.length=0;for(var i=0;i<field1.length;i++){if(doAll||field1.options[i].selected){field2.options[field2.length]=new Option(field1.options[i].text,field1.options[i].value,false,selectItems);field1.options[i]=null;i--}}if(sort)_sortOptions(field2);return true}function _copyOptions(field1,field2,number,sort,type,selectItems,reset){var number=_param(arguments[2],1,"number");var sort=_param(arguments[3],true,"boolean");var type=_param(arguments[4].toLowerCase(),"selected");if(type!="all"&&type!="selected")type="selected";var selectItems=_param(arguments[5],true,"boolean");var reset=_param(arguments[6],false,"boolean");var doAll=(type=="all")?true:false;if(field1.type.substring(0,6)!="select")return alert("This method is only available to select boxes. \nThe field \""+field1.name+"\" is not a select box.");if(field2.type.substring(0,6)!="select")return alert("This method is only available to select boxes. \nThe field \""+field2.name+"\" is not a select box.");if(reset)field2.length=0;for(var i=0;i<field1.length;i++){if(doAll||field1.options[i].selected){for(var j=0;j<number;j++){field2.options[field2.length]=new Option(field1.options[i].text,field1.options[i].value,false,selectItems)}}}if(sort)_sortOptions(field2);return true}function _deleteOptions(field,type){var doAll=(type=="all")?true:false;for(var i=0;i<field.length;i++){if(doAll||field.options[i].selected){field.options[i]=null;i--}}}function _getURLParams(){struct=new Object();var strURL=document.location.href;var iPOS=strURL.indexOf("?");if(iPOS!=-1){var strQS=strURL.substring(iPOS+1);var aryQS=strQS.split("&")}else{return struct}for(var i=0;i<aryQS.length;i++){iPOS=aryQS[i].indexOf("=");if(iPOS==-1){struct[aryQS[i]]=null}else{var key=aryQS[i].substring(0,iPOS);var value=unescape(aryQS[i].substring(iPOS+1));if(!struct[key])struct[key]=value;else struct[key]+=","+value}}return struct}function _createFields(struct,type){var type=_param(arguments[1],"hidden");if(this.status==null)return false;for(key in struct){document.write("<input type=\""+type+"\" name=\""+key+"\" value=\""+struct[key]+"\" />")}return true}function _getEventType(type){var strEvent="onblur";if(type=="checkbox"||type=="radio")strEvent="onclick";else if(type.substring(0,6)=="select")strEvent="onchange";return strEvent}qFormAPI.packages.validation=true;function _Field_isNotNull(){if(this.value.length==0){this.error="You must specify a(n) "+this.description+"."}}_addValidator("isNotNull",_Field_isNotNull,true);function _Field_isNotEmpty(){if(_ltrim(this.value).length==0){this.error="You must specify a(n) "+this.description+"."}}_addValidator("isNotEmpty",_Field_isNotEmpty);function _Field_isEmail(){if(this.value.indexOf(" ")!=-1){this.error="Invalid "+this.description+" address. An e-mail address should not contain a space."}else if(this.value.indexOf("@")==-1){this.error="Invalid "+this.description+" address. An e-mail address must contain the @ symbol."}else if(this.value.indexOf("@")==0){this.error="Invalid "+this.description+" address. The @ symbol can not be the first character of an e-mail address."}else if(this.value.substring(this.value.indexOf("@")+2).indexOf(".")==-1){this.error="Invalid "+this.description+" address. An e-mail address must contain at least one period after the @ symbol."}else if(this.value.lastIndexOf("@")==this.value.length-1){this.error="Invalid "+this.description+" address. The @ symbol can not be the last character of an e-mail address."}else if(this.value.lastIndexOf(".")==this.value.length-1){this.error="Invalid "+this.description+" address. A period can not be the last character of an e-mail address."}}_addValidator("isEmail",_Field_isEmail);function _Field_isPassword(field,minlen,maxlen){var minlen=_param(arguments[1],1,"number");var maxlen=_param(arguments[2],255,"number");if(field!=null&&!this.compare(field)){this.error="The "+this.description+" and "+this.qForm[field].description+" values do not match."}if(this.error.length==0){if((this.value.length<minlen)||(this.value.length>maxlen)){this.error="The "+this.description+" field must be between "+minlen.toString()+" and "+maxlen.toString()+" characters long."}}}_addValidator("isPassword",_Field_isPassword);function _Field_isSame(field){if(!this.compare(field)){this.error="The "+this.description+" and "+this.qForm[field].description+" values do not match."}}_addValidator("isSame",_Field_isSame);function _Field_isDifferent(field){if(this.compare(field)){this.error="The "+this.description+" and "+this.qForm[field].description+" must be different."}}_addValidator("isDifferent",_Field_isDifferent);function _Field_isRange(low,high){var low=_param(arguments[0],0,"number");var high=_param(arguments[1],9999999,"number");var iValue=parseInt(this.value,10);if(isNaN(iValue))iValue=0;if((low>iValue)||(high<iValue)){this.error="The "+this.description+" field does not contain a\nvalue between "+low+" and "+high+"."}}_addValidator("isRange",_Field_isRange);function _Field_isInteger(){var i=parseInt(this.value,10);if(isNaN(i)||(String(i)!=this.value)){this.error="The value for "+this.description+" is not a numeric value. This field requires a numeric value."}}_addValidator("isInteger",_Field_isInteger);function _Field_isNumeric(){var i=parseFloat(this.value,10);if(isNaN(i)||(String(i)!=this.value)){this.error="The value for "+this.description+" is not a numeric value. This field requires a numeric value."}}_addValidator("isNumeric",_Field_isNumeric);function _Field_isAlpha(){if(!_isLength(this.value,this.value.length,"alpha")){this.error="The value for "+this.description+" must contain only alpha characters."}}_addValidator("isAlpha",_Field_isAlpha);function _Field_isAlphaNumeric(){if(!_isLength(this.value,this.value.length,"alphanumeric")){this.error="The value for "+this.description+" must contain only alpha-numeric characters."}}_addValidator("isAlphaNumeric",_Field_isAlphaNumeric);function _Field_isDate(mask){var strMask=_param(arguments[0],"mm/dd/yyyy");var iMaskMonth=strMask.lastIndexOf("m")-strMask.indexOf("m")+1;var iMaskDay=strMask.lastIndexOf("d")-strMask.indexOf("d")+1;var iMaskYear=strMask.lastIndexOf("y")-strMask.indexOf("y")+1;var strDate=this.value;var delim="",lstMask="mdy";for(var i=0;i<strMask.length;i++){if(lstMask.indexOf(strMask.substring(i,i+1))==-1){delim=strMask.substring(i,i+1);break}}aMask=strMask.split(delim);if(aMask.length==3){dt=this.value.split(delim);if(dt.length!=3)this.error="An invalid date was provided for "+this.description+" field.";for(i=0;i<aMask.length;i++){if(aMask[i].indexOf("m")>-1)var sMonth=dt[i];else if(aMask[i].indexOf("d")>-1)var sDay=dt[i];else if(aMask[i].indexOf("y")>-1)var sYear=dt[i]}}else if(mask.length==1){var sMonth=this.value.substring(strMask.indexOf("m")-1,strMask.lastIndexOf("m"));var sDay=this.value.substring(strMask.indexOf("d")-1,strMask.lastIndexOf("d"));var sYear=this.value.substring(strMask.indexOf("y")-1,strMask.lastIndexOf("y"))}else{this.error="An invalid date mask was provided for "+this.description+" field."}var iMonth=parseInt(sMonth,10);var iDay=parseInt(sDay,10);var iYear=parseInt(sYear,10);if(isNaN(iMonth)||sMonth.length>iMaskMonth)iMonth=0;if(isNaN(iDay)||sDay.length>iMaskDay)iDay=0;if(isNaN(sYear)||sYear.length!=iMaskYear)sYear=null;lst30dayMonths=",4,6,9,11,";if(this.error.length==0){if(sYear==null){this.error="An invalid year was provided for the "+this.description+" field. The year \n   should be a "+iMaskYear+" digit number."}else if((iMonth<1)||(iMonth>12)){this.error="An invalid month was provided for "+this.description+" field."}else{if(iYear<100)var iYear=iYear+((iYear>20)?1900:2000);var iYear=(sYear.length==4)?parseInt(sYear,10):parseInt("20"+sYear,10);if(lst30dayMonths.indexOf(","+iMonth+",")>-1){if((iDay<1)||(iDay>30))this.error="An invalid day was provided for the "+this.description+" field."}else if(iMonth==2){if((iDay<1)||(iDay>28&&!((iDay==29)&&(iYear%4==0))))this.error="An invalid day was provided for the "+this.description+" field."}else{if((iDay<1)||(iDay>31))this.error="An invalid day was provided for the "+this.description+" field."}}}}_addValidator("isDate",_Field_isDate);function _Field_isCreditCard(){var strCC=_stripInvalidChars(this.value,"numeric").toString();var isNumeric=(strCC.length>0)?true:false;if(isNumeric){var dd=(strCC.length%2==1)?false:true;var cd=0;var td;for(var i=0;i<strCC.length;i++){td=parseInt(strCC.charAt(i),10);if(dd){td*=2;cd+=(td%10);if((td/10)>=1.0)cd++;dd=false}else{cd+=td;dd=true}}if((cd%10)!=0)this.error="The credit card number entered in the "+this.description+" field is invalid."}else{this.error="The credit card number entered in the "+this.description+" field is invalid."}}_addValidator("isCreditCard",_Field_isCreditCard);function _Field_isPhoneNumber(len){var len=parseInt(_param(arguments[0],10,"number"),10);var description=(this.description==this.name.toLowerCase())?"phone number":this.description;if(!_isLength(this.value,len)){this.error="The "+description+" field must include "+len+" digits."}}_addValidator("isPhoneNumber",_Field_isPhoneNumber);function _Field_isLength(len,type){var len=parseInt(_param(arguments[0],10,"number"),10);var type=_param(arguments[1],"numeric");if(!_isLength(this.value,len,type)){this.error="The "+this.description+" field must include "+len+" "+type+" characters."}}_addValidator("isLength",_Field_isLength);function _Field_isSSN(){var description=(this.description==this.name.toLowerCase())?"social security":this.description;if(!_isLength(this.value,9)){this.error="The "+description+" field must include 9 digits."}}_addValidator("isSSN",_Field_isSSN);function _Field_isState(){if(_getState(this.value)==null){this.error="The "+this.description+" field must contain a valid 2-digit state abbreviation."}}_addValidator("isState",_Field_isState);function _Field_isZipCode(){var description=(this.description==this.name.toLowerCase())?"zip code":this.description;iZipLen=_stripInvalidChars(this.value).length;if(iZipLen!=5&&iZipLen!=9){this.error="The "+description+" field must contain either 5 or 9 digits."}}_addValidator("isZipCode",_Field_isZipCode);function _Field_isFormat(mask,type){var mask=_param(arguments[0]);var type=_param(arguments[1],"numeric").toLowerCase();var strErrorMsg="";var strMaskLC=mask.toLowerCase();if(strMaskLC=="ssn"){mask="xxx-xx-xxxx";type="numeric";var description=(this.description==this.name.toLowerCase())?"social security number":this.description;strErrorMsg="The "+description+" field must contain 9 digits and \nshould be in the format: "+mask}else if((strMaskLC=="phone")||(strMaskLC=="phone1")){mask="(xxx) xxx-xxxx";type="numeric";var description=(this.description==this.name.toLowerCase())?"phone number":this.description;strErrorMsg="The "+description+" field must contain 10 digits and \nshould be in the format: "+mask}else if(strMaskLC=="phone2"){mask="xxx-xxx-xxxx";type="numeric";var description=(this.description==this.name.toLowerCase())?"phone number":this.description;strErrorMsg="The "+description+" field must contain 10 digits and \nshould be in the format: "+mask}else if(strMaskLC=="phone3"){mask="xxx/xxx-xxxx";type="numeric";var description=(this.description==this.name.toLowerCase())?"phone number":this.description;strErrorMsg="The "+description+" field must contain 10 digits and \nshould be in the format: "+mask}else if(strMaskLC=="phone7"){mask="xxx-xxxx";type="numeric";var description=(this.description==this.name.toLowerCase())?"phone number":this.description;strErrorMsg="The "+description+" field must contain 7 digits and \nshould be in the format: "+mask}else if(strMaskLC=="zip"){if(_stripInvalidChars(this.value).length<6){mask="xxxxx"}else{mask="xxxxx-xxxx"}type="numeric";var description=(this.description==this.name.toLowerCase())?"zip code":this.description;strErrorMsg="The "+description+" field should contain either 5 or 9 digits \nand be in the format: xxxxx or xxxxx-xxxx"}else if(strMaskLC=="zip5"){mask="xxxxx";type="numeric";var description=(this.description==this.name.toLowerCase())?"zip code":this.description;strErrorMsg="The "+description+" field should contain 5 digits \nand be in the format: "+mask}else if(strMaskLC=="zip9"){mask="xxxxx-xxxx";type="numeric";var description=(this.description==this.name.toLowerCase())?"zip code":this.description;strErrorMsg="The "+description+" field should contain 9 digits \nand be in the format: "+mask}else{var description=this.description}var string=_stripInvalidChars(this.value,type);var masklen=_stripInvalidChars(mask,"x").length;if(string.length!=masklen&&this.value.length>0){if(strErrorMsg.length==0)strErrorMsg="This field requires at least "+masklen+" valid characters. Please \nmake sure to enter the value in the format: \n   "+mask+"\n(where 'x' is a valid character.)";this.error=strErrorMsg}else if(string.length==masklen){var stcMask=new Object();var lc=mask.toLowerCase();for(var i=0;i<mask.length;i++){if(lc.charAt(i)!="x")stcMask[i]=mask.charAt(i)}var iLastChar=0;var newString="";var i=0;for(var pos in stcMask){pos=parseInt(pos,10);if(pos>iLastChar){newString+=string.substring(iLastChar,pos-i)+stcMask[pos];iLastChar=pos-i}else{newString+=stcMask[pos]}i++}if(i==0){newString=string}else{newString+=string.substring(iLastChar)}this.setValue(newString,true,false)}}_addValidator("isFormat",_Field_isFormat);function _Field_isLengthGT(len){if(this.obj.value.length<=len){this.error="The "+this.description+" field must be greater than "+len+" characters."}}_addValidator("isLengthGT",_Field_isLengthGT);function _Field_isLengthLT(len){if(this.obj.value.length>=len){this.error="The "+this.description+" field must be less than "+len+" characters."}}_addValidator("isLengthLT",_Field_isLengthLT);function _Field_makeContainer(bindTo){lstContainers=(arguments.length==0)?this.name:this.name+","+arguments[0];this.container=true;this.defaultValue=this.getValue();this.lastValue=this.defaultValue;this.dummyContainer=false;this.boundContainers=_listToArray(lstContainers.toLowerCase());var thisKey=this.qForm._name+"_"+this.name.toLowerCase();qFormAPI.containers[thisKey]=new Object();for(var i=0;i<this.obj.options.length;i++){qFormAPI.containers[thisKey][this.obj.options[i].value]=this.obj.options[i].text}}Field.prototype.makeContainer=_Field_makeContainer;function _Field_resetLast(){this.setValue(this.lastValue,null,false);return true}Field.prototype.resetLast=_Field_resetLast;function _Field_toUpperCase(){this.setValue(this.getValue().toUpperCase(),null,false);return true}Field.prototype.toUpperCase=_Field_toUpperCase;function _Field_toLowerCase(){this.setValue(this.getValue().toLowerCase(),null,false);return true}Field.prototype.toLowerCase=_Field_toLowerCase;function _Field_ltrim(){this.setValue(_ltrim(this.getValue()),null,false);return true}Field.prototype.ltrim=_Field_ltrim;function _Field_rtrim(){this.setValue(_rtrim(this.getValue()),null,false);return true}Field.prototype.rtrim=_Field_rtrim;function _Field_trim(){this.setValue(_trim(this.getValue()),null,false);return true}Field.prototype.trim=_Field_trim;function _Field_compare(field){if(this.getValue()==this.qForm[field].getValue()){return true}else{return false}return true}Field.prototype.compare=_Field_compare;function _Field_mirrorTo(objName){isQForm=(objName.indexOf(".")>-1)?!eval("!objName.substring(0,objName.indexOf('.'))"):false;if(isQForm){var strCommand=objName+".setValue("+this.pointer+".getValue()"+", null, false);"}else{var strCommand=objName+" = "+this.pointer+".getValue();"}this.addEvent(_getEventType(this.type),strCommand,false)}Field.prototype.mirrorTo=_Field_mirrorTo;function _Field_createDependencyTo(field,condition){var condition=(arguments.length>1)?"\""+arguments[1]+"\"":null;var otherField=this.qForm._pointer+"['"+field+"']";if(!eval(otherField))return alert("The "+field+" field does not exist. The dependency \nto "+this.name+" can not be created.");if(this.qForm[field]._queue.dependencies.length==0)this.qForm[field].addEvent(_getEventType(this.qForm[field].type),otherField+".enforceDependency();",false);this.qForm[field]._queue.dependencies[this.qForm[field]._queue.dependencies.length]=otherField+".isDependent('"+this.name+"', "+condition+");";return true}Field.prototype.createDependencyTo=_Field_createDependencyTo;function _Field_isDependent(field,condition){var condition=_param(arguments[1],null);this.value=this.getValue();if(condition==null){var result=(this.isNotEmpty()||this.required)}else{if(condition.indexOf("this.")>-1||condition=="true"||condition=="false"){var result=eval(condition)}else{var result=(this.value==condition)}}var o=null;o=new Object();o.field=field;o.result=result;return o}Field.prototype.isDependent=_Field_isDependent;function _Field_enforceDependency(e){var lstExcludeFields=_param(arguments[0],",");var lstFieldsChecked=",";var lstFieldsRequired=",";for(var i=0;i<this._queue.dependencies.length;i++){var s=eval(this._queue.dependencies[i]);if(lstFieldsChecked.indexOf(","+s.field+",")==-1)lstFieldsChecked+=s.field+",";if(s.result&&lstFieldsRequired.indexOf(","+s.field+",")==-1)lstFieldsRequired+=s.field+","}aryFieldsChecked=lstFieldsChecked.split(",");for(var j=1;j<aryFieldsChecked.length-1;j++){var result=(lstFieldsRequired.indexOf(","+aryFieldsChecked[j]+",")>-1);this.qForm[aryFieldsChecked[j]].required=result;if(lstExcludeFields.indexOf(","+aryFieldsChecked[j]+",")==-1)setTimeout(this.qForm._pointer+"."+aryFieldsChecked[j]+".enforceDependency('"+lstExcludeFields+this.name+",')",1)}}Field.prototype.enforceDependency=_Field_enforceDependency;function _Field_location(target,key){var target=_param(arguments[0],"self");var key=_param(arguments[1]);if(this.isLocked()||this.isDisabled())return this.setValue(key,null,false);var value=this.getValue();this.setValue(key,null,false);if(value!=key)eval(target+".location = value");return true}Field.prototype.location=_Field_location;function _Field_format(mask,type){var type=_param(arguments[1],"numeric").toLowerCase();this.validate=true;this.validateFormat(mask,type)}Field.prototype.format=_Field_format;function _Field_populate(struct,reset,sort,prefix){if(this.isLocked()||this.isDisabled())return false;var reset=_param(arguments[1],true,"boolean");var sort=_param(arguments[2],false,"boolean");var prefix=_param(arguments[3],null,"object");if(this.type.substring(0,6)!="select")return alert("This method is only available to select boxes.");if(reset)this.obj.length=0;if(!!prefix)for(key in prefix)this.obj.options[this.obj.length]=new Option(prefix[key],key);for(key in struct)this.obj.options[this.obj.length]=new Option(struct[key],key);if(sort)_sortOptions(this.obj);return true}Field.prototype.populate=_Field_populate;function _Field_transferTo(field,sort,type,selectItems,reset){if(this.isLocked()||this.isDisabled())return false;var sort=_param(arguments[1],true,"boolean");var type=_param(arguments[2],"selected");var selectItems=_param(arguments[3],true,"boolean");var reset=_param(arguments[4],false,"boolean");_transferOptions(this.obj,this.qForm[field].obj,sort,type,selectItems,reset);this.qForm[field].focus();return true}Field.prototype.transferTo=_Field_transferTo;function _Field_transferFrom(field,sort,type,selectItems,reset){if(this.isLocked()||this.isDisabled())return false;var sort=_param(arguments[1],true,"boolean");var type=_param(arguments[2],"selected");var selectItems=_param(arguments[3],true,"boolean");var reset=_param(arguments[4],false,"boolean");_transferOptions(this.qForm[field].obj,this.obj,sort,type,selectItems,reset);return true}Field.prototype.transferFrom=_Field_transferFrom;function _Field_moveUp(){if(this.isLocked()||this.isDisabled()||this.type.substring(0,6)!="select")return false;var oOptions=this.obj.options;for(var i=1;i<oOptions.length;i++){if(oOptions[i].selected){_swapOptions(oOptions[i],oOptions[i-1])}}return true}Field.prototype.moveUp=_Field_moveUp;function _Field_moveDown(){if(this.isLocked()||this.isDisabled()||this.type.substring(0,6)!="select")return false;var oOptions=this.obj.options;for(var i=oOptions.length-2;i>-1;i--){if(oOptions[i].selected){_swapOptions(oOptions[i+1],oOptions[i])}}return true}Field.prototype.moveDown=_Field_moveDown;function _Field_copyTo(field,fieldnumber,fieldtotal,sort,type,selectItems,reset){if(this.isLocked()||this.isDisabled())return false;var number=this.qForm[fieldnumber].obj.value;if(isNaN(number)||number<1){alert('Error number.');return}var sort=_param(arguments[3],true,"boolean");var type=_param(arguments[4],"selected");var selectItems=_param(arguments[5],false,"boolean");var reset=_param(arguments[6],false,"boolean");_copyOptions(this.obj,this.qForm[field].obj,number,sort,type,selectItems,reset);try{document.getElementById(fieldtotal).innerHTML=this.qForm[field].obj.length}catch(e){}this.qForm[field].focus();return true}Field.prototype.copyTo=_Field_copyTo;function _Field_deleteOptions(field,fieldtotal,type){var type=_param(arguments[2],"selected");_deleteOptions(this.qForm[field].obj,type);try{document.getElementById(fieldtotal).innerHTML=this.qForm[field].obj.length}catch(e){}this.qForm[field].focus();return true}Field.prototype.deleteOptions=_Field_deleteOptions;function _Field_isLowercase(){if(this.value!=this.value.toLowerCase()){this.error="The "+this.description+" is not lowercase."}}_addValidator("isLowercase",_Field_isLowercase);function _Field_isNumericFloat(){var ValidChars="01213456789.";var isNumber=true;var Char;var sText=this.value;var numDecimals=0;for(i=0;i<sText.length&&isNumber==true;i++){Char=sText.charAt(i);if(ValidChars.indexOf(Char)==-1){isNumber=false}if(Char=='.'){numDecimals=numDecimals+1}}if(numDecimals>1||isNumber==false){this.error="The field "+this.description+" does not contain a proper number"}}_addValidator("isNumericFloat",_Field_isNumericFloat);