var makeDropDown;var modelDropDown;var vehicleDropDown;var comparePane;var scroller;var compareColumnWidth;var selectListInitialValue;var initialComparePageLoad=true;$(function(){initAddVehiclePanel();scroller=new compareScroller($("#compare-scroller"));initCompareContent();$(".compare-column .params select").each(function(){$(this).click(function(){selectListInitialValue=$(this).val()});$(this).change(existingCompareVehicleChanged)});$.address.history(false);$.address.change(function(event){if((isSeriesComparison&&!initialComparePageLoad)||!isSeriesComparison){var hashValue=event.value.replace("/","");$("#compare-content").fadeOut(function(){$(this).hide();$("#ajax-loader").show();$("#compare-section").load(carComparisonUrl.replace("1234",hashValue),compareHtmlReceived)});if(persistInCookie){setCompareCookie(hashValue)}}initialComparePageLoad=false})});function initCompareContent(){initCompareColumnWidth();initRemoveVehicle();initFeatureGroups();scroller.resetIndex();scroller.toggleArrows()}function initRemoveVehicle(){$(".compare-column h3").click(function(){var vehicleId=$(this).parent().attr("id").replace("c","");if(vehicleId!=null&&vehicleId.length>0){if($.address.value()!="/"){removeFromAddress(vehicleId)}else{$(this).parent().empty()}}})}function initAddVehiclePanel(){makeDropDown=$("#add-to-compare-make");modelDropDown=$("#add-to-compare-model");vehicleDropDown=$("#add-to-compare-series");vehicleDropDown.click(function(){selectListInitialValue=$(this).val()});vehicleDropDown.change(function(event){newVehicleSelected(event)});$("#remove-all").click(function(event){if($.address.value()!="/"){event.preventDefault();removeAllFromAddress()}})}function initCompareColumnWidth(){var col=$(".compare-column:first");if(col!=null&&col.length>0){var colW=col.css("width").replace("px","");if(colW=="auto"){colW=140}compareColumnWidth=colW}}function compareHtmlReceived(responseText,textStatus,XMLHttpRequest){if(textStatus=="success"){setTimeout(function(){initCompareContent();$(".compare-column .params select").each(function(){$(this).click(function(){selectListInitialValue=$(this).val()});$(this).change(existingCompareVehicleChanged)});$("#ajax-loader").hide();$("#compare-content").fadeIn()},300)}else{}}function newVehicleSelected(event){var newVehicleId=vehicleDropDown.val();if(newVehicleId==""){return}if(checkIfVehicleInList(newVehicleId)){showVehicleInListMessage();$("#add-to-compare-series").val(selectListInitialValue)}else{addToAddress(newVehicleId)}resetDropDowns();vehicleDropDown.attr("disabled","disabled");modelDropDown.attr("disabled","disabled")}function existingCompareVehicleChanged(){var vehicleId=$(this).val();var compareColumn=$(this).parent().parent();var previousId=compareColumn.attr("id").replace("c","");if(checkIfVehicleInList(vehicleId)){showVehicleInListMessage();$(this).val(selectListInitialValue)}else{updateAddress(previousId,vehicleId)}}function initFeatureGroups(){$("#compare-features .group:not(.g1)").add(".compare-column .group:not(.g1)",comparePane).each(function(){new featureGroup($(this))})}function featureGroup(el){var groupHeader=el.find("h4");groupHeader.click(featureGroupHeaderClicked)}function featureGroupHeaderClicked(){var header=$(this);var text=$.trim(header.text()).substring(2);var group=header.parent();var rowAttributeListSelector="[class="+group.attr("class")+"] ul";var rowAttributeList=$(rowAttributeListSelector);rowAttributeList.slideToggle(function(){if($(this).css("display")=="none"){header.text("+ "+text)}else{header.text("- "+text)}})}function compareColumn(pane,col){this.makeCollapsible(pane,col)}function compareScroller(scrollEl){var that=this;var index=0;var colsInView=3;var leftArrow=$("#compare-scroller .left-scroll");var rightArrow=$("#compare-scroller .right-scroll");leftArrow.click(function(){if(index==0){return}index--;$("#compare-pane").animate({scrollLeft:index*compareColumnWidth},500);that.toggleArrows()});rightArrow.click(function(){var totalCols=$(".compare-column").length;if(index==totalCols-colsInView){return}index++;$("#compare-pane").animate({scrollLeft:index*compareColumnWidth},500);that.toggleArrows()});this.resetIndex=function(){index=0;$("#compare-pane").animate({scrollLeft:index*compareColumnWidth},5)};this.toggleArrows=function(){var totalCols=$(".compare-column").length;if((totalCols-index)<=colsInView||totalCols<=colsInView){rightArrow.hide()}else{rightArrow.show()}if(index==0){leftArrow.hide()}else{leftArrow.show()}}}function addToAddress(vehicleId){var existingValue=$.address.value();var newValue=existingValue+((existingValue!="/")?",":"")+vehicleId;$.address.value(newValue)}function removeFromAddress(vehicleId){var newValue="/";var existingIds=$.address.value().replace("/","").split(",");var i=0;for(i=0;i<existingIds.length;i++){if(existingIds[i]!=vehicleId){newValue+=existingIds[i]+","}}if(newValue.length>1){newValue=newValue.substring(0,newValue.length-1)}$.address.value(newValue)}function removeAllFromAddress(){$.address.value("")}function updateAddress(oldId,newId){$.address.value($.address.value().replace(oldId,newId))}function checkIfVehicleInList(vehicleId){var vehicleInList=false;var existingIds=$.address.value().replace("/","").split(",");var i=0;for(i=0;i<existingIds.length;i++){if(existingIds[i]==vehicleId){vehicleInList=true;break}}return vehicleInList}function showVehicleInListMessage(){$("#vehicle-in-list-message").fadeIn(function(){setTimeout(function(){$("#vehicle-in-list-message").slideUp()},3000)})}var resetDropDowns=function(){modelDropDown.empty().append('<option value="">Cars by Model</option>');vehicleDropDown.empty().append('<option value="">Cars by Series</option>');makeDropDown.val("")};
