// JavaScript Document

//removes cdata
function remove_cdata(text_string)
{
	var cdata_pos = text_string.indexOf('[CDATA[');
	
	if(cdata_pos != -1)
	{
		cdata_length = '[CDATA['.length;
		cdata_end = text_string.lastIndexOf(']]');
		text_string = text_string.substring(cdata_length + cdata_pos, cdata_end);
	}
	
	return text_string;
}

//makes the connection
function update_page(var0, var1, var2, var3, var4)
{
	//makes url
	var url = '/' + var0;
	var variable_string = "";
	
	if(var1)
	{
		url = url + '/' + var1;
	}
	if(var2)
	{
		url = url + '/' + var2;
	}
	if(var3)
	{
		url = url + '/' + var3;
	}
	if(var4)
	{
		url = url + '/' + var4;
	}
	// analytics..
	_gaq.push(['_trackEvent', 'Ajax Navigation', 'Click', url]);

	
	url = 'ajax.xml.php' + url;
	
	//nitty gritty
	var http_request = false;
	
	if (window.XMLHttpRequest) // Mozilla, Safari, ...
	{
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType)
		{
			http_request.overrideMimeType('text/xml');
		}
	}
	else if (window.ActiveXObject) // IE
	{
		try
		{
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			try
			{
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e) {}
		}
	}
	
	//error report
	if (!http_request)
	{
		alert('Cannot create an XMLHTTP instance');
	}
	
	//makes connection
	http_request.open('GET', url, true);
	http_request.onreadystatechange = function()
	{
		if (http_request.readyState == 4)
		{
			if (http_request.status == 200)
			{
				var response = http_request.responseXML;
				
				//main content
				var output_content = response.getElementsByTagName('content').item(0).firstChild.nodeValue;
				output_content = remove_cdata(output_content);
				document.getElementById('div_main_left_content').innerHTML = output_content;
				
				//scroller styles
				var scrollerHeight;
				if(var0 == "home" || var0 == "contact_us")
				{
					scrollerHeight = 283;
				}
				else
				{
					scrollerHeight = 278;
				}
				document.getElementById('div_main_left_content_container').style.height = scrollerHeight + "px";
				document.getElementById('div_main_scroll_container').style.height = scrollerHeight + "px";
				document.getElementById('div_main_scroll').style.height = scrollerHeight + "px";
				
				//scroller update
				makeScroller();
				
				//footer content
				var output_footer_content
				if(response.getElementsByTagName('footer_content').item(0))
				{
					output_footer_content = response.getElementsByTagName('footer_content').item(0).firstChild.nodeValue;
					output_footer_content = remove_cdata(output_footer_content);
				}
				else
				{
					output_footer_content = "";
				}
				document.getElementById('div_main_left_footer').innerHTML = output_footer_content;
				
				//links
				var output_links = response.getElementsByTagName('links').item(0).firstChild.nodeValue;
				output_links = remove_cdata(output_links);
				document.getElementById('div_links').innerHTML = output_links;
				
				//sends vars to flash movie
				//projects
				if(var0 == "projects" && var1)
				{
					//individual project has been selected
					if(var2)
					{
						//alert('newSlideShow, ' + var0 + ', ' + var1 + ', ' + var2);
						flashProxy.call('newSlideShow', 'false', var0, var1, var2);
					}
					
					//section has been selected
					else
					{
						//alert('newSlideShow, ' + var0 + ', ' + var1);
						flashProxy.call('newSlideShow', 'false', var0, var1);
					}
				}
				
				//normal sections
				else
				{
					//as 4 sections share the same images, 'home' is passed to newSlideShow. this means no repeated images and the flash movie keeps scrolling uninterupted
					if(var0 == "home" || var0 == "projects" || var0 == "clients" || var0 == "contact_us")
					{
						flashProxy.call('newSlideShow', 'true', 'home');
					}
					//else load relevant slide show (currently only practice_history)
					else
					{
						flashProxy.call('newSlideShow', 'true', var0);
					}
				}
			}
		}
	};
	
	http_request.send(null);
}
