/*
*	atk
*	ajax tool kit, mutex version
*	$Id: atk.js 200 2007-05-29 07:51:58Z mmimouni $
*/

function $(id) {
	return document.getElementById(id);
}	

function getValue( id ) {
	return $(id).value;
}	

function _sm( em ) {
	atkRequestData( 'newsletter', 'email=' + em );
}

function _wc( nb, ref ) {
	atkRequestData( 'webcallback', 'bnum=' + nb + '&service=' + ref );
}	

function atkRequestData( service, xargs ) {
	new Mutex( new _atkRequestData(	service, xargs ), 'run' );
}

function atkProcessReply() {
	new Mutex( new _atkProcessReply(), 'run' );
}

function atkChangeState() {
	//if( ATK_REQUEST.readyState == 4 )
		//atkProcessReply();
}

var ATK_NEXT_CMD_ID = 0;
var ATK_REQUEST = null;
var ATK_TID = 1000;

var ATK_SERVICES = new Array();

function _atkRequestData( service, xargs ) {
	this.id = ++ATK_NEXT_CMD_ID;	
	this.run = function() {
		ATK_REQUEST = (window.XMLHttpRequest) ? new XMLHttpRequest() : (window.ActiveXObject) ? new ActiveXObject("Microsoft.XMLHTTP") : null;
		var request_id = ++ATK_TID;
		var url = 'wsprovider.php?item=' + service + '&tid=' + request_id;
		ATK_SERVICES[ request_id ] = service;
		ATK_REQUEST.open('POST', url, true );
		ATK_REQUEST.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=ISO-8859-1');
		ATK_REQUEST.send( xargs );
		ATK_REQUEST.onreadystatechange = atkChangeState;
	}	
}

function _atkProcessReply() {
	this.id = ++ATK_NEXT_CMD_ID;
	this.run = function() {
		try {
			if( ATK_REQUEST.responseText.length > 0 ) {
				
				eval( "var rawdata = " + ATK_REQUEST.responseText );
			}		
		}catch( except ) {
		}finally {
		}	
	}	
}
