	
	/*
	*
	* Google map code
	*
	*/
	
	var map = null; // Declare the gmap
	var om=null; // Variable for splash screen
	
	// side bar variables
	var side_bar_html = "";
    var gmarkers = [];
    var htmls = [];
    var i = 0;

	var icons = {}; // custom icons
	var markerGroups = { "orange_MarkerT": [], "purple_MarkerE": [], "c": [], "d": []}; // array to store icon types

	var iconData = {
  		"ca": { width: 34, height: 31 },
  		"ca_shadow": { width: 59, height: 35 },
  		"purple_MarkerE": { width: 20, height: 34 },
  		"orange_MarkerT": { width: 20, height: 34 },
  		"house3": { width: 31, height: 29 },
  		"house4": { width: 31, height: 29 },
  		"msmarker_shadow": { width: 59, height: 32 }
	};


	// launch map on load
 	function initialize() {    
		
		 
		
		
		if (GBrowserIsCompatible()) { 	
		
    		map = new GMap2(document.getElementById("map_canvas")); // Set up map
		
			// set custom Zoom Levels    
    		
		
			map.addControl(new GLargeMapControl()); // Navigation Controls 
			map.addControl(new GMapTypeControl());  // View Controls 
			map.setCenter(new GLatLng(54.52577, -1.3623), 5); // set centre

			// function that calls icons
    		function getIcon(image1, image2) {
      			var icon = null;
      			if (image1) {
        			if (icons[image1]) {
          				icon = icons[image1];
        			} else {
          				icon = new GIcon();
          				icon.image = "http://www.campaign-for-learning.org.uk/zzmaps/images/" 
              			+ image1 + ".png";
          				var size = iconData[image1];
          				icon.iconSize = new GSize(size.width, size.height);
		 				// info window anchor not supplied with code, but needed for info window to work - see:
		 				// http://econym.googlepages.com/custom.htm 
		  				icon.infoWindowAnchor = new GPoint(9,2);//9,2
          				icon.iconAnchor = new GPoint(size.width >> 1, size.height >> 1);
          				icon.shadow = "http://www.campaign-for-learning.org.uk/zzmaps/images/" 
              			+ image2 + ".png";
          				size = iconData[image2];
          				icon.shadowSize = new GSize(size.width, size.height);
          				icons[image1] = icon;
        			}
      			}
      			return icon;
			} //eof getIcon

			// Add markers to map
			function createMarker(point, html, org, icon, mgroupstype) {
      			var marker = new GMarker(point, {org: org, icon: icon, draggable:false  });
				markerGroups[mgroupstype].push(marker);
      			
				// non custom
			/*	GEvent.addListener(marker, 'click', function() {
        			marker.openInfoWindowHtml(html); 
      			}); // EO non custom 
      			*/
				
				// custom 
				// Code to switch skins in array
				var t_css;
				switch (mgroupstype) {
					case "purple_MarkerE":
						t_css = "technology";
						break;
					case "orange_MarkerT":
						t_css = "creativity";
						break;
						/*	case "house3" :
						t_css = "creativity";
						break;*/
					default:
						t_css = "technology";
				} 
				// cutom info code
			 	GEvent.addListener(marker, 'click', function(){ 
		            marker.openExtInfoWindow(map, t_css, html, {beakOffset: 6} ); 
		     		}); 
			 	// end of code
			
				// more side bar
				//gmarkers[i] = marker;
        		//htmls[i] = html;
        		//side_bar_html += '<li><a href="javascript:myclick(' + i + ')">' + org + '<\/a><\/li>';
        		//i++;
				// eo sidebar
				return marker;
			} // eof createMarker	
	
	
	
			 //set loading splash
			//om = new OverlayMessage( document.getElementById( 'map_canvas' ) );
    		//om.Set( '<div id="map_loading"><img src="http://www.campaign-for-learning.org.uk/zzmaps/ajax-loader.gif" height="32px" width="32px"/><p>Please wait...</p></div>' );
	
	
	
	
	
			// Parse xml data
			GDownloadUrl("http://www.campaign-for-learning.org.uk/zzmaps/xml-09.asp", function(data) {
         	var xmlDoc = GXml.parse(data);
         	var markers = xmlDoc.documentElement.getElementsByTagName("marker");
         	for (var i = 0; i < markers.length; i++) {
            	var org;
				org = markers[i].getAttribute("org");
            	var details; // = markers[i].getAttribute("details");
	    		var title; // = markers[i].getAttribute("event_title");
	    		var ndetails;
	    		
            	var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")), parseFloat(markers[i].getAttribute("lng")));
	   			//var html = "<div class='marker'><img src='http://www.campaign-for-learning.org.uk/zzmaps/logomini.jpg' height='40px' width='50px' /><br /><br /><p><strong>" + title + "</strong> <br /> " + org + "</p><p>" + details + "</p></div>";
	   			var icon;
				var mgroupstype;
				var markercolor = markers[i].getAttribute("type");
				var html;
				if (markercolor === "event") {
					details = markers[i].getAttribute("details");
		    		title = markers[i].getAttribute("event_title");
					html = "<div class='marker'><img src='http://www.campaign-for-learning.org.uk/zzmaps/logomini.jpg' height='40px' width='50px' /><br /><br /><p><strong>" + title + "</strong> <br /> " + org + "</p><p>" + details + "</p></div>";

				icon = getIcon('purple_MarkerE','msmarker_shadow');
				mgroupstype = 'purple_MarkerE';
				}
				else if (markercolor ==="provider") {
					
					//title = markers[i].getAttribute("event_title");
					//ndetails = markers[i].getAttribute("details");
					//var logo = "<img src='http://www.campaign-for-learning.org.uk/zzmaps/logos/" + markers[i].getAttribute("logo") + "' />";
					var theoffer =  markers[i].getAttribute("theoffer");
					var whereoperate;
					var address;
					var contactname;
					var telephone;
					var website;
					if (markers[i].getAttribute("whereoperate").length >1) {
						
					 whereoperate = "<p>Area covered:" + markers[i].getAttribute("whereoperate") + "</p>";
					} else {
						whereoperate ='';
					}
					if (markers[i].getAttribute("address").length >1) {
					
					 address = "<p>Email: " + markers[i].getAttribute("address") + "</p>";
					} else {
						address ='';
					}
					if (markers[i].getAttribute("contactname").length >1) {
					 contactname = "<p>Contact: " + markers[i].getAttribute("contactname") + "</p>";
					} else {
						contactname ='';
					}
					if (markers[i].getAttribute("telephone").length >1) {
					 telephone = "<p>Telephone: " + markers[i].getAttribute("telephone") + "</p>";
					} else {
						telephone ='';
					}
					if (markers[i].getAttribute("website").length >1) {
					 website = "<p>Website: <a href='http://" + markers[i].getAttribute("website") + "' target='_blank'>" + markers[i].getAttribute("website") + "</a></p>";
					} else {
						website ='';
					}
					
					
					var email;
					var contact = contactname + telephone + website;
					var traintogain;
						//html = '<div class="marker"><div id="windowhead"><h3>' + title + '</h3></div><div id="windownav"><p> <a href="#" onclick="evclick()">Events</a> | <a href="#" onclick="adclick()" >Address</a> | <a href="#" onclick="conclick()">Contact</a> </p></div><div id="windowbody"><div id="windowactivities"><p>' + eventsstring + '</p></div><div id="windowcontact">' + contactstring + '</div><div id="windowaddress">' + addressstring + '</div></div></div>';
					
					//html = "<div class='marker'><br /><br /><p><strong>" + title + "</strong> " + org + "</p><p>hhhhhh" + ndetails + "</p></div>"; // 
					html = 	'<div class="marker"><div id="windowhead"><h4>' + org + '</h4></div><div id="windownav"><p> <a href="#" onclick="mainclick(); return false;">Offer</a> | <a href="#" onclick="offclick(); return false;" >Contact</a></p></div><div id="windowbody"><div id="windowactivities"><p>' + theoffer + '</p></div><div id="windowcontact">' + whereoperate + contact + address + '</div><div id="windowoperate"></div><div id="windowaddress"></div></div></div>';
					
					icon = getIcon('orange_MarkerT','msmarker_shadow');
					mgroupstype = 'orange_MarkerT';
				}
            	var marker = createMarker(point, html,org, icon, mgroupstype); //org added for sidebar
            	map.addOverlay(marker);
      	 	}
		 	// final side bar bit
		 	//document.getElementById("mapdetails").innerHTML = "<ul>" + side_bar_html + "</ul>";  
		 	
		 	//om.Clear();	// clear loader
        	}); // end of xml parsing

     	} // eof if   

	} //eof initialise



	// function to toggle type shown
	function toggleEventType(evtype) {
      for (var i = 0; i < markerGroups[evtype].length; i++) {
        var marker = markerGroups[evtype][i];
        if (marker.isHidden()) {
        	marker.show();
			
			//if (evtype == 'purple_MarkerE') {
			// lista listb orange_MarkerT
			//  document.lawform.lista.checked = true;
			
			//} else {
				
			//	document.lawform.listb.checked = true;
			//}
			
			
        } else {
        	marker.hide();
			
			
			//if (evtype == 'purple_MarkerE') {
			// lista listb orange_MarkerT
			//  document.lawform.lista.checked = false;
			
			//} else {
				
			//	document.lawform.listb.checked = false;
			//}
        }
      }  	  
    }


	// opens marker from sidebar
	//function myclick(i) {
       // gmarkers[i].openInfoWindowHtml(htmls[i]);
   // }
	  
	 
/*
	// for custom splash
	OverlayMessage=function(container) {
		var parent=container.parentNode;
		var wrapper=document.createElement('div');
		wrapper.style.cssText=container.style.cssText;parent.insertBefore(wrapper,container);
		parent.removeChild(container);
		wrapper.appendChild(container);
		container.style.cssText='width: 100%; height: 100%;'; //position: relative; 
		this.overlay=document.createElement('div');
		wrapper.appendChild(this.overlay);
		this.backgroundColor='#FFF';
		this.overlay.style.position='relative';
		this.overlay.style.top='-100%';
		this.overlay.style.backgroundColor=this.backgroundColor;	
		this.overlay.style.width='100%';
		this.overlay.style.height='100%';
		this.overlay.style.textAlign='center';
		this.overlay.style.marginLeft='auto';
		this.overlay.style.marginRight='auto';
		this.overlay.style.zIndex='100';this.overlay.style.opacity='.75';
		this.overlay.style.filter='alpha(opacity=75)';
		this.overlay.style.display='none';
	};

	OverlayMessage.prototype.Set=function(message) {
		this.overlay.innerHTML=message;this.overlay.style.display='';
	};
	
	OverlayMessage.prototype.Clear=function() {
		this.overlay.style.display='none';
	};

	OverlayMessage.prototype.SetBackgroundColor=function(color) {
		this.backgroundColor=this.overlay.style.backgroundColor=color;
	};

	OverlayMessage.prototype.SetBorderColor=function(color) {
		this.borderColor=this.overlay.style.borderColor=color;
	};






 function slider(box) {
  	var box1 = box;
  	switch (box1) {
  		case "search":
  			
			$('lawevents').hide();
			$('mapoptions').hide();
			$('mapadd').hide();
			$('maphelp').hide();
			Effect.SlideDown('search', { duration: 0.5 });
			document.getElementById("mapdetails").style.overflow = "hidden";
  			
			break;
			
  		case "lawevents":
  			
  			$('search').hide();
			$('mapoptions').hide();
			$('mapadd').hide();
			$('maphelp').hide();
			Effect.SlideDown('lawevents', { duration: 0.5 });
			var nt=setTimeout('document.getElementById("mapdetails").style.overflow = "auto"',800);
  			
			break;
			
		case "mapoptions":
  			
  			$('search').hide();
			$('lawevents').hide();
			$('mapadd').hide();
			$('maphelp').hide();
			Effect.SlideDown('mapoptions', { duration: 0.5 });
			document.getElementById("mapdetails").style.overflow = "hidden";
  			
			break;
			
		case "mapadd":
  			
  			$('search').hide();
			$('lawevents').hide();
			$('mapoptions').hide();
			$('maphelp').hide();
			Effect.SlideDown('mapadd', { duration: 0.5 });
			document.getElementById("mapdetails").style.overflow = "hidden";
  			
			break;
			
		case "maphelp":
  			
  			$('search').hide();
			$('lawevents').hide();
			$('mapadd').hide();
			$('mapoptions').hide();
			Effect.SlideDown('maphelp', { duration: 0.5 });
			document.getElementById("mapdetails").style.overflow = "hidden";
  			
			break;
			
  		default: 
  			$('lawevents').hide();
  			$('search').hide();
			$('mapoptions').hide();
  	}
  }
  */
			// Code for info windows show hide
			function whereclick () {
			
			document.getElementById("windowoperate").style.display =  "inline";
			document.getElementById("windowaddress").style.display =  "none";
			document.getElementById("windowactivities").style.display =  "none";
			document.getElementById("windowcontact").style.display =  "none";
			}
			function conclick () {
			
			document.getElementById("windowaddress").style.display =  "inline";
			document.getElementById("windowcontact").style.display =  "none";
			document.getElementById("windowactivities").style.display =  "none";
			document.getElementById("windowoperate").style.display =  "none";
			}
			function mainclick () {
			
			document.getElementById("windowactivities").style.display =  "inline";
			document.getElementById("windowaddress").style.display =  "none";
			document.getElementById("windowcontact").style.display =  "none";
			document.getElementById("windowoperate").style.display =  "none";
			}
		    
			function offclick () {
				
				document.getElementById("windowcontact").style.display =  "inline";
				document.getElementById("windowaddress").style.display =  "none";
				document.getElementById("windowactivities").style.display =  "none";
				document.getElementById("windowoperate").style.display =  "none";
				}
			
			
