//--------------------------------------------AJAXTABLE-------------------------------------------------------------------
ajaxtable = Class.create();

ajaxtable.prototype = {
  initialize: function(table_place_holder, pager_place_holder,ajaxURL,pagesize) {
     
    this.table_place_holder = $(table_place_holder);
    this.pager_place_holder = $(pager_place_holder);
    this.ajaxURL = ajaxURL;
    this.offset = 0;
    this.pagesize = pagesize;
   
  },//end initalize
  
  
  show: function(){

  	this.getPager();
  	this.getWholeTable();
  },
  
  getWholeTable : function(){

  	var arrParams = {offset:this.offset,limit:this.pagesize,action:'getWholeTable'};
  	var table_place_holder = this.table_place_holder;
  	this.getRequestContent(arrParams,
  	function( t ) {
  		table_place_holder.update(t.responseText);
  	},
  	function(t){
  		alert('failure to update table');
  	});
  },
  
  getPager : function(){
  	var arrParams = {offset:this.offset,limit:this.pagesize,action:'getPager'};
  	var pager_place_holder = this.pager_place_holder;
  	this.getRequestContent(arrParams,
  	function( t ) {
  		pager_place_holder.update(t.responseText);
  	},
  	function(t){
  		alert('failure to update pager');
  	});
  },
  
  getRequestContent : function(arrParams,successCallBack,failureCallBack){
     
    var h = $H(arrParams);
    h = "&"+h.toQueryString();
  	new Ajax.Request(this.ajaxURL, {
      parameters: h,
      onSuccess : successCallBack,
	  onFailure : failureCallBack
	});
  },
  
  nextPage : function(offset){
  	 this.offset = offset;
 	 this.show();
  }
}
//--------------------------------------------END OF AJAXTABLE-------------------------------------------------------------------

function manageUser(arrParams){
var feedback = arrParams['feedback'];
var action = arrParams['action'];
var h = $H(arrParams);
	h = "&"+h.toQueryString();

	new Ajax.Request("/?module=account/memberajaxhandler/memberajaxhandler&ajax", {
         parameters: h,
         onSuccess: function( t ) {
         if(feedback){
         	 new Feedbacker({feedBackDivId:feedback}).success(t.responseText);
         	 if(action == 'removefriend' || action == 'removeGroupMember'){
         	 	 new Effect.Fade($('member_'+arrParams['user_id']),{from:1.0,to:0.3});
         	 }
         }
	     }
	   });

}

function manageChat(arrParams){
var feedback = arrParams['feedback'];
var h = $H(arrParams);
h = "&"+h.toQueryString();
new Ajax.Request("/?module=account/memberajaxhandler/memberajaxhandler&ajax", {
         parameters: h,
         onSuccess: function( t ) {
         if(feedback){
             new Effect.Fade($('chat_'+arrParams['chat_id']),{from:1.0,to:0.3});	
         	 new Feedbacker({feedBackDivId:feedback}).success(t.responseText);
         }
	   }
});
}

function manageTopic(arrParams){
var feedback = arrParams['feedback'];
var h = $H(arrParams);
h = "&" + h.toQueryString();
new Ajax.Request("/?module=account/memberajaxhandler/memberajaxhandler&ajax", {
         parameters: h,
         onSuccess: function( t ) {
         if(feedback){
             new Effect.Fade($('topic_'+arrParams['topic_id']),{from:1.0,to:0.3});	
         	 new Feedbacker({feedBackDivId:feedback}).success(t.responseText);
         }
	   }
});
}