function MyAccountRefresher(AjaxRoot, AccountID, WebsiteRoot, SecureWebsiteRoot)
{
	this.AjaxRoot 			= AjaxRoot;
	this.AccountID 			= AccountID;
	this.WebsiteRoot 		= WebsiteRoot;
	this.SecureWebsiteRoot 	= SecureWebsiteRoot;
	
	this.ShowProcessingMessage = function(TargetID)
	{
		var element = document.getElementById(TargetID);
		element.innerHTML = '<img src="/shared/images/icons/working_16x12.gif" width="16" height="12" border="0" alt="" /> Processing Request ...<br /><br />';
	}
	
	this.RefreshVehicleListing = function()
	{
		var ElementID		= "vehicle_listing";	
		var Parameters 		= "action=RefreshVehicleListing&account_id="+this.AccountID;
		var objAjaxv2 		= new Ajaxv2(this.AjaxRoot+"/myaccount_helper.php", this, this.GenericCallBack, "POST", Parameters, GlobalAjaxContextHandler);
		objAjaxv2.EventData	= ElementID;
		objAjaxv2.GetPost(true);
	}
	
	this.RefreshWishList = function()
	{
		var ElementID		= "list";	
		var Parameters 		= "action=RefreshWishList&account_id="+this.AccountID;
		var objAjaxv2 		= new Ajaxv2(this.AjaxRoot+"/myaccount_helper.php", this, this.GenericCallBack, "POST", Parameters, GlobalAjaxContextHandler);
		objAjaxv2.EventData	= ElementID;
		objAjaxv2.GetPost(true);
	}
	
	this.RefreshWishListCountMessage = function()
	{
		var ElementID		= "list_count";	
		var Parameters 		= "action=RefreshWishListCountMessage&account_id="+this.AccountID;
		var objAjaxv2 		= new Ajaxv2(this.AjaxRoot+"/myaccount_helper.php", this, this.GenericCallBack, "POST", Parameters, GlobalAjaxContextHandler);
		objAjaxv2.EventData	= ElementID;
		objAjaxv2.GetPost(true);
	}
	
	this.RefreshPriceWatch = function()
	{
		var ElementID		= "list";	
		var Parameters 		= "action=RefreshPriceWatch&account_id="+this.AccountID;
		var objAjaxv2 		= new Ajaxv2(this.AjaxRoot+"/myaccount_helper.php", this, this.GenericCallBack, "POST", Parameters, GlobalAjaxContextHandler);
		objAjaxv2.EventData	= ElementID;
		objAjaxv2.GetPost(true);
	}
	
	this.RefreshPriceWatchCountMessage = function()
	{
		var ElementID		= "list_count";	
		var Parameters 		= "action=RefreshPriceWatchCountMessage&account_id="+this.AccountID;
		var objAjaxv2 		= new Ajaxv2(this.AjaxRoot+"/myaccount_helper.php", this, this.GenericCallBack, "POST", Parameters, GlobalAjaxContextHandler);
		objAjaxv2.EventData	= ElementID;
		objAjaxv2.GetPost(true);
	}
	
	this.RefreshGiftCards = function()
	{
		var ElementID		= "giftcard_list";	
		var Parameters 		= "action=RefreshGiftCards&account_id="+this.AccountID;
		var objAjaxv2 		= new Ajaxv2(this.AjaxRoot+"/myaccount_helper.php", this, this.GenericCallBack, "POST", Parameters, GlobalAjaxContextHandler);
		objAjaxv2.EventData	= ElementID;
		objAjaxv2.GetPost(true);
	}
	
	this.RefreshProductReviews = function()
	{
		var ElementID		= "product_review_list";	
		var Parameters 		= "action=RefreshProductReviews&account_id="+this.AccountID;
		var objAjaxv2 		= new Ajaxv2(this.AjaxRoot+"/myaccount_helper.php", this, this.GenericCallBack, "POST", Parameters, GlobalAjaxContextHandler);
		objAjaxv2.EventData	= ElementID;
		objAjaxv2.GetPost(true);
	}
	
	this.RefreshProductReviewSubmissionForm = function()
	{
		var ElementID		= "add_review_interface";	
		var Parameters 		= "action=RefreshProductReviewForm&account_id="+this.AccountID;
		var objAjaxv2 		= new Ajaxv2(this.AjaxRoot+"/myaccount_helper.php", this, this.GenericCallBack, "POST", Parameters, GlobalAjaxContextHandler);
		objAjaxv2.EventData	= ElementID;
		objAjaxv2.GetPost(true);
	}
	
	/*** BEGIN CallBack Methods ***/
	this.GenericCallBack = function(Success, ResponseObject, EventData)
	{
		if(Success)
		{
			var element;
			var event_array = Array();
			try
			{
				eval("var obj= "+ResponseObject.responseText);
				
				if(EventData.constructor != Array)
					event_array.push(EventData);
				else
					event_array = EventData;
					
				for(var c=0; c<event_array.length; c++)
				{
					element = document.getElementById(event_array[c]);
					element.innerHTML = obj.Response;
				}				
				
				if(obj.Javascript != null)			
					window.eval(obj.Javascript);
			}
			catch(ex)
			{
				alert('Exception caught in MyAccountHelper: '+ex.toString());	
			}				
		}
	}	
	/*** END CallBack Methods ***/
}