
// This Javascript my not be copied or used without permission.
//Copyright Jim, Web Master for www.nabd.org.uk Reg. Charity. 1040907
var entries = 10;//Number of entries per page to display
var ikons="";//Path to ikons folder
var SorryString ="<p align=\"center\"><font color=\"#000080\">Sorry, but there are no listings which match your choices.</font></p><br><p align=\"center\"><font color=\"#000080\">Please choose other options, or try looking in other towns nearby.</font></p><br><p align=\"center\"><font color=\"#000080\"><b>Thank you for using<br>Welcome2</b></font></p><br>";
// if the above paths are not in a sub folder, use "". note the trailing"/" on subfolders

//Declare globals - do not change
var RandomList = new Array();
var DisplayList = new Array();
var SearchList = new Array();
var PageList = new Array();
var page=0;
var hotelslist = new Array();
var y="y";
var n="n";

function AddHotel(){
	var temp=new Item(h,b,w,s);
	count=hotelslist.length;
	hotelslist[count]=temp;
}

//Primitive for AddHotel
function Item(h,b,w,s) {
	this.hotelname = h;
	this.bodytext = b;
	this.web = w;
	this.srch = s;
	this.done = "f";
}

function Item1(a,b,c,d,e,f,g,h,i,j,k) {
	this.nsmoke = a;
	this.pets = b;
	this.daccess= c;
	this.camp = d;
	this.chalet= e;
	this.guest = f;
	this.hpark = g;
	this.hotel= h;
	this.selfcat = i;
	this.bandb = j;
	this.cott = k;

}


//Write to Layer
function WriteLayer(ID,sText) {
	parentID=null;
	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 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){
	t=(i + entries);
	var temp = new PageListItem(i,t);
	page= PageList.length;
	PageList[page] = temp;
	i=(i+entries);
	}
}

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

	}


//Show the results
function ShowResults(page){
	helppage=page;
	if (PageList[page].stop>DisplayList.length){PageList[page].stop=DisplayList.length}

//Set up the previous/next links
	htmlstring="<table border=\"0\" width=\"100%\"><tr><td width=\"50%\">Results ";
	htmlstring+=(PageList[page].start+" to "+PageList[page].stop+" of "+DisplayList.length+"</td><td align=\"right\">");

	if (page!=0){htmlstring+=("<a href=\"Javascript:ShowResults("+(page-1)+")\">Previous</a>")}
	else {htmlstring+=("<font color=\"#C0C0C0\">Previous </font>")}
	htmlstring+=(" Page "+(page+1)+" of "+PageList.length);
	if (page<(PageList.length - 1)){htmlstring+=("  <a href=\"Javascript:ShowResults("+(page+1)+")\">Next</a><br>")}
	else {htmlstring+=(" <font color=\"#C0C0C0\">Next</font>")}
	if (PageList[page].stop>DisplayList.length){PageList[page].stop=DisplayList.length}

	htmlstring+="</td></tr></table>";

//Display the results
	for (var z=(PageList[page].start);z<PageList[page].stop;z++){
	thisone = DisplayList[z];
	htmlstring+=("<hr size=\"2\"width=\"90%\"><table border=\"0\"width=\"100%\">");//open a table
		htmlstring+=("<tr><td rowspan=\"4\"width=\'55\' valign=\"top\"><img src=\""+hotelslist[thisone].web+"/thumb.jpg\"border=\"0\"></td>");
		htmlstring+=("<td colspan=\"2\"><strong>"+hotelslist[thisone].hotelname +"&nbsp;</strong></td></tr>");
		htmlstring+=("<tr><td colspan=\"2\">"+hotelslist[thisone].bodytext +"&nbsp;</td></tr>");

			htmlstring+=("<tr><td colspan=\"2\">");
			if(hotelslist[thisone].srch.nsmoke!="n"){htmlstring+="<img src=\""+ikons+"/nsmoke.gif\"border=\"0\">&nbsp;"}
			if(hotelslist[thisone].srch.pets!="n"){htmlstring+="<img src=\""+ikons+"/pets.gif\"border=\"0\">&nbsp;"}
			if(hotelslist[thisone].srch.daccess!="n"){htmlstring+="<img src=\""+ikons+"/daccess.gif\"border=\"0\">&nbsp;"}
			if(hotelslist[thisone].srch.camp!="n"){htmlstring+="<img src=\""+ikons+"/camp.gif\"border=\"0\">&nbsp;"}
			if(hotelslist[thisone].srch.chalet!="n"){htmlstring+="<img src=\""+ikons+"/chalet.gif\"border=\"0\">&nbsp;"}
			if(hotelslist[thisone].srch.guest!="n"){htmlstring+="<img src=\""+ikons+"/guest.gif\"border=\"0\">&nbsp;"}
			if(hotelslist[thisone].srch.hpark!="n"){htmlstring+="<img src=\""+ikons+"/hpark.gif\"border=\"0\">&nbsp;"}
			if(hotelslist[thisone].srch.hotel!="n"){htmlstring+="<img src=\""+ikons+"/hotel.gif\"border=\"0\">&nbsp;"}
			if(hotelslist[thisone].srch.selfcat!="n"){htmlstring+="<img src=\""+ikons+"/selfcat.gif\"border=\"0\">&nbsp;"}
			if(hotelslist[thisone].srch.bandb!="n"){htmlstring+="<img src=\""+ikons+"/bandb.gif\"border=\"0\">&nbsp;"}
			if(hotelslist[thisone].srch.cott!="n"){htmlstring+="<img src=\""+ikons+"/cott.gif\"border=\"0\"></td></tr>"}
		htmlstring+=("<tr><td><a href=\""+hotelslist[thisone].web +"/index.htm \" target=\"_blank\">More details</a></td>");
			htmlstring+=("<td align=\"right\"><a href=\"Javascript:DisplayHelp()\">Explain symbols</a></td></tr>");

	htmlstring+="</table>";//close the table
	}
	WriteLayer('DisplayLayer',htmlstring);//Display the table
}


function Initialise(){
	RandomOrder(hotelslist);
	ShowList(RandomList)
}



function ShowList(List){
if (List==null){List=DisplayList}
BuildGroup(List);
DisplayList = 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++
		}
	}
}




function SearchR(){
	z=0
	SearchList.length=0;
	for(x=0;x<RandomList.length;x++){
		flag=true;
		if((a=(stateChecker(document.radiosearch.nsmoke)))!="all"){if(hotelslist[RandomList[x]].srch.nsmoke!=a){flag=false}}
		if((b=(stateChecker(document.radiosearch.pets)))!="all"){if(hotelslist[RandomList[x]].srch.pets!=b){flag=false}}
		if((c=(stateChecker(document.radiosearch.daccess)))!="all"){if(hotelslist[RandomList[x]].srch.daccess!=c){flag=false}}
		if((d=(stateChecker(document.radiosearch.camp)))!="all"){if(hotelslist[RandomList[x]].srch.camp!=d){flag=false}}
		if((e=(stateChecker(document.radiosearch.chalet)))!="all"){if(hotelslist[RandomList[x]].srch.chalet!=e){flag=false}}
		if((f=(stateChecker(document.radiosearch.guest)))!="all"){if(hotelslist[RandomList[x]].srch.guest!=f){flag=false}}
		if((g=(stateChecker(document.radiosearch.holpark)))!="all"){if(hotelslist[RandomList[x]].srch.hpark!=g){flag=false}}
		if((h=(stateChecker(document.radiosearch.hotel)))!="all"){if(hotelslist[RandomList[x]].srch.hotel!=h){flag=false}}
		if((i=(stateChecker(document.radiosearch.selfcat)))!="all"){if(hotelslist[RandomList[x]].srch.selfcat!=i){flag=false}}
		if((j=(stateChecker(document.radiosearch.bandb)))!="all"){if(hotelslist[RandomList[x]].srch.bandb!=j){flag=false}}
		if((k=(stateChecker(document.radiosearch.cott)))!="all"){if(hotelslist[RandomList[x]].srch.cott!=k){flag=false}}

		if(flag==true){
			SearchList[z]=RandomList[x];
			z++;
		}
	}

	if(SearchList.length!=0){ShowList(SearchList)}
	else {WriteLayer("DisplayLayer",SorryString)}
}

function stateChecker(check) {
	var checkedButton = "all";
//	alert("check = "+x);
	if (check[0].checked){checkedButton="n"}
	else if(check[1].checked){checkedButton="y"}

	return checkedButton;
}

function SearchB(){
	z=0
	SearchList.length=0;
	for(x=0;x<RandomList.length;x++){
		flag=true;
		if((a=document.boxsearch.nsmoke.value)!="all"){if(hotelslist[RandomList[x]].srch.nsmoke!=a){flag=false}}
		if((b=document.boxsearch.pets.value)!="all"){if(hotelslist[RandomList[x]].srch.pets!=b){flag=false}}
		if((c=document.boxsearch.daccess.value)!="all"){if(hotelslist[RandomList[x]].srch.daccess!=c){flag=false}}
		if((d=document.boxsearch.camp.value)!="all"){if(hotelslist[RandomList[x]].srch.camp!=d){flag=false}}
		if((e=document.boxsearch.chalet.value)!="all"){if(hotelslist[RandomList[x]].srch.chalet!=e){flag=false}}
		if((f=document.boxsearch.guest.value)!="all"){if(hotelslist[RandomList[x]].srch.guest!=f){flag=false}}
		if((g=document.boxsearch.hpark.value)!="all"){if(hotelslist[RandomList[x]].srch.hpark!=g){flag=false}}
		if((h=document.boxsearch.hotel.value)!="all"){if(hotelslist[RandomList[x]].srch.hotel!=h){flag=false}}
		if((i=document.boxsearch.selfcat.value)!="all"){if(hotelslist[RandomList[x]].srch.selfcat!=i){flag=false}}
		if((j=document.boxsearch.bandb.value)!="all"){if(hotelslist[RandomList[x]].srch.bandb!=j){flag=false}}
		if((k=document.boxsearch.cott.value)!="all"){if(hotelslist[RandomList[x]].srch.cott!=k){flag=false}}

		if(flag==true){
			SearchList[z]=RandomList[x];
			z++;
		}
	}

	if(SearchList.length!=0){ShowList(SearchList)}
	else {WriteLayer("DisplayLayer",SorryString)}
}



function DisplayHelp(){

	helpstring=("<table border=\"1\"width=\"100%\">");
	helpstring+=("<tr><td width=\"42\"><img border=\"0\" src=\""+ikons+"/nsmoke.gif\" width=\"25\" height=\"25\"></td><td>No Smoking</td></tr>");
	helpstring+=("<tr><td width=\"42\"><img border=\"0\" src=\""+ikons+"/pets.gif\" width=\"25\" height=\"25\"></td><td>Pets allowed</td></tr>");
	helpstring+=("<tr><td width=\"42\"><img border=\"0\" src=\""+ikons+"/daccess.gif\" width=\"25\" height=\"25\"></td><td>Disabled Accessible</td></tr>");
	helpstring+=("<tr><td width=\"42\"><img border=\"0\" src=\""+ikons+"/camp.gif\" width=\"25\" height=\"25\"></td><td>Camping Caravan Park</td></tr>");
	helpstring+=("<tr><td width=\"42\"><img border=\"0\" src=\""+ikons+"/chalet.gif\" width=\"25\" height=\"25\"></td><td>Chalets</td></tr>");
	helpstring+=("<tr><td width=\"42\"><img border=\"0\" src=\""+ikons+"/guest.gif\" width=\"25\" height=\"25\"></td><td>Guest House</td></tr>");
	helpstring+=("<tr><td width=\"42\"><img border=\"0\" src=\""+ikons+"/hpark.gif\" width=\"25\" height=\"25\"></td><td>Holiday Park</td></tr>");
	helpstring+=("<tr><td width=\"42\"><img border=\"0\" src=\""+ikons+"/hotel.gif\" width=\"25\" height=\"25\"></td><td>Hotel</td></tr>");
	helpstring+=("<tr><td width=\"42\"><img border=\"0\" src=\""+ikons+"/selfcat.gif\" width=\"25\" height=\"25\"></td><td>Self Catering</td></tr>");
	helpstring+=("<tr><td width=\"42\"><img border=\"0\" src=\""+ikons+"/bandb.gif\" width=\"25\" height=\"25\"></td><td>B and B</td></tr>");
	helpstring+=("<tr><td width=\"42\"><img border=\"0\" src=\""+ikons+"/cott.gif\" width=\"25\" height=\"25\"></td><td>Cottage</td></tr>");
	helpstring+=("</table><p align=\"center\">");
	helpstring+=("<a href=\"Javascript:ShowResults("+helppage+")\">Go back</a><br>");

	WriteLayer("DisplayLayer",helpstring);

}
//#####################################################
