var searchResultsPath;

function searchContent(query){
	if (query == undefined)
		query = $F('search');
	var newLocation = searchResultsPath + '?query=' + encodeURIComponent(query);
	window.location = newLocation;
	return false; // dla onsubmit
}

var searchResultsPerPage = 10;

function createResultsFromElement(elem) {
	var results = new Object();
	['original-query', 'total-results'].each(function(name) {
		results[name.camelize()] = getDOMChildText(elem, name);
	});
	results.results =
		getDOMChildElements(elem, 'result').map(function(resElem) {
			var result = new Object();
			getDOMChildElements(resElem).each(function(resPropertyElem) {
				result[resPropertyElem.tagName.camelize()] =
					resPropertyElem.childNodes[0].nodeValue;
			});
			return result;
		});
	return results;
}

function showSearchResultsPage(page){
	var queryParam = window.location.href.toQueryParams().query;
	var pageStart = (page-1) * searchResultsPerPage;
	var pageEnd = pageStart + searchResultsPerPage;

	new Ajax.Request('/p4webportal/Search', {
		method: 'get',
		parameters: { query: queryParam, start: pageStart, end: pageEnd },

		onSuccess: function(transport) {
			var scriptNode = transport.responseXML.getElementsByTagName("script")[0];
			if (scriptNode) {
				eval(scriptNode.childNodes[0].nodeValue);
			} else {
				var resultsContainer = $('searchResultsContainer');
				var resultsElem = getDOMChildElements(transport.responseXML, 'search-results')[0];
				var resultsObj = createResultsFromElement(resultsElem);
				$('search').value = resultsObj.originalQuery;
				resultsContainer.innerHTML = '';
				var queryContainer = $('originalQueryContainer');
				queryContainer.innerHTML = '';
				queryContainer.appendChild(document.createTextNode(resultsObj.originalQuery));
				//sIFR.replaceElement(".headPurple", 	named({sFlashSrc: sIFRFlashURL, sColor: "#541184", sWmode: "transparent"}));								
				while(resultsContainer.hashChildNodes) {
					resultsContainer.removeChild(resultsContainer.firstChild);
				}
				if (resultsObj.results.length == 0)
					resultsContainer.innerHTML = 'Brak wyników.';
				resultsObj.results.each(function(result) {
					var resElem = document.createElement('div');
					resultsContainer.appendChild(resElem);

					var resHeader = document.createElement('h4');
					resElem.appendChild(resHeader);

					var anchor = document.createElement('a');
					resHeader.appendChild(anchor);
					anchor.setAttribute('href', result.url);
					
					var resTitle = document.createElement('span');
					resTitle.innerHTML = result.title;
					anchor.appendChild(resTitle);

					var resSummary = document.createElement('span');
					resSummary.innerHTML = result.summary;
					resElem.appendChild(resSummary);
				});
				var links = getStandardPaginationLinks('showSearchResultsPage',
					page, resultsObj.totalResults, searchResultsPerPage);
				$('linkBarContainer').innerHTML = links.join('');

//sIFR.replaceElement(".headBlack", 	named({sFlashSrc: "/system-res/_swf/DaxCE-Regular.swf", sColor: "#000000", sWmode: "transparent"}));

			}
		},

		onException: function(request, e) {
			throw e;
		}
	});
} 