(function(n,t){t.SearchState=function(){var t={},i=function(i){var r=JSON.parse(i);typeof r=="object"&&(t=n.extend(t,r))},r=function(){return JSON.stringify(t)},u=function(i,r){t[n(i).attr("id")]=r},f=function(i,r){var u=t[n(i).attr("id")];return u?u[n(r).attr("id")]:""};return{setStateObjectFromJsonString:i,getStateObjectInJson:r,setFormValue:u,getFormValue:f}}()})(jQuery,window.RB||(window.RB={})),function(n,t){t.SelectListUtility=function(){var t={defaultText:"All",ctrl:"",url:"",isModelCtrl:!1},u=function(i){n.extend(t,i)},r=function(n,t){n.options[0]=new Option(t,"")},i=function(n){for(var t=n.options.length-1;t>=0;t--)n.options[t]=null},f=function(){var u=n(t.ctrl)[0];i(u);r(u,t.defaultText)},e=function(i,r){n(t.ctrl).html("<option>LOADING<\/option>");n(t.ctrl).attr("disabled",!0);n.getJSON(t.url,function(u){o(n(t.ctrl),u,i);n(t.ctrl).removeAttr("disabled");r&&r()})},o=function(u,f,e){var o=u[0];i(o);r(o,t.defaultText);n.each(f,function(i,r){var u=new Option(r.Label,r.Value);n(u).html(r.Label.replace(/ /g,"&nbsp;"));t.modelCtrl&&(n(u).attr("data-marketing-group",r.MarketingGroup),n(u).attr("data-model",r.Model));o.options[i+1]=u});e&&n(o).val(e)};return{init:u,loadItems:e,emptyList:i,resetList:f}}}(jQuery,window.RB||(window.RB={})),function(n,t){t.CarSearchForm=function(){var i={container:"",makeUrl:"/cars/makes",modelUrl:"/cars/models-list",defaultMakeText:"All Makes",defaultModelText:"All Models",makeCtrl:"",modelCtrl:"",currentReleaseOnly:!1},u=function(u){n.extend(i,u);o();f();n(i.modelCtrl).change(function(){var t=n(this).find(":selected").attr("data-marketing-group"),r=n(this).find(":selected").attr("data-model");n(i.container+" #MarketingGroup").val(t);n(i.container+" #Model").val(r)});var e=new t.SelectListUtility;e.init({ctrl:i.makeCtrl,url:i.makeUrl+"?currentReleaseOnly="+i.currentReleaseOnly,defaultText:i.defaultMakeText});e.loadItems(t.SearchState.getFormValue(i.container,i.makeCtrl),r)},f=function(){n(i.makeCtrl).change(r);n(i.container+" form").submit(function(){e()})},e=function(){var r={};n(i.container+" select").each(function(t,i){r[n(i).attr("id")]=i.options[i.selectedIndex].value});t.SearchState.setFormValue(i.container,r);window.location.hash=t.SearchState.getStateObjectInJson()},r=function(){var u=n(i.makeCtrl)[0],f=u.options[u.selectedIndex].value,r=new t.SelectListUtility,e=i.modelUrl+"?make="+f+"&currentReleaseOnly="+i.currentReleaseOnly;if(r.init({url:e,ctrl:i.modelCtrl,defaultText:i.defaultModelText,modelCtrl:!0}),f==""){r.resetList();return}r.loadItems(t.SearchState.getFormValue(i.container,i.modelCtrl))},o=function(){var n=window.location.hash.replace("#","");n&&t.SearchState.setStateObjectFromJsonString(n)};return{init:u}}}(jQuery,window.RB||(window.RB={})),function(n,t){t.BikeSearchForm=function(){var i={container:"",makeUrl:"/bikes/makes",modelUrl:"/bikes/models-list",defaultMakeText:"All Makes",defaultModelText:"All Models",makeCtrl:"",modelCtrl:"",currentReleaseOnly:!1},u=function(u){n.extend(i,u);o();f();n(i.modelCtrl).change(function(){var t=n(this).find(":selected").attr("data-marketing-group"),r=n(this).find(":selected").attr("data-model");n(i.container+" #MarketingGroup").val(t);n(i.container+" #Model").val(r)});var e=new t.SelectListUtility;e.init({ctrl:i.makeCtrl,url:i.makeUrl+"?currentReleaseOnly="+i.currentReleaseOnly,defaultText:i.defaultMakeText});e.loadItems(t.SearchState.getFormValue(i.container,i.makeCtrl),r)},f=function(){n(i.makeCtrl).change(r);n(i.container+" form").submit(function(){e()})},e=function(){var r={};n(i.container+" select").each(function(t,i){r[n(i).attr("id")]=i.options[i.selectedIndex].value});t.SearchState.setFormValue(i.container,r);window.location.hash=t.SearchState.getStateObjectInJson()},r=function(){var u=n(i.makeCtrl)[0],f=u.options[u.selectedIndex].value,r=new t.SelectListUtility,e=i.modelUrl+"?make="+f+"&currentReleaseOnly="+i.currentReleaseOnly;if(r.init({url:e,ctrl:i.modelCtrl,defaultText:i.defaultModelText,modelCtrl:!0}),f==""){r.resetList();return}r.loadItems(t.SearchState.getFormValue(i.container,i.modelCtrl))},o=function(){var n=window.location.hash.replace("#","");n&&t.SearchState.setStateObjectFromJsonString(n)};return{init:u}}}(jQuery,window.RB||(window.RB={})),function(n,t){t.BoatSearchForm=function(){var i={container:"",segmentUrl:"/boats/segments",defaultSegmentText:"All Segments",makeUrl:"/boats/makes",defaultMakeText:"All Makes",segmentCtrl:"",makeCtrl:"",currentReleaseOnly:!1},u=function(u){var e,s;n.extend(i,u);o();f();e=new t.SelectListUtility;e.init({ctrl:i.segmentCtrl,url:i.segmentUrl,defaultText:i.defaultSegmentText});s=new t.SelectListUtility;s.init({ctrl:i.makeCtrl,url:i.makeUrl,defaultText:i.defaultMakeText});e.loadItems(t.SearchState.getFormValue(i.container,i.segmentCtrl),r);s.loadItems(t.SearchState.getFormValue(i.container,i.makeCtrl))},f=function(){n(i.segmentCtrl).change(r);n(i.container+" form").submit(function(){e()})},e=function(){var r={};n(i.container+" select").each(function(t,i){r[n(i).attr("id")]=i.options[i.selectedIndex].value});t.SearchState.setFormValue(i.container,r);window.location.hash=t.SearchState.getStateObjectInJson()},r=function(){var r=n(i.segmentCtrl)[0],f=r.options[r.selectedIndex].value,u=new t.SelectListUtility,e=i.makeUrl+"?Segment="+f+"&currentReleaseOnly="+i.currentReleaseOnly;u.init({url:e,ctrl:i.makeCtrl,defaultText:i.defaultModelText,makeCtrl:!0});u.loadItems(t.SearchState.getFormValue(i.container,i.makeCtrl))},o=function(){var n=window.location.hash.replace("#","");n&&t.SearchState.setStateObjectFromJsonString(n)};return{init:u}}}(jQuery,window.RB||(window.RB={})),function(n,t){t.BikeCompareSearchForm=function(){var i={container:"",makeUrl:"/boats/makes",modelUrl:"/boats/compare-models-list",yearUrl:"/boats/years",versionUrl:"/boats/versions",descriptionUrl:"/boats/descriptions",executeSearchUrl:"/boats/compare-search/execute",defaultMakeText:"(Please select a make...)",defaultModelText:"(Please select a model...)",defaultYearText:"(Please select a year...)",defaultVersionText:"(Please select a version...)",defaultDescriptionText:"(Please select a description...)",makeCtrl:"",modelCtrl:"",yearCtrl:"",versionCtrl:"",descriptionCtrl:""},h=function(r){n.extend(i,r);w();c();var u=new t.SelectListUtility;u.init({ctrl:i.makeCtrl,url:i.makeUrl,defaultText:i.defaultMakeText});u.loadItems(t.SearchState.getFormValue(i.container,i.makeCtrl),s)},e,o,f,u,r,c=function(){e=n(i.makeCtrl);o=n(i.modelCtrl);f=n(i.yearCtrl);u=n(i.versionCtrl);r=n(i.descriptionCtrl);e.change(s);o.change(a);f.change(v);u.change(y);r.change(p);n(i.container+" form").submit(function(){l()})},l=function(){var r={};n(i.container+" select").each(function(t,i){r[n(i).attr("id")]=i.options[i.selectedIndex].value});t.SearchState.setFormValue(i.container,r);window.location.hash=t.SearchState.getStateObjectInJson()},s=function(){var o=n(i.makeCtrl)[0],s=o.options[o.selectedIndex].value,e=new t.SelectListUtility,h=i.modelUrl+"?make="+s;if(e.init({url:h,ctrl:i.modelCtrl,defaultText:i.defaultModelText}),s==""){e.resetList();return}f.val("");u.val("");r.val("");e.loadItems(t.SearchState.getFormValue(i.container,i.modelCtrl))},a=function(){var e=n(i.makeCtrl)[0],o=n(i.modelCtrl)[0],s=e.options[e.selectedIndex].value,h=o.options[o.selectedIndex].value,f=new t.SelectListUtility,c=i.yearUrl+"?make="+s+"&model="+h;if(f.init({url:c,ctrl:i.yearCtrl,defaultText:i.defaultYearText}),s==""||h==""){f.resetList();return}u.val("");r.val("");f.loadItems(t.SearchState.getFormValue(i.container,i.yearCtrl))},v=function(){var f=n(i.makeCtrl)[0],e=n(i.modelCtrl)[0],o=n(i.yearCtrl)[0],s=f.options[f.selectedIndex].value,h=e.options[e.selectedIndex].value,c=o.options[o.selectedIndex].value,u=new t.SelectListUtility,l=i.versionUrl+"?make="+s+"&model="+h+"&year="+c;if(u.init({url:l,ctrl:i.versionCtrl,defaultText:i.defaultVersionText}),s==""||h==""||c==""){u.resetList();return}r.val("");u.loadItems(t.SearchState.getFormValue(i.container,i.versionCtrl))},y=function(){var u=n(i.makeCtrl)[0],f=n(i.modelCtrl)[0],e=n(i.yearCtrl)[0],o=n(i.versionCtrl)[0],s=u.options[u.selectedIndex].value,h=f.options[f.selectedIndex].value,c=e.options[e.selectedIndex].value,l=o.options[o.selectedIndex].value,r=new t.SelectListUtility,a=i.descriptionUrl+"?make="+s+"&model="+h+"&year="+c+"&version="+l;if(r.init({url:a,ctrl:i.descriptionCtrl,defaultText:i.defaultVersionText}),s==""||h==""||c==""||l==""){r.resetList();return}r.loadItems(t.SearchState.getFormValue(i.container,i.descriptionCtrl))},p=function(){var t=n(i.makeCtrl)[0],r=n(i.modelCtrl)[0],u=n(i.yearCtrl)[0],f=n(i.versionCtrl)[0],e=n(i.descriptionCtrl)[0],o=t.options[t.selectedIndex].value,s=r.options[r.selectedIndex].value,h=u.options[u.selectedIndex].value,c=f.options[f.selectedIndex].value,l=e.options[e.selectedIndex].value,a=i.executeSearchUrl+"?make="+o+"&model="+s+"&year="+h+"&version="+c+"&description="+l;n.get(a,function(t){n("#compareSearchResult").html(t);n("#compareaddtolist").removeAttr("disabled")})},w=function(){var n=window.location.hash.replace("#","");n&&t.SearchState.setStateObjectFromJsonString(n)};return{init:h}}}(jQuery,window.RB||(window.RB={}))