BSD.namespace('BSD.socialnet.myfriends');

function ajax_comm_with_server(event_id) {
  var params = ajax_params;
  params.extended_data = event_id;
  var ajax = new ajax_class(params) ;
  ajax.comm_with_server();
}

function store_users(link) {
  if(ajax_is_enabled) {
  
    var store_users_add_str = '';
    var store_users_remove_str = '';
    var form_friends = document.forms['friends'];
    
    for(i=0; i<form_friends.elements.length; i++) {
      if(form_friends.elements[i].name.substring(0,12) == 'target_users') {
        element = form_friends.elements[i].name;
        element_key = element.substring(13,element.length-1);
          if(store_users_add_str != '') {
        if(form_friends.elements[i].checked) {
            store_users_add_str += ',';
          }
          store_users_add_str += element_key;
        } else {
          if(store_users_remove_str != '') {
            store_users_remove_str += ',';
          }
          store_users_remove_str += element_key;
        }
      }
    }
    
    if(store_users_add_str + store_users_remove_str != '') {
      ajax_params.ajax_url = ajax_url + '?store_users_add=' + store_users_add_str + '&store_users_remove=' + store_users_remove_str;
      ajax_params.success_handler = ajax_redirect;
      ajax_comm_with_server(ajax_key);
      post_ajax_redirect_url = link.href;
      return false;
    }
  }
  
  return true;
}

function toggle_user(obj) {
  stored_users_count += obj.checked ? 1 : -1;
  update_message_button();
}

function update_message_button() {
  if(stored_users_count > 0) {
      document.forms['friends'].btn_submit_message.disabled = false;
      document.forms['friends'].btn_submit_message.value = 'Message ' + stored_users_count + ' Friend(s)';
  } else {
      document.forms['friends'].btn_submit_message.disabled = true;
      document.forms['friends'].btn_submit_message.value = 'Message 0 Friends';
  }
}

function ajax_redirect(response) {
  location.href = post_ajax_redirect_url;
}

function ajax_success_handler(response) {
}

function ajax_failure_handler(message, error_code, ajax_request) {
}

function ajax_display_processing_message(on_off) {
}


var Example = {
    init : function(){

		reader_meta = {
			totalProperty: 'total',
			root: 'results',
			id: 'id'
		} ;

		reader_schema = [
			{name: 'id'},
			{name: 'display_name_with_image'}
		] ;

		
        var colModel = new Ext.grid.ColumnModel([	        
			{dataIndex: 'id', hidden: true},
			{dataIndex: 'display_name_with_image'}
		]);


        var ds = new Ext.data.Store({
		    proxy: new Ext.data.ScriptTagProxy({
				url: '/page/socialnet/myfriends_ajax/' + BSD.socialnet.myfriends.cons_id + '/' + BSD.socialnet.myfriends.friends_view + '/' 
			}),
			reader: new Ext.data.JsonReader(reader_meta, reader_schema)
        });
		
        ds.load();
        
	     // create the editor grid
	    var grid = new Ext.grid.Grid('grid-example', {
	        ds: ds,
	        cm: colModel,
	        selModel: new Ext.grid.RowSelectionModel({singleSelect:true}),
	        enableColLock:false,
	        loadMask: true,
	        autoSize: true,
	        autoSizeColumns: true
	    });
	    
	    
	    
	    grid.render();
	    
	   ds.on('datachanged',function() {
	      setTimeout(function() {grid.getView().refresh();},500);
	     });
		
		var gridHead = grid.getGridEl().child('div.x-grid-viewport div.x-grid-header');
        gridHead.setStyle('display', 'none');
        
        var gridHeadPanel = grid.getView().getHeaderPanel(true);
        var toolbar = new Ext.Toolbar(gridHeadPanel, null,null);
        toolbar.addSpacer();
        
        
        var gridFoot = grid.getView().getFooterPanel(true);
        
         // add a paging toolbar to the grid's footer
    	var paging = new Ext.PagingToolbar(gridFoot, ds, {
	        pageSize: parseInt(BSD.socialnet.myfriends.page_size),
	        displayInfo: false,  
	        emptyMsg: "No profiles to display"
	    });
	    
	    

        ds.load({params:{start:0, limit:BSD.socialnet.myfriends.page_size}});
    }
};

var e = YAHOO.util.Event;
e.onAvailable("grid-example",function() {Ext.onReady(Example.init, Example, true);},'');
//Ext.onReady(Example.init, Example, true);
