/*
Copyright (c) 2004-2010, The Dojo Foundation All Rights Reserved.
Available via Academic Free License >= 2.1 OR the modified BSD license.
see: http://dojotoolkit.org/license for details
*/
dojo._xdResourceLoaded(function(_1,_2,_3){return {depends:[["provide","kfc.kwo.Asset"],["require","kfc.form.PopupTextBox"],["require","kfc.form.OracleDateTextBox"],["require","kfc.form.ValidationTextarea"],["require","kfc.form.CurrencyTextBox"],["require","dijit.form.Form"],["require","dijit.form.TextBox"],["require","dijit.form.ValidationTextBox"],["require","dijit.form.DateTextBox"],["require","dijit.form.Textarea"],["require","dijit.form.FilteringSelect"],["require","dijit.form.CheckBox"],["require","kfc._KFC"]],defineResource:function(_4,_5,_6){if(!_4._hasResource["kfc.kwo.Asset"]){_4._hasResource["kfc.kwo.Asset"]=true;_4.provide("kfc.kwo.Asset");_4.require("kfc.form.PopupTextBox");_4.require("kfc.form.OracleDateTextBox");_4.require("kfc.form.ValidationTextarea");_4.require("kfc.form.CurrencyTextBox");_4.require("dijit.form.Form");_4.require("dijit.form.TextBox");_4.require("dijit.form.ValidationTextBox");_4.require("dijit.form.DateTextBox");_4.require("dijit.form.Textarea");_4.require("dijit.form.FilteringSelect");_4.require("dijit.form.CheckBox");_4.require("kfc._KFC");_4.declare("kfc.kwo.Asset",[kfc._KFC],{templateString:_4.cache("kfc.kwo","templates/Asset.html","
\n"),widgetsInTemplate:true,P_ID:null,P_ASSET_NO:"",P_DESCRIPTION:"",P_PLANT_NO:"",P_PROJECT_NO:"",P_CLASS_CODE:"",P_LEASED_FLAG:"",P_ACCESS_FLAG:"Y",P_OFA_FLAG:"N",P_OLD_OAKC:-1,action:"I",dirtyFlag:false,wasLeasedFlag:false,wasProjectFlag:false,ignoreChanges:false,isLoading:false,checkExists:true,DB_FIELDS:{P_ID:null,P_ASSET_NO:"",P_DESCRIPTION:"",P_MANUFACTURER_NAME:"",P_MODEL_NO:"",P_SERIAL_NO:"",P_TYPE:"",P_NEW_USED:"",P_IN_SERVICE_DATE:null,P_LOCATION_DESCRIPTION:"",P_PURCHASED_PRICE:null,P_RETIRED_FLAG:"",P_MAINTENANCE_FLAG:"",P_METER_READING_FLAG:"",P_OFA_CATEGORY_ID:null,P_OFA_LOCATION_ID:null,P_OFA_ASSET_KEY_CCID:null},db_schema:"KFC",db_table_name:"KWO_ASSETS",searchFile:"server/getAsset.php",saveFile:"server/save.php",loadFile:"server/getAsset.php",checkFile:"server/getAsset.php",locationFile:"server/getLocation.php",categoryFile:"server/getCategory.php",projectFile:"server/getProject.php",isDirty:function(){return this.dirtyFlag;},onNoValues:function(o){},onTooManyValues:function(o){},_onNoValues:function(o){this.onNoValues(o);},_onTooManyValues:function(o){this.onTooManyValues(o);},formatFormFields:function(){var _7=this.f_purchased_price.attr("displayedValue");if(_7&&!isNaN(_7)){_7=this.f_purchased_price.format(parseFloat(_7),this.f_purchased_price.constraints);this.f_purchased_price.attr("value",_7);}},onAfterLoad:function(){this.formatFormFields();},_onAfterLoad:function(){this.ignoreChanges=false;this.isLoading=false;this.setValsFromForm();this.onAfterLoad();},getParams:function(){var _8=this;var p={P_REQ_NAME:"ASSET",P_VALUES:_4.toJson(_8.getValues()),P_SCHEMA:_8.db_schema,P_TABLE_NAME:_8.db_table_name};return p;},assetAccess:function(_9){var _a=false;var v={"P_ID":_9};_4.xhrPost({url:this.checkFile,sync:true,handleAs:"json",content:v,load:function(_b){if(_b.items){if(_b.items.length==1){_a=true;}}},error:_4.hitch(this,"throwError")});return _a;},assetExists:function(){var _c=false;var p=this.getParams();var v=_4.fromJson(p["P_VALUES"]);v={"P_ASSET_NO":this.f_asset_no.attr("value")};p["P_VALUES"]=_4.toJson(v);_4.xhrPost({url:this.loadFile,sync:true,handleAs:"json",content:p,load:function(_d){if(_d.items){if(_d.items.length==1){_c=_d;}}},error:_4.hitch(this,"throwError")});return _c;},fetchAsset:function(_e){var _f={};_4.xhrPost({sync:true,url:this.searchFile,handleAs:"json",content:{P_TABLE_NAME:this.db_table_name,P_VALUES:_4.toJson(_e)},load:function(_10){if(_10&&_10.items&&_10.items.length==1){_f=_10.items[0];}},error:_4.hitch(this,function(_11){this.throwError(_11);}),timeout:30000});return _f;},getAsset:function(){var _12=-1;this.P_ID=null;this.DB_FIELDS.P_ID=null;var _13=this;var p=this.getParams();p["P_REQ_TYPE"]="LOAD";var v=_4.fromJson(p["P_VALUES"]);v["P_DELETED_FLAG"]="N";p["P_VALUES"]=_4.toJson(v);_4.xhrPost({url:this.loadFile,sync:true,handleAs:"json",content:p,load:function(_14){_12=_13.loadAsset(_14);},error:_4.hitch(this,"throwError")});return _12;},_getAssetComplete:function(_15){return _15;},getValues:function(){return this.DB_FIELDS;},loadAsset:function(o){this.isLoading=true;var id=-1;if(typeof (o.items.length)!="undefined"){switch(o.items.length){case 0:this._onNoValues(o);break;case 1:this.reset();this._checkSavedValues(o.items[0]);this.setValsFromObj(o.items[0]);this.attr("action","U");id=o.items[0].P_ID;break;default:this._onTooManyValues(o);break;}}else{}return id;},setProjectNo:function(_16){this.f_project_no.tbox.attr("value",_16);this.f_project_no.isValid();},_checkSavedValues:function(o){var _17=this;var lf=o.P_LEASED_FLAG;lf=(lf&&typeof (lf)=="object")?lf[0]:lf;if(lf&&lf.length){this.P_LEASED_FLAG=lf;}var af=o.P_ACCESS_FLAG;af=(af&&typeof (af)=="object")?af[0]:af;if(af&&af.length){this.P_ACCESS_FLAG=af;}var ofa=o.P_OFA_FLAG;ofa=(ofa&&typeof (ofa)=="object")?ofa[0]:ofa;if(ofa&&ofa.length){this.P_OFA_FLAG=ofa;}var _18=o.P_OFA_ASSET_KEY_CCID;_18=(_18&&typeof (_18)=="object")?_18[0]:_18;if(_18&&_18.length){this.wasProjectFlag=true;this.P_OLD_OAKC=_18;}else{this.f_project_no.attr("disabled",false);}var cat=o.P_OFA_CATEGORY_ID;cat=(cat&&typeof (cat)=="object")?cat[0]:cat;if(cat&&cat.length){var ch=_4.connect(this,"_onCategoryVerified",this,function(){_17.wasLeasedFlag=_17._isLeased();_4.disconnect(ch);});}else{this.wasLeasedFlag=false;}},_isLeased:function(){var i=this.f_category.item;if(i&&typeof (i.P_TYPE_DESC)!="undefined"){var _19=(i.P_TYPE_DESC)?i.P_TYPE_DESC[0]:null;return (_19=="LEASED");}return false;},setValsFromObj:function(o){var _1a=0;var loc=o.P_OFA_LOCATION_ID;loc=(loc&&typeof (loc)=="object")?loc[0]:loc;if(loc&&loc.length){_1a++;var lc=_4.connect(this.f_location,"onAfterSearch",this,function(){if(--_1a==0){this._onAfterLoad();}_4.disconnect(lc);});}var _1b=o.P_OFA_ASSET_KEY_CCID;_1b=(_1b&&typeof (_1b)=="object")?_1b[0]:_1b;if(_1b&&_1b.length){_1a++;var pc=_4.connect(this.f_project_no,"onAfterSearch",this,function(){if(--_1a==0){this._onAfterLoad();}_4.disconnect(pc);});}var cat=o.P_OFA_CATEGORY_ID;cat=(cat&&typeof (cat)=="object")?cat[0]:cat;if(cat&&cat.length){_1a++;var cc=_4.connect(this.f_category,"onAfterSearch",this,function(){if(--_1a==0){this._onAfterLoad();}_4.disconnect(cc);});}this.ignoreChanges=true;if(!_1a){_4.connect(this.f_asset,"_setValueAttr",this,"_onAfterLoad");}this.f_asset.attr("value",o);},_formChanged:function(){if(!this.ignoreChanges){this.dirtyFlag=true;this.setValsFromForm();}},setValsFromForm:function(){this.f_asset_no.attr("disabled",false);var frm=this.f_asset.attr("value");this.f_asset_no.attr("disabled",(this.action!="I"));for(var f in frm){if(typeof (this.DB_FIELDS[f])!="undefined"){this.DB_FIELDS[f]=frm[f];}}this.P_ID=this.DB_FIELDS.P_ID;this.P_ASSET_NO=this.DB_FIELDS.P_ASSET_NO;this.P_DESCRIPTION=this.DB_FIELDS.P_DESCRIPTION;},copy:function(){this.DB_FIELDS.P_ID=null;this.P_ID=null;this.f_asset_id.reset();this.f_asset_no.reset();this.f_serial_no.reset();this.f_project_no.attr("disabled",false);this.wasLeasedFlag=false;this.wasProjectFlag=false;this.P_OLD_OAKC=-1;this.checkExists=true;this.attr("action","I");},assetExistsError:function(){this.throwError("Asset # "+this.f_asset_no.attr("value")+" already exists.");},_meterReadingChange:function(v){},_tagOnChange:function(v){if(v.length&&this.checkExists){var d=this.assetExists();if(d){if(d.items[0].P_DELETED_FLAG=="Y"){alert("Asset # "+v+" already exists, but has been deleted.\n"+"Unable to load. Please use another Asset #.");this.throwError("Asset # "+this.f_asset_no.attr("value")+" already exists.");this.f_asset_no.focus();}else{if(confirm("Asset # "+v+" already exists. Load?")){this.checkExists=false;var h=_4.connect(this,"onAfterLoad",this,function(){this.checkExists=true;_4.disconnect(h);});this.loadAsset(d);}else{this.throwError("Asset # "+this.f_asset_no.attr("value")+" already exists.");this.f_asset_no.focus();}}}}else{}this._formChanged();},_onProjectVerified:function(){this.P_PROJECT_NO=this.f_project_no.attr("displayValue");this._formChanged();this.setProjFieldsRequired(true);},_onProjectChange:function(v){this.P_PROJECT_NO=v;},_onProjectFailed:function(){this.P_PROJECT_NO=this.f_project_no.attr("displayValue");this._formChanged();this.setProjFieldsRequired(false);if(this.P_ACCESS_FLAG=="Y"){this.f_project_no.attr("disabled",false);}},setProjFieldsRequired:function(_1c){_1c=(typeof _1c!="undefined")?_1c:true;_4.query(".woaProjRequired").forEach(function(_1d,_1e,_1f){if(_1c){_4.addClass(_1d,"woaRequired");}else{_4.removeClass(_1d,"woaRequired");}});},_onLocationVerified:function(){this.P_PLANT_NO=this.f_location.item.P_PLANT[0];this._formChanged();},_onLocationFailed:function(){this.P_PLANT_NO="";},_setLocationAccessFlag:function(){},_onCategoryVerified:function(){this.P_CLASS_CODE=this.f_category.item.P_CLASS[0];this._formChanged();this._checkWasLeased();},_onCategoryFailed:function(){this.P_CLASS_CODE="";},_checkWasLeased:function(){if(!this._isLeased()){if(this.wasLeasedFlag){this.removeLease();}if(this.P_LEASED_FLAG=="Y"&&this.action=="U"){this.onLeaseBuyout();}}if(this._isLeased()){this.onLeased();}},onLeaseBuyout:function(){},removeLease:function(){},onLeased:function(){},onMeterFlag:function(v){this._formChanged();},_seedAdditionalFlags:function(){},setMfrNA:function(_20){this.setNA("f_mfr",_20);},setModelNA:function(_21){this.setNA("f_model_no",_21);},setSerialNA:function(_22){this.setNA("f_serial_no",_22);},setNA:function(_23,_24){if(_24){this[_23].attr("value","N/A");}else{if(this[_23].attr("value")=="N/A"&&this.action=="I"){this[_23].reset();}}},reset:function(){this.attr("action","I");this.P_ID=null;this.P_ASSET_NO="";this.P_DESCRIPTION="";this.P_PLANT_NO="";this.P_CLASS_CODE="";this.P_PROJECT_NO="";this.P_LEASED_FLAG="";this.P_ACCESS_FLAG="Y";this.P_OFA_FLAG="N";this.P_OLD_OAKC=-1;this.dirtyFlag=false;this.wasLeasedFlag=false;this.wasProjectFlag=false;this.ignoreChanges=true;this.setProjFieldsRequired(false);this.f_asset.reset();this.ignoreChanges=false;this.setValsFromForm();setTimeout(_4.hitch(this,function(){this.dirtyFlag=false;}),1);},isValid:function(){this.setValsFromForm();return this.f_asset.isValid();},save:function(){if(!this.isValid()){this.throwError("FORM NOT VALID");}var _25=this;var p=this.getParams();var _26=false;switch(this.action){case "I":p["P_VALUES"]=_4.toJson({"NEW":"["+p["P_VALUES"]+"]"});break;case "U":p["P_VALUES"]=_4.toJson({"UPD":"["+p["P_VALUES"]+"]"});break;case "D":p["P_VALUES"]=_4.toJson({"DEL":"["+p["P_VALUES"]+"]"});break;default:p["P_VALUES"]=_4.toJson({"BAD":"["+p["P_VALUES"]+"]"});break;}p["P_REQ_TYPE"]="SAVE";_4.xhrPost({sync:true,url:this.saveFile,handleAs:"json",content:p,load:function(_27){switch(_25.action){case "I":_26=_25.checkSaveSuccess(_27.items,"INSERT");break;case "U":_26=_25.checkSaveSuccess(_27.items,"UPDATE");break;case "D":_26=_25.checkSaveSuccess(_27.items,"DELETE");break;default:_26=false;break;}},error:_4.hitch(this,"throwError")});return _26;},checkSaveSuccess:function(_28,_29){var _2a=false;if(typeof (_28[_29])!="undefined"){if(_28[_29]=="S"){_2a=true;}else{_2a=false;if(typeof (_28.MSG)=="object"){for(var i=0;i<_28.MSG.length;i++){this.throwError(_28.MSG[i]);}}else{this.throwError(_28.MSG);}}}return _2a;},throwError:function(e){},deleteEntry:function(){if(this.action=="U"){if(!confirm("Are you sure you want to delete asset "+this.P_ASSET_NO+"?")){return false;}this.attr("action","D");return true;}else{this.throwError("Nothing to delete.");return false;}},_setActionAttr:function(_2b){this.action=_2b;},getSearchStructure:function(){return [{name:"Asset #",field:"P_ASSET_NO",width:"8em"},{name:"Description",field:"P_DESCRIPTION",width:"auto"},{name:"Manufacturer",field:"P_MANUFACTURER_NAME",width:"10em"},{name:"Model #",field:"P_MODEL_NO",width:"5em"},{name:"Serial #",field:"P_SERIAL_NO",width:"5em"},{name:"New/Used",field:"P_NEW_USED",width:"6em"},{name:"Leased",field:"P_LEASED_FLAG",width:"4em"},{name:"In Service",field:"P_IN_SERVICE_DATE",width:"7em"},{name:"Location",field:"P_LOCATION_DESCRIPTION",width:"15em"}];},postCreate:function(){this.f_location.attr("storeFile",this.locationFile);this.f_category.attr("storeFile",this.categoryFile);this.f_project_no.attr("storeFile",this.projectFile);_4.connect(this,"_setActionAttr",this,function(v){this.f_asset_no.attr("disabled",(v!="I"));});}});}}};});