//	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';
		}
	}

//	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';
	}

//	increase size of textarea while typing
	function extend_textarea(el) {
		var el = document.getElementById(el);
		var current_height = parseInt(el.style.height);
		var line_count = ( el.value.split(/\n/g).length - 1 ) + (el.value.length / 60);
		if ( line_count > 4 ) {
			el.style.height = "auto";
			el.rows = line_count + 2;
		}
	}

//	limit number of characters in a textarea field
	function limit_characters( limit_field, limit_count_field, limit_num ) {
		var limit_field = document.getElementById(limit_field);
		var 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';
			}		
		}	
	}

//	open external links in a new window
	function external_links() { 
		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"; 
		} 
	} 

//	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;
	}

//	get the current directory
	function get_current_dir() {
		var fullpath = location.pathname;
		var patharray = fullpath.split('/');
		var folderposition = patharray.length - 2;
		var filename = patharray[folderposition];
		var nav = filename;
		return nav;
	}

//	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;
	}

//	activate the correct navigation
	function activate_nav() {
		var nav = get_current_page();
		var dir = get_current_dir();
		switch ( nav ) {
			case '' :
				nav = 'index';
				break;
			case 'graham_darke' :
				nav = 'newport_golf_academy';
				break;
			case 'search' :
			case 'email' :
				nav = 'blank';
				break;
			case 'mailing_list' :
				if ( dir != 'admin' ) nav = 'newsletter';
				break;
		}
		var parent_page = nav;
		if ( document.getElementById('nav_' + parent_page) != undefined ) document.getElementById('nav_' + parent_page).className = 'selected';
	}

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

window.onload = function(e) {
  external_links();
  activate_nav();

}