var objSearchBoxMake;
var objSearchBoxModel;
var objSearchBoxSubmit;
var strSearchBoxDefault = "e.g. N95";
var strSearchBoxClassName = 'inactive';
var blnSearchBoxEventTracking;

function fnValidateSearchBox()
{
	if(objSearchBoxMake.val().length == 0 && (objSearchBoxModel.val().length == 0 || objSearchBoxModel.val().toLowerCase() == strSearchBoxDefault.toLowerCase()))
	{
		alert("Please enter some search criteria.");
		objSearchBoxMake.focus();
		if (blnSearchBoxEventTracking) Envirofone.fnTrackEvent('Required: Search criteria');
		return false;
	}
	else if(objSearchBoxModel.val().length > 0 && (jQuery.trim(objSearchBoxModel.val().toLowerCase()) != strSearchBoxDefault.toLowerCase()) && objSearchBoxModel.val().match(/^[a-zA-Z0-9\-\.\s]{1,30}$/) == null)
	{
		alert("Sorry, you have entered some invalid characters in the search box. Please try again.");
		objSearchBoxModel.focus();
		if (blnSearchBoxEventTracking) Envirofone.fnTrackEvent('Invalid: Search criteria');
		return false;
	}
	else
	{
		var strUrl = '';

		if(objSearchBoxMake.val().length > 0)
		{
			strUrl += 'make=' + escape(objSearchBoxMake.val()) + '&';
		}
		
		if(objSearchBoxModel.val().toLowerCase() != strSearchBoxDefault.toLowerCase())
		{
			strUrl += 'search=' + escape(jQuery.trim(objSearchBoxModel.val())) + '&';
		}

		objSearchBoxSubmit.attr('value',"Searching...");
		location.href = '/trade/?' + strUrl.substring(0,strUrl.length - 1);
		return false;
	}
}

function fnDefaultButtonSearchBox(event)
{
	var intKeyCode = (event.keyCode ? event.keyCode : event.which);
	
	if(intKeyCode == 3 || intKeyCode == 13)
	{
		event.preventDefault();
		objSearchBoxSubmit.click();
	}
}

function fnKeywordsFocusSearchBox(event)
{
	if(event.type == 'focus' && objSearchBoxModel.val().toLowerCase() == strSearchBoxDefault.toLowerCase())
	{
		objSearchBoxModel.attr('value','').removeClass(strSearchBoxClassName);
	}
	else if(event.type == 'blur' && (objSearchBoxModel.val() == '' || objSearchBoxModel.val().toLowerCase() == strSearchBoxDefault.toLowerCase()))
	{
		objSearchBoxModel.addClass(strSearchBoxClassName).attr('value',strSearchBoxDefault);
	}
}

$(document).ready(
	function()
	{
		blnSearchBoxEventTracking = ((typeof Envirofone != 'undefined') === true);

		var objDiv = $('div.SearchBox');

		objSearchBoxMake = $('#ListMake');
		objSearchBoxModel = objDiv.find("input[id$='TxtModel']");
		objSearchBoxSubmit = objDiv.find("input[id$='BtnSearch']");

		objSearchBoxMake.bind('keypress',fnDefaultButtonSearchBox);
		objSearchBoxModel.bind('keypress',fnDefaultButtonSearchBox);
		objSearchBoxModel.bind('focus blur',fnKeywordsFocusSearchBox);
		objSearchBoxSubmit.bind('click',fnValidateSearchBox);
		
		if(objSearchBoxModel.val().toLowerCase() == strSearchBoxDefault.toLowerCase())
		{
			objSearchBoxModel.addClass(strSearchBoxClassName);
		}
	}
);