// JavaScript Document

var dotrace = false;

function trace(msg)
{
	if (dotrace == false)
	{
		return;
	}
	dotrace = false;
	var tbox = resolveElement ("tracebox");
	msg = msg+ " <br />";
	setContent (tbox, tbox.innerHTML + msg);
	dotrace = true;
}

function resolveElement (id)
{
	trace ("function resolveElement (" + id + ")");
	var element = id;
	if (element && (element.innerHTML || element.style))
	{
		return element;
	}
	element = document.getElementById (id);
	if (element && (element.innerHTML || element.style))
	{
		return element;
	}
	var elements = document.getElementsByTagName (id);
	for (i=0; i<elements.length; i++)
	{
		element = elements[i];
		if (element && (element.innerHTML || element.style))
		{
			return element;
		}
	}
	trace ("    error: element not found");
	return null;
}

function setContent (id, value)
{
	trace ("function setContent (" + id + ", " + value + ")");
	var element = resolveElement (id);
	if (!element.innerHTML)
	{
		trace ("   error: element " + id +  " has no innerHTML");
		return;
	}
	element.innerHTML = value;
}

function setStyle (id, key, value)
{
	trace ("function setStyle (" + id + ", " + key + ", " + value + ")");
	
	var element = resolveElement (id);
	if (!element.style)
	{
		trace ("   error: element has no style");
		return;
	}
	if (key == "opacity" && element.style.opacity == undefined)
	{
		setOpacity (element, value);
		return;
	}
	element.style[key] = value;
	
}





function setOpacity (element, alpha) 
{	
		trace ("function setOpacity");
		var style = element.style;	
		if (style.MozOpacity != undefined) 
		{ //Moz and older		
			style.MozOpacity = alpha/100.0; 
		} else if (style.filter != undefined) 
		{  //IE		
			style.filter = "alpha(opacity=0)";		
			element.filters.alpha.opacity =  alpha;	
		} else if( style.opacity != undefined) 
		{ //Opera		
			style.opacity = alpha/100.0;	
		}
	}
	

function getElementHeight(elementid) 
{
	var elem = resolveElement (elementid);
	if (elem.offsetHeight)
	{
		return elem.offsetHeight;	
	} else if (elem.style.pixelHeight)
	{
		return elem.style.pixelHeight;
	} else if (elem.innerHeight)
	{
		return elem.innerHeight;
	}
	return -1;
}

function getElementWidth(elementid) 
{
	var elem = resolveElement (elementid);
	if (elem.offsetWidth)
	{
		return elem.offsetWidth;	
	} else if (elem.style.pixelWidth)
	{
		return elem.style.pixelWidth;
	} else if (elem.innerWidth)
	{
		return elem.innerWidth;
	}
	return -1;
}

var _XMLHTTP = null;
function XMLHTTP ()
{
	if (_XMLHTTP)
	{
		return _XMLHTTP;
	}
	if (window.XMLHttpRequest)
	{
		_XMLHTTP = new XMLHttpRequest();
	} else
	{
		_XMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");
	}
	return _XMLHTTP;
}

function makePOSTRequest(url, parameters) 
{
	trace ("makePOSTRequest (" + url + ", parameters)");
		
	try
	{
	  http_request = XMLHTTP();
	  //http_request.onreadystatechange = alertContents;
      //http_request.open('POST', url, true);
	  http_request.open('POST', url, false);
	  //http_request.setRequestHeader( "If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT" ); 
      http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      http_request.setRequestHeader("Content-length", parameters.length);
      http_request.setRequestHeader("Connection", "close");
	  
      http_request.send(parameters);
	  
	  
	  data = http_request.responseText;
	} catch (err)
	{
		data = "";
		trace ("   error occured");
	}
	return data;
	  
}





	
	

