Epson.FAQSearch =
{
	searching:false,

	setup: function()
	{
		jQuery( '#FAQSearch' ).bind( 'submit', Epson.FAQSearch.search );
	},

	search: function(e)
	{
		var userSearchTerm = jQuery( '#FAQSearch #f_search_keyword' ).val();
		var prodName = jQuery( '#FAQSearch #f_prod_name' ).val(); // hidden field value being passed

		var url = jQuery( '#FAQSearch' ).attr( 'class' ).match( /faq-url-([^\s]+)/ )[1];

		if ( userSearchTerm && !Epson.FAQSearch.searching )
		{
			// save FAQ list
			if ( !jQuery( '#FAQSearch' ).parent().find( '.faqNonSearch' ).length )
			{
				// save list
				var faq = jQuery( '<div class="faqNonSearch" style="display:none"></div>' ).append( jQuery( '#FAQSearchResults' ).children() );
				faq.insertAfter( jQuery( '#FAQSearchResults' ) );

				// show faq button
				jQuery( '<a href="#" class="floatRight buttonSmall buttonPlus"><span>'+Epson.Localisation.ProductBrowser.TXT002+'</span></a>' ).bind( 'click', Epson.FAQSearch.showAll ).insertAfter( jQuery( '#FAQSearch h4' ) );
			}

			// clear result list and add loading icon
			jQuery( '#FAQSearchResults' ).empty().addClass( 'loading' );

			Epson.FAQSearch.searching = true;
			
			// load in faw search content
			jQuery( '#FAQSearchResults' ).load( url, { 'usrSearchTerm':userSearchTerm, 'prodName':prodName }, Epson.FAQSearch.handleResult );
		}

		e.preventDefault();
	},

	handleResult: function()
	{
		// remove loading animation
		jQuery( '#FAQSearchResults' ).removeClass( 'loading' );

		Epson.FAQSearch.searching = false;
	},

	showAll: function(e)
	{
		// retrieve list
		jQuery( '#FAQSearchResults' ).empty().append( jQuery( '.faqNonSearch' ).children() );
		jQuery( '#FAQSearch' ).parent().find( '.faqNonSearch' ).remove();

		// remove faq button
		jQuery( '#FAQSearch a.buttonSmall' ).remove();

		e.preventDefault();
	}
}