// JavaScript Document
<!--
var myAjax = new sack();
var txtSearch;
var state;
var subreg;
var suburb;
var region;
var postcode;
var lat = -38;
var lon = 144;
opacCheck = "";

function MM_findObj(n, d) { //v4.01
  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);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function toggleVis(me,oo){ //make element hidden or not
	if (oo ==1){
		me.style.visibility="visible";
	}
	else {
		me.style.visibility="hidden";
	}
}


function searchLabel(txt)
{
	document.getElementById('searchLabel').innerHTML = '<br>' + txt;
}


function swapMap(newSrc) {
    if (document.images) {
        document.images['mapImage'].src = newSrc;
    }
}

function OFLocate(searchType,instr,sender){
//search types 
//		1 - pass in state return regions as select options
//		2 - pass in region returns suburbs as select options
//		2 - 
//		2 - 
	var searchMode;
	var areaSearch;
	
	myAjax.abortRequest();
	
	if (document.getElementById("searchType")) {
		var searchMode = document.getElementById("searchType").value;
		if (searchMode != "") {
			if ((searchMode != "Name") || (searchMode != "Curriculum") || (searchMode != "3")) {
				areaSearch = true;
			}
		}
	}

	if(searchType==1){
		state = sender.value;
	
		if(state.length>0){
			document.getElementById('selSuburbs').options[0] = new Option('Loading Suburbs...',' '); 
			ajaxUrl = 'http://www.australianschoolsdirectory.com.au/scripts/getSuburb.php?stateCode='+state; 
			if (areaSearch == true) {
				ajaxUrl += "&areaSearch=true";
			}
			myAjax.requestFile = ajaxUrl;
			myAjax.onCompletion = updateSuburbs; 
			myAjax.runAJAX(); // Execute AJAX function
		}
	}//end search type 1
	
	if(searchType==2){
		region = sender.value;
		state = document.getElementById("list_state").value;
	
		if(region.length>0){
			document.getElementById('selSuburbs').options[0] = new Option('Loading Suburbs...',' '); 
			ajaxUrl = 'http://www.australianschoolsdirectory.com.au/scripts/getSuburb.php?stateCode='+state+'&regionCode='+region; 
			if (areaSearch == true) {
				ajaxUrl += "&areaSearch=true";
			}
			myAjax.requestFile = ajaxUrl;
			myAjax.onCompletion = updateSuburbs; 
			myAjax.runAJAX(); // Execute AJAX function
		}
	}//end search type 2
	
	if(searchType==3){
		//search for suburbs
		subregion = sender.value;
		region = document.getElementById('list_region').value;
		state = document.getElementById("list_state").value;
	
		if(subregion.length>0){
			document.getElementById('selSuburbs').options[0] = new Option('Loading Suburbs...',' '); 
			ajaxUrl = 'http://www.australianschoolsdirectory.com.au/scripts/getSuburb.php?stateCode='+state+'&regionCode='+region+'&subregCode='+subregion; 
			if (areaSearch == true) {
				ajaxUrl += "&areaSearch=true";
			}
			myAjax.requestFile = ajaxUrl;
			myAjax.onCompletion = updateSuburbs; 
			myAjax.runAJAX(); // Execute AJAX function
		}
	}//end search type 3
	
	if(searchType==4){
		//search byr postcode
		
		document.getElementById('list_region').value = ""; // Empty region select box
		document.getElementById('list_subreg').value = ""; // Empty suburb select box
		document.getElementById('list_state').value = ""; 
		//updatePropertyDisplay(document.getElementById('list_region'));
		postcode = sender.value;
	
		if(postcode.length>0){
			ajaxUrl = 'http://www.australianschoolsdirectory.com.au/scripts/pcode2Geo.php?postcode='+postcode; 
			if (areaSearch == true) {
				ajaxUrl += "&areaSearch=true";
			}
			myAjax.requestFile = ajaxUrl;
			myAjax.onCompletion = updateLabel; 
			myAjax.runAJAX(); // Execute AJAX function
		}
	}//end search type 4

	
	if(searchType==5){
		//search byr postcode
		suburb = sender.options[sender.selectedIndex].value;
		//toggleVis(document.getElementById('multSub'),0);
		if(suburb.length>0){
			ajaxUrl.requestFile = 'http://www.australianschoolsdirectory.com.au/scripts/getPostcode.php?suburbCode='+suburb; 
			if (areaSearch == true) {
				ajaxUrl += "&areaSearch=true";
			}
			myAjax.requestFile = ajaxUrl;
			myAjax.onCompletion = updateLabel; 
			myAjax.runAJAX(); // Execute AJAX function
		}
	}//end search type 5
	
	if(searchType==6){
		//search for suburbs
		subregion2 = sender.value;
		state = document.getElementById("list_state").value;
		region = document.getElementById('list_region').value;
		subregion = document.getElementById('list_subreg').value;
	
		if(subregion2.length>0){
			document.getElementById('selSuburbs').options[0] = new Option('Loading Suburbs...',' '); 
			ajaxUrl = 'http://www.australianschoolsdirectory.com.au/scripts/getSuburb.php?stateCode='+state+'&regionCode='+region+'&subregCode='+subregion+'&subregCode2='+subregion2; 
			if (areaSearch == true) {
				ajaxUrl += "&areaSearch=true";
			}
			myAjax.requestFile = ajaxUrl;
			myAjax.onCompletion = updateSuburbs; 
			myAjax.runAJAX(); // Execute AJAX function
		}
	}//end search type 3

}//end of locate



function getBySuburb()
{
	var suburb = document.getElementById('txtSuburb').value;
	document.getElementById('list_state').value = "";
	changeFlash();
    document.getElementById('selSuburbs').options.length = 0; // Empty suburbs select box
	document.getElementById('selSuburbs').options[0] = new Option('Loading Suburbs...',' '); 
	
	if(suburb.length>0){
		txtSearch=true;
		myAjax.requestFile = 'http://www.australianschoolsdirectory.com.au/scripts/getLoc.php?suburb='+suburb; // Specifying which file to get
		myAjax.onCompletion = updateSuburbs; // Specify function that will be executed after file has been found
		myAjax.runAJAX(); // Execute AJAX function
	}

}

function updateRegion()
{
	document.getElementById('list_region').options.length = 0; // Empty region select box
	var obj = document.getElementById('list_region');
	eval(myAjax.response); // Executing the response from Ajax as Javascript code 
	
	//state = document.getElementById('list_state').options[document.getElementById('list_state').selectedIndex].value;
	/*if(state.length>0){
			myAjax.requestFile = 'scripts/getSuburb.php?stateCode='+state; 
			myAjax.onCompletion = updateSuburbs; 
			myAjax.runAJAX(); // Execute AJAX function
	}
*/
	
}

function changeFlash() {
	window.document.myFlash.LoadMovie(0, "/flash/main.swf");
	
}

function updateSubreg()
{
	document.getElementById('list_subreg').options.length = 0; // Empty suburb select box
	var obj = document.getElementById('list_subreg');
	eval(myAjax.response); // Executing the response from Ajax as Javascript code 
	
	state = document.getElementById('list_state').value;
	region = document.getElementById('list_region').value;
	if(region.length>0){
			myAjax.requestFile = 'http://www.australianschoolsdirectory.com.au/scripts/getSuburb.php?stateCode='+state+'&regionCode='+region; 
			myAjax.onCompletion = updateSuburbs; 
			myAjax.runAJAX(); // Execute AJAX function
	}
	
}

function updateSuburbs()
{
	//document.getElementById('multPostcode').options.length = 0; // Empty suburb select box

	var obj = document.getElementById('selSuburbs');
	obj.options.length = 0;
	eval(myAjax.response);
	if (obj.options[0].value == "selectAll") {
		if (document.getElementById("txtSuburb").value == "") {
			obj.options[0].selected = true;
		}
	}
	
}


function changeState(inState)
{
	var suburbBox = document.getElementById("txtSuburb");
	if (suburbBox.disabled == false) {
		suburbBox.disabled = true;
	}
	document.getElementById('list_state').value = inState;

    document.getElementById('selSuburbs').options.length = 0; // Empty suburbs select box
	document.getElementById('txtSuburb').value='';
	if (document.getElementById("searchType")) {
		if ((document.getElementById("searchType").value == "Name") ||(document.getElementById("searchType").value == "3") ) {
			switch (inState) {
				case "QLD":
					state = "Queensland";
					break;
				case "NSW":
					state = "New South Wales";
					break;
				case "VIC":
					state = "Victoria";
					break;
				case "ACT":
					state = "Australian Capital Territory";
					break;
				case "TAS":
					state = "Tasmania";
					break;
				case "SA":
					state = "South Australia";
					break;
				case "WA":
					state = "Western Australia";
					break;
				case "NT":
					state = "Northern Territory";
					break;
			}
			document.getElementById('selSuburbs').options[0] = new Option(state, "dontSelect");
		}
		
		
	}
	
	
	//OFLocate(1,1,document.getElementById('list_state'));

	
}

function simpleChangeState(inState) {
	document.getElementById('list_state').value = inState;
	searchForm.submit();
}

function changeRegion(inRegion, keep)
{
	var suburbBox = document.getElementById("txtSuburb");
	if (suburbBox.disabled == true) {
		suburbBox.disabled = false;
	}
	document.getElementById('list_region').value = inRegion;
	
    document.getElementById('selSuburbs').options.length = 0; // Empty suburbs select box
	if (keep != true) {
		document.getElementById('txtSuburb').value='';
	}
	OFLocate(2,1,document.getElementById('list_region'));

}
function changeSubregion(inSubregion, keep)
{
	
	var suburbBox = document.getElementById("txtSuburb");
	if (suburbBox.disabled == true) {
		suburbBox.disabled = false;
	}
	
	document.getElementById('list_subreg').value = inSubregion;
	
    document.getElementById('selSuburbs').options.length = 0; // Empty suburbs select box
	if (keep != true) {
		document.getElementById('txtSuburb').value='';
	}
	OFLocate(3,1,document.getElementById('list_subreg'));


}

function changeSubregion2(inSubregion2, keep)
{
	var suburbBox = document.getElementById("txtSuburb");
	if (suburbBox.disabled == true) {
		suburbBox.disabled = false;
	}
	
	document.getElementById('list_subreg2').value = inSubregion2;
	
    document.getElementById('selSuburbs').options.length = 0; // Empty suburbs select box
	if (keep != true) {
		document.getElementById('txtSuburb').value='';
	}
	OFLocate(6,1,document.getElementById('list_subreg2'));


}

function resetMap(stateReset)
{
		
	var suburbBox = document.getElementById("txtSuburb");
	if (suburbBox.disabled == false) {
		suburbBox.disabled = true;
	}
	document.getElementById('list_subreg').value = ""; // Empty region select box
	document.getElementById('list_subreg2').value = "";
	document.getElementById('selSuburbs').options.length = 0; // Empty region select box
	if (stateReset != true) {
		document.getElementById('list_region').value = ""; // Empty region select box
		document.getElementById('list_state').value = ""; // Empty region select box
	}
    document.getElementById('selSuburbs').options.length = 0; // Empty suburbs select box
	document.getElementById('txtSuburb').value='';
	
	document.getElementById('flashfile').value='';
}

function selAll(formObject) {
	var object = eval("document.searchForm."+formObject);
	if (object.value == "selectAll") {
		for (var i = (object.length-1); i >= 0; i--) {
			object[i].selected = true;
		}
	}
}

function validateSearch(name, refine, ignore) {
	var pass = false;
	var msg = "Please select a state";
	var suburbDropDown = document.getElementById("selSuburbs");
	var state = document.getElementById("list_state");
	var region = document.getElementById("list_region");
	
	if (document.getElementById("searchType")) {
		if (document.getElementById("searchType").value == "3") {
			ignore = true;
		}
	}
	
	if (state.value != "") {
		pass = true;
		if (ignore != true) {
			if (region.value == "") {
				pass = false;
				msg = "You cannot search a whole state, please refine your search by clicking on the maps";
				state = true;
			}
		}
	} 
	if ((refine == true) && (pass == true)) {
		if (document.getElementById("txtSuburb").value == "") {
			if (suburbDropDown.length > 0) {
				if (suburbDropDown.selectedIndex == -1) {
					msg = "Please select a region from the map, or suburb/s from the table."; 
					pass = false;
				}
			} else {
				msg = "Please refine your search area by clicking on the maps"; 
				pass = false;
			}
		} 
	}
	var searchType = document.getElementById("searchType");
	if (searchType) {
		switch (searchType.value) {
			case "Religion":
				var religion = document.getElementById("religion");
				if (religion.selectedIndex == -1) {
					msg = "Please choose a religion to search by";
					pass = false;
				}
				break;
			case "Alternative":
				var alternative = document.getElementById("alternative");
				if (alternative.selectedIndex == -1) {
					msg = "Please choose an Alternative school type to search by";
					pass = false;
				}
				break;
			case "Curriculum":
				var curriculum = document.getElementById("curriculum");
				if (curriculum.selectedIndex == -1) {
					msg = "Please choose a curriculum type to search by";
					pass = false;
				}
				break;
			case "Special":
				var special = document.getElementById("specialNeeds");
				if (special.selectedIndex == -1) {
					msg = "Please choose a special needs type to search by";
					pass = false;
				}
				break;
			case "Name":
				if (document.searchForm.schoolName.value == "") {
					msg = "Please enter a school name";
					pass = false;
				} else {
					if (state == true) {
						pass = true;
					}
				}
				break;
		}
	}
	
	if (pass == false) {	
		alert(msg);
		//return false
	} else {
		searchForm.submit();
	}
}


function shortlistLogin() {
	var email = document.getElementById("email-shortlist").value;
	var password = document.getElementById("password-shortlist").value;
	if (password == "" || email == "") {
		document.getElementById("shortlistError").innerHTML = "<strong>Incorrect login details</strong>";
	} else {
		myAjax.requestFile = 'http://www.australianschoolsdirectory.com.au/scripts/shortlist?email='+email+'&password='+password; 
		myAjax.onCompletion = shortlistReturn; 
		myAjax.runAJAX(); 
	}
}


function shortlistReturn() {
	var value = myAjax.response;
	if (value == "error") {
		document.getElementById("shortlistError").innerHTML = "<p><strong>Incorrect login details</strong></p>";
	} else {
		document.getElementById("shortlistContent").innerHTML = value;
	}
}

function nextPage(page) {
	document.getElementById("pageNum").value = page;
	searchForm.action= "search-result.php";
	searchForm.submit();
}

function addSuburbs() {
 	var text = document.getElementById('txtSuburb');
	var select = document.getElementById('selSuburbs');
	
	var suburbs = select.options[select.selectedIndex];
	if (suburbs.value == "dontSelect") {
		select.selectedIndex = -1;
		//suburbs.selected = false;
	} else {
		text.value = suburbs.text;
		text.focus();
		
	}
	return true;
	
}


function addSuburbsBackup() {
 	var text = document.getElementById('txtSuburb');
	var select = document.getElementById('selSuburbs');
	text.focus();
	var suburbs = select.options[select.selectedIndex];
	if (suburbs.value == "selectAll") {
		text.value = suburbs.text;
		return true;
	}
	var textArray = text.value.split(",");
	var pattern = new RegExp('\s*' + suburbs.text + '\s*$');
	for (var i = 0; i < textArray.length; i++) {
		if (pattern.exec(textArray[i])) {
			return false;
		}
	}
	var textBox = text.value.replace(/(^|,)([^,]*)$/, "$1 " + suburbs.text + ", ");
	text.value = textBox;
	return false;
	
}

function checkSuburbs() {
	var select = document.getElementById('selSuburbs');
	var length = select.options.length;
	var found = false;
	if (length > 1) {
		var text = document.getElementById("txtSuburb");
		if (text != "") {
			var suburbCheck = text.value.match(/,*([^,]+)$/);
			if (suburbCheck != "") {
				suburbCheck = suburbCheck[1].toUpperCase().replace(/^\s*/, '').replace(/\s*$/, '');
				for (var i = 0; i < length; i++) {
					if (select.options[i].text.toUpperCase().indexOf(suburbCheck) == 0) {
						select.selectedIndex = i;
						found = true;
						break;
					}
				}
				if (found == false) {
					select.selectedIndex = -1;
				}
			}
		}
	}
}

function setflash(flash) {
	document.getElementById("flashfile").value = flash;
}

function checkSuburbDisabled() {
	var box = document.getElementById("txtSuburb")
	if (box.value != "") {
		if (box.disabled == true) {
			box.disabled = false;
		}
	}
}

function searchMap() {
	document.searchForm.action = "search-result-maps.php";

	document.searchForm.submit();
}

function refineSearch(field, value) {
	document.getElementById(field).value = value;
	document.getElementById("pageNum").value = 1;
	document.searchForm.action = "search-result.php";
	
	
	//if (secondType) {
		//document.getElementById("rReligion").value = secondType;
	//}
	
	//document.getElementById("refine"+refineType).value = 1;
	document.searchForm.submit();
}

function nextOrg() {
	clearTimeout()
	opacity(100, 0, 200, "out");
}

function createSack() {
	return new sack();
}

function killSack(sack) {
	return false;
}


function nextUpdate() {
	var orgSack = createSack();
	var url = "scripts/getImage2.php";
	orgSack.requestFile = url;
	orgSack.onCompletion = function() { updateImage(orgSack); }; 
	orgSack.runAJAX();
}

function updateImage(sack) {
	clearTimeout(opacCheck);
	var response = sack.response;
	var responseArray = response.split("^^^^");
	sack = killSack(sack);
	var divString = "prodArea";
	var divString2 = "orgArea";
	document.getElementById(divString).innerHTML = "&nbsp;";
	document.getElementById(divString).innerHTML = responseArray[0];
	document.getElementById(divString2).innerHTML = "&nbsp;";
	document.getElementById(divString2).innerHTML = responseArray[1];
	opacCheck = setTimeout("opacity(0, 100, 250, \"in\")", 200);
}


function opacity(opacStart, opacEnd, millisec, continueFunction) {
    var speed = Math.round(millisec / 100);
    var timer = 0;
	if (opacCheck) {
		clearTimeout(opacCheck);
	}
    if(opacStart > opacEnd) {
        for(i = opacStart; i >= opacEnd; i--) {
            setTimeout("changeOpac(" + i + ")",(timer * speed));
            timer++;
        }
    } else if(opacStart < opacEnd) {
        for(i = opacStart; i <= opacEnd; i++)
            {
            setTimeout("changeOpac(" + i + ")",(timer * speed));
            timer++;
        }
    }
	if (continueFunction == "out") {
		opacCheck = setTimeout("nextUpdate()", 200);
	} else {
		setTimeout("nextOrg()", 10000);
	}
}

function changeOpac(opacity) {
    var object = document.getElementById("prodArea").style;
	var object2 = document.getElementById("orgArea").style;
    object.opacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")"; 
	object2.opacity = (opacity / 100);
    object2.KhtmlOpacity = (opacity / 100);
    object2.filter = "alpha(opacity=" + opacity + ")"; 
	
} 



//-->