
	function onSearch(ev)
	{
    	
        if (re_) {
            window.re_comment_tag = searchbox.value;
            window.re_context_tag = searchbox.value;
            
            re_("v7037-1f67b1sz17");
         }

		document.getElementById("s").value = _scope;
		switch (_scope) {
			case 'md5':
				if (!isMD5(searchbox.value)) {
				    resultFound = true;
					result.innerHTML = hex_md5(searchbox.value).escapeHTML();
					$('hash-not-found').style.display='none';
					submitResult();
					showSwitcher(true);
					return false;
				}	
			break;
			
			case 'sha1':
				if (!isSHA1(searchbox.value)) {
				    resultFound = true;
					result.innerHTML = hex_sha1(searchbox.value).escapeHTML();
					$('hash-not-found').style.display='none';
					submitResult();
					showSwitcher(false);
					return false;
				}
			break;
		}
		
		if (searchbox.value && lastRequest != searchbox.value) {		
			getResult();
			$('hash-not-found').style.display='none';
		}
		
		lastRequest = searchbox.value;
		return false;
	}
		
	function showResult(req) {
		if (!req.responseText) {
			// result.innerHTML = 'Nothing found';
			resultFound=false;
			result.innerHTML = '';
			$('hash-not-found').style.display='';
         	$('switcher').style.display='none';
		    $('result').style.display='none';		    
			return;
		}
		showSwitcher(true);
		result.innerHTML = req.responseText.escapeHTML();
	}
	
	function submitResult() {
		if (!searchbox.value || searchbox.value == lastSubmit) {
			return;
		}
		var params = "p&submit&s=" + getScope() + "&q=" + searchbox.value;
		new Ajax.Request(url, {method: 'get', parameters: params});
		lastSubmit = searchbox.value;
	}
	
	function getScope() {
		return $('s').value;
	}

	function getResult() {

		var params = "p&s=" + getScope() + "&q=" + searchbox.value;
		new Ajax.Request(url, {
			method: 'get',
			parameters: params,
			onComplete: showResult
		});
	}

	function isMD5(s) {
		return (/^[A-Fa-f0-9]{32}$/).test(s);
	}

	function isSHA1(s) {
		return (/^[A-Fa-f0-9]{40}$/).test(s);
	}
	
	function switchSearchMode() {
	    if (!result) return;
		 var q = searchbox.value;
		 searchbox.value = result.innerHTML.unescapeHTML()
		 result.innerHTML = q.escapeHTML();
		 onSearch();
		 return false;
	}

	
	function selectScope(scope)
	{
		_scope=scope;
		if (scopesEl) for (var i=0; i < scopesEl.childNodes.length; i++) scopesEl.childNodes[i].className = "";
		var el = document.getElementById(scope);
		if (null != el) el.className = "selected";
		// var title = document.getElementById("searchLandingTitle");
		$('logoImage').src = "/images/" + scope.toLowerCase() + "_logo_n1.gif";
		searchbox.focus();
		
		searchbox.maxLength = (scope == 'md5') ? 32 : 40;
		searchbox.value = searchbox.value.substring(0, searchbox.maxLength);
		
		document.getElementById("s").value = scope;
		onFocus();
		if (searchbox.value) {
			onSearch();
		}
		return false;
	}
	
	function showSwitcher(show) {
		if (show) {
   		    $('result').style.display='';
			$('switcher').style.display='';
		} else {
         	$('switcher').style.display='none';
		    $('result').style.display='none';
		}
	}
	
	function onFocus() {
	  var q = $("q");
	  if (q.value) {
	    q.style.background='#FFFFFF left no-repeat';	    
	    return;
	  }
	  var s = getScope();
	  if (s == 'sha1') {
   	    q.style.background='#FFFFFF url("/images/q-sha1.gif") left no-repeat';
	  } else {
   	    q.style.background='#FFFFFF url("/images/q-md5.gif") left no-repeat';
	  }
	}
