
/* starts and monitors the progress of adding buddies for a user */
function sync_buddies(user_id, password, extra) {
  if(! extra) {
		var syncElt = JJ("#_progress_" + user_id);
	 	syncElt.load("/op/sync_buddies/" + user_id  + "?password=" + password);
	  JJ("#op_button_" + user_id).val("Running");
  }else {
	  JJ(extra).load("/op/sync_buddies/" + user_id  + "?password=" + password);
  }
}

/*
  used to switch between DIVs for selecting a protocol.
  
  rather specialized.
*/
function hide_show_protocol(op_id, val) {
	if(!val)
		val = JJ("#" + op_id + "_protocol").val();
	
	a = ['jabber', 'local_jabber', 'gtalk'];
	
	for(i in a) {
		if(a[i] == val) {
			JJ("#" + op_id + "_" + a[i]).show();
		}else {
			JJ("#" + op_id + "_"+ a[i]).hide();
		}
	}
	
};


/* key DIV: #operator_edit_" + op_id */

/* adds an operator */
function add_operator_by_id(op_id, form, extra) {
	JJ("input", form).each(function(){
		JJ(this).attr("disabled", true);
	})
	var protocol = JJ("#" + op_id + "_protocol").val();
	var username = "";
	var password = "";
	if(protocol =="local_jabber"){
		username = JJ("#" + op_id + "_username").val();
		password = JJ("#" + op_id + "_password").val();
	}else if(protocol =="gtalk" ) {
		username = JJ("#" + op_id + "_gtalk_user").val();
	}else if(protocol =="jabber" ) {
		username = JJ("#" + op_id + "_jabber_user").val();
	}
	add_operator(op_id, username, password, protocol, extra);
	return false;
}

function add_operator(op_id, username, password, protocol, extra) {
  if(!extra) extra = "";  
	if(protocol =="local_jabber"){
		JJ("#operator_edit_" + op_id).load("/op/update/" + op_id + "?operator[username]=" + username + "&operator[password]=" + password + "&operator[active_operator][protocol]=" + protocol+ extra);
	}else {
		JJ("#operator_edit_" + op_id).load("/op/update/" + op_id + "?operator[active_operator][username]=" + username + "&operator[active_operator][protocol]=" + protocol + extra);
	}		
}