<%@ Page CodeFileBaseClass="IlgharCMS.Lib.AdminPageBase" %>
<script language="c#" runat="server">
protected string Condition()
{
	StringBuilder condition = new StringBuilder();
	string and = String.Empty;

	#region 是否回收
	string isRecycled = Request.QueryString["IsRecycled"];
	if (isRecycled == null)
		condition.Append(Alias.Album.IsDeleted + "=false");
	else if (isRecycled != String.Empty)
		condition.Append(Alias.Album.IsDeleted + "=" + isRecycled);
	#endregion

	if (and == String.Empty && condition.Length != 0)
		and = " AND ";

	#region 是否审核
	string isChecked = Request.QueryString["IsChecked"];
	if (isChecked == null)
		condition.Append(and + Alias.Album.IsChecked + "=true");
	else if (isChecked != String.Empty)
		condition.Append(and + Alias.Album.IsChecked + "=" + isChecked);
	#endregion

	if (and == String.Empty && condition.Length != 0)
		and = " AND ";

	#region 是否推荐
	string isRecommended = Request.QueryString["IsRecommended"];
	if (!String.IsNullOrEmpty(isRecommended))
		condition.Append(and + Alias.Album.IsRecommended + "=" + isRecommended);
	#endregion

	if (and == String.Empty && condition.Length != 0)
		and = " AND ";

	#region 是否置顶
	string isHeld = Request.QueryString["IsHeld"];
	if (!String.IsNullOrEmpty(isHeld))
		condition.Append(and + Alias.Album.IsHeld + "=" + isHeld);
	#endregion

	if (and == String.Empty && condition.Length != 0)
		and = " AND ";

	#region 地区
	string regionID = Request.QueryString["RegionID"];
	if (!String.IsNullOrEmpty(regionID))
	{
		if (Convert.ToBoolean(Request.QueryString["IncludeSubRegion"]))
		{
			condition.Append(and + Alias.Album.IncludeSubRegion + "=" + regionID);
		}
		else
		{
			if (regionID == "0")
				condition.Append(and + Alias.Album.RegionID + " IS NULL");
			else
				condition.Append(and + Alias.Album.RegionID + "=" + regionID);
		}
	}
	#endregion

	if (and == String.Empty && condition.Length != 0)
		and = " AND ";

	#region 语言
	string languageID = Request.QueryString["LanguageID"];
	if (!String.IsNullOrEmpty(languageID))
	{
		if (languageID == "0")
			condition.Append(and + Alias.Album.LanguageID + " IS NULL");
		else
			condition.Append(and + Alias.Album.LanguageID + "=" + languageID);
	}
	#endregion

	if (and == String.Empty && condition.Length != 0)
		and = " AND ";

	#region 类别
	string categoryID = Request.QueryString["CategoryID"];
	if (!String.IsNullOrEmpty(categoryID))
	{
		if (Convert.ToBoolean(Request.QueryString["IncludeSubCategory"]))
		{
			condition.Append(and + Alias.Album.IncludeSubCategory + "=" + categoryID);
		}
		else
		{
			if (categoryID == "0")
				condition.Append(and + Alias.Album.CategoryID + " IS NULL");
			else
				condition.Append(and + Alias.Album.CategoryID + "=" + categoryID);
		}
	}
	#endregion

	if (and == String.Empty && condition.Length != 0)
		and = " AND ";

	#region 关键词
	string keyword = Request.QueryString["Keyword"];
	if (!String.IsNullOrEmpty(keyword))
	{
		switch (Request.QueryString["KeywordType"])
		{
			case "Name":
				condition.Append(and + Alias.Album.Name + " LIKE '%" + keyword + "%'");
				break;
			case "PersonName":
				condition.Append(and + Alias.Album.PersonNames + " LIKE '%" + keyword + "%'");
				break;
			case "TagName":
				condition.Append(and + Alias.Album.TagNames + " LIKE '%" + keyword + "%'");
				break;
		}
	}
	#endregion
	
	return condition.ToString();
}

protected string Sort()
{
	string sort = String.Empty;
	switch (Request.QueryString["Sort"])
	{
		case "1":
			sort = Alias.Album.UpdateTime + " DESC";
			break;
		case "2":
			sort = Alias.Album.UpdateTime + " ASC";
			break;
		case "3":
			sort = Alias.Album.HitCount + " DESC";
			break;
		case "4":
			sort = Alias.Album.HitCount + " ASC";
			break;
		case "5":
			sort = Alias.Album.Recommend + " DESC";
			break;
		case "6":
			sort = Alias.Album.Recommend + " ASC";
			break;
		case "7":
			sort = Alias.Album.Hold + " DESC";
			break;
		case "8":
			sort = Alias.Album.Hold + " ASC";
			break;
		case "9":
			sort = Alias.Album.InnerID + " DESC";
			break;
		case "10":
			sort = Alias.Album.InnerID + " ASC";
			break;
		case "11":
			sort = Alias.Album.Up + " DESC";
			break;
		case "12":
			sort = Alias.Album.Up + " ASC";
			break;
		case "13":
			sort = Alias.Album.Down + " DESC";
			break;
		case "14":
			sort = Alias.Album.Down + " ASC";
			break;
		default:
			sort = Alias.Album.UpdateTime + " DESC";
			break;
	}
	
	return sort;
}

protected bool Move
{
	get
	{
		if (Request.QueryString["Sort"] == "5" || Request.QueryString["Sort"] == "6")
			return Request.QueryString["IsRecommended"] == "true";
		else if (Request.QueryString["Sort"] == "7" || Request.QueryString["Sort"] == "8")
			return Request.QueryString["IsHeld"] == "true";
		else
			return false;
	}
}

protected bool ListByPicture
{
	get
	{
		if (Request.QueryString["ListByPicture"] != null)
			return Convert.ToBoolean(Request.QueryString["ListByPicture"]);
		else if (Request.Cookies["ListByPicture"] != null)
			return Convert.ToBoolean(Request.Cookies["ListByPicture"].Value);
		else
			return false;
	}
}
</script>
<ilghar:List ID="List" Object="Album" Page="PageNumber" PageSize="20" Condition="Condition()" Sort="Sort()" />
<%If ListByPicture%>
	<ilghar:List Object="Album" Source="List">
		<ilghar:Row MaxCol="4">
			<ul>
				<ilghar:Col MaxRecord="1">
					<ilghar:Record>
						<li>
							<a href="edit.aspx?Lang=<%=ContentLang%>&amp;ID=<%=InnerID%>"><img src="<%=Thumbnail%>" /></a>
							<div class="<%=ContentLang%>Font"><a href="edit.aspx?Lang=<%=ContentLang%>&amp;ID=<%=InnerID%>"><%=Name%></a><input type="checkbox" name="Sel" value="<%=InnerID%>" /></div>
						</li>
					</ilghar:Record>
				</ilghar:Col>
			</ul>
		</ilghar:Row>
	</ilghar:List>
<%Else%>
	<table border="0" cellpadding="4" cellspacing="1" class="ListTable">
		<thead>
			<tr>
				<th width="40">选择</th>
				<%If Move%>
					<th width="60">
						<%If Request.QueryString["IsRecommended"] == "true"%>
							移动推荐
						<%Else%>
							移动置顶
						<%EndIf%>
					</th>
				<%EndIf%>
				<th>名称</th>
				<th width="100">创建人</th>
				<th width="115">更新日期</th>
				<th width="40">人气</th>
				<th width="40">顶</th>
				<th width="40">踩</th>
			</tr>
		</thead>
		<tbody>
			<ilghar:List Object="Album" Source="List">
				<ilghar:Record>
					<tr id="Row<%=InnerID%>">
						<td><input type="checkbox" name="Sel" value="<%=InnerID%>" /></td>
						<%If Move%>
							<td><img name="<%=Name%>" sort="<%=InnerID%>" class="Move" src="<%=ImagePath%>move.gif" /></td>
						<%EndIf%>
						<td class="<%=ContentLang%>Font"><a href="edit.aspx?Lang=<%=ContentLang%>&amp;ID=<%=InnerID%>"><%=Name%></a></td>
						<td><%=Creator%></td>
						<td><%=UpdateTime%></td>
						<td><%=HitCount%></td>
						<td><%=Up%></td>
						<td><%=Down%></td>
					</tr>
				</ilghar:Record>
			</ilghar:List>
		</tbody>
	</table>
<%EndIf%>
<ilghar:Pagination Page="PageNumber" PageSize="20" RecordCount="List[RecordCount]">
	<div class="Pagination">
		<div class="Left">共 <%=RecordCount%> 条 当前显示第 <%=PageNumber%> 页 第 <%=RangeLower%>-<%=RangeUpper%> 条 </div>
		<div class="Right">
			<ilghar:FirstPage>
				<ilghar:Yes>
					<img src="<%=ImagePath%>pagination/first_page_off.gif"/>
					<img src="<%=ImagePath%>pagination/previous_page_off.gif"/>
				</ilghar:Yes>
				<ilghar:No>
					<a href="javascript:Go(1)"><img src="<%=ImagePath%>pagination/first_page_on.gif"/></a>
					<a href="javascript:Go(<%=PageNumber%> - 1)" id="PrevPage"><img src="<%=ImagePath%>pagination/previous_page_on.gif"/></a>
				</ilghar:No>
			</ilghar:FirstPage>
			<ilghar:CurrentPage Range="5">
				<ilghar:Yes>
					<span class="Current"><%=Index%></span>						
				</ilghar:Yes>
				<ilghar:No>
					<a href="javascript:Go(<%=Index%>)">[<%=Index%>]</a>
				</ilghar:No>
			</ilghar:CurrentPage>
			<ilghar:LastPage>
				<ilghar:Yes>
					<img src="<%=ImagePath%>pagination/next_page_off.gif"/>
					<img src="<%=ImagePath%>pagination/last_page_off.gif"/>
				</ilghar:Yes>
				<ilghar:No>
					<a href="javascript:Go(<%=PageNumber%> + 1)" id="NextPage"><img src="<%=ImagePath%>pagination/next_page_on.gif"/></a>
					<a href="javascript:Go(<%=PageCount%>)"><img src="<%=ImagePath%>pagination/last_page_on.gif"/></a>
				</ilghar:No>
			</ilghar:LastPage>
		</div>
	</div>
</ilghar:Pagination>