
function channeladmin_update_settings(data)
{
	var locked = $("#channeladm_page .actionbutton.locked");
	if(data.locked) {
		locked.removeClass("disabled");
		locked.addClass("enabled");
	} else {
		locked.removeClass("enabled");
		locked.addClass("disabled");
	}
	
	var pin = $("#channeladm_page .actionbutton.pin");
	if(data.pin) {
		pin.removeClass("disabled");
		pin.addClass("enabled");
		pin.find(".value input").attr("value", data.pin);
	} else {
		pin.removeClass("enabled");
		pin.addClass("disabled");
	}
	
	var pin = $("#channeladm_page .actionbutton.adminpin");
	if(data.adminpin) {
		pin.removeClass("disabled");
		pin.addClass("enabled");
		pin.find(".value input").attr("value", data.adminpin);
	} else {
		pin.removeClass("enabled");
		pin.addClass("disabled");
	}
	
	var muted = $("#channeladm_page .actionbutton.muteall");
	if(data.muted == "1") {
		muted.removeClass("disabled");
		muted.addClass("enabled");
		muted.find(".value input").attr("value", data.adminpin);
	} else {
		muted.removeClass("enabled");
		muted.addClass("disabled");
	}
	
	var recorded = $("#channeladm_page .actionbutton.recorded");
	if(data.recorded == "1") {
		recorded.removeClass("disabled");
		recorded.addClass("enabled");
	} else {
		recorded.removeClass("enabled");
		recorded.addClass("disabled");
	}
	
	var recordingRunning = $(".actionbutton.recording");
        if(data.recorded != "1") {
		recordingRunning.removeClass("disabled");
		recordingRunning.removeClass("enabled");
		recordingRunning.addClass("offline");
	} else {
		if(data.recordingRunning == "1") {
			recordingRunning.removeClass("disabled");
  			recordingRunning.removeClass("offline");
			recordingRunning.addClass("enabled");
		} else {
			recordingRunning.removeClass("enabled");
  			recordingRunning.removeClass("offline");
			recordingRunning.addClass("disabled");
		}
	}
	
	$("#channeladm_page .box.title .subbox.members span.value ").html(parseInt(data.members));
}

function channeladmin_refresh_settings()
{
	jQuery.ajax({
			url: "/channeladm/ChannelSettings",
			dataType: 'json',
			success: function(data) {
				channeladmin_update_settings(data);
			},
			error: function() {
			}
	});
}


function channeladmin_toggle_pin(obj)
{
	var option = $(obj).parent().parent();
	option.addClass("working");
	
	var status = "enable";
	if(option.hasClass("enabled")) {
		status = "disable";
	}
	
	jQuery.ajax({
			url: "/channeladm/togglePin",
			dataType: 'json',
			data: {"status": status },
			success: function(data) {
				channeladmin_update_settings(data);
				option.removeClass("working");
			},
			error: function() {
				option.removeClass("working");
			}
	});
}

function channeladmin_toggle_locked(obj)
{
	var option = $(obj).parent().parent();
	option.addClass("working");
	
	var status = "enable";
	if(option.hasClass("enabled")) {
		status = "disable";
	}
	
	jQuery.ajax({
			url: "/channeladm/toggleLocked",
			dataType: 'json',
			data: {"status": status },
			success: function(data) {
				channeladmin_update_settings(data);
				option.removeClass("working");
			},
			error: function() {
				option.removeClass("working");
			}
	});
}

function channeladmin_change_pin(obj)
{
	var option = $(obj).parent().parent();
	option.addClass("working");
	
	
	jQuery.ajax({
			url: "/channeladm/togglePin",
			dataType: 'json',
			data: {"status": "change" },
			success: function(data) {
				channeladmin_update_settings(data);
				option.removeClass("working");
			},
			error: function() {
				option.removeClass("working");
			}
	});
}

function channeladmin_toggle_adminpin(obj)
{
	var option = $(obj).parent().parent();
	option.addClass("working");
	
	var status = "enable";
	if(option.hasClass("enabled")) {
		status = "disable";
	}
	
	jQuery.ajax({
			url: "/channeladm/toggleAdminPin",
			dataType: 'json',
			data: {"status": status },
			success: function(data) {
				channeladmin_update_settings(data);
				option.removeClass("working");
			},
			error: function() {
				option.removeClass("working");
			}
	});
}
function channeladmin_change_adminpin(obj)
{
	var option = $(obj).parent().parent();
	option.addClass("working");
	
	jQuery.ajax({
			url: "/channeladm/toggleAdminPin",
			dataType: 'json',
			data: {"status": "change" },
			success: function(data) {
				channeladmin_update_settings(data);
				option.removeClass("working");
			},
			error: function() {
				option.removeClass("working");
			}
	});
}

function channeladmin_update_members(data)
{
	for( var member in data ) {
		var row = $("#"+data[member].memberid);
		
		if(!row.length) {
			$("#channeladm_page table.members").append(''+'<tr id="'+data[member].memberid+'" class="member">'+
'			<td class="number"></td>'+
'			<td class="online"></td>'+
'			<td class="comment" ><input class="hideable" type="text" value="" style="visibility: hidden;"/></td>'+
'			<td class="muted">'+
'				<div class="content">'+
'					<img class="radiobutton hideable" src="/images/clear.gif" onclick="channeladmin_toggleMute(this);" />'+
'				</div>'+
'			</td>'+
'			<td class="hideable moderator inlineswitch">'+
'				<div class="content">'+
'					<img class="radiobutton hideable" src="/images/clear.gif" onclick="channeladmin_toggleModerator(this);" />'+
'				</div>'+
'			</td>'+
'			<td class="hideable kick">'+
'				<div class="content">'+
'					<img class="kickbutton hideable" src="/images/clear.gif" onclick="channeladmin_kick(this);"/>'+
'				</div>'+
'			</td>'+
'		</tr>'
			);
			
			var row = $("#"+data[member].memberid);
		}
		
		
		row.find(".number").html(data[member].number);
		row.find(".online").html(data[member].online);
		row.find(".comment input").attr("value", data[member].comment);
		
		if((data[member].moderator || $("#channeladm_page .actionbutton.muteall").hasClass("enabled")) && data[member].muted != 2) {
			row.find(".muted .content").removeClass("disabled");
			row.find(".muted .content").removeClass("enabled");
			row.find(".muted .content").addClass("invis");
		} else {
			row.find(".muted .content").removeClass("disabled");
			row.find(".muted .content").removeClass("enabled");
			row.find(".muted .content").removeClass("invis");
			
			switch(data[member].muted) {
				case 0: {
					row.find(".muted .content").addClass("disabled");
					break;
				}
				case 1: {
					row.find(".muted .content").addClass("enabled");
					break;
				}
				case 2: {
					row.find(".muted .content").addClass("invis");
					break;
				}
				
			}
		}
		
		if(data[member].moderator) {
			row.find(".moderator .content").removeClass("disabled");
			row.find(".moderator .content").addClass("enabled");
		} else {
			row.find(".moderator .content").removeClass("enabled");
			row.find(".moderator .content").addClass("disabled");
		}
	}
	
	$("#channeladm_page .members tr.member").each(function(i, obj) {
		var id = $(obj).attr("id");
		if(!data[id]) {
			$(obj).remove();
		}
	});
}

function channeladmin_toggleMute(obj)
{
	if($(obj).hasClass("invis")) {
		return;
	}
	
	var member = $(obj).parent().parent().parent();
	member.addClass("hidden");
	var status = "enable";
	if($(obj).parent().hasClass("enabled")) {
		status = "disable";
	}
	
	jQuery.ajax({
			url: "/channeladm/toggleMute",
			dataType: 'json',
			data: {"member": member.attr("id"), "status": status },
			success: function(data) {
				member.removeClass("hidden");
				channeladmin_update_settings(data["data"]);
				channeladmin_update_members(data["members"]);
			},
			error: function() {
				member.removeClass("hidden");
			}
	});
	
}

function channeladmin_toggleModerator(obj)
{
	
	var member = $(obj).parent().parent().parent();
	member.addClass("hidden");
	var status = "enable";
	if($(obj).parent().hasClass("enabled")) {
		status = "disable";
	}
	
	jQuery.ajax({
			url: "/channeladm/toggleModerator",
			dataType: 'json',
			data: {"member": member.attr("id"), "status": status },
			success: function(data) {
				channeladmin_update_settings(data["data"]);
				channeladmin_update_members(data["members"]);
				member.removeClass("hidden");
			},
			error: function() {
				member.removeClass("hidden");
			}
	});
}


function channeladmin_kick(obj)
{
	
	var member = $(obj).parent().parent().parent();
	member.addClass("hidden");
	
	jQuery.ajax({
			url: "/channeladm/kick",
			dataType: 'json',
			data: {"member": member.attr("id") },
			success: function(data) {
				channeladmin_update_settings(data["data"]);
				channeladmin_update_members(data["members"]);
				member.removeClass("hidden");
			},
			error: function() {
				member.removeClass("hidden");
			}
	});
}

function channeladmin_toggleMuteAll(obj)
{
	var muteall = $(obj).parent().parent();
	muteall.addClass("working");
	
	var status = "enable";
	if(muteall.hasClass("enabled")) {
		status = "disable";
	}
	
	jQuery.ajax({
			url: "/channeladm/toggleMuteAll",
			dataType: 'json',
			data: {"status": status },
			success: function(data) {
				channeladmin_update_settings(data["data"]);
				channeladmin_update_members(data["members"]);
				if(status == "enable") {
					muteall.removeClass("disabled");
					muteall.addClass("enabled");
				} else {
					muteall.removeClass("enabled");
					muteall.addClass("disabled");
				}
				muteall.removeClass("working");
			},
			error: function() {
				muteall.removeClass("enabled");
				muteall.addClass("disabled");
				muteall.removeClass("working");
			}
	});
}

function channeladmin_kickAll(obj)
{	
	var kickall = $(obj).parent().parent();
	kickall.addClass("working");
	
	jQuery.ajax({
			url: "/channeladm/kickAll",
			dataType: 'json',
			success: function(data) {
				channeladmin_update_settings(data["data"]);
				channeladmin_update_members(data["members"]);
				kickall.removeClass("working");
			},
			error: function() {
				kickall.removeClass("working");
			}
	});
}

function channeladmin_toggle_recorded(obj)
{
	var option = $(obj).parent().parent();
	var option2 = option.parent().find(".actionbutton.recording");
	option.addClass("working");
	option2.addClass("working");
	
	var status = "enable";
	if(option.hasClass("enabled")) {
		status = "disable";
	}
	
	jQuery.ajax({
			url: "/channeladm/toggleRecorded",
			dataType: 'json',
			data: {"status": status },
			success: function(data) {
				channeladmin_update_settings(data);
				option.removeClass("working");
				option2.removeClass("working");
			},
			error: function() {
				option.removeClass("working");
				option2.removeClass("working");
			}
	});
}

function channeladmin_refresh_members()
{
	jQuery.ajax({
			url: "/channeladm/ChannelMembers",
			dataType: 'json',
			success: function(data) {
				channeladmin_update_members(data);
			}
	});
}

function delete_record(link, file)
{

	$(link).parent().parent().each(function(i, obj) {
		$(obj).css("visibility", "hidden");
	});
	jQuery.ajax({
		url: "/channeladm/deleteRecord",
		data: { "file": file },
		success: function(data) {
			if(data == "success") {
				$(link).parent().parent().remove();
			} else {
				$(link).parent().parent().each(function(i, obj) {
					$(obj).css("visibility", "visible");
				});
			}
			
		},
		error: function() {
			$(link).parent().parent().each(function(i, obj) {
				$(obj).css("visibility", "visible");
			});
		}
	});
}

