var manual_slide = false;

// temp pro posledni pozice slideru tesne pred zablokovanim
var last_valid_value1 = 0;
var last_valid_value2 = 0;

function initSlider() {	
	$('#slider,.slider-text').show(); 
  var step = (10000/(max_price_session-min_price_session));
  // pojistka, ktera zakazuje reload, pokud jsou slidery blokovany pro moc malou vzajemnou vzdalenost
  var fight_lock = false;
	$('#slider').slider({ 
    step: step, 
		range: true,		
		slide: function(e,ui) {
      
      var val1 = $('#slider').slider("values",0);
      var val2 = $('#slider').slider("values",1)
      
      // blokovat slidery pokud jsou moc blizko
      if(Math.abs(val1-val2)<7) {                  
        $('#slider').slider("values",0,last_valid_value1);
        $('#slider').slider("values",1,last_valid_value2)
        fight_lock = true;
        return false;
      }     
      
      // odblokovat slidery
			fight_lock = false;
      
			updatePrices();
      
		},
		change: function(e,ui) {
			if (!manual_slide && !fight_lock) ajaxGetEshopProducts(pageDefID,actual_min_price,actual_max_price,{'no_redirect':'true'});
		}
	});
	manual_slide = true;
	
	$('#slider').slider( "values", 0,((min_price_session-offset)*100)/price_range );
	$('#slider').slider( "values", 1,((max_price_session-offset)*100)/price_range ); 
  //$('#slider').slider( "values", 100 , 0); 
	manual_slide = false; 
}	

function resetSlider() {
	manual_slide = true;	
	$('#slider').slider( "values", 1, 100); 
	$('#slider').slider( "values", 0, 0);
	updatePrices();
	manual_slide = false;
}

function updatePrices() {
    actual_min_price = Math.round(
      ($('#slider').slider("values",0)/100)*price_range)+offset;
    last_valid_value1 = $('#slider').slider("values",0);
		actual_max_price = Math.round(
				($('#slider').slider("values",1)/100)*price_range)+offset;
    last_valid_value2 = $('#slider').slider("values",1);
      
    $('#min-price span').html((actual_min_price).formatMoney(0,',',' ')); 
		$('#max-price span').html((actual_max_price).formatMoney(0,',',' ')); 
}

Number.prototype.formatMoney = function(c, d, t){
var n = this, c = isNaN(c = Math.abs(c)) ? 2 : c, d = d == undefined ? "," : d, t = t == undefined ? "." : t, s = n < 0 ? "-" : "", i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "", j = (j = i.length) > 3 ? j % 3 : 0;
   return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
 };
