/*
**	Asynchronous Javascript And XML
**	Dave Sims
**	detachedblur@gmail.com
**	08-11-2005
*/

function send_request(method, url, params, data_handler , usermenu)
{
	var http_request = '' ;
	var get_params = '' ;
	var post_params = '' ;
	var userAgent_length = navigator.userAgent.split("MSIE").length;
	if(userAgent_length == 1)
	{
		http_request = new XMLHttpRequest();
		http_request.overrideMimeType('text/xml');
	}
	else
	{

		//http_request.overrideMimeType('text/xml');
		http_request = new ActiveXObject("Msxml2.XMLHTTP");

		//http_request = new ActiveXObject("Microsoft.XMLHTTP");

		//http_request = new ActiveXObject("Microsoft.XMLDOM");
	}
	http_request.onreadystatechange = function()
	{
		if(http_request.readyState == 4)
		{
			if(http_request.status == 200)
			{
				//xml = http_request.responseXML;
				//var gen = window.open("","test");
				//gen.document.write( http_request.responseText);
				//gen.document.close() ;
				data_handler(http_request.responseXML , usermenu);
			}
		}
	}
	params_length = params.length;
	if(params_length > 0)
	{
			for(i = 0; i < params_length; i++)
		{
			get_params += params[i] + "&";
		}
	}
	method = method.toUpperCase();
	if(method == 'GET')
	{
		url += '?' + get_params;
		url = url.substr(0, (url.length - 1));
	}
	//alert(url);
	http_request.open(method, url, true);
	if(method == 'POST')
	{
		post_params = get_params;
		http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	}
	http_request.send(post_params);
}

/*
** Arcad JS Functions

** Dave Sims
** david@arcad.co.nz
** 13-03-2007
*/

var _globURL = '';
var _bLaws = false;

function request_sideMenu(url, cat_list, grade, section, category, stamp)
{
	_globURL = url;
	var usermenu = false ;
	send_request('GET', _globURL, Array('type=toolbox_sideMenu', 'cat_list=' + cat_list, 'grade=' + grade, 'section=' + section, 'category=' + category, 'stamp=' + stamp, 'catlist=' + cat_list), xml_sideMenu, usermenu);

}

function xml_sideMenu(xml, user)
{
	if(user == true) {
		append = "usermenu=true" ;

	}
	else {
		append = "usermenu=false" ;

	}
	if (!document.getElementById('com_toolbox_sideMenu')){
		//alert("No element id call \'com_toolbox_sidemenu\'");
	}
	else{
		var content_node = xml.getElementsByTagName('content').item(0);
		document.getElementById('com_toolbox_sideMenu').innerHTML = content_node.firstChild.data;
		var article_node = xml.getElementsByTagName('article').item(0);
		var grade_node = xml.getElementsByTagName('grade').item(0);
		var section_node = xml.getElementsByTagName('section').item(0);
		var category_node = xml.getElementsByTagName('category').item(0);
		var stamp_node = xml.getElementsByTagName('stamp').item(0);
		var catlist_node = xml.getElementsByTagName('catlist').item(0);
		request_rightMenu('', article_node.firstChild.data, grade_node.firstChild.data, section_node.firstChild.data, category_node.firstChild.data, stamp_node.firstChild.data, catlist_node.firstChild.data, append);
	}
}

function request_rightMenu(tab, article_id, grade, section, category, stamp, catlist, append)
{

	if(section == 'Laws')
	{
		_bLaws = true;
	}
	else
	{
		if(_bLaws === true)
		{
			_bLaws = false;
		}
	}
	if(tab == '')
	{
		tab = 'images';
	}

	send_request('GET', _globURL, Array('type=toolbox_rightMenu', 'tab=' + tab, 'article_id=' + article_id, 'grade=' + grade, 'section=' + section, 'category=' + category, 'stamp=' + stamp, 'catlist=' + catlist, append), xml_rightMenu);
}

function xml_rightMenu(xml)
{

	try {
	
		var content_node = xml.getElementsByTagName('content').item(0);
		var cdata = content_node.firstChild.data;
	
		//alert(content_node.nodeName) ;
	        //alert(content_node.nodeName ) ;
	
	       	/**
	
		try {
	
	
		}
		 catch(error) {
		 alert("ERROR: " + error.description ) ;
		}
	
		*/
	
		document.getElementById('com_toolbox_rightMenu').innerHTML = cdata;
	
		var path_node = xml.getElementsByTagName('pathway').item(0);
		document.getElementById('dynamic_pathway').innerHTML = path_node.firstChild.data;
		document.getElementById('com_toolbox_mytoolbox').innerHTML = '';
	
		if(_bLaws === true)
		{
			document.getElementById('com_toolbox_sideMenu').style.display = "none";
		}
		else
		{
			document.getElementById('com_toolbox_sideMenu').style.display = "block";
		}
	
		try {
			initLightbox();
		}
		catch (err) {
			//do nothing
			//not lighbox , probably because of ie6
		}
	
	}
	

	catch(error) {
		//alert("cant parse xml " + error.description) ;
		//alert("no saved items in MY TOOLBOX! " + error.description) ;
		var button = document.getElementById("mytoolbox_button") ;
		
		button.style.display = "none" ;
		
		//alert(error.message) ;
		window.location = "http://www.arcadbeta.co.nz:8080/nzru/index.php" ;
	}

}



function request_toolbox(url, stamp)
{
	_globURL = url;
	usermenu = true ;
	//send_request('GET', url, Array('type=mytoolbox', 'stamp=' + stamp), xml_toolbox);
	send_request('GET', _globURL , Array('type=toolbox_sideMenu' , 'usermenu=true', 'stamp=' + stamp ), xml_sideMenu, usermenu );
}

function xml_toolbox(xml)
{
	document.getElementById('com_toolbox_rightMenu').innerHTML = '';
	document.getElementById('com_toolbox_sideMenu').innerHTML = '';

	var content_node = xml.getElementsByTagName('content').item(0);
	document.getElementById('com_toolbox_mytoolbox').innerHTML = content_node.firstChild.data;

}

function request_save(url, article_id, stamp, grade, section, category, catlist)
{
	if(stamp == '-1')
	{
		return;
	}
	send_request('GET', url, Array('type=request_save', 'article_id=' + article_id, 'stamp=' + stamp, 'grade=' + grade, 'section=' + section, 'category=' + category, 'catlist=' + catlist), xml_save);

	var button = document.getElementById("mytoolbox_button") ;
    button.style.display = "block" ;

}

function xml_save(xml)
{

}

function request_sideMenu2(url, article_id, grade, section, category, stamp, cat_list)
{
	_globURL = url;
	send_request('GET', url, Array('type=toolbox_sideMenu', 'cat_list=' + cat_list, 'grade=' + grade, 'section=' + section, 'category=' + category, 'stamp=' + stamp, 'catlist=' + cat_list, 'aID=' + article_id), xml_sideMenu);
}

function request_delete(url, rID, stamp)
{
	send_request('GET', url, Array('type=request_delete', 'rID=' + rID, 'stamp=' + stamp, 'url=' + url), xml_delete);
}

function xml_delete(xml)
{
	var stamp_node = xml.getElementsByTagName('stamp').item(0);
	var url_node = xml.getElementsByTagName('url').item(0);
	request_toolbox(url_node.firstChild.data, stamp_node.firstChild.data);
}
