var searchQuery = "";
function include(fileUrl) {
	var script = document.createElement("script");
	var head = document.getElementsByTagName('head').item(0);	
	script.src = fileUrl;
	head.appendChild(script);	
}

function $(id) { return document.getElementById(id); }
window.onload = function() {
	$("searchQ").focus();
	$("frmSearch").onsubmit = frmSearch_Submit;
	$("frmSearchTop").onsubmit = frmSearchTop_Submit;
	$("frmSearchBottom").onsubmit = frmSearchBottom_Submit;
}

function showThrobber() { 
	if(navigator.userAgent.indexOf("Gecko")) {
		$('throbber').innerHTML = '<iframe style="display:none;" src="about:blank"></iframe>'; 
		$('throbber').getElementsByTagName("iframe")[0].contentDocument.open();
	} else 	$('throbber').innerHTML = '<iframe style="display:none;" src="http://search.dotbeta.com/throbber/?throb=true"></iframe>'; 
}
function hideThrobber() { 
		
	if(navigator.userAgent.indexOf("Gecko")) {
		$('throbber').getElementsByTagName("iframe")[0].contentDocument.close();
	} 
	
	$('throbber').innerHTML = ''; 
}

function search(value) {
   	document.title = $("searchQ").value + " - .beta search";

	$("webresults").innerHTML = "";
	$("resultsTopBar").innerHTML = "";
	
	
	$("txtSearchTop").value = $("searchQ").value;
	$("txtSearchBottom").value = $("searchQ").value;

	
        $("searchFooter").style.display = "none";	
        $("pnlMain").style.display = "none";
	$("pnlSearchPage").style.display = "block";
	$("resultsBottomBar").style.display = "none";	
       
	searchQuery = $("searchQ").value;
	showThrobber();
	include("http://api.search.yahoo.com/WebSearchService/V1/webSearch?appid=ezsearch&output=json&callback=YSearch&query=" + escape(value));
}

function frmSearchBottom_Submit() {
	$("searchQ").value = $("txtSearchBottom").value;
	search($("searchQ").value);
	return false;
}

function frmSearchTop_Submit() {
	$("searchQ").value = $("txtSearchTop").value;
	search($("searchQ").value);
	return false;
}

function frmSearch_Submit() {
	search($("searchQ").value);
	
//	hashListener.setHash("search=" + escape($("searchQ").value));
	/*
	var ifr = document.createElement("iframe");	
	ifr.src = "http://api.search.yahoo.com/WebSearchService/V1/webSearch?appid=ezsearch&output=json&callback=YSearch&query=" + escape($("searchQ").value);	
	ifr.onload = function() {
	    ifr.src = "about:blank";
	    ifr.onload = function() {
	        document.body.removeChild(ifr);
	    }
	}	
	document.body.appendChild(ifr);
	*/
	//$("throbber").contentDocument.open();
	
	//$("webresults").innerHTML = "<br /> <center> <img src='snake_transparent.gif' />  <br /> Loading..</center> ";
	return false;
}


/*
hashListener.onHashChanged = function () {
	if(document.location.hash == "") {
		$("pnlMain").style.display = "";
		$("pnlSearchPage").style.display = "none";
		$("searchQ").select();
		$("searchQ").focus();
	}
}
*/
function addCommas(nStr)
{
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}

function YSearch(srch) {
	//$("throbber").contentDocument.close();
	
	 
	$("pnlSearchPage").style.display = "block";
	
	hideThrobber();
	
	var webresults = $("webresults");	
	
	webresults.innerHTML = "";	
	
    for (var i = 0; i < srch.ResultSet.Result.length; i++)
    {
        var size = "";
        var yResult = srch.ResultSet.Result[i];
        if(yResult.Cache) if(yResult.Cache.Size) {
            size = " - " + (Math.round(yResult.Cache.Size/1000)) + "k";
        }
	  var result = document.createElement("div");
	  var qstrs = searchQuery.split(" ");
	  
	  function makeBold(str) {
	
		str = str.replace("&amp;amp;", "&", "gi");
		str = str.replace("&amp;gt;", ">", "gi");
		str = str.replace("&amp;lt;", "<", "gi");
		
	    for(var x = 0; x < qstrs.length; x++) {
	        str = str.replace(qstrs[x], "<b>" + qstrs[x] + "</b>", "gi");
	    }
	    
	    return str;
	  }
	  
	  result.className = "results";
	  result.innerHTML = '<h2><a href="' +  yResult.Url + '" onmousedown="this.href=\'' + yResult.ClickUrl + '\';">' + makeBold(yResult.Title) + '</a></h2>' + 
	  '<p>' + makeBold(yResult.Summary) + '</p>' +
	  '<span class="a">' + makeBold(yResult.Url.replace("http://", "")) + size +" - </span>" +
	  '<a href="#">Cached</a> - <a href="#">Similar pages</a>';
		webresults.appendChild(result);
    }
    
	
    /*** Pagination Code *******/
    
    $("resultsTopBar").innerHTML = "Results <b>1</b> - <b>10</b> of about <b>" + addCommas(srch.ResultSet.totalResultsAvailable) + "</b> for <b>" +searchQuery + "</b>.";

    var pagination = $("pagination");
    pagination.innerHTML = "";
    
  //  "totalResultsReturned":2,"firstResultPosition":1
        
    /*
    <a class="AtStart">&lt; Prev</a>
		<a class="this-page">1</a>
		<a href="#">2</a>
		<a href="#">3</a>
		<a href="#">4</a>
		<a href="#">5</a>
		<a href="#">6</a>
		<a href="#">7</a>			
		<a href="#">8</a>
		<a href="#">9</a>
	<a href="#" class="Next">Next &gt;</a>    
    */
    
	//
	
    $("resultsBottomBar").style.display = "";	
    $("searchFooter").style.display = "block";		
}


	
