
function printwindow(where,useprops){
 theseprops = "TOP=0,LEFT=0,WIDTH=618,HEIGHT=575,TOOLBAR=YES,SCROLLBARS=YES,RESIZABLE=YES";
 if(useprops == 1){
  theseprops = "TOP=0,LEFT=0,WIDTH=618,HEIGHT=575,TOOLBAR=YES,SCROLLBARS=YES,RESIZABLE=YES";
 }
 window.open(where,"print",theseprops);
}

function jumpmenu(){
 var x = document.frmSearch.selProp.selectedIndex;
 if (x == 0){
  window.location.replace("Accommodation-Search.asp");
 } else {
  window.location.replace("ForSale-Search.asp");
 } 
}

function jumpmenu2(){
 var x = document.frmSearch.selProp.selectedIndex;
 if (x == 0){
  window.location.replace("ForSale-Search.asp");
 } else {
  window.location.replace("Accommodation-Search.asp");
 } 
}

function townmenu(){
 var x = document.frmSearch.selTown.selectedIndex;
 if ((x == 4) || (x == 7) || (x == 15) || (x == 16)){
  top.location.replace("edinburgh/Search.asp");
  document.frmSearch.action="edinburgh/results.asp";
 } 
 if ((x == 20)){
  top.location.replace("wolverhampton/Search.asp");
    document.frmSearch.action="wolverhampton/results.asp";
 }
 if ((x == 8)){
  top.location.replace("Hull/Search.asp");
    document.frmSearch.action="hull/results.asp";
 }
 if ((x == 12)){
  top.location.replace("lincoln/Search.asp");
    document.frmSearch.action="lincoln/results.asp";
 }
}

function MM_findObj(n, d) { //v3.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}

function MM_validateForm() { //v3.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (val!=''+num) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
  } if (errors) alert('The following error(s) occurred:\n'+errors);
  document.MM_returnValue = (errors == '');
}

function submitForm(form) {
emailLength1 = form.txtEmailTo.value.length;
emailLength2 = form.txtEmailFrom.value.length;
	if (form.txtEmailTo.value == "" || form.txtEmailTo.value.indexOf('@') <=0 || form.txtEmailTo.value.indexOf('.') <=0 || form.txtEmailTo.value.indexOf('@') == emailLength1 - 1|| form.txtEmailTo.value.indexOf('.') == emailLength1 - 1) {
		alert("Invalid email address!");
		form.txtEmailTo.focus();
		form.txtEmailTo.select();
		return false;
	}
	if (form.txtEmailFrom.value == "" || form.txtEmailFrom.value.indexOf('@') <=0 || form.txtEmailFrom.value.indexOf('.') <=0 || form.txtEmailFrom.value.indexOf('@') == emailLength2 - 1|| form.txtEmailFrom.value.indexOf('.') == emailLength2 - 1) {
		alert("Invalid email address!");
		form.txtEmailFrom.focus();
		form.txtEmailFrom.select();
		return false;
	}

	return true;
}

function loadBoard(input){
	//switches messageboard and reloads results.  CF "chooseBoard"
	chooseBoard(input);

	//W3Schools code is handy here
	var newSearchResult;
	//browser sniffing
	try {
		// Firefox, Opera 8.0+, Safari
		newSearchResult=new XMLHttpRequest();
	}
	catch (e) {
		// Internet Explorer <8
		try {
			newSearchResult=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e) {
			try {
				newSearchResult=new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e) {
				alert("Your browser does not support AJAX!");
				return false;
			}
		}
	}
	//onLoad events
	newSearchResult.onreadystatechange = function() {
		switch(newSearchResult.readyState) {
			case 1:
				//loading data
				document.getElementById("showActionResult").innerHTML += " ";
			break;
			case 2:
				//loaded
				document.getElementById("showActionResult").innerHTML += " ";
			break;
			case 3:
				//interactive
				document.getElementById("showActionResult").innerHTML += " ";
			break;
			case 4:
				//HTTP result code
				if (newSearchResult.status != 200) {
					document.getElementById("showActionResult").innerHTML = "<strong>Comms error.  Please refresh the page by pressing F5.</strong>";
				} else {
					//because of a long-standing flaw in IE, one can't write to innerHTML in table items.
					var house;
					newTable = newSearchResult.responseText;
					house = document.getElementById("blockHolder");
					try {
						house.innerHTML = newTable;
					}
					catch(e) {
						//I hate working with IE's limitations.
						var wrapperDiv = document.createElement('div');
						wrapperDiv.innerHTML = newTable;
						house.appendChild(wrapperDiv);
					}
					document.getElementById("showActionResult").innerHTML += " New search results loaded.";
				}
			break;
			default:
				//no default action, please.
				break;
		}
	}
	//If I wanted my AJAX results cached, o Microsoft, I'd have set that up.
	var theDate = new Date();
	var noCacheURLForMSIE = 'refresh_results.asp?' + (Math.random()*16777215).toString(16);
	newSearchResult.open("GET", noCacheURLForMSIE, true);
	newSearchResult.send();
}

function chooseBoard(input){
	//this changes the board without re-loading search results.
	var camButton;
	camButton = document.getElementById("chooseCam");
	var cheButton;
	cheButton = document.getElementById("chooseChe");
	var petButton;
	petButton = document.getElementById("choosePet");
	var styleOn;
	var styleOff;
	var boardInstruction;
	
	switch (input) {
		case 1:
		case 3:
		//Chelmsford
		cheButton.className = "boardSelOn";
		camButton.className = "boardSelOff";
		petButton.className = "boardSelOff";
		boardInstruction = "swapboard.asp?b=" + input;
		break;
		case 4:
		case 5:
		//Peterborough
		petButton.className = "boardSelOn";
		cheButton.className = "boardSelOff";
		camButton.className = "boardSelOff";
		boardInstruction = "swapboard.asp?b=" + input;
		break;
		default:
		//Assume 0/3 - Cambridge
		//switch Cambridge style to On, Chelmsford to Off.
		camButton.className = "boardSelOn";
		cheButton.className = "boardSelOff";
		petButton.className = "boardSelOff";
		boardInstruction = "swapboard.asp?b=0";
	}

	var xmlHttp;
	//browser sniffing
	try {
		// Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
	}
	catch (e) {
		// Internet Explorer
		try {
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
			newSearchResult=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e) {
			try {
				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
				newSearchResult=new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e) {
				alert("Your browser does not support AJAX!");
				return false;
			}
		}
	}
	//onLoad events
	xmlHttp.onreadystatechange = function() {
		if(xmlHttp.readyState==4) {
			document.getElementById("showActionResult").innerHTML = xmlHttp.responseText;
		}
	}
	xmlHttp.open("POST", boardInstruction, true);
	xmlHttp.send();
}

function sb(caller,where,who) {
	var calledBy;
	if (isNaN(where) || isNaN(who)) {
		return false;
	}
	boardInstruction = "Board-ModAssign.asp?board="+where.toString()+"&ID="+who.toString();
	var xmlHttp;
	//browser sniffing
	try {
		// Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
	}
	catch (e) {
		// Internet Explorer
		try {
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
			newSearchResult=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e) {
			try {
				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
				newSearchResult=new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e) {
				alert("Your browser does not support AJAX!");
				return false;
			}
		}
	}
	//onLoad events
	xmlHttp.onreadystatechange = function() {
		if(xmlHttp.readyState==4) {
			var rText = xmlHttp.responseText;
			document.getElementById("showActionResult").innerHTML = rText;
			document.getElementById("control_" +who + "_1").className = "boardSelOff";
			document.getElementById("control_" +who + "_2").className = "boardSelOff";
			document.getElementById("control_" +who + "_3").className = "boardSelOff";
			document.getElementById("control_" +who + "_4").className = "boardSelOff";
			document.getElementById("control_" +who + "_" + where).className = "boardSelOn";
		}
	}
	xmlHttp.open("GET", boardInstruction, true);
	xmlHttp.send(null);

} //end of function sb

function flatmatejump(obj,lable){
	//moved from inline in the board-result page
	var x = obj[obj.selectedIndex].value;
	if(x != ""){
		if (lable != "") {
			window.location = 'Board-Requests.asp?groupTown='+lable+'&category='+x;
		} else {
			window.location = 'Board-Requests.asp?groupTown=category='+x;
		}
	}
}

