






var google_pos="";
var num_google_result=0;
var google_lock=0;
var google_total_result=0;
var suggestionAreaFlag="";
function lazyGoogle(q,lr,hl){
	var google_key="ABQIAAAAKHxXWFNpFJgQa9jqfMXsCxQ7YMWuL9hwhrXAnP_4VEXyfd6z_hQGunP6KMqUL9CZvFStSMt8_zYBag";

	var source="web";
	var offset=0;
	var google_q="http://ajax.googleapis.com/ajax/services/search/"+source+"?v=1.0&rsz=large&callback=lazyGoogleDone&key="+google_key;
	var google_params="&start="+offset+"&lr="+lr+"&hl="+hl+"&q="+q;
	var url=google_q+google_params;
	var head = document.getElementsByTagName('head');
	var script = document.createElement('script');
	script.type = "text/javascript";
	script.src = url;
	head[0].appendChild(script);
}
	
function lazyGoogleDone(data){
	if(data && data.responseData && data.responseData.results && data.responseData.results.length>0){
		window.location.href=data.responseData.results[0].unescapedUrl;
	}
	else{
		alert("nothing to lazy...");
	}
}

function searchSuggest(q,lan,loc){
	closeSuggestArea();
	var url="http://suggestqueries.google.com/complete/search?hl="+lan+"&lr="+loc+"&json=t&jsonp=handleSearchSuggest&q="+q;
	var head = document.getElementsByTagName('head');
	var script = document.createElement('script');
	script.type = "text/javascript";
	script.src = url;
	head[0].appendChild(script);	
}
function closeSuggestArea(){
	if(document.getElementById("suggestResultArea") && document.getElementById("upperArea") && suggestionAreaFlag==""){
		document.getElementById("upperArea").removeChild(document.getElementById("suggestResultArea"));
	}
}
function handleSearchSuggest(data){
	var q=document.getElementById("q").value;
			var suggestList=data[1];
			if(suggestList.length>0){
				if(document.getElementById("suggestResultArea")){
					closeSuggestArea();
				}
				
				var result=document.createElement("div");
				result.className = "suggestArea";
				result.id="suggestResultArea";
				
				for(var i=0;i<suggestList.length;i++){
					var text=("<b>"+suggestList[i]+"</b>").replace(q, "<font color=\"#808080\">"+q+"</font>");
					//alert("Text:"+text);
					var htmlCode="<div style=\"cursor:pointer;\" class=\"suggestResults\" onClick=\"selectHint('"+escape(suggestList[i])+"');\" onmouseout=\"mouseOffSuggestion(this)\" onMouseOver=\"mouseOnSuggestion(this);\">"+text+"</div>";
					//alert("heml code:"+htmlCode);
					result.innerHTML+=htmlCode;
				}
				//alert("Create suggest area");
				document.getElementById("upperArea").appendChild(result);
			}

}
function mouseOnSuggestion(input){
	input.style.background="#FBFFCA";
	suggestionAreaFlag="Y";
	
}
function mouseOffSuggestion(input){
	input.style.background="";
	suggestionAreaFlag="";
}
function doGoogle(q,count,offset,lr,hl,source){
	var myGoogleSearch=new GoogleSearch(q,count,offset,lr,hl,source,"doneGoogle");
	//var url=google_query+q;
	var url=myGoogleSearch.getWebUrl();
	//document.getElementById("yahooUrl").innerHTML=url;
	var head = document.getElementsByTagName('head');
	var script = document.createElement('script');
	script.type = "text/javascript";
	script.src = url;
	head[0].appendChild(script);
	//alert("done doing google");
}



function doneGoogle(data){
	//alert("in done google...");
	
	var result = null;
	var parent = document.getElementById('googleResultSet');
	parent.innerHTML = '';
	var child = null;
	//alert("here1");

	google_pos=new Array(data.responseData.results.length);
	//addCharInString(str,char,pos)
	//alert("num:"+data.responseData.cursor.estimatedResultCount);
	var numResult=addCharInString(data.responseData.cursor.estimatedResultCount+"",",",3);
	google_total_result=data.responseData.cursor.estimatedResultCount;
	var startingNum=offset+1;
	var endingNum=(offset+count);
	
	for(var i=0;i<data.responseData.results.length;i++){
		//alert(i);
		var result=data.responseData.results[i];
		num_google_result++;
		google_pos[i]=unescape(result.url);
		//alert(google_pos[i]);
		child = document.createElement('div');
		child.className = "result";
		child.id="g"+i;
		var thumbnailDiv="";
		
		var thumbnailUrl=getVideoThumbNailUrl(result.unescapedUrl);
		
		var faviconDiv="";
		//alert(thumbnailUrl);
		if(thumbnailUrl!=""){
			thumbnailDiv="<div class=\"thumbnail\"><img src=\""+thumbnailUrl+"\"></img></div>";
			
		}
		var faviconUrl=getFaveIcon(result.url);
		//faviconUrl="";
		if(faviconUrl!=""){
			faviconDiv="<div class=\"favicon\"><img src=\""+faviconUrl+"\" onError=\"checkFavicon(this);\"></img></div>";
			//alert("favicon:"+faviconDiv);
		}
		var cacheurl="";
		if(result.cacheUrl){
			cacheurl=cacheUrl="<span> -</span><a class=\"googleCache\" href=\""+result.cacheUrl+"\">"+googleCachedDesc+"</a>";
		}	
		var myExt=new ResultExtension(result.unescapedUrl);
		myExt.init();
		var extensionPart=myExt.getHTML();
		title="<div class=\"title\">"+faviconDiv+extensionPart+"<a href=\""+result.unescapedUrl+"\">"+unescape(result.title)+"</a></div>";
		disc="<div class=\"desc\">"+result.content+"</div>";
		url="<div class=\"url\">"+result.visibleUrl+cacheurl+"</div>";
		//content="<div id=\"b"+i+"\" class=\"result\">"+title+disc+url+"</div>";
		content=title+thumbnailDiv+disc+url;
		child.innerHTML = content;
		var seLogoDiv=document.createElement("div");
		var seLogoText=document.createElement("span");
		seLogoDiv.className="comparison";
		seLogoDiv.id="comparisonDivg"+i;
		seLogoText.className="text";
		seLogoText.id="comparisonTextg"+i
		seLogoDiv.appendChild(seLogoText);
		child.appendChild(seLogoDiv);
		parent.appendChild(child);
		
	
		
		//listUrl();
	}
	createCloud();
	showAllSearchEngineResults();
}
