//HANDLES MOST FRONT END ANIMATION LOGIC FOR THE SITE SEARCH - SPEAKS WITH returnSearch.js
(function( $ )
{
	$.fn.siteSearch = function() 
	{
	
	var obj = this;
	var searchActive = false;
	var closeIntention = true;
	
	$('#underline').hide();
	$('#suggested-search').hide();
	$('a.close-search').hide();
	$('#search-input').val("");
	
	$(this).mouseleave(function() {
		closeIntention = true;
	});
	
	$(this).mouseenter(function() {
		closeIntention = true;
	});
	
	$('#spacer-header').mouseenter(function() {
		closeIntention = true;
	});
	
	$.fn.siteSearch.closeSearchIntent = function() {
		//alert("reset");
		closeIntention = false;
		//alert(closeIntention);
		$('#search-content #center-content').mouseenter(function() {
			closeIntention = false;
			//alert(closeIntention);
		});
					
		$('#search-content #center-content').mouseleave(function() {
			closeIntention = true;
			//alert(closeIntention);
		});
		
	}
	
	$('#search-input').mouseenter(function() {
		closeIntention = false;
		//alert(closeIntention);
	});
					
	$('#search-input').mouseleave(function() {
		closeIntention = true;
		//alert(closeIntention);
	});
		
	$('#search-content #center-content').mouseenter(function() {
		closeIntention = false;
			//alert(closeIntention);
	});
					
	$('#search-content #center-content').mouseleave(function() {
		closeIntention = true;
		//alert(closeIntention);
	});
	
	
	$(this).find('#search-icon').mouseenter(function() {
		$(this).addClass('active');
	});
	
	$(this).find('#search-icon').click(function() {
		$(this).addClass('active');
	});
	
	$(this).find('#search-icon').mouseleave(function() {
		if(searchActive == false) {
			$(this).removeClass('active');
		}
	});
	
	var inputOpen = false;
	
	this.click(function() {
		
		if(inputOpen == false) {
			searchActive = true;
			closeIntention = false;
			//suggestString = '<div id="suggested-search"><div id="center-content"><h1>Search suggestions</h1><ul class="suggestions" id="searchSuggestions"></ul></div></div>';
			
			contentHeight = $('#content-wrapper').height();
			//$('#search-overlay').fadeTo('fast',0.95);
			//$('#search-overlay-2').fadeTo('fast',0.95);
			//document.getElementById('search-content').innerHTML = suggestString;
			
			//should we get the right position for the search overlay ?
			var searchPosition = $('#search-input').offset();
			newPosY = searchPosition.top + 40
			
			$('#search-overlay').css('top', newPosY); //40 is the height of the search container
			$('#search-overlay').css({height: contentHeight});
			
			//fix the magical second overlay...
			$('#search-overlay-2').css('height', newPosY);
			
			$(this).find('#search-icon').addClass('active');
			$('#underline').show();
			$(this).find("#underline").animate({width:'157px'}, 500,
				function() {
					inputOpen = true;
					searchActive = true;
					$('#search-input').focus();
					
					$('#search-content #center-content').mouseenter(function() {
					closeIntention = false;
					//alert(closeIntention);
					});
					
					$('#search-content #center-content').mouseleave(function() {
						closeIntention = true;
						//alert(closeIntention);
					});
				});
			}
	});
	
	
	
	
	$.fn.siteSearch.closeSearch = function() {
		//alert("closeIntention: " + closeIntention);
		//alert("inputOpen: " + inputOpen);
		if((inputOpen == true) && (closeIntention == true)){
			updateHashtag2({
				pageid: currentPageId,
				subsection: currentSubsection,
				itemid: currentItemId,
				quietUpdate: true
			});
			document.getElementById('search-input').value = "";
			$('a.close-search').hide();
			$('#search-overlay').fadeTo('fast',0);
			$('#search-overlay-2').fadeTo('fast',0);
			$('#search-input').val("");
			$("#underline").animate({width:'0px'}, 500,
				function() {
				$('#search-results').html("");
				$('#search-overlay').hide();
				$('#search-overlay-2').hide();
				$('#underline').hide();
				$('#search-icon').removeClass('active');
				inputOpen = false;
				searchActive = false;
				closeIntention = true;
				});	
			
			
			
		}	
		
	}
	
	$.fn.siteSearch.exitSearch = function() {
	
		document.getElementById('search-input').value = "";
		$('a.close-search').hide();
		$('#search-overlay').fadeTo('fast',0);
		$('#search-overlay-2').fadeTo('fast',0);
		$('#search-input').val("");
		$("#underline").animate({width:'0px'}, 500,
			function() {
			$('#search-results').html("");
			$('#search-overlay').hide();
			$('#search-overlay-2').hide();
			$('#underline').hide();
			$('#search-icon').removeClass('active');
			inputOpen = false;
			searchActive = false;
			closeIntention = true;
		});	

	}
	
	$('body , html').click(function() {
		$.fn.siteSearch.closeSearch();
	});
	
	/*$('a.close-search').click(function() {
		closeSearch();
	});*/
	
	var _doSearch = function() {
		if(inputOpen == true){
			searchSubmission = $('#search-input').val();
			//$.fn.fetchGeneralData(searchSubmission);
			Backbone.history.navigate('/search/' + searchSubmission, true);
			closeIntention = false;
			return false;
		}
	};
	
	$('#search-icon').click(_doSearch);
	
	$(document).bind('keypress', function(e) {
	    if(e.keyCode == 13) {
	    	_doSearch();
	    }
	});



  	};
})( jQuery );
