var SimpleAjax = Class.create();

SimpleAjax.prototype = 
{
    initialize: function(id, url, callback) 
    {
		ajaxEngine.registerRequest('do_'+id, url);
		ajaxEngine.registerAjaxObject(id, this );
		
		this.id = id;
        this.myCallback = callback;
    },

	sendPost: function(params)
	{  
		var body = "object_id="+this.id;
		if(params != null && params.length > 0)
		{
			for(var i = 0;i < params.length; i++)
			{
				var anArg = params[i];
				 if ( anArg.name != undefined && anArg.value != undefined ) 
				 {
					 body += "&"+ anArg.name +  "=" + escape(anArg.value);
				 }
				 else
				 {
					var ePos  = anArg.indexOf('=');
					var argName  = anArg.substring( 0, ePos );
					var argValue = anArg.substring( ePos + 1 );
					body += "&"+argName + "=" + escape(argValue);
				 }
			}
		}
		
		ajaxEngine.sendRequestWithData('do_'+this.id, body);
	},
	sendGet: function(params)
	{  
		if(params != null && params.length > 0)
		{
			for(var i = 0;i < params.length; i++)
			{
				var anArg = params[i];
				 if ( anArg.name != undefined && anArg.value != undefined ) 
				 {
					  params[i] = "'"+ anArg.name +  "=" + anArg.value +"'";
				 }
				 else
				 {
					params[i] = "'" + anArg + "'";
				 }
			}
			
			eval("ajaxEngine.sendRequest('do_"+this.id+"', 'object_id="+this.id+"'," + params.toString() +")");
		}
		else
		{
			ajaxEngine.sendRequest('do_'+this.id, 'object_id='+this.id);
		}
		
		
	},
    ajaxUpdate: function(ajaxResponse) 
    { 
        if (this.myCallback != null)
        {
            this.myCallback(ajaxResponse);
        }   
    }
};

var SimpleAjaxElement = Class.create();

SimpleAjaxElement.prototype = 
{
    initialize: function(id, url) //id is the element's id
    {
		ajaxEngine.registerRequest('get_'+id, url);
		ajaxEngine.registerAjaxElement(id);
		
		this.id = id;
    },

	sendPost: function(params)
	{  
		var body = "object_id="+this.id;
		if(params != null && params.length > 0)
		{
			for(var i = 0;i < params.length; i++)
			{
				var anArg = params[i];
				 if ( anArg.name != undefined && anArg.value != undefined ) 
				 {
					 body += "&"+ anArg.name +  "=" + escape(anArg.value);
				 }
				 else
				 {
					var ePos  = anArg.indexOf('=');
					var argName  = anArg.substring( 0, ePos );
					var argValue = anArg.substring( ePos + 1 );
					body += "&"+argName + "=" + escape(argValue);
				 }
			}
		}
		
		ajaxEngine.sendRequestWithData('get_'+this.id, body);
	},
	sendGet: function(params)
	{  
		if(params != null && params.length > 0)
		{
			for(var i = 0;i < params.length; i++)
			{
				var anArg = params[i];
				 if ( anArg.name != undefined && anArg.value != undefined ) 
				 {
					  params[i] = "'"+ anArg.name +  "=" + anArg.value +"'";
				 }
				 else
				 {
					params[i] = "'" + anArg + "'";
				 }
			}
			
			eval("ajaxEngine.sendRequest('get_"+this.id+"', 'object_id="+this.id+"'," + params.toString() +")");
		}
		else
		{
			ajaxEngine.sendRequest('do_'+this.id, 'object_id='+this.id);
		}	
	}
};
