window.addEvent('domready', function() {
	var getJsonResults = new Request.JSON({
		url: 'http://www.pasidarykpats.lt/autocompleter/',
		link: 'chain',
		method:'get',
		noCache: true,
		onFailure: function(){
			//alert('Ivyko ryšio klaida');
		},
		onSuccess: function(responseJSON, responseText){
			$('m-ul').empty();
			for(prop in responseJSON){
				var li = new Element('li',{'html':responseJSON[prop]});
				li.inject($('m-ul'));
			}
			addResultEvents();
			$('m-ul').scrollTo(0,0);
		}
	});
	var submitInputBlurEvent = function(e){
		$('m-ul').empty();
	}
	var requestDelay = 0;
	var requestFunction = function(){
		getJsonResults.get({'querry':$('m-form-input').get('value')})
	}
	$('m-form-submit').addEvent('click', function(e){
		$('m-input-holder').submit();
	});
	function addResultEvents(){
		$$('#m-result-container li').each(function(item, index){
			item.addEvents({
				'mouseenter':function(e){
					$$('#m-result-container li').each(function(item2, index2){
						item2.removeClass('m-hover');
					});
					item.addClass('m-hover');
				},
				'click':function(e){
					$('m-form-input').set('value',item.get('text'));
					$('m-ul').empty();
					$('m-form-input').focus();
					$('m-input-holder').submit();
				}
			});
		});
	}
	$('m-form-input').addEvent('blur', submitInputBlurEvent);
	$('m-result-container').addEvents({
		'mouseenter':function(e){
			$('m-form-input').removeEvent('blur', submitInputBlurEvent);
		},
		'mouseleave':function(e){
			$('m-form-input').addEvent('blur', submitInputBlurEvent);
		}
	});
	$('m-form-input').addEvents({
		'keydown':function(e){
			switch(e.key){
				case 'down':
					e.stop();
					activeLi = $$('.m-hover')[0];
					if($chk(activeLi)){
						activeLi.removeClass('m-hover');
						if($chk(activeLi.getNext('li')))activeLi.getNext('li').addClass('m-hover');
						else $$('#m-result-holder li')[0].addClass('m-hover');
					}else{
						if($chk($$('#m-result-holder li')[0]))$$('#m-result-holder li')[0].addClass('m-hover');
					}
					makeScroll();
				break;
				case 'up':
					e.stop();
					activeLi = $$('.m-hover')[0];
					if($chk(activeLi)){
						activeLi.removeClass('m-hover');
						if($chk(activeLi.getPrevious('li')))activeLi.getPrevious('li').addClass('m-hover');
						else $$('#m-result-holder li').reverse()[0].addClass('m-hover');
					}else{
						if($chk($$('#m-result-holder li').reverse()[0]))$$('#m-result-holder li').reverse()[0].addClass('m-hover');
					}
					makeScroll();
				break;
				case 'enter':
					e.stop();
					if(!$$('.m-hover').length)$('m-input-holder').submit();
					else{
						$('m-form-input').set('value',$$('.m-hover')[0].get('text'));
						$('m-ul').empty();
						$('m-form-input').blur();
						$('m-input-holder').submit();
					}
				break;
			}
		},
		'keyup':function(e){
			if(e.key != 'enter' && e.key != 'up' && e.key != 'down' && e.key != 'left' && e.key != 'right'){
				clearTimeout(requestDelay);
				if($('m-form-input').get('value').length > 1) requestDelay=requestFunction.delay(500);
				else $('m-ul').empty();
			}
		}
	});
	function makeScroll(){
		if($chk($$('.m-hover')[0])){
			scrollPos = $('m-ul').getSize().y-$$('.m-hover')[0].getPosition('m-ul').y-$$('.m-hover')[0].getSize().y;
			if(scrollPos < 0) $('m-ul').scrollTo(0, $('m-ul').getScroll().y-1*scrollPos);
			else if($('m-ul').getSize().y - scrollPos < $$('.m-hover')[0].getSize().y)$('m-ul').scrollTo(0, $('m-ul').getScroll().y-($$('.m-hover')[0].getSize().y-$$('.m-hover')[0].getNext('li').getPosition($('m-ul')).y));
		}
	}
	
	// populiariausios paieskos //
	
	$('popular-search-cont').getChildren('div')[0].getChildren('a').addEvent('click', function(e){
		e.stop();
		$('m-form-input').set('value', this.get('text'));
		$('m-input-holder').submit();
	});
	
	
	
});
