	var floatPagesAttr = new Array();
	var contentPagesAttr = new Array();
	var commonPagesAttr = new Array();//公共框架属性
	var _switchObjects = new Array();
	
	var _marqueeObjects = new Array(); //滚动属性对象数组
	var _adjustSeparatorLineObjects = new Array();//分隔线属性对象
	/*
	 * _marqueeObjects 与 _adjustSeparatorLineObjects 数组
	 * 选项样式框架 和 菜单样式框架 事件会不断循环查看 register 属性，如果为 "false" 表示未注册过，已注册过的不再重复注册
	 */
	
	var pageHeight = 0;
	
	var headerHeight = 0;
	var headerMarginTop = 0;
	var footerHeight = 0;
	var footerMarginTop = 0;
	
	function setPageHeight(){
		var _height = pageHeight;
		
		if($("mainBlock").style.display!="none"){
			var mainBlockHeight = $("mainBlock").offsetTop + $("mainBlock").offsetHeight;
			if(mainBlockHeight>_height) 
				_height = mainBlockHeight;
		}
		
		$("page").style.height = (_height
								+headerHeight+headerMarginTop
								+footerHeight+footerMarginTop
								)+"px";
		
		$("page_div").style.top = (headerHeight+headerMarginTop)+"px";
							
		if($("footer_div")!=undefined)
			$("footer_div").style.top = (_height
								+headerHeight+headerMarginTop
								+footerMarginTop
								)+"px";
		
	}
	function documentReady(){
		if(document.readyState != "complete")
			setTimeout("documentReady()", 100); 
		else
			doReady();
	}
	function initAstBlocksForContent(AstAssisId,blockId){
		//$("contentPage_"+AstAssisId).innerHTML = $("contentPage_"+AstAssisId+"_fake").innerHTML;
		//$("contentPage_"+AstAssisId+"_fake").innerHTML = "";
		
		//用移动dom的方法可以
		
		var node = $("contentPage_"+AstAssisId);
		var refNode = $("contentPage_"+AstAssisId+"_fake");
		
		//refNode.childNodes.length 是动态的
		while (refNode.childNodes.length > 0){
			node.appendChild(refNode.firstChild);
		}
		
		var _obj = getContentPagesAttrObj(AstAssisId);
		$(blockId + "_content_table").rows[0].cells[0].width = _obj.width;
		$(blockId + "_content_table").rows[0].cells[0].height = _obj.height;
	}
	function getContentPagesAttrObj(_page){
		for(var i=0;i<contentPagesAttr.length;i++)
			if(contentPagesAttr[i].page == _page)
				return contentPagesAttr[i];
		return null; 
	}
	//初始公共框架
	function initCommonBlocksForContent(commonId,blockId){
		
		var node = $("contentPage_"+commonId);
		var refNode = $("contentPage_"+commonId+"_fake");
		
		//refNode.childNodes.length 是动态的
		while (refNode.childNodes.length > 0){
			node.appendChild(refNode.firstChild);
		}
		
		var _obj = getCommonPagesAttrObj(commonId);
		if(_obj){
			$(blockId + "_content_table").rows[0].cells[0].width = _obj.width;
			$(blockId + "_content_table").rows[0].cells[0].height = _obj.height;
		}
		
	}
	//取得公共框架属性
	function getCommonPagesAttrObj(_page){
		for(var i=0;i<commonPagesAttr.length;i++)
			if(commonPagesAttr[i].page == _page)
				return commonPagesAttr[i];
		return null; 
	}
	
	//注册所有滚动事件  如果没有注册 即 register == "false" 就注册
	function registerAll_MarqueeEvent(){
		for( var i = 0 ; i < _marqueeObjects.length ; i++ ){
			var obj = _marqueeObjects[i];
			if( obj.register == "false" ){
				var panelObj = dojo.byId( obj.blockId + "_content_panel" );
				//通过 offsetXXX 是否为 0 判断是否注册
				if( panelObj.offsetWidth != 0 || panelObj.offsetHeight != 0 ){
					var speed = countDuration( obj.blockId, obj.type, obj.direction, obj.speed );
					var marqueeObject = eval("new "+obj.marqueeClass+"( obj.blockId, speed )");
					marqueeObject.start();
					obj.register = "true";		
				}
			}
		}//for 循环结束
	}
	
	//注册所有分隔线调整事件 如果没有注册 即 register == "false" 就注册
	function registerAll_adjustSeparatorLine(){
		for( var i = 0 ; i <_adjustSeparatorLineObjects.length ; i++ ){
			var obj = _adjustSeparatorLineObjects[i];	
			if(obj.register == "false"){
				var panelObj = dojo.byId(obj.blockId + "_content_panel");
				//通过 offsetXXX 是否为 0 判断是否注册
				if( panelObj.offsetWidth != 0 || panelObj.offsetHeight != 0 ){
					adjustSeparatorLine(obj.blockId,obj.json);
					obj.register = "true";
				}
			}
		}//for 循环结束
	}
	
	
	function createSeparatorLine(type,obj,sepLineJSON){
		
		if(sepLineJSON[type].value == 0
		|| sepLineJSON[type].lineStyle.type == "none")
			return;
		
		var sl = document.createElement('div');
		//sl.style.position = "absolute";
		sl.style.position = "relative";
		sl.style.margin = "0px";
		sl.style.padding = "0px";
		sl.style.overflow = "hidden";
		if(type == "horizontal"){
			
			var size = obj.offsetHeight;
			//var _left = obj.offsetLeft;
			//var _top = obj.offsetTop;
			
			
			sl.style.width = "0px";
			//sl.style.left = (_left+parseInt(parseInt(sepLineJSON[type].value)/2))+"px";
			//sl.style.top = (_top+ parseInt(sepLineJSON[type].lineIndent.previous))+"px";
			sl.style.left = parseInt(parseInt(sepLineJSON[type].value)/2)+"px";
			sl.style.top = parseInt(sepLineJSON[type].lineIndent.previous)+"px";
			sl.style.height = (size - parseInt(sepLineJSON[type].lineIndent.back) - parseInt(sepLineJSON[type].lineIndent.previous))+"px";
			
			if(sepLineJSON[type].lineStyle.type == "double"){
				sl.style.borderLeftWidth = "1px";
				sl.style.borderLeftStyle = "solid";
				sl.style.borderLeftColor = sepLineJSON[type].lineStyle.color;
				sl.style.borderRightWidth = "1px";
				sl.style.borderRightStyle = "solid"
				sl.style.borderRightColor = sepLineJSON[type].lineStyle.color2;
			}
			else{
				sl.style.borderLeftWidth = "1px";
				sl.style.borderLeftStyle = sepLineJSON[type].lineStyle.type;
				sl.style.borderLeftColor = sepLineJSON[type].lineStyle.color;
				sl.style.borderRightWidth = "0px";
				sl.style.borderRightStyle = sepLineJSON[type].lineStyle.type;
				sl.style.borderRightColor = sepLineJSON[type].lineStyle.color2;
			}
		}
		else
		if(type == "vertical"){
			
			var size = obj.offsetWidth;
			
			//alert(size);
			//var _left = obj.offsetLeft;
			//var _top = obj.offsetTop;
			
			sl.style.height = "0px";
			//sl.style.top = (_top+ parseInt(parseInt(sepLineJSON[type].value)/2))+"px";
			//sl.style.left = (_left+parseInt(sepLineJSON[type].lineIndent.previous))+"px";
			sl.style.top = parseInt(parseInt(sepLineJSON[type].value)/2)+"px";
			sl.style.left = parseInt(sepLineJSON[type].lineIndent.previous)+"px";
			sl.style.width = (size - parseInt(sepLineJSON[type].lineIndent.back) - parseInt(sepLineJSON[type].lineIndent.previous))+"px";
			
			if(sepLineJSON[type].lineStyle.type == "double"){
				sl.style.borderTopWidth = "1px";
				sl.style.borderTopStyle = "solid";
				sl.style.borderTopColor = sepLineJSON[type].lineStyle.color;
				sl.style.borderBottomWidth = "1px";
				sl.style.borderBottomStyle = "solid"
				sl.style.borderBottomColor = sepLineJSON[type].lineStyle.color2;
			}
			else{
				sl.style.borderTopWidth = "1px";
				sl.style.borderTopStyle = sepLineJSON[type].lineStyle.type;
				sl.style.borderTopColor = sepLineJSON[type].lineStyle.color;
				sl.style.borderBottomWidth = "0px";
				sl.style.borderBottomStyle = sepLineJSON[type].lineStyle.type;
				sl.style.borderBottomColor = sepLineJSON[type].lineStyle.color2;
			}
		}
		
		obj.appendChild(sl);
	}
	
	
	
	
	function adjustSeparatorLine(blockId,sepLineJSON){
		
		var tableObj = $(blockId+"_content_table");
		for(var i=0;i<tableObj.rows.length;i++){
			for(var j=0;j<tableObj.rows[i].cells.length;j++){
				if(tableObj.rows[i].cells[j].getAttribute("separatorLine") == "horizontal"){
					createSeparatorLine("horizontal",tableObj.rows[i].cells[j],sepLineJSON);
				}else
				if(tableObj.rows[i].cells[j].getAttribute("separatorLine") == "vertical"){
					createSeparatorLine("vertical",tableObj.rows[i].cells[j],sepLineJSON);
				}
			}
		}
		
	}
	function registerTabbedEventForShow(blockId,tabId,tabIds,tabSwitchMode){

		dojo.connect($(blockId+"_"+tabId+"_self_tab_li"), "mouseover" , tabId ,function(event){
			
			if(tabSwitchMode == "mouseOver"){
	  			setTabbedCurrentTabForShow(blockId,tabId,tabIds);
			}
		});
		
		dojo.connect($(blockId+"_"+tabId+"_self_tab_li"), "click" , tabId ,function(event){
			if(tabSwitchMode == "mouseClick"){
	  			setTabbedCurrentTabForShow(blockId,tabId,tabIds);
			}
		});
		
	}
	
	function setTabbedCurrentTabForShow(blockId,tabId,tabIds){
	
	
		for(var j=0;j<tabIds.length;j++){
			$(blockId+"_"+tabIds[j]+"_self_tab_normal").style.display = "block";
 			$(blockId+"_"+tabIds[j]+"_self_tab_active").style.display = "none";
 			if($(blockId+"_"+tabIds[j]+"_content_panel") !=undefined)
 				$(blockId+"_"+tabIds[j]+"_content_panel").style.display = "none";
 			if($(blockId+"_"+tabIds[j]+"_content_more") !=undefined)
 				$(blockId+"_"+tabIds[j]+"_content_more").style.display = "none";
		}
		$(blockId+"_"+tabId+"_self_tab_normal").style.display = "none";
 		$(blockId+"_"+tabId+"_self_tab_active").style.display = "block";
 		if($(blockId+"_"+tabId+"_content_panel") !=undefined)
 			$(blockId+"_"+tabId+"_content_panel").style.display = "block";
 		if($(blockId+"_"+tabId+"_content_more") !=undefined)
 			$(blockId+"_"+tabId+"_content_more").style.display = "block";
 			
 			
 			
 		
		//滚动和分隔线 根据标志值 动作
		registerAll_MarqueeEvent();
		registerAll_adjustSeparatorLine();
		
	}
	function registerMenuEventForShow(blockId,tabId,tabIds,tabSwitchSpeed,menuHeight,contentHeight,MenuItem_Height,MenusUl_Separator_Width){
		dojo.connect($(blockId+"_"+tabId+"_self_tab_li"), "click" , tabId ,function(event){
  			moveMenuCurrentTabForShow(blockId,tabId,tabIds,tabSwitchSpeed,menuHeight,contentHeight,MenuItem_Height,MenusUl_Separator_Width);	
		});
	}
	function moveMenuCurrentTabForShow(blockId,tabId,tabIds,tabSwitchSpeed,menuHeight,contentHeight,MenuItem_Height,MenusUl_Separator_Width){
		
		var currentTabId = null;
		for(var i=0;i<menuCurrentTabIds.length;i++)
			if(menuCurrentTabIds[i].blockId == blockId){
				currentTabId = menuCurrentTabIds[i].tabId;
				break;
			}
		
		if(currentTabId == tabId)
			return;

		if(menuHeight - (parseInt(MenuItem_Height)+parseInt(MenusUl_Separator_Width))*tabIds.length <=0)
			return;
		
		var tabIndex = -1;	
		for(var i=0;i<tabIds.length;i++)
			if(tabIds[i] == tabId){
				tabIndex = i;
				break;
			}
			
		var currentTabIndex = -1;	
		for(var i=0;i<tabIds.length;i++)
			if(tabIds[i] == currentTabId){
				currentTabIndex = i;
				break;
			}
		
		$(blockId+"_content").style.visibility = "hidden";
				
		$(blockId+"_"+currentTabId+"_self_tab_normal").style.display = 'block';
		$(blockId+"_"+currentTabId+"_self_tab_active").style.display = 'none';
		
		$(blockId+"_"+tabId+"_self_tab_normal").style.display = 'none';
		$(blockId+"_"+tabId+"_self_tab_active").style.display = 'block';
		
		
		
		var slideTos = new Array();
		if(tabIndex<currentTabIndex){//向下移动
			
			var normTop = parseInt(menuHeight) - (parseInt(MenuItem_Height)+MenusUl_Separator_Width)*(tabIds.length -currentTabIndex -1);
			for(var i=currentTabIndex;i>tabIndex;i--){
				if(MenusUl_Separator_Width>0){
					normTop -= MenusUl_Separator_Width;
					var slideTo = dojo.fx.slideTo({node: blockId+"_"+tabIds[i]+"_self_tab_sep",duration: tabSwitchSpeed, left: 0, top: normTop});
					slideTos.push(slideTo);
				}
				normTop -= parseInt(MenuItem_Height);
				var slideTo = dojo.fx.slideTo({node: blockId+"_"+tabIds[i]+"_self_tab_li",duration: tabSwitchSpeed, left: 0, top: normTop});
				slideTos.push(slideTo);
			}
		}
		else
		if(tabIndex>currentTabIndex){//向上移动
			
			var normTop = (parseInt(MenuItem_Height)+MenusUl_Separator_Width)*(currentTabIndex +1);
			for(var i=currentTabIndex+1;i<=tabIndex;i++){

				var slideTo = dojo.fx.slideTo({node: blockId+"_"+tabIds[i]+"_self_tab_li",duration: tabSwitchSpeed, left: 0, top: normTop});
				slideTos.push(slideTo);
				normTop += parseInt(MenuItem_Height);
				
				if(MenusUl_Separator_Width>0){
					var slideTo = dojo.fx.slideTo({node: blockId+"_"+tabIds[i]+"_self_tab_sep",duration: tabSwitchSpeed, left: 0, top: normTop});
					slideTos.push(slideTo);
					normTop += MenusUl_Separator_Width;
				}
			}
		}
		
		var slideToDo =dojo.fx.combine(slideTos);
		slideToDo.play();
		dojo.connect(slideToDo, "onEnd" , function(){
			$(blockId+"_content").style.visibility = "visible";
			setMenuCurrentTabForShow(blockId,tabId,tabIds,contentHeight,MenuItem_Height,MenusUl_Separator_Width);
		});
	}
	function setMenuCurrentTabForShow(blockId,tabId,tabIds,contentHeight,MenuItem_Height,MenusUl_Separator_Width){
		var _top = 0;
		var menusUl_Separator_place = 0;
		for(var i=0;i<tabIds.length;i++){
			
			if(menusUl_Separator_place == 1 && MenusUl_Separator_Width>0){
			 	$(blockId+"_"+tabIds[i]+"_self_tab_sep").style.top = _top + "px";
			 	_top += parseInt(MenusUl_Separator_Width);
			}
			
			$(blockId+"_"+tabIds[i]+"_self_tab_li").style.top = _top + "px";
			_top += parseInt(MenuItem_Height);
			if(tabId == tabIds[i]){
				$(blockId+"_"+tabIds[i]+"_self_tab_normal").style.display = 'none';
				$(blockId+"_"+tabIds[i]+"_self_tab_active").style.display = 'block';
			}
			else{
				$(blockId+"_"+tabIds[i]+"_self_tab_normal").style.display = 'block';
				$(blockId+"_"+tabIds[i]+"_self_tab_active").style.display = 'none';
			}
			
			if(menusUl_Separator_place == 0 && MenusUl_Separator_Width>0){
			 	$(blockId+"_"+tabIds[i]+"_self_tab_sep").style.top = _top + "px";
			 	_top += parseInt(MenusUl_Separator_Width);
			}
			
			if(tabId == tabIds[i]){
				$(blockId+'_content').style.top = _top+"px";				
				$(blockId+'_content').style.height = contentHeight+"px";
				
				_top += contentHeight;
				menusUl_Separator_place = 1;
			}
		}
		
		if($(blockId+"_"+tabId+"_content_panel") !=undefined)
			$(blockId+"_"+tabId+"_content_panel").style.display = "block";
		if($(blockId+"_"+tabId+"_content_more") !=undefined)
 			$(blockId+"_"+tabId+"_content_more").style.display = "block";
 			
		var haveFlag = false;
		for(var i=0;i<menuCurrentTabIds.length;i++)
			if(menuCurrentTabIds[i].blockId == blockId){
			
				if($(blockId+"_"+menuCurrentTabIds[i].tabId+"_content_panel") !=undefined)
					$(blockId+"_"+menuCurrentTabIds[i].tabId+"_content_panel").style.display = "none";
				if($(blockId+"_"+menuCurrentTabIds[i].tabId+"_content_more") !=undefined)
 					$(blockId+"_"+menuCurrentTabIds[i].tabId+"_content_more").style.display = "none";
 					
				menuCurrentTabIds[i].tabId = tabId;
				haveFlag = true;
				break;
			}
		if(!haveFlag){
			var menuCurrentTabId = {};
			menuCurrentTabId['blockId'] = blockId;
			menuCurrentTabId['tabId'] = tabId;
			menuCurrentTabIds.push(menuCurrentTabId);
		}
		
		
		//滚动和分隔线 根据标志值 动作
		registerAll_MarqueeEvent();
		registerAll_adjustSeparatorLine();
		
		
	}
	var menuCurrentTabIds = new Array();
	
	
	
	
	
	
	
