function number_format( number, decimals, dec_point, thousands_sep ) {
    var n = number, prec = decimals;
    var toFixedFix = function (n,prec) {
        var k = Math.pow(10,prec);
        return (Math.round(n*k)/k).toString();
    };
 
    n = !isFinite(+n) ? 0 : +n;
    prec = !isFinite(+prec) ? 0 : Math.abs(prec);
    var sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep;
    var dec = (typeof dec_point === 'undefined') ? '.' : dec_point;
 
    var s = (prec > 0) ? toFixedFix(n, prec) : toFixedFix(Math.round(n), prec); //fix for IE parseFloat(0.55).toFixed(0) = 0;
 
    var abs = toFixedFix(Math.abs(n), prec);
    var _, i;
 
    if (abs >= 1000) {
        _ = abs.split(/\D/);
        i = _[0].length % 3 || 3;
 
        _[0] = s.slice(0,i + (n < 0)) +
              _[0].slice(i).replace(/(\d{3})/g, sep+'$1');
        s = _.join(dec);
    } else {
        s = s.replace('.', dec);
    }
    if (s.indexOf(dec) === -1 && prec > 1) {
        s += dec+new Array(prec).join(0)+'0';
    }
    return s;
}


function zajezdyCityList(country,activeCity)
{
	if(!country) var data = null;
	else var data = 'country='+encodeURIComponent(country);
	if(activeCity != false) data += '&active='+encodeURIComponent(activeCity);
	
	$.ajax({
		beforeSend: function(){ document.getElementById('frm-search-destination-city').disabled = true; },
		success: zajezdyCityListHandle,
		url: './ajax.php?c=zajezdy&action=city-list',
		type: 'POST',
		data: data
	});
}
function zajezdyCityListTruncate()
{
	var target = document.getElementById('frm-search-destination-city');
	target.innerHTML = '';
	var option = document.createElement('option');
	option.value = '';
	option.innerHTML = '(vyberte zemi)';
	target.appendChild(option);
}

function zajezdyCityListHandle(response)
{
	var target = document.getElementById('frm-search-destination-city');
	target.innerHTML = '';
	var cities = response.split(';');
	var option = document.createElement('option');
	option.value = '';
	option.innerHTML = '(nezáleží)';
	target.appendChild(option);
	for(var i = 0; i < cities.length - 1; ++i)
	{
		if(cities[i] != '')
		{
			var option = document.createElement('option');
			if(cities[i][0] != '!')
			{
				option.value = cities[i];
				option.innerHTML = cities[i];
			}
			else
			{
				option.value = cities[i].substr(1);
				option.innerHTML = cities[i].substr(1);
				option.selected = true;
			}
			target.appendChild(option);
		}
	}
	
	target.disabled = false;
}

function zajezdyTransportFromList(type,activeFrom)
{
	var label = document.getElementById('frm-search-transport-from-label');
	switch(type)
	{
		case('Autobus'): label.innerHTML = 'Odjezd z:'; break;
		case('Letecky'): label.innerHTML = 'Odlet z:'; break;
		default: label.innerHTML = 'Z:'; break;
	}
	
	if(!type) var data = null;
	else var data = 'type='+encodeURIComponent(type);
	if(activeFrom != false) data += '&active='+encodeURIComponent(activeFrom);
	
	$.ajax({
		beforeSend: function(){ document.getElementById('frm-search-transport-from').disabled = true; },
		success: zajezdyTransportFromListHandle,
		url: './ajax.php?c=zajezdy&action=transport-from-list',
		type: 'POST',
		data: data
	});
}

function zajezdyTransportFromListHandle(response)
{
	var target = document.getElementById('frm-search-transport-from');
	target.innerHTML = '';
	var option = document.createElement('option');
	option.value = '';
	option.innerHTML = '(nezáleží)';
	target.appendChild(option);
	
	var froms = response.split(';');	
	for(var i = 0; i < froms.length - 1; ++i)
	{
		if(froms[i] != '')
		{
			var option = document.createElement('option');
			if(froms[i][0] != '!')
			{
				option.value = froms[i];
				option.innerHTML = froms[i];
			}
			else
			{
				option.value = froms[i].substr(1);
				option.innerHTML = froms[i].substr(1);
				option.selected = true;
			}
			target.appendChild(option);
		}
	}
	target.disabled = false;
}
