//	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';
			}		
		}	
	}
	
//	extend a textarea field
	function extend_textarea(el) {
		var el = document.getElementById(el);
		if ( el.value.length > 150 ) {
			el.style.height = "100px";
		} else {
			el.style.height = "50px";
		}
	}
//	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"; 
		} 
	} 

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


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

//	activate the correct navigation
	function activate_nav() {
		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];
		if ( nav == '' ) {
			nav = 'index';
		}
		if ( document.getElementById('nav_'+nav) != undefined ) document.getElementById('nav_'+nav).className = 'selected';
	}

//	show a given navigation
	function show_nav(nav) {
		var fullpath = location.pathname;
		var patharray = fullpath.split('/');
		var folderposition = patharray.length - 2;
		document.getElementById('nav').src = 'media/images/nav_' + nav + '.gif';
	}

//	restore the navigation depending on the current page
	function restore_nav() {
		var fullpath = location.pathname;
		var patharray = fullpath.split('/');
		var folderposition = patharray.length - 1;
		var filename = patharray[folderposition];
		var filearray = filename.split('.');
		var filename = filearray[0];
		var nav2show = '';
		switch ( filename ) {
			case 'about' :
				nav2show = 'nav_about';
				break;
			case 'blog' :
				nav2show = 'nav_blog';
				break;
			case 'shop' :
				nav2show = 'nav_shop';
				break;
			case 'links' :
				nav2show = 'nav_links';
				break;
			case 'contact' :
				nav2show = 'nav_contact';
				break;
			case 'Interview' :
				nav2show = 'nav_interview';
				break;
			case 'denandtheartof.co.uk' :
			case 'index' :
			case '' :
				nav2show = 'nav_home';
				break;
			default :
				nav2show = 'nav_blank';
				break;
		}
		if ( nav2show == '' ) {
			nav2show = 'nav_home';
		}
		document.getElementById('nav').src = 'media/images/' + nav2show + '.gif';
	}

//	when search field received focus
	function focus_search() {
		if ( document.getElementById('q').value == 'search...' ) {
			document.getElementById('q').value = '';
		}
	}
	
	function blur_search() {
		if ( document.getElementById('q').value == '' ) {
			document.getElementById('q').value = 'search...';
		}
	}

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