
if(!dojo._hasResource["wc.service.common"]){dojo._hasResource["wc.service.common"]=true;dojo.provide("wc.service.common");dojo.requireLocalization("wc","common",null,"ROOT,en,en-us");wc.service.services={};wc.service.getServiceById=function(id){return wc.service.services[id];};wc.service.declare=function(_2){var _3=new wc.service.Service(_2);this.register(_3);return _3;};wc.service.register=function(_4){this.services[_4.id]=_4;};wc.service.invoke=function(_5,_6){console.debug(" wc.service.invoke  : "+_6);var _7=this.getServiceById(_5);if(_7){_7.invoke(_6);}else{console.debug("Attempt to invoke an unregistered service: "+_5);}};dojo.declare("wc.service.Service",null,{constructor:function(_8){dojo.mixin(this,_8);},id:undefined,actionId:undefined,url:undefined,formId:undefined,validateParameters:function(_9){return true;},validateForm:function(_a){return true;},successTest:function(_b){return !_b.errorMessage&&!_b.errorMessageKey;},successHandler:function(_c){},failureHandler:function(_d){var _e=_d.errorMessage;if(_e){alert(_e);}else{_e=_d.errorMessageKey;if(_e){alert(_e);}else{alert("Service request error.");}}},invoke:function(_f){var _10=true;var _11=null;if(this.formId){_11=document.getElementById(this.formId);}if(_11){_10=this.validateForm(_11);}if(_10){_10=this.validateParameters(_f);}console.debug(" wendy formid"+this.formId);if(_10){dojo.xhrPost({url:this.url,handleAs:"json",form:_11,content:_f,service:this,load:function(_12,_13){console.debug("wc.service.invoke: in dojo.xhrPost.load, ioArgs="+_13);var _14=_13.args.service;_12.serviceId=_14.id;_12.actionId=_14.actionId;console.debug("Service response action id : "+_12.actionId);for(var _15 in _12){console.debug("  "+_15+"="+_12[_15]);}if(_14.successTest(_12)){_14.successHandler(_12);console.debug(" success ");dojo.publish("modelChanged",[_12]);if(_14.actionId){console.debug(" service id "+_14.actionId);dojo.publish("modelChanged/"+_14.actionId,[_12]);}}else{_14.failureHandler(_12);}},error:function(_16,_17){var _18=dojo.i18n.getLocalization("wc","common");alert(_18.communicationError);}});}}});}