﻿//Club javascript lib.
//using for client
//by 倪超@2009年1月4日
//0574.com TianDe Corp.Ltd.
//all rights reserved.

function initForm(c) { for (var i in c) { $("#" + i).val(c[i]); $("INPUT[name=" + i + "][value=" + c[i] + "]").attr({ checked: true }); } }

//--js in clublist--
function switchClubView(type) { self.location = "/Club/ClubList/" + currentViewType + "/" + type; }
function initClubListPage() { if (!currentViewTID) { $("[typekey=" + currentViewType + "]").addClass("info_current"); $("#orderkey").val(currentOrder); } else { $("#categoryView").addClass("info_current").show(); } }
function initNewTopicListPage() { $("[typekey=" + currentViewType + "]").addClass("current"); }

//--end--

var tempdata;
//--js in club create--

function parseCreateClub() {
	if ($("#name").val() == "") { $.alert("请输入圈的名字"); return; }
	if ($("#typeid").val() == "") { $.alert("请选择圈的类别"); return; }
	if ($("#desc").val() == "") { $.alert("请输入圈的简介"); return; }
	$.load("正在提交注册资料......");
	$("#cform")[0].submit();
}
//修改基础资料
function submitClubBasicInfo() {
	if ($("#desc").val() == "") { $.alert("请输入圈的简介"); return; }

	var d = {
		typeid: $("#typeid").val(),
		desc: $("#desc").val(),
		status: $(":checked[name=status]").val()
	};

	$.ajax0574(
		self.location + '',
		d, 2000,
		null, "正在提交资料……"
	);
}
//------升级圈子
function clubVipChange() {
	if (vip == 2) { $.alert("很抱歉，暂时已达最高等级"); return; }

	//先查询用户积分
	$.load("正在查询...");
	$.ajaxCommon(
		self.location + '?act=userscore',
		{},
		clubVipChangeEnsure
		);
}
function clubVipChangeEnsure(d) {
	var score = parseInt(d.Info);
	//决定可以升级的内容
	var _12 = (vip < 1 && score >= parseInt(vipinfo.vip1.s));
	var _13 = (vip < 1 && score >= parseInt(vipinfo.vip2.s));
	var _23 = (vip == 1 && score >= parseInt(vipinfo.vip2.s));

	$("input[name=newvip][value=1]").attr({ disabled: !_12 });
	$("input[name=newvip][value=2]").attr({ disabled: !(_13 || _23) });

	if (!_12 && !_13 && !_23) {
		$.alert("抱歉，您暂时无法对圈进行任何升级（积分不足）");
	} else {
		showBlock('vipchange');
	}
}
function tryUpGradeClubVip() {
	var level = $("input:radio:checked[name=newvip]").val();
	if (level == null || level == '') { alert("请选择要升级的等级"); return; }
	ub();
	tempdata = level;

	$.ajax0574(self.location + "?act=vip", { newvip: level }, 1000, upgradeClubOk, "正在升级...");
}
function upgradeClubOk(d) {
	vip = tempdata;
	$("#clubVipDesc").html(vip == 1 ? "中级" : "高级");
}

//--end--

//--Invite
var selectedUser = 0;
function checkInviteUserName() {
	var u = $("#addInviteUser").val();
	if (u == "") { $.alert("请输入要邀请的用户名！"); return; }

	eleBlock('sidebar', 'msgTip');
	$.ajaxCommon(self.location + "?act=adduser", { un: u }, function(d) {
		$("#sidebar").unblock();
		if (d.IsCorrect) {
			//d.Info:ID\t用户名
			var q = d.Info.split("\t");
			if ($("#userlist :checkbox[value=" + q[0] + "]").length > 0) {
				$.error("这个好友已经在列表中了");
			} else {
				var html = $('<li><input type="checkbox" name="ull" value="' + q[0] + '"><span>' + q[1] + '</span></li>');
				$(":checkbox", html).click(userlistBoxCheck);
				html.appendTo("#userlist");
			}
		}
	});
}
function userlistBoxCheck() {
	selectedUser = $("#userlist :checked").length;
	window.title = selectedUser;
	$("#custCount").html(selectedUser + '');
}
function initUserListBox() {
	$("#userlist :checkbox").click(userlistBoxCheck);
	$("#listFilter").keyup(function() {
		var f = $("#listFilter").val().toLowerCase();
		$("#userlist li").each(function() {
			var obj = $(this);
			var n = $("span", obj).text().toLowerCase();
			var v = f == "" || n.indexOf(f) != -1;
			if (!v) {
				//$("input", obj)[0].checked=false;
				obj.hide();
			}
			else {
				var e = $("input", obj);
				obj.show();
			}
		});
		userlistBoxCheck();
	});
}
function sendInviteRequest() {
	if (selectedUser == 0) { $.alert("您尚未选择好友"); return; }
	if (selectedUser > maxSelect && maxSelect > -1) { $.alert("您选择的好友数已经超过了您能发送的邀请数"); return; }
	$.confirm("确定要发送 " + selectedUser + " 个邀请吗？", sendInviteRequestOK);
}
function sendInviteRequestOK() {
	var d = {};
	var uid = "";
	var i = $("#userlist :checked");
	for (var id = 0; id < i.length; id++) {
		uid += (uid.length > 0 ? "," : "") + i[id].value;
	}
	d["uid"] = uid;
	d["w"] = $("#words").val();

	$.ajax0574(self.location + '', d, 1000, function(d) {
	}, "正在发送邀请");
}
var mcvr_id;
function mcvr_acceptRequest(id) {
	mcvr_id = id;
	$.confirm("确定要通过这个申请吗?", function() {
		$.ajax0574(self.location + '?act=pass', { id: mcvr_id }, 1000, function() {
			$("#list" + mcvr_id).remove();
		}, "正在处理请求....");
	});
}
function mcvr_rejectRequest(id) {
	mcvr_id = id;
	$.confirm("确定要忽略这个申请吗?", function() {
		$.ajax0574(self.location + '?act=refuse', { id: mcvr_id }, 1000, function() {
			$("#list" + mcvr_id).remove();
		}, "正在处理请求....");
	});
}
//--club admin
var mcvm_lastid;
function mcvm_removeOp(id) {
	mcvm_lastid = id;
	$.confirm("确定要将ta从圈中移除吗?", function() {
		$.ajax0574(self.location + '?act=remove', { i: id }, 1000, function(d) {
			$("#list" + mcvm_lastid).remove();
		}, "正在处理....");
	});
}
var mcvm_laststate;
function mcvm_adminOp(id) {
	mcvm_lastid = id;
	mcvm_laststate = $("#list" + mcvm_lastid).attr("state");
	$.confirm("确定要将ta" + (mcvm_laststate ? "升为" : "取消") + "管理员吗?", function() {
		$.ajax0574(self.location + '?act=admin', { i: id }, 1000, function(d) {
			mcvm_laststate = 1 - mcvm_laststate;
			$("a[rel=adminlink]", $("#list" + mcvm_lastid).attr({ state: mcvm_laststate })).html(mcvm_laststate == 0 ? "升" : "降");
		}, "正在处理....");
	});
}
//--end

//--club--
function initClubState() {
	var obj = $("#clubjoinlink");
	if (state == 0) obj.html("申请加入");
	else if (state == 1) obj.html("申请加入");
	else if (state == 2) obj.html("等待通过加入申请");
	else if (state == 3) obj.html("已经加入 <span>退出</span");
	else if (state == 4) obj.html("我是管管 <span>退出</span>");
	else if (state == 5) obj.html("这是我的地盘");

	if (state >= 4) $("#clubAdminLink").show();
}

//--end--
function clubjoinRequired(obj) {
	var callback = function() { };
	if (obj != null && $(obj).attr('href')) {
		callback = function() { if (state > 2) { self.location = $(obj).attr("href"); } else clubJoinProcess(function() { self.location = $(obj).attr("href"); }); }
	}
	if (state < 3) {
		clubJoinProcess(callback);
		return false;
	}
	return true;
}
function clubJoinProcess(callback) {
	if (state == 3 || state == 4) {
		if (callback != null) { callback(); return; }
		$.confirm("您已经加入此圈，需要退出吗？", function() {
			$.ajax0574('/Club/ExtOp/' + clubsecDomain + '/exit', { u: self.location + '' }, 1000, function(json) {
				state = 1;
				initClubState();
			}, "正在操作");
		});
	} else if (state == 5) {
		if (callback != null) { callback(); return; }
		$.alert("您是圈主，不能退出");
	} else if (state == 0) {
		//登陆，登陆成功后刷新一下圈的成员状态，然后再检查登陆状态
		chkLogin(function() { clubRefrestClubStatus(function() { if (callback == null) { clubJoinProcess(callback); } else { callback(); } }); });
	} else {
		$.confirm("您尚未加入此圈，要立刻加入吗？", function() {
			$.ajax0574('/Club/ExtOp/' + clubsecDomain + '/Join', { u: self.location + '' }, 1000, callback, "正在操作");
		});
		return false;
	}
}

function initClubAction() {
	$("[rel=clubjoinlink]").click(joinClubList);
}
var jcl_domain;
function joinClubList() {
	var obj = $(this);
	var st = obj.attr("state");
	jcl_domain = obj.attr("sd");
	if (st == 1) {
		$.confirm("确定要退出吗？", function() {
			$.ajax0574('/Club/ExtOp/' + jcl_domain + '/exit', null, 1000, joinClubListCallback, "正在提交");
		});
	} else {
		$.confirm("确定要加入吗？", function() {
			$.ajax0574('/Club/ExtOp/' + jcl_domain + '/join', null, 1000, joinClubListCallback, "正在提交");
		});
	}
}
function joinClubListCallback() {
	var _cobj = $("[rel=clubjoinlink][sd=" + jcl_domain + "]");
	var _csd = _cobj.attr("state");
	_csd = 1 - _csd;
	_cobj.attr({ state: _csd });
	_cobj.html(_csd ? "退出圈子" : "加入圈子");
}
//刷新圈友状态
function clubRefrestClubStatus(callback) {
	$.get("/Club/ExtOp/" + clubsecDomain + "/GetState?" + Math.random(), {}, function(data) {
		state = parseInt(data);
		initClubState();
		if (callback != null) callback();
	});
}

function EnsureJoinClub() {
	clubJoinProcess(function() {
		if (state > 2) { $('#notmembertip').hide(); $('#replyform').show(); }
		else clubJoinProcess(function() {
			if (state > 2) { $('#notmembertip').hide(); $('#replyform').show(); }
		});
	});
}