function ajax_count()
{
   var xmlHttp;
    try {    // Firefox, Opera 8.0+, Safari
	xmlHttp=new XMLHttpRequest();
    } catch (e) {    // Internet Explorer
	try {
	    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
	    try {
		xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
	    } catch (e) {
		alert("Your browser does not support AJAX!");
		return false;
	    }
	}
    }
    xmlHttp.onreadystatechange=function()
    {
	if (xmlHttp.readyState == 4 ) {
	    var div = document.getElementById("hiddenSearchCount");
	    if (xmlHttp.responseText != '' ) {
		var data = eval( xmlHttp.responseText );
    
		if (data.length == 0 ) {
		    div.style.visibility = "hidden";
		    return;
		}

		if (data[0].search_str !=  escape(document.getElementById("search-text").value)) {
		    return;
		}

    		var template = 'Rasta: {search_result_count}';    
		var result = '';
    
		for( i = 0; i < data.length; i++ ) {
		    result += template.supplant( data[i] );
		}
        
		div.innerHTML = result;
		div.style.visibility = "visible";
	    } else {
		div.innerHTML = '';
		div.style.visibility = "hidden";
	    }
	}
    }
    var searchtext = document.getElementById("search-text").value;
    var url = "/json_count_search_results?phrase=";

    xmlHttp.open( "GET", url + escape(searchtext), true );
    xmlHttp.send( null );

   var div = document.getElementById("hiddenSearchCount");
   div.innerHTML = '';
   div.style.visibility = "hidden";
}

String.prototype.supplant = function (o)
{
    return this.replace(/{([^{}]*)}/g,
	    function (a, b) {
	        return o[b];
	    }
    );
};
