function write_layer( ID, sText ) { 
 if( document.layers ) { 
   var oLayer; 
   oLayer = getObject(ID).document; 
	 
   oLayer.open(); 
   oLayer.write( sText ); 
   oLayer.close(); 
 } 
 else if (parseInt(navigator.appVersion)>=5&&navigator.appName=="Netscape") { 
   document.getElementById(ID).innerHTML = sText; 
 } 
 else if (document.all) document.all[ID].innerHTML = sText;
} 

function getObject(objectId) {
	if(document.getElementById && document.getElementById(objectId)) {
		return document.getElementById(objectId);
	} else if (document.all && document.all(objectId)) {
		return document.all(objectId);
	} else if (document.layers && document.layers[objectId]) {
		return getObjNN4(document,objectId);
	} else {
		return null;
	}
} 

function getStyleObject(objectId) {
	if(document.getElementById && document.getElementById(objectId)) {
		return document.getElementById(objectId).style;
	} else if (document.all && document.all(objectId)) {
		return document.all(objectId).style;
	} else if (document.layers && document.layers[objectId]) {
		return getObjNN4(document,objectId);
	} else {
		return false;
	}
} 

function getObjNN4(obj,name)
{
	var x = obj.layers;
	var foundLayer;
	for (var i=0;i<x.length;i++)
	{
		if (x[i].id == name)
		 	foundLayer = x[i];
		else if (x[i].layers.length)
			var tmp = getObjNN4(x[i],name);
		if (tmp) foundLayer = tmp;
	}
	return foundLayer;
}

function changeObjectVisibility(objectId, newVisibility) {
	var styleObject = getStyleObject(objectId, document);
	
	if( styleObject ) {
		styleObject.visibility = newVisibility;
		return true;
	} else {
		return false;
	}
}

/////////////////////////////////////////////////////////////////////////////////
// Class clsAJAX
/////////////////////////////////////////////////////////////////////////////////
function clsAJAX( url, params, method ) {
	// Default Values
	var method = (method == null) ? 'GET' : method;
	
	var self = this;
	
	//this.pComplete = function() { };

	// New Variables
	this.url = url;
	this.params = params;
	this.method = method;
	
	// Defaults
	this.processing = 0;
	
	this.start = function() {
		if( this.processing > 0 ) return;
		this.processing = 1;
		
		this.xmlhttp = false;
	
		try {
			this.xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (ee) {
				try {
					this.xmlhttp = new XMLHttpRequest();
				} catch (eee) {
					this.xmlhttp = false;
					return false;
				}
			}
		}


		if (this.method == "GET") {
			this.xmlhttp.open(this.method, this.url, true);
		} else {
			this.xmlhttp.open(this.method, this.url, true);
			try {
				this.xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
				this.xmlhttp.setRequestHeader("Content-length", params.length);
				this.xmlhttp.setRequestHeader("Connection", "close");
			} catch (e) { }
		}
		
		this.xmlhttp.onreadystatechange = function() {
			if (self.xmlhttp.readyState==4) {
				self.pComplete();
				self.processing = 0;
			}
		}
		this.xmlhttp.send(params);
		
		return true;
	};
}

/////////////////////////////////////////////////////////////////////////////////
// Class clsAJAX2
/////////////////////////////////////////////////////////////////////////////////
function clsAJAX2( url, method, encoding ) {
	// Default Values
	var method = (method == null) ? 'GET' : method;
	var encoding = (encoding == null) ? 1 : encoding;
	
	var self = this;
	
	//this.pComplete = function() { };

	// New Variables
	this.url = url;
	this.params = '';
	this.params_count = 0;
	this.method = method;
	var boundry = 'a7ldd9809dDD845Nfnvfjnf';
	
	// Defaults
	this.processing = 0;
	
	//////////////////////////////////////////////////
	// Function: Add Param
	//////////////////////////////////////////////////
	this.addParam = function( name, value ) {
		if( this.encoding == 1 ) {
			if( this.params_count > 0 ) this.params  += "&";
			this.params += name + "=" + encodeURI( value );	
			this.params_count++;
		} else {
			this.params += '--' + boundry + "\r\n";
			this.params += 'content-disposition: form-data; name="' + name + '"';
			this.params += "\r\n\r\n" + value + "\r\n";
		}
	};
	
	//////////////////////////////////////////////////
	// Start AJAX
	//////////////////////////////////////////////////
	this.start = function() {
		if( this.processing > 0 ) return;
		this.processing = 1;
		
		this.xmlhttp = false;
	
		try {
			this.xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (ee) {
				try {
					this.xmlhttp = new XMLHttpRequest();
				} catch (eee) {
					this.xmlhttp = false;
					return false;
				}
			}
		}


		if (this.method == "GET") {
			this.xmlhttp.open(this.method, this.url, true);
		} else {
			this.xmlhttp.open(this.method, this.url, true);
			try {
				if( this.encoding == 1 ) {
					this.xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
				} else {
					this.xmlhttp.setRequestHeader("Content-Type", "multipart/form-data; boundary=" + boundry)
					this.params += '--' + boundry + '--';
				}
				this.xmlhttp.setRequestHeader("Content-length", this.params.length);
				this.xmlhttp.setRequestHeader("Connection", "close");
			} catch (e) { }
		}
		
		this.xmlhttp.onreadystatechange = function() {
			if (self.xmlhttp.readyState==4) {
				self.pComplete();
				self.processing = 0;
			}
		}
		this.xmlhttp.send(this.params);
		
		return true;
	};
}

function MyScrollY() { 
	var theTop = 0;

	if (window.pageYOffset)	{
		  pos = window.pageYOffset;
	}
	else if (document.documentElement && document.documentElement.scrollTop) {
		pos = document.documentElement.scrollTop;
	}
	else if (document.body)	{
		  pos = document.body.scrollTop;
	}
	if (pos < theTop) pos = theTop;
	else pos += 0;

	return pos;
}

function MyPageWidth() { 
	if (self.innerWidth)
	{
		frameWidth = self.innerWidth;
		//frameHeight = self.innerHeight;
	}
	else if (document.documentElement && document.documentElement.clientWidth)
	{
		frameWidth = document.documentElement.clientWidth;
		//frameHeight = document.documentElement.clientHeight;
	}
	else if (document.body)
	{
		frameWidth = document.body.clientWidth;
		//frameHeight = document.body.clientHeight;
	}
	else 
	{
		frameWidth = 0;
		//frameHeight = 0;
	}

	return frameWidth;
}

function MyCentreX( width ) {
	ret = (MyPageWidth() - width) / 2;
	if( ret < 0 ) ret = 0;
	return ret;
}