/*
 * jQuery UI 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI
 */
jQuery.ui||(function(c){var i=c.fn.remove,d=c.browser.mozilla&&(parseFloat(c.browser.version)<1.9);c.ui={version:"1.7.2",plugin:{add:function(k,l,n){var m=c.ui[k].prototype;for(var j in n){m.plugins[j]=m.plugins[j]||[];m.plugins[j].push([l,n[j]])}},call:function(j,l,k){var n=j.plugins[l];if(!n||!j.element[0].parentNode){return}for(var m=0;m<n.length;m++){if(j.options[n[m][0]]){n[m][1].apply(j.element,k)}}}},contains:function(k,j){return document.compareDocumentPosition?k.compareDocumentPosition(j)&16:k!==j&&k.contains(j)},hasScroll:function(m,k){if(c(m).css("overflow")=="hidden"){return false}var j=(k&&k=="left")?"scrollLeft":"scrollTop",l=false;if(m[j]>0){return true}m[j]=1;l=(m[j]>0);m[j]=0;return l},isOverAxis:function(k,j,l){return(k>j)&&(k<(j+l))},isOver:function(o,k,n,m,j,l){return c.ui.isOverAxis(o,n,j)&&c.ui.isOverAxis(k,m,l)},keyCode:{BACKSPACE:8,CAPS_LOCK:20,COMMA:188,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38}};if(d){var f=c.attr,e=c.fn.removeAttr,h="http://www.w3.org/2005/07/aaa",a=/^aria-/,b=/^wairole:/;c.attr=function(k,j,l){var m=l!==undefined;return(j=="role"?(m?f.call(this,k,j,"wairole:"+l):(f.apply(this,arguments)||"").replace(b,"")):(a.test(j)?(m?k.setAttributeNS(h,j.replace(a,"aaa:"),l):f.call(this,k,j.replace(a,"aaa:"))):f.apply(this,arguments)))};c.fn.removeAttr=function(j){return(a.test(j)?this.each(function(){this.removeAttributeNS(h,j.replace(a,""))}):e.call(this,j))}}c.fn.extend({remove:function(){c("*",this).add(this).each(function(){c(this).triggerHandler("remove")});return i.apply(this,arguments)},enableSelection:function(){return this.attr("unselectable","off").css("MozUserSelect","").unbind("selectstart.ui")},disableSelection:function(){return this.attr("unselectable","on").css("MozUserSelect","none").bind("selectstart.ui",function(){return false})},scrollParent:function(){var j;if((c.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){j=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(c.curCSS(this,"position",1))&&(/(auto|scroll)/).test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0)}else{j=this.parents().filter(function(){return(/(auto|scroll)/).test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!j.length?c(document):j}});c.extend(c.expr[":"],{data:function(l,k,j){return !!c.data(l,j[3])},focusable:function(k){var l=k.nodeName.toLowerCase(),j=c.attr(k,"tabindex");return(/input|select|textarea|button|object/.test(l)?!k.disabled:"a"==l||"area"==l?k.href||!isNaN(j):!isNaN(j))&&!c(k)["area"==l?"parents":"closest"](":hidden").length},tabbable:function(k){var j=c.attr(k,"tabindex");return(isNaN(j)||j>=0)&&c(k).is(":focusable")}});function g(m,n,o,l){function k(q){var p=c[m][n][q]||[];return(typeof p=="string"?p.split(/,?\s+/):p)}var j=k("getter");if(l.length==1&&typeof l[0]=="string"){j=j.concat(k("getterSetter"))}return(c.inArray(o,j)!=-1)}c.widget=function(k,j){var l=k.split(".")[0];k=k.split(".")[1];c.fn[k]=function(p){var n=(typeof p=="string"),o=Array.prototype.slice.call(arguments,1);if(n&&p.substring(0,1)=="_"){return this}if(n&&g(l,k,p,o)){var m=c.data(this[0],k);return(m?m[p].apply(m,o):undefined)}return this.each(function(){var q=c.data(this,k);(!q&&!n&&c.data(this,k,new c[l][k](this,p))._init());(q&&n&&c.isFunction(q[p])&&q[p].apply(q,o))})};c[l]=c[l]||{};c[l][k]=function(o,n){var m=this;this.namespace=l;this.widgetName=k;this.widgetEventPrefix=c[l][k].eventPrefix||k;this.widgetBaseClass=l+"-"+k;this.options=c.extend({},c.widget.defaults,c[l][k].defaults,c.metadata&&c.metadata.get(o)[k],n);this.element=c(o).bind("setData."+k,function(q,p,r){if(q.target==o){return m._setData(p,r)}}).bind("getData."+k,function(q,p){if(q.target==o){return m._getData(p)}}).bind("remove",function(){return m.destroy()})};c[l][k].prototype=c.extend({},c.widget.prototype,j);c[l][k].getterSetter="option"};c.widget.prototype={_init:function(){},destroy:function(){this.element.removeData(this.widgetName).removeClass(this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled").removeAttr("aria-disabled")},option:function(l,m){var k=l,j=this;if(typeof l=="string"){if(m===undefined){return this._getData(l)}k={};k[l]=m}c.each(k,function(n,o){j._setData(n,o)})},_getData:function(j){return this.options[j]},_setData:function(j,k){this.options[j]=k;if(j=="disabled"){this.element[k?"addClass":"removeClass"](this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled").attr("aria-disabled",k)}},enable:function(){this._setData("disabled",false)},disable:function(){this._setData("disabled",true)},_trigger:function(l,m,n){var p=this.options[l],j=(l==this.widgetEventPrefix?l:this.widgetEventPrefix+l);m=c.Event(m);m.type=j;if(m.originalEvent){for(var k=c.event.props.length,o;k;){o=c.event.props[--k];m[o]=m.originalEvent[o]}}this.element.trigger(m,n);return !(c.isFunction(p)&&p.call(this.element[0],m,n)===false||m.isDefaultPrevented())}};c.widget.defaults={disabled:false};c.ui.mouse={_mouseInit:function(){var j=this;this.element.bind("mousedown."+this.widgetName,function(k){return j._mouseDown(k)}).bind("click."+this.widgetName,function(k){if(j._preventClickEvent){j._preventClickEvent=false;k.stopImmediatePropagation();return false}});if(c.browser.msie){this._mouseUnselectable=this.element.attr("unselectable");this.element.attr("unselectable","on")}this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName);(c.browser.msie&&this.element.attr("unselectable",this._mouseUnselectable))},_mouseDown:function(l){l.originalEvent=l.originalEvent||{};if(l.originalEvent.mouseHandled){return}(this._mouseStarted&&this._mouseUp(l));this._mouseDownEvent=l;var k=this,m=(l.which==1),j=(typeof this.options.cancel=="string"?c(l.target).parents().add(l.target).filter(this.options.cancel).length:false);if(!m||j||!this._mouseCapture(l)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){k.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(l)&&this._mouseDelayMet(l)){this._mouseStarted=(this._mouseStart(l)!==false);if(!this._mouseStarted){l.preventDefault();return true}}this._mouseMoveDelegate=function(n){return k._mouseMove(n)};this._mouseUpDelegate=function(n){return k._mouseUp(n)};c(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);(c.browser.safari||l.preventDefault());l.originalEvent.mouseHandled=true;return true},_mouseMove:function(j){if(c.browser.msie&&!j.button){return this._mouseUp(j)}if(this._mouseStarted){this._mouseDrag(j);return j.preventDefault()}if(this._mouseDistanceMet(j)&&this._mouseDelayMet(j)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,j)!==false);(this._mouseStarted?this._mouseDrag(j):this._mouseUp(j))}return !this._mouseStarted},_mouseUp:function(j){c(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this._preventClickEvent=(j.target==this._mouseDownEvent.target);this._mouseStop(j)}return false},_mouseDistanceMet:function(j){return(Math.max(Math.abs(this._mouseDownEvent.pageX-j.pageX),Math.abs(this._mouseDownEvent.pageY-j.pageY))>=this.options.distance)},_mouseDelayMet:function(j){return this.mouseDelayMet},_mouseStart:function(j){},_mouseDrag:function(j){},_mouseStop:function(j){},_mouseCapture:function(j){return true}};c.ui.mouse.defaults={cancel:null,distance:1,delay:0}})(jQuery);;/*
 * jQuery UI Slider 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Slider
 *
 * Depends:
 *	ui.core.js
 */
(function(a){a.widget("ui.slider",a.extend({},a.ui.mouse,{_init:function(){var b=this,c=this.options;this._keySliding=false;this._handleIndex=null;this._detectOrientation();this._mouseInit();this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget ui-widget-content ui-corner-all");this.range=a([]);if(c.range){if(c.range===true){this.range=a("<div></div>");if(!c.values){c.values=[this._valueMin(),this._valueMin()]}if(c.values.length&&c.values.length!=2){c.values=[c.values[0],c.values[0]]}}else{this.range=a("<div></div>")}this.range.appendTo(this.element).addClass("ui-slider-range");if(c.range=="min"||c.range=="max"){this.range.addClass("ui-slider-range-"+c.range)}this.range.addClass("ui-widget-header")}if(a(".ui-slider-handle",this.element).length==0){a('<a href="#"></a>').appendTo(this.element).addClass("ui-slider-handle")}if(c.values&&c.values.length){while(a(".ui-slider-handle",this.element).length<c.values.length){a('<a href="#"></a>').appendTo(this.element).addClass("ui-slider-handle")}}this.handles=a(".ui-slider-handle",this.element).addClass("ui-state-default ui-corner-all");this.handle=this.handles.eq(0);this.handles.add(this.range).filter("a").click(function(d){d.preventDefault()}).hover(function(){if(!c.disabled){a(this).addClass("ui-state-hover")}},function(){a(this).removeClass("ui-state-hover")}).focus(function(){if(!c.disabled){a(".ui-slider .ui-state-focus").removeClass("ui-state-focus");a(this).addClass("ui-state-focus")}else{a(this).blur()}}).blur(function(){a(this).removeClass("ui-state-focus")});this.handles.each(function(d){a(this).data("index.ui-slider-handle",d)});this.handles.keydown(function(i){var f=true;var e=a(this).data("index.ui-slider-handle");if(b.options.disabled){return}switch(i.keyCode){case a.ui.keyCode.HOME:case a.ui.keyCode.END:case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:f=false;if(!b._keySliding){b._keySliding=true;a(this).addClass("ui-state-active");b._start(i,e)}break}var g,d,h=b._step();if(b.options.values&&b.options.values.length){g=d=b.values(e)}else{g=d=b.value()}switch(i.keyCode){case a.ui.keyCode.HOME:d=b._valueMin();break;case a.ui.keyCode.END:d=b._valueMax();break;case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:if(g==b._valueMax()){return}d=g+h;break;case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:if(g==b._valueMin()){return}d=g-h;break}b._slide(i,e,d);return f}).keyup(function(e){var d=a(this).data("index.ui-slider-handle");if(b._keySliding){b._stop(e,d);b._change(e,d);b._keySliding=false;a(this).removeClass("ui-state-active")}});this._refreshValue()},destroy:function(){this.handles.remove();this.range.remove();this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider");this._mouseDestroy()},_mouseCapture:function(d){var e=this.options;if(e.disabled){return false}this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()};this.elementOffset=this.element.offset();var h={x:d.pageX,y:d.pageY};var j=this._normValueFromMouse(h);var c=this._valueMax()-this._valueMin()+1,f;var k=this,i;this.handles.each(function(l){var m=Math.abs(j-k.values(l));if(c>m){c=m;f=a(this);i=l}});if(e.range==true&&this.values(1)==e.min){f=a(this.handles[++i])}this._start(d,i);k._handleIndex=i;f.addClass("ui-state-active").focus();var g=f.offset();var b=!a(d.target).parents().andSelf().is(".ui-slider-handle");this._clickOffset=b?{left:0,top:0}:{left:d.pageX-g.left-(f.width()/2),top:d.pageY-g.top-(f.height()/2)-(parseInt(f.css("borderTopWidth"),10)||0)-(parseInt(f.css("borderBottomWidth"),10)||0)+(parseInt(f.css("marginTop"),10)||0)};j=this._normValueFromMouse(h);this._slide(d,i,j);return true},_mouseStart:function(b){return true},_mouseDrag:function(d){var b={x:d.pageX,y:d.pageY};var c=this._normValueFromMouse(b);this._slide(d,this._handleIndex,c);return false},_mouseStop:function(b){this.handles.removeClass("ui-state-active");this._stop(b,this._handleIndex);this._change(b,this._handleIndex);this._handleIndex=null;this._clickOffset=null;return false},_detectOrientation:function(){this.orientation=this.options.orientation=="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(d){var c,h;if("horizontal"==this.orientation){c=this.elementSize.width;h=d.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)}else{c=this.elementSize.height;h=d.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)}var f=(h/c);if(f>1){f=1}if(f<0){f=0}if("vertical"==this.orientation){f=1-f}var e=this._valueMax()-this._valueMin(),i=f*e,b=i%this.options.step,g=this._valueMin()+i-b;if(b>(this.options.step/2)){g+=this.options.step}return parseFloat(g.toFixed(5))},_start:function(d,c){var b={handle:this.handles[c],value:this.value()};if(this.options.values&&this.options.values.length){b.value=this.values(c);b.values=this.values()}this._trigger("start",d,b)},_slide:function(f,e,d){var g=this.handles[e];if(this.options.values&&this.options.values.length){var b=this.values(e?0:1);if((this.options.values.length==2&&this.options.range===true)&&((e==0&&d>b)||(e==1&&d<b))){d=b}if(d!=this.values(e)){var c=this.values();c[e]=d;var h=this._trigger("slide",f,{handle:this.handles[e],value:d,values:c});var b=this.values(e?0:1);if(h!==false){this.values(e,d,(f.type=="mousedown"&&this.options.animate),true)}}}else{if(d!=this.value()){var h=this._trigger("slide",f,{handle:this.handles[e],value:d});if(h!==false){this._setData("value",d,(f.type=="mousedown"&&this.options.animate))}}}},_stop:function(d,c){var b={handle:this.handles[c],value:this.value()};if(this.options.values&&this.options.values.length){b.value=this.values(c);b.values=this.values()}this._trigger("stop",d,b)},_change:function(d,c){var b={handle:this.handles[c],value:this.value()};if(this.options.values&&this.options.values.length){b.value=this.values(c);b.values=this.values()}this._trigger("change",d,b)},value:function(b){if(arguments.length){this._setData("value",b);this._change(null,0)}return this._value()},values:function(b,e,c,d){if(arguments.length>1){this.options.values[b]=e;this._refreshValue(c);if(!d){this._change(null,b)}}if(arguments.length){if(this.options.values&&this.options.values.length){return this._values(b)}else{return this.value()}}else{return this._values()}},_setData:function(b,d,c){a.widget.prototype._setData.apply(this,arguments);switch(b){case"disabled":if(d){this.handles.filter(".ui-state-focus").blur();this.handles.removeClass("ui-state-hover");this.handles.attr("disabled","disabled")}else{this.handles.removeAttr("disabled")}case"orientation":this._detectOrientation();this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation);this._refreshValue(c);break;case"value":this._refreshValue(c);break}},_step:function(){var b=this.options.step;return b},_value:function(){var b=this.options.value;if(b<this._valueMin()){b=this._valueMin()}if(b>this._valueMax()){b=this._valueMax()}return b},_values:function(b){if(arguments.length){var c=this.options.values[b];if(c<this._valueMin()){c=this._valueMin()}if(c>this._valueMax()){c=this._valueMax()}return c}else{return this.options.values}},_valueMin:function(){var b=this.options.min;return b},_valueMax:function(){var b=this.options.max;return b},_refreshValue:function(c){var f=this.options.range,d=this.options,l=this;if(this.options.values&&this.options.values.length){var i,h;this.handles.each(function(p,n){var o=(l.values(p)-l._valueMin())/(l._valueMax()-l._valueMin())*100;var m={};m[l.orientation=="horizontal"?"left":"bottom"]=o+"%";a(this).stop(1,1)[c?"animate":"css"](m,d.animate);if(l.options.range===true){if(l.orientation=="horizontal"){(p==0)&&l.range.stop(1,1)[c?"animate":"css"]({left:o+"%"},d.animate);(p==1)&&l.range[c?"animate":"css"]({width:(o-lastValPercent)+"%"},{queue:false,duration:d.animate})}else{(p==0)&&l.range.stop(1,1)[c?"animate":"css"]({bottom:(o)+"%"},d.animate);(p==1)&&l.range[c?"animate":"css"]({height:(o-lastValPercent)+"%"},{queue:false,duration:d.animate})}}lastValPercent=o})}else{var j=this.value(),g=this._valueMin(),k=this._valueMax(),e=k!=g?(j-g)/(k-g)*100:0;var b={};b[l.orientation=="horizontal"?"left":"bottom"]=e+"%";this.handle.stop(1,1)[c?"animate":"css"](b,d.animate);(f=="min")&&(this.orientation=="horizontal")&&this.range.stop(1,1)[c?"animate":"css"]({width:e+"%"},d.animate);(f=="max")&&(this.orientation=="horizontal")&&this.range[c?"animate":"css"]({width:(100-e)+"%"},{queue:false,duration:d.animate});(f=="min")&&(this.orientation=="vertical")&&this.range.stop(1,1)[c?"animate":"css"]({height:e+"%"},d.animate);(f=="max")&&(this.orientation=="vertical")&&this.range[c?"animate":"css"]({height:(100-e)+"%"},{queue:false,duration:d.animate})}}}));a.extend(a.ui.slider,{getter:"value values",version:"1.7.2",eventPrefix:"slide",defaults:{animate:false,delay:0,distance:0,max:100,min:0,orientation:"horizontal",range:false,step:1,value:0,values:null}})})(jQuery);;
var prev_vis_count = 0;
function show_hide_range(showme){
	var visible_items = jQuery('th.compare_range_column.'+showme).length;
	jQuery('.compare_range_table').removeClass('columns_'+prev_vis_count).addClass('columns_'+visible_items);
	prev_vis_count = visible_items;
	jQuery('.compare_range_column').each(function(){
		var hc = jQuery(this).hasClass(showme);
		if(hc && jQuery(this).not(':visible')) jQuery(this).show();
		else if(!hc) jQuery(this).hide();
	});	
}

function modify_data_segment(selector, operationtime){
	var segmentid = jQuery(selector.attr('data-segment')), 
			segment = jQuery(segmentid),
			toogle_a = selector.find('a.compare_range_header_toggle_state span');
	if(toogle_a.text() == 'CLOSE'){
		toogle_a.text('EXPAND');
		selector.removeClass('open_range_segment');
	}else{
		toogle_a.text('CLOSE');
		selector.addClass('open_range_segment');
	}
	segment.slideToggle(operationtime);
}
jQuery(document).ready(function(){
	if(typeof fuel_type != "undefined") show_hide_range(fuel_type);
	//filter by type
	jQuery('.compare_range_filter').click(function(){
		show_hide_range(jQuery(this).attr('rel'));
		jQuery('.compare_range_active_filter').each(function(){
			jQuery(this).removeClass('compare_range_active_filter');
			jQuery(this).text(jQuery(this).text().replace('SHOWING ', ''));
		});
		jQuery(this).addClass('compare_range_active_filter').text('SHOWING '+jQuery(this).text());
		return false;
	});
	//pseduo accordion
	jQuery('.compare_range_segment').hide();
	modify_data_segment(jQuery('.compare_range_segment_header_0'), 0);
	jQuery('.compare_range_segment_header a').click(function(){
		modify_data_segment(jQuery(this).parent(), 500);
		return false;
	});
	jQuery('.compare_range_segment_header').click(function(){
		modify_data_segment(jQuery(this), 500);
		return false;
	});
	jQuery('.compare_range_segment_header').hover(function(){jQuery(this).addClass('range_header_hover')}, function(){jQuery(this).removeClass('range_header_hover')});
	
	jQuery('.compare_range_data_table_row td, .compare_range_data_table_row th').hover(function(){jQuery(this).closest('tr').addClass('range_hover');}, function(){jQuery(this).closest('tr').removeClass('range_hover');});
});
var table_size = 5;

/* Styling fixes for range slider numbers */
$(document).ready(function(){
  $(document).bind("open_contact", function(){
    if($("*[class^='high_']").is(':visible')){
      $("*[class^='high_']").css('display', 'none');
      $("*[class^='low_']").css('display', 'none');
    } else {
      if(!$('#contact_request').is(':animated')){
        setTimeout('fade_in_prices()', 500);
      }
    }
  });
  $('.contact_close').click(function(){
    setTimeout('fade_in_prices()', 500);
  });
  
  fade_in_prices = function(){
    $("*[class^='high_']").css('display', 'block');
    $("*[class^='low_']").css('display', 'block');
  };
  
});

$(document).ready(function(){
	
	$(".range_slider_blue").each(function(){
	  $(this).css("position", "relative");
	  $(this).prepend("<div class='range_indicator_above'></div>");
	  $(this).append("<div class='range_indicator_below'></div>");
	  $(this).find(".range_indicator_above").fadeTo(0,0.6);
	  $(this).find(".range_indicator_below").fadeTo(0,0.6);

	  $(this).find(".range_indicator_above").attr("data-start",$(this).find(".range_indicator_above").offset().top - 5);
	  $(this).find(".range_indicator_below").attr("data-start",$(this).find(".range_indicator_below").offset().top - 5);
	});

	
	
	function setup_slider(el, options) {
	  var sl_min = options.min;
	  var sl_max = options.max;
	  if(options.single == true) var sl_single = true;
	  else var sl_single = false;
	  if(!sl_single) var sl_values = [sl_min,sl_max];
	  else var sl_values = options.values;
	  
	  var sl_options = {
	    orientation: "vertical",
	    min: sl_min,
	    max: sl_max,
	    change: function(event,ui) {
	      update_from_checkboxes_and_sliders();
  			check_rows();
  			slider_update($(this), ui, sl_min, sl_max, sl_single);
	    },
	    slide: function(event,ui) {
  			slider_update($(this), ui, sl_min, sl_max, sl_single);
	    }
	  };
	  if(!sl_single) {
	    sl_options.range = true;
	    sl_options.values = sl_values;
	  }
	  else {sl_options.value = sl_values; sl_options.values = sl_values;}
	  el.slider(sl_options);
	}
	
	function slider_update(el, ui, sl_min, sl_max, sl_single) {
	  var pos = $('#'+ el.attr('id') +' > a.ui-slider-handle').eq(0).offset();
	  if(!sl_single) {
		  var postwo = $('#'+el.attr('id')+' > a.ui-slider-handle').eq(1).offset();
		  el.parent().find('.low_val').html(ui.values[0]+' -').css('top', pos.top);
		  el.parent().find('.high_val').html(ui.values[1]+' -').css('top', postwo.top);
		  set_indicators(el, pos, postwo);
	  } else {
	    el.parent().find('.low_val').html(ui.value+' -').css('top', pos.top);
		  set_indicators(el, pos);
	  }
		if(!sl_single) {
		  if(ui.values[1] > (sl_max-1)) set_single_indicator(el, 'above');
      if(ui.values[0] < (sl_min)) set_single_indicator(el, 'below');
    } else {
      if(ui.value > sl_max) set_single_indicator(el, 'above');
      if(ui.value < sl_min) set_single_indicator(el, 'below');
    }
	}
	

	
	function update_from_checkboxes_and_sliders() {
	  $(".car_image").each(function(){
	    var car_el = $(this);
	    var faded = false;
	    $(".selector_check").each(function(){
	      if(!$(this).is(":checked") && car_el.attr($(this).attr("data-link")) == $(this).val()) faded = true;
	    });
	    $(".slider_vertical_range").each(function(){
	      var min = $(this).slider("values",0);
	      var max = $(this).slider("values",1);
	      if(min==max) max = $(this).slider("option","max");
	      var carval = car_el.attr($(this).attr("data-link"));
	      if(carval < min || carval > max) faded = true;
	    });
	    if(faded) car_el.fadeTo("fast",0.5).attr("data-faded","true").parents(".car_td").attr("faded","true");
	    else car_el.fadeTo("fast",1).attr("data-faded", "false").parents(".car_td").attr("faded","false");
    });
	}
	
	setup_slider($("#slider-vertical-price"), {min:13,max:50});
	setup_slider($("#slider-vertical-mpg"), {min:20,max:50});
	setup_slider($("#slider-vertical-emiss"), {min:150,max:250});
	setup_slider($("#slider-vertical-insur"), {min:3,max:21});
	setup_slider($("#slider-vertical-tow"), {min:450,max:2001, values:450, single:true});
	$(".selector_check").change(function(){update_from_checkboxes_and_sliders();check_rows();});

	
	function toggle_type(el, data, datavalue) {
	  el.change(function(){
	    if($(this).is(":checked")) $(".car_image["+data+"='"+datavalue+"']").fadeTo("fast",1).parents(".car_td").attr("faded", "false");
  	  if(!$(this).is(":checked")) $(".car_image["+data+"='"+datavalue+"']").fadeTo("fast",0.5).parents(".car_td").attr("faded","true");
  	  check_rows();
	  });
	}

	
	function check_rows() {
	  alter_row('1');
		alter_row('2');
		alter_row('3');
		alter_row('4');
		alter_row('5');
	}
	
	$("#slider_reset").click(function(){
    
    $('.car_holder').fadeIn('slow');
    $('.car_image').fadeTo('fast', 1.0);
    
    
    $(".slider_vertical_range").each(function(){
			min = $(this).slider('option',"min");
			max = $(this).slider('option',"max");
			$(this).slider('values',0,min);
			$(this).slider('values',1,max);
			$(this).parent().find(".range_indicator_above").height("0");
		  $(this).parent().find(".range_indicator_below").height("0");
		});
		$('.appender').html('');
		table_size = 5;
		$('*:checkbox').attr('checked', 'checked');
		return false;
	});
	
	$(".slider_vertical_range").each(function(){
		min = $(this).slider('option',"min");
		max = $(this).slider('option',"max");
		
		$(this).slider('values',0,min);
		$(this).slider('values',1,max);

		$(this).parent().find(".range_indicator_above").height("0");
	  $(this).parent().find(".range_indicator_below").height("0");
	  
	});
	
	$(".ui-state-hover").each(function() {
    $(this).eq(1).mouseover(function(){
      $(this).css('cursor', 'n-resize !important');
    });
    $(this).eq(0).mouseover(function(){
      $(this).css('cursor', 's-resize !important');
    });
  });

});



function display_tooltip(pos, pricemsg, info) {
	var elem = $(pos).attr('id');
	var position = $('#'+elem).offset();
	$('.price_tooltip').show().css('left', position.left + 95).css('top', position.top + 20);
	
	$('.price_holder').html(pricemsg);
}

function disappear_tooltip() {
	$('.price_tooltip').hide();
}

function alter_row(number) {
	var hideme = ($('.car_holder').eq(number-1).children('.car_td[faded=true]').length >=  jQuery('.car_holder').eq(number-1).children('.car_td').length) ? true : false;
	var after_slide = function(){
				if(!jQuery('.car_table tr:visible').length) $('.appender').html('<h1 class="nothing-found"><em>No vehicles fit your criteria</em></h1></div>');
				else $('.appender h1.nothing-found').remove();
			};
	if(hideme) jQuery('.car_holder').eq(number-1).fadeOut('slow', after_slide);
	else if(!jQuery('.car_holder').eq(number-1).is(':visible')) jQuery('.car_holder').eq(number-1).fadeIn('slow', after_slide);

}

function set_single_indicator(el, indicator) {
  el.prev().find('.range_indicator_'+indicator).height("0");
}

function set_indicators(el , val1, val2) {
  if(typeof val2 != "undefined") el.prev().find(".range_indicator_above").height(val2.top - el.prev().find(".range_indicator_above").attr("data-start"));
	if(typeof val1 != "undefined") el.prev().find(".range_indicator_below").height(el.prev().find(".range_indicator_below").attr("data-start") - val1.top);
}

// I tried to keep this as tidy as possible.
// It didn't really work. - stating the bloody obvious; this js is shockingly bad
