var PageList = new Array();
var RandomList = new Array();
var StraightList = new Array();
var DisplayList = new Array();
var SearchList = new Array();
var page=0;
var i=0
var entries = 5;//Number of entries per page to display


//For debug
function QuickWrite(a){
WriteLayer("MyLayer",null,a);
}

//Write to Layer
function WriteLayer(ID,parentID,sText) {
	if (document.layers) {
		var oLayer = (parentID)? eval('document.' + parentID + '.document.' + ID + '.document') : document.layers[ID].document;
		oLayer.open();
		oLayer.write(sText);
		oLayer.close();
	}
	else if (document.all) document.all[ID].innerHTML = sText
	else if (parseInt(navigator.appVersion)>=5&&navigator.appName=="Netscape") {
		document.getElementById(ID).innerHTML = sText;
	}
}


// Build the html string for layer display, and show it in MyLayer
function DivBuilder(page,TheList){
//QuickWrite(page + PageList.length);
	htmlstring+=("<br><table border=\"0\"width=\"100%\">");//open a table
	if (PageList[page].stop>TheList.length){PageList[page].stop=TheList.length}
	for (var z=(PageList[page].start);z<PageList[page].stop;z++){
	thisone = TheList[z];
	//htmlstring+=("<tr><td>displaylist"+z+" ="+z+"</td></tr>");//To keep track
	buildhtml(thisone);
	}
	htmlstring+="</table>";//close the table
	WriteLayer('MyLayer',null,htmlstring);//Display the table
}

//This part displays the data items.HTML formatting is defined here.Part of DivBuilder
function buildhtml(thisone){
	htmlstring+=("<tr><td rowspan=\"4\" valign=\"top\"><img src=\""+hotelslist[thisone].image +"\"></td>");
//	htmlstring+=("<tr><td rowspan=\"4\" ><img src=\""+hotelslist[thisone].image +"\"></td>");
	htmlstring+=("<td><strong>"+hotelslist[thisone].hotelname +"</strong></td></tr>");
	htmlstring+=("<tr><td>"+hotelslist[thisone].bodytext +"</td></tr>");
		htmlstring+=("<tr><td>phone "+hotelslist[thisone].phone +" ");
//		htmlstring+=("fax "+hotelslist[thisone].fax +"</td></tr>");
		htmlstring+=("<tr><td>email <a href=\"mailto:"+hotelslist[thisone].email +"?subject=Enquiry via Welcome2UKHolidays\">"+hotelslist[thisone].email+"</a>");
	htmlstring+=("<br><br><a href=\""+hotelslist[thisone].web +"\" target=\"_blank\">"+"Web Site Here"+"</a></td></tr>");
		htmlstring+=("<tr><td colspan=\"2\"><hr></td></tr>");

}


//Build the list array for layer display. Stored in PageList.
//Parameter: array of qualified entries in the database
function BuildGroup(TheList){
page=0;
var i=0;
PageList.length = 0;

	while (i<TheList.length){
	//QuickWrite("i= "+i+TheList.length+"<br>");
	t=(i + entries);
	var temp = new PageListItem(i,t);
	page= PageList.length;
	PageList[page] = temp;
	//QuickWrite("page i = "+PageList[page].start+","+PageList[page].stop+"<br>");
	i=(i+entries);
	}
}

function PageListItem(st,sp) {
	this.start = st;
	this.stop = sp;

	}


//Show the results
function ShowResults(page){

	htmlstring="<p align=\"center\">";
	if (page!=0){htmlstring+=("<a href=\"Javascript:ShowResults("+(page-1)+")\">Previous</a>")}
	else {htmlstring+=("Previous ")}
	htmlstring+=(" Page "+(page+1)+" of "+PageList.length);
	if (page<(PageList.length - 1)){htmlstring+=("  <a href=\"Javascript:ShowResults("+(page+1)+")\">Next</a><br>")}
	else {htmlstring+=(" Next<br>")}
	//document.write(htmlstring);//
	DivBuilder(page,DisplayList)

}

function FullList(){
BuildGroup(RandomList);
DisplayList = RandomList;
//QuickWrite(Displaylist);
ShowResults(0);
}

function ShowList(List){
if (List==null){List=DisplayList}
BuildGroup(List);
DisplayList = List;
//QuickWrite(List);
ShowResults(0);
}

//reset all the done tags, to re-sort the list.
function Cleanup(TheList){
for(i=0;i<TheList.length;i++){
	TheList[i].done="false";
	}
	}

// Build the random sequence in the array "RandomList"
function RandomOrder(TheList){
	RandomList.length=0;
	Cleanup(TheList);
	var the_one
	var z=0
	while (z<TheList.length){
	the_one=Math.floor(Math.random()*TheList.length)
		if (TheList[the_one].done!="_selected!"){
		RandomList[z] = the_one;
		TheList[the_one].done="_selected!";
		z++
		}
	}
}

// Build the straight sequence in the array "StraightList"
function SortOrder(TheList){
	for(i=0;i<TheList.length;i++){
	StraightList[i]=i;
	}
}

//Search routines. Results in SearchList
function SearchbyTown(Town){
	z=0
	RandomOrder(hotelslist);
	for(i=0;i<RandomList.length;i++){
		if(hotelslist[RandomList[i]].searchtown==Town){
			SearchList[z]=RandomList[i];
			z++;
		}
	}
	ShowList(SearchList);
}

function SearchbyCounty(County){
	z=0
	RandomOrder(hotelslist);
	for(i=0;i<RandomList.length;i++){
		if(hotelslist[RandomList[i]].searchcounty==County){
			SearchList[z]=RandomList[i];
			z++;
		}
	}
	ShowList(SearchList);
}

//#####################################################
