(function($){
	var Point = function(){
		var args = arguments;
		var point = {
			x : 0,
			y : 0,
			z : 0
		}
		if((typeof args[0]) == 'string'){
			var _tmp = String(args[0]).split(',');
			point.x = _tmp[0];
			point.y = _tmp[1];
			point.z = _tmp[2];
		}
		this.toOn = function(){
			return (point.x+'px '+point.y+'px')
		}
		this.toUn = function(){
			return (point.z+'px '+point.y+'px')
		}
	}
	$.fn.Navigation = function(){
		var _this   = this;
		var _type   = _this.attr('Navigation');
		//var _callback = eval('function(e){'+_this.attr('callback')+'}');
		var _callback = function(e){
			eval(_this.attr('callback'));
		}
		var _sel  = String(location).replace(/(.*\/){0,}([^\.]+)(.*)/ig,"$2").toUpperCase();
		var _title = document.title;
		$.ajax({
			dataType:"xml",
			type: "GET",
			cache:false,
			url:'sitemap.xml',
			success:function(data, textStatus){
				var _obj   = $('<ul/>').appendTo(_this);
				var _items = [];
				$('siteMap>siteMapNode',data).each(function(i,n){
					var _item = $(this);
					var _select = _item.attr('select');
					var _flag = new RegExp(_sel,"ig").test(_select.toUpperCase());
					if(!eval(_item.attr('hide'))){
					var _tmp  = [];
					_tmp.push('<li');
					var _point = _item.attr('point');
					var pit = new Point(_point);
					if(_point && !_flag){
						_tmp.push(' style="background-position:'+pit.toOn()+'"');
					}else{
						_tmp.push(' style="background-position:'+pit.toUn()+'"');
						document.title = _title+' >> '+_item.attr('description');
					}
					_tmp.push('>');
					_tmp.push('<a href="'+_item.attr('url')+'" ');
					_tmp.push('title="'+_item.attr('description')+'" ');
					_tmp.push('></a>');
					_tmp.push('</li>');
					
					var _tmp =$(_tmp.join('')).hover(function(){
						$(this).css({backgroundPosition:pit.toUn()});
					},function(){
						Position = _flag?pit.toUn():pit.toOn();
						$(this).css({backgroundPosition:Position});
					});
					//_tmp.push(addNavigation(i,n));
					_obj.append(_tmp);
					}
					var param = _item.attr('callback');
					if($.isFunction(_callback)&&param&&_flag)
						_callback.apply(_item,[param]);
				});
			},
			error: function(){alert("Error");}
		}); 
		function addNavigation(i,n){
			//$('>siteMapNode',n).size()
			alert(i+' '+$('>siteMapNode',n).size())
			return '';
		}
	}
	$(function(){
		$('div[@Navigation]').Navigation();
		$('#Company1>div[@class="corner"]').layout();
		$('[@xml]').TreeMenuXML();
    });
	$.fn.layout = function(){
		var _heights = [];
		this.each(function(i,n){
			_heights.push($(this).height());
		});
		var _max = Math.max(_heights[0],_heights[1]);
		//alert(_heights+' '+_max)
		if($.browser.msie && $.browser.version=="6.0"){
			this.height(_max);
			this.find('#TreeMenu').height(_max-143);
		}else{
			this.css({minHeight:_max});
			this.find('#TreeMenu').css({minHeight:_max-143});
		}
		
	}
	$.fn.TreeMenuXML = function(){
		var _this = this;
		var _xml  = this.attr('xml');
		if(!_xml){
			delete _this;
			delete _xml;
			return ;
		}
		var _url  = 'xml/'+_xml+'.xml';
		var _target=$(this.attr('target1'));
		var target= $(this.attr('target'));
		var _sel  = location.search.replace(/\?.+\=/,'');
		var _flag = !_sel;
		var Template = this.html().replace(/(^\s*)|(\s*$)/g,'');
		this.empty();
		function RegEx(value){
			return new RegExp("([$]"+value+")",["ig"]);
		}
		var _objs = {
			a1:$('#Company1').find('div[@layout]'),
			a2:$('.rounded,.rounded5px'),
			a3:$(".corner5px").corner("5px"),
			a4:$(".corner,.corner5px8px")
		};
		$.ajax({
			dataType:"xml",
			type: "GET",
			cache:false,
			url:'ajax/TreeMenu.asp',
			data:{action:_xml,url:_url},
			success:function(data, textStatus){
				$('item',data).each(function(i,n){
					var _item = $(this);
					var _id   = _item.attr('id');
					var _name = _item.attr('name');
					var _cont = _item.attr('content');
					_tmp = $(Template.replace(RegEx('ID'),_id).replace(RegEx('NAME'),_name));
					if(_sel==_id || _flag){
						_target.html(_name);
						target.html(_cont);
						_flag = false;
					}
					_tmp.find('a').unbind().bind('click',function(){
						_objs.a1.css({minHeight:'',height:''});
						_objs.a1.find('#TreeMenu').css({minHeight:'',height:''});
						_target.html(_name);
						target.empty().html(_cont);
						_objs.a1.layout();
						_objs.a2.corners();
						_objs.a3.corner("5px");
						_objs.a4.corner("8px");
						if($.browser.msie && $.browser.version=="6.0") CollectGarbage();
						return false;
					});
					_this.append(_tmp);
				});
			},
			complete : function(){
				_objs.a1.layout();
				_objs.a2.corners();
				_objs.a3.corner("5px");
				_objs.a4.corner("8px");
				delete _this;
				delete _xml;
				delete _url;
				delete target;
				delete _sel;
				delete _flag;
				delete Template;
				CollectGarbage();
			},
			error: function(){alert("Error");}
		}); 
	}
})(jQuery);