/**
* (c) 2008 mOblu, inc.
* All rights are reserved. Copying or other reproduction of this program is prohibited.
*/
function VM(){if(VehicleManager.__instance==undefined){VehicleManager.__instance=new VehicleManager();}return VehicleManager.__instance;};if(window["VehicleManager"]==undefined){var VehicleManager=function(){};VehicleManager.prototype={mbDirty:false,mbInited:false,meC:false,msTE:"{bc06e2a2-d700-102b-957e-43c7214c1dab}",msTV:"{2bf54018-d705-102b-957e-43c7214c1dab}",midV:EMPTY_UUID,init:function(_1,_2,_3,_4,_5){this.meC=$(_1);this.meT=$(_2);this.mbInited=true;this.midV=_3;this.mImgLuid=app.luid();app.register_callback(this.mImgLuid,new Functor(this,this.cbImage));if(_4){if(app.isuuid(this.midV)){if(_5){this.editVehicle(this.midV);}else{this.cbViewVehicle(this.midV);}}else{this.cbEditVehicle(this.midV);}}dojo.subscribe("vehicle/fill",this,this.onVehicleFill);dojo.subscribe("vehicle/event",this,this.onVehicleEvent);},onFillAction:function(_6,_7){mOblu().renderFill({"idFill":_6,"bInsertMissed":_7});},onFixAction:function(_8){mOblu().renderFill({"idError":_8});},onEventAction:function(_9){mOblu().renderEvent({"idEvent":_9});},onFixEventAction:function(_a){mOblu().renderEvent({"idError":_a});},onMileageRangeChanged:function(){this.viewVehicle(this.midV);},onMileageChartChanged:function(){this.viewVehicle(this.midV);},isInited:function(){return this.mbInited;},onVehicleFill:function(_b){if(_b==this.midV){this.viewVehicle(_b);}},onVehicleEvent:function(_c){if(_c==this.midV){this.viewVehicle(_c);}},onDeleteClick:function(){var _d=new Functor(this,function(_e){if(_e==DLG_OK){this.deleteVehicle();}});mOblu().showMessage("Delete Vehicle?","Your vehicle mileage statistics and fill history will be deleted. Are you sure you want to delete this vehicle?",_d,DLG_OK_CANCEL|DLG_DEFAULT2,["Delete","Cancel"]);},deleteVehicle:function(){webbler().startMask(this.meC);var _f=this.midV;this.svc(new Functor(this,this.cbDeleteVehicle,[_f])).wsDeleteVehicle(_f);},cbDeleteVehicle:function(_10,_11){webbler().endMask(this.meC);var _12=app.xmlrpc.fault(_11,false);if(_12){this.showError(_11);}else{dojo.publish("vehicle/delete",[_11.idVehicle,_11.aMyVehicles]);this.midV=_11.idVehicle;this.viewVehicle(this.midV);}},onCloseClick:function(){this.viewVehicle(this.midV,true);},onSaveClick:function(){var _13=this.moEF.idVehicle.value;var _14=new Functor(this,function(_15){if(!app.xmlrpc.fault(_15,false)&&!_15._fault){if(!app.isuuid(_13)&&_15.aMyVehicles.length==1){window.location.reload(false);}else{this.viewVehicle(this.midV);}}});this.saveVehicle(_14);},saveVehicle:function(_16){this.clearError();webbler().startMask(this.meC);var _17=this.moEF;var _18=[_17.getElementsByTagName("input"),_17.getElementsByTagName("select"),_17.getElementsByTagName("textarea")];var _19=[];var i,j;for(i=0;i<_18.length;i++){for(j=0;j<_18[i].length;j++){_19.push(_18[i][j]);}}var _1c={};for(var i=0;i<_19.length;i++){if(app.isString(_19[i]["name"])&&_19[i].name.length>0&&((_19[i].type!="radio"&&_19[i].type!="checkbox")||_19[i]["checked"])){_1c[_19[i].name]=_19[i].value;}}this.svc(new Functor(this,this.cbSaveVehicle,[_16])).wsSaveVehicle(_1c);},cbSaveVehicle:function(_1d,_1e){webbler().endMask(this.meC);var _1f=app.xmlrpc.fault(_1e,false);if(_1f){this.showError(_1e);Functor.fire(_1d,[_1e]);}else{$("VehicleDeleteButton").style.display="";var _20=this.moEF;_20.idVehicle.value=_1e.idVehicle;_20.idImage.value=_1e.idImage;this.midV=_1e.idVehicle;var _21=this.m_eVIF.contentWindow;if(_21.getInputElement().value.length>0){this.m_cbSave=_1d;webbler().startMask(this.meC);_21.setFormVariable("_m",_1e.idImage);_21.submitForm("");}else{Functor.fire(_1d,[_1e]);}dojo.publish("vehicle/update",[_1e.idVehicle,_1e.aMyVehicles]);}},cbImage:function(_22){webbler().endMask(this.meC);if(_22._fault){this.showError(_22._fault.faultString);}if(_22._metrics){var _23=_22._metrics.sUrl;$("VehicleImg").src=_23+(_23.indexOf("?")==-1?"?":"&")+app.luid();}app.IFrameDoc(this.m_eVIF).body.style.backgroundColor="#fff";Functor.fire(this.m_cbSave,[_22]);this.m_cbSave=null;},loadVehicle:function(_24){_24=app.uuidval(_24);this.midV=_24;if(app.isuuid(_24)){this.viewVehicle(_24);}else{this.editVehicle(_24);}},viewVehicle:function(_25){if(app.isuuid(_25)){var _26={"idVehicle":_25};var _27=$("MileageRangeSel");if(_27){_26.iRange=_27.value;}_27=$("MileageChartSel");if(_27){_26.sChart=_27.value;}this.render(this.msTV,_26,new Functor(this,this.cbViewVehicle,[_25]));}else{this.editVehicle(_25);}},cbViewVehicle:function(_28){dojo.publish("vehicle/changed",[_28]);$("MileageHistoryContainer").style.display="none";$("MileageHistoryContainer").style.display="";},resetDemo:function(){webbler().startMask(this.meC);this.svc(new Functor(this,this.cbResetDemo)).wsResetDemo();},cbResetDemo:function(_29,_2a){webbler().endMask(this.meC);var _2b=app.xmlrpc.fault(_2a,false);if(_2b){this.showError(_2a);}else{window.location="/demo";}},editVehicle:function(_2c){_2c=app.uuidval(_2c);this.render(this.msTE,{"idVehicle":_2c},new Functor(this,this.cbEditVehicle,[_2c]));},cbEditVehicle:function(_2d){webbler().startMask(this.meC);this.moEF=$("VehicleEditForm");if(this.moSlider){this.moSlider.destroy();}var oS=app.ui.createslider($("ctlHighwayShare"),200,20,BF_IMAGEDIR+"slider/bg.gif",BF_IMAGEDIR+"slider/small_slider.gif",8,15);oS.bgImage.setSize(200,4);oS.bgImage.moveTo(0,4);oS.setRange(0,0,192,0);oS.addEvent("slide",function(evt,xp,yp){$("divHwyPct").innerHTML="Hwy ("+xp+"%)";$("divCityPct").innerHTML="City ("+(100-xp)+"%)";$("VehicleEditForm").iHighwayShare.value=xp;});oS.setPos(this.moEF.iHighwayShare.value,0,true);this.moSlider=oS;$("VehicleCloseButton").style.display=((this.moEF.idVehicle.value==EMPTY_UUID)?"none":"");$("VehicleDeleteButton").style.display=((this.moEF.idVehicle.value==EMPTY_UUID)?"none":"");this.m_eVIF=$("ImageIFrame");this.m_eVIF.src="/media/?_v=form&_mucb_=app.global_callback&_luid_="+this.mImgLuid+"&_m="+this.moEF.idImage.value;if(this.moCarSel){this.moCarSel.destroy();}this.moCarSel=new StockCarSelControl("selCarYear","selCarMake","selCarModel",dojo.hitch(this,function(_32){this.moEF.iModel.value=_32;this.updateEPAControl(_32);}));this.updateEPAControl(this.moEF.iModel.value);},svc:function(oCB,_34){return webbler().svc("MyVehicleWS",oCB,_34,gaMyVehicleIFace);},dirty:function(){this.mbDirty=true;},isDirty:function(){return this.mbDirty;},render:function(_35,_36,oCB){if(this.m_oPkt){this.m_oPkt.Abort();this.m_oPkt=null;}webbler().startMask(this.meC);this.m_oPkt=webbler().render(_35,_36,this.meC,false,true,new Functor(this,this.cbRender,[oCB]));},cbRender:function(oCB,_39){webbler().endMask(this.meC);this.m_oPkt=null;if(_39!==undefined){var _3a=mOblu().showFault(_39,oCB);if(_3a){}else{if(this.meT){this.meT.innerHTML=_39["vars"]["sVehicleTabs"];}Functor.fire(oCB,[_39["vars"]]);}}},showError:function(_3b){var _3c=app.xmlrpc.fault(_3b,false)?_3b.faultString:_3b.toString();$("VehicleErrorContainer").style.display="";$("VehicleErrorMessage").innerText=_3c;},clearError:function(){$("VehicleErrorContainer").style.display="none";$("VehicleErrorMessage").innerHTML="";},updateEPAControl:function(_3d){_3d=app.clamp(app.rInt(parseInt(_3d),0),0);var _3e=$("ctlVehicleEPA");if(_3e){if(_3e.m_oPkt){_3e.m_oPkt.Abort();}_3e.m_oPkt=null;if(_3d>0){_3e.innerHTML="";_3e.m_oPkt=webbler().render("{b22b1579-daff-102b-957e-43c7214c1dab}",{"iModel":_3d},_3e,false,true);}else{_3e.innerHTML="";}}}};}