// JavaScript Document
var Catalog = Class.create();

Catalog.prototype = {
	id 			: "",
	name 		: "",
	brief 		: "",
	ordernum 	: "",
	pid 		: "",
	type 		: "",
	city_id 	: "",
	city_name 	: "",
	sysdefault 	: "",
	alias 		: "",
	setAlias : function(s) {	this.alias = s;	},
	getAlias : function()  {	return alias;	},
	
	containerId	: "list",
	setContainerId : function(s) {	this.containerId = s;	},
	getContainerId : function()  {	return containerId;	},
	
	//构造方法
	initialize: function(){
		if(arguments.length > 0) {
			this.loadByAlias(arguments[0]);
		}
	},
	
	loadByAlias : function(alias) {
		var url = CONTEXT_PATH + "getXML?object=Catalog&action=getDetail&alias=" + alias;
		
		
		var parent = this;
		var ajaxObj = new Ajax.Request(
			url,
			{
				method : 'get',
				asynchronous : false,
				onComplete : function(resp) {
					//获取XML数据
					var data = resp.responseXML;
					
					//获取链接结点数组
					var rows = data.getElementsByTagName("row");
				
					if(rows.length > 0) {
						
						parent.id 			= getValue(rows[0],"id");
						parent.name		 	= getValue(rows[0],"name");
						parent.brief 		= getValue(rows[0],"brief");
						parent.ordernum 	= getValue(rows[0],"ordernum");
						parent.pid 			= getValue(rows[0],"pid");
						parent.type 		= getValue(rows[0],"type");
						parent.city_id 		= getValue(rows[0],"city_id");
						parent.city_name 	= getValue(rows[0],"city_name");
						parent.sysdefault  	= getValue(rows[0],"sysdefault");
						parent.alias 		= getValue(rows[0],"alias");
					}
					
				}
			}
		);
	},
	
	getList : function(palias) {
		
		var container = $(this.containerId);
		
		if(!container) {
			alert("Catalog -> getList error: container [" + this.containerId + "] 未定义。");
			return ;
		}
		
		loading(this.containerId);
		
		var url = CONTEXT_PATH + "getXML?object=Catalog"
			+ "&action=getList"
			+ "&alias=" + palias;
		//alert(url);
		var parent = this;
		
		var ajaxObj = new Ajax.Request(
			url,
			{
				method : 'get',
				onComplete : function(resp) {
					parent.renderList(resp,palias);
				}
			}
		);	
	},
	
	renderList : function(resp, palias) {
		
		var container = $(this.containerId);
		
		if(!container) {
			alert("Catalog -> renderList error: container [" + this.containerId + "] 未定义。");
			return ;
		}		
		
		//获取XML数据
		var data = resp.responseXML;
		
		//获取链接结点数组
		var rows = data.getElementsByTagName("row");
		
		if(rows.length == 0) {
			container.innerHTML = "";
			return ;
		}

		var buf = new Array();
		buf.push("<table width='100%' border='0' cellspacing='0' cellpadding='0' >");
		
		//循环显示每条记录
		for(var i=0 ; i<rows.length ; i++) {
			//var tr = c$("tr");
			
			var _type	= parseInt(getValue(rows[i], "type"));
			var _title	= getValue(rows[i], "name");
			var _url	= getValue(rows[i], "url");
			var _alias	= getValue(rows[i], "alias");
			
			//var td = c$("td");
			
			var css = "submenu_unselItem";
			if(_alias == this.alias) css = "submenu_selItem";

			var url = "#";
			
			switch(_type) {
				case 1: 
					_url = "static.jsp?alias=" + _alias + "&palias=" + palias;
					break;
				case 2:
				case 3:
					_url = "docList.jsp?alias=" + _alias + "&palias=" + palias;
					break;
				case 7:
					_url = CONTEXT_PATH + "PageController?alias=" + _alias + "&palias=" + palias;
					break;
				case 8:
					_url += "?alias=" + _alias + "&palias=" + palias;
					break;
			}

			buf.push("<tr><td class='" + css + "'><a href='" + _url + "'>" + _title + "</a></td></tr>");
		}
		buf.push("</table>");
		
		container.innerHTML = buf.join("");
		//container.appendChild(table);
		//container.innerHTML = container.innerHTML;
		
	},
	
	getListByAliases : function(aliases) {
		
		var url = CONTEXT_PATH + "getXML?object=Catalog"
			+ "&action=getListByAliases"
			+ "&alias=" + aliases;
			
		var parent = this;
		
		var ajaxObj = new Ajax.Request(
			url,
			{
				method : 'get',
				onComplete : function(resp) {
					parent.renderListByAliases(resp);
				}
			}
		);	
	},
	renderListByAliases : function(resp) {

		//获取XML数据
		var data = resp.responseXML;
		
		//获取链接结点数组
		var rows = data.getElementsByTagName("row");
		
		if(rows.length == 0) return ;
		
		//循环显示每条记录
		for(var i=0 ; i<rows.length ; i++) {
			var alias	= getValue(rows[i],"alias");
			var name 	= getValue(rows[i],"name");
			
			var obj = $("title_" + alias)
			if(obj) obj.innerHTML = name;				
			
		}
	}	
};


function getSubList(palias, containerId) {
	
	var container = $(containerId);
	
	if(!container) {
		alert("Catalog -> getList error: container [" + containerId + "] 未定义。");
		return ;
	}
	
	loading(containerId);
	
	var url = CONTEXT_PATH + "getXML?object=Catalog"
		+ "&action=getList"
		+ "&alias=" + palias;
	//alert(url);
	var parent = this;
	
	var ajaxObj = new Ajax.Request(
		url,
		{
			method : 'get',
			onComplete : function(resp) {
				//获取XML数据
				var data = resp.responseXML;
				
				//获取链接结点数组
				var rows = data.getElementsByTagName("row");
				
				if(rows.length == 0) {
					container.innerHTML = "";
					return ;
				}
			
				var buf = new Array();
				
				buf.push("|");
				//循环显示每条记录
				for(var i=0 ; i<rows.length ; i++) {
					//var tr = c$("tr");
					
					var _type	= parseInt(getValue(rows[i], "type"));
					var _title	= getValue(rows[i], "name");
					var _url	= getValue(rows[i], "url");
					var _alias	= getValue(rows[i], "alias");
					
					switch(_type) {
						case 1: 
							_url = "static.jsp?";
							break;
						case 2:
						case 3:
							_url = "docList.jsp?";
							break;
						case 7:
							_url = CONTEXT_PATH + "PageController?";
							break;
					}					
					
					_url += "&alias=" + __alias + "&palias=" + __palias + "&subalias=" + _alias;
					
					if(_alias == __subalias) {
						buf.push("&nbsp;<strong>" + _title + "</strong>&nbsp;|");
					} else {
						var url = 
						buf.push("&nbsp;<a href='" + _url + "'>" + _title + "</a>&nbsp;|");
					}
				}
			
				container.innerHTML = buf.join("");
			}
		}
	);	
}


