var boxPosition = -1;
var suggestions = 0;
var minVisiblePosition = 0;
var maxVisiblePosition = 8;
var countrylist = new Array();
var countries =  new Array();
var check = 0;
var LiveTimer;
var wordTimer,consecTimer,clearTimer;

var TimesKeyIsPressed = -1;
//var cnt = 0;
//var cnt = 0;
var selectedItem = 0;
$(document).ready(function(){

});


function fillLookupField(tags)
{
  clearTimeout(wordTimer);
  if(tags.length > 2)
  {
    $('#searchSuggest').html(tags);
  }
  else
  {
    clearSuggestForRealz();
  }
	
}

function changeSelection(element)
{
  element = parseInt(element);
  $('.ui-selectee').removeClass('ui-selected');
  selectedItem = element;
  if(selectedItem>10)
  {
    selectedItem = 1;
  }
  else if(selectedItem<1)
  {
    selectedItem = 10;
  }
  $('#result'+selectedItem).addClass('ui-selected');
}

function goToThere()
{
  var link = $('#result'+selectedItem+' a:first');
  if(link.attr('href') == 'javascript:void(0);')
  {
    link.click();
    clearSuggestForRealz();
  }
  else
  {
    window.location.href = link.attr('href');
  }
}

function get_words(e)
{
  switch( getKeyCode(e) ) {
     case 38:
         // handle up
         changeSelection(selectedItem+1);

         return false;
         break;
     case 40:
         // handle down
         changeSelection(selectedItem-1);
         return false;
         break;
     case 13:
       // handle enter
       if(selectedItem>-1) {
          goToThere();
          return false;
       }
       else {
          $('#siteSearch').bind('submit',function(){return true;});
          $('#siteSearch').submit();
       }
          return false;
       break;
  }
  
	if($('#search').val().length >= 2) {
    $('#searchSuggest').slideDown();
    if($('#searchSuggest').text().length < 5)
      $('#searchSuggest').html('<li><img src="/images/shell_v2/ajax-loader-tiny.gif"> Searching...</li>');
    clearTimeout(wordTimer);
    clearTimeout(consecTimer);
    wordTimer = setTimeout("lookupFill(document.getElementById('search').value)",200);
  }
  return true;
}

function get_golfwords(e)
{
  switch( getKeyCode(e) ) {
     case 38:
         // handle up
         changeSelection(selectedItem+1);

         return false;
         break;
     case 40:
         // handle down
         changeSelection(selectedItem-1);
         return false;
         break;
     case 13:
       // handle enter
       if(selectedItem>-1) {
          goToThere();
          return false;
       }
       else {
          $('#siteSearch').bind('submit',function(){return true;});
          $('#siteSearch').submit();
       }
          return false;
       break;
  }

	if($('#search').val().length >= 2) {
    $('#searchSuggest').slideDown();
    if($('#searchSuggest').text().length < 5)
      $('#searchSuggest').html('<li><img src="/images/shell_v2/ajax-loader-tiny.gif"> Searching...</li>');
    clearTimeout(wordTimer);
    clearTimeout(consecTimer);
    wordTimer = setTimeout("lookupGolfFill(document.getElementById('search').value)",200);
  }
  return true;
}

function get_weddingswords(e)
{
  switch( getKeyCode(e) ) {
     case 38:
         // handle up
         changeSelection(selectedItem+1);

         return false;
         break;
     case 40:
         // handle down
         changeSelection(selectedItem-1);
         return false;
         break;
     case 13:
       // handle enter
       if(selectedItem>-1) {
          goToThere();
          return false;
       }
       else {
          $('#siteSearch').bind('submit',function(){return true;});
          $('#siteSearch').submit();
       }
          return false;
       break;
  }

	if($('#search').val().length >= 2) {
    $('#searchSuggest').slideDown();
    if($('#searchSuggest').text().length < 5)
      $('#searchSuggest').html('<li><img src="/images/shell_v2/ajax-loader-tiny.gif"> Searching...</li>');
    clearTimeout(wordTimer);
    clearTimeout(consecTimer);
    wordTimer = setTimeout("lookupWeddingsFill(document.getElementById('search').value)",200);
  }
  return true;
}

function get_fishingwords(e)
{
  switch( getKeyCode(e) ) {
     case 38:
         // handle up
         changeSelection(selectedItem+1);

         return false;
         break;
     case 40:
         // handle down
         changeSelection(selectedItem-1);
         return false;
         break;
     case 13:
       // handle enter
       if(selectedItem>-1) {
          goToThere();
          return false;
       }
       else {
          $('#siteSearch').bind('submit',function(){return true;});
          $('#siteSearch').submit();
       }
          return false;
       break;
  }

	if($('#search').val().length >= 2) {
    $('#searchSuggest').slideDown();
    if($('#searchSuggest').text().length < 5)
      $('#searchSuggest').html('<li><img src="/images/shell_v2/ajax-loader-tiny.gif"> Searching...</li>');
    clearTimeout(wordTimer);
    clearTimeout(consecTimer);
    wordTimer = setTimeout("lookupFishingFill(document.getElementById('search').value)",200);
  }
  return true;
}

function getKeyCode(e) {
	code = -1;
	if (window.event)
		code = e.keyCode;
	else if (e.which)
		code = e.which;
	return code;
}

function focusSearch() {
  if(TimesKeyIsPressed==-1)
  {
    $('#search').val('');
  }
  TimesKeyIsPressed = 1;
  $('#search').css('color','#000000');
  $('.ui-selectee').removeClass('ui-selected');
  document.getElementById('search').focus();
  selectedItem = -1;
}

function lookupFill(search)
{
  if($('#searchSuggest').text().length < 5)
    $('#searchSuggest').html('<img src="/images/shell_v2/ajax-loader-tiny.gif"> Searching...');
  wordTimer = setTimeout("lookupFill(document.getElementById('search').value)",2000);
	x_LoadSearchBox(search,fillLookupField);
}

function lookupGolfFill(search)
{
  if($('#searchSuggest').text().length < 5)
    $('#searchSuggest').html('<img src="/images/shell_v2/ajax-loader-tiny.gif"> Searching...');
  wordTimer = setTimeout("lookupGolfFill(document.getElementById('search').value)",2000);
	x_LoadGolfSearchBox(search,fillLookupField);
}

function lookupWeddingsFill(search)
{
  if($('#searchSuggest').text().length < 5)
    $('#searchSuggest').html('<img src="/images/shell_v2/ajax-loader-tiny.gif"> Searching...');
  wordTimer = setTimeout("lookupWeddingsFill(document.getElementById('search').value)",2000);
	x_LoadWeddingsSearchBox(search,fillLookupField);
}

function lookupFishingFill(search)
{
  if($('#searchSuggest').text().length < 5)
    $('#searchSuggest').html('<img src="/images/shell_v2/ajax-loader-tiny.gif"> Searching...');
  wordTimer = setTimeout("lookupFishingFill(document.getElementById('search').value)",2000);
	x_LoadFishingSearchBox(search,fillLookupField);
}

function clearSuggest()
{
  clearTimer = setTimeout("clearSuggestForRealz()",2000);
}

function cancelClearSuggest()
{
  clearTimeout(clearTimer);
}
function clearSuggestForRealz()
{
  selectedItem = -1;
  $('#searchSuggest').html('');
  $('#searchSuggest').slideUp('slow');
}

function highlightResult(elem)
{
  elem.style.backgroundColor = '#b2b2b2';
  elem.childNodes[1].style.color = '#ffffff';
}
function lowlightResult(elem)
{
  elem.style.backgroundColor = '#fcfdff';
  elem.childNodes[1].style.color = '#7e7e80';
}

// searched for value in an array
function in_array(aInputArray,checkValue)
{
	for(i=0;i<aInputArray.length;i++)
	{
		if(checkValue == aInputArray[i])
		{
			return 1;
			break;
		}
	}
	return 0;
}

//returns the index of the searched key
function array_search(aInputArray,searchedValue)
{
	for(i=0;i<aInputArray.length;i++)
	{
		if(searchedValue == aInputArray[i])
		{
			return i;
			break;
		}
	}
}

//deletes an element from an indexed array and re-indexes the array
function delete_from_array(aInputArray,indexToDelete)
{
	var newLength = aInputArray.length-1;
	var newArray = new Array();

	if(newLength == 0)
	{
		newArray.length = 0;
	}
	else
	{
		for(i=0;i<aInputArray.length;i++)
		{
			if(i != indexToDelete)
			{
				newArray.push(aInputArray[i]);
			}
		}
	}

	return newArray;
}


var tempTagArray = new Array();

function addToQuickSearch(tagElement)
{
	var tempSearch;
	var elementExists;

	elementExists = in_array(tempTagArray,tagElement);

	if(elementExists == 0 && tempTagArray.length < 3)
	{
		tempTagArray.push(tagElement);
		document.getElementById("temp_search_box").innerHTML = "";
		for(z=0;z<tempTagArray.length;z++)
		{
			var clear = tempTagArray[z].replace(/\_/g,"&nbsp;");
			document.getElementById("temp_search_box").innerHTML += "<a href='javascript:void(0);' class=\"tagsPlus\" onclick=\"removeFromQuickSearch('"+tempTagArray[z]+"')\">"+clear+"</a>+&nbsp;";
		}

		postQuickSearch();

		document.getElementById("search").value = "";
		lookupFill(document.getElementById("search").value);
		document.getElementById("h_row").style.visibility = "visible";
	}
}

function removeFromQuickSearch(tagElement)
{
	var tempSearch2;
	searchedElementPosition = array_search(tempTagArray,tagElement);
	returnedArray = delete_from_array(tempTagArray,searchedElementPosition);
	tempTagArray = returnedArray;
	//alert(tempTagArray.toString());

	document.getElementById("temp_search_box").innerHTML = "";

	if(tempTagArray.length > 0)
	{
		for(z=0;z<tempTagArray.length;z++)
		{
			var clear = tempTagArray[z].replace(/\_/g,"&nbsp;");
			document.getElementById("temp_search_box").innerHTML += "<a href='javascript:void(0);' class=\"tagsPlus\" onclick=\"removeFromQuickSearch('"+tempTagArray[z]+"')\">"+clear+"</a>+";
		}
	}
	else
	{
		document.getElementById("temp_search_box").innerHTML = "";
	}

	postQuickSearch();
}

function postQuickSearch()
{
	var hiddenSearch = "";
	var separator;
	var z=1;

	for(i=0;i<tempTagArray.length;i++)
	{
		if(z < tempTagArray.length)
		{
			separator = "-";
		}
		else
		{
			separator = "";
		}

		if(tempTagArray[i] != "undefined")
		{
			hiddenSearch += tempTagArray[i]+separator;
		}
		z++;
	}

	document.getElementById("hidden_search").value = hiddenSearch;
}
