function navigate (link, url, pictures, level) {


	if (level == null) {
		level = 0;
	}

	make_active(link, level);
	
	var target = document.getElementById('content')

	if (url == null) {
		target.innerHTML = '';
	}
	else {		
		wrapHttpRequest( {
			url : url,
			target : target
		} );
	}
	
	if (pictures != null) {
		wrapHttpRequest( {
			url : pictures,
			target : document.getElementById('pictures')
		} );
	}

}

function quicklink (url, target) {

	wrapHttpRequest( {
		url : url,
		target: document.getElementById(target)
	} );
}

/* wrapHttpRequest, makeHttpRequest, defaultHttpHandler copyright 2006-2008 Jim Thomason and distributed under the terms of the Artistic License */

function wrapHttpRequest (o) {

	makeHttpRequest(
		o.url,
		o.callback,
		o.method,
		o.data_form,
		o.target
	);
}

function makeHttpRequest(url, callback, method, data_form, target) {

	if (callback == null) {
		callback = defaultHttpHandler;
	}
	
	if (method == null) {
		method = 'get';
	}
	
	var data = '';

	if (data_form != null) {
		var data = '';
		var i = 0;
		for (i = 0; i < data_form.elements.length; i++) {
			if (data_form.elements[i].name && (data_form.elements[i].type != 'checkbox' || data_form.elements[i].checked)) {
				data += (data ? '&' : '') + encodeURIComponent(data_form.elements[i].name) + '=' + encodeURIComponent(data_form.elements[i].value);
			}
		}
	}
	
	var httpReq = false;
	
	if (window.XMLHttpRequest) {
		try {
			httpReq = new XMLHttpRequest();
		}
		catch (e) {
			httpReq = false;
		}
	}
	else if (window.ActiveXObject) {
		try {
			httpReq = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e) {
			try {
				httpReq = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(e) {
				httpReq = false;
			}
		}
	}

	if (httpReq) {
		callback.xmlHttpRequest = httpReq;
	
        	if (method.toLowerCase() == 'get' && data != '') {
            		url += '?' + data;
        	}

		httpReq.open(method, url, true);
		if (method.toLowerCase() == 'post') {
			httpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		}
	
		httpReq.onreadystatechange = function () {
			callback(httpReq, target);
		}

		httpReq.send(data);
	}

	return false;
}

function defaultHttpHandler (http, target) {
	if (http.readyState == 4) {
		target.innerHTML = http.responseText;
	}
}

var savedImages = new Object();

function toggle(image){

	if (document.images){

		var overImage = document.getElementById(image.id + '_over');

		if (image && overImage && image.src == overImage.src) {
			image.src = savedImages[image.id];
		}
		else if(image && overImage) {
			savedImages[image.id] = image.src;
			image.src = overImage.src;
		}
		
		name.src = image.src;
	};
};

function insert_image(image, target) {
	html = "<div align = 'center'><img src = '" + image + "'></div>";
	document.getElementById(target).innerHTML = html;
}

var active_links = new Array();

function make_active(link, level) {

	if (active_links[level] == link) {
		return;
	}

var linkElem = document.getElementById(link);

	if (active_links[level] != null) {
		var active_link_elem = document.getElementById(active_links[level]);
		
		active_link_elem.setAttribute("style", null);
		toggle_blurb(active_links[level] + 'blurb', 'none');
	}
	
	if (level == 0 && linkElem) {
		linkElem.style.color = '#FFF4B7';
	}

	active_links[level] = link;
	
	toggle_blurb(link + 'blurb', 'block');
}

function toggle_blurb(blurb, state) {

	var blurbElem = document.getElementById(blurb);

	if (blurbElem != null) {
		blurbElem.style.display = state;
	}

}
