/**
 * Script for price selector.
 * Price selector include: 
 * - input fiels(hidden - not editable): 
 *	--PriceSelectorFrom
 *	--PriceSelectorFrom
 * - text fields with (estetic) price value
 *	-- PriceSelectorFrom_Text
 *	-- PriceSelectorTo_Text
 */

var A_TPL = {
		'b_vertical' : false,
		'b_watch': true,
		'n_controlWidth': 120,
		'n_controlHeight': 16,
		'n_sliderWidth': 16,
		'n_sliderHeight': 16,
		'n_pathLeft' : 1,
		'n_pathTop' : 1,
		'n_pathLength' : 103,
		's_imgControl': 'images/product/grey_bg.gif',
		's_imgSliderLeft': 'images/product/grey_sl.gif',
		's_imgSliderRight': 'images/product/grey_sl.gif',
		'n_zIndex': 1
	}

var A_INIT = {
		's_form' : 0,
		's_nameLeft': 'PriceSelectorFrom',
		's_nameRight': 'PriceSelectorTo',
		's_div': 'PriceSelectorDiv',
		'n_minValue' : 0,
		'n_maxValue' : 200,
		'n_valueLeft' : 0,
		'n_valueRight' : 1,
		'n_step' : 1,
		's_actionOnMouseUp': 'priceSelector_update();',
		's_actionOnMouseMove': 'priceSelector_updatePriceText()'
	}

/**
 * Function init price selector
 */ 
function priceSelector_init() {
	new slider(A_INIT, A_TPL);
	
	// GET TEXT FIELDS
	priceSelector_updatePriceText();
}

/**
 * Function update product list showed on page according to price selector
 */ 
function priceSelector_update() {
	var priceFrom = document.getElementById('PriceSelectorFrom');
	if(priceFrom == undefined)
		{
		window.status = "Error: Cannot find input PriceSelectorFrom'";
		return;
		}
		
	var priceTo = document.getElementById('PriceSelectorTo');
	if(priceTo == undefined)
		{
		window.status = "Error: Cannot find input PriceSelectorTo'";
		return;
		}
	
	// SEND ENCODED OPTIONS
	var options = '';
	options += ('&args[priceFrom]=' + priceFrom.value ) ;
	options += ('&args[priceTo]=' + priceTo.value ) ;
	
	pagedProductListManager.updateSearchCriteriaOptions(options);
}

/**
 * Function update price in text boxes according to 
 * hidden input form fields
 */ 
function priceSelector_updatePriceText() {
	var priceFrom = document.getElementById('PriceSelectorFrom');
	if(priceFrom == undefined) {
		window.status = "Error: Cannot find input PriceSelectorFrom'";
		return;
	}
		
	var priceTo = document.getElementById('PriceSelectorTo');
	if(priceTo == undefined) {
		window.status = "Error: Cannot find input PriceSelectorTo'";
		return;
	}
	
	// GET TEXT FIELDS
	var priceFrom_Text = document.getElementById('PriceSelectorFrom_Text');
	var priceTo_Text = document.getElementById('PriceSelectorTo_Text');
	
	priceFrom_Text.innerHTML = priceFrom.value;
	priceTo_Text.innerHTML = priceTo.value;
}

bodyOnLoad_addToChain("priceSelector_init();");