// 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");
					}
					
				}
			}
		);
	},
	
	getSubList : function(alias, 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=" + alias;
		//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("<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 _themepath 	= getValue(rows[i], "themepath");
						
						//var td = c$("td");
						
						var css = "subSubmenu_unselItem";

						var url = "#";
						
						if(parseInt(_url) == 1 &&  _themepath.length > 0) {
							_url = _themepath + "?alias=" + _alias + "&palias=" + palias;				
						} else {
						
							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("");
				}
			}
		);		
		
	},
	
	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 _themepath = getValue(rows[i], "themepath");
			
			//var td = c$("td");
			
			var css = "submenu_unselItem";
			if(_alias == this.alias) {
				css = "submenu_selItem";
				if($("titlePanel")) $("titlePanel").innerHTML = _title;
			}

			var url = "#";
			
			if(parseInt(_url) == 1 &&  _themepath.length > 0) {
				_url = _themepath + "?alias=" + _alias + "&palias=" + palias;				
			} else {
			
				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 loadCatalogNameByAlias(panelid, alias) {
	var url = CONTEXT_PATH + "getXML?object=Catalog"
		+ "&action=getDetail"
		+ "&alias=" + alias;

	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) return ;
				
				if($(panelid)) $(panelid).innerHTML = getValue(rows[0],"name");
			}
		}
	);	
	
}

