function RawSearchControl() {
	var searcher = new GwebSearch();
	searcher.setResultSetSize(GSearch.LARGE_RESULTSET);
	searcher.setLinkTarget(GSearch.LINK_TARGET_SELF);
	searcher.setSiteRestriction("www.selmer.fr");
	searcher.setNoHtmlGeneration();
	searcher.setSearchCompleteCallback(this, RawSearchControl.prototype.searchComplete, [searcher]);
	this.searcher = searcher;
	this.regboldstart = /<b>/gi;
	this.regboldend = /<\/b>/gi;
	this.regbr = /<br>/gi;
}
 
RawSearchControl.prototype.onSubmit = function(pTexte, pCallback) {
	if (pTexte) {
		this.callback = pCallback;
		this.searcher.execute(pTexte);
	}
	// always indicate that we handled the submit event
	return false;
}

RawSearchControl.prototype.searchComplete = function(searcher) {
	// if the searcher has results then process them
	var fResults = "";
	var fPar = document.createElement("p");
	if (searcher.results && searcher.results.length > 0) {
		for (var i=0; i < searcher.results.length; i++) {
			var result = searcher.results[i];
			if (result.GsearchResultClass != "GwebSearch") continue;
			var fUurl = result.unescapedUrl;
			var lHref = fUurl;
			var lTarget = ' target="_self"';
			if (lHref.substring(0, 21) == "http://www.selmer.fr/") {
				lHref = lHref.substring(21);
				lTarget = '';
			}
			if (fUurl.substring(0, 7) == "http://") fUurl = fUurl.substring(7);
			var fContent = result.content;
			fPar.innerHTML = fContent;
			fContent = fPar.innerHTML;
			fContent = fContent.replace(this.regboldstart, '<span class="searchBold">');
			fContent = fContent.replace(this.regboldend, '</span>');
			fContent = fContent.replace(this.regbr, '<br />');
			fResults += '<div class="searchResult"><a href="'+lHref+'" class="anchorBlock"'+lTarget+'><img src="img/plus.jpg" alt="" class="anchorImg" />'+"\n"+'<span class="anchorTexte">'+result.titleNoFormatting+'</span></a><p class="texteBlock searchContent">'+fContent+'</p><p class="searchVisibleUrl">'+fUurl+'</p></div>' + "\n";
		}
	}
	this.callback(fResults);
}


function googleSearch() {
	if (window.gMySearch == null) window.gMySearch = new RawSearchControl();
	hide(document.getElementById("noresults"));
	document.getElementById("searchResults").innerHTML = "";
	var fElements = document.getElementById("googleform").elements;
	var fIntitle = "";
	for (var i=0;i < fElements.length;i++) {
		var lElem = fElements.item(i);
		if (lElem.name == "intitle" && lElem.checked == true) {
			fIntitle = lElem.value;
		}
	}
	var fValue = document.getElementById("searchInput").value;
	if (fIntitle.length > 0) fValue += " intitle:" + fIntitle;
	gMySearch.onSubmit(fValue, googleResults);
}

function googleResults(pHtml) {
	if (pHtml == "") {
		show(document.getElementById("noresults"));
	} else {
		document.getElementById("searchResults").innerHTML = pHtml;
	}
}

function googleFlashSearch(pText) {
	// ajouter try catch si jamais la frame de recherche n'est pas chargée.
	if (window.gMySearch == null) window.gMySearch = new RawSearchControl();
	gMySearch.onSubmit(pText, googleFlashResults);
}

function googleFlashResults(pHtml) {
	var fSwfObject = window.parent.document.getElementById("htmlRender");
	fSwfObject.SetVariable("googleResult", pHtml);
}

function searchFlashInstall() {}

function captureEnterSearch() {
	document.onkeydown = function(e) {
		var fCode;
		if (!e) var e = window.event;
		if (e.keyCode) fCode = e.keyCode;
		else if (e.which) fCode = e.which;
		if (fCode == 13) {
			googleSearch();
			return false;
		}
	}
}
