// JavaScript Document

function searchSubmit() {
	window.location = '/search.aspx?q=' + encodeURIComponent(document.getElementById('searchInput').value);
	return false;
}

function searchGetQuery() {
	var url = '' + window.location;
	var queryStart = url.indexOf('?') + 1;
	if (queryStart > 0) {
		var parts = url.substr(queryStart).split('&');
		for (var i = 0; i < parts.length; i++) {
			if (parts[i].length > 2 && parts[i].substr(0, 2) == 'q=') {
				return decodeURIComponent(
					parts[i].split('=')[1].replace(/\+/g, ' '));
			}
		}
	}
	return '';
}

function searchOnLoad() {
	// Create search control
	var customSearchControl = new google.search.CustomSearchControl('009459686746268459027:sbnaq5nc39y');
	// Set drawing options to use hidden input box.
	var drawOptions = new google.search.DrawOptions();
	drawOptions.setInput(document.getElementById('hidden-input'));
	// Draw the control in content div
	customSearchControl.draw('results', drawOptions);
	// Run a query
	customSearchControl.execute(searchGetQuery());
}

/* ==================================================================================================== */
// jQuery

$(document).ready(function () {

	// Search bar
	// Requires: jQuery
	// Requires: jquery.validation

	// Cache lookups //
	jSearchForm = $('#search_CSE_twoPageForm');
	jSearchInput = $('#searchInput');

	// Search values which require specific responses...
	var searchWidthDefault = '47';
	var searchWidthExpanded = '190';
	var searchDefaultValue = 'Search';
	var searchIgnoredValues = [
		'',
	]; /*  /^\s+/  */

	//Fade in...
	jSearchForm.hide().css('visibility', 'visible').fadeIn(1000);

	// Populate the default text and apply blur style...
	if (jSearchInput.val() == '') {
		jSearchInput.val(searchDefaultValue);
		if (jSearchForm.hasClass('search_hasFocus')) {
			jSearchForm.removeClass('search_hasFocus');
		}
	}

	// On focus...
	jSearchInput.focus(function () {
		$(this).animate({ width: searchWidthExpanded }, 'fast');
		if ($(this).val() == searchDefaultValue) {
			$(this).val('');
		}
		if (!jSearchForm.hasClass('search_hasFocus')) {
			jSearchForm.addClass('search_hasFocus');
		}
	});

	// On blur...
	jSearchInput.blur(function () {
		$.each(searchIgnoredValues, function (index, value) {
			if (jSearchInput.val() == value) {
				jSearchInput.animate({ width: searchWidthDefault }, 'fast');
				jSearchInput.val(searchDefaultValue);
				if (jSearchForm.hasClass('search_hasFocus')) {
					jSearchForm.removeClass('search_hasFocus');
				}
				return false;
			}
		})
	});

});

/* ==================================================================================================== */
