var Fulltext = function () {
	this.headerFulltextSearchForm = {};
	this.initHeaderFulltextSearch();
};

Fulltext.FORM_SELECTORS = {

	HEADER_FULLTEXT: {

		ID_SELECTOR					: '#header-fulltext-search',
		PROMPT_LABEL_CLASS_SELECTOR	: 'label.prompt-label'

	}
	
}

Fulltext.prototype = {

	initHeaderFulltextSearch: function () {

		this.headerFulltextSearchForm = $(Fulltext.FORM_SELECTORS.HEADER_FULLTEXT.ID_SELECTOR).get(0);

		var inputTextActiveClass = 'inputTextActive';
		var inputTextPasiveClass = 'inputTextPassive';
		var visibilityStr = 'visibility';
		var visibleStr = 'visible';
		var hiddenStr = 'hidden';

		$(this.headerFulltextSearchForm).find(Fulltext.FORM_SELECTORS.HEADER_FULLTEXT.PROMPT_LABEL_CLASS_SELECTOR).each(function () {

			var $promptLabel = $(this);
			var $promptInput = $('#' + $promptLabel.attr('for'));

			$promptLabel.mouseover(function () {
				$promptInput.removeClass(inputTextPasiveClass).addClass(inputTextActiveClass)
			});
			$promptLabel.mouseout(function () {
				$promptInput.removeClass(inputTextActiveClass).addClass(inputTextPasiveClass)
			});
			$promptLabel.click(function () {
				$promptLabel.css(visibilityStr, hiddenStr);
				$promptInput.focus()
			});
			$promptInput.mouseover(function () {
				$promptInput.removeClass(inputTextPasiveClass).addClass(inputTextActiveClass)
			});
			$promptInput.focus(function () {
				$promptLabel.css(visibilityStr, hiddenStr);
				$promptInput.removeClass(inputTextPasiveClass).addClass(inputTextActiveClass)
			});
			$promptInput.mouseout(function () {
				if ($promptLabel.css(visibilityStr) == hiddenStr) {
					$promptInput.removeClass(inputTextActiveClass).addClass(inputTextPasiveClass)
				}
			});
			$promptInput.blur(function () {
				if ($promptInput.val() == '') {
					$promptLabel.css(visibilityStr, visibleStr)
				}
				$promptInput.removeClass(inputTextActiveClass).addClass(inputTextPasiveClass)
			});

			if ($promptInput.val() != '') {
				$promptLabel.css(visibilityStr, hiddenStr)
			}

		});

	}

}
