var ABSPATH='http://www.tawakilagi.com/search';
var SiteURL='www.tawakilagi.com';
var query=SearchStr='';
//============================================================================
//============================================================================
function gsTrimChar (inputString, removeChar){
var returnString = inputString;
if (removeChar.length){
while(''+returnString.charAt(0)==removeChar){
returnString=returnString.substring(1,returnString.length);
}
while(''+returnString.charAt(returnString.length-1)==removeChar){ 
returnString=returnString.substring(0,returnString.length-1); 
  }
 }
return returnString;
}

//====================================
function gsCheckField(Fld,Msge){
Fld.value=gsTrimChar(Fld.value," ");
if(gsTrimChar(Fld.value," ")==""){
alert(Msge);Fld.focus(); return false;} 
else { return true;}  
}
//=====================================
function DoSearch(){
var tmp, Msge;
tmp=document.searchform.keywords;
query=tmp.value;
Msge='Please enter your search keywords';
if(!gsCheckField(tmp, Msge)){return false; }
GoogleSearch(query,0); 
return false;
}


//==============================
function GoogleSearch(query, start){
var tmp=document.getElementById("content");
tmp.style.paddingLeft="40px";
if(query!=''){
url=ABSPATH+'/index.php/?q='+query+'&start='+start+'&api=gapi&todo=search';
ajax.get(url, GoogleSearchResults);
tmp.innerHTML='<br /><br /><img src="'+ABSPATH+'/loading.gif" vspace="5" hspace="0" border="0" align="top" /><br />Loading...';
}
else{tmp.innerHTML+=+'<br /><br />Error!';	}
return true;
}

//=========================================


//=========================================
function GSearchPagination(pages, cursor){
var PageStr='';
if(pages!=null && pages.length>1){
	for(i=0;i<pages.length; i++){
		if(PageStr!=''){PageStr+='&nbsp;&nbsp;';}
		PageStr+='<a href="#gstop" onclick="GoogleSearch(\''+query+'\', \''+pages[i].start+'\')" ';
		if(i==cursor){PageStr+=' class="gscurpage" '; } else {PageStr+=' class="gspage" ';}
		PageStr+='>'+pages[i].label+'</a>';
	}
}
else if(pages!=null && pages.length==0) {
	SearchStr='No match found for the search query entered. '; 
	SearchStr+='Please try another set of keywords.<br />';
	}
	
if(PageStr!=''){PageStr='<div class="pagination"><b>Pages: </b>'+PageStr+'</div>'; }

return PageStr;
}//end function 

//=========================================
function DisplayResult(title, desc, url){
var Str='<div class="gsresult">';
Str+='<span class="gstitle"><b>'+title+'</b></span><br />';
Str+='<span class="gsdesc">'+desc+'</span><br />';	
Str+='<a href="'+url+'" class="gsurl">'+url+'</a>';
Str+='</div>';
	
return Str;	
}


//========================================
function ProcessGSearch(context, theresults, responseStatus, responseDetails){
var ResultStr=PageStr='';
var SearchTitle, SearcDesc, SearchURL;

if(responseStatus==200){
	if(theresults!=null && theresults.results.length>0){
		for(i=0; i<theresults.results.length; i++){
		SearchTitle=theresults.results[i].titleNoFormatting;
		SearchDesc=theresults.results[i].content;	
		SearchURL=decodeURIComponent(theresults.results[i].unescapedUrl);
		ResultStr+=DisplayResult(SearchTitle, SearchDesc, SearchURL);
		}//for loop
		
	PageStr=GSearchPagination(theresults.cursor.pages, theresults.cursor.currentPageIndex);
	}//if
	else if(theresults==null || theresults=='', theresults.results.length==0){
	ResultStr='No match found for the search query entered. <br />'; 
	ResultStr+='Please try another set of keywords.<br />';
	}
	
}
else {
SearchStr='An error has occured while processing your request. ';
SearchStr+='Please try again.<br />We apologize for the inconvenience.';   
}

SearchStr='Results for search query &raquo; <b><i>'+query+'</i></b><br />';	

document.getElementById("content").innerHTML='<div id="searchresultbox" style="text-align:left;"><a name="gstop" id="gstop"></a><br />';
document.getElementById("content").innerHTML+=SearchStr+PageStr+ResultStr+PageStr+'</div>';
}


//=====================================
function GoogleSearchResults(Results){
if(Results!=null && Results!=''){$results=eval(Results); }
return true;
}
