function Ajax()
{
	var ajax = this;
	ajax.xh=null;
	ajax.setXH();
	if( !ajax.xh ) { alert('No AJAX support'); return; }

	this.sendRq = function( Method, url, rstateFunc, parameters, args )
	{
		ajax.setXH();
		switch ( Method.toUpperCase() )
		{
			case 'GET':
				ajax.xh.onreadystatechange = function()
				{
					if ( ajax.xh.readyState==4 || ajax.xh.readyState=="complete" )
					{
						if ( ajax.xh.status == 200 )
						{
							rstateFunc.call( this, ajax.xh.responseText, args );
						}
					}
				}
				ajax.xh.open( Method, url, true );
				ajax.xh.setRequestHeader( "Content-type", "application/x-www-form-urlencoded" );
				ajax.xh.send( null );
			break;
			case 'POST':
				ajax.xh.onreadystatechange = function()
				{
					if ( ajax.xh.readyState==4 || ajax.xh.readyState=="complete" )
					{
						if ( ajax.xh.status == 200 )
						{
							rstateFunc.call( this, ajax.xh.responseText, args );
						}
					}
				}
				ajax.xh.open( 'POST', url, true );
				ajax.xh.setRequestHeader( "Content-type", "application/x-www-form-urlencoded" );
				ajax.xh.setRequestHeader( "Content-length", parameters.length );
				ajax.xh.setRequestHeader( "Connection", "close" );
				ajax.xh.send( parameters );
			break;
			default:
				window.alert( 'No method chosen' );
			break;
		}
	}
}

Ajax.prototype.setXH = function()
{
	this.xh = window.XMLHttpRequest ? new XMLHttpRequest() : null ;
	this.xh = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : this.xh;
}

var ajax = new Ajax();

function executeScripts( el )
{
	scripts = el.getElementsByTagName( "div" );
	for ( var i=0; i<scripts.length; i++ ) if ( scripts[i].className="script" ) eval( scripts[i].innerHTML );
}