// using jQuery 1.2.6
// jquery.com


$(document).ready(function () {
    var resultIndex = 0;
    var suggestOver = false;
	var selectedInput = null;
	var searchLabel = "Search";
			
	

	
    //	hide or show search label
	
	
    $("#tSearch").blur()
	.val('Search')
	.addClass('greyed')
	.focus(function(){
		if($(this).val() == searchLabel) {
			$(this).val('').removeClass('greyed');
		}
		
	})
	.blur(function(){ // on blur hide suggest box
		if ($(this).val() == '' ) {
			$(this).val(searchLabel).addClass('greyed');
		}
		if (suggestOver == false) {
			$('#suggest').hide();
		}
	});
        
	
	
	
	
   $('#suggest').hover(function () {
        suggestOver = true;
    }
    , function () {
        suggestOver = false;
    }).click(function(){
		$("#tSearch").focus();
	});
	
	
	
    $('#search form').submit(function () {
        var resultsSearched = $("#tSearch").data('resultData').results;
		
			if (resultsSearched != 0) {
				var resultNum = $("#tSearch").data('resultData').resultNum;
				 newLocation = $("#suggest .ajaxSearch_result a").eq(resultNum).attr('href');
				window.location =  newLocation;
				return false;
			}
			if ($('#tSearch').val() != '' && $('#tSearch').val() != searchLabel) {
				return true;
			} else {
				return false;
			}
        
    });
	
	
	
	
    $("#tSearch").data('resultData', {resultNum :- 1, results : 0})
	.keyup(function (event) {
        var resultIndex = $(this).data('resultData').resultNum;
        var resultsLength = $('#suggest .ajaxSearch_result').size();
        switch (event.keyCode) {
            case 38:
                
                if (resultIndex < 1) {
                    result = resultsLength - 1;
                }
                else {
                    result = (resultIndex - 1) % resultsLength;
                }
                $(this).data('resultData', {
                    resultNum : result, results : 1
                }
                );
				
                //console.log("resultIndex after = " + resultIndex);
				
                resultIndex = $(this).data('resultData').resultNum;
                $('#suggest .ajaxSearch_result').removeClass('highlight');
                $('#suggest .ajaxSearch_result').eq(resultIndex).addClass('highlight');
                break;
            case 40:
               
                if (resultIndex > resultsLength) {
                    result = 0;
                }
                else {
                    result = (resultIndex + 1) % resultsLength;
                }
                $(this).data('resultData', {
                    resultNum : result, results : 1
                }
                );
				
                //console.log("resultIndex after = " + resultIndex);
				
                resultIndex = $(this).data('resultData').resultNum;
                $('#suggest .ajaxSearch_result').removeClass('highlight');
                $('#suggest .ajaxSearch_result').eq(resultIndex).addClass('highlight');
                break;
            default :
				var resultIndex = 0;
                var search;
                search = $("#tSearch").val();
                if (search.length > 2) {
                    var resultIndex = 0;
                    $.ajax({
                        type : "GET", url : "ajaxsearch.aspx", data : "search=" + search, success : function (message) {
                            if (message.length > 20) {
                                $("#suggest").empty().append(message).show();
                            }
                            else {
                                // Empty suggestion list
                                $("#suggest").empty().append("<img src='/userfiles/images/ajax-loader.gif'/>");
                                var t = setTimeout(function () {
                                    $('#suggest').fadeOut();
                                }
                                , 100);
                            }
                        }
                    });
                }
                else {
                    
                    $("#suggest").empty().hide();
                    $("#tSearch").data('resultData', {
                        resultNum :-1, results : 0
                    });
                }
        }
    });
});
