<%
include("language.html")
if _SESSION["logined"] ~= nil then
%>
<%
local domain = _GET["domain"]
local accessway = c_AccessDataWay(domain)
local totalrecords = 0
local totalpages = 0
if accessway == 2 or accessway == 3 then
	totalrecords,totalpages = c_GetGroupPageCount(domain)
end
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Group List</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
html, body {height: 100%;}
<%if _COOKIE["admin_lang"] == "schinese" or _COOKIE["admin_lang"] == "tchinese" or _COOKIE["admin_lang"] == "japanese" then%>
body,td,span {font:12px/20px Verdana, Geneva, Arial, Helvetica, sans-serif;}
<%else%>
body,td,span {font:12px/20px Verdana, Geneva, Arial, Helvetica, sans-serif;}
<%end%>
img {border:0px;}

button{
border:none;background:none;padding:0;
margin:0;width:auto;overflow:visible;text-align:center;
white-space:nowrap;height:24px;line-height:24px;
cursor:pointer;
color:#000;
margin-left:2px;
margin-top:2px;
}
button span, button em{
display:block;height:24px;line-height:22px;margin:0;
}	
button span{
font-size:8pt;
padding-left:12px;
background:url("images/button_left.gif") no-repeat 0 0;
}
<%if _COOKIE["admin_lang"] == "schinese" or _COOKIE["admin_lang"] == "tchinese" or _COOKIE["admin_lang"] == "japanese" then%>
button em{
font-style:normal;padding-right:14px;
background:url("images/button.gif") no-repeat 101% 0;
}
<%else%>
button em{
font-style:normal;padding-right:10px;
background:url("images/button.gif") no-repeat 100% 0;
}
<%end%>
button:hover{
filter:alpha(opacity=60);
opacity:0.60;
color:#5488C9;
}
button span:hover{
filter:alpha(opacity=60);
opacity:0.60;
color:#5488C9;
}
.buttonhover{
filter:alpha(opacity=60);
opacity:0.60;
color:#5488C9;
}
span{
	vertical-align:middle;
}


.listhead
{
		border-top: 1px solid white; border-right: 1px solid white; border-left: 1px solid white; border-bottom: 2px solid #E1E2E3;
		font: 12px/22px arial; cursor: hand; text-align: center; background-color: #EFEFEF; overflow:hidden; height:24px;
}

.listhead2
{
		border-top: 1px solid white; border-right: 1px solid white; border-left: 1px solid white; border-bottom: 2px solid #FCC247;
		font: 12px/22px arial; cursor: hand; text-align: center; background-color: #FAF9F4; overflow:hidden; height:24px;
}

.listtr01
{
		background-color: #FFFFFF;
		text-align: left;
		padding: 3px;
}

.listtr02
{
		background-color: #3366CC;
		color: #FFF;
		text-align: left;
		padding: 3px;
}

.resizeblock{
	background-color:transparent;
	width:2px;
	float:right;
	cursor:e-resize;
}

</style>

<!–[if IE 6]>
<link rel="stylesheet" type="text/css" href="css/ie6.css" />
<![endif]–>

<script language="javascript" src="include/common.js"></script>
<script language="javascript">
var domain = "<%=domain%>";
var accessway = "<%=accessway%>";
var totalrecords = "<%=totalrecords%>";
var totalpages = "<%=totalpages%>";
var nowpage = 1;
var nowrows = 0;
var ajaxlock = false;
var selectedRow = null;
var lastObj = null;
var lastObjIndex = -1;
var g_groupname = "";

var xmlhttp,page,post;
xmlhttp = isIE ? new ActiveXObject('Microsoft.XMLHTTP'):new XMLHttpRequest();

function ajaxRequest(pagename,poststring,method)
{
	if(ajaxlock == false)
	{	
		delete xmlhttp;
		xmlhttp = isIE ? new ActiveXObject('Microsoft.XMLHTTP'):new XMLHttpRequest();

		ajaxlock = true;
		page = pagename;
		post = poststring;
		if(page != "")
			$("waitingdiv").style.display = "";

		if(method == "GET")
			xmlhttp.open("GET",page+".html"+post);
		else
			xmlhttp.open("POST",page+".html");

		xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		xmlhttp.onreadystatechange = ajaxResponse;
		if(method != "GET")
			xmlhttp.send(post);
		else
			xmlhttp.send("");
	}
}

function ajaxResponse()
{
	if (xmlhttp.readyState == 4)
	{
		ajaxlock = false;
		if (xmlhttp.status == 200)
		{
			try
			{
				switch(page)
				{
					case 'admin_get_grouplist':	getgrouplist_result();break;
					case 'admin_reconnect_db':	window.location.reload();break;
					case 'admin_delete_group': Refresh();break;
				}
			}
			catch(e)
			{
				alert("<%=LANG['error_ajax']%>");
			}
			finally
			{
				$("waitingdiv").style.display = "none";
			}
		}
		else
		{
			$("waitingdiv").style.display = "none";
			alert("<%=LANG['error_ajax']%>");
		}
	}
}

function getgrouplist_req()
{
	ajaxRequest("admin_get_grouplist","domain="+domain+"&r=" + Math.random() );
}

function getgrouplistpage(page)
{
	ajaxRequest("admin_get_grouplist","domain="+domain+"&page="+page+"&r=" + Math.random() );
}

function getgrouplist_result()
{
	$("waitingdiv").style.display = "";
	try
	{
		var headcell = $("listhead").rows[0].cells;
		var htmltext = "<table id='listtable' width='100%' border='0' cellpadding='3' cellspacing='0' style='table-layout:fixed;'><thead><tr height='0'><td></td></tr></thead><tbody id='maintable'>";

		var groupArray = xmlhttp.responseText.split("\n");
		for(var i=0;i<groupArray.length;i++)
		{
			if(groupArray[i] != "" && groupArray[i] != " ")
			{
				var matched = false;
				var tempName = groupArray[i].toLowerCase();
				if(g_groupname.indexOf("*") != -1)
				{
					matched = true;
					var strArray = g_groupname.split("*");
					for(var k=0;k<strArray.length;k++)
					{
						if(trim(strArray[k]) != "" && tempName.indexOf(strArray[k]) == -1)
						{
							matched = false;
							break;
						}
					}
				}
				else
				{
					if(tempName.indexOf(g_groupname.toLowerCase()) != -1)
						matched = true;
				}
				
				if(matched == true)
					htmltext += "<tr class='listtr01' onmouseup='do_list_click(this);'><td myname='"+groupArray[i].toLowerCase()+"' realname='"+groupArray[i]+"'>"+groupArray[i]+"</td></tr>";
			}
		}
		htmltext += "</tbody></table>";
		clear("listview_div");
		write("listview_div",htmltext);
		selectedRow = null;
		lastsortcol = -1;
		nowrows = rownum;
	}
	catch(e){}
	sortTable(null, "listtable", 0, "myname");
	$("waitingdiv").style.display = "none";
	if(lastArrow != null)
		lastArrow.style.backgroundImage="";
}


function do_list_click(obj)
{
	var row_index = obj.rowIndex-1;
	if(selectedRow != $("maintable").rows[row_index])
	{
		if(lastObj != null)
			lastObj.className = "listtr01";

		selectedRow = $("maintable").rows[row_index];
		obj.className = "listtr02";
		lastObj = obj;
		try{
			lastObjIndex = parseInt(selectedRow.cells[0].innerHTML);
		}catch(e){
			lastObjIndex = -1;
		}
	}
	else
	{
		ModifyGroup();
	}

	return false;
}


function AddGroup()
{
	if((accessway == "2" || accessway == "3") && totalrecords == "-1" && totalpages == "-1")
	{
		alert("<%=LANG['str_datebase_error']%>");
		return;
	}

	var frametag = new Date().getTime();
	showMessagebox("<%=LANG['str_addgroup']%>","<iframe src='admin_addgroup_form2.html?domain="+domain+"&seeds=" + Math.random() +"' width=820 height=500 border=0 frameborder=0 id='add"+frametag+"'></iframe>",callback_return,820,500);
}

function callback_return(value)
{
	if(value != null)
	{
		Refresh();
	}
	return true;
}

function DeleteGroup()
{
	if(selectedRow == null)
	{
		alert("<%=LANG['str_nogroup_tip']%>");
		return;
	}

	if((accessway == "2" || accessway == "3") && totalrecords == "-1" && totalpages == "-1")
	{
		alert("<%=LANG['str_datebase_error']%>");
		return;
	}

	var groupname = selectedRow.cells[0].getAttribute("realname");
	if(confirm("<%=LANG['str_delgroup_tip']%>("+groupname+") ?"))
		ajaxRequest("admin_delete_group","domain="+domain+"&groupname="+groupname);
}

function ModifyGroup()
{
	if(selectedRow == null)
	{
		alert("<%=LANG['str_nogroup_tip']%>");
		return;
	}

	if((accessway == "2" || accessway == "3") && totalrecords == "-1" && totalpages == "-1")
	{
		alert("<%=LANG['str_datebase_error']%>");
		return;
	}

	var groupname = urlEncode(selectedRow.cells[0].getAttribute("realname"));
	var frametag = new Date().getTime();
	showMessagebox("<%=LANG['str_modifygroup']%>","<iframe src='admin_addgroup_form2.html?domain="+domain+"&groupname="+groupname+"&seeds=" + Math.random() +"' width=820 height=500 border=0 frameborder=0 id='modify"+frametag+"'></iframe>",callback_return,820,500);
}

function OpenGroup(value)
{	
	var groupname = urlEncode(value);

	if(groupname != "")
	{
		var frametag = new Date().getTime();
		showMessagebox("<%=LANG['str_modifygroup']%>","<iframe src='admin_addgroup_form2.html?domain="+domain+"&groupname="+groupname+"&seeds=" + Math.random() +"' width=820 height=500 border=0 frameborder=0 id='modify"+frametag+"'></iframe>",callback_return,820,500);
	}
}

function SearchGroup(value)
{
	if((accessway == "2" || accessway == "3") && totalrecords == "-1" && totalpages == "-1")
	{
		alert("<%=LANG['str_datebase_error']%>");
		window.location.reload();
		return;
	}

	if(value == null)
		value = trim($("searchword").value);

	g_groupname = value;

	if(accessway == "2" || accessway == "3")
		getgrouplistpage(nowpage);
	else
		getgrouplist_req();
}

function CopyGroup()
{
	if(selectedRow == null)
	{
		alert("<%=LANG['str_nogroup_tip']%>");
		return;
	}

	if((accessway == "2" || accessway == "3") && totalrecords == "-1" && totalpages == "-1")
	{
		alert("<%=LANG['str_datebase_error']%>");
		return;
	}

	var groupname = urlEncode(selectedRow.cells[0].getAttribute("realname"));
	var frametag = new Date().getTime();
	showMessagebox("<%=LANG['str_copygroup']%>","<iframe src='admin_copygroup_form.html?domain="+domain+"&groupname="+groupname+"&seeds=" + Math.random() +"' width=350 height=190 border=0 frameborder=0 id='modify"+frametag+"'></iframe>",CopyGroup_Return,350,190);
}

function CopyGroup_Return(value)
{
	if(value != null)
	{
		if(accessway == "2" || accessway == "3")
			setTimeout("getgrouplistpage(1)",100);
		else
			setTimeout("getgrouplist_req()",100);
		setTimeout("OpenGroup('"+value+"')",100);
	}
}

function Refresh()
{
	if((accessway == "2" || accessway == "3") && totalrecords == "-1" && totalpages == "-1")
	{
		alert("<%=LANG['str_datebase_error']%>");
		window.location.reload();
		return;
	}

	if(accessway == "2" || accessway == "3")
		getgrouplistpage(nowpage);
	else
		getgrouplist_req();
}

function Reconnect()
{
	ajaxRequest("admin_reconnect_db","domain="+domain);
}

</script>
</head>
<body style="background-color:#E6E6E6;" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">

<div id="waitingdiv" style="position:absolute; z-index:100; top:0px; left:0px; width:100%; height:100%; background:#777; filter:alpha(opacity=60); -moz-opacity: 0.60; opacity:0.60; display:none;" align="center">
<div style="position:absolute; top:20%; left:40%; width:250px; height:100px;"><img src="images/loading2.gif" border="0">
<H2><b><%=LANG["title_updating"]%></b></H2></div></div>

<div style="padding-top:2px; overflow-x:hidden;">
	<table width="100%" border="0" cellpadding="0" cellspacing="0" style="table-layout:fixed;">
	<tr>
	<td width="80%" style="padding-left:2px;">
		<button onclick="AddGroup();"><span><em><img src="images/ico_addgroup.png" align="absmiddle"> <%=LANG["button_addgroup"]%></em></span></button>
		<button onclick="ModifyGroup();"><span><em><img src="images/ico_modifygroup.png" align="absmiddle"> <%=LANG["button_modify"]%></em></span></button>
		<button onclick="DeleteGroup();"><span><em><img src="images/ico_deletegroup.png" align="absmiddle"> <%=LANG["button_delete"]%></em></span></button>
		<button onclick="CopyGroup();"><span><em><img src="images/ico_copygroup.png" align="absmiddle"> <%=LANG["button_copy"]%></em></span></button>
		<button onclick="Refresh();"><span><em><img src="images/ico_refresh.png" align="absmiddle"> <%=LANG["button_refresh"]%></em></span></button>
	</td>
	<td align="right" style="padding-right:10px;"><span><%=LANG["str_domain"]%>:<b><%=specialhtml_encode(unescape(_GET["domain"]))%></b></span>
	<%
		if totalrecords == -1 and totalpages == -1 then
			print("<b><font color='red'>("..LANG["str_datebase_error"]..")</font></b><button onclick='Reconnect();'><span><em>"..LANG["button_reconnect"].."</em></span></button>")
			print("<script>alert('"..LANG["str_datebase_error"].."');</script>")
		end
	%>	
	</td>
	</tr>
	</table>

</div>


<div style="background-color:#E6E6E6;">
	<div style="margin-top:3px; margin-left:5px; border:1px solid #919B9C; border-bottom:0px; width:98%;">
		<table id="listhead" width="100%" border="0" cellpadding="0" cellspacing="0" style="table-layout:fixed;">
			<tr style="background-color: #EFEFEF;">
			<td class="listhead" width="100%" onmouseover="className='listhead2';" onmouseout="className='listhead';" onmousedown="sortTable(this,'listtable', 0, 'myname')"><%=LANG["str_groupname"]%></td>
			</tr>
		</table>
	</div>
	<div id="listview_div" style="background-color:#FFF; margin-left:5px; border:1px solid #919B9C; border-top:0px; width:98%; height:430px; overflow:auto; overflow-x:hidden;">
		<table id="listtable" width="100%" border="0" cellpadding="2" cellspacing="0" style="table-layout:fixed;">
		<thead><tr height="0">
		<td width="100%"></td>
		</tr></thead>
		<tbody id="maintable">
		</tbody>
		</table>
	</div>
</div>

<div style="padding-left:5px;">
<input type='text' id='searchword' value='' onmouseover="this.focus();">&nbsp;<button onclick='SearchGroup();'><span><em><%=LANG["button_search"]%></em></span></button>

<% if accessway == 2 or accessway == 3 then %>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<button onclick='jumpprevious();'><span><em><%=LANG["button_previous_page"]%></em></span></button>&nbsp;
	<select id='page_selector' onchange="pagejump(this.value)">
		<script language="javascript">
			for(i=1;i<=totalpages;i++)
			{
				document.write("<option value='"+i+"'>"+i+"</option>");
			}
		</script>
	</select>
	&nbsp;<button onclick='jumpnext();'><span><em><%=LANG["button_next_page"]%></em></span></button>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<% end %>

<script language="javascript">
if(accessway == "2" || accessway == "3")
{
	pagejump(nowpage);
}
else
{
	getgrouplist_req();
}


function jumpprevious()
{
	page = nowpage-1;
	pagejump(page);
}

function jumpnext()
{
	page = nowpage+1;
	pagejump(page);
}

function pagejump(page)
{
	page = parseInt(page);
	if(page < 1)
		page = 1;
	if(page > totalpages)
		page = totalpages;
	nowpage = page;
	getgrouplistpage(nowpage);

	$("page_selector").value = nowpage;
}
</script>
</div>
</body>
</html>

<% 
else
	print("<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>")
	print("<script>alert('"..LANG["session_expire"].."');top.location='admin_login.html';</script>")
end 
%>

<noscript><center><H2><%=LANG["error_nojavascript"]%></H2></center></noscript>