function is_numeric (mixed_var) {
    if (mixed_var === '') {
        return false;
    }
 
    return !isNaN(mixed_var * 1);
}

window.addEvent('domready', function() {
	
	if ($defined($('in_miasto')))
	{
		$('in_miasto').addEvent('blur', function() {
			if(this.value=='')this.value='Nazwa miasta...';
		});
		$('in_miasto').addEvent('focus', function() {
			if(this.value=='Nazwa miasta...')this.value='';
		});

		new Autocompleter.Request.JSON('in_miasto', '/js/completeMiasto', {
			'postVar': 'miasto'
		});
	}
	if ($defined($('in_dziel')))
	{
		$('in_dziel').addEvent('blur', function() {
			if(this.value=='')this.value='Nazwa dzielnicy...';
		});
		$('in_dziel').addEvent('focus', function() {
			if(this.value=='Nazwa dzielnicy...')this.value='';
		});

		new Autocompleter.Request.JSON('in_dziel', '/js/completeDist', {
			'postVar': 'dziel'
		});
	}
	if ($defined($('in_ex_name')))
	{
		$('in_ex_name').addEvent('blur', function() {
			if(this.value=='')this.value='Nazwa firmy...';
		});
		$('in_ex_name').addEvent('focus', function() {
			if(this.value=='Nazwa firmy...')this.value='';
		});

	}
	if ($defined($('in_ulic')))
	{
		$('in_ulic').addEvent('blur', function() {
			if(this.value=='')this.value='Ulica...';
		});
		$('in_ulic').addEvent('focus', function() {
			if(this.value=='Ulica...')this.value='';
		});

		new Autocompleter.Request.JSON('in_ulic', '/js/completeStreet', {
			'postVar': 'ulic'
		});
	}
	if ($defined($('sort-sel')))
	{
		$('sort-sel').addEvent('change', function() {
			$('sort').submit();
		});
	}
	if ($defined($('miniform')))
	{
		$('miniform').addEvent('submit', function() {
			if ($defined($('in_miasto')))
				if($('in_miasto').value=='Nazwa miasta...')$('in_miasto').value='';
			if ($defined($('in_dziel')))
				if($('in_dziel').value=='Nazwa dzielnicy...')$('in_dziel').value='';
			if ($defined($('in_ulic')))
				if($('in_ulic').value=='Ulica...')$('in_ulic').value='';
			if ($defined($('in_ex_name')))
				if($('in_ex_name').value=='Nazwa firmy...')$('in_ex_name').value='';
			
			$$('.from').each(function(el, index){
				if(el.value=='Cena od...')el.value='';
			});

			$$('.to').each(function(el, index){
				if(el.value=='Cena do...')el.value='';
			});
		});

		$$('.from').each(function(el, index){
			el.addEvent('focus', function() {
				if(this.value=='Cena od...')this.value='';
			});
			el.addEvent('blur', function() {
				if(this.value=='')this.value='Cena od...';
				el.getSiblings().each(function(si, index){
					if(si.hasClass('bt') && el.value=='Cena od...'){ si.value=''; mark = si; }
					else if(si.hasClass('bt')){ si.value='bt'; mark = si; }
					else if(si.hasClass('to') && is_numeric(si.value))mark.value='bt';
				});
			});
			Event.Keys.backspace = 8;

			el.addEvent('keyup', function(event){
				if (!is_numeric(event.key))
				{
					if ((event.key != "backspace"))
					{
						el.value = el.value.substr(0,el.value.length-1);
					}
				}
			});

		});

		$$('.to').each(function(el, index){
			el.addEvent('focus', function() {
				if(this.value=='Cena do...')this.value='';
			});
			el.addEvent('blur', function() {
				if(this.value=='')this.value='Cena do...';
				var mark = null
				el.getSiblings().each(function(si, index){
					if(si.hasClass('bt') && el.value=='Cena do...'){ si.value=''; mark = si; }
					else if(si.hasClass('bt')){ si.value='bt'; mark = si; }
					else if(si.hasClass('from') && is_numeric(si.value))mark.value='bt';
				});
			});
			Event.Keys.backspace = 8;

			el.addEvent('keyup', function(event){
				if (!is_numeric(event.key) && !(event.code >= 96 && event.code <= 105) )
				{
					if ((event.key != "backspace"))
					{
						el.value = el.value.substr(0,el.value.length-1);
					}
				}
			});
		});
	}
});
