(function($) {
	window.SCH = window.SCH || {};
	SCH.searchSite = function(e) {
		e.preventDefault();
		var searchString = $.trim($('#fed-hdr-srch-input').val()),
			searchArray = searchString.split(''),
			specialChars = [],
			specialSearch = ((searchString.match(/[\-._+*()\[\]]/g)) ? true : false),
			encodedSearchString = searchString.replace(/[^a-z0-9]/ig, '-'),
			searchUrl = ((SCH.envVar !== undefined && SCH.domain !== undefined) ? 'http://' + SCH.envVar + '.' + SCH.domain : '')  + '/sch/' + ((specialSearch) ? '04' : '02');

		if (searchString === '' || searchString === $('#fed-hdr-srch-input').attr('placeholder')) {
			$('#fed-hdr-srch-input').addClass('fed-hdr-srch-empty');
			return false;
		}

		for (var i=0; i<searchArray.length; i++) {
			if (searchArray[i].match(/[^a-z0-9]/g)) {
				switch (searchArray[i]) {
					case '-':
						specialChars.push('-2d');
					break;
					case '.':
						specialChars.push('-2e');
					break;
					case '_':
						specialChars.push('-5f');
					break;
					case '+':
						specialChars.push('-2b');
					break;
					case '*':
						specialChars.push('-2a');
					break;
					case '(':
						specialChars.push('-28');
					break;
					case ')':
						specialChars.push('-29');
					break;
					case '[':
						specialChars.push('-5b');
					break;
					case ']':
						specialChars.push('-5d');
					break;
					case ' ':
						specialChars.push('-');
					break;
					default:
						specialChars.push(encodeURIComponent(searchArray[i]).replace('%', '-'));
					break;
				}
			}
		}

        if (encodedSearchString.replace(/[\-]/g, '') === '') {
            $('#fed-hdr-srch-input').addClass('fed-hdr-srch-empty');
         	return false;
        } else {
            searchUrl += '/' + encodedSearchString + (specialSearch ? ('/' + specialChars.join('')) : '') + '/articles/index.html';
            location.href = searchUrl;
        }
	};

	$(function() {
		// bind click to search button
		$('#fed-hdr-srch-btn').click(SCH.searchSite);

		// bind enter in search field
		$('#fed-hdr-srch-input').keypress(function(e) {
			if(e.keyCode === 13) {
				SCH.searchSite(e);
			}
		});
	});
})(jQuery);
