﻿//申请全局变量给提交按钮
var g_oButton;
//////////////////////////////////////////////////
//根据传入的分支处理数据
//oSubmit - 提交按钮
//oForm - 表单对象
//aCheck - 需要验证的控件ID组,用"|"隔开,默认为验证所有
//////////////////////////////////////////////////
function AjaxSubmit(oSubmit, oForm, aCheck)
{
	var uChkResult;
	g_oButton = oSubmit;
	
	//判断提交数据是否为对象,不是对象就根据字符串取对象
	if (typeof(oSubmit) !="object")
	{
		oSubmit = $$(oSubmit);
	}
	if (typeof(oForm) !="object")
	{
	    oForm = document.getElementById(oForm);
	}
	
	//禁用提交按钮
	DisableObj(g_oButton, true)
	
	//如果指定需要检测的控件组
	if (aCheck)
	{
		oForm = aCheck;
	}
	
	//判断提交表单是否存在,不存在则不需要检测数据
	if (oForm)
	{
		uChkResult = CheckForm(oForm);
	}
	else
	{
		uChkResult = true;
	}
	
	//验证数据是否合法
	if (uChkResult) {
		var ilk = oSubmit.getAttribute("ilk");
		if (!ilk)
		{
			ilk = oForm.getAttribute("ilk");
		}
		CreateLoading();
		switch (ilk)
		{
			case "ILK_SUBMIT"://直接提交
				oForm.submit();
				break;
			///////////////////////////////////////////////////////////////////////////////////////////////////////系统	
			case "ILK_TIP_SAVE"://TIP保存
				TipSaveHandle(ilk);
				break;
			case "ILK_CONFIG_SAVE"://配置文件保存
				ConfigSaveHandle(ilk);
				break;
		    ///////////////////////////////////////////////////////////////////////////////////////////////////////管理员
			case "ILK_ADMIN_LOGIN"://管理员登录
				AdminLoginHandle(ilk);
				break;
			case "ILK_ADMIN_ADD"://管理员添加
				AdminAddOrMdfHandle(ilk);
				break;
			case "ILK_ADMIN_MDF"://管理员修改
				AdminAddOrMdfHandle(ilk);
				break;
			case "ILK_ADMIN_CHANGE_GROUP"://管理员修改隶属组
				AdminChangeGroupHandle(ilk);
				break;
			case "ILK_ADMIN_AUDITING"://管理员审核
				CommAuditingHandle(ilk);
				break;
			case "ILK_ADMIN_DEL"://管理员删除
				CommDelHandle(ilk);
				break;
			///////////////////////////////////////////////////////////////////////////////////////////////////////分类
			case "ILK_CLASS_ADD"://分类添加
				ClassSubmitHandle(ilk);
				break;
			case "ILK_CLASS_ORDER"://分类排序
				CommOrderHandle(ilk);
				break;
			case "ILK_CLASS_RENAME"://分类重命名
				CommReNameHandle(ilk);
				break;
			///////////////////////////////////////////////////////////////////////////////////////////////////////组
			case "ILK_GROUP_ADD"://组添加
				GroupAddOrMdfHandle(ilk);
				break;
			case "ILK_GROUP_MDF"://组修改
				GroupAddOrMdfHandle(ilk);
				break;
			case "ILK_GROUP_AUDITING"://组审核
				CommAuditingHandle(ilk);
				break;
			case "ILK_GROUP_DEL"://组删除
				CommDelHandle(ilk);
				break;
			///////////////////////////////////////////////////////////////////////////////////////////////////////新闻
			case "ILK_NEWS_ADD"://新闻添加
				NewsAddOrMdfHandle(ilk);
				break;
			case "ILK_NEWS_MDF"://新闻修改
				NewsAddOrMdfHandle(ilk);
				break;
			case "ILK_NEWS_AUDITING"://新闻审核
				CommAuditingHandle(ilk);
				break;
			case "ILK_NEWS_ORDER"://新闻排序
				CommOrderHandle(ilk);
				break;
			case "ILK_NEWS_DEL"://新闻删除
				CommDelHandle(ilk);
				break;
			///////////////////////////////////////////////////////////////////////////////////////////////////////游戏
			case "ILK_GAME_ADD"://游戏介绍添加
				GameAddOrMdfHandle(ilk);
				break;
			case "ILK_GAME_MDF"://游戏介绍修改
				GameAddOrMdfHandle(ilk);
				break;
			case "ILK_GAME_AUDITING"://游戏介绍审核
				CommAuditingHandle(ilk);
				break;
			case "ILK_GAME_ORDER"://游戏介绍排序
				CommOrderHandle(ilk);
				break;
			case "ILK_GAME_DEL"://游戏介绍删除
				CommDelHandle(ilk);
				break;
			///////////////////////////////////////////////////////////////////////////////////////////////////////教程
			case "ILK_GUIDE_ADD"://教程添加
				GuideAddOrMdfHandle(ilk);
				break;
			case "ILK_GUIDE_MDF"://教程修改
				GuideAddOrMdfHandle(ilk);
				break;
			case "ILK_GUIDE_AUDITING"://教程审核
				CommAuditingHandle(ilk);
				break;
			case "ILK_GUIDE_ORDER"://教程排序
				CommOrderHandle(ilk);
				break;
			case "ILK_GUIDE_DEL"://教程删除
				CommDelHandle(ilk);
				break;
			///////////////////////////////////////////////////////////////////////////////////////////////////////活动
			case "ILK_EVENT_ADD"://活动添加
				EventAddOrMdfHandle(ilk);
				break;
			case "ILK_EVENT_MDF"://活动修改
				EventAddOrMdfHandle(ilk);
				break;
			case "ILK_EVENT_AUDITING"://活动审核
				CommAuditingHandle(ilk);
				break;
			case "ILK_EVENT_ORDER"://活动排序
				CommOrderHandle(ilk);
				break;
			case "ILK_EVENT_DEL"://活动删除
				CommDelHandle(ilk);
				break;
			///////////////////////////////////////////////////////////////////////////////////////////////////////充值方式
			case "ILK_PAY_ADD"://充值方式添加
				PayAddOrMdfHandle(ilk);
				break;
			case "ILK_PAY_MDF"://充值方式修改
				PayAddOrMdfHandle(ilk);
				break;
			case "ILK_PAY_AUDITING"://充值方式审核
				CommAuditingHandle(ilk);
				break;
			case "ILK_PAY_ORDER"://充值方式排序
				CommOrderHandle(ilk);
				break;
			case "ILK_PAY_DEL"://充值方式删除
				CommDelHandle(ilk);
				break;
			///////////////////////////////////////////////////////////////////////////////////////////////////////物品
			case "ILK_ITEM_ADD"://物品添加
				ItemAddOrMdfHandle(ilk);
				break;
			case "ILK_ITEM_MDF"://物品修改
				ItemAddOrMdfHandle(ilk);
				break;
			case "ILK_ITEM_AUDITING"://物品审核
				CommAuditingHandle(ilk);
				break;
			case "ILK_ITEM_ORDER"://物品排序
				CommOrderHandle(ilk);
				break;
			case "ILK_ITEM_DEL"://物品删除
				CommDelHandle(ilk);
				break;
			///////////////////////////////////////////////////////////////////////////////////////////////////////广告
			case "ILK_AD_ADD"://广告添加
				AdAddOrMdfHandle(ilk);
				break;
			case "ILK_AD_MDF"://广告修改
				AdAddOrMdfHandle(ilk);
				break;
			case "ILK_AD_AUDITING"://广告审核
				CommAuditingHandle(ilk);
				break;
			case "ILK_AD_ORDER"://广告排序
				CommOrderHandle(ilk);
				break;
			case "ILK_AD_DEL"://广告删除
				CommDelHandle(ilk);
				break;
			///////////////////////////////////////////////////////////////////////////////////////////////////////用户	
			case "ILK_USER_LOGIN"://前台玩家登录
				UserLoginHandle(ilk);
				break;
			case "ILK_USER_LOGINOUT"://前台玩家登出
				UserLogoutHandle(ilk);
				break;
			///////////////////////////////////////////////////////////////////////////////////////////////////////兑奖	
			case "ILK_EXCHANGE_SAVE"://礼品兑换者信息保存
				ExchangeSaveHandle(ilk);
				break;
			///////////////////////////////////////////////////////////////////////////////////////////////////////领奖	
			case "ILK_AWARD_SAVE"://领奖者信息保存
				SubmitSaveHandle(ilk);
				break;
			///////////////////////////////////////////////////////////////////////////////////////////////////////交易
			case "ILK_TRADE_AUDITING"://交易审核
				CommAuditingHandle(ilk);
				break;
			case "ILK_TRADE_DEL"://交易删除
				CommDelHandle(ilk);
				break;
			///////////////////////////////////////////////////////////////////////////////////////////////////////留言
			case "ILK_GBOOK_SAVE"://在线留言保存
				GbookSaveHandle(ilk);
				break;
			case "ILK_GBOOK_DEL"://在线留言删除
				CommDelHandle(ilk);
				break;
			///////////////////////////////////////////////////////////////////////////////////////////////////////短消息
			case "ILK_MSG_ADD"://短消息添加
				MsgAddOrMdfHandle(ilk);
				break;
			case "ILK_MSG_MDF"://短消息修改
				MsgAddOrMdfHandle(ilk);
				break;
			case "ILK_MSG_AWARD_ADD"://短消息添加
				MsgAwardAddOrMdfHandle(ilk);
				break;
			case "ILK_MSG_AWARD_MDF"://短消息修改
				MsgAwardAddOrMdfHandle(ilk);
				break;
			case "ILK_MSG_AUDITING"://短消息审核
				CommAuditingHandle(ilk);
				break;
			case "ILK_MSG_ORDER"://短消息排序
				CommOrderHandle(ilk);
				break;
			case "ILK_MSG_DEL"://短消息删除
				CommDelHandle(ilk);
				break;
			///////////////////////////////////////////////////////////////////////////////////////////////////////友情链接
			case "ILK_LINK_ADD"://友情链接添加
				LinkAddOrMdfHandle(ilk);
				break;
			case "ILK_LINK_MDF"://友情链接修改
				LinkAddOrMdfHandle(ilk);
				break;
			case "ILK_LINK_AUDITING"://友情链接审核
				CommAuditingHandle(ilk);
				break;
			case "ILK_LINK_ORDER"://友情链接排序
				CommOrderHandle(ilk);
				break;
			case "ILK_LINK_DEL"://友情链接删除
				CommDelHandle(ilk);
				break;
			///////////////////////////////////////////////////////////////////////////////////////////////////////其它
			case "ILK_OTHER_ADD"://其它添加
				OtherAddOrMdfHandle(ilk);
				break;
			case "ILK_OTHER_MDF"://其它修改
				OtherAddOrMdfHandle(ilk);
				break;
			case "ILK_OTHER_AUDITING"://其它审核
				CommAuditingHandle(ilk);
				break;
			case "ILK_OTHER_ORDER"://其它排序
				CommOrderHandle(ilk);
				break;
			case "ILK_OTHER_DEL"://其它删除
				CommDelHandle(ilk);
				break;
			default :
				DisableObj(g_oButton, false)
				ShowDialog("该模块不存在!");
				break;
		}
	}
	else
	{
		DisableObj(g_oButton, false);
	}
	return false;
}
//公共返回操作,只显示对话框
function CommResponseDlg()
{
	if (AjaxChkStarus())
	{
		ShowDialog(CodeToTip(oAjaxHttp.responseText));
	}
	DisableObj(g_oButton, false);
}
//公共返回操作,显示对话框后刷新本页
function CommResponseRef()
{
	if (AjaxChkStarus())
	{
		ShowDialog(CodeToTip(oAjaxHttp.responseText),'location.reload()');
	}
	DisableObj(g_oButton, false);
}
//公共添加或修改后的操作
function CommResponseBackGround()
{
	if (AjaxChkStarus())
	{
		var code = oAjaxHttp.responseText;
		var tip = CodeToTip(code);
		ShowDialog(tip);
		
		if (code == "ADD_OK")
		{
			ShowDialog(tip, 'location(\'?action=List\')');
		}
		else if (code == "MODIFY_OK")
		{
			ShowDialog(tip, 'history.back()');
		}
		else
		{
			ShowDialog(tip);
		}
	}
	DisableObj(g_oButton, false);
}
//公共排序操作
function CommOrderHandle(ilk)
{
	var id = GetValueByName("ID");
	var order = GetValueByName("Order");
	
	var parameters = "ilk=" + ilk + "&id=" + id + "&order=" + order;

	if (AjaxSend(parameters, "POST"))
	{
		oAjaxHttp.onreadystatechange = CommResponseRef;
	}
}
//公共重命名操作
function CommReNameHandle(ilk)
{
	var id = GetValueByName("ID");
	var name = GetValueByName("NewName");
	
	var parameters = "ilk=" + ilk + "&id=" + id + "&name=" + name;

	if (AjaxSend(parameters, "POST"))
	{
		oAjaxHttp.onreadystatechange = CommResponseRef;
	}
}
//公共审核操作
function CommAuditingHandle(ilk)
{
	var id = GetValueByChkBoxName("ID");
	var auditing = GetValueById("IDC_Auditing");
	
	var parameters;
	try
	{
		parameters = "ilk=" + ilk + "&id=" + id + "&auditing=" + auditing + "&whys=" + m_DlgValue;
	}catch (ex){
		parameters = "ilk=" + ilk + "&id=" + id + "&auditing=" + auditing + "&whys=";
	}

	if (AjaxSend(parameters, "POST"))
	{
		oAjaxHttp.onreadystatechange = CommResponseRef;
	}
}
//公共删除操作
function CommDelHandle(ilk)
{
	var parameters = "ilk=" + ilk + "&id=" + GetValueByChkBoxName("ID") + "&whys=" + m_DlgValue;
	
	if (AjaxSend(parameters, "POST"))
	{
		oAjaxHttp.onreadystatechange = CommResponseRef;
	}
}
// 审核提交
function SubmitAuditing(oSubmit, oForm, sCheck)
{
	if (CheckBox($$(oForm).ID))
	{
		//如果所选项的值不为空
		if (oSubmit.value != "")
		{
			if (oSubmit.value == 1)
			{
				ShowDialog("请输入操作原因:","SubmitChkBoxByWhysSubmit(" + oSubmit.id + "," + oForm + "," + sCheck + ")","prompt");
			}
			else
			{
				AjaxSubmit(oSubmit,  oForm,  sCheck);
			}
		}
	}
}
// 有CheckBox选中时提交
function SubmitChkBox(oSubmit, oForm, sCheck)
{
	if (CheckBox($$(oForm).ID))
	{
		//如果所选项的值不为空
		if (oSubmit.value != "")
		{
			AjaxSubmit(oSubmit,  oForm,  sCheck);
		}	
	}
}
// 提交之前填原因
function SubmitChkBoxByWhys(oSubmit, oForm, sCheck)
{
	if (CheckBox($$(oForm).ID))
	{
		ShowDialog("请输入操作原因:","SubmitChkBoxByWhysSubmit(" + oSubmit.id + "," + oForm + "," + sCheck + ")","prompt");
	}
}
// 确认后批量提交,SubmitChkBoxByWhysSubmit(oSubmit, oForm, sCheck)需要使用,必须全局
function SubmitChkBoxByWhysSubmit(oSubmit, oForm, sCheck)
{
	//全局变量m_DlgValue
	//创建对话框后,点击确定产生
	m_DlgValue = GetValueById("DlgValue");
	RemoveDialog();
	if (m_DlgValue && oSubmit.value != "")
	{
		AjaxSubmit(oSubmit,  oForm,  sCheck);
	}
}
//删除分类
function DelClass(nClsID, sIlk){
	var sPrompt = "ShowDialog(\"请输入操作原因:\",\"DelClassSubmit('" + sIlk + "', " + nClsID + ")\",\"prompt\")";
	ShowDialog("将删除该类和该类的所有子类!确定吗?",sPrompt,"confirm");
}
//删除分类确认后提交
function DelClassSubmit(ilk,nClsID)
{
	//全局变量m_DlgValue
	//创建对话框后,点击确定产生
	m_DlgValue = GetValueById("DlgValue");
	RemoveDialog();
	
	if (m_DlgValue)
	{
		var parameters = "ilk=" + ilk + "&id=" + nClsID + "&whys=" + m_DlgValue;
		
		if (AjaxSend(parameters, "POST"))
		{
			oAjaxHttp.onreadystatechange = CommResponseRef;
		}
	}
}