google.load('search', '1');

var webSearch;
var contentDiv;

function addPaginationLinks() {
	// The cursor object has all things to do with pagination
	var cursor = webSearch.cursor;
	var curPage = cursor.currentPageIndex; // check what page the app is on
	var pagesDiv = document.createElement('div');

	if (curPage > 0) {
		var previousLink = document.createElement('a');
		previousLink.href = 'javascript:webSearch.gotoPage(' + (curPage-1) + ');';
		previousLink.innerHTML = confPreviousLinkText;
		previousLink.style.marginRight = '5px';
		pagesDiv.appendChild(previousLink);
	} else {
		var previousLink = document.createElement('span');
		previousLink.innerHTML = confPreviousLinkText;
		previousLink.style.marginRight = '5px';
		previousLink.style.color = '#C0C0C0';
		pagesDiv.appendChild(previousLink);
	}

	if (curPage < cursor.pages.length-1) {
		var nextLink = document.createElement('a');
		nextLink.href = 'javascript:webSearch.gotoPage(' + (curPage+1) + ');';
		nextLink.innerHTML = confNextLinkText;
		nextLink.style.marginLeft = '5px';
		pagesDiv.appendChild(nextLink);
	} else {
		var nextLink = document.createElement('span');
		nextLink.innerHTML = confNextLinkText;
		nextLink.style.marginRight = '5px';
		nextLink.style.color = '#C0C0C0';
		pagesDiv.appendChild(nextLink);
	}

	pagesDiv.style.marginTop = '20px';
	pagesDiv.style.marginBottom = '20px';

	contentDiv.appendChild(pagesDiv);
}

function searchComplete() {
	// Check that we got results
	
	contentDiv = document.getElementById('contentDiv');
	contentDiv.innerHTML = '';
	
	if (webSearch.results && webSearch.results.length > 0) {

		var startText = document.createElement('div');
		startText.innerHTML = confStartText + ' <b>' + query + '</b>';
		startText.style.marginBottom = '10px';
		contentDiv.appendChild(startText);
		
		var results = webSearch.results;
		addPaginationLinks(webSearch);
		
		for (var i = 0; i < results.length; i++) {
			// For each result write it's title and image to the screen
			var result = results[i];
			var linkContainer = document.createElement('div');
			linkContainer.style.marginBottom = '10px';
			var newHref = document.createElement('a');
			newHref.href = result.url;
			newHref.innerHTML = result.title;
			linkContainer.appendChild(newHref);

			var newContent = document.createElement('div');
			newContent.innerHTML = result.content;

			linkContainer.appendChild(newContent);
			contentDiv.appendChild(linkContainer);
		}

		// Now add the paging links so the user can see more results.
		addPaginationLinks(webSearch);
	} else {
		var noResult = document.createElement('div');
		noResult.innerHTML = confNoResultText;
		contentDiv.appendChild(noResult);
	}
}

function doSearch(searchWord) {
	
	query = searchWord;
	OnLoad();
	
}

function OnLoad() {
	
	
	if (query) {
		webSearch = new google.search.WebSearch();
		webSearch.setResultSetSize(google.search.Search.LARGE_RESULTSET);
		webSearch.setSiteRestriction(confRestrictPage);
		webSearch.setSearchCompleteCallback(this, searchComplete, null);
		webSearch.execute(query);
	} else {
		contentDiv = document.getElementById('contentDiv');
		contentDiv.innerHTML = confEmptyQuery;
	}
}
google.setOnLoadCallback(OnLoad);
