//  SÖKFUNKTION TILL WEBBSIDAN I JAVASCRIPT MED AJAX -TEKNIK
//  (C)2006-2007 påbörjad av VECTREX/WWW.HTMLSIDAN.SE Dec 2006
//
//  VERSION 0.6
//
//  DETTA SKRIPT KOMMER IFRÅN WWW.HTMLSIDAN.SE
//  DU FÅR ANVÄNDA DETTA SKRIPT GRATIS MEN DENNA INFORMATION
//  MÅSTE FINNAS KVAR. LÄS README.TXT FÖR DETALJER.
//
//
//
//  OBS! Några saker måste justeras för att skriptet skall fungera
//  1) Du måste ange antal webbsidor som skall genomsökas
//  2) Du måste lista dessa webbsidor
//  3) Du måste justera variabeln mode (1= visa title, 2=visa länkar,
//                                        3 = visa båda)
//
//  Antal webbsidor som skall genomsökas. Ändra nedan i
//  variabeln nrOfPages
//
var nrOfPages=7;
var mode=2
var page=new Array(nrOfPages);

//
//
// Lista webbsidorna här nedan som skall genomsökas.
// Ange fullständig sökväg inkl. http://www.jlwebb.se/bibliotek/
//
page[0]='http://www.jlwebb.se/bibliotek/index.html';
page[1]='http://www.jlwebb.se/bibliotek/fjarrLan.html';
page[2]='http://www.jlwebb.se/bibliotek/undervisning.html';
page[3]='http://www.jlwebb.se/bibliotek/personal.html';
page[4]='http://www.jlwebb.se/bibliotek/omSamlingar.html';
page[5]='http://www.jlwebb.se/bibliotek/laneRegler.html';
page[6]='http://www.jlwebb.se/bibliotek/dyslexi.html';

//
// Här nedan behöver du inte ändra någonting.
//
//
var pageNr=0;
var searchWord="";
var result="";
var ingetHittat=0;
var nav=navigator.userAgent.toLowerCase();
var title="";


function search(word)
{
	result="";
	pageNr=0;
	ingetHittat=0;
	result=result+"<b>Söker efter \""+word+"\" ...</b><br/>";
	setText("search_result",result);
	searchPages(word);
}

function searchPages(word)
{
	searchWord=word;
	var httpRequest = getHttpRequest();
	httpRequest.onreadystatechange = function() 
	{ 
		handleRequest(httpRequest); 
	};

	httpRequest.open('GET', page[pageNr], true);
	httpRequest.send(null);
}


function handleRequest(handle)
{
	var text="";

	if (handle.readyState != 4) 
	{
		return;
	}

	if (handle.status && (handle.status == 404) || (handle.status == 2))
	{
		alert('Webbsida eller fil saknas '+page[pageNr]);
		return;
	}
	
	if (handle.status && handle.status != 200) 
	{
		alert('Felkod ' + handle.status );
		return;
	}

	text= handle.responseText;

	text=text.replace(/(\n)/g,"\*\*\*");
	text=text.replace(/(\n)/g,"");

	matches=text.match(/(<title.*?<\/title>)/gi);
	title=matches[0];
	title=title.replace(/(<.*?>)/gi,"");

	text=text.replace(/(<style*?<\/style)/gi,"");
	text=text.replace(/(<script.*?<\/script>)/gi,"");
	text=text.replace(/(<title.*?<\/title>)/gi,"");
	text=text.replace(/(<noframes.*?<\/noframes>)/gi,"");
	text=text.replace(/(\&.*?;)/gi,"");
	text=text.replace(/(<.*?>)/gi,"");
	text=text.replace(/(\*\*\*)/g,"\n");


	text=text.toLowerCase();

	if (text.match(searchWord.toLowerCase())!=null)
	{
		if (mode==3) 
		{
			title=title+" "+page[pageNr];
		}
		if (mode==2) 
		{
			title=page[pageNr];
		}
		result=result+"» <a href=../bibliotek/script//""+page[pageNr]+"/">"+title+"</a><br/>";

		setText("search_result",result);
		ingetHittat=1;
	}

	if (++pageNr<nrOfPages)
	{
		searchPages(searchWord);
	}
	else
	{
		if (ingetHittat==0)
		{
			result=result+"hittade ingenting";
			setText("search_result",result);
		}
	}
}


function getHttpRequest()
{
	var handle = false;

	if (window.XMLHttpRequest) 
	{
		handle = new XMLHttpRequest();
		if(handle.overrideMimeType) // Mozilla/Safari/IE7+
		{
			handle.overrideMimeType('text/xml; charset=iso-8859-1'); 
		}
	} 
	else 
	if (window.ActiveXObject) 
	{
		try 
		{
			handle = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (e) 
		{
			try 
			{
				handle = new ActiveXObject("Microsoft.XMLHTTP");
			} 
			catch (e) {}
		}
	}

	if (!handle) 
	{
		return false;
	}

	return handle;
}

function setText(namn,txt)
{
	if (document.all)
	{
		document.all[namn].innerHTML=txt;
	}
	else if (document.layers)
	{
		document[namn].document.open();
		document[namn].document.write(txt);
		document[namn].document.close();
	}
	else if (document.getElementById)
	{
		document.getElementById(namn).innerHTML=txt;   
	}
}