
function new_object(_panel)
{
	var _win = window.open('popup_object.phtml?panel=' + _panel, null, 'height=600,width=600,resizeable=no,toolbar=no,status=no,location=no,menubar=no,scrollbars=no');
	return _win;
}

// should load the page based on the ID of the page ...
function loadPage(_siteid, _pageid)
{
	var _url	= '../../../pages/cms/xml/FetchPageForSite.php?PageID=' + _pageid + '&SiteID=' + _siteid;
	var _ajax	= new sisAJAXConnector();

	var _parts = document.location.href.split("?")[1].split("&");
	for(var i=0; i<_parts.length; i++)
	{
		var _arg = _parts[i].split('=');

		switch(_arg[0])
		{
			case 'PageID':
			case 'SiteID':
				break;
				
			default:
				_url += '&' + _parts[i];
		}
	}
	
	_ajax.open("GET", GetURL(_url), false);
	_ajax.send(null);

	return new sisXMLDocument(_ajax.responseText);
}

function GetURLParameter(_name)
{
	var _url = new String(document.location.href);
	
	try
	{
	var _parts = _url.split("?")[1].split("&");
	} catch(_e) { return ''; }
	
	for(var i=0; i<_parts.length; i++)
	{
		var _arg = _parts[i].split('=');
		if(_arg[0] == _name)
		{
			return _arg[1];			// we found the value, so lets return it
		}
	}
	
	return '';						// we found nothing, so we return an empty string
}

function GetURL(_url)
{
	var _split 		= _url.split('?');
	var _random 	= Math.random();
	var _opts		= '';
	
	if(_split.length > 1)	
	{
		var _args		= _split[1].split('&');
		for(var i=0; i<_args.length; i++)
		{
			var _get = _args[i].split('=');
			
			if(_get[0] == 'RANDOMISER') continue;		// remove the random value if exists
			if(i>0)  _opts = _opts.concat('&');					// add delimiter
			
			_opts = _opts.concat(_get[0], '=', _get[1]);		// add the options
		}
		
		_opts = _opts.concat('&RANDOMISER=', _random);			// add the randomiser value
		
		return _split[0] + '?' + _opts;
	} else
	{
		return _url + '?RANDOMISER=' + _random;
	}
}

/*******************************************************************************************************************
  * generic ajax and xml functions below
  *******************************************************************************************************************/

function get_nextsibling(n)
{
	try {
	var x=n.nextSibling;
	while (x!=null && x.nodeType!=1)
	{
		x=x.nextSibling;
	}
	return x;
	} catch(e) { return null; }
}

function HasChildNodes(n)
{
	for(var i=0; i<n.childNodes.length; i++)
	{
		if(n.childNodes[i].nodeType == 1) return true;
	}
	
	return false;
}

function getXMLNode(_document, _nodename, _default)
{
	try
	{
		var _data = _document.getElementsByTagName(_nodename)[0].firstChild.nodeValue;
		return _data;
	} catch(e)
	{
		if(_default == null) return "";
		return _default;
	}
}

function sisAJAXConnector()
{
	var xmlhttp;
	/*@cc_on
	@if(@_jscript_version >=5)
		try {
			xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (E) {
				xmlhttp = false;
				}
			}
	@else
	xmlhttp = false;
	@end @*/
	
	if(!xmlhttp && typeof XMLHttpRequest != 'undefined')
	{
		try {
				xmlhttp = new XMLHttpRequest();
			} catch(e) {
				xmlhttp = false;
			}
	}
	return xmlhttp;
}

function sisXMLDocument(_xml)
{
	var xmlDoc = null;
	
	try
	{
		xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.async = "false";
		xmlDoc.loadXML(_xml);
		return xmlDoc;
	} catch(e)
	{
		var parser = new DOMParser();
		xmlDoc = parser.parseFromString(_xml, "text/xml");
		return xmlDoc;
	}
}

