<%
include("language.html")
if _SESSION["logined"] ~= nil then
%>
<!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>ssh key 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:11px/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:22px;
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{
padding-left:14px;
background:url("images/button_left.gif") no-repeat 0 0;
}
button em{
font-style:normal;padding-right:14px;
background:url("images/button.gif") no-repeat 100% 0;
}
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;
}


.listhead
{
		border-top: 1px solid white; border-right: 1px solid #ACA899; border-left: 1px solid white; border-bottom: 3px solid #CBC7B8;
		font: 12px/22px arial; cursor: hand; text-align: center; background-color: #EBEADB; overflow:hidden; height:18px;
}

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

.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>

<script language="javascript" src="include/common.js"></script>
<script language="javascript">
var nowrows = 0;
var ajaxlock = false;
var selectedRow = null;
var lastObj = null;
var lastObjIndex = -1;

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_keylist':	getlist_result();break;
					case 'admin_delete_key':	getlist_req();break;
				}
			}
			catch(e)
			{
				alert("<%=LANG['error_ajax']%>");
			}
			finally
			{
				$("waitingdiv").style.display = "none";
			}
		}
		else
		{
			$("waitingdiv").style.display = "none";
			alert("<%=LANG['error_ajax']%>");
		}
	}
}

function getlist_req()
{
	ajaxRequest("admin_get_keylist", "r=" + Math.random());
}

function getlist_result()
{
	$("waitingdiv").style.display = "";
	try
	{
		var xmldoc = xmlhttp.responseXML;
		var row = xmldoc.getElementsByTagName("keylist");
		var rownum = row.length;

		var htmltext = "<table id='listtable' width='100%' border='0' cellpadding='2' cellspacing='0' style='table-layout:fixed;'><thead><tr height='0'><td width='70%'></td><td width='30%'></td></tr></thead><tbody id='maintable'>";

		for(var i=0; i < rownum; i++)
		{
			var myrow = row[i];
			var f_name = xmlFieldValue(myrow,"name");
			var f_state = xmlFieldValue(myrow,"state");
			htmltext += "<tr class='listtr01' onclick='do_list_click(this);'><td>"+f_name+"</td><td><img src='images/"+f_state+".gif'></td></tr>";
		}
		htmltext += "</tbody></table>";
		clear("listview_div");
		write("listview_div",htmltext);
		selectedRow = null;
		lastsortcol = -1;
		nowrows = rownum;
		if(lastObjIndex >= 0)
		{
			for(var i=0; i < rownum; i++)
			{
				var tempID = parseInt($("maintable").rows[i].cells[0].innerHTML);
				if(tempID == lastObjIndex)
				{
					$("maintable").rows[i].className = "listtr02";
					lastObj = $("maintable").rows[i];
					selectedRow = lastObj;
				}
			}
		}
	}
	catch(e){}
	$("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
	{
		ModifySSHKey();
	}

	return false;
}


function AddSSHKey()
{
	var frametag = new Date().getTime();
	showMessagebox("<%=LANG['str_addsshkey']%>","<iframe src='admin_addkey_form.html?seeds=" + Math.random() +"' width=480 height=350 border=0 frameborder=0 id='add"+frametag+"'></iframe>",callback_return,480,350);
}

function callback_return(value)
{
	if(value != null)
	{
		setTimeout("getlist_req()",100);
	}
	return true;
}

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

	var name = selectedRow.cells[0].innerHTML;
	if(confirm("<%=LANG['str_delsshkey_tip']%>("+name+")?"))
		ajaxRequest("admin_delete_key","name="+name+"&r=" + Math.random());
}

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

	var name = urlEncode(selectedRow.cells[0].innerHTML);
	var frametag = new Date().getTime();
	showMessagebox("<%=LANG['str_modifysshkey']%>","<iframe src='admin_addkey_form.html?name="+name+"&seeds=" + Math.random() +"' width=480 height=350 border=0 frameborder=0 id='modify"+frametag+"'></iframe>",callback_return,480,350);
}

function Refresh()
{
	getlist_req();
}
</script>
</head>
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" style="background-color:#E7E6DA;">

<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="width:100%; padding-top:2px; overflow-x:hidden; padding-left:4px;">
	<table width="100%" border="0" cellpadding="0" cellspacing="0">
	<tr>
	<td>
		<button onclick="AddSSHKey();"><span><em><%=LANG["button_addsshkey"]%></em></span></button><button onclick="ModifySSHKey();"><span><em><%=LANG["button_modify"]%></em></span></button><button onclick="DeleteSSHKey();"><span><em><%=LANG["button_delete"]%></em></span></button><button onclick="Refresh();"><span><em><%=LANG["button_refresh"]%></em></span></button>
	</td>
	</tr>

	<tr>
	<td>
	<table width="550" border="0" cellpadding="0" cellspacing="0" style="border:1px solid #919B9C;">
		<tr>
		<td class="listhead" width="70%" onmouseover="className='listhead2';" onmouseout="className='listhead';" onmousedown="sortTable(this,'listtable', 0)"><%=LANG["title_name"]%></td>
		<td class="listhead" width="30%" onmouseover="className='listhead2';" onmouseout="className='listhead';" onmousedown="sortTable(this,'listtable', 1)"><%=LANG["title_valid"]%></td>
		</tr>
		<tr>
		<td colspan="2">
		<div id="listview_div" style="height:400px; width:100%; background-color:#FFF; overflow:auto; overflow-x:hidden;">
		<table id="listtable" width="100%" border="0" cellpadding="2" cellspacing="0" style="table-layout:fixed;"></table>
		</div>
		</td></tr>
	</table>
	</td></tr>

	</table>
</div>


<script language="javascript">
	getlist_req();
</script>
</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>