function populate_service_map(id,pc) {

		var xmlHttp = initiate_ajax();
		xmlHttp.onreadystatechange=function() {
			if(xmlHttp.readyState==4) {
				document.getElementById('service_detail_container').innerHTML=xmlHttp.responseText;

				$.fancybox.resize();
			var map = new GMap2(document.getElementById("map"));

mapLoad();			
//var localSearch = new GlocalSearch();
usePointFromPostcode(pc, placeMarkerAtPoint);


//			map.addControl(new GLargeMapControl());
//			map.addControl(new GMapTypeControl());
	//		map.setCenter(new GLatLng(50.723167, -1.227658), 13);
	//		map.openInfoWindowHtml(map.getCenter(), "<strong>Lakeside Park Hotel</strong><br />Tel: 01983 882266");



			}
		}
		var fullpath = location.pathname;
		if ( fullpath.indexOf('11-16') > 0 || fullpath.indexOf('16-34') > 0 || fullpath.indexOf('over34') > 0 ) {
			xmlHttp.open("GET","../help_service_detail.php?id=" + id,true);
		} else {
			xmlHttp.open("GET","help_service_detail.php?id=" + id,true);
		}
		xmlHttp.send(null);

}

function show_list () {
	
	var list_btn = document.getElementById('view_list_btn');
	var map_btn = document.getElementById('view_map_btn');
	
	var list_container = document.getElementById('list_view_container');
	var map_container = document.getElementById('map_view_container');
	
	list_btn.className = 'on';
	map_btn.className = 'off';
	
	list_container.style.display = '';
	map_container.style.display = 'none';
		
}

function show_map () {
	
	var list_btn = document.getElementById('view_list_btn');
	var map_btn = document.getElementById('view_map_btn');
	
	var list_container = document.getElementById('list_view_container');
	var map_container = document.getElementById('map_view_container');
	
	list_btn.className = 'off';
	map_btn.className = 'on';
	
	list_container.style.display = 'none';
	map_container.style.display = '';
		
}

function populate_help(category, section) {
		var category_list_items = document.getElementsByName('category_list_items');
		for ( var a = 0; a < category_list_items.length; a++ ) {
			category_list_items[a].className = 'off';
		}
		document.getElementById('cat_' + category).className = 'selected_category';
		
		var xmlHttp = initiate_ajax();
		xmlHttp.onreadystatechange=function() {
			if(xmlHttp.readyState==4) {
				document.getElementById('service_list').innerHTML=xmlHttp.responseText;

				$(".box_link").fancybox({
					'titleShow'		: false,
					'titlePosition'	:	'inside',
					'transitionIn'		: 'none',
					'transitionOut'		: 'none'
				});	
				
			}
		}
		var fullpath = location.pathname;
		if ( fullpath.indexOf('11-16') > 0 || fullpath.indexOf('16-34') > 0 || fullpath.indexOf('over34') > 0 ) {
			xmlHttp.open("GET","../help_service_list.php?category=" + category + "&section=" + section,true);
		} else {
			xmlHttp.open("GET","help_service_list.php?category=" + category + "&section=" + section,true);
		}
		xmlHttp.send(null);
}


function filter_search_results() {
	
	var urlString = '';
	urlString = 'q=' + get_url_parameter('q') + '&filter=';
	
	var boxes = document.getElementsByName('filter');
	for ( var a = 0; a < boxes.length; a++ ) {
		if ( boxes[a].checked == true ) {
			urlString += boxes[a].value + '|';
		}	
	}
	
	document.location = 'search.php?' + urlString;

}


function chlamydia_btn( btn ) {

	var chlamydiaImg = document.getElementById('chlamydia_screening');

	switch ( btn ) {
	
		case '1116' :
			
			chlamydiaImg.src = 'media/images/chlamydia-testing-11-16.jpg';		
			break;
			
		case 'over34' :
		
			chlamydiaImg.src = 'media/images/chlamydia-testing-over34.jpg';		
			break;
			
		case '1634' :
		
			chlamydiaImg.src = 'media/images/chlamydia-testing-16-34.jpg';		
			break;
			
		case 'restore' :
		
			chlamydiaImg.src = 'media/images/chlamydia-testing.jpg';		
			break;
	
	
	}

}

function clinic_open(day) {
	
	var open = document.getElementById(day+'_open');
	if ( open.checked ) {
		var disValue = false;
	} else {
		var disValue = true;
	}
	
	document.getElementById(day+'_morning').disabled = disValue;
	document.getElementById(day+'_afternoon').disabled = disValue;
	document.getElementById(day+'_evening').disabled = disValue;
	
	
}

function set_media_type(el) {

	var selected_type = document.getElementById('media_type_'+el);
	var video_field = document.getElementById('media_'+el+'_video');
	var file_field = document.getElementById('media_'+el+'_file');
	
	switch ( selected_type.value ) {
	
		case 'Video' :
			video_field.style.display = '';
			file_field.style.display = 'none';
			break;

		case '-' :
			video_field.style.display = 'none';
			file_field.style.display = 'none';
			break;

		default :
			video_field.style.display = 'none';
			file_field.style.display = '';
			break;
	
	}

}

function show_sub_pages(id) {
	
	var sub = document.getElementsByName('child_' + id);
		
	for ( var a = 0; a < sub.length; a++ ) {
		
		if ( sub[a].style.display == 'none' ) {
			sub[a].style.display = '';
		} else {
			sub[a].style.display = 'none';
		}
		
	
	}
	
}

function tick_all_sites() {
	
	var tick_all = document.getElementById('tick_all');
	var new_value = tick_all.checked;

	var box1116 = document.getElementById('show_1116');
	var box1634 = document.getElementById('show_1634');
	var boxover34 = document.getElementById('show_over34');
	var boxprofessionals = document.getElementById('show_professionals');
	
	box1116.checked = new_value;
	box1634.checked = new_value;
	boxover34.checked = new_value;
	boxprofessionals.checked = new_value;
	
}

function add_new_service_type() {
	
	var tbody = document.getElementById('service_type_table').getElementsByTagName('tbody')[0];
	var num_rows = document.getElementById('service_type_table').getElementsByTagName('tbody').length;
	var row = document.createElement('tr');
	
	var desc = document.createElement('input');
	desc.type = 'text';
	desc.className = 'field_text_focus';
	desc.name = 'service_types[]';
	
	var box = document.createElement('input');
	box.type = 'checkbox';
	box.name = 'box';
	box.checked = true;
	
	var desc_cell = document.createElement('td');
	desc_cell.style.paddingTop = "5px";
	desc_cell.style.paddingBottom = "5px";
	desc_cell.appendChild(desc);
	
	var box_cell = document.createElement('td');
	box_cell.style.paddingTop = "5px";
	desc_cell.style.paddingBottom = "5px";
	box_cell.appendChild(box);
	
	row.appendChild(box_cell);
	row.appendChild(desc_cell);
	
	tbody.appendChild(row);
	
	desc.focus();
	

}


function add_new_category() {
	
	var tbody = document.getElementById('category_table').getElementsByTagName('tbody')[0];
	var num_rows = document.getElementById('category_table').getElementsByTagName('tbody').length;
	var row = document.createElement('tr');
	
	var desc = document.createElement('input');
	desc.type = 'text';
	desc.className = 'field_text_focus';
	desc.name = 'categories[]';
	
	var box = document.createElement('input');
	box.type = 'checkbox';
	box.name = 'box';
	box.checked = true;
	
	var desc_cell = document.createElement('td');
	desc_cell.style.paddingTop = "5px";
	desc_cell.style.paddingBottom = "5px";
	desc_cell.appendChild(desc);
	
	var box_cell = document.createElement('td');
	box_cell.style.paddingTop = "5px";
	desc_cell.style.paddingBottom = "5px";
	box_cell.appendChild(box);
	
	row.appendChild(box_cell);
	row.appendChild(desc_cell);
	
	tbody.appendChild(row);
	
	desc.focus();
	

}


function add_new_media(id) {
	
	if ( id == 0 ) return false;
	
	var selected_media = document.getElementById('select_media');
	var index = selected_media.selectedIndex;
	
	var tbody = document.getElementById('table-1').getElementsByTagName('tbody')[0];
	var num_rows = document.getElementById('table-1').getElementsByTagName('tbody').length;
	var row = document.createElement('tr');
	row.id = id;
		
	var drag_cell = document.createElement('td');
	drag_cell.className = 'drag_save';
	
	var title_cell = document.createElement('td');
	title_cell.innerHTML = selected_media.options[index].text;
	
	var id_field = document.createElement('input');
	id_field.type = 'hidden';
	id_field.name = 'media_array[]';
	id_field.value = 'new_' + id;
	title_cell.appendChild(id_field);
	
	var updated_cell = document.createElement('td');
	updated_cell.innerHTML = '-';
	
	var viewed_cell = document.createElement('td');
	viewed_cell.style.textAlign = 'center';
	viewed_cell.innerHTML = '0';
	
	var view_cell = document.createElement('td');
	view_cell.style.textAlign = 'center';
	var view_link = document.createElement('a');
	view_link.href = 'media_lookup.php?id=' + id;
	view_link.innerHTML = 'view &raquo;';
	view_link.className = 'fancybox_link';
	view_cell.appendChild(view_link);
	
	var remove_field = document.createElement('input');
	remove_field.type = 'checkbox';
	remove_field.name = 'remove_media[]';
	remove_field.value = id;
	remove_field.checked = false;
	var remove_cell = document.createElement('td');
	remove_cell.style.textAlign = 'center';
	remove_cell.appendChild(remove_field);	
	
	
	row.appendChild(drag_cell);
	row.appendChild(title_cell);
	row.appendChild(updated_cell);
	row.appendChild(viewed_cell);
	row.appendChild(view_cell);
	row.appendChild(remove_cell);
	
	tbody.appendChild(row);


jQuery.tableDnD.currentTable = document.getElementById("table-1"); // use your table ID obviously
document.getElementById('sort_order').value = jQuery.tableDnD.serialize();

return true;
}




function show_btm_link(el) {
	var img = document.getElementById('btm_link_img');
	img.src = '../media/images/professionals/btm_links_' + el + '.png';
}

function restore_btm_link() {
	var img = document.getElementById('btm_link_img');
	img.src = '../media/images/professionals/btm_links.png';
}


function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}

//	bookmark a page
	function bookmark_page( url, title ) {
if (window.sidebar) // firefox
	window.sidebar.addPanel(title, url, "");
else if(window.opera && window.print){ // opera
	var elem = document.createElement('a');
	elem.setAttribute('href',url);
	elem.setAttribute('title',title);
	elem.setAttribute('rel','sidebar');
	elem.click();
} 
else if(document.all)// ie
	window.external.AddFavorite(url, title);
}


function bookmarksite(title,url){
if (window.sidebar) // firefox
	window.sidebar.addPanel(title, url, "");
else if(window.opera && window.print){ // opera
	var elem = document.createElement('a');
	elem.setAttribute('href',url);
	elem.setAttribute('title',title);
	elem.setAttribute('rel','sidebar');
	elem.click();
} 
else if(document.all)// ie
	window.external.AddFavorite(url, title);
}

//	limit number of characters in a textarea field
	function limit_characters( limit_field, limit_count_field, limit_num ) {
		limit_field = document.getElementById(limit_field);
		limit_count_field = document.getElementById(limit_count_field);
		if ( limit_field != undefined ) {
			if ( limit_field.value.length > limit_num ) {
				limit_field.value = limit_field.value.substring( 0, limit_num );
			} else {
				limit_count_field.innerHTML	= (limit_num - limit_field.value.length) + ' characters remaining';
			}		
		}	
	}


//	show events on the home page
		function show_events(type) {
			var tab_summary = document.getElementById('tab_summary');
			var tab_water = document.getElementById('tab_water');
			var tab_ashore = document.getElementById('tab_ashore');
			var container_summary = document.getElementById('event_summary');
			var container_water = document.getElementById('event_water');
			var container_ashore = document.getElementById('event_ashore');
			switch ( type ) {
				case 'water' :
					tab_summary.className = 'off';
					tab_water.className = 'on';
					tab_ashore.className = 'off';
					container_summary.style.display = 'none';
					container_water.style.display = '';
					container_ashore.style.display = 'none';
					break;
				case 'ashore' :
					tab_summary.className = 'off';
					tab_water.className = 'off';
					tab_ashore.className = 'on';
					container_summary.style.display = 'none';
					container_water.style.display = 'none';
					container_ashore.style.display = '';
					break;
				default :
					tab_summary.className = 'on';
					tab_water.className = 'off';
					tab_ashore.className = 'off';
					container_summary.style.display = '';
					container_water.style.display = 'none';
					container_ashore.style.display = 'none';
					break;
					
			}
		}


//	when the search field gets the focus
	function search_focus() {
		var search = document.getElementById('search_field');
		if ( search.value == 'SEARCH...' ) {
			search.value = '';
		} else {
			search.select();
		}
	}
	
//	when the search field loses the focus
	function search_blur() {
		var search = document.getElementById('search_field');
		if ( search.value == '' ) {
			search.value = 'SEARCH...';
		}
	}

// 	retrieve a url parameter
	function get_url_parameter( name ) {
		name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
		var regexS = "[\\?&]"+name+"=([^&#]*)";
		var regex = new RegExp( regexS );
		var results = regex.exec( window.location.href );
		if( results == null ) {
			return "";
		} else {
			return results[1];
		}
	}

//	preload images
	function preload_images () {
		arImageSrc = new Array ();
		arImageList = new Array ();
		for (counter in arImageSrc) {
			arImageList[counter] = new Image();
			arImageList[counter].src = arImageSrc[counter];
		}
	}

//	convert date and time to unixtimestamp
	function date_to_unixtime(target_field, month_el, day_el, year_el, hour_el, minute_el) {
		var target = document.getElementById(target_field);
		var year = document.getElementById(year_el).value;
		var month = document.getElementById(month_el).value;
		var day = document.getElementById(day_el).value;
		var hour = document.getElementById(hour_el).value;
		var minute = document.getElementById(minute_el).value;
		var second = '01';
		
		var errors = 0;
		var error_message = 'The following elements appear to be missing or incorrect' + "\n";
		if ( year.length != 4 ) {
			error_message += ' - you must enter a 4 digit year' + "\n";
			errors = 1;
		}
		if ( month > 12 ) {
			error_message += ' - the month must be between 1 and 12' + "\n";
			errors = 1;
		}
		if ( day > 31 ) {
			error_message += ' - the day must be between 1 and 31' + "\n";
			errors = 1;
		}
		if ( hour > 24 ) {
			error_message += ' - the hour must be 24 hour (e.g. 13 = 1pm)' + "\n";
			errors = 1;
		}
		if ( minute > 59 ) {
			error_message += ' - the minutes must be between 0 and 59' + "\n";
			errors = 1;
		}
		if ( errors == 1 ) {
			alert( error_message );
		} else {
			var humDate = new Date(Date.UTC(year, (nozeros(month)-1), nozeros(day), nozeros(hour), nozeros(minute), nozeros(second))); 
			target.value = (humDate.getTime()/1000.0);
		}
	
	}

//	get the current page
	function get_current_page() {
		var fullpath = location.pathname;
		var patharray = fullpath.split('/');
		var folderposition = patharray.length - 1;
		var filename = patharray[folderposition];
		var filearray = filename.split('.');
		var nav = filearray[0];
		return nav;
	}

//	open external links in a new window - replaces target="_blank"
	function externalLinks () { 
		if ( ! document.getElementsByTagName ) return; 
		var anchors = document.getElementsByTagName("a"); 
		for ( var i=0; i < anchors.length; i++ ) { 
			var anchor = anchors[i]; 
			if ( anchor.getAttribute("href") && anchor.getAttribute("rel") == "external" ) anchor.target = "_blank"; 
		} 
	} 

//	add given page to favourites (bookmark)
	function setBookmark ( url, str ) {
		if ( str == '' ) str = url;
		if ( document.all ) window.external.AddFavorite( url, str );
		else alert( 'Sorry, this function only works in Internet Explorer.\n\nPlease press CTRL and D to add a bookmark to \n"' + str + '".' );
	}

//	toggle a given elements visibility
	function toggle (el) {
		if ( document.getElementById(el) == undefined ) return false;
		if ( document.getElementById(el).style.display == 'none' ) {
			document.getElementById(el).style.display = '';
		} else {
			document.getElementById(el).style.display = 'none';
		}
		return true;
	}

//	show a given element
	function show (el) {
		if ( document.getElementById(el) != undefined ) document.getElementById(el).style.display = '';
	}

//	hide a given element
	function hide (el) {
		if ( document.getElementById(el) != undefined ) document.getElementById(el).style.display = 'none';
	}

//	manage the show/hide buttons
	function showhide( source_el, target_el ) {
		var source = document.getElementById(source_el);
		var target = document.getElementById(target_el);
		toggle(target_el);
		if ( target.style.display == 'none' ) {
			source.innerHTML = 'Show &darr;';
			source.className = 'showhide';
		} else {
			source.innerHTML = 'Hide &uarr;';
			source.className = 'hideshow';
		}
	}

//	get the current page identifier
	function get_page_identifier() {
	
		var query_string = window.location.search.substring(1);
		var query_array = query_string.split('&');
		return query_array[0];

	}


//	activate the correct navigation
	function activate_nav() {

		var fullpath = location.pathname;

		var identifier = get_page_identifier();
		if ( document.getElementById('nav-'+identifier) != undefined ) document.getElementById('nav-'+identifier).className = 'active';

		if ( document.getElementById('subnav-'+identifier) != undefined ) document.getElementById('subnav-'+identifier).style.display = '';

		var sub_page = get_url_parameter( 'page' );
		if ( sub_page != '' ) {
//			if ( document.getElementById('nav-'+sub_page) != undefined ) document.getElementById('nav-'+sub_page).className = 'active';
		}

		
		if ( fullpath.indexOf('11-16') > 0 || fullpath.indexOf('16-34') > 0 || fullpath.indexOf('over34') > 0 ) {

			var section = '';
			if ( fullpath.indexOf('11-16') > 0 ) section = '11-16';
			if ( fullpath.indexOf('16-34') > 0 ) section = '16-34';
			if ( fullpath.indexOf('over34') > 0 ) section = 'over34';
			if ( fullpath.indexOf('olderandwiser') > 0 ) section = 'older';

			
			var parent_identifier = '';
			parent_identifier = get_parent_identifier( identifier, section );

//alert(parent_identifier);
			if ( document.getElementById('sub_nav_'+parent_identifier) != undefined ) document.getElementById('sub_nav_'+parent_identifier).style.display = '';

	
			//	show sub navigation
/*
			var sub_nav_group = document.getElementsByName('sub_nav_' + parent_identifier);
			if ( sub_nav_group.length > 0 ) {
				for ( var a = 0; a < sub_nav_group.length; a++ ) {
					sub_nav_group[a].style.display = '';	
				}		
			}
*/

//			if ( document.getElementById('nav-' + parent_identifier) != undefined ) document.getElementById('nav-' + parent_identifier).className = 'active';
		
		}
		

		var nav = get_current_page();
		if ( nav == '' ) {
			nav = 'index';
		}
		if ( nav == 'search' || nav == 'email' ) {
			nav = 'blank';
		}
		var parent_page = nav;
		switch ( nav ) {
		

		
		}
			
		
			if ( document.getElementById('nav-' + parent_page) != undefined ) document.getElementById('nav-' + parent_page).className = 'active';

		
		//	highlight quick jump in banner
			if ( fullpath.indexOf('admin') == -1 ) {
				if ( fullpath.indexOf('11-16') > 0 || fullpath.indexOf('16-34') > 0 || fullpath.indexOf('over34') > 0 || fullpath.indexOf('olderandwiser') > 0 ) {
					var qj_11 = document.getElementById('qj_11');
					var qj_16 = document.getElementById('qj_16');
					var qj_34 = document.getElementById('qj_34');
					var qj_older = document.getElementById('qj_older');
					qj_11.src = '../media/images/qj_1116.jpg';
					qj_16.src = '../media/images/qj_1634.jpg';
					qj_34.src = '../media/images/qj_over34.jpg';
					qj_older.src = '../media/images/qj_older.jpg';
					if ( fullpath.indexOf('11-16') != -1 ) {
						qj_11.src = '../media/images/qj_1116_o.jpg';
						qj_11.onmouseout = "this.src='../media/images/qj_1116.jpg'";
					}
					if ( fullpath.indexOf('16-34') != -1 ) {
						qj_16.src = '../media/images/qj_1634_o.jpg';
						qj_16.onmouseout = "this.src='../media/images/qj_1634.jpg'";
					}		
					if ( fullpath.indexOf('over34') != -1 ) {
						qj_34.src = '../media/images/qj_over34_o.jpg';
						qj_34.onmouseout = "this.src='../media/images/qj_over34.jpg'";
					}
					if ( fullpath.indexOf('olderandwiser') != -1 ) {
						qj_older.src = '../media/images/qj_older_o.jpg';
						qj_older.onmouseout = "this.src='../media/images/qj_older.jpg'";
					}

				}
			}

			
	}

//	make a textarea grow
	function extend_textarea(el) {
		if ( document.getElementById(el) == undefined ) return false;
		el = document.getElementById(el);
		if ( el.value.length > 150 ) {
			el.style.height = "100px";
		} else {
			el.style.height = "50px";
		}
		return true;
	}

	function get_parent_identifier(identifier, section) {
	
		var xmlHttp = initiate_ajax();

		xmlHttp.open("GET","../get_group_id.php?section=" + section + "&identifier=" + identifier,false);
		xmlHttp.send(null);
		return xmlHttp.responseText;
	
	}


	function video_watched(page_media_id) {
	
		var xmlHttp = initiate_ajax();

		xmlHttp.open("GET","../video_watched.php?page_media_id=" + page_media_id,false);
		xmlHttp.send(null);
		return xmlHttp.responseText;
	
	}

//	populate a business card
	function populate_business_card(card_id,card_type) {
		xmlHttp = initiate_ajax();
		xmlHttp.onreadystatechange=function() {
			if(xmlHttp.readyState==4) {
				document.getElementById('business_card_content').innerHTML=xmlHttp.responseText;
			}
		}
		xmlHttp.open("GET","business_card.php?card_id=" + card_id + "&card_type=" + card_type,true);
		xmlHttp.send(null);
	}


//	initialise an httpRequest object
	function initiate_ajax() {
		var xmlHttp;
		try {

			// Firefox, Opera 8.0+, Safari
			xmlHttp=new XMLHttpRequest();
		}
		catch (e) {

			// Internet Explorer
			try {
				xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
			}
			catch (e) {
				try {
					xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
				}
				catch (e) {
					alert("Your browser does not support AJAX!");
					return false;
				}
			}
		}
		return xmlHttp;
	}


//	perform the following functions when the page loads
	window.onload = function(e) {
		externalLinks();
		activate_nav();
		initiate_ajax();
	}
