/*lancs Schools*/

/*global variables*/
var district = null;//current selected district
var schType = null;//current selected schooltype
/*global arrays*/
//school types
var schTypes = Array('all','primary','secondary','small','nursery','SEN','FE','PRU');
//districts
var districts = Array('','lancaster','wyre','','fylde','null','preston','south_ribble','west_lancashire','chorley','null','hyndburn_ribble','burnley','pendle','rossendale');

/*
Returns array containing field => value sets from a query string
e.g. something.php?field=value&field=value&field=value
var obj can be a string (obj='key=val&key=val' or a <a href=""></a> object
*/
function getUrlAttributes(obj){	
	//array to hold val[0]='field=value'
	var val=[];
	if(obj.nodeType == 1){//for  <a></a> object
		//get href attribute from url object		
		var href = obj.getAttribute('href');
		//split at ? and then &
		if(href.split('?')){
			val = href.split('?');
		}
		if(val[1].split('&')){
		val = val[1].split('&');
		}
	}else{//for a string (used here for variables sent from flash)
		if(obj.split('&')){
			val = obj.split('&');
		}
	}
	//length of array 
	num = val.length;
	var avar = new Array();	
	for(i=0; i<num; i++){
		//split val[0]='field=value'
		keyVal = val[i].split('=');
		avar[keyVal[0]] = keyVal[1];
	}
return avar;
}

/*Insert XHTML into the DOM depending 
on what the user has selected*/
function lancsSchools(urlObj){
	//alert(district+' '+schType);
	if(district == null && schType == null){
			//<div id="selected_district" class="hide lancaster"><h2>District being searched - Lancaster</h2></div>
			//create nodes
			var div = document.createElement('div');
			div.setAttribute('id','selected_district');
			div.className = 'hide lancashire';
			var h2 = document.createElement('h2');
			var txt = document.createTextNode('Search All Lancashire');
			//append nodes
			h2.appendChild(txt);
			div.appendChild(h2);
			//get insertion point
			var container = document.getElementById('container');
			//append to the DOM
			container.appendChild(div);
	}
	//get url attributes
	var urlA = getUrlAttributes(urlObj)
	if(urlA['sch_type']){
		if(schType != urlA['sch_type']){	
			if(schType != null){//remove school type from the DOM
				var container = document.getElementById('container');
				var remove = document.getElementById('school_type');
				container.removeChild(remove);
			}			
			//add search districts button
			//<div id="search_districts"><a href="" class="hide" >Search districts in Lancashire</a></div>
			var distB = document.createElement('div');
			distB.setAttribute('id','search_districts');
			var distL = document.createElement('a');
			 	distL.setAttribute('href', '#');
				distL.className='hide';
				distL.onclick = distMap;
			var txt = document.createTextNode('Search districts in Lancashire');
			//append nodes
			distL.appendChild(txt);
			distB.appendChild(distL);
			var container = document.getElementById('container');
			//append to the DOM
			container.appendChild(distB);	
			schType = urlA['sch_type'];
			//build and insert XHTML to the DOM	
			//<div id="school_type" class="hide primary"><h3>School type being searched - primary</h3></div>
			//create nodes
			var div = document.createElement('div');
			div.setAttribute('id','school_type');
			div.className = 'hide '+schTypes[urlA['sch_type']];
			var h3 = document.createElement('h3');
			var txt = document.createTextNode('School type being searched - '+schTypes[urlA['sch_type']]);
			//append nodes
			h3.appendChild(txt);
			div.appendChild(h3);
			//append to the DOM
			container.appendChild(div);			
			
			//clear for google map
			if(document.getElementById('districts')){
				var mapBorder = document.getElementById('map_border');
				var remove = document.getElementById('districts');
				mapBorder.removeChild(remove);
			}
			//clear google map
			if(document.getElementById('map')){
				var mapBorder = document.getElementById('map_border');
				var remove = document.getElementById('map');
				mapBorder.removeChild(remove);
				if(document.getElementById('side')){
				var remove = document.getElementById('side');
				mapBorder.removeChild(remove);
				}
			}
			//create google map node
			//<div id="img_holder"></div>
			//<div id="loading"></div>
			var imgHolder = document.createElement('div');
			imgHolder.setAttribute('id','img_holder');
			var loading = document.createElement('div');
			loading.setAttribute('id','loading');
			
			var gmap = document.createElement('div');
			gmap.setAttribute('id','map');
			
			//get insert point for google map
			var mapId = document.getElementById('map_border');
			mapId.appendChild(imgHolder);
			mapId.appendChild(loading);			
			//create drop down node
			var dropDown = document.createElement('div');
			dropDown.setAttribute('id','side');
			//append dropdown before map
			mapId.appendChild(dropDown);
			mapId.appendChild(gmap);
		}
			
	}else if(urlA['district']){
		if(district != urlA['district']){
			if(document.getElementById('selected_district')){
				var container = document.getElementById('container');
				var remove = document.getElementById('selected_district');
				container.removeChild(remove);
				}
				district = urlA['district'];	

			//clear for google map
			if(document.getElementById('districts')){
				var mapBorder = document.getElementById('map_border');
				var remove = document.getElementById('districts');
				mapBorder.removeChild(remove);
			}
			
			//add search districts button
			//<div id="search_districts"><a href="" class="hide" >Search districts in Lancashire</a></div>
			var distB = document.createElement('div');
			distB.setAttribute('id','search_districts');
			var distL = document.createElement('a');
			 	distL.setAttribute('href', '#');
				distL.className='hide';
				distL.onclick = distMap;
			var txt = document.createTextNode('Search districts in Lancashire');
			//append nodes
			distL.appendChild(txt);
			distB.appendChild(distL);
			//get insertion point
			var container = document.getElementById('container');
			//append to the DOM
			container.appendChild(distB);			
			
			//create google map node
			var imgHolder = document.createElement('div');
			imgHolder.setAttribute('id','img_holder');
			var loading = document.createElement('div');
			loading.setAttribute('id','loading');
			
			var gmap = document.createElement('div');
			gmap.setAttribute('id','map');
			
			//get insert point for google map
			var mapId = document.getElementById('map_border');
			mapId.appendChild(imgHolder);
			mapId.appendChild(loading);
			
			//create drop down node
			var dropDown = document.createElement('div');
			dropDown.setAttribute('id','side');
			//append dropdown before map
			mapId.appendChild(dropDown);			
			mapId.appendChild(gmap);
			//<div id="selected_district" class="hide lancaster"><h2>District being searched - Lancaster</h2></div>
			//create nodes
			var div = document.createElement('div');
			div.setAttribute('id','selected_district');
			div.className = 'hide '+districts[urlA['district']];
			var h2 = document.createElement('h2');
			var txt = document.createTextNode('District being searched - '+schTypes[urlA['district']]);
			//append nodes
			h2.appendChild(txt);
			div.appendChild(h2);
			//append to the DOM
			container.appendChild(div);
		}			
	}		
	//get gmap data		
	if(district && schType){//district and school type
		gMapAjax('sch_type='+schType+'&district='+district);	
	}else if(district){//all schools in a district
		gMapAjax(urlObj);	
	}else if(schType){//all schools of one type 
		gMapAjax(urlObj);
	}

}

function distMap(){
	
//reset last selected district			
district = null;
schType = null;
//remove elements from the page
if(document.getElementById('map')){
	var mapBorder = document.getElementById('map_border');
	var remove = document.getElementById('map');
	mapBorder.removeChild(remove);
	remove = document.getElementById('side');
	mapBorder.removeChild(remove);
	var container = document.getElementById('container');		
	if(document.getElementById('search_districts')){
	remove = document.getElementById('search_districts');
	container.removeChild(remove);
	}
	if(document.getElementById('selected_district')){
	remove = document.getElementById('selected_district');
	container.removeChild(remove);
	}
	if(document.getElementById('school_type')){
	remove = document.getElementById('school_type');
	container.removeChild(remove);
	}
}
//add districts map
//build district map mark up
//div
var div = document.createElement('div');
div.setAttribute('id','districts');
var flash = document.getElementById('IE');//get flash html - can't use appendChild with IE grrrrrrrrrrrrrrrr....
div.innerHTML = flash.innerHTML;
//h4 & text node
var h4 = document.createElement('h4');
h4.className='hide';
var txt = document.createTextNode('Lancashire districts');
//append text to h4
h4.appendChild(txt);

//br 
var br = document.createElement('br');
br.className = 'clear';
//ul
var ul = document.createElement('ul');
//li
var liLancaster = document.createElement('li');
//li class
liLancaster.className = 'lancaster hide';
//a 
var aLancaster = document.createElement('a');
//a link 
aLancaster.setAttribute('href', 'includes/school_data.php?district=1');
//a title
aLancaster.setAttribute('title','Search Schools in Lancaster');
//anchor class
aLancaster.className = 'gmap';
//textnode 
var txtLancaster = document.createTextNode('Lancaster');
//append text node to anchor
aLancaster.appendChild(txtLancaster);
//append anchor to list item
liLancaster.appendChild(aLancaster);
//append li to ul
ul.appendChild(liLancaster);

//li
var liWyre = document.createElement('li');
//li class
liWyre.className = 'wyre hide';
//a 
var aWyre = document.createElement('a');
//a link 
aWyre.setAttribute('href', 'includes/school_data.php?district=2');
//a title
aWyre.setAttribute('title','Search Schools in Wyre');
//anchor class
aWyre.className = 'gmap';
//textnode 
var txtWyre = document.createTextNode('Wyre');
//append text node to anchor
aWyre.appendChild(txtWyre);
//append anchor to list item
liWyre.appendChild(aWyre);
//append li to ul
ul.appendChild(liWyre);

//li
var liFylde = document.createElement('li');
//li class
liFylde.className = 'fylde hide';
//a 
var aFylde = document.createElement('a');
//a link
aFylde.setAttribute('href','includes/school_data.php?district=4');
//a title
aFylde.setAttribute('title','Search Schools in Fylde');
//anchor class
aFylde.className = 'gmap';
//textnode 
var txtFylde = document.createTextNode('Fylde');
//append text node to anchor
aFylde.appendChild(txtFylde);
//append anchor to list item
liFylde.appendChild(aFylde);
//append li to ul
ul.appendChild(liFylde);

//li
var liPreston = document.createElement('li');
//li class
liPreston.className = 'preston hide';
//a 
var aPreston = document.createElement('a');
//a link
aPreston.setAttribute('href','includes/school_data.php?district=6');
//a title
aPreston.setAttribute('title','Search Schools in Preston');
//anchor class
aPreston.className = 'gmap';
//textnode 
var txtPreston = document.createTextNode('Preston');
//append text node to anchor
aPreston.appendChild(txtPreston);
//append anchor to list item
liPreston.appendChild(aPreston);
//append li to ul
ul.appendChild(liPreston);

//li
var liSouthRibble = document.createElement('li');
//li class
liSouthRibble.className = 'south_ribble hide';
//a 
var aSouthRibble = document.createElement('a');
//a link
aSouthRibble.setAttribute('href','includes/school_data.php?district=7');
//a title
aSouthRibble.setAttribute('title','Search Schools in South-Ribble');
//anchor class
aSouthRibble.className = 'gmap';
//textnode 
var txtSouthRibble = document.createTextNode('South-Ribble');
//append text node to anchor
aSouthRibble.appendChild(txtSouthRibble);
//append anchor to list item
liSouthRibble.appendChild(aSouthRibble);
//append li to ul
ul.appendChild(liSouthRibble);

//li
var liWestLancashire = document.createElement('li');
//li class
liWestLancashire.className = 'west_lancashire hide';
//a 
var aWestLancashire = document.createElement('a');
//a link
aWestLancashire.setAttribute('href','includes/school_data.php?district=8');
//a title
aWestLancashire.setAttribute('title','Search Schools in West Lancashire');
//anchor class
aWestLancashire.className = 'gmap';
//textnode 
var txtWestLancashire = document.createTextNode('West Lancashire');
//append text node to anchor
aWestLancashire.appendChild(txtWestLancashire);
//append anchor to list item
liWestLancashire.appendChild(aWestLancashire);
//append li to ul
ul.appendChild(liWestLancashire);

//li
var liChorley = document.createElement('li');
//li class
liChorley.className = 'chorley hide';
//a 
var aChorley = document.createElement('a');
//a link
aChorley.setAttribute('href','includes/school_data.php?district=9');
//a title
aChorley.setAttribute('title','Search Schools in Chorley');
//anchor class
aChorley.className = 'gmap';
//textnode 
var txtChorley = document.createTextNode('Chorley');
//append text node to anchor
aChorley.appendChild(txtChorley);
//append anchor to list item
liChorley.appendChild(aChorley);
//append li to ul
ul.appendChild(liChorley);

//li
var liHyndburn = document.createElement('li');
//li class
liHyndburn.className = 'hyndburn hide';
//a 
var aHyndburn = document.createElement('a');
//a link
aHyndburn.setAttribute('href','includes/school_data.php?district=11');
//a title
aHyndburn.setAttribute('title','Search Schools in  Hyndburn / Ribble Valley');
//anchor class
aHyndburn.className = 'gmap';
//textnode 
var txtHyndburn = document.createTextNode('Hyndburn / Ribble Valley');
//append text node to anchor
aHyndburn.appendChild(txtHyndburn);
//append anchor to list item
liHyndburn.appendChild(aHyndburn);
//append li to ul
ul.appendChild(liHyndburn);

//li
var liBurnley = document.createElement('li');
//li class
liBurnley.className = 'burnley hide';
//a 
var aBurnley = document.createElement('a');
//a link
aBurnley.setAttribute('href','includes/school_data.php?district=12');
//a title
aBurnley.setAttribute('title','Search Schools in  Burnley');
//anchor class
aBurnley.className = 'gmap';
//textnode 
var txtBurnley = document.createTextNode('Burnley');
//append text node to anchor
aBurnley.appendChild(txtBurnley);
//append anchor to list item
liBurnley.appendChild(aBurnley);
//append li to ul
ul.appendChild(liBurnley);

//li
var liPendle = document.createElement('li');
//li class
liPendle.className = 'pendle hide';
//a 
var aPendle = document.createElement('a');
//a link
aPendle.setAttribute('href','includes/school_data.php?district=13');
//a title
aPendle.setAttribute('title','Search Schools in  Pendle');
//anchor class
aPendle.className = 'gmap';
//textnode 
var txtPendle = document.createTextNode('Pendle');
//append text node to anchor
aPendle.appendChild(txtPendle);
//append anchor to list item
liPendle.appendChild(aPendle);
//append li to ul
ul.appendChild(liPendle);

//li
var liRossendale = document.createElement('li');
//li class
liRossendale.className = 'rossendale hide';
//a 
var aRossendale = document.createElement('a');
//a link
aRossendale.setAttribute('href','includes/school_data.php?district=14');
//a title
aRossendale.setAttribute('title','Search Schools in  Pendle');
//anchor class
aRossendale.className = 'gmap';
//textnode 
var txtRossendale = document.createTextNode('Pendle');
//append text node to anchor
aRossendale.appendChild(txtRossendale);
//append anchor to list item
liRossendale.appendChild(aRossendale);
//append li to ul
ul.appendChild(liRossendale);

//append h4 to div
div.appendChild(h4);
//append br to div
div.appendChild(br);
//append ul to div
div.appendChild(ul);
/*
//create flash object
var object = document.createElement('object');
object.setAttribute('type','application/x-shockwave-flash');
object.setAttribute('data','includes/load.swf?path=flash/map.swf');
object.setAttribute('id','flash');

//param
var param1 = document.createElement('param');
param1.setAttribute('name','movie');
param1.setAttribute('value','includes/load.swf?path=flash/map.swf');

var param2 = document.createElement('param');
param2.setAttribute('name','wmode');
param2.setAttribute('value','transparent');


object.appendChild(param1);
object.appendChild(param2);


//append flash object to div
div.appendChild(object);
*/

//insert district map into DOM
mapBorder.appendChild(div);
/*
var flash = document.getElementById('flash');
flash.innerHTML = '<object type="application/x-shockwave-flash" data="includes/load.swf?path=flash/map.swf" id="swf"><param name="movie" value="includes/load.swf?path=flash/map.swf" />The Macromedia flash plugin is required to view .swf files<param name="wmode" value="transparent" /></object>';*/

/*XHTML BUILT IN THIS FUNCTION
<div id="districts">
						<h4 class="hide">Lancashire districts</h4>
						<br class="clear" />
					<ul>
						<li class="lancaster"><a href="" title="Search Schools in Lancaster" class="hide" >Lancaster</a></li>
						<li class="wyre"><a href="" title="Search Schools in Wyre" class="hide" >Wyre</a></li>
						<li class="fylde"><a href="" title="Search Schools in Fylde" class="hide" >Fylder</a></li>
						<li class="preston"><a href="" title="Search Schools in Preston" class="hide" >Preston</a></li>
						<li class="south_ribble"><a href="" title="Search Schools in South-Ribble" class="hide" >South-Ribble</a></li>
						<li class="west_lancashire"><a href="" title="Search Schools in West Lancashire" class="hide" >West Lancashire</a></li>
						<li class="chorley"><a href="" title="Search Schools in Chorley" class="hide" >Chorley</a></li>
						<li class="hydburn"><a href="" title="Search Schools in Hydburn / Ribble Valley" class="hide" >Hydburn / Ribble Valley</a></li>
						<li class="burnley"><a href="" title="Search Schools in Burnley" class="hide" >Burnley</a></li>	
						<li class="pendle"><a href="" title="Search Schools in Pendle" class="hide" >Pendle</a></li>
						<li class="rossendale"><a href="" title="Search Schools in Rossendale" class="hide" >Rossendale</a></li>					
					</ul>
			<object type="application/x-shockwave-flash" data="includes/load.swf?path=flash/map.swf" id="flash">
				<param name="movie" value="includes/load.swf?path=flash/map.swf" />The Macromedia flash plugin is required to view .swf files
				<param name="wmode" value="transparent">
			</object>
</div>
*/
/*add unobtrusive javascript to districts map*/
setUnob();
return false;
}
