// JavaScript Document
var resort_active = -1;
var resort_currentValue = '';
var resort_lis = '';


$('#leadForm input[name=resort], #homepageULFForm input[name=resort], #ulfForm input[name=resort]').keyup(function(e)
{
	var str = $(this).val();
	var offset = $(this).offset();
	if(str.length > 2)
	{
		$('#resortAutocomplete').css('display', 'block');
		if(resort_active == -1)
		{
			resort_currentValue = str;
		}
		lastKeyPressCode = e.keyCode;
		switch(e.keyCode) 
		{
		case 38: // up
			e.preventDefault();
		 	moveSelected2(-1);
		break;
		case 40: // down
		 	e.preventDefault();

		 	moveSelected2(1);
		break;
		case 9: // tab
		case 13: // return
			selectCurrent2();
		 break;
		default:
			resort_active = -1;
			$.ajax({
			      url: root+"functions/ajax.php?f=getResortAutocomplete&str="+str,
			      global: false,
			      type: "POST",
			      dataType: "html",
			      async:true,
			      success: function(data) {
			    	    $('#resortAutocomplete').html(data);
			    	    $('#resortAutocomplete').addClass('active');
			    	   // $('#resortAutocomplete').css({left: offset.left, top: (offset.top + 23)});
			    	    resort_lis = $("li", "#resortAutocomplete");
						
						//add the hover event
			    	    hoverSelected2();
					}
				}
			);			
		break;
		}
	}
	else
	{
		$('#resortAutocomplete').html('');
		$('#resortAutocomplete').removeClass('active');
	}	
});
		
function moveSelected2(step)
{
	resort_active += step;

	if (!resort_lis) 
	{
		return;
	} 
	if(resort_active < 0)
	{
		resort_active = resort_lis.size();
	}
	if (resort_active >= resort_lis.size()) {
		resort_active = -1;
	}
	resort_lis.removeClass("ac_over");

	$(resort_lis[resort_active]).addClass("ac_over");
	selectCurrent2();		
}

function hoverSelected2()
{	
	if (!resort_lis) 
	{
		return;
	}

	$('body').click(function()
	{
		$('#resortAutocomplete').html('');
		$('#resortAutocomplete').removeClass('active');
		$('#resortAutocomplete').css('display', 'none');
		$('input[name=resort]').focus();
		$('body').unbind('click');
	});
	
	resort_lis.each(function(el){ 
		$(this).hover(
			function()
			{
				resort_lis.removeClass("ac_over");
				resort_active = el;
				
				$(this).addClass("ac_over");

				$(this).click( function()
					{
						selectCurrent2();
					} 
				);				
			},
			function()
			{
				$(this).removeClass("ac_over");
			}
		); 
	}); 	
}

function selectCurrent2()
{
	if(resort_active > -1 && resort_active <= resort_lis.size())
	{
		$('input[name=resort]').val('');
		var selected = $(resort_lis[resort_active]).text();
		
		$('input[name=resort]').val(selected);
		//$('#exactMatch').attr('checked', true);
		return true;
	} else if(resort_active == -1 || resort_active > resort_lis.size())
	{
		$('input[name=resort]').val('');		
		$('input[name=resort]').val(resort_currentValue);
		return false;
	}
}
