$(document).ready(function() { $('#price').slider({ range:true, slide : function(e,ui) { var val = ui.value; var id_handle = ui.handle[0].id; id_handle = id_handle.replace(/price_/, ""); change_price_slider(val,id_handle); }, change: function(e,ui) { var val = ui.value; var id_handle = ui.handle[0].id; id_handle = id_handle.replace(/price_/, ""); change_price_slider(val,id_handle); } }); $('#reg').slider({ range:true, slide : function(e,ui) { var val = ui.value; var id_handle = ui.handle[0].id; id_handle = id_handle.replace(/reg_/, ""); change_reg_slider(val,id_handle); }, change: function(e,ui) { var val = ui.value; var id_handle = ui.handle[0].id; id_handle = id_handle.replace(/reg_/, ""); change_reg_slider(val,id_handle); } }); $('#driven').slider({ range:true, slide : function(e,ui) { var val = ui.value; var id_handle = ui.handle[0].id; id_handle = id_handle.replace(/driven_/, ""); change_driven_slider(val,id_handle); }, change: function(e,ui) { var val = ui.value; var id_handle = ui.handle[0].id; id_handle = id_handle.replace(/driven_/, ""); change_driven_slider(val,id_handle); } }); $('#output').slider({ range:true, slide : function(e,ui) { var val = ui.value; var id_handle = ui.handle[0].id; id_handle = id_handle.replace(/output_/, ""); change_output_slider(val,id_handle); }, change: function(e,ui) { var val = ui.value; var id_handle = ui.handle[0].id; id_handle = id_handle.replace(/output_/, ""); change_output_slider(val,id_handle); } }); var min = document.getElementById('min_price_slider').value; var max = document.getElementById('max_price_slider').value; $('#price').slider("moveTo",min,0); $('#price').slider("moveTo",max,1); change_price_slider(min,1); change_price_slider(max,2); var min = document.getElementById('min_reg_slider').value; var max = document.getElementById('max_reg_slider').value; $('#reg').slider("moveTo",1990,0); $('#reg').slider("moveTo",max,1); change_reg_slider(min,1); change_reg_slider(max,2); var min = document.getElementById('min_driven_slider').value; var max = document.getElementById('max_driven_slider').value; $('#driven').slider("moveTo",min,0); $('#driven').slider("moveTo",max,1); change_driven_slider(min,1); change_driven_slider(max,2); var min = document.getElementById('min_output_slider').value; var max = document.getElementById('max_output_slider').value; $('#output').slider("moveTo",min,0); $('#output').slider("moveTo",max,1); change_output_slider(min,1); change_output_slider(max,2); $("#price, #reg, #driven, #output").click(function() { $(this).removeClass("no_change"); }); }); function change_price_slider(val,id_handle) { var max = document.getElementById('slider_max').value; var unit = document.getElementById('slider_unit').value; var nb = document.getElementById('slider_nb').value; if(document.getElementById('price_ui_slider' + id_handle) != null) { if(val > 100 - 100/nb) { val = '+'; } else { val = (max*val)/(100 - 100/nb); val = Math.ceil(val); } var divider = 100000; if(unit == 'tis'){ divider = 100; } if(val == '+') { if(max >=divider) { var decimal = Math.ceil(max/divider); document.getElementById('price_ui_slider' + id_handle).innerHTML = decimal/10 + unit + val; } else { document.getElementById('price_ui_slider' + id_handle).innerHTML = max + val; } document.getElementById('price_slider' + id_handle).value = max + val; } else { if(val >=divider) { var decimal = Math.ceil(val/divider); if(unit == 'tis'){ var new_val = Math.round(val / 1000) + " 000"; document.getElementById('price_ui_slider' + id_handle).innerHTML = new_val; } else { document.getElementById('price_ui_slider' + id_handle).innerHTML = decimal/10 + unit; } } else { document.getElementById('price_ui_slider' + id_handle).innerHTML = val; } document.getElementById('price_slider' + id_handle).value = val; } } } function change_reg_slider(val,id_handle) { var min = 1990; var max = 2011; var nb = 20; if(val > 100 - 100/nb) { val = '+'; } else if(val < 100/nb) { val = '<'; } else { val = min + (Math.ceil(val / 5)); console.log(val); //var diff = 21 - nb; //var coef = (val/(max-min+diff)); //val = 1990+Math.ceil(coef); //if($("#isOffice").val() == "1") { //alert(prev_val + ' = ' + coef + ' = ' + val); //} } if((val == '+') || (val == '<')) { if(val == '+') { document.getElementById('reg_ui_slider' + id_handle).innerHTML = max; document.getElementById('reg_slider' + id_handle).value = max; } if(val == '<') { document.getElementById('reg_ui_slider' + id_handle).innerHTML = val + " " + min; document.getElementById('reg_slider' + id_handle).value = val + " " + min; } } else { document.getElementById('reg_ui_slider' + id_handle).innerHTML = val; document.getElementById('reg_slider' + id_handle).value = val; } } function change_driven_slider(val,id_handle) { var max = 50000; var nb = 8; var divider = 1000; if(val > 100 - 100/nb) { val = '+'; } else { val = (max*val)/(100 - 100/nb); val = Math.ceil(val); } if(val == '+') { document.getElementById('driven_ui_slider' + id_handle).innerHTML = val + max; document.getElementById('driven_slider' + id_handle).value = val + max; } else { document.getElementById('driven_ui_slider' + id_handle).innerHTML = Math.ceil(val/divider)*divider; document.getElementById('driven_slider' + id_handle).value = Math.ceil(val/divider)*divider; } } function change_output_slider(val,id_handle) { var max = 300; var min = 50; var nb = 12; var divider = 10; if(val > 100 - 100/nb) { val = '+'; } else if(val < 100/nb) { val = '<'; } else { val = ((max-min+1)*((val/100))-(100/nb)); val = (min)+Math.ceil(val); } if((val == '+') || (val == '<')) { document.getElementById('output_ui_slider' + id_handle).innerHTML = val + ((val == '+')?max:min); document.getElementById('output_slider' + id_handle).value = val + ((val == '+')?max:min); } else { document.getElementById('output_ui_slider' + id_handle).innerHTML = Math.ceil(val/divider)*divider; document.getElementById('output_slider' + id_handle).value = Math.ceil(val/divider)*divider; } }