var connectionResultObject=new Object();
connectionResultObject.initial=function()
 {
this.uri=clientFilesPath+"buff.asp";
this.adveruri="buff.asp";//?double.cgi
this.searchuri=clientFilesPath+"getnetosearch.asp";
this.connections=new Array();
this.parser;
this.connectionNoRepeat=false;
this.httpConnection="http";//'http'=yes   'array name'=no(fromArray)
this.results=[];
this.allResults=[];
this.resultsAdver=[];
this.allResultsAdver=[];
this.newValue="";
this.lastValue="";
this.sString="";
this.currentResultIndex;
this.allHashResults=[];
this.allHashAdverResults=[];

this.allSearchResults=[];
this.allHashSearchResults=[];
this.searches=[];
this.callBackSearch=this.XMLHttpeventSearchAccept;



this.callBack=this.XMLHttpeventResultAccept;
this.callBackAdver=this.XMLHttpeventAdverAccept;
 }
connectionResultObject.initial.prototype={
run:function()
	{
	hideSearchResult()
		//alert(netoSearch.searchBoxObject.value.length+"**")
	if(netoSearch.searchBoxObject.value.length<2)
		{
		//alert("returned")
		netoSearch.mySearchAreaObject.style.display="none";
		clearall()
		return;
		}
		if(netoSearch.searchBoxObject.value=="")
		{
netoSearch.mySearchAreaObject.style.display="none";
this.allHashResults=[];
this.results=[];
this.allResults=[];
this.allHashAdverResults=[];
this.resultsAdver=[];
this.allResultsAdver=[];
this.allSearchResults=[];
this.allHashSearchResults=[];
this.searches=[];
return;
		}
this.newValue=netoSearch.searchBoxObject.value;
if(this.httpConnection!="http")
		{
this.allResults=eval(this.httpConnection);
	this.getLocalData();
		}
else if(this.ifprevResult() && this.connectionNoRepeat)
//else if((this.results.length>0 || this.resultsAdver.length>0) && this.connectionNoRepeat)
		{
	//alert("pp")
this.getLocalData();
		}

else if(!this.ifprevResult() || ( this.sString.indexOf(this.newValue)==-1) || (this.newValue.length>this.sString.length))
		{
	if(this.newValue.indexOf(this.sString)==-1)
			{
	//alert("clear")
this.allHashResults=[];
this.results=[];
this.allResults=[];
this.allHashAdverResults=[];
this.resultsAdver=[];
this.allResultsAdver=[];
this.allSearchResults=[];
this.allHashSearchResults=[];
this.searches=[];
			}
			this.sString="";
this.getWebData();
		}

else
		{
this.getLocalData();
		}


this.lastValue=this.newValue
if((this.sString=="") || (this.lastValue.length>this.sString.length))
		{
this.sString=this.lastValue
		}
	},
ifprevResult:function()
	{
var have=false;
//this.allHashResults=[];
try
		{
var reslen=this.allHashResults[splash(this.newValue)].length
	if(reslen>0)
have=true;
		}
		catch(er){}
//this.allHashAdverResults=[];
//this.allHashSearchResults=[];
return have;
	},
getLocalData:function()
	{
//document.getElementById("aar").value=document.getElementById("aar").value+"<br>getLocalData"
		
/*netoSearch.adverArea.style.display="none";
netoSearch.adverArea.innerHTML="";
netoSearch.phraseArea.style.display="none";
netoSearch.phraseArea.innerHTML="";

netoSearch.resultConnect.results=[];
netoSearch.resultConnect.resultsAdver=[];
netoSearch.resultConnect.resultsAdver=[];*/
clearall()

netoSearch.resultConnect.sortResultFullRxLocal();
//alert("getAdverfromLocal")
netoSearch.resultsDisplay()

//alert(netoSearch.resultConnect.resultsAdver.length+"****")
	if(netoSearch.structure.adver)
		{
this.getAdverfromLocal();
netoSearch.resultsAdverDisplayL()
		}
if(netoSearch.structure.netosearch)
		{
this.getNetoSearchfromLocal();
netoSearch.netoSearchDisplay()
		}
	},

getNetoSearchfromLocal:function()
	{
var currentres=null
	try
		{
currentres=netoSearch.resultConnect.allHashSearchResults[netoSearch.resultConnect.newValue]
		}
catch(err){}
	if(currentres!=null)
		{
netoSearch.resultConnect.searches=currentres
//alert("nn")
		}
	},
getWebData:function()
	{
//document.getElementById("aar").value=document.getElementById("aar").value+"<br>getWebData"
		//alert("getWebData")
/*netoSearch.adverArea.style.display="none";
netoSearch.adverArea.innerHTML="";
netoSearch.phraseArea.style.display="none";
netoSearch.phraseArea.innerHTML="";*/
clearall()
this.GetEvents(this.uri,this.callBack,'result')
this.GetEvents(this.searchuri,this.callBackSearch,'search')
//this.GetEvents(this.adveruri,this.callBackAdver,'adver')
	},

GetEvents:function(urls,callback,hkey)
	{
	//alert(urls)
//var trmpUri=urls+"?q="+escape(this.newValue)
var trmpUri=urls+"?key="+hkey+"&q="+escape(encode7(this.newValue))
//alert(trmpUri)
this.connections[hkey]=this.getXMLHTTPRequest();
this.connections[hkey].onreadystatechange =function(){ callback()};
this.connections[hkey].open("GET", trmpUri,  true);//
this.connections[hkey].send(null);                        
	},
getXMLHTTPRequest:function() 
              {
                 var xRequest=null;
                if (window.XMLHttpRequest) {
                xRequest=new XMLHttpRequest();
                }else if (typeof ActiveXObject != "undefined"){
                  xRequest=new ActiveXObject("Microsoft.XMLHTTP");
                }
                  return xRequest;
                },

XMLHttpeventResultAccept:function() 
	{
if(netoSearch.resultConnect.connections['result'].readyState == 4) 
 {
if(netoSearch.resultConnect.connections['result'].status == 200)
 {
	
	var mixResult=netoSearch.resultConnect.separateResult(netoSearch.resultConnect.connections['result'].responseText)
//alert(typeof mixResult+"\n"+mixResult)
//mixResult=new Array("","")
if(typeof mixResult=="object")
	 {
//alert(mixResult[0])
var t=new resultsPars.initial(mixResult[0],1);
netoSearch.resultConnect.sortResultFullRx();
netoSearch.resultsDisplay()
//alert("b")
var t1=new resultsPars.initial(mixResult[1],2);
netoSearch.resultsAdverDisplay()
	 }
 }

 //}
}

},

//----------------------------------------------------------------------------------
AdverAccept:function(adverPart) 
	{
	
var t=new resultsPars.initial(netoSearch.resultConnect.connections['adver'].responseText,2);
netoSearch.resultsAdverDisplay()


 

},

//----------------------------------------------------------------------------------
XMLHttpeventAdverAccept:function() 
	{
	//alert(netoSearch.resultConnect.connections['result'].readyState)
if(netoSearch.resultConnect.connections['adver'].readyState == 4) 
 {
if(netoSearch.resultConnect.connections['adver'].status == 200)
 {
//document.getElementById("aar").value=document.getElementById("aar").value+"\nXMLHttpeventAdverAccept"
	//alert()
	//if()
//alert(netoSearch.resultConnect.connections['adver'].responseText)
//alert(decode7(netoSearch.resultConnect.connections['adver'].responseText))
//var t=new resultsPars.initial(decode7(netoSearch.resultConnect.connections['adver'].responseText),2);

var t=new resultsPars.initial(netoSearch.resultConnect.connections['adver'].responseText,2);
//n//etoSearch.resultConnect.sortResultFullRx();
//netoSearch.resultConnect.resultsAdver[0]=netoSearch.resultConnect.allResultsAdver[0]
netoSearch.resultsAdverDisplay()
 }

 //}
}

},
XMLHttpeventSearchAccept:function() 
	{	//alert(netoSearch.resultConnect.connections['result'].readyState)
if(netoSearch.resultConnect.connections['search'].readyState == 4) 
 {
	//alert(netoSearch.resultConnect.connections['result'].status+"\nXMLHttpeventResultAccept")
		//alert(netoSearch.resultConnect.connections['result'].status)
if(netoSearch.resultConnect.connections['search'].status == 200)
 {
	//alert("entry to XMLHttpeventSearchAccept")
	//alert(netoSearch.resultConnect.connections['search'].responseText+"\n*******************")
	//document.getElementById("natatest").value=netoSearch.resultConnect.connections['search'].responseText
	//alert(netoSearch.resultConnect.connections['search'].responseText+"\n*******************")
//document.getElementById("aar").value=document.getElementById("aar").value+"\nXMLHttpeventResultAccept"
var t=new resultsPars.initial(netoSearch.resultConnect.connections['search'].responseText,3);
//alert("returned from resultsPars")
//netoSearch.resultConnect.sortResultFullRx();
//alert("uu")
//alert("after parsing")
netoSearch.netoSearchDisplay()
 }

 //}
}

},
sortResult:function() 
	{
var findedids=new Array()
var findedids2=new Array()
var findedids3=new Array()
	//alert(netoSearch.resultConnect.allResults.length+"+++++")
for(ii=0; ii<netoSearch.resultConnect.allResults.length; ii++)
	{
var regExpression = new RegExp(this.newValue, "gi");
var regExpression2 = new RegExp("(^"+this.newValue+")", "gi");
var regExMatch2 = regExpression2.exec(netoSearch.resultConnect.allResults[ii].trim());
var regExMatch = regExpression.exec(netoSearch.resultConnect.allResults[ii]);
if (regExMatch2)
		{
findedids2[findedids2.length]=netoSearch.resultConnect.allResults[ii]

		}
else
		{
if (regExMatch)
		{
findedids3[findedids3.length]=netoSearch.resultConnect.allResults[ii]

		}
		
		}
	}
var maxresult=netoSearch.maxresult;
var count=0
for(v=0;v<findedids2.length;v++)
		{
findedids[findedids.length]=findedids2[v]
	count++
	if(count>maxresult){break;}
		}
for(v=0;v<findedids3.length;v++)
		{
findedids[findedids.length]=findedids3[v]
	count++
	if(count>maxresult){break;}
		}
		//alert(findedids)
	//}
this.results=findedids
	//alert("sorting")
	},
sortResultOnlyStart:function() 
	{
var findedids=new Array()
	//alert(netoSearch.resultConnect.allResults.length+"+++++")
for(ii=0; ii<netoSearch.resultConnect.allResults.length; ii++)
	{
//var regExpression = new RegExp("(^"+this.newValue+")", "gi");
//var regExMatch = regExpression.exec(netoSearch.resultConnect.allResults[ii].trim());
//if (regExMatch)
		//{
findedids[findedids.length]=netoSearch.resultConnect.allResults[ii]

		//}
	}
this.results=findedids

	},
separateResult:function(returnedContent)
	{
if(returnedContent==null || typeof returnedContent=="undefined")
return "";

var resTempA=[];
var resTempB=[];
var ifsep=false
var firstEntry=false
	
var mixArr=returnedContent.split("\n")

	for(l=0;l<mixArr.length;l++)
		{
if(mixArr[l]==null || typeof mixArr[l]!="string")continue;
//alert(typeof mixArr[l])
if(!firstEntry && mixArr[l].trim()=="")
continue;
if(!firstEntry && mixArr[l].trim()!="")
firstEntry=true
if(mixArr[l].trim()=="")
			{
ifsep=true;
			}
			if(!ifsep)
resTempA[resTempA.length]=mixArr[l];
			else
resTempB[resTempB.length]=mixArr[l];

		}
//alert("exit")
return new Array(resTempA.join("\n"),resTempB.join("\n"))
	},
sortResultFullRx:function() 
	{
var findedids=new Array()
	//netoSearch.maxresult
	//alert(typeof netoSearch.resultConnect.allResults+"+++++")
		if(typeof netoSearch.resultConnect.allResults!="undefined")
		{
//alert(this.newValue+"="+netoSearch.resultConnect.allResults[0])
for(ii=0; ii<netoSearch.resultConnect.allResults.length; ii++)
	{
//alert(typeof netoSearch.resultConnect.allResults[ii])
	if(netoSearch.resultConnect.allResults[ii]!=null && typeof netoSearch.resultConnect.allResults[ii]=="string")
		{
findedids[findedids.length]=netoSearch.resultConnect.allResults[ii]

		}
	}
		}
this.results=findedids
//alert("exx")
	},
		sortResultFullRxLocal:function() 
	{
var findedids=new Array()
	if(netoSearch.resultConnect.allHashResults[netoSearch.resultConnect.newValue]!=null && typeof netoSearch.resultConnect.allHashResults[netoSearch.resultConnect.newValue]!="undefined" && typeof netoSearch.resultConnect.allHashResults[netoSearch.resultConnect.newValue].length!="undefined")
		{
	for(ii=0; ii<netoSearch.resultConnect.allHashResults[netoSearch.resultConnect.newValue].length; ii++)
	{
	var cv=netoSearch.resultConnect.allHashResults[netoSearch.resultConnect.newValue]
findedids[findedids.length]=cv[ii]
	}
this.results=findedids
		}
	},
		getAdverfromLocal:function()
	{

var currentadver=null
	try
		{
currentadver=netoSearch.resultConnect.allHashAdverResults[netoSearch.resultConnect.newValue]
		}
catch(err){}
	if(currentadver!=null)
		{
netoSearch.resultConnect.resultsAdver=currentadver
//alert("nn")
		}
	}
}

//}





var resultsPars=new Object();
resultsPars.initial=function(returnedContent,ind)
{
	if(ind==1)
this.parse(returnedContent)
if(ind==2)
this.parseAdver(returnedContent)
		if(ind==3)
this.parseSearch(returnedContent)
		return null
}
resultsPars.initial.prototype={

parse:function(returnedContent)
	{
	if(returnedContent!="")
		{
		//alert(returnedContent)
var lines=returnedContent.split("\n");
var returnArray=new Array()
for(u=0;u<lines.length;u++)
	 {
	//alert(u+"====u="+lines[u])
		//document.getElementById("ttc").value=document.getElementById("ttc").value+lines[u].trim().replace('"',"").replace("'","")+"\n"
if(lines[u]!=null && typeof lines[u]=="string" && lines[u].trim()!="" && lines[u].trim()!="undefined")
		 {
		//alert("zz=="+lines[u]+"\n"+typeof lines[u])
			var e1=lines[u].trim().replace('"',"&#39;&#39;").replace("'","&#39;")
				//e1=e1.trim().replace('"',"&quot;").replace("'","&#39;")
			//try{
returnArray[returnArray.length]=e1//.trim().replace('"',"").replace("'","")
			//}
//catch(er){}
//alert(returnArray[returnArray.length-1]+"====ppppppp"+"\n")
	//alert(typeof lines[u].replace('"',"").replace("'","")+"***********")
		 }
}
//alert("y")
		}
		//alert("exx")
netoSearch.resultConnect.allResults=returnArray
	//alert(splash(netoSearch.resultConnect.newValue))
try
		{
netoSearch.resultConnect.allHashResults[splash(netoSearch.resultConnect.newValue)]=returnArray;
		}
		catch(err){}
//alert(netoSearch.resultConnect.allResults.length+"=length")
	},
parseAdver:function(returnedContent)
	{
	//alert(returnedContent)
var lines=returnedContent.split("\n");
var returnArray=new Array()
var pattern = /\t/;
var tmpa=""
for(u=0;u<lines.length;u++)
	 {
if(lines[u].trim()!="")
		 {
var alladver=lines[u].split(pattern)
//alert(alladver.length)
	if(alladver.length<3)continue
//alert(alladver.join('\n'))
//if(ie)
//tmpa=this.replaces(alladver[27],alladver[14],rootdomainsname+alladver[12],alladver[16])//title,desc,clickurl dispurl
//else
tmpa=this.replaces(alladver[0],alladver[1],alladver[2],alladver[3])//title,desc,clickurl dispurl
//alert(tmpa)
returnArray[returnArray.length]=tmpa

		 }
}
netoSearch.resultConnect.resultsAdver=returnArray
netoSearch.resultConnect.allResultsAdver=returnArray
netoSearch.resultConnect.allHashAdverResults[netoSearch.resultConnect.newValue]=returnArray;
	},

parseSearch:function(returnedContent)
	{
	//var returnArray=new Array("ppppppppp","oooooooooooooo","ddddddd")
//netoSearch.resultConnect.searches=returnArray
	//alert("222  searches="+netoSearch.resultConnect.searches.length)
//netoSearch.resultConnect.allSearchResults=returnArray
//netoSearch.resultConnect.allHashSearchResults[netoSearch.resultConnect.newValue]=returnArray;
//return null;
//var curentcintent=returnedContent.replace("'","")
var lines=returnedContent.split("\n");
var returnArray=new Array()
var pattern = /\t/;
var tmpa=""
for(u=0;u<lines.length;u++)
	 {
if(lines[u].trim()!="")
		 {
var allsearchresult=lines[u].split(pattern)
//alert(alladver.length)
	if(allsearchresult.length<2)continue
		if(this.datavalid(lines[u]))continue
//alert(alladver.join('\n'))
//if(ie)
//tmpa=this.replaces(alladver[27],alladver[14],rootdomainsname+alladver[12],alladver[16])//title,desc,clickurl dispurl
//else
tmpa=this.replacesNetoSearch(allsearchresult[0],allsearchresult[1],allsearchresult[2],u,returnArray.length)//title,desc,clickurl dispurl
//alert(tmpa)
returnArray[returnArray.length]=tmpa
//document.getElementById("aar").value=document.getElementById("aar").value+"<br>"+tmpa
		 }
}

netoSearch.resultConnect.searches=returnArray
	//alert("222  searches="+netoSearch.resultConnect.searches.length)
netoSearch.resultConnect.allSearchResults=returnArray
netoSearch.resultConnect.allHashSearchResults[netoSearch.resultConnect.newValue]=returnArray;
/*

this.allSearchResults=[];
this.allHashSearchResults=[];
this.searches=[];

*/


	},

datavalid:function(exdata)
	{
var tempdata=exdata
var regg=/"/g;
tempdata=tempdata.replace(regg,'&quot;')
	var expat="([a-zA-Z0-9])([a-zA-Z0-9\\%\\!\\@\\#\\$\\&\\?\\*\\t\\(\\)\\-\\=\\+\\_\\[\\]\\~\\/\\,\\.\\:\\;\"\\'\\ \\<\\>\\\קראטוןםפשדגכעיחלךףזסבהנמצתץ]+)"
var regExpression = new RegExp(expat, "gi");

var regExMatch = regExpression.exec(tempdata);
if (regExMatch)
		{
	//alert(exdata+"\n"+regExMatch[0])
if(regExMatch[0]==tempdata)
return false
	else
	return true
		}
return false

	

	},
		replacesNetoSearch:function(url,titl,desc,ids,indexinarray)
	{
		//return "uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu";
var trstr=NetoSearchTemplate
var temptitlt=titl
	
	var regg=/"/g;

var regg2=/<b>/gi;
var regg3=/<\/b>/gi;
var reggq=/'/g;

var regglp=/\(/g;
var retarr=new Array()
var reggqrp=/\)/g;
var tempuri=url.replace(regg,'&quot;')
	var tempdesc=desc
	if(temptitlt==null || typeof temptitlt=="undefined" || temptitlt=="undefined")
	temptitlt=""
if(tempdesc==null || typeof tempdesc=="undefined" || tempdesc=="undefined")
	tempdesc=""
try
		{
tempdesc=tempdesc.replace(regg,'&quot;')
	tempdesc=tempdesc.replace(reggq,'')//&#39;
	tempdesc=tempdesc.replace(regglp,'&#40;')
	tempdesc=tempdesc.replace(reggqrp,'&#41;')
		}
catch(er){tempdesc="";}
titl=titl.replace(regg,'&quot;')
	titl=titl.replace(reggq,'')//&#39;
titl=titl.replace(regglp,'&#40;')
	titl=titl.replace(reggqrp,'&#41;')


temptitlt=temptitlt.replace(regg,'&quot;')
	temptitlt=temptitlt.replace(regg2,"")
	temptitlt=temptitlt.replace(regg3,"")
	if((netoSearchTitleMaxLength-3)<temptitlt.length)
temptitlt=temptitlt.substring(0,(netoSearchTitleMaxLength-3))+"..."
trstr=trstr.replace("[url]",tempuri)
	trstr=trstr.replace("[title]",temptitlt)
	if(tempdesc!="")
	//alert(tempdesc)
var popups=""//<a href='"+tempuri+"' class=popUpTitle>"+titl+"</a><div class=popUpDescription>"+tempdesc+"</div>"
trstr=trstr.replace("[ids]","<span id='NetoResult"+ids+"' onmouseover=\"viewSearchResult(this,"+ids+",'"+popups+"',"+indexinarray+")\" onmouseout=\"hideSearchResult()\">")
	trstr=trstr.replace("[-ids]","</span>")
retarr[retarr.length]=trstr
retarr[retarr.length]=titl
retarr[retarr.length]=url
retarr[retarr.length]=tempdesc
	return retarr
	},


replaces:function(tit,clicku,du,descr)
	{
var trstr=adverTemplate
	if(descr==null || typeof descr=="undefined")
	descr=""
//else
//descr="<br>"+descr
trstr=trstr.replace("[clickurl]",clicku)
	trstr=trstr.replace("[title]",tit)
	trstr=trstr.replace("[durl]",du)
	trstr=trstr.replace("[description]",descr)
	return trstr
	}
}



function splash(cval)
{
cval=cval.replace("'","&#39;")
cval=cval.replace('"',"&quot;")
	return cval
}