var FormFiller=function(){this.module=null;this.action=null;this.widgets=new Array();this.formData=new DataSource();this.excludeList=new DataSource()};FormFiller.prototype.addWidget=function(a,b){this.widgets[this.widgets.length]=Array(a,b)};FormFiller.prototype.postData=function(a){this.formData.loadFromJSON(a)};FormFiller.prototype.excludeData=function(a){this.excludeList.loadFromJSON(a)};FormFiller.prototype.checkExcludeList=function(a){return false};FormFiller.prototype.fillFormData=function(){var pageForms=document.getElementsByTagName("form");if(this.formData.data!=null){for(var storedForm in this.formData.data){try{var tForm=document.getElementById(this.formData.data[storedForm]["formName"])}catch(e){var tForm=null}if(tForm){var tInput=tForm.getElementsByTagName("input");for(var tItem=0;tItem<tInput.length;tItem++){if(typeof tInput[tItem]=="object"){switch(tInput[tItem].type.toLowerCase()){case"checkbox":var tName=tInput[tItem].name.split("[")[0];if(document.isIE&&String(this.formData.data[storedForm][tName]).indexOf(",")<0){if(tInput[tItem].value==this.formData.data[storedForm][tName]){tInput[tItem].checked=true;this.callBack(tInput[tItem])}}else{for(var checkValue in this.formData.data[storedForm][tName]){if(tName==tInput[tItem].name){tInput[tItem].checked=true;this.callBack(tInput[tItem])}if(tInput[tItem].value==this.formData.data[storedForm][tName][checkValue]){tInput[tItem].checked=true;this.callBack(tInput[tItem])}}}break;case"radio":var tName=tInput[tItem].name.split("[")[0];if(document.isIE&&String(this.formData.data[storedForm][tName]).indexOf(",")<0){if(tInput[tItem].value==this.formData.data[storedForm][tName]){tInput[tItem].checked=true;this.callBack(tInput[tItem])}}else{for(var checkValue in this.formData.data[storedForm][tName]){if(tInput[tItem].value==this.formData.data[storedForm][tName][checkValue]){tInput[tItem].checked=true;this.callBack(tInput[tItem])}}}break;case"text":case"hidden":if(tInput[tItem].name.indexOf("[")>-1){if(tInput[tItem].name.indexOf("[]")<0){var tName=tInput[tItem].name.split("]")[0];var tSection=tName.split("[")[0];tName=tName.split("[")[1];for(var tValue in this.formData.data[storedForm][tSection]){if(tName==tValue){tInput[tSection+"["+tName+"]"].value=unescape(this.formData.data[storedForm][tSection][tValue]);this.callBack(tInput[tSection+"["+tName+"]"])}}}else{var tName=tInput[tItem].name.split("[")[0];if(this.formData.data[storedForm][tName]){tInput[tItem].value=unescape(this.formData.data[storedForm][tName]);this.callBack(tInput[tItem])}}}else{var tName=tInput[tItem].name.split("[")[0];if(this.formData.data[storedForm][tName]){tInput[tItem].value=unescape(this.formData.data[storedForm][tName]);this.callBack(tInput[tItem])}}break}}}var tSelect=tForm.getElementsByTagName("select");for(var tItem=0;tItem<tSelect.length;tItem++){if(typeof tSelect[tItem]=="object"){if(tSelect[tItem].name.indexOf("[]")<0&&tSelect[tItem].name.indexOf("[")>-1){var tName=tSelect[tItem].name.split("]")[0];var tSection=tName.split("[")[0];tName=tName.split("[")[1];for(var selectItem=0;selectItem<tSelect[tItem].options.length;selectItem++){var tSelectItemValue=(tSelect[tItem].options[selectItem].value=="")?tSelect[tItem].options[selectItem].text:tSelect[tItem].options[selectItem].value;try{if(tSelectItemValue==this.formData.data[storedForm][tSection][tName]){tSelect[tItem].selectedIndex=selectItem;this.callBack(tSelect[tItem]);processed=true}}catch(e){}}}else{var tName=tSelect[tItem].name.split("[")[0];if(this.formData.data[storedForm][tName]){var processed=false;for(var selectItem=0;selectItem<tSelect[tItem].options.length;selectItem++){var tSelectItemValue=(tSelect[tItem].options[selectItem].value=="")?tSelect[tItem].options[selectItem].text:tSelect[tItem].options[selectItem].value;if(tSelectItemValue==this.formData.data[storedForm][tName]){tSelect[tItem].selectedIndex=selectItem;this.callBack(tSelect[tItem]);processed=true}}if(!processed){try{tSelect[tItem].failedToFill(this.formData.data[storedForm][tName])}catch(e){}}}}}}var tInput=tForm.getElementsByTagName("textarea");for(var tItem=0;tItem<tInput.length;tItem++){if(typeof tInput[tItem]=="object"){var tName=tInput[tItem].name.split("[")[0];if(this.formData.data[storedForm][tName]){tInput[tItem].value=unescape(this.formData.data[storedForm][tName])}this.callBack(tInput[tItem])}}for(var tWidget in this.widgets){var tWidgetName=this.widgets[tWidget][1];if(this.formData.data[storedForm][tWidgetName]){var tWidget=eval(this.widgets[tWidget][0]);for(var tData in this.formData.data[storedForm][tWidgetName]){if(this.formData.data[storedForm][tWidgetName][tData]){var tVariable=this.formData.data[storedForm][tWidgetName][tData];tWidget.addRow(String(tVariable),(tVariable))}}}}}}try{formFillerComplete()}catch(e){}}};FormFiller.prototype.callBack=function(a){try{a.hasBeenFilled()}catch(c){if(document.isIE){a.fireEvent("onChange")}else{if(document.isSafari){var b=document.createEvent("UIEvents");b.initEvent("change",false,false);a.dispatchEvent(b)}else{var b=document.createEvent("Events");b.initEvent("change",false,false);a.dispatchEvent(b)}}}};