/**
 * Filterbox scripts
 *
 * @Date		Jun 6, 2010
 * @Author		o_O Tync, ICQ# 1227-700, email/JID: ootync@gmail.com
 *
 * @License		You're allowed to copy, distribute, and modify this code while the name of the original author is mentioned :)
 *
 * Enjoy!
 */

$(function(){
	var infiltratus = $("#infiltratus");
	/* Init trackbars */
	var li_tbars = $("ul li.trackbar", infiltratus);
	li_tbars.each(function(){
			var trackbar = $('div.trackbar', this);
			var inputs = $('div.inputs input', this);
			/* Funcs */
			var inputs_values = function(inputs){
					return $.makeArray(inputs.map(function(i){
							var ret = parseInt($(this).val());
							if (isNaN(ret)) {
								ret = (i==0)? data.min : data.max;
								// Place the default min-max data there
								$(this).val(ret);
								}
							return ret;
							}));
					};
			/* Initial data */
			var data = {
				min: parseInt(trackbar.attr('data-min')),
				max: parseInt(trackbar.attr('data-max')),
				values: undefined
				};
			data.values = inputs_values(inputs);
			/* Init the trackbar */
			trackbar.slider({
					range: true,
					min: data.min,
					max: data.max,
					values: data.values,
					slide: function(event, ui){
							inputs.eq(0).val(ui.values[0]);
							inputs.eq(1).val(ui.values[1]);
0							}
					});
			/* OnChange for the inputs */
			inputs.keyup(function(){
				trackbar.slider("option", 'values', inputs_values(inputs));
				});
			});
	});
