function validatePriceTo(){
	// pozivamo odgovarajucu metodu
	calculateRange( "selPriceFrom" , "selPriceTo" );
}
function validateMileageTo(){
	// pozivamo odgovarajucu metodu
	calculateRange( "selMileageFrom" , "selMileageTo" );
}
function validateYearTo(){
	// pozivamo odgovarajucu metodu
	calculateRange( "selYearFrom" , "selYearTo" );
}

function resetRefineSearch() {
	// getting parameters from url
	var prices = null;
	var mileage = null;
	var years = null;
	try { prices = window.location.href.match( "price-[0-9]+[+0-9]*" )[0] } catch(e) {};
	try { mileage = window.location.href.match( "mileage-[0-9]+[+0-9]*" )[0] } catch(e) {};
	try { years = window.location.href.match( "year-[0-9]+[+0-9]*" )[0] } catch(e) {};
	
	// reseting price
	if ( prices != null ) {
		// selecting mileage from (if exists)
		resetSelectBox( "selPriceFrom" , getParameterValue( prices , "[-][0-9]+" ) );
		removeLowerValues( "selPriceTo" , document.getElementById( "selPriceFrom" ).value );
		
		// selecting mileage to (if exists)
		resetSelectBox( "selPriceTo" , getParameterValue( prices , "[+][0-9]+" ) );
	}
	
	// reseting mileage
	if ( mileage != null ) {
		// selecting mileage from (if exists)
		resetSelectBox( "selMileageFrom" , getParameterValue( mileage , "[-][0-9]+" ) );
		removeLowerValues( "selMileageTo" , document.getElementById( "selMileageFrom" ).value );
		
		// selecting mileage to (if exists)
		resetSelectBox( "selMileageTo" , getParameterValue( mileage , "[+][0-9]+" ) );
	}
	
	// reseting years
	if ( years != null ) {
		// selecting year from (if exists)
		resetSelectBox( "selYearFrom" , getParameterValue( years , "[-][0-9]+" ) );
		removeLowerValues( "selYearTo" , document.getElementById( "selYearFrom" ).value );
		
		// selecting year from (if exists)
		resetSelectBox( "selYearTo" , getParameterValue( years , "[+][0-9]+" ) );
	}
	
}

function resetSelectBox( id , value ) {
	// if value is not defined or equal any, return
	if ( value == null || value == "any" ) return;
	
	// getting refference to the select box
	var selectBox = document.getElementById( id );
	
	// reseting value
	for ( i = 0; i < selectBox.options.length; i++ ) {
		if ( selectBox.options[i].innerHTML.replace( "." , "" ) == value )
			selectBox.selectedIndex = i;
	}
	
}

function getParameterValue( string , regExp ) {
	value = null;
	try {
		value = string.match( regExp )[0].substr(1);
	} catch(e) {  };
	
	return value;
}

function removeLowerValues( id , value ) {
	if ( value == "any" ) return;
	
	var selectBox = document.getElementById( id );
	
	for ( i = selectBox.options.length - 1; i > 0; i-- ) {
		if ( parseInt( selectBox.options[i].value ) <  parseInt( value ) )
			selectBox.removeChild( selectBox.options[i] );
	}
	
}

window.onload = function() {
    var selPriceFrom = document.getElementById('selPriceFrom');
    selPriceFrom.onchange = function(){
        validatePriceTo();
        updateCounter();
//        ajaxCounting(selPriceFrom,'selPriceFrom');
    }
    var selPriceTo = document.getElementById('selPriceTo');
    selPriceTo.onchange = function(){
    	updateCounter();
//        ajaxCounting(selPriceTo,'selPriceTo');
    }
    var selYearFrom = document.getElementById('selYearFrom');
    selYearFrom.onchange = function(){
        validateYearTo();
        updateCounter();
//        ajaxCounting(selYearFrom,'selYearFrom');
    }
    var selYearTo = document.getElementById('selYearTo');
    selYearTo.onchange =function(){
    	updateCounter();
//        ajaxCounting(selYearTo,'selYearTo');
    }
    var selMileageFrom = document.getElementById('selMileageFrom');
    selMileageFrom.onchange =function(){
        validateMileageTo();
        updateCounter();
//        ajaxCounting(selMileageFrom,'selMileageFrom');
    }
    var selMileageTo = document.getElementById('selMileageTo');
    selMileageTo.onchange =function(){
    	updateCounter();
//        ajaxCounting(selMileageTo,'selMileageTo');
    }
    
    // pamtimo example string iz search polja
    ForExample = document.getElementById('text-search').value;
    
    // reseting refine search
    resetRefineSearch();
}