var mds_vc_ErrorController;
mds_vc_ErrorController=new mds_vc_ErrorController();
function mds_vc_ErrorController(){var F=null;
var I=null;
var K=true;
var H=mrm.$;
var L="mds-vc-timeout-layer";
var M="mds-vc-error-layer";
var B="mds_vc_";
var J="ui-helper-hidden-accessible";
var E="ui-no-titlebar ui-vc-dialog-01";
var D="mds-vc-error-code";
this.init=function(){var P=H("#"+M);
F=P.dialog({bgiframe:true,resizable:false,width:"auto",position:"center",minWidth:P.width(),minHeight:P.height(),zIndex:5999,draggable:false,modal:true,closeOnEscape:false,autoOpen:false,dialogClass:E});
F.removeClass(J);
var Q=H("#"+L);
I=Q.dialog({bgiframe:true,resizable:false,width:"auto",position:"center",minWidth:Q.width(),minHeight:Q.height(),zIndex:4999,draggable:false,modal:true,closeOnEscape:false,autoOpen:false,dialogClass:E});
I.removeClass(J);
};
this.error=function(R,Q,P){if(K==true){if(P!=undefined&&P!="undefined"&&P!=null){Q+=" ["+P.name+" in line "+P.line+", "+P.sourceURL+", "+P.number+"]";
this.log(P,true);
}if(R==503){this.log(Q);
return N((mds_vc_conf.log.console==true)?R:null);
}else{if((R==0||R==504||R.toString().substr(0,1)==4)&&mds_vc_startURL!=undefined&&mds_vc_startURL!="undefined"&&mds_vc_startURL!=null){this.log(Q);
return O();
}else{if(R==999||R.toString().substr(0,1)==5){this.log(Q);
return C((mds_vc_conf.log.console==true)?R:null);
}else{this.log("ERROR: Undefined error was thrown to ErrorController.");
return false;
}}}}else{this.log("ERROR: Sorry, ErrorController does not accept further errors.");
return true;
}};
this.log=function(S,Q){var R=S;
if(Q!=true){R="["+B+"] "+S;
}if(mds_vc_conf.log.console==true){try{if(mrm.util!=undefined){mrm.util.log(R);
}else{if(console!=undefined){try{console.log(R);
}catch(P){}}}}catch(P){}}};
function G(){K=false;
if(mds_vc_ViewController!=undefined){mds_vc_ViewController=null;
}return true;
}function C(P){var Q=G();
if(P!=null&&P!=undefined&&P!=""){H("."+D,F).append("<span>&nbsp;(Code "+P+")</span>");
}F.dialog("open");
A(F);
return Q;
}function O(){location.replace(mds_vc_startURL.replace(/&amp;/g,"&"));
}function N(P){var Q=G();
if(P!=null&&P!=undefined&&P!=""){H("."+D,I).append("<span>&nbsp;(Code "+P+")</span>");
}I.dialog("open");
A(I);
return Q;
}function A(P){P.dialog("option","position",P.dialog("option","position"));
}}
var mds_vc_ViewController;
mds_vc_ViewController=new mds_vc_ViewController();
function mds_vc_ViewController(){var Q=new Object();
var N=new Object();
var C=0;
var L="";
var A=false;
var G="";
var F=mrm.$;
var I="mds-vc-cmp-";
var D="mds-vc-sel-cfg-ev";
var E="mds-vc-sel-ssn-ev";
var R="mds-vc-sel-cfg-in";
var M="mds-vc-disabled";
var B=mds_vc_baseURL;
var P="updateSelection";
var J="updateView";
var H="updatePriceCalculation";
var K=300;
var O=180;
this.init=function(){_disableSelections();
var V=this;
F(document).bind("SendComponentRefreshedMessage",function(b,a){V.receiveComponentRefreshedMessage(b,a);
});
F(document).bind("SendComponentUpdatedMessage",function(b,a){V.receiveComponentUpdatedMessage(b,a);
});
F(document).bind("SendConfigurationChangeMessage",function(b,a){V.receiveConfigurationChangeMessage(b,a);
});
var Z=mds_vc_curViewId;
var W=mds_vc_latViewId;
var U;
var S=false;
var Y=mds_vc_DeeplinkController.get();
if(Z){var T=mds_vc_conf.view;
if(T){if(!W){W=Z;
if(T[W].orderNo<T[Z].orderNo){W=U;
}mds_vc_latViewId=W;
}var X=T[W];
if(X){F.each(T,function(){if(this.orderNo<=X.orderNo){this.active=true;
}});
}}U=Z;
if(Y!=null&&Y!=Z&&this.viewIsAccessible(Y)){U=Y;
S=true;
}if(S==true){_pushViewChange(U,true);
}else{_setActive();
_checkCmpVisibility(U);
_refreshOnInit(U);
}mds_vc_ProgressBar.init(U);
mds_vc_DeeplinkController.init(U);
}else{mds_vc_ErrorController.error(999,"EXCEPTION: Current viewId unknown.");
mds_vc_ErrorController.log("ERROR: ViewController: Application could not be initialized while current viewId is missing.");
}_bindConfigurationChangeEvents();
};
this.receiveConfigurationChangeMessage=function(S,T){if(T!=undefined&&T!=null&&T!="undefined"&&T!=""){_pushConfigurationChange(true,T);
}};
this.viewChangeHandler=function(S){_pushViewChange(S,false);
};
this.registerComponent=function(T,S){var U=_getDomIdOfComponent(T);
S.setDomId(U);
S.setCmpId(T);
_pushCmpStack(T,S);
};
this.receiveComponentRefreshedMessage=function(Y,X){if(X.isViewChange!=true){try{N[X.cmpId].data=X;
N[X.cmpId].event=Y;
var Z=0;
var T=false;
F.each(N,function(){if(this.updated==undefined){if(this.prio>Z){Z=this.prio;
T=false;
}if(Z==this.prio&&N[this.id].data==null){T=true;
}}});
var W=Z;
F.each(N,function(){if(this.updated==undefined){if(this.prio<Z&&this.prio<=W&&N[this.id].data!=null){W=this.prio;
}if(this.prio>=W&&N[this.id].data==null){W=Z;
}}});
var S=this;
if(Z>0&&!T){var U,X,V;
F.each(N,function(){X=N[this.id].data;
V=N[this.id].event;
if(this.prio<=Z&&this.prio>=W&&this.data!=null&&N[this.id].updated==undefined){N[this.id].updated=true;
U=_componentFromRegister(X.cmpId);
if(!X.error&&!X.notModified){mds_vc_ErrorController.log("INFO: ViewController: Trigger component["+X.cmpId+"] to update["+this.prio+"] ...");
try{U.update(X.isViewChange);
}catch(a){mds_vc_ErrorController.log("WARNING: ViewController: Component "+X.cmpId+" update throwed an error.");
mds_vc_ErrorController.log(a,true);
}}else{S.receiveComponentUpdatedMessage(V,X);
if(X.notModified){mds_vc_ErrorController.log("WARNING: ViewController: Updating component "+X.cmpId+" ("+this.prio+") skipped because not modified.");
}else{mds_vc_ErrorController.log("WARNING: ViewController: Updating component "+X.cmpId+" ("+this.prio+") skipped because of error.");
}}}else{mds_vc_ErrorController.log("INFO: ViewController: The component "+this.id+" ("+this.prio+") must wait on components with higher priorities ("+W+":"+Z+").");
}});
}else{mds_vc_ErrorController.log("INFO: ViewController: Current component "+X.cmpId+" ("+N[X.cmpId].prio+") must wait on components with same priority.");
}}catch(Y){mds_vc_ErrorController.error(999,"EXCEPTION: ViewController.receiveComponentRefreshedMessage: Probably a competing access to prioStack caused an error.",Y);
}}else{if(!X.error&&!X.notModified){mds_vc_ErrorController.log("INFO: ViewController: Component "+X.cmpId+" triggered to update with isViewChange.");
U=_componentFromRegister(X.cmpId);
U.update(X.isViewChange);
}else{this.receiveComponentUpdatedMessage(V,X);
if(X.notModified){mds_vc_ErrorController.log("WARNING: ViewController: Updating component "+X.cmpId+" skipped because not modified.");
}else{mds_vc_ErrorController.log("WARNING: ViewController: Updating component "+X.cmpId+" skipped because of error.");
}}}};
this.receiveComponentUpdatedMessage=function(Z,Y){mds_vc_ErrorController.log("INFO: ViewController: Receive component["+Y.cmpId+"] updated message.");
if(!Y.notModified){_bindConfigurationChangeEvents(Y.cmpId);
}if(Y.isViewChange==true){C--;
if(C<=0&&mds_vc_conf&&mds_vc_curViewId){try{var T=mds_vc_conf.view[L];
var S=mds_vc_conf.view[mds_vc_curViewId];
var V;
F.each(T.component,function(){if(!S.component[this.cmpId]){mds_vc_ErrorController.log("INFO: ViewController: Try to hide Component "+this.cmpId+".");
V=_componentFromRegister(this.cmpId);
if(typeof (V)!="undefined"&&V!=null){V.showComponent(false);
}else{mds_vc_ErrorController.log("WARNING: ViewController: can not find component "+this.cmpId+" to hide in _setView.");
mds_vc_ErrorController.error(999,"EXCEPTION: ViewContoller could not find component "+this.cmpId);
}}});
F.each(S.component,function(){if(!T.component[this.cmpId]){mds_vc_ErrorController.log("INFO: ViewController: Try to show Component "+this.cmpId+".");
V=_componentFromRegister(this.cmpId);
V.showComponent(true);
}});
C=0;
L="";
_enableSelections();
mds_vc_ProgressBar.update(mds_vc_curViewId);
mds_vc_DeeplinkController.set(mds_vc_curViewId);
}catch(Z){mds_vc_ErrorController.error(999,"EXCEPTION: Probably concurring access to lastView.",Z);
}}}else{try{delete N[Y.cmpId];
var W=0;
F.each(N,function(){W++;
});
if(W==0){mds_vc_ProgressBar.updateNextSteps(mds_vc_curViewId);
_setInactive();
var X=0;
function U(){if(C<=0){_enableSelections();
}else{window.setTimeout(function(){if(X<((O*1000)/K)){U();
mds_vc_ErrorController.log("INFO: ViewController: Waited "+(K*X)+"ms on other components (updating after view change) before re-enabling selections.");
}X++;
},K);
}}U();
}}catch(Z){mds_vc_ErrorController.error(999,"EXCEPTION: ViewController: Probably a competing access to prioStack caused an error.",Z);
}}};
this.viewIsAccessible=function(S){var T=mds_vc_conf.view;
var U=false;
if(T[S]!=undefined&&T[S]!=null){if(T[S].active){U=true;
}else{var W=0;
var V=999;
F.each(T,function(){if(this.active){if(this.orderNo>W){W=this.orderNo;
}}if(!this.active){if(this.orderNo<V){V=this.orderNo;
}}});
if(T[S].orderNo<=W||T[S].orderNo==V){U=true;
}}}return U;
};
this.getFirstViewId=function(V){var T=mds_vc_conf.view;
var S=null;
if(T!=undefined&&T!=null){var U=null;
F.each(T,function(){if(this.orderNo<U||U==null){if(V!=true||(V==true&&F("#"+this.button.domId).length>0)){U=this.orderNo;
S=this.viewId;
}}});
}return S;
};
this.getLastViewId=function(){var T=mds_vc_conf.view;
var S=null;
if(T!=undefined&&T!=null){var U=null;
F.each(T,function(){if(this.orderNo>U||firstNo==null){U=this.orderNo;
S=this.viewId;
}});
}return S;
};
_configurationChangeHandler=function(S){if(S.target!=undefined&&S.target!=null&&S.target!="undefined"){var T=true;
if(S.target.type=="checkbox"&&!S.target.checked){T=false;
}var U=S.target.value;
if(F(S.target).tagName=="select"){U=F("option:selected",S.target).val();
}_pushConfigurationChange(T,U);
}};
_sessionChangeHandler=function(S){if(S.target!=undefined&&S.target!=null&&S.target!="undefined"){var V=F(S.target);
var U=V.attr("value");
if(V.tagName=="select"){U=F("option:selected",S.target).val();
}else{if(V.attr("type")=="checkbox"){U=(V.attr("checked"))?true:false;
}}var T=V.attr("name");
_pushSessionChange(T,U);
}};
_setView=function(f,W){var X=mds_vc_curViewId;
try{var Z=mds_vc_conf.view[X];
var d=mds_vc_conf.view[f];
if(Z&&d){mds_vc_curViewId=f;
var T=mds_vc_conf.view[mds_vc_latViewId];
if(T){if(T.orderNo<d.orderNo){mds_vc_latViewId=f;
}}if(!d.active){mds_vc_conf.view[f].active=true;
}if(W){_refreshOnInit(f);
}else{_refreshOnViewChange(f);
}var b=false;
if(Z.orderNo<d.orderNo&&!W){b=true;
if(mds_vc_conf.view!=null&&mds_vc_conf.view!=undefined){var U=new Object();
var S=0;
F.each(mds_vc_conf.view,function(){if(this.orderNo>Z.orderNo&&this.orderNo<=d.orderNo){F.each(this.component,function(){if(typeof (U[this.cmpId])!="undefined"){U[this.cmpId].cnt++;
}else{U[this.cmpId]=new Object();
U[this.cmpId].cnt=1;
U[this.cmpId].id=this.cmpId;
}});
S++;
}});
}}var Y=[];
C=0;
L=X;
F.each(d.component,function(){if(!Z.component[this.cmpId]){mds_vc_ErrorController.log("INFO: ViewController: Try to insert Component "+this.cmpId+" in _setView.");
var e=_componentFromRegister(this.cmpId);
if(typeof (e)!="undefined"&&e!=null){Y.push(e);
C++;
if(U!=undefined){delete U[this.cmpId];
}}else{mds_vc_ErrorController.log("WARNING: ViewController: can not find component "+this.cmpId+" to insert in _setView.");
mds_vc_ErrorController.error(999,"EXCEPTION: ViewContoller could not find component "+this.cmpId);
}}});
for(var V=0;
V<Y.length;
V++){Y[V].insert(b);
}if(U!=undefined&&S!=undefined){var c;
F.each(U,function(){if(this.cnt<S){c=_componentFromRegister(this.id);
if(typeof (c)!="undefined"&&c!=null){c.flushCache();
}}});
}if(C<=0){mds_vc_ProgressBar.update(f);
mds_vc_DeeplinkController.set(f);
}}}catch(a){mds_vc_ErrorController.error(999,"EXCEPTION: Probably concurring access to lastView.",a);
}};
_checkCmpVisibility=function(S){var T=_getVisibleComponents(S);
if(T!=null){F.each(Q,function(){if(F.inArray(this.getCmpId(),T)>=0){this.showComponent(true);
}else{this.showComponent(false);
}});
}else{mds_vc_ErrorController.error(999,"EXCEPTION: Current viewId or configuration unknown.");
}};
_getVisibleComponents=function(T){var U=null;
try{var S=mds_vc_conf.view[T];
U=[];
F.each(S.component,function(){U.push(this.cmpId);
});
}catch(V){mds_vc_ErrorController.error(999,"EXCEPTION: viewId or configuration unknown.",V);
}return U;
};
_bindConfigurationChangeEvents=function(V){var U,S;
if(V!=undefined){var T=F("#"+_getDomIdOfComponent(V));
U=F("input."+D+", select."+D,T);
S=F("input."+E+", select."+E,T);
}else{U=F("input."+D+", select."+D);
S=F("input."+E+", select."+E);
}U.change(_configurationChangeHandler);
S.change(_sessionChangeHandler);
if(F.browser.msie){F.each(F.merge(F.makeArray(S),F.makeArray(U)),function(){var W=F(this);
if(this.tagName=="SELECT"){W=F(this).children();
}W.click(function(){this.blur();
});
});
}};
_pushCmpStack=function(T,S){if(typeof (T)!="undefined"&&typeof (S)!="undefined"&&typeof (Q[T])=="undefined"){Q[T]=S;
}};
_pushConfigurationChange=function(T,S){var U=_disableSelections();
if(F.browser.msie&&U!=0||!F.browser.msie){_setActive();
_ajaxDefault();
var V={"featureSelection":S};
if(!T){V={"featureDeselection":S};
}F.ajax({url:B+P,data:JSON.stringify(V),success:function(){_configurationChangeCallback();
},error:function(W,Y,X){_requestError(W,Y);
}});
}};
_configurationChangeCallback=function(){mds_vc_ErrorController.log("INFO: ViewController: _configurationChangeCallback finished.");
_refreshOnConfigurationChange();
};
_pushSessionChange=function(S,U){_disableSelections();
_setActive();
_ajaxDefault();
var T="{'"+S+"': '"+U+"'}";
F.ajax({url:B+H,data:T,success:function(){_sessionChangeCallback();
},error:function(V,X,W){_requestError(V,X);
}});
};
_sessionChangeCallback=function(){mds_vc_ErrorController.log("INFO: ViewController: _sessionChangeCallback finished.");
_refreshOnConfigurationChange();
};
_requestError=function(U,T){var S=U.status;
if(T=="parsererror"||S==undefined||S=="undefined"||S==null){S=999;
}else{if(T=="timeout"){S=408;
}}mds_vc_ErrorController.error(S,"EXCEPTION: Got HTTP response with "+T+" (Error "+S+")");
mds_vc_ErrorController.log("ERROR: ViewController: Request failed with "+T);
};
_pushViewChange=function(S,Y){var U=0;
var T=false;
var X=Math.floor(Math.random()*101*Math.random());
G=X;
mds_vc_ErrorController.log("INFO: ViewController: View change triggered ("+S+", "+X+")");
function W(){if((X!=G||U>=((O*1000)/K))&&!T){T=true;
W();
}else{if((_isActive()||_getViewChangeCmpCount()>0)&&!T){U++;
window.setTimeout(function(){mds_vc_ErrorController.log("INFO: ViewController: View change request ("+X+") waited "+(K*U)+"ms while others are in progress.");
W();
},K);
}else{V(T);
}}}W();
function V(b){if(!b){C=1;
_disableSelections();
var a=mds_vc_conf.view;
if(mds_vc_latViewId&&S&&a){var Z=a[mds_vc_latViewId];
var c=a[S];
if(Z&&c){if(Z.orderNo<c.orderNo){mds_vc_latViewId=S;
}_ajaxDefault();
F.ajax({url:B+J,data:JSON.stringify({"viewId":mds_vc_latViewId}),success:function(){_viewChangeCallback(S,Y);
},error:function(e,g,f){var d=e.status;
if(g=="parsererror"||d==undefined||d=="undefined"||d==null){d=999;
}else{if(g=="timeout"){d=408;
}}mds_vc_ErrorController.error(d,"ERROR: ViewController: Got HTTP response with "+g+" (Error "+d+")");
mds_vc_ErrorController.log("ERROR: ViewController: _pushViewChange failed with "+g+".");
}});
}}}else{mds_vc_ErrorController.log("WARNING: ViewController: Old request was killed while new started (or waiting timed out).");
}}};
_viewChangeCallback=function(S,T){mds_vc_ErrorController.log("INFO: ViewController: _viewChangeCallback finished.");
_setView(S,T);
};
_refreshOnConfigurationChange=function(){var W=mds_vc_curViewId;
var S=mds_vc_conf.view[W];
var U;
if(S){try{N=new Object();
var T=0;
F.each(S.component,function(){if(this.priority>0){U=_componentFromRegister(this.cmpId);
if(typeof (U)!="undefined"&&U!=null){N[this.cmpId]=new Object();
N[this.cmpId].prio=this.priority;
N[this.cmpId].id=this.cmpId;
N[this.cmpId].data=null;
N[this.cmpId].event=null;
T++;
}}});
if(T==0){_setInactive();
_enableSelections();
}F.each(N,function(){mds_vc_ErrorController.log("INFO: ViewController: Component "+this.id+" was triggered to refresh.");
U=_componentFromRegister(this.id);
U.refresh();
});
}catch(V){mds_vc_ErrorController.error(EXCEPTION,"ERROR: Probably a competing access to prioStack generated an error.",V);
}}};
_refreshOnViewChange=function(S){var T=mds_vc_conf.view[S];
var U;
if(T&&S){try{N=new Object();
F.each(T.component,function(){if(this.onViewChange==true){U=_componentFromRegister(this.cmpId);
if(typeof (U)!="undefined"&&U!=null){N[this.cmpId]=new Object();
N[this.cmpId].prio=1;
N[this.cmpId].id=this.cmpId;
N[this.cmpId].data=null;
N[this.cmpId].event=null;
}}});
F.each(N,function(){mds_vc_ErrorController.log("INFO: ViewController: Component "+this.id+" was triggered to change view.");
U=_componentFromRegister(this.id);
U.refresh();
});
}catch(V){mds_vc_ErrorController.error(EXCEPTION,"ERROR: Probably a competing access to prioStack generated an error.",V);
}}};
_refreshOnInit=function(S){var T=mds_vc_conf.view[S];
var V;
if(T&&S){try{N=new Object();
var U=0;
F.each(T.component,function(){if(this.onInit==true){V=_componentFromRegister(this.cmpId);
if(typeof (V)!="undefined"&&V!=null){N[this.cmpId]=new Object();
N[this.cmpId].prio=1;
N[this.cmpId].id=this.cmpId;
N[this.cmpId].data=null;
N[this.cmpId].event=null;
U++;
}}});
if(U==0){_setInactive();
_enableSelections();
}F.each(N,function(){mds_vc_ErrorController.log("INFO: ViewController: Component "+this.id+" was triggered to init");
V=_componentFromRegister(this.id);
V.init();
});
}catch(W){mds_vc_ErrorController.error(999,"EXCEPTION: ViewController._refreshOnInit: Probably a competing access to prioStack generated an error.",W);
}}};
_getDomIdOfComponent=function(T){var S=mds_vc_conf.view;
var U=null;
if(S){F.each(S,function(){if(typeof (this.component[T])!="undefined"){U=this.component[T].domId;
return false;
}});
}return U;
};
_componentFromRegister=function(U){var S=null;
var T=Q[U];
if(typeof (T)=="object"){S=T;
}return S;
};
_ajaxDefault=function(){F.ajaxSetup({global:false,type:"POST",contentType:"application/json; charset=utf-8"});
};
_isActive=function(){return A;
};
_setActive=function(){A=true;
};
_setInactive=function(){A=false;
};
_getViewChangeCmpCount=function(){return C;
};
_disableSelections=function(){mds_vc_ErrorController.log("INFO: ViewController: Disabling all selections for current view ("+mds_vc_curViewId+").");
var T=0;
var S=_getVisibleComponents(mds_vc_curViewId);
var V,U;
F.each(S,function(){V=_getDomIdOfComponent(this);
if(V!=null){U=F("input."+D+":not([disabled]), select."+D+":not([disabled]), input."+E+":not([disabled]), select."+E+":not([disabled])",F("#"+V));
T+=U.length;
U.attr("disabled",true).addClass(M);
U=F("."+R+":not([disabled])",F("#"+V));
T+=U.length;
U.attr("disabled",true).addClass(M);
}});
mds_vc_ErrorController.log("INFO: ViewController: Disabled "+T+" selections.");
return T;
};
_enableSelections=function(){mds_vc_ErrorController.log("INFO: ViewController: Enabling all selections available with special disabled state.");
var S=0;
var T=F("."+D+"."+M+"[disabled], ."+E+"."+M+"[disabled]");
S+=T.length;
T.removeAttr("disabled").removeClass(M);
T=F("."+R+"."+M+"[disabled]");
S+=T.length;
T.removeAttr("disabled").removeClass(M);
T=F("."+D+"."+M+", ."+E+"."+M+", ."+R+"."+M);
S+=T.length;
T.removeClass(M);
mds_vc_ErrorController.log("INFO: ViewController: Enabled "+S+" selections available with special disabled state.");
};
}
var mds_vc_ProgressBar;
mds_vc_ProgressBar=new mds_vc_ProgressBar();
function mds_vc_ProgressBar(){var J="mds-vc-btn-nextstep";
var B="#/{s}/";
var E="{s}";
var L="ui-state-active";
var C="ui-state-highlight";
var K="ui-state-disabled";
var I="ui-helper-hidden";
var G=mrm.$;
this.init=function(M){H();
D(M);
A(M);
};
this.update=function(M){D(M);
A(M);
};
this.updateNextSteps=function(M){A(M);
};
function H(){var N=mds_vc_conf.view;
var M=mds_vc_conf.view[mds_vc_curViewId];
var O;
if(N&&M){G.each(N,function(){O=G("#"+this.button.domId);
O.removeAttr("onclick").unbind("click").click(function(){return false;
});
var P=B.replace(E,this.viewId);
if(P!=O.attr("href")){O.attr("href",P);
}});
}G("."+J).removeAttr("onclick").unbind("click").click(function(){return false;
});
}function D(Q){var N=mds_vc_conf.view;
var M=mds_vc_conf.view[Q];
var P=0;
if(N&&M){var O;
G.each(N,function(){O=G("#"+this.button.domId);
if(O.length>0){if((this.orderNo<M.orderNo)||(M.orderNo<this.orderNo&&this.active)){var R=this.viewId;
O.unbind("click").click(function(){F(R);
return false;
});
O.removeClass(C+" "+L+" "+K);
mds_vc_ErrorController.log("INFO: ProgressBarController: Button "+this.button.domId+" gets clickable.");
if(this.orderNo>=P){P=this.orderNo;
}}if(this==M){O.unbind("click").click(function(){return false;
});
O.removeClass(C+" "+K).addClass(L);
mds_vc_ErrorController.log("INFO: ProgressBarController: Button "+this.button.domId+" gets highlighted.");
P=this.orderNo;
}}else{mds_vc_ErrorController.log("INFO: ProgressBarController: Update skipped for "+this.viewId+", no button found.");
}});
G.each(N,function(){O=G("#"+this.button.domId);
if(O.length>0){if(P<this.orderNo&&!this.active){var R=this.viewId;
O.unbind("click").click(function(){F(R);
return false;
});
O.removeClass(C+" "+K).addClass(C);
mds_vc_ErrorController.log("INFO: ProgressBarController: Button "+this.button.domId+" gets next clickable.");
return false;
}}else{mds_vc_ErrorController.log("INFO: ProgressBarController: Update skipped for "+this.viewId+", no button found.");
}});
}else{mds_vc_ErrorController.log("ERROR: ProgressBarController: Configuration and/or current viewId not available.");
}}function A(Q){var O=Q;
var N=mds_vc_conf.view;
var M=N[Q].orderNo;
var P=999;
if(M&&N){G.each(N,function(){if(this.orderNo>M&&this.orderNo<=P){P=this.orderNo;
}});
G.each(N,function(){if(this.orderNo==P){O=this.viewId;
return false;
}});
}G.each(G("."+J),function(){if(O!=Q){G(this).removeClass(I);
G(this).attr("href",B.replace(E,O));
G(this).unbind("click").click(function(){F(O);
return false;
});
}else{G(this).addClass(I);
}});
}function F(M){if(mds_vc_ViewController!=null&&mds_vc_ViewController!=undefined){mds_vc_ViewController.viewChangeHandler(M);
}}}
var mds_vc_DeeplinkController;
mds_vc_DeeplinkController=new mds_vc_DeeplinkController();
function mds_vc_DeeplinkController(){var B=mrm.$;
var A=false;
var C="";
this.init=function(D){if(!A&&B.address.pathNames()[0]==undefined){this.set(D);
C=D;
}var E=D;
var F=this;
B.address.change(function(H){var I=B.address.pathNames()[0];
var J=mds_vc_curViewId;
if(J){if(E!=""&&E!=null){J=E;
}if(C!=""&&C!=null&&B.address.pathNames()[0]==undefined){I=C;
}if(mds_vc_ViewController!=null&mds_vc_ViewController!=undefined){var G=mds_vc_ViewController.viewIsAccessible(I);
if(!A&&I!=undefined&&I!=J&&G){mds_vc_ViewController.viewChangeHandler(I);
}else{if(!G){F.set(J);
}}}}A=false;
E=null;
});
};
this.set=function(D){A=true;
B.address.value(D);
A=false;
};
this.get=function(){var E=B.address.pathNames()[0];
var D=mds_vc_curViewId;
if(E!=undefined&&E!="undefined"&&E!=""&&E!=null){return E;
}else{if(D){return D;
}else{return null;
}}};
}
var AbstractComponent;
AbstractComponent=mrm.$.inherit({PROVIDER_BASE_URL:mds_vc_baseURL,PROVIDER_URL:"",INSERT_CACHE:false,HIDE_CSS_CLASS:"ui-helper-hidden",HIDE_ACC_CLASS:"ui-helper-hidden-accessible",EVENT_CSS_CLASS:"mds-vc-sel-cfg-ev",OPTION_CTR_CLASS:"mds-vc-sel-cfg-ctr",PARENT_CTR_CLASS:"mds-vc-sel-par",OPTION_GRP_CLASS:"mds-vc-sel-cfg-grp",OPTION_SCOPE_CLASS:"mds-vc-sel-cfg-scp",DISABLED_ID_CLASS:"mds-vc-disabled",PROTOTYPE_ID_CLASS:"mds-vc-prototype",IMG_PRELOAD_ANI_PROTO:"mds-vc-img-preload-proto",IMG_PRELOAD_ANI_CLASS:"mds-app-vc_imgzoom_loader",FILTER_SEL_CLASS:"mds-vc-flt-sel",FILTER_CNT_CLASS:"mds-vc-flt-cnt",FILTER_DEFAULT_INDEX:"-1",TOGGLE_CNT_CLASS:"mds-vc-sel-toggle-cnt",TOGGLE_LNK_CLASS:"mds-vc-sel-toggle",TOGGLE_CTR_CLASS:"mds-vc-sel-toggle-ctr",INFO_CNT_CLASS:"mds-vc-info-ctr",INFO_CNT_ID_PREFIX:"mds-vc-info-",TAB_ROW_CLASS:"mds-vc-tab-row",TAB_CTR_CLASS:"mds-vc-tab-ctr",TAB_ITM_CLASS:"mds-vc-tab-itm",TAB_CNT_CLASS:"mds-vc-tab-cnt",IMG_ZOOM_DLG_CLASS:"mds-vc-img-zoom-dlg",IMG_ZOOM_LNK_CLASS:"mds-vc-img-zoom-lnk",IMG_ZOOM_CLS_CLASS:"mds-vc-img-zoom-cls",SELECTED_STATE:"SELECTED",FORCED_STATE:"SELECTED_FORCED",FIXED_STATE:"SELECTED_FIX",DEFAULT_STATE:"SELECTED_DEFAULT",DISABLED_STATE:"DISABLED",DISABLED_DEFAULT_STATE:"DEFAULT_NOT_SELECTABLE",REPLACED_STATE:"DEFAULT_REPLACED",REMOVED_STATE:"REMOVED",SELECTED_CLASS:"ui-state-highlight",HOVER_CLASS:"ui-state-hover",ACTIVE_CLASS:"ui-state-active",DISABLED_CLASS:"ui-state-disabled blocked",REPLACED_CLASS:"ui-state-disabled replaced",INCLUDED_CLASS:"ui-state-disabled included",PRICE_VALUE_CLASS:"mds-vc-price-value",SUB_PRICE_VALUE_CLASS:"mds-vc-price-sub-value",CONFLICT_TTL_SEPARATOR:"##",TITLE_TOOLTIP_REPLACED:"ui-title-replaced",DIALOG_NO_TITLE:"ui-no-titlebar",APPEND_DELAY:200,_dataObject:null,_domId:"",_cmpId:"",_zoomDialogs:null,_htmlCached:false,__constructor:function(){this.__construct();
},__construct:function(){},showComponent:function(A){if(A){mrm.$("#"+this._domId).removeClass(this.HIDE_CSS_CLASS);
}else{this._removeLoadAnis();
mrm.$("#"+this._domId).addClass(this.HIDE_CSS_CLASS);
}},update:function(A){if(this._dataObject!=null){if(this._dataObject.type=="json"){this._updateJSON(A);
}else{this._updateHTML(A);
}}},refresh:function(){this._requestProvider(true,false,null);
},insert:function(A){if(A==true&&this.INSERT_CACHE){this.flushCache();
}if(this._htmlCached&&this.INSERT_CACHE){this._requestProvider(true,false,true);
}else{this._requestProvider(false,true,true);
}},init:function(){this._requestProvider(true,false,null);
},setDomId:function(A){this._domId=A;
},getDomId:function(){return this._domId;
},setCmpId:function(A){this._cmpId=A;
},getCmpId:function(A){return this._cmpId;
},onOptionChange:function(D){var B;
var C=this;
var A=mrm.$("#"+this._domId);
if(mrm.$("."+this.OPTION_GRP_CLASS,A).length>0){B=mrm.$("."+this.OPTION_GRP_CLASS,A);
}else{B=mrm.$(D).parents("."+this.OPTION_CTR_CLASS).parent();
}mrm.$.each(mrm.$("."+this.OPTION_CTR_CLASS,B),function(){mrm.$(this).removeClass(C.SELECTED_CLASS);
});
mrm.$(D).parents("."+this.OPTION_CTR_CLASS).addClass(this.SELECTED_CLASS);
},onOptionHover:function(B,A){if(A==true){mrm.$(B).addClass(this.HOVER_CLASS);
}else{mrm.$(B).removeClass(this.HOVER_CLASS);
}},filter:function(E,C,D){if(E!="undefined"&&E!=undefined&&E!=null){C=mrm.$(this._getEventTarget(E)).find("option:selected").val();
}if(C==null||C==undefined||C=="undefined"||C==""){C=this.FILTER_DEFAULT_INDEX;
}var B=this;
if(D==undefined||D=="undefined"||D==null){var A=mrm.$("#"+this._domId);
if(E!="undefined"&&E!=undefined&&E!=null&&mrm.$("."+this.OPTION_SCOPE_CLASS,A).length>0){D=mrm.$(this._getEventTarget(E)).parents("."+this.OPTION_SCOPE_CLASS);
}else{D=A;
}}mrm.$.each(mrm.$("."+this.FILTER_CNT_CLASS,D),function(F){if(F==C||C==B.FILTER_DEFAULT_INDEX){if(mrm.$(this).hasClass(B.HIDE_CSS_CLASS)){mrm.$(this).removeClass(B.HIDE_CSS_CLASS);
}if(C!=B.FILTER_DEFAULT_INDEX&&mrm.$("."+B.EVENT_CSS_CLASS+"[checked]",mrm.$(this)).length==0){mrm.$("."+B.EVENT_CSS_CLASS+":first",mrm.$(this)).attr("checked",true).trigger("change");
}}else{if(!mrm.$(this).hasClass(B.HIDE_CSS_CLASS)){mrm.$(this).addClass(B.HIDE_CSS_CLASS);
}}});
},information:function(A){mrm.$("#"+this.INFO_CNT_ID_PREFIX+mrm.$(A).attr("id")).removeClass(this.HIDE_CSS_CLASS).siblings("."+this.INFO_CNT_CLASS).addClass(this.HIDE_CSS_CLASS);
},updateTabs:function(C){var B=mrm.$("#"+this._domId);
var A=this;
var D=null;
mrm.$.each(mrm.$("."+A.TAB_ROW_CLASS,B),function(){mrm.$.each(mrm.$("."+A.TAB_ITM_CLASS,mrm.$(this)),function(E){if(!mrm.$(this).not(mrm.$(A._getEventTarget(C))).length){D=E;
return false;
}});
});
mrm.$("."+this.TAB_ITM_CLASS,mrm.$("."+this.TAB_ROW_CLASS,B)).parents("."+this.TAB_CTR_CLASS).removeClass(this.ACTIVE_CLASS);
mrm.$("."+this.TAB_ITM_CLASS+":eq("+D+")",mrm.$("."+this.TAB_ROW_CLASS,B)).parents("."+this.TAB_CTR_CLASS).addClass(this.ACTIVE_CLASS);
if(mrm.$("."+this.TAB_CNT_CLASS+":eq("+D+")",B).length==0){mrm.$("."+this.TAB_CNT_CLASS,B).removeClass(A.HIDE_CSS_CLASS);
}else{mrm.$("."+this.TAB_CNT_CLASS+":lt("+D+")",B).addClass(this.HIDE_CSS_CLASS);
mrm.$("."+this.TAB_CNT_CLASS+":eq("+D+")",B).removeClass(this.HIDE_CSS_CLASS);
mrm.$("."+this.TAB_CNT_CLASS+":gt("+D+")",B).addClass(this.HIDE_CSS_CLASS);
}},toggleDetails:function(A){var B=mrm.$(this._getEventTarget(A)).parents("."+this.TOGGLE_CTR_CLASS);
if(B.length>0){B.toggleClass(this.ACTIVE_CLASS);
}},zoomImage:function(B){var C=this._zoomDialogs[mrm.$("."+this.EVENT_CSS_CLASS,mrm.$(this._getEventTarget(B)).parents("."+this.OPTION_CTR_CLASS)).attr("id")];
if(C!=undefined&&C!=null){C.dialog("open");
var A=mrm.$("img",C);
A.preload(this._getLoadAniClone(),this.HIDE_ACC_CLASS).attr("src",A.attr("rel")).removeAttr("rel");
}},closeZoom:function(B){var A=this._zoomDialogs[B];
if(A!=undefined&&A!="undefined"&&A!=null){mrm.$(A).dialog("close");
}},flushCache:function(){this._htmlCached=false;
mds_vc_ErrorController.log("INFO: Component: Cache flushed for component "+this._cmpId);
},_updateJSON:function(A){},_updateHTML:function(F){var B=false;
if(this._dataObject.payload){var E=mrm.$("#"+this._domId);
E.after("<div>");
var D=E.next("div:eq(0)").addClass(this.HIDE_CSS_CLASS).append(this._dataObject.payload);
var C=D.children("div[id]");
if(C.length==1){this._hookHTML(F,C);
var A=this;
window.setTimeout(function(){E.empty().append(C.children());
D.remove();
A._afterUpdate(F,true);
A._sendUpdatedMessage(F);
},this.APPEND_DELAY);
}else{B=true;
D.remove();
}}else{B=true;
}if(B){this._sendUpdatedMessage(F);
mds_vc_ErrorController.error(999,"EXCEPTION: Components HTML payload is corrupt.");
}},_hookHTML:function(B,A){},_afterUpdate:function(B,A){if(A==true){this._addLocalEvents();
}},_updateOptionJSON:function(G){if(this._dataObject.payload){if(this._dataObject.payload.featureSelectionSet!=null&&this._dataObject.payload.featureSelectionSet!=undefined){var C=mrm.$("#"+this._domId);
var A=this;
var B,F,E,D;
mrm.$.each(this._dataObject.payload.featureSelectionSet.featureSelection,function(){B=this["selection-control-id"];
F=this["selection-state"];
E=this["selection-conflict"];
D=this.formatted_price;
var H=null;
if(E!=null&&E!=undefined&&E!="undefined"){H="";
if(E.conflictDescription!=undefined&&E.conflictDescription!=null){H=E.conflictDescription;
}else{mrm.$.each(E,function(I){if(I>0){H+=A.CONFLICT_TTL_SEPARATOR;
}H+=this.conflictDescription;
});
}}A._updateOption(B,F,D,H);
if(this.subFeatureSelection!=null&&this.subFeatureSelection!="undefined"&&this.subFeatureSelection!=undefined){mrm.$.each(this.subFeatureSelection,function(){B=this["selection-control-id"];
F=this["selection-state"];
E=this["selection-conflict"];
D=this.formatted_price;
var I=null;
if(E!=null&&E!=undefined&&E!="undefined"){I="";
if(E.conflictDescription!=undefined&&E.conflictDescription!=null){I=E.conflictDescription;
}else{mrm.$.each(E,function(J){if(J>0){I+=A.CONFLICT_TTL_SEPARATOR;
}I+=this.conflictDescription;
});
}}A._updateOption(B,F,D,I,null,true);
});
}});
}else{mds_vc_ErrorController.error(999,"EXCEPTION: Components payload corrupt.");
}}else{mds_vc_ErrorController.error(999,"EXCEPTION: Components payload corrupt.");
}this._sendUpdatedMessage(G);
},_updateSelectionJSON:function(F){if(this._dataObject.payload){if(this._dataObject.payload.featureSelectionSet!=null&&this._dataObject.payload.featureSelectionSet!=undefined){var C=mrm.$("#"+this._domId);
var A=this;
var B,E,D;
mrm.$.each(this._dataObject.payload.featureSelectionSet.featureSelection,function(){B=this["selection-control-id"];
E=this["selection-state"];
D=this.formatted_price;
A._updateSelection(B,E,D);
if(this.subFeatureSelection!=null&&this.subFeatureSelection!=undefined){mrm.$.each(this.subFeatureSelection,function(){B=this["selection-control-id"];
E=this["selection-state"];
D=this.formatted_price;
A._updateSelection(B,E,D);
});
}});
}else{mds_vc_ErrorController.error(999,"EXCEPTION: Components payload corrupt.");
}}else{mds_vc_ErrorController.error(999,"EXCEPTION: Components payload corrupt.");
}this._sendUpdatedMessage(F);
},_updateOption:function(F,B,G,H,C,A){var E=null;
if(typeof (F)=="object"){E=F;
}else{E=mrm.$("#"+F);
}if(E.length>0){var I=null;
if(C!=null&&C!=undefined){I=E.parents("."+C+":eq(0)");
}else{I=E.parents("."+this.OPTION_CTR_CLASS+":eq(0)");
}if(H==undefined||H==null){H="";
}switch(B){case this.SELECTED_STATE:I.removeClass(this.DISABLED_CLASS+" "+this.REPLACED_CLASS+" "+this.INCLUDED_CLASS).addClass(this.SELECTED_CLASS);
E.removeAttr("title").attr("checked",true);
if(!E.hasClass(this.DISABLED_ID_CLASS)){E.addClass(this.DISABLED_ID_CLASS);
}break;
case this.DISABLED_STATE:case this.DISABLED_DEFAULT_STATE:I.removeClass(this.SELECTED_CLASS+" "+this.REPLACED_CLASS+" "+this.INCLUDED_CLASS).addClass(this.DISABLED_CLASS);
E.attr("disabled",true).removeClass(this.DISABLED_ID_CLASS).attr("title",H).removeAttr("checked");
break;
case this.REPLACED_STATE:I.removeClass(this.DISABLED_CLASS+" "+this.SELECTED_CLASS+" "+this.INCLUDED_CLASS).addClass(this.REPLACED_CLASS);
E.attr("disabled",true).removeClass(this.DISABLED_ID_CLASS).removeAttr("checked").removeAttr("title");
break;
case this.FORCED_STATE:case this.FIXED_STATE:case this.DEFAULT_STATE:I.removeClass(this.DISABLED_CLASS+" "+this.SELECTED_CLASS+" "+this.REPLACED_CLASS).addClass(this.INCLUDED_CLASS);
E.attr("disabled",true).removeClass(this.DISABLED_ID_CLASS).removeAttr("title").attr("checked",true);
break;
case this.REMOVED_STATE:I.removeClass(this.DISABLED_CLASS+" "+this.SELECTED_CLASS+" "+this.REPLACED_CLASS+" "+this.INCLUDED_CLASS);
E.attr("disabled",true).removeClass(this.DISABLED_ID_CLASS).removeAttr("checked").removeAttr("title");
break;
default:I.removeClass(this.DISABLED_CLASS+" "+this.SELECTED_CLASS+" "+this.REPLACED_CLASS+" "+this.INCLUDED_CLASS);
E.removeAttr("checked").removeAttr("title");
if(!E.hasClass(this.DISABLED_ID_CLASS)){E.addClass(this.DISABLED_ID_CLASS);
}break;
}if(G!=undefined&&G!="undefined"&&G!=null&&B!=this.FIXED_STATE&&B!=this.DEFAULT_STATE&&B!=this.DISABLED_DEFAULT_STATE&&B!=this.REPLACED_STATE){var D=this.PRICE_VALUE_CLASS;
if(A==true){D=this.SUB_PRICE_VALUE_CLASS;
}var J=mrm.$("."+D,I);
if(J.length==1){if(J.text()!=G){J.text(G);
}}}}},_updateSelection:function(C,F,E,B){var G=null;
if(typeof (C)=="object"){G=C;
}else{G=mrm.$("#"+C);
}if(G.length>0){var D=null;
if(B!=null&&B!=undefined){D=G.parents("."+B+":eq(0)");
}else{D=G.parents("."+this.OPTION_CTR_CLASS+":eq(0)");
}switch(F){case this.SELECTED_STATE:case this.FORCED_STATE:case this.FIXED_STATE:case this.DEFAULT_STATE:D.removeClass(this.DISABLED_CLASS+" "+this.REPLACED_CLASS+" "+this.INCLUDED_CLASS).addClass(this.SELECTED_CLASS);
G.removeAttr("title").attr("checked",true);
if(!G.hasClass(this.DISABLED_ID_CLASS)){G.addClass(this.DISABLED_ID_CLASS);
}break;
case this.DISABLED_STATE:case this.DISABLED_DEFAULT_STATE:D.removeClass(this.SELECTED_CLASS+" "+this.REPLACED_CLASS+" "+this.INCLUDED_CLASS).addClass(this.DISABLED_CLASS);
G.attr("disabled",true).removeClass(this.DISABLED_ID_CLASS).attr("title",title).removeAttr("checked");
break;
case this.REPLACED_STATE:D.removeClass(this.DISABLED_CLASS+" "+this.SELECTED_CLASS+" "+this.INCLUDED_CLASS).addClass(this.REPLACED_CLASS);
G.attr("disabled",true).removeClass(this.DISABLED_ID_CLASS).removeAttr("checked").removeAttr("title");
break;
default:D.removeClass(this.DISABLED_CLASS+" "+this.SELECTED_CLASS+" "+this.REPLACED_CLASS+" "+this.INCLUDED_CLASS);
G.removeAttr("checked").removeAttr("title");
if(!G.hasClass(this.DISABLED_ID_CLASS)){G.addClass(this.DISABLED_ID_CLASS);
}break;
}if(E!=undefined&&E!=null){var A=mrm.$("."+this.PRICE_VALUE_CLASS,D);
if(A.length==1){if(A.text()!=E){A.text(E);
}}}}},_requestProvider:function(F,E,H){var G,A;
var D=false;
if(E){G="html";
A={"outputType":"xhtml"};
}else{if(F){G="json";
A={"outputType":"json"};
}else{D=true;
}}var C=JSON.stringify(A);
var B=this;
if(!D){mrm.$.ajax({global:false,type:"POST",url:this.PROVIDER_BASE_URL+this.PROVIDER_URL,dataType:G,contentType:"application/json; charset=utf-8",data:C,dataFilter:function(J,I){if(I=="json"){J=JSON.parse(J);
}J={"payload":J,"type":I};
return J;
},success:function(I,J){B._requestCallback(I,H,false,false);
},error:function(J,M,L){var K=false;
if(M=="notmodified"){K=true;
}B._requestCallback(null,H,true,K);
var I=J.status;
if(M=="parsererror"||I==undefined||I=="undefined"||I==null){I=999;
}else{if(M=="timeout"){I=408;
}}if(!K){mds_vc_ErrorController.error(I,"EXCEPTION: Got HTTP response with "+M+" (Error "+I+")");
}mds_vc_ErrorController.log("ERROR: Component: "+B._cmpId+"._requestProvider throws 'error' with "+M);
}});
}else{mds_vc_ErrorController.log("ERROR: Application state is crashed, change view!");
mds_vc_ErrorController.error(999,"EXCEPTION: Invalid response type requested by a component.");
}},_requestCallback:function(C,D,A,B){if(!A){this._dataObject=C;
if(C.type=="html"){this._htmlCached=true;
}}mds_vc_ErrorController.log("INFO: Component: "+this._cmpId+"._requestCallback finished with isViewChange=="+D+" and error=="+A);
mrm.$(document).trigger("SendComponentRefreshedMessage",{"cmpId":this._cmpId,"isViewChange":D,"error":A,"notModified":B});
},_sendUpdatedMessage:function(A){mrm.$(document).trigger("SendComponentUpdatedMessage",{"cmpId":this._cmpId,"isViewChange":A});
},_addLocalEvents:function(){var B=mrm.$("#"+this._domId);
var A=this;
mrm.$("."+this.EVENT_CSS_CLASS,B).unbind("change").change(function(){A.onOptionChange(this);
});
mrm.$("."+this.EVENT_CSS_CLASS,B).parents("."+this.OPTION_CTR_CLASS).unbind("hover").hover(function(){A.onOptionHover(this,true);
},function(){A.onOptionHover(this,false);
});
},_getEventTarget:function(B){if(!B){return false;
}var A=B.target||B.srcElement;
return A;
},_toggleDetails:function(E,H){var D=mrm.$("#"+this._domId);
var G=mrm.$(E).parents("."+this.TOGGLE_CTR_CLASS);
var A=mrm.$("."+this.TOGGLE_CTR_CLASS,D);
var B=-1;
var F=false;
mrm.$.each(A,function(I){if(!mrm.$(this).not(G).length){B=I;
return false;
}});
if(B>=0){var C=mrm.$("."+this.TOGGLE_CNT_CLASS+":eq("+B+")",D);
if(G.hasClass(this.ACTIVE_CLASS)&&H!=true){if(!C.hasClass(this.ACTIVE_CLASS)){C.addClass(this.ACTIVE_CLASS);
}}else{if(C.hasClass(this.ACTIVE_CLASS)||H==true){C.removeClass(this.ACTIVE_CLASS);
}}}},_initFilter:function(A,C){if(C==null||C==undefined||C=="undefined"){C=mrm.$("#"+this._domId);
}var E=mrm.$("."+this.FILTER_SEL_CLASS,C);
var D=null;
if(A!=null){D=A;
mrm.$("option[value="+A+"]",E).attr("selected",true);
}else{if(E.length>0){var B=E.find("option:selected");
if(B.length>0){if(B.val()!=D){D=B.val();
}}}if(D==null){D=this.FILTER_DEFAULT_INDEX;
}}this.filter(null,D,C);
},_initZooms:function(){var A=this;
var D,B,C;
this._zoomDialogs={};
mrm.$.each(mrm.$("."+this.EVENT_CSS_CLASS,mrm.$("#"+this._domId)),function(){C=mrm.$("."+A.IMG_ZOOM_DLG_CLASS,mrm.$(this).parents("."+A.OPTION_CTR_CLASS));
if(C.length>0){D=mrm.$(this).attr("id");
B=C.dialog({bgiframe:true,resizable:false,zIndex:3999,draggable:false,modal:true,width:"auto",autoOpen:false,dialogClass:A.DIALOG_NO_TITLE});
A._zoomDialogs[D]=B;
var E=D;
mrm.$("."+A.IMG_ZOOM_CLS_CLASS,B).click(function(){return false;
}).click(function(){A.closeZoom(E);
});
}});
},_killZooms:function(){if(this._zoomDialogs!=undefined&&this._zoomDialogs!="undefined"&&this._zoomDialogs!=null){mrm.$.each(this._zoomDialogs,function(){mrm.$(this).dialog("destroy").remove();
});
this._zoomDialogs=null;
}},_getSelectedOption:function(A){return mrm.$(A).find("option:selected").html();
},_getSelectedIndex:function(A){return mrm.$(A).attr("selectedIndex");
},_getLoadAniClone:function(){return mrm.$("#"+this.IMG_PRELOAD_ANI_PROTO).clone().removeAttr("id");
},_removeLoadAnis:function(A){var B=mrm.$(document.body);
if(A!=undefined&&A!=null){if(A.jquery){B=A;
}}mrm.$("."+this.IMG_PRELOAD_ANI_CLASS+":not([id="+this.IMG_PRELOAD_ANI_PROTO+"])",B).remove();
},_checkScope:function(A){if(A==undefined||A=="undefined"||A==null){A=mrm.$("#"+this._domId);
}return A;
}},{});

var AbstractCompareComponent;
AbstractCompareComponent=mrm.$.inherit(AbstractComponent,{PROVIDER_URL:"",CFG_CONTAINER:"mds-vc-cfg-ctr",VFILTER_TBL_CLASS:"mds-vc-vflt-tbl",VFILTER_TBL_ID_PREFIX:"mds-vc-vflt-tbl-",VFILTER_THEAD_CLASS:"mds-vc-vflt-thead",VFILTER_SELECT_ROW_CLASS:"mds-vc-vflt-row",_lockChanges:true,_dataSetArray:new Array(),_footPrice:new Array(),_footLinks:new Array(),_maxCount:4,_dataSetNames:new Array(),_setChangedAfterKeyDown:false,init:function(){this._requestProvider(false,true,null);
},showComponent:function(A){var B=mrm.$("#"+this._domId);
if(A){this._lockChanges=false;
B.removeClass(this.HIDE_CSS_CLASS);
mrm.$("#"+this.CFG_CONTAINER).addClass(this.HIDE_CSS_CLASS);
}else{mrm.$("#"+this.CFG_CONTAINER).removeClass(this.HIDE_CSS_CLASS);
B.addClass(this.HIDE_CSS_CLASS);
}},selectContinue:function(B){if(this._lockChanges!=true){var C=mrm.$(this._getEventTarget(B)).attr("rel");
if(C!=undefined&&C!="undefined"&&C!=null&&C!=""){C=C.substring(0,C.length-1);
this._lockChanges=true;
mrm.$(document).trigger("SendConfigurationChangeMessage",C);
}var A=mrm.$(this._getEventTarget(B)).attr("href");
if(A!=undefined&&A!="undefined"&&A!=null&&A!=""){window.setTimeout(function(){location.href=A;
},200);
}}},_afterUpdate:function(E,D){this.__base(E,D);
if(D==true){var B=this;
var C=mrm.$("#"+this._domId);
var A;
mrm.$("."+this.VFILTER_TBL_CLASS,C).each(function(F){mrm.$(this).attr("id",B.VFILTER_TBL_ID_PREFIX+F);
A=mrm.$(this).find("tbody:first").find("tr:first").children("th").length-1;
if(A>B._maxCount){B._startFilter(mrm.$(this));
}});
this._bindSelectContinue();
}},_bindSelectContinue:function(){var A=this;
var B=mrm.$("#"+this._domId);
mrm.$("a."+this.EVENT_CSS_CLASS,B).unbind("click").click(function(){return false;
}).click(function(C){A.selectContinue(C);
});
},_addLocalEvents:function(){this.__base();
var A=this;
mrm.$("."+this.FILTER_SEL_CLASS,mrm.$("#"+this._domId)).unbind("change").change(function(B){A.filter(B);
});
},_startFilter:function(A){try{this._buildTrims(A);
this._setDropdown(A);
this._checkTrimCount(A);
}catch(B){mds_vc_ErrorController.error(999,"EXCEPTION: AbstractCompareComponent: Possibly mrm.util not available.");
}},_buildTrims:function(B){var A=this;
this._dataSetArray[B.attr("id")]=new Array();
B.find("tbody").each(function(D){var C=0;
A._dataSetArray[B.attr("id")][D]=new Array();
mrm.$(this).find("tr:first").find("th").each(function(E){if(E>0){A._dataSetArray[B.attr("id")][D][C]=new Array();
C++;
}});
});
B.find("tbody").each(function(C){mrm.$(this).children("tr").not("."+A.VFILTER_THEAD_CLASS).each(function(D){mrm.$(this).find("td").each(function(E){A._dataSetArray[B.attr("id")][C][E][D]=mrm.$(this).html();
});
});
});
},_setDropdown:function(A){if(A.find("tbody").find("tr:first").children("th").length-1>this._maxCount){if(A.find("table:first").find("thead").length<=0){A.find("table:first").children().eq(0).before("<thead></thead>");
}mrm.$("."+this.VFILTER_SELECT_ROW_CLASS,A).removeClass(this.HIDE_CSS_CLASS);
var B=this._getTrimNames(A);
mrm.util.fillSelect(A.find("."+this.VFILTER_SELECT_ROW_CLASS+" select"),B);
}this._setDropdownFunctionality(A);
},_checkTrimCount:function(C){var B=this;
var A=C.find("tbody:first ."+B.VFILTER_THEAD_CLASS).children("th").length-1;
if(A>this._maxCount){this._showOnly(C,"thead",3);
this._showOnly(C,"tbody",3);
this._showOnly(C,"tfoot",3);
this._emptyCol(C,3);
this._setDefaultTrims(C);
}},_getTrimNames:function(D){var B=this;
var A=new Array();
this._footPrice[D.attr("id")]=new Array();
this._footLinks[D.attr("id")]=new Array();
A.push("&nbsp;");
this._dataSetNames[D.attr("id")]=new Array();
var C=0;
D.find("tbody:first ."+B.VFILTER_THEAD_CLASS+":first th").each(function(E){if(E!=0){if((E<D.find("tbody:first ."+B.VFILTER_THEAD_CLASS+":first th").length)&&(D.find("tfoot").find("tr").length>0)){B._footPrice[D.attr("id")][D.find("tbody:first ."+B.VFILTER_THEAD_CLASS+":first th:eq("+(C+1)+")").text()]=D.find("tfoot").find("tr:eq(0)").find("td:eq("+C+")").html();
B._footLinks[D.attr("id")][D.find("tbody:first ."+B.VFILTER_THEAD_CLASS+":first th:eq("+(C+1)+")").text()]=D.find("tfoot").find("tr:eq(1)").find("td:eq("+C+")").html();
}if(C>=0){A.push(mrm.$(this).text());
B._dataSetNames[D.attr("id")][D.find("tbody:first ."+B.VFILTER_THEAD_CLASS+":first th:eq("+(C+1)+")").text()]=mrm.$(this).html();
}C++;
}});
return A;
},_setDropdownFunctionality:function(B){var A=this;
B.find("select").each(function(C){mrm.$(this).bind("change",function(E){var D=mrm.$(E.target).find("option[selected]").attr("value");
A._fillAfterChange(B,D,C);
});
});
},_emptyCol:function(C,B){var A=this;
C.find("tbody").find("tr").each(function(){if((!mrm.$(this).find("td:eq("+(B-1)+")").attr("colspan"))||(mrm.$(this).find("td:eq("+(B-1)+")").attr("colspan")==1)){mrm.$(this).find("td:eq("+(B-1)+")").html("");
}});
C.find("tbody").each(function(){mrm.$(this).find("."+A.VFILTER_THEAD_CLASS).each(function(){mrm.$(this).children().each(function(D){if(D==B){mrm.$(this).html("");
}});
});
});
C.find("tfoot").find("tr").each(function(){mrm.$(this).find("td").each(function(D){if(D==B-1){mrm.$(this).html("");
}});
});
},_showOnly:function(D,A,C){var B=this;
D.find(A).find("tr").each(function(E){mrm.$(this).children().each(function(F){if(F>C){mrm.$(this).addClass(B.HIDE_CSS_CLASS);
}});
});
},_setDefaultTrims:function(C){var B=this;
var A=1;
var D=1;
C.find("select").each(function(E){if(E==0){mrm.$(this).find("option:eq("+A+")").attr("selected","selected");
}if(E==1){mrm.$(this).find("option:eq(2)").attr("selected","selected");
}});
C.find("."+B.VFILTER_THEAD_CLASS).find("th:eq(1)").html(B._dataSetNames[C.attr("id")][B._getSelected(C,1)]);
C.find("."+B.VFILTER_THEAD_CLASS).find("th:eq(2)").html(B._dataSetNames[C.attr("id")][B._getSelected(C,2)]);
if(C.find("tfoot").find("tr").length>0){C.find("tfoot").find("tr:first").find("td:eq(0)").html("");
C.find("tfoot").find("tr:last").find("td:eq(0)").html("");
C.find("tfoot").find("tr:first").find("td:eq(0)").html(this._footPrice[C.attr("id")][B._getSelected(C,1)]);
C.find("tfoot").find("tr:last").find("td:eq(0)").html(this._footLinks[C.attr("id")][B._getSelected(C,1)]);
C.find("tfoot").find("tr:first").find("td:eq(1)").html("");
C.find("tfoot").find("tr:last").find("td:eq(1)").html("");
C.find("tfoot").find("tr:first").find("td:eq(1)").html(this._footPrice[C.attr("id")][B._getSelected(C,2)]);
C.find("tfoot").find("tr:last").find("td:eq(1)").html(this._footLinks[C.attr("id")][B._getSelected(C,2)]);
}B._fillTrim(C,1,A,false);
B._fillTrim(C,2,2,false);
B._resetDropdownValue(C,0);
B._resetDropdownValue(C,1);
},_getSelected:function(C,B){B--;
var A="";
C.find("select:eq("+B+")").children().each(function(){if(mrm.$(this).attr("selected")){A=mrm.$(this).text();
}});
return A;
},_fillTrim:function(D,C,A,E){var B=this;
D.find("tbody").each(function(F){mrm.$(this).find("tr").not("."+B.VFILTER_THEAD_CLASS).each(function(G){mrm.$(this).children("td").each(function(H){if(H==C-1){if(A>0){if(E){B._fadeout(mrm.$(this),B._dataSetArray[D.attr("id")][A-1][F]);
}else{mrm.$(this).html(B._dataSetArray[D.attr("id")][F][A-1][G]);
}}else{if((!mrm.$(this).attr("colspan"))||(mrm.$(this).attr("colspan")==1)){mrm.$(this).html("");
}}}});
});
});
},_resetDropdownValue:function(D,A){var C=this;
var B=null;
D.find("select:eq("+A+")").children().each(function(E){if(mrm.$(this).attr("selected")){D.find(".selectedTxt:eq("+A+")").html(C._dataSetNames[D.attr("id")][C._getSelected(D,E)]);
B=mrm.$(this).text();
}});
},_fillAfterChange:function(D,C,B){var A=this;
this._fillTrim(D,B+1,this._getSelectedValue(D,B),false);
if(this._dataSetNames[D.attr("id")][this._getSelected(D,B+1)]){D.find("."+A.VFILTER_THEAD_CLASS).find("th:eq("+(B+1)+")").html(this._dataSetNames[D.attr("id")][this._getSelected(D,B+1)]);
D.find("tfoot").find("tr").each(function(E){if(E==0){mrm.$(this).find("td:eq("+B+")").html("");
mrm.$(this).find("td:eq("+B+")").html(A._footPrice[D.attr("id")][A._getSelected(D,B+1)]);
}else{mrm.$(this).find("td:eq("+B+")").html("");
mrm.$(this).find("td:eq("+B+")").html(A._footLinks[D.attr("id")][A._getSelected(D,B+1)]);
}});
}else{A._emptyCol(D,B+1);
}this._bindSelectContinue();
},_getSelectedValue:function(C,B){var A="";
C.find("select:eq("+B+")").children().each(function(){if(mrm.$(this).attr("selected")){A=mrm.$(this).attr("value");
}});
return A;
},_renewTrimAfterKeyDown:function(C,B,A){if(this._setChangedAfterKeyDown){this._fillAfterChange(C,B,A);
this._setChangedAfterKeyDown=false;
}else{window.setTimeout(function(){this._renewTrimAfterKeyDown(C,B,A);
},100);
}},_setTrimVarAfterKeyDown:function(){this._setChangedAfterKeyDown=true;
}});

var TrackingComponent;
TrackingComponent=mrm.$.inherit(AbstractComponent,{PROVIDER_URL:"omniture",TRACKING_IFRAME:"mds-vc-cmp-bluestreak-iframe",TRACKING_DART_IFRAME:"mds-vc-cmp-dart-iframe",TRACKING_FLOODLIGHT_IFRAME:"mds-vc-cmp-floodlight-iframe",TRACKING_PRINT_EVENT_NAME:"event25",TRACKING_PRINT_EVENT_SPACE:"omniturePrint",PRINT_LINK_ID:"mds-vc-print-lnk",_firstViewId:null,_lastViewId:null,init:function(){this._requestProvider(false,true,null);
},refresh:function(){this._requestProvider(false,true,null);
},_afterUpdate:function(C,B){this._initViewIds();
this._updateBluestreak();
this._updateDart();
this._updateFloodlight();
var A=this;
mrm.$("#"+this.PRINT_LINK_ID).livequery(function(){mrm.$(this).unbind("click."+A.TRACKING_PRINT_EVENT_SPACE).bind("click."+A.TRACKING_PRINT_EVENT_SPACE,function(){A._printButtonPressed();
});
});
this.__base(C,B);
},_printButtonPressed:function(){if(typeof (window.Omniture_s)=="object"){Omniture_s.events=this.TRACKING_PRINT_EVENT_NAME;
Omniture_s.t();
}},_updateBluestreak:function(){if(mds_vc_curViewId!=undefined&&mds_vc_curViewId!=null&&mds_vc_curViewId!=""){if(mds_vc_curViewId==this._firstViewId&&mds_vc_bluestreak_start!="bluestreakStartUrl"){mrm.$("#"+this.TRACKING_IFRAME).attr("src",mds_vc_bluestreak_start);
}else{if(mds_vc_curViewId==this._lastViewId&&mds_vc_bluestreak_end!="bluestreakEndUrl"){mrm.$("#"+this.TRACKING_IFRAME).attr("src",mds_vc_bluestreak_end);
}}}},_updateDart:function(){if(mds_vc_curViewId!=undefined&&mds_vc_curViewId!=null&&mds_vc_curViewId!=""){var A=Math.random()*10000000000000;
if(mds_vc_curViewId==this._firstViewId&&mds_vc_dart_start!="dartStartUrl"){mrm.$("#"+this.TRACKING_DART_IFRAME).attr("src",mds_vc_dart_start+"num="+A+"?");
}else{if(mds_vc_curViewId==this._lastViewId&&mds_vc_dart_end!="dartEndUrl"){mrm.$("#"+this.TRACKING_DART_IFRAME).attr("src",mds_vc_dart_end+"num="+A+"?");
}}}},_updateFloodlight:function(){if(mds_vc_curViewId!=undefined&&mds_vc_curViewId!=null&&mds_vc_curViewId!=""){var A=Math.random()*10000000000000;
if(mds_vc_curViewId==this._firstViewId&&mds_vc_floodlight_start!="floodlightStartUrl"){mrm.$("#"+this.TRACKING_FLOODLIGHT_IFRAME).attr("src",mds_vc_floodlight_start+";ord="+A+"?");
}else{if(mds_vc_curViewId==this._lastViewId&&mds_vc_floodlight_end!="floodlightEndUrl"){mrm.$("#"+this.TRACKING_FLOODLIGHT_IFRAME).attr("src",mds_vc_floodlight_end+";ord="+A+"?");
}}}},_initViewIds:function(){try{if(this._firstViewId==null){this._firstViewId=mds_vc_ViewController.getFirstViewId(true);
}if(this._lastViewId==null){this._lastViewId=mds_vc_ViewController.getLastViewId();
}}catch(A){mds_vc_ErrorController.log("WARNING: TrackingComponent: ViewController called but not available.");
mds_vc_ErrorController.log(A,true);
}}});

var AccessoriesComponent;
AccessoriesComponent=mrm.$.inherit(AbstractComponent,{PROVIDER_URL:"accessorySelection",INSERT_CACHE:true,init:function(){this._requestProvider(false,true,null);
},insert:function(A){this._killZooms();
this.__base(A);
},onOptionChange:function(A){},_updateJSON:function(A){this._updateOptionJSON(A);
},_addLocalEvents:function(){var B=mrm.$("#"+this._domId);
var A=this;
this.__base();
mrm.$("."+this.TAB_ITM_CLASS,mrm.$("#"+this._domId)).click(function(){return false;
}).click(function(C){A.updateTabs(C);
});
mrm.$("."+this.TOGGLE_LNK_CLASS,B).unbind("click").click(function(){return false;
}).click(function(C){A.toggleDetails(C);
});
this._initZooms();
mrm.$("."+this.IMG_ZOOM_LNK_CLASS,B).unbind("click").click(function(){return false;
}).click(function(C){A.zoomImage(C);
});
}});

var ColourFabricComponent;
ColourFabricComponent=mrm.$.inherit(AbstractComponent,{PROVIDER_URL:"colorTrimSelection",INSERT_CACHE:true,DISIMG_PROTO_ID:"mds-vc-sel-disimg-proto",DISIMG_INST_CLASS:"mds-vc-sel-disimg-inst",TOOLTIP_CLASS:"mds-vc-color-tt",THUMBNAIL_CLASS:"mds-vc-color-thumb",TT_DELAY:500,TT_TOP_OFFSET:20,_ttTimeout:null,_ttClone:null,showComponent:function(A){if(!A){this._hideAllDetails();
}this.__base(A);
},onOptionHover:function(B,A){this.__base(B,A);
if(A==true){this.showDetail(B);
}else{this.hideDetail(B);
}},showDetail:function(F){var K=this;
this._removeTtClone();
this._hideAllDetails();
var F=mrm.$(F);
var C=mrm.$("."+this.THUMBNAIL_CLASS,F);
this._ttClone=mrm.$("."+this.TOOLTIP_CLASS,F).clone().css({left:"-9999px",top:0});
if(this._ttClone!=null&&mrm.$(this._ttClone).length==1){mrm.$("body").append(this._ttClone);
var J=this._ttClone.height();
var G=this._ttClone.width();
var B=F.offset().top;
var H=C.offset().left;
var I=C.width();
var A=H+(I/2)-(G/2);
var E=0;
if(A>0){E=A;
}var D={left:E,top:(B-J)};
this._ttTimeout=window.setTimeout(function(){if(mrm.$(K._ttClone).length==1){mrm.$(K._ttClone).css(D).removeClass(K.HIDE_ACC_CLASS);
}},this.TT_DELAY);
}},hideDetail:function(A){window.clearTimeout(this._ttTimeout);
this._removeTtClone();
},_hideAllDetails:function(){var A=this;
mrm.$.each("."+this.TOOLTIP_CLASS,function(){if(!mrm.$(this).hasClass(A.HIDE_ACC_CLASS)){mrm.$(this).addClass(A.HIDE_ACC_CLASS);
}});
},_removeTtClone:function(){if(this._ttClone!=null&&mrm.$(this._ttClone).length==1){var A=mrm.$(this._ttClone);
if(A.length>0){A.remove();
this._ttClone=null;
}}},_updateJSON:function(F){if(this._dataObject.payload){this._removeTtClone();
this._hideAllDetails();
var J=mrm.$("#"+this._domId);
var K=this;
var C,I,A,D,H,B,E,G,L;
mrm.$.each(this._dataObject.payload.featureSelectionSetList.featureSelectionSet,function(){mrm.$.each(this.featureSelection,function(){I=this.feature.featureId;
C=this["selection-control-id"];
A=this["selection-state"];
E=this.formatted_price;
B=mrm.$("#"+C);
if(B.length>0){H=B.parents("."+K.OPTION_CTR_CLASS);
if(A==K.SELECTED_STATE||A==K.DEFAULT_STATE){H.removeClass(K.DISABLED_CLASS).addClass(K.SELECTED_CLASS);
B.attr("disabled",true).addClass(K.DISABLED_ID_CLASS);
B.attr("checked",true);
}else{if(A==K.DISABLED_STATE){H.removeClass(K.SELECTED_CLASS).addClass(K.DISABLED_CLASS);
B.attr("disabled",true).addClass(K.DISABLED_ID_CLASS);
if(mrm.$("."+K.DISIMG_INST_CLASS,H).length==0){D=mrm.$("#"+K.DISIMG_PROTO_ID).clone().removeAttr("id").addClass(K.DISIMG_INST_CLASS);
H.prepend(D);
}mrm.$("."+K.DISIMG_INST_CLASS,H).removeClass(K.HIDE_CSS_CLASS);
B.removeAttr("checked");
}else{H.removeClass(K.SELECTED_CLASS+" "+K.DISABLED_CLASS);
B.removeAttr("checked");
}}if(A!=K.DISABLED_STATE){mrm.$("."+K.DISIMG_INST_CLASS,H).addClass(K.HIDE_CSS_CLASS);
}if(E!=undefined&&E!="undefined"&&E!=null){G=B.parents("."+K.PARENT_CTR_CLASS);
L=mrm.$("."+K.PRICE_VALUE_CLASS,G);
mrm.$.each(L,function(){if(mrm.$(this).text()!=E){mrm.$(this).text(E);
}});
}}});
});
}this._sendUpdatedMessage(F);
},_addLocalEvents:function(){var B=mrm.$("#"+this._domId);
var A=this;
mrm.$("."+this.EVENT_CSS_CLASS,B).parents("."+this.OPTION_CTR_CLASS).unbind("hover").hover(function(){A.onOptionHover(this,true);
},function(){A.onOptionHover(this,false);
});
}});

var CompareEngineComponent;
CompareEngineComponent=mrm.$.inherit(AbstractCompareComponent,{PROVIDER_URL:"packageCompare"});

var CompareTrimComponent;
CompareTrimComponent=mrm.$.inherit(AbstractCompareComponent,{PROVIDER_URL:"seriesCompare",toggleDetails:function(A){var B=mrm.$(this._getEventTarget(A)).parents("."+this.TOGGLE_CTR_CLASS);
B.toggleClass(this.ACTIVE_CLASS);
this._toggleDetails(this._getEventTarget(A));
},_addLocalEvents:function(){this.__base();
var A=this;
mrm.$("."+this.TOGGLE_LNK_CLASS,mrm.$("#"+this._domId)).unbind("click").click(function(){return false;
}).click(function(B){A.toggleDetails(B);
});
}});

var DetailPriceComponent;
DetailPriceComponent=mrm.$.inherit(AbstractComponent,{PROVIDER_URL:"priceDetail",TRIM_CLASS:"trim",DIMENSION_CLASS:"dimension",ENGINE_CLASS:"engine-transmission",ENGINE_DISCLAIMER_CLASS:"engine-disclaimer",COLOUR_CLASS:"colour",FABRIC_CLASS:"fabric",WHEEL_CLASS:"wheel",PRICE_TOTAL_CLASS:"mds-vc-price-total",PRICE_SUBTOTAL_CLASS:"mds-vc-price-subtotal",PRICE_OPTSUBTOTAL_CLASS:"mds-vc-price-optsubtotal",PRICE_TOTAL_PROTO_ID:"mds-vc-price-total-proto",PRICE_SUBTOTAL_PROTO_ID:"mds-vc-price-subtotal-proto",PRICE_OPTSUBTOTAL_PROTO_ID:"mds-vc-price-optsubtotal-proto",PRICE_LINK_CLASS:"mds-vc-price-link",LABEL_ID_PREFIX:"lb-",ITEM_ALL_CLASS:"mds-vc-price-all",ITEM_ROW_CLASS:"mds-vc-price-item",ADDED_ROW_CLASS:"mds-vc-price-added",REMOVED_ROW_CLASS:"mds-vc-price-removed",ITEM_PROTO_ID:"mds-vc-price-item-proto",ADDED_PROTO_ID:"mds-vc-price-added-proto",REMOVED_PROTO_ID:"mds-vc-price-removed-proto",OPTIONS_SCP_CLASS:"options",ACCESSORIES_SCP_CLASS:"accessories",GRP_ITEM_COUNT_CLASS:"mds-vc-item-count",GRP_TOTAL_ROW_CLASS:"total",TOGGLE_CTR_CLASS:"mds-vc-toggle-ctr",TOGGLE_LNK_CLASS:"mds-vc-toggle-lnk",ADDED_HEADER_CLASS:"mds-vc-added-header",REMOVED_HEADER_CLASS:"mds-vc-removed-header",ADDED_HEADER_SUFFIX:"-added",REMOVED_HEADER_SUFFIX:"-removed",LAST_ADDED_CLASS:"item-change",STANDARD_ADDED_CLASS:"item",REGION_SELECT_CLASS:"mds-vc-price-region",CALC_OPTION_CLASS:"mds-vc-price-calc-option",CALC_OPTION_DEFAULT_VALUE:"false",TOTAL_TYPE:"total",SUBTOTAL_TYPE:"subtotal",OPTSUBTOTAL_TYPE:"optional_subtotal",SCROLL_CTR_ID:"mds-vc-ptr",SCROLL_INNER_ID:"mds-vc-ptr-inner",SCROLL_REF_ID:"mds-vc-config-area",SCROLL_FLOAT_CLASS:"floating",SCROLL_BOTTOM_CLASS:"bottom",LABEL_CLASS:"mds-vc-price-label",TYPE_OPTIONS:"options",TYPE_ACCESSORIES:"accessories",UNHIDE_DELAY:500,TO_DELETE_CLASS:"mds-vc-to-delete",_lastPayload:null,_initialized:false,_optionsFolded:true,_accessoriesFolded:true,init:function(){this._requestProvider(false,true,null);
},toggle:function(B){var A,C;
if(B==this.TYPE_OPTIONS){A=mrm.$("."+this.OPTIONS_SCP_CLASS,mrm.$("#"+this._domId));
C=this._optionsFolded;
}else{if(B==this.TYPE_ACCESSORIES){A=mrm.$("."+this.ACCESSORIES_SCP_CLASS,mrm.$("#"+this._domId));
C=this._accessoriesFolded;
}}if(C){mrm.$("."+this.TOGGLE_CTR_CLASS,A).addClass(this.ACTIVE_CLASS);
}else{mrm.$("."+this.TOGGLE_CTR_CLASS,A).removeClass(this.ACTIVE_CLASS);
}this._initToggleStates();
},scroll:function(){var C=mrm.$(window).scrollTop(),A=mrm.$("#"+this.SCROLL_CTR_ID).offset().top,D=mrm.$("#"+this.SCROLL_REF_ID).height(),B=mrm.$("#"+this.SCROLL_INNER_ID).height();
if(C>A&&D>B&&mrm.$(window).height()>B){if(C<D+mrm.$("#"+this.SCROLL_REF_ID).offset().top-B){mrm.$("#"+this.SCROLL_CTR_ID).addClass(this.SCROLL_FLOAT_CLASS).removeClass(this.SCROLL_BOTTOM_CLASS);
}else{mrm.$("#"+this.SCROLL_CTR_ID).addClass(this.SCROLL_BOTTOM_CLASS).removeClass(this.SCROLL_FLOAT_CLASS);
}}else{mrm.$("#"+this.SCROLL_CTR_ID).removeClass(this.SCROLL_FLOAT_CLASS+" "+this.SCROLL_BOTTOM_CLASS);
}},_init:function(){if(!this._initialized){this._initToggleStates();
this._addEvents();
this._initialized=true;
}else{this._initToggleStates();
}},_afterUpdate:function(B,A){this.__base(B,A);
if(A==true){this._initialized=false;
this._init();
}},_updateJSON:function(K){if(this._dataObject.payload!=undefined&&this._dataObject.payload!="undefined"&&this._dataObject.payload!=null){var N=mrm.$("#"+this._domId);
var O=this;
var L=this._dataObject.payload.priceDetailBean;
this._updatePriceSimple(this.TRIM_CLASS,L.seriesSelection.feature.label,L.seriesSelection.formatted_price,null);
if(L.dimensionSelection!=null&&L.dimensionSelection!=undefined){this._updatePriceSimple(this.DIMENSION_CLASS,L.dimensionSelection.feature.label,null,null);
}this._updatePriceSimple(this.ENGINE_CLASS,L.packageSelection.feature.label,null,null);
if(L.engineDisclaimer!=null&&L.engineDisclaimer!=undefined){var C="<ul>";
mrm.$.each(L.engineDisclaimer,function(){C+="<li>"+this+"</li>";
});
C+="</ul>";
this._updatePriceSimple(this.ENGINE_DISCLAIMER_CLASS,C,null,null);
}this._updatePriceSimple(this.COLOUR_CLASS,L.colorSelection.feature.label,L.colorSelection.formatted_price,null);
this._updatePriceSimple(this.FABRIC_CLASS,L.trimSelection.feature.label,L.trimSelection.formatted_price,null);
if(L.wheelSelection!=null&&L.wheelSelection!=undefined){this._updatePriceSimple(this.WHEEL_CLASS,L.wheelSelection.feature.label,L.wheelSelection.formatted_price,null);
}this._updatePriceGroup(mrm.$("."+this.OPTIONS_SCP_CLASS,N),this.TYPE_OPTIONS);
this._updatePriceGroup(mrm.$("."+this.ACCESSORIES_SCP_CLASS,N),this.TYPE_ACCESSORIES);
var G=1;
var M=1;
var E=1;
var B=0;
var A=[];
var D,I,F,H;
var J;
mrm.$.each(L.configurationTotalPrice,function(){H=mrm.$("."+O.PRICE_TOTAL_CLASS+":not(."+O.PROTOTYPE_ID_CLASS+"), ."+O.PRICE_SUBTOTAL_CLASS+":not(."+O.PROTOTYPE_ID_CLASS+"), ."+O.PRICE_OPTSUBTOTAL_CLASS+":not(."+O.PROTOTYPE_ID_CLASS+")",N);
if(this.name==O.TOTAL_TYPE){G++;
D=mrm.$("."+O.PRICE_TOTAL_CLASS+":eq("+(G-1)+")");
if(D.length==0){D=mrm.$("#"+O.PRICE_TOTAL_PROTO_ID).clone().removeClass(O.PROTOTYPE_ID_CLASS).removeAttr("id");
if(B>0){H.eq(B-1).after(D);
}else{H.eq(0).before(D);
}A.push(D);
}O._updateLabelTitle(D,this.advice);
O._updatePriceSimple(O.PRICE_TOTAL_CLASS,this.label,this["$"],null,G);
B++;
}if(this.name==O.SUBTOTAL_TYPE){M++;
D=mrm.$("."+O.PRICE_SUBTOTAL_CLASS+":eq("+(M-1)+")",N);
if(D.length==0){D=mrm.$("#"+O.PRICE_SUBTOTAL_PROTO_ID).clone().removeClass(O.PROTOTYPE_ID_CLASS).removeAttr("id");
if(B>0){H.eq(B-1).after(D);
}else{H.eq(0).before(D);
}A.push(D);
}O._updateLabelTitle(D,this.advice);
O._updatePriceSimple(O.PRICE_SUBTOTAL_CLASS,this.label,this["$"],null,M);
B++;
}if(this.name==O.OPTSUBTOTAL_TYPE){E++;
I=null;
D=mrm.$("."+O.PRICE_OPTSUBTOTAL_CLASS+":eq("+(E-1)+")",N);
if(D.length==0){D=mrm.$("#"+O.PRICE_OPTSUBTOTAL_PROTO_ID).clone().removeClass(O.PROTOTYPE_ID_CLASS).removeAttr("id");
I=mrm.$("."+O.CALC_OPTION_CLASS,D).removeClass(O.PROTOTYPE_ID_CLASS);
if(B>0){H.eq(B-1).after(D);
}else{H.eq(0).before(D);
}A.push(D);
}O._updateLabelTitle(D,this.advice);
if(I==null){I=mrm.$("."+O.CALC_OPTION_CLASS,mrm.$("."+O.PRICE_OPTSUBTOTAL_CLASS+":eq("+(E-1)+")",N));
}I.attr("name",this.priceCalculationAttributeName);
I.attr("value",(this.priceCalculationAttributeValue!=null&&this.priceCalculationAttributeValue!=undefined)?this.priceCalculationAttributeValue:O.CALC_OPTION_DEFAULT_VALUE);
I.attr("checked",(I.attr("value")==O.CALC_OPTION_DEFAULT_VALUE)?false:true);
F=mrm.$("."+O.PRICE_LINK_CLASS,D);
J=null;
if(F.length>0){if(this.labelLink!=undefined&&this.labelLink!=null){F.attr("href",this.labelLink).removeClass(O.HIDE_CSS_CLASS).html(this.label);
F.siblings().remove();
}else{mrm.$("."+O.LABEL_CLASS,D).append(this.label);
if(!F.hasClass(O.HIDE_CSS_CLASS)){F.addClass(O.HIDE_CSS_CLASS);
}}}else{J=this.label;
}O._updatePriceSimple(O.PRICE_OPTSUBTOTAL_CLASS,J,this["$"],null,E,true);
B++;
}});
if(A.length>0){window.setTimeout(function(){mrm.$("."+O.PRICE_TOTAL_CLASS+":gt("+(G-1)+")",N).remove();
mrm.$("."+O.PRICE_SUBTOTAL_CLASS+":gt("+(M-1)+")",N).remove();
mrm.$("."+O.PRICE_OPTSUBTOTAL_CLASS+":gt("+(E-1)+")",N).remove();
mrm.$.each(A,function(){mrm.$(this).removeClass(O.HIDE_CSS_CLASS);
});
},this.UNHIDE_DELAY);
}else{mrm.$("."+O.PRICE_TOTAL_CLASS+":gt("+(G-1)+")",N).remove();
mrm.$("."+O.PRICE_SUBTOTAL_CLASS+":gt("+(M-1)+")",N).remove();
mrm.$("."+O.PRICE_OPTSUBTOTAL_CLASS+":gt("+(E-1)+")",N).remove();
}this._lastPayload=L;
}this._sendUpdatedMessage(K);
this._init();
},_updateLabelTitle:function(A,C){var B=mrm.$("."+this.LABEL_CLASS,A);
if(B.length>0){if(C!=null&&C!=undefined){if(B.attr("title")!=C){B.removeAttr("title");
B.attr("title",C);
}}else{B.removeAttr("title");
if(B.hasClass(this.TITLE_TOOLTIP_REPLACED)){B.removeClass(this.TITLE_TOOLTIP_REPLACED);
}}}},_updatePriceGroup:function(A,B){var L=this;
var S,K;
var E=0;
var D=0;
var R=0;
var M=[];
var O=[];
var T=[];
var N=null;
if(this._dataObject.payload!=null&&this._dataObject.payload!=undefined){if(B==this.TYPE_OPTIONS){N=this._dataObject.payload.priceDetailBean.optionSelection;
}else{N=this._dataObject.payload.priceDetailBean.accessorySelection;
}}var H=null;
if(this._lastPayload!=null&&this._lastPayload!=undefined){if(B==this.TYPE_OPTIONS){H=this._lastPayload.optionSelection;
}else{H=this._lastPayload.accessorySelection;
}}if(H==null){H=[];
var Q=null;
var P=null;
mrm.$.each(mrm.$("."+L.ITEM_ROW_CLASS,A),function(){Q=new Object();
P=new Object();
P["featureId"]=mrm.$("."+L.EVENT_CSS_CLASS,mrm.$(this)).attr("value");
P["label"]=mrm.$("."+L.LABEL_CLASS,mrm.$(this)).html();
Q["selection-control-id"]=mrm.$("."+L.EVENT_CSS_CLASS,mrm.$(this)).attr("id");
Q["formatted_price"]=mrm.$("."+L.PRICE_VALUE_CLASS,mrm.$(this)).text();
Q["feature"]=P;
H.push(Q);
});
}if((N!=null&&N!=undefined)||(H!=null&&H!=undefined)){var J=mrm.$("."+this.GRP_TOTAL_ROW_CLASS,A).parent();
var G=mrm.$("."+this.ADDED_HEADER_CLASS,A);
var F=mrm.$("."+this.REMOVED_HEADER_CLASS,A);
var I;
if(B==this.TYPE_OPTIONS){I=L.OPTIONS_SCP_CLASS;
}else{I=L.ACCESSORIES_SCP_CLASS;
}var U=null;
if(this._dataObject.payload!=null&&this._dataObject.payload!=undefined){if(B==this.TYPE_OPTIONS){U=this._dataObject.payload.priceDetailBean.optionTotalPrice;
}else{U=this._dataObject.payload.priceDetailBean.accessoryTotalPrice;
}}if(U!=null&&U!=undefined){if(U["$"]!=undefined){if(U.label!=undefined){L._updatePriceSimple(L.GRP_TOTAL_ROW_CLASS,U.label,U["$"],A);
}else{L._updatePriceSimple(L.GRP_TOTAL_ROW_CLASS,null,U["$"],A);
}}}mrm.$("."+this.EVENT_CSS_CLASS,mrm.$("."+this.REMOVED_ROW_CLASS,A)).addClass(this.TO_DELETE_CLASS).removeAttr("id");
if(H!=null&&H!=undefined){mrm.$.each(H,function(){mrm.$("."+L.EVENT_CSS_CLASS+"[value="+this.feature.featureId+"]",mrm.$("."+L.ADDED_ROW_CLASS,A)).addClass(L.TO_DELETE_CLASS).removeAttr("id");
previous=mrm.$("."+L.EVENT_CSS_CLASS+"[value="+this.feature.featureId+"]:not('."+L.TO_DELETE_CLASS+"')",mrm.$("."+L.ITEM_ROW_CLASS,A));
if(previous.length==0){S=mrm.$("#"+L.ITEM_PROTO_ID).clone().removeClass(L.PROTOTYPE_ID_CLASS).removeAttr("id");
mrm.$("."+L.EVENT_CSS_CLASS,S).removeClass(L.PROTOTYPE_ID_CLASS).attr("value",this.feature.featureId).attr("id",this["selection-control-id"]).attr("name",I).removeAttr("disabled");
mrm.$("."+L.LABEL_CLASS,S).html(this.feature.label).attr("id",L.LABEL_ID_PREFIX+this["selection-control-id"]).attr("for",this["selection-control-id"]);
M.push(this.feature.featureId);
L._updateOption(mrm.$("."+L.EVENT_CSS_CLASS,S),this["selection-state"],this.formatted_price,null,L.ITEM_ALL_CLASS);
J.append(S);
O.push(S);
}else{L._updateOption(previous,this["selection-state"],this.formatted_price,null,L.ITEM_ALL_CLASS);
M.push(this.feature.featureId);
}});
}if(N!=null&&N!=undefined){mrm.$.each(N,function(){arrPos=mrm.$.inArray(this.feature.featureId,M);
if(arrPos>=0){S=mrm.$("."+L.EVENT_CSS_CLASS+"[value="+this.feature.featureId+"]",mrm.$("."+L.ITEM_ROW_CLASS,A));
L._updateOption(S,this["selection-state"],this.formatted_price,null,L.ITEM_ALL_CLASS);
M[arrPos]=null;
}else{S=mrm.$("#"+L.ADDED_PROTO_ID).clone().removeClass(L.PROTOTYPE_ID_CLASS).removeAttr("id");
mrm.$("."+L.EVENT_CSS_CLASS,S).removeClass(L.PROTOTYPE_ID_CLASS).attr("value",this.feature.featureId).attr("id",this["selection-control-id"]).attr("name",I+L.ADDED_HEADER_SUFFIX).removeAttr("disabled");
mrm.$("."+L.LABEL_CLASS,S).html(this.feature.label).attr("id",L.LABEL_ID_PREFIX+this["selection-control-id"]).attr("for",this["selection-control-id"]);
L._updateOption(mrm.$("."+L.EVENT_CSS_CLASS,S),this["selection-state"],this.formatted_price,null,L.ITEM_ALL_CLASS);
G.after(S);
O.push(S);
D++;
}E++;
});
}if(H!=null&&H!=undefined){var C;
mrm.$.each(H,function(){C=mrm.$.inArray(this.feature.featureId,M);
if(C>=0){if(M[C]!=null){mrm.$("."+L.EVENT_CSS_CLASS+"[value="+this.feature.featureId+"]",A).addClass(L.TO_DELETE_CLASS).removeAttr("id");
S=mrm.$("#"+L.REMOVED_PROTO_ID).clone().removeClass(L.PROTOTYPE_ID_CLASS).removeAttr("id");
mrm.$("."+L.EVENT_CSS_CLASS,S).removeClass(L.PROTOTYPE_ID_CLASS).attr("value",this.feature.featureId).attr("id",this["selection-control-id"]).attr("name",I+L.REMOVED_HEADER_SUFFIX).attr("disabled",true);
mrm.$("."+L.LABEL_CLASS,S).html(this.feature.label).attr("id",L.LABEL_ID_PREFIX+this["selection-control-id"]).attr("for",this["selection-control-id"]);
L._updateOption(mrm.$("."+L.EVENT_CSS_CLASS,S),L.REMOVED_STATE,this.formatted_price,null,L.ITEM_ALL_CLASS);
F.after(S);
O.push(S);
R++;
}}});
}window.setTimeout(function(){mrm.$("."+L.GRP_ITEM_COUNT_CLASS,A).html(E);
mrm.$("."+L.TO_DELETE_CLASS,A).parents("."+L.ITEM_ALL_CLASS).remove();
mrm.$.each(O,function(){mrm.$(this).removeClass(L.HIDE_CSS_CLASS);
});
if(D>0&&(E-D)>0){mrm.$("."+L.ADDED_ROW_CLASS+":last",A).attr("class",L.LAST_ADDED_CLASS+" "+mrm.$("."+L.ADDED_ROW_CLASS+":last",A).removeClass(L.STANDARD_ADDED_CLASS).attr("class"));
}else{if(R>0&&E>0){mrm.$("."+L.REMOVED_ROW_CLASS+":last",A).attr("class",L.LAST_ADDED_CLASS+" "+mrm.$("."+L.REMOVED_ROW_CLASS+":last",A).removeClass(L.STANDARD_ADDED_CLASS).attr("class"));
}}if(D==0){G.addClass(L.HIDE_CSS_CLASS);
}else{G.removeClass(L.HIDE_CSS_CLASS);
}if(R==0){F.addClass(L.HIDE_CSS_CLASS);
}else{F.removeClass(L.HIDE_CSS_CLASS);
}if(E>0||R>0){A.removeClass(L.HIDE_CSS_CLASS);
}else{if(E==0){A.addClass(L.HIDE_CSS_CLASS);
}}if(E>0&&M.length==0&&(L.TYPE_OPTIONS?L._optionsFolded:L._accessoriesFolded)){L.toggle(B);
}},this.UNHIDE_DELAY);
}},_updatePriceSimple:function(C,E,F,G,D,B){if(G==null||G==undefined){G=mrm.$("#"+this._domId);
}var H=0;
var I="."+C;
if(D!=null&&D!=undefined){I=I+":eq("+(D-1)+")";
}var A=mrm.$(I,G);
if(A.length==1){if(E!=""&&E!=null&&E!="null"&&E!=undefined){mrm.$("."+this.LABEL_CLASS,A).html(E);
H++;
}if(F!=""&&F!=null&&F!="null"&&F!=undefined){mrm.$("."+this.PRICE_VALUE_CLASS,A).html(F);
H++;
}if(H>0&&A.hasClass(this.HIDE_CSS_CLASS)&&!B){A.removeClass(this.HIDE_CSS_CLASS);
}else{if(H==0&&!A.hasClass(this.HIDE_CSS_CLASS)){A.addClass(this.HIDE_CSS_CLASS);
}}}},_initToggleStates:function(){if(mrm.$("."+this.TOGGLE_CTR_CLASS,mrm.$("."+this.OPTIONS_SCP_CLASS,mrm.$("#"+this._domId))).hasClass(this.ACTIVE_CLASS)){this._optionsFolded=false;
}else{this._optionsFolded=true;
}if(mrm.$("."+this.TOGGLE_CTR_CLASS,mrm.$("."+this.ACCESSORIES_SCP_CLASS,mrm.$("#"+this._domId))).hasClass(this.ACTIVE_CLASS)){this._accessoriesFolded=false;
}else{this._accessoriesFolded=true;
}},_addEvents:function(){var A=this;
mrm.$("."+this.TOGGLE_LNK_CLASS,mrm.$("."+this.OPTIONS_SCP_CLASS,mrm.$("#"+this._domId))).unbind("click").click(function(){return false;
}).click(function(){A.toggle(A.TYPE_OPTIONS);
});
mrm.$("."+this.TOGGLE_LNK_CLASS,mrm.$("."+this.ACCESSORIES_SCP_CLASS,mrm.$("#"+this._domId))).unbind("click").click(function(){return false;
}).click(function(){A.toggle(A.TYPE_ACCESSORIES);
});
mrm.$("."+this.TAB_ITM_CLASS,mrm.$("#"+this._domId)).click(function(){if(mrm.$(this).tagName=="A"){return false;
}}).click(function(B){A.updateTabs(B);
});
if(mrm.$("#"+this.SCROLL_CTR_ID).length>0){mrm.$(window).scroll(function(){A.scroll();
});
}}});

var EngineTransmissionComponent;
EngineTransmissionComponent=mrm.$.inherit(AbstractComponent,{PROVIDER_URL:"packageSelection",INSERT_CACHE:true,TRANS_FILTER_SEL_CLASS:"mds-vc-trans-sel",TRANS_FILTER_REF_ATTR:"abbr",PRICE_HEADER_LABEL:"mds-vc-price-label-head",_initialized:false,_transmission:null,_engineFilter:null,init:function(){this._requestProvider(false,true,null);
},toggleDetails:function(A,D){var C=mrm.$(this._getEventTarget(A));
if(this._getEventTarget(A)==undefined||this._getEventTarget(A)==null){C=mrm.$(A);
}var B=C.parents("."+this.TOGGLE_CTR_CLASS);
if(B.length>0){if(D!=undefined&&D==true){B.toggleClass(this.ACTIVE_CLASS,false);
}else{B.toggleClass(this.ACTIVE_CLASS);
}}this._toggleDetails(C,D);
},filter:function(Q,D,K,A){var I=false;
var N=false;
A=this._checkScope(A);
var L,B;
if(Q!=null&Q!=undefined&&Q!="undefined"){var F=mrm.$(this._getEventTarget(Q));
var S=F.find("option:selected").val();
if(F.hasClass(this.FILTER_SEL_CLASS)){L=S;
if(this._transmission!=null){B=this._transmission;
}else{B=K;
}}else{if(this._engineFilter!=null){L=this._engineFilter;
}else{L=D;
}B=S;
}}else{L=D;
B=K;
}if(L==null||L==undefined||L=="undefined"||L==""){I=true;
}if(B==null||B==undefined||B=="undefined"||B==""){N=true;
}if(!I){this._engineFilter=L;
}if(!N){this._transmission=B;
}var H=this;
var M=null;
if(!I){mrm.$.each(mrm.$("."+this.FILTER_CNT_CLASS,A),function(T){if(T==L||L==H.FILTER_DEFAULT_INDEX){if(mrm.$(this).hasClass(H.HIDE_CSS_CLASS)){mrm.$(this).removeClass(H.HIDE_CSS_CLASS);
}}else{if(!mrm.$(this).hasClass(H.HIDE_CSS_CLASS)){mrm.$(this).addClass(H.HIDE_CSS_CLASS);
}var U=mrm.$("."+H.EVENT_CSS_CLASS+"[checked]",mrm.$(this));
if(U.length==1){M=U;
}}});
}if(!N){var C,O,P;
mrm.$.each(mrm.$("."+this.EVENT_CSS_CLASS,A),function(){O=mrm.$(this);
P=O.parents("."+H.OPTION_CTR_CLASS);
C=O.attr(H.TRANS_FILTER_REF_ATTR);
if(C==B||B==H.FILTER_DEFAULT_INDEX){if(P.hasClass(H.HIDE_CSS_CLASS)){P.removeClass(H.HIDE_CSS_CLASS);
}}else{if(!P.hasClass(H.HIDE_CSS_CLASS)){P.addClass(H.HIDE_CSS_CLASS);
}if(O.attr("checked")==true){M=O;
}H.toggleDetails(this,true);
}});
}var G;
mrm.$.each(mrm.$("."+this.FILTER_CNT_CLASS,A),function(){G=false;
if(!mrm.$(this).hasClass(H.HIDE_CSS_CLASS)){G=true;
mrm.$.each(mrm.$("."+H.EVENT_CSS_CLASS,this).parents("."+H.TOGGLE_CTR_CLASS),function(){if(!mrm.$(this).hasClass(H.HIDE_CSS_CLASS)){G=false;
return false;
}});
if(G==true){mrm.$(this).addClass(H.HIDE_CSS_CLASS);
}else{mrm.$(this).removeClass(H.HIDE_CSS_CLASS);
}}});
if(M!=null){var E=null;
var J=null;
var P;
var R;
mrm.$.each(mrm.$("."+this.FILTER_CNT_CLASS,A),function(){var T=mrm.$(this);
if(!T.hasClass(H.HIDE_CSS_CLASS)){mrm.$.each(mrm.$("."+H.EVENT_CSS_CLASS,T),function(){R=mrm.$(this);
P=R.parents("."+H.OPTION_CTR_CLASS);
if(!P.hasClass(H.HIDE_CSS_CLASS)){if(E==null){E=R;
}if(!P.not(M.parents("."+H.OPTION_CTR_CLASS)).length&&J==null){J==R;
}}});
}});
if(J!=null){E=J;
}if(E!=null){E.attr("checked",true).trigger("change");
}else{mds_vc_ErrorController.log("INFO: No selectable option found after filter applied in EngineTransmissionComponent.");
}}},_updateJSON:function(C){this._updateSelectionJSON(C);
if(this._dataObject.payload){var A=mrm.$("."+this.PRICE_HEADER_LABEL,mrm.$("#"+this._domId));
var B=this._dataObject.payload.featureSelectionSet;
if(A.length>0&&B.featureSetPriceLabel!=null&&B.featureSetPriceLabel!=undefined){var D=B.featureSetPriceLabel;
if(A.text()!=D){A.text(D);
}}}},_init:function(A){if(!this._initialized){this._clearFilterStates();
this._initialized=true;
}this._initFilter(A);
},_initFilter:function(D){var C=null;
var A=null;
var B=false;
var G=false;
var E=mrm.$("."+this.FILTER_SEL_CLASS,D).val();
var F=mrm.$("."+this.TRANS_FILTER_SEL_CLASS,D).val();
if(E==this.FILTER_DEFAULT_INDEX&&this._engineFilter!=undefined&&this._engineFilter!="undefined"&&this._engineFilter!=null){A=this._engineFilter;
B=true;
}else{A=F;
}if(F==this.FILTER_DEFAULT_INDEX&&this._transmission!=undefined&&this._transmission!="undefined"&&this._transmission!=null){C=this._transmission;
G=true;
}else{C=F;
}if(C==null){C=this.FILTER_DEFAULT_INDEX;
G=true;
}if(A==null){A=this.FILTER_DEFAULT_INDEX;
B=true;
}if(B){mrm.$("option[value='"+A+"']",mrm.$("."+this.FILTER_SEL_CLASS,D)).attr("selected",true);
}if(G){mrm.$("option[value='"+C+"']",mrm.$("."+this.TRANS_FILTER_SEL_CLASS,D)).attr("selected",true);
}this.filter(null,A,C,D);
},_hookHTML:function(B,A){this.__base(B,A);
this._initialized=false;
this._init(A);
},_addLocalEvents:function(){var B=mrm.$("#"+this._domId);
var A=this;
this.__base();
mrm.$("."+this.TOGGLE_LNK_CLASS,B).unbind("click").click(function(){return false;
}).click(function(C){A.toggleDetails(C);
});
mrm.$("."+this.FILTER_SEL_CLASS+", ."+this.TRANS_FILTER_SEL_CLASS,B).unbind("change").change(function(C){A.filter(C);
});
},_clearFilterStates:function(){this._transmission=null;
this._engineFilter=null;
}});

var ManagedContentComponent;
ManagedContentComponent=mrm.$.inherit(AbstractComponent,{PROVIDER_URL:"managedContent",managed_content_list:null,check_copied_class_prefix:"src_cop_",insert:function(A){this._requestProvider(true,false,true);
},_updateJSON:function(B){try{this.managed_content_list=this._dataObject.payload.managedContentList;
this._moveCmsContent(this.managed_content_list);
}catch(A){mds_vc_ErrorController.log("WARNING: Component "+this._cmpId+" could not fetch manage content list.");
}this._sendUpdatedMessage(B);
},showComponent:function(A){if(this.managed_content_list!=undefined){for(var B=0;
B<this.managed_content_list.managedContent.length;
B++){if(A){mrm.$("#"+this.managed_content_list.managedContent[B].target_id).css("display","none").removeClass(this.HIDE_CSS_CLASS).fadeIn("slow",function(){mrm.$(this).removeAttr("style");
});
}else{mrm.$("#"+this.managed_content_list.managedContent[B].target_id).addClass(this.HIDE_CSS_CLASS);
}}}},_moveCmsContent:function(C){for(var E=0;
E<C.managedContent.length;
E++){var A=mrm.$("#"+C.managedContent[E].source_id);
if(A.length>0){var I=A.children();
if(I.length>0){var H=mrm.$("#"+C.managedContent[E].target_id).attr("class");
var K=false;
if(H.length>0){var B=H.split(" ");
for(var D=0;
D<B.length;
D++){if(B[D].indexOf(this.check_copied_class_prefix)>-1){K=true;
var F=B[D].split(this.check_copied_class_prefix);
var J=F[1];
}}}if(K){if(J==C.managedContent[E].source_id){}else{mrm.$("#"+J).append(mrm.$("#"+C.managedContent[E].target_id).children());
mrm.$("#"+C.managedContent[E].target_id).children().remove();
this._addParamToShoppingLink(C.managedContent[E]);
mrm.$("#"+C.managedContent[E].target_id).append(I);
mrm.$("#"+C.managedContent[E].target_id).removeClass(this.check_copied_class_prefix+J);
mrm.$("#"+C.managedContent[E].target_id).addClass(this.check_copied_class_prefix+C.managedContent[E].source_id);
}}else{this._addParamToShoppingLink(C.managedContent[E]);
mrm.$("#"+C.managedContent[E].target_id).append(I);
mrm.$("#"+C.managedContent[E].target_id).addClass(this.check_copied_class_prefix+C.managedContent[E].source_id);
}}}else{var G=mrm.$("#"+C.managedContent[E].target_id);
G.remove();
mds_vc_ErrorController.log("WARNING: Managed Content CMS source '"+C.managedContent[E].source_id+"' not found and not moved.");
}}},_addParamToShoppingLink:function(A){if(A.addParamToShoppingLink){for(var D=0;
D<A.addParamToShoppingLink.length;
D++){var B=window.getGmdsInAppContent().getContent(A.source_id).getShoppingLink(A.addParamToShoppingLink[D].shoppingLinkKey);
if(B){var C=A.addParamToShoppingLink[D].paramValue;
if("vcBackLink"==C){C=mds_vc_startURL;
}B.addParameter(A.addParamToShoppingLink[D].paramKey,C);
}}}}});

var ImageComponent;
ImageComponent=mrm.$.inherit(AbstractComponent,{PROVIDER_URL:"imageComponent",TYPE_EXT:"ext",TYPE_INT:"int",IMAGE_SMALL_ID:"mds-vc-img-small",IMAGE_LARGE_ID:"mds-vc-img-large",VIEW_CTR_CLASS:"mds-vc-sel-view-ctr",VIEW_EXT_ID:"mds-vc-sel-img-ext",VIEW_INT_ID:"mds-vc-sel-img-int",PERSP_PROTO_ID:"mds-vc-sel-persp-proto",PRESP_CTR_ID:"mds-vc-sel-persp-row-ctr",PERSP_NAME_PREFIX:"mds-vc-sel-persp-",PERSP_NAME_CTR_CLASS:"mds-vc-sel-persp-ctr",PERSP_NAME_LNK_CLASS:"mds-vc-sel-persp-lnk",ZOOM_LNK_LARGE_ID:"mds-vc-lnk-360-large",ZOOM_LNK_SMALL_ID:"mds-vc-lnk-360-small",VIEW_ACTIVE_CLASS:"ui-state-highlight",PERSP_ACTIVE_CLASS:"ui-state-highlight",ZOOM_ACTIVE_CLASS:"ui-state-active",ZOOM_EXT_ID:"mds-vc-sel-zoom-ext",ZOOM_INT_ID:"mds-vc-sel-zoom-int",ZOOM_CNT_CLASS:"mds-vc-zoom-cnt",ZOOM_CLOSE_LNK_CLASS:"mds-vc-zoom-close",ZOOM_LIGHTBOX_ID:"mds-vc-cmp-360flash-zoom",ZOOM_FLASH_EXTERIOR:"mds-vc-zoom-flash-exterior",ZOOM_FLASH_INTERIOR:"mds-vc-zoom-flash-interior",ZOOM_FLASH_EXTERIOR_CONTENT:"mds-vc-zoom-flash-exterior-content",ZOOM_FLASH_INTERIOR_CONTENT:"mds-vc-zoom-flash-interior-content",ZOOM_FLASH_INTERIOR_MOVIE_ID:"gmds-vc-flash-interior-flash-movie",NEXT_LNK_ID:"mds-vc-img-next-lnk",TOGGLE_LNK_ID:"mds-vc-img-toggle-lnk",LEGAL_TEXT_ID:"mds-vc-img-legal",FLASH_EXTERIOR_URL:null,FLASH_EXTERIOR_WIDTH:null,FLASH_EXTERIOR_HEIGHT:null,FLASH_INTERIOR_URL:null,FLASH_INTERIOR_WIDTH:null,FLASH_INTERIOR_HEIGHT:null,ZOOM_LAYER_EXTERIOR_WIDTH:null,ZOOM_LAYER_EXTERIOR_HEIGHT:null,ZOOM_LAYER_INTERIOR_WIDTH:null,ZOOM_LAYER_INTERIOR_HEIGHT:null,ZOOM_LAYER_YPOSITION:null,_extZoomURL:"",_extZoomBackgroundURL:"",_intZoomURL:"",_typeOfLargeImg:"",_curPerspName:null,_myDialog:null,_zoomLayerExteriorHTML:null,_zoomLayerInteriorHTML:null,__construct:function(){try{var A=mds.apps.vc.config.component.image;
this.FLASH_EXTERIOR_URL=A.zoom.flash.exteriorUrl;
this.FLASH_EXTERIOR_WIDTH=A.zoom.flash.exteriorWidth;
this.FLASH_EXTERIOR_HEIGHT=A.zoom.flash.exteriorHeight;
this.FLASH_INTERIOR_URL=A.zoom.flash.interiorUrl;
this.FLASH_INTERIOR_WIDTH=A.zoom.flash.interiorWidth;
this.FLASH_INTERIOR_HEIGHT=A.zoom.flash.interiorHeight;
this.ZOOM_LAYER_EXTERIOR_WIDTH=A.zoom.layer.exteriorWidth;
this.ZOOM_LAYER_EXTERIOR_HEIGHT=A.zoom.layer.exteriorHeight;
this.ZOOM_LAYER_INTERIOR_WIDTH=A.zoom.layer.interiorWidth;
this.ZOOM_LAYER_INTERIOR_HEIGHT=A.zoom.layer.interiorHeight;
this.ZOOM_LAYER_YPOSITION=A.zoom.layer.yOffset;
}catch(B){mds_vc_ErrorController.error(999,"EXCEPTION: Global configuration is corrupt.",B);
}},init:function(){this._typeOfLargeImg=this.TYPE_EXT;
this._addEvents();
this._addLoadAni();
this._rewriteRef();
this.__base();
this._zoomLayerExteriorHTML=mrm.$("#"+this.ZOOM_FLASH_EXTERIOR).html();
this._zoomLayerInteriorHTML=mrm.$("#"+this.ZOOM_FLASH_INTERIOR).html();
},openZoom:function(D){var A,B;
var C=this;
this._removeLoadAnis();
if(this._myDialog==null){this._myDialog=mrm.$("#"+this.ZOOM_LIGHTBOX_ID).dialog({bgiframe:true,resizable:false,zIndex:3999,draggable:false,modal:true,position:["center",this.ZOOM_LAYER_YPOSITION],autoOpen:false,dialogClass:C.DIALOG_NO_TITLE});
}swfobject.switchOffAutoHideShow();
this.changeZoom(D);
},changeZoom:function(E,C){this.resetFlashMovies();
if(!this._myDialog.dialog("isOpen")){this._myDialog.dialog("open");
}if((E==1&&C==true)||(E==1&&this._typeOfLargeImg==this.TYPE_EXT&&C!=true)||(E==0&&this._typeOfLargeImg==this.TYPE_INT&&C!=true)){var A={segmentsLow:"16",segmentsHigh:"24",width:this.FLASH_EXTERIOR_WIDTH,height:this.FLASH_EXTERIOR_HEIGHT,xmlSource:escape(this._intZoomURL)};
var D={menu:"false",scale:"noScale"};
if(swfobject.getObjectById(this.ZOOM_FLASH_INTERIOR_MOVIE_ID)==null){swfobject.embedSWF(mds_vc_baseURL+this.FLASH_INTERIOR_URL,this.ZOOM_FLASH_INTERIOR_CONTENT,this.FLASH_EXTERIOR_WIDTH,this.FLASH_EXTERIOR_HEIGHT,"8.0.0",null,A,D);
}this._myDialog.dialog("option","width",this.ZOOM_LAYER_INTERIOR_WIDTH);
this._myDialog.dialog("option","height",this.ZOOM_LAYER_INTERIOR_HEIGHT);
this._myDialog.dialog("option","position",["center",this.ZOOM_LAYER_YPOSITION]);
mrm.$("#"+this.ZOOM_FLASH_EXTERIOR).addClass(this.HIDE_ACC_CLASS);
mrm.$("#"+this.ZOOM_FLASH_INTERIOR_MOVIE_ID).removeClass(this.HIDE_ACC_CLASS);
if(this._extZoomURL!=null&&this._intZoomURL!=null){mrm.$("#"+this.ZOOM_EXT_ID).removeClass(this.VIEW_ACTIVE_CLASS);
mrm.$("#"+this.ZOOM_INT_ID).addClass(this.VIEW_ACTIVE_CLASS);
}}else{var B=mrm.$("#"+this.ZOOM_FLASH_EXTERIOR_CONTENT).html();
if(B==""||B==null){swfobject.embedSWF(mds_vc_baseURL+this.FLASH_EXTERIOR_URL,this.ZOOM_FLASH_EXTERIOR_CONTENT,this.FLASH_INTERIOR_WIDTH,this.FLASH_INTERIOR_HEIGHT,"8.0.0",null,{backgroundImage:this._extZoomBackgroundURL,mmgUrl:escape(this._extZoomURL),XOffset:0,YOffset:0});
}this._myDialog.dialog("option","width",this.ZOOM_LAYER_EXTERIOR_WIDTH);
this._myDialog.dialog("option","height",this.ZOOM_LAYER_EXTERIOR_HEIGHT);
this._myDialog.dialog("option","position",["center",this.ZOOM_LAYER_YPOSITION]);
mrm.$("#"+this.ZOOM_FLASH_EXTERIOR).removeClass(this.HIDE_ACC_CLASS);
mrm.$("#"+this.ZOOM_FLASH_INTERIOR_MOVIE_ID).addClass(this.HIDE_ACC_CLASS);
if(this._extZoomURL!=null&&this._intZoomURL!=null){mrm.$("#"+this.ZOOM_EXT_ID).addClass(this.VIEW_ACTIVE_CLASS);
mrm.$("#"+this.ZOOM_INT_ID).removeClass(this.VIEW_ACTIVE_CLASS);
}}},resetFlashMovies:function(){if(swfobject.getObjectById(this.ZOOM_FLASH_EXTERIOR_CONTENT)){swfobject.removeSWF(this.ZOOM_FLASH_EXTERIOR_CONTENT);
}if(swfobject.getObjectById(this.ZOOM_FLASH_INTERIOR_CONTENT)){swfobject.removeSWF(this.ZOOM_FLASH_INTERIOR_CONTENT);
}mrm.$("#"+this.ZOOM_FLASH_EXTERIOR).html(this._zoomLayerExteriorHTML);
mrm.$("#"+this.ZOOM_FLASH_INTERIOR).html(this._zoomLayerInteriorHTML);
},closeZoom:function(){this.resetFlashMovies();
this._myDialog.dialog("close");
},changeView:function(A){this._curPerspName=null;
this._typeOfLargeImg=A;
this._checkLinks();
this._changeViewLinks();
this._changePerspLinks();
this._changeActivePerspLink();
this._changeImages();
},changePersp:function(B){if(B==null||B==undefined||B==""){var D,C;
if(this._typeOfLargeImg==this.TYPE_EXT){D=this._dataObject.payload.configurationResult.exteriorImageViewSet.viewSet.namedView;
}else{D=this._dataObject.payload.configurationResult.interiorImageViewSet.viewSet.namedView;
}var E=false;
var A=this;
B=null;
mrm.$.each(D,function(){if(E==true){B=A._typeOfLargeImg+this.name;
return false;
}if(A._curPerspName==A._typeOfLargeImg+this.name||A._curPerspName==null){E=true;
}});
if(E==true&&B==null){B=this._typeOfLargeImg+D[0].name;
}this._changePerspLinks();
}this._curPerspName=B;
this._changeActivePerspLink();
this._changeImages();
},toggle:function(){if(this._typeOfLargeImg==this.TYPE_EXT){this.changeView(this.TYPE_INT);
}else{this.changeView(this.TYPE_EXT);
}},_updateJSON:function(A){this._init360();
this._checkLinks();
this._changePerspLinks();
this._changeActivePerspLink();
this._changeImages();
this._updateDisclaimer();
this._sendUpdatedMessage(A);
},_addEvents:function(){var A=this;
mrm.$("#"+this.ZOOM_LNK_LARGE_ID).unbind("click").click(function(){return false;
}).click(function(){A.openZoom(0);
});
mrm.$("#"+this.ZOOM_LNK_SMALL_ID).unbind("click").click(function(){return false;
}).click(function(){A.openZoom(1);
});
mrm.$("."+this.ZOOM_CLOSE_LNK_CLASS).unbind("click").click(function(){return false;
}).click(function(){A.closeZoom();
});
mrm.$("#"+this.ZOOM_EXT_ID).unbind("click").click(function(){return false;
}).click(function(){A.changeZoom(0,true);
});
mrm.$("#"+this.ZOOM_INT_ID).unbind("click").click(function(){return false;
}).click(function(){A.changeZoom(1,true);
});
mrm.$("#"+this.VIEW_EXT_ID).unbind("click").click(function(){return false;
}).click(function(){A.changeView(A.TYPE_EXT);
});
mrm.$("#"+this.VIEW_INT_ID).unbind("click").click(function(){return false;
}).click(function(){A.changeView(A.TYPE_INT);
});
mrm.$("#"+this.TOGGLE_LNK_ID).unbind("click").click(function(){return false;
}).click(function(){A.toggle();
});
mrm.$("#"+this.NEXT_LNK_ID).unbind("click").click(function(){return false;
}).click(function(){A.changePersp(null);
});
},_rewriteRef:function(A){if(A==null||A==undefined){A=mrm.$("#"+this._domId);
}var B=mrm.$("#"+this.IMAGE_LARGE_ID);
var C=mrm.$("#"+this.IMAGE_SMALL_ID);
if(B.attr("rel")!=null&&B.attr("rel")!=undefined&&B.attr("rel")!=""){B.attr("src",B.attr("rel"));
}if(C.attr("rel")!=null&&C.attr("rel")!=undefined&&C.attr("rel")!=""){C.attr("src",C.attr("rel"));
}},_updateDisclaimer:function(){var A=this._dataObject.payload.configurationResult.exteriorImageViewSet.disclaimer;
if(A!=undefined&&A!=null){mrm.$("#"+this.LEGAL_TEXT_ID).text(A);
}else{mrm.$("#"+this.LEGAL_TEXT_ID).text("");
}},_changeViewLinks:function(){if(this._typeOfLargeImg==this.TYPE_EXT){mrm.$("#"+this.VIEW_EXT_ID).parents("."+this.VIEW_CTR_CLASS).addClass(this.VIEW_ACTIVE_CLASS);
mrm.$("#"+this.VIEW_INT_ID).parents("."+this.VIEW_CTR_CLASS).removeClass(this.VIEW_ACTIVE_CLASS);
}else{mrm.$("#"+this.VIEW_EXT_ID).parents("."+this.VIEW_CTR_CLASS).removeClass(this.VIEW_ACTIVE_CLASS);
mrm.$("#"+this.VIEW_INT_ID).parents("."+this.VIEW_CTR_CLASS).addClass(this.VIEW_ACTIVE_CLASS);
}},_changePerspLinks:function(){if(this._dataObject.payload!=null&&this._dataObject.payload!=undefined){var D=this;
var E;
var B;
if(this._typeOfLargeImg==this.TYPE_EXT){E=this._dataObject.payload.configurationResult.exteriorImageViewSet.viewSet.namedView;
B=this.TYPE_EXT;
}else{E=this._dataObject.payload.configurationResult.interiorImageViewSet.viewSet.namedView;
B=this.TYPE_INT;
}var A=[];
var C=0;
mrm.$.each(E,function(){C++;
});
if(C>1){var G=true;
mrm.$.each(E,function(){A.push(D.PERSP_NAME_PREFIX+B+this.name);
var I=mrm.$("#"+D.PERSP_NAME_PREFIX+B+this.name);
if(I.attr("id")){I.removeClass(D.HIDE_CSS_CLASS);
}else{I=mrm.$("#"+D.PERSP_PROTO_ID).clone().removeAttr("id").attr("id",D.PERSP_NAME_PREFIX+B+this.name);
mrm.$("."+D.PERSP_NAME_LNK_CLASS,I).text(this.label);
I.removeClass(D.HIDE_CSS_CLASS);
mrm.$("#"+D.PRESP_CTR_ID).append(I);
}var H=this;
mrm.$("."+D.PERSP_NAME_LNK_CLASS,I).unbind("click").click(function(){return false;
}).click(function(){D.changePersp(B+H.name);
});
});
if(mrm.$("#"+D.PRESP_CTR_ID).hasClass(D.HIDE_CSS_CLASS)){mrm.$("#"+D.PRESP_CTR_ID).removeClass(D.HIDE_CSS_CLASS);
}}else{if(!mrm.$("#"+D.PRESP_CTR_ID).hasClass(D.HIDE_CSS_CLASS)){mrm.$("#"+D.PRESP_CTR_ID).addClass(D.HIDE_CSS_CLASS);
}}var F;
mrm.$.each(mrm.$("."+D.PERSP_NAME_CTR_CLASS),function(){if(mrm.$.inArray(this.id,A)<0){F=mrm.$(this);
F.parent().append(F);
F.addClass(D.HIDE_CSS_CLASS);
}});
}},_changeActivePerspLink:function(){var A=this;
var B=false;
mrm.$.each(mrm.$("."+this.PERSP_NAME_CTR_CLASS+":visible"),function(){if(mrm.$(this).attr("id")==A.PERSP_NAME_PREFIX+A._curPerspName){B=true;
mrm.$(this).addClass(A.PERSP_ACTIVE_CLASS);
}else{mrm.$(this).removeClass(A.PERSP_ACTIVE_CLASS);
}});
if(!B||this._curPerspName==""||this._curPerspName==null){mrm.$("."+this.PERSP_NAME_CTR_CLASS+":visible:first").addClass(this.PERSP_ACTIVE_CLASS);
}},_init360:function(){this._intZoomURL=null;
this._extZoomURL=null;
if(this._dataObject.payload!=null&&this._dataObject.payload!=undefined){var B=this;
var A=this._dataObject.payload.configurationResult.interiorImageViewSet.namedView;
mrm.$.each(A,function(){if(this.name=="zoom_360"){B._intZoomURL=this["$"];
}});
A=this._dataObject.payload.configurationResult.exteriorImageViewSet.namedView;
mrm.$.each(A,function(){if(this.name=="zoom_360"){B._extZoomURL=this["$"];
}});
mrm.$.each(A,function(){if(this.name=="zoom_360_background"){B._extZoomBackgroundURL=this["$"];
}});
}},_changeImages:function(){if(this._dataObject.payload!=null&&this._dataObject.payload!=undefined){var I,G,D;
var C=null;
if(this._typeOfLargeImg==this.TYPE_EXT){I=this._dataObject.payload.configurationResult.exteriorImageViewSet.viewSet;
D=this._dataObject.payload.configurationResult.interiorImageViewSet.namedView;
if(D!=null&&D!=undefined){mrm.$.each(D,function(){if(this.name=="small"){C=this["$"];
}});
}G=this.TYPE_EXT;
}else{I=this._dataObject.payload.configurationResult.interiorImageViewSet.viewSet;
D=this._dataObject.payload.configurationResult.exteriorImageViewSet.namedView;
if(D!=null&&D!=undefined){mrm.$.each(D,function(){if(this.name=="small"){C=this["$"];
}});
}G=this.TYPE_INT;
}var F;
var H=this;
var A;
mrm.$.each(I.namedView,function(){A=G+this.name;
if(H._curPerspName==null||H._curPerspName==A){F=this;
return false;
}});
var B=mrm.$("#"+this.IMAGE_LARGE_ID);
var E=mrm.$("#"+this.IMAGE_SMALL_ID);
if(B.length>0&&E.length>0){if(B.attr("src")!=F["$"]||(E.attr("src")!=C&&C!=null)){this._removeLoadAnis();
}if(B.attr("src")!=F["$"]){B.preload(this._getLoadAniClone(),this.HIDE_ACC_CLASS).attr("src",F["$"]);
}if(E.attr("src")!=C&&C!=null){E.preload(this._getLoadAniClone(),this.HIDE_ACC_CLASS).attr("src",C);
}}}},_addLoadAni:function(){var A=mrm.$("#"+this.IMAGE_LARGE_ID);
if(A.length>0){A.preload(this._getLoadAniClone(),this.HIDE_ACC_CLASS,true);
}var B=mrm.$("#"+this.IMAGE_SMALL_ID);
if(B.length>0){B.preload(this._getLoadAniClone(),this.HIDE_ACC_CLASS,true);
}},_checkLinks:function(){var G=mrm.$("#"+this.VIEW_EXT_ID).parents("."+this.VIEW_CTR_CLASS);
var I=mrm.$("#"+this.VIEW_INT_ID).parents("."+this.VIEW_CTR_CLASS);
var F=this._dataObject.payload.configurationResult;
var A=false;
var E=0;
if(F.interiorImageViewSet!=null&&F.interiorImageViewSet!=undefined){var H=F.interiorImageViewSet.viewSet;
if(H!=null&&H!=undefined){if(H.namedView!=null&&H.namedView!=undefined){mrm.$.each(H.namedView,function(){E++;
});
if(E>0){A=true;
}}}}var D=0;
if(F.exteriorImageViewSet!=null&&F.exteriorImageViewSet!=undefined){H=F.exteriorImageViewSet.viewSet;
if(H!=null&&H!=undefined){if(H.namedView!=null&&H.namedView!=undefined){mrm.$.each(H.namedView,function(){D++;
});
}}}if(A&&G.length>0&&I.length>0){if(G.hasClass(this.HIDE_CSS_CLASS)){G.removeClass(this.HIDE_CSS_CLASS);
}if(I.hasClass(this.HIDE_CSS_CLASS)){I.removeClass(this.HIDE_CSS_CLASS);
}}else{if(G.length>0&&I.length>0){if(!G.hasClass(this.HIDE_CSS_CLASS)){G.addClass(this.HIDE_CSS_CLASS);
}if(!I.hasClass(this.HIDE_CSS_CLASS)){I.addClass(this.HIDE_CSS_CLASS);
}}}var C=mrm.$("#"+this.TOGGLE_LNK_ID);
var B=mrm.$("#"+this.IMAGE_SMALL_ID);
if(C.length>0&&B.length>0){if(A){if(C.hasClass(this.HIDE_CSS_CLASS)){C.removeClass(this.HIDE_CSS_CLASS);
}if(B.parents("#"+this.TOGGLE_LNK_ID).length==0){C.append(B);
}}else{if(B.parents("#"+this.TOGGLE_LNK_ID).length>=0){C.before(B);
}if(!C.hasClass(this.HIDE_CSS_CLASS)){C.addClass(this.HIDE_CSS_CLASS);
}}}C=mrm.$("#"+this.NEXT_LNK_ID);
B=mrm.$("#"+this.IMAGE_LARGE_ID);
if(C.length>0&&B.length>0){if(E>1&&this._typeOfLargeImg==this.TYPE_INT||this._typeOfLargeImg==this.TYPE_EXT&&D>1){if(C.hasClass(this.HIDE_CSS_CLASS)){C.removeClass(this.HIDE_CSS_CLASS);
}if(B.parents("#"+this.NEXT_LNK_ID).length==0){C.append(B);
}}else{if(B.parents("#"+this.NEXT_LNK_ID).length>=0){C.before(B);
}if(!C.hasClass(this.HIDE_CSS_CLASS)){C.addClass(this.HIDE_CSS_CLASS);
}}}this._check360links();
},_check360links:function(){var C=mrm.$("#"+this.ZOOM_LNK_LARGE_ID);
var B=mrm.$("#"+this.ZOOM_LNK_SMALL_ID);
if((this._intZoomURL!=null&&this._typeOfLargeImg==this.TYPE_EXT)||(this._typeOfLargeImg==this.TYPE_INT&&this._extZoomURL!=null)){if(B.hasClass(this.HIDE_CSS_CLASS)){B.removeClass(this.HIDE_CSS_CLASS);
}}else{if(!B.hasClass(this.HIDE_CSS_CLASS)){B.addClass(this.HIDE_CSS_CLASS);
}}if((this._extZoomURL!=null&&this._typeOfLargeImg==this.TYPE_EXT)||(this._typeOfLargeImg==this.TYPE_INT&&this._intZoomURL!=null)){if(C.hasClass(this.HIDE_CSS_CLASS)){C.removeClass(this.HIDE_CSS_CLASS);
}}else{if(!C.hasClass(this.HIDE_CSS_CLASS)){C.addClass(this.HIDE_CSS_CLASS);
}}var A=mrm.$("#"+this.ZOOM_EXT_ID);
var D=mrm.$("#"+this.ZOOM_INT_ID);
if(this._extZoomURL!=null&&this._intZoomURL!=null){if(A.hasClass(this.HIDE_CSS_CLASS)){A.removeClass(this.HIDE_CSS_CLASS);
}if(D.hasClass(this.HIDE_CSS_CLASS)){D.removeClass(this.HIDE_CSS_CLASS);
}}else{if(!A.hasClass(this.HIDE_CSS_CLASS)){A.addClass(this.HIDE_CSS_CLASS);
}if(!D.hasClass(this.HIDE_CSS_CLASS)){D.addClass(this.HIDE_CSS_CLASS);
}}}});

var LegalInformationComponent;
LegalInformationComponent=mrm.$.inherit(AbstractComponent,{PROVIDER_URL:"legalDisclaimer",INSERT_CACHE:true,init:function(){this._requestProvider(false,true,null);
},refresh:function(){this._requestProvider(false,true,null);
},_requestProvider:function(B,A,C){if(A==true){this.__base(B,A,C);
}else{this._requestCallback({"payload":"dummy","type":"json"},C,false,false);
}},_updateJSON:function(A){this._sendUpdatedMessage(A);
}});

var LocateNewVehicleComponent;
LocateNewVehicleComponent=mrm.$.inherit(AbstractComponent,{PROVIDER_URL:"lnvComponent",DEFAULT_ELEMENTS_CLASS:"mds-vc-cmp-lnv-default",FALLBACK_ELEMENTS_CLASS:"mds-vc-cmp-lnv-fallback",FOREIGN_ELEMENTS_CLASS:"mds-vc-cmp-lnv-foreign",_serviceQuery:null,insert:function(A){this._requestProvider(true,false,true);
},_updateJSON:function(E){var C=null;
try{C=this._dataObject.payload.lnv_component.lnv_request_uri;
}catch(D){mds_vc_ErrorController.log("WARNING: Component "+this._cmpId+" could not fetch the service URI from the components payload.");
}if(C!=this._serviceQuery&&C!=null&&typeof (C)=="string"){var B=mrm.$("#"+this._domId);
mrm.$("."+this.FOREIGN_ELEMENTS_CLASS,B).remove();
var A=this;
mrm.$.each(mrm.$("."+this.DEFAULT_ELEMENTS_CLASS,B),function(){if(mrm.$(this).hasClass(A.HIDE_CSS_CLASS)){mrm.$(this).removeClass(A.HIDE_CSS_CLASS);
}});
this._serviceQuery=C;
this._afterUpdate(E,false);
}else{if(C!=this._serviceQuery||C==null){this._reset();
}}this._sendUpdatedMessage(E);
},_afterUpdate:function(E,C){var B=false;
if(this._serviceQuery!=null){var A=this;
try{mrm.$.ajax({global:false,type:"GET",url:A._serviceQuery,dataType:"html",success:function(F,G){A._callback(F);
},error:function(F,H,G){A._fallback();
}});
}catch(D){mds_vc_ErrorController.error(999,"EXCEPTION: XmlHttpRequest in component "+A._cmpId+" failed.",D);
}}else{this._fallback();
}this.__base(E,C);
},_callback:function(F){var E=mrm.$("#"+this._domId);
var B=this;
var A=mrm.$("."+this.DEFAULT_ELEMENTS_CLASS,E);
E.after("<div>");
var D=E.next("div:eq(0)").addClass(this.HIDE_CSS_CLASS).append(F);
var C=D.children().addClass(this.FOREIGN_ELEMENTS_CLASS);
E.prepend(C);
mrm.$.each(A,function(){if(!mrm.$(this).hasClass(B.HIDE_CSS_CLASS)){mrm.$(this).addClass(B.HIDE_CSS_CLASS);
}});
C.removeClass(this.HIDE_CSS_CLASS);
D.remove();
},_fallback:function(){var B=mrm.$("#"+this._domId);
var A=this;
mrm.$.each(mrm.$("."+this.DEFAULT_ELEMENTS_CLASS,B),function(){if(!mrm.$(this).hasClass(A.HIDE_CSS_CLASS)){mrm.$(this).addClass(A.HIDE_CSS_CLASS);
}});
mrm.$.each(mrm.$("."+this.FALLBACK_ELEMENTS_CLASS,B),function(){if(mrm.$(this).hasClass(A.HIDE_CSS_CLASS)){mrm.$(this).removeClass(A.HIDE_CSS_CLASS);
}});
},_reset:function(){var B=mrm.$("#"+this._domId);
var A=this;
mrm.$.each(mrm.$("."+this.FALLBACK_ELEMENTS_CLASS,B),function(){if(!mrm.$(this).hasClass(A.HIDE_CSS_CLASS)){mrm.$(this).addClass(A.HIDE_CSS_CLASS);
}});
mrm.$.each(mrm.$("."+this.DEFAULT_ELEMENTS_CLASS,B),function(){if(!mrm.$(this).hasClass(A.HIDE_CSS_CLASS)){mrm.$(this).addClass(A.HIDE_CSS_CLASS);
}});
mrm.$("."+this.FOREIGN_ELEMENTS_CLASS,B).remove();
}});

var CompareLegalComponent;
CompareLegalComponent=mrm.$.inherit(AbstractComponent,{PROVIDER_URL:"legalDisclaimer",INSERT_CACHE:true,init:function(){this._requestProvider(false,true,null);
},refresh:function(){this._requestProvider(false,true,null);
},_requestProvider:function(B,A,C){if(A==true){this.__base(B,A,C);
}else{this._requestCallback({"payload":"dummy","type":"json"},C,false,false);
}},_updateJSON:function(A){this._sendUpdatedMessage(A);
}});

var OptionsComponent;
OptionsComponent=mrm.$.inherit(AbstractComponent,{PROVIDER_URL:"optionSelection",INSERT_CACHE:true,init:function(){this._requestProvider(false,true,null);
},insert:function(A){this._killZooms();
this.__base(A);
},onOptionChange:function(A){},_updateJSON:function(A){this._updateOptionJSON(A);
},_addLocalEvents:function(){var B=mrm.$("#"+this._domId);
var A=this;
this.__base();
mrm.$("."+this.TAB_ITM_CLASS,mrm.$("#"+this._domId)).click(function(){return false;
}).click(function(C){A.updateTabs(C);
});
mrm.$("."+this.TOGGLE_LNK_CLASS,B).unbind("click").click(function(){return false;
}).click(function(C){A.toggleDetails(C);
});
this._initZooms();
mrm.$("."+this.IMG_ZOOM_LNK_CLASS,B).unbind("click").click(function(){return false;
}).click(function(C){A.zoomImage(C);
});
}});

var SummaryComponent;
SummaryComponent=mrm.$.inherit(AbstractComponent,{PROVIDER_URL:"summary",ADDTHIS_LNK_ID:"mds-vc-addthis-lnk",PRINT_LINK_ID:"mds-vc-print-lnk",init:function(){this._requestProvider(false,true,null);
},showComponent:function(A){this.__base(A);
if(A){this._initAddthis();
}},_addLocalEvents:function(){var B=mrm.$("#"+this._domId);
var A=this;
mrm.$("."+this.OPTION_CTR_CLASS,B).unbind("hover").hover(function(){A.onOptionHover(this,true);
},function(){A.onOptionHover(this,false);
});
mrm.$("."+this.TOGGLE_LNK_CLASS,B).unbind("click").click(function(){return false;
}).click(function(C){A.toggleDetails(C);
});
},_initAddthis:function(){try{if(mrm.$("#"+this.ADDTHIS_LNK_ID).length>0){var B=mrm.$("#"+this.ADDTHIS_LNK_ID);
if(B.attr("addthis:url").substr(0,4)!="http"){B.attr("addthis:url",document.location.protocol+"//"+document.location.host+B.attr("addthis:url"));
}addthis.button("#"+this.ADDTHIS_LNK_ID);
}}catch(C){var A=this;
window.setTimeout(function(){A._initAddthis();
},2500);
}}});

var TotalPriceComponent;
TotalPriceComponent=mrm.$.inherit(AbstractComponent,{PROVIDER_URL:"priceTotal",init:function(){this._requestProvider(false,true,null);
},refresh:function(){this._requestProvider(false,true,null);
}});

var TrimsSeriesComponent;
TrimsSeriesComponent=mrm.$.inherit(AbstractComponent,{PROVIDER_URL:"seriesSelection",INSERT_CACHE:true,_initialized:false,_infoFilter:null,init:function(){this._requestProvider(false,true,null);
},filter:function(C,A,B){this.__base(C,A,B);
if(C!="undefined"&&C!=undefined&&C!=null){this._infoFilter=mrm.$(this._getEventTarget(C)).find("option:selected").val();
}},onOptionChange:function(A){this.__base(A);
this._infoFilter=null;
this.information(A);
},_updateJSON:function(A){this._updateSelectionJSON(A);
},_hookHTML:function(B,A){this.__base(B,A);
this._initialized=false;
this._init(A);
},_init:function(A){A=this._checkScope(A);
if(!this._initialized){this._infoFilter=null;
this._initialized=true;
}var B=null;
mrm.$.each(mrm.$("."+this.EVENT_CSS_CLASS,A),function(C){if(mrm.$(this).attr("checked")==true){B=C;
return false;
}});
if(B!=null){A=mrm.$("."+this.INFO_CNT_CLASS+":eq("+B+")",A);
}this._initFilter(this._infoFilter,A);
},_addLocalEvents:function(){this.__base();
var A=this;
mrm.$("."+this.FILTER_SEL_CLASS,mrm.$("#"+this._domId)).unbind("change").change(function(B){A.filter(B);
});
}});

