//check if this is being called from the home page
addEventHandler(window, "load", initGoogleSearch);

var BrowserDetect;
var isHomePage = false;

function initGoogleSearch() {
	getBrowserInfo();
	setIsHomePage();
	setStyles();
}

function setIsHomePage() {
	if (document.getElementById('featurePanel'))
		isHomePage = true;
}

//set the correct style
function setStyles() {
	var cse = document.getElementById('cse');
	
	if (BrowserDetect.browser.toLowerCase().indexOf('explorer') > -1) {
		if (BrowserDetect.version == 6) {
			if (isHomePage) {
				cse.style.margin = '270px 50px 0 0';
			}
			else {
				cse.style.display = 'none';
				document.getElementById('header').style.backgroundImage = 'url("../images/sec_header_ie6.png")';
			}
		}
		else if (BrowserDetect.version == 7) {
			cse.style.cssFloat = 'right';
			if (isHomePage) {
				cse.style.margin = '272px 140px 0 0';
			}
			else {
				cse.style.margin = '-24px 140px 0 0';
				
				var e2;
				inputs = document.getElementsByTagName('input');
				for (i = 0; i < inputs.length; i++) {
					if (inputs[i].className == 'gsc-search-button') {
						e2 = inputs[i];
						break;
					}
				}
				e2.style.paddingLeft = '4px';
			}
		}
		else if (BrowserDetect.version == 8) {
			cse.style.cssFloat = 'right';
			if (isHomePage) {
				cse.style.margin = '272px 140px 0 0';
			}
			else {
				cse.style.margin = '96px 136px 0 0';
				
				var e2;
				inputs = document.getElementsByTagName('input');
				for (i = 0; i < inputs.length; i++) {
					if (inputs[i].className == 'gsc-search-button') {
						e2 = inputs[i];
						break;
					}
				}
				e2.style.paddingLeft = '4px';
			}
		}
	}
	else if (BrowserDetect.browser.toLowerCase().indexOf('safari') > -1) {
		if (isHomePage) {
			cse.style.margin = '272px 140px 0 0';
		}
		else {
			cse.style.margin = '-22px 140px 0 0';
		}
	}
	else if (BrowserDetect.browser.toLowerCase().indexOf('chrome') > -1) {
		if (isHomePage) {
			cse.style.margin = '272px 140px 0 0';
		}
		else {
			cse.style.margin = '-22px 136px 0 0';
		}
	}
	else {
		if (isHomePage) {
			cse.style.margin = '272px 140px 0 0';
		}
		else {
			cse.style.margin = '96px 138px 0 0';
		}
	}
}

//create the object that will handle the search button click event
searchHandler = new Object();
searchHandler.displayResults = function() {
	var cse = document.getElementById('cse');
	
	if (isHomePage)
		document.getElementById('featurePanel').style.display = 'none';
	else {
		document.getElementById('contentLeft').style.display = 'none';
		document.getElementById('contentRight').style.display = 'none';
	}
	
	var wrapper;
	var divs = document.getElementsByTagName('div');
	for (i = 0; i < divs.length; i++) {
		if (divs[i].className == 'gsc-wrapper') {
			wrapper = divs[i];
			break;
		}
	}
	
	if (BrowserDetect.browser.toLowerCase().indexOf('explorer') > -1) {
		var e1;
		var inputs = document.getElementsByTagName('td');
		for (i = 0; i < inputs.length; i++) {
			if (inputs[i].className == 'gsc-input') {
				e1 = inputs[i];
				break;
			}
		}
		
		var e2;
		inputs = document.getElementsByTagName('input');
		for (i = 0; i < inputs.length; i++) {
			if (inputs[i].className == 'gsc-search-button') {
				e2 = inputs[i];
				break;
			}
		}
			

		if (BrowserDetect.version == 6) {
			if (isHomePage) {
				wrapper.style.width = '470px';
				wrapper.style.marginLeft = '40px';
				e1.style.paddingLeft = '260px';
				e2.style.marginLeft = '140px';
			}
			else {
				cse.style.width = '600px';
				cse.style.backgroundColor = '#fff';
				cse.style.paddingLeft = '100px';
				wrapper.style.width = '600px';
			}
		}
		else {
			cse.style.width = '244px';
			cse.style.marginRight = '90px';
			
			if (isHomePage) {
				e1.style.paddingRight = '22px';
				e2.style.paddingLeft = '10px';
			}
			else {
				e1.style.paddingRight = '18px';
				e2.style.paddingLeft = '10px';
				
				var h = document.getElementById('header');
				h.style.height = '680px';
				var resultsBox;
				for (i = 0; i < divs.length; i++) {
					if (divs[i].className == 'gsc-resultsbox-visible') {
						resultsBox = divs[i];
						break;
					}
				}
				resultsBox.style.backgroundColor = '#ccc';
				resultsBox.style.padding = '6px';
			}
		}
	}
	
	wrapper.style.display = 'block';
	wrapper.style.overflow = 'scroll';

	if (!isHomePage) {
		wrapper.style.width = '850px';
		wrapper.style.height = '500px';
		wrapper.style.margin = '20px 0 0 -590px';
		if (document.getElementById('clearSearchResults'))
			document.getElementById('clearSearchResults').style.display = 'block';
	}
}

google.load('search', '1', {language : 'en'});
google.setOnLoadCallback(function() {
var customSearchControl = new google.search.CustomSearchControl('000541805353348209359:nfrmwmdka4w');
customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
customSearchControl.setLinkTarget(google.search.Search.LINK_TARGET_SELF);
customSearchControl.draw('cse');
customSearchControl.setSearchStartingCallback(searchHandler, searchHandler.displayResults);
}, true);

function clearSearchResults() {
	var wrapper;
	var divs = document.getElementsByTagName('div');
	for (i = 0; i < divs.length; i++) {
		if (divs[i].className == 'gsc-wrapper') {
			wrapper = divs[i];
			break;
		}
	}
	wrapper.style.display = 'none';
	
	if (BrowserDetect.browser.toLowerCase().indexOf('explorer') > -1) {
		var h = document.getElementById('header');
		h.style.height = '118px';
	}
	
	if (!isHomePage) {
		document.getElementById('contentLeft').style.display = 'block';
		document.getElementById('contentRight').style.display = 'block';
	}
	
	document.getElementById('clearSearchResults').style.display = 'none';
}

