/**
 * <p>Description: </p>
 * 
 * @author tianyu * Modification&Comments on 2005-5-28
 * 
 * @version 1.50
 * 
 * <p>Copyright: Copyright (c) 2004 2005</p>
 * <p>Company: 清华同方科技有限公司</p>
 */
 
//类方法
//变换菜单
function outlookSideBar_func_switchBar(index)
{
	var i = this.openTitle;
	var id1items,id2items,id1div,id2div;

	if (index!=i && (this.outlookSmoothStat==0)){
			//换颜色
		this.titleList[index].strClass="m1s";
		this.titleList[i].strClass="m1";
		this.refresh();	
		this.openTitle=index;
				
		if (index!=-1){
			//打开、关闭
			if (i==-1){
				id2items="blankdiv";
				id2div="blankdiv";
			}
			else{
				id2items="outlookSideBar_Items"+i+"_"+this.objectID;
				id2div="outlookSideBar_Div"+i+"_"+this.objectID;
				document.getElementById("outlookSideBar_Title"+i+"_"+this.objectID).style.border="1px none navy";
				//document.getElementById("outlookSideBar_Title"+i+"_"+this.objectID).style.background="#006CD9";
				//document.getElementById("outlookSideBar_Title"+i+"_"+this.objectID).style.color="#ffffff";
				//document.getElementById("outlookSideBar_Title"+i+"_"+this.objectID).style.textalign="center";
			}
			
			id1items="outlookSideBar_Items"+index+"_"+this.objectID;
			id1div="outlookSideBar_Div"+index+"_"+this.objectID;
			document.getElementById("outlookSideBar_Title"+index+"_"+this.objectID).style.border="1px none white";
			//document.getElementById("outlookSideBar_Title"+index+"_"+this.objectID).style.background="#006CD9"; //title
			//document.getElementById("outlookSideBar_Title"+index+"_"+this.objectID).style.color="#ffffff";
			//document.getElementById("outlookSideBar_Title"+index+"_"+this.objectID).style.textalign="center";

			this.smoothOut(id1items,id2items,id1div,id2div,0);

			
		
		}
		else{

		//关掉
		document.getElementById("blankdiv").style.display="";
		document.getElementById("blankdiv").style.height="100%";
		document.getElementById("outlookSideBar_Div"+i+"_"+this.objectID).style.display="none";
		document.getElementById("outlookSideBar_Div"+i+"_"+this.objectID).style.height="0%";
		document.getElementById("outlookSideBar_Title"+i+"_"+this.objectID).style.border="1px none navy";
		//document.getElementById("outlookSideBar_Title"+i+"_"+this.objectID).style.background="#006CD9";
		//document.getElementById("outlookSideBar_Title"+i+"_"+this.objectID).style.color="#ffffff";
		//document.getElementById("outlookSideBar_Title"+i+"_"+this.objectID).style.textalign="center";
		}

	
	}
	

}

//平滑移动
function outlookSideBar_func_smoothOut(id1items,id2items,id1div,id2div,stat)
{
	if(stat==0){
		this.tempInnerText1=document.getElementById(id1div).innerHTML;
		this.tempInnerText2=document.getElementById(id2div).innerHTML;
		document.getElementById(id1div).innerHTML="";
		document.getElementById(id2div).innerHTML="";
		this.outlookSmoothStat=1;
		document.getElementById(id1div).style.overflow="hidden";
		document.getElementById(id2div).style.overflow="hidden";
		document.getElementById(id1items).style.height="0%";
		document.getElementById(id1items).style.display="";
		setTimeout(""+this.objectID+".smoothOut('"+id1items+"','"+id2items+"','"+id1div+"','"+id2div+"',"+this.inc+")",this.timedalay);
	}
	else{
		stat+=this.inc;
		if (stat>100)
			stat=100;
		document.getElementById(id1items).style.height=stat+"%";
		document.getElementById(id2items).style.height=(100-stat)+"%";
		if (stat<100) 
			setTimeout(this.objectID+".smoothOut('"+id1items+"','"+id2items+"','"+id1div+"','"+id2div+"',"+stat+")",this.timedalay);
		else{
			document.getElementById(id1div).innerHTML=this.tempInnerText1;
			document.getElementById(id2div).innerHTML=this.tempInnerText2;
			this.outlookSmoothStat=0;
			document.getElementById(id1div).style.overflow="auto";
			document.getElementById(id2items).style.display="none";
		}
	}
}

//加入标题
function outlookSideBar_func_addTitle(intitle)
{
	this.itemList[this.titleList.length]=new Array();
	this.titleList[this.titleList.length]=new outlookSideBar_Class_Item(intitle,1,0);
	this.titleList[this.titleList.length-1].colour = this.titleColour;
	this.titleList[this.titleList.length-1].bgColour = this.titleBgColour;
	this.titleList[this.titleList.length-1].bgimage = this.titleBgimage;
/*	if(this.openTitle==this.titleList.length-1)
		this.titleList[this.titleList.length-1].strClass = "m1s";
	else
*/
	this.titleList[this.titleList.length-1].strClass = "m1";
	return(this.titleList[this.titleList.length-1]);
}

//加入项目，在制定titleindex下
function outlookSideBar_func_addItemToTitle(titleindex,itemname,inkey)
{
	if (titleindex>=0 && titleindex<=this.titleList.length){
		this.itemList[titleindex][this.itemList[titleindex].length]=new outlookSideBar_Class_Item(itemname,2,inkey);
		this.itemList[titleindex][this.itemList[titleindex].length-1].otherClass=" nowrap align=left style='height:5' ";
		this.itemList[titleindex][this.itemList[titleindex].length-1].colour = this.itemColour;
		this.itemList[titleindex][this.itemList[titleindex].length-1].bgColour = this.itemBgColour;
		this.itemList[titleindex][this.itemList[titleindex].length-1].bgImage = this.itemBgImage;
		this.itemList[titleindex][this.itemList[titleindex].length-1].strClass = "m2";
		return(this.itemList[titleindex][this.itemList[titleindex].length-1]);
	}
	else
		return this.titleList[titleindex];
}
//加入项目，在最后一个title下
function outlookSideBar_func_addItemToLastTitle(itemname,inkey)
{
	return this.addItemToTitle(this.titleList.length-1,itemname,inkey);
}

//得到菜单项的html
function outlookSideBar_func_getitemline(theItem,titleIndex,itemIndex)
{
	var itemId = "";
	var itemline="";
	if(2==theItem.state){
		//写入item
		itemId = "outlookSideBar_Item_"+titleIndex+"_"+itemIndex+"_"+this.objectID;
		itemline += "<tr><td class='"+theItem.strClass+"' id='"+itemId+"' name='"+itemId+"' width='100%' align='middle' valign='bottom' overflow='auto' "
		if(theItem.bgImage != "")
			itemline +="style='background='"+theItem.bgImage+"'>";
		else
			itemline +=">";
		if(theItem.overHead != "")	itemline +="<img src='"+theItem.overHead+"' border=0><br>";
		itemline +="<a href='"+theItem.key+"'>"+theItem.title+"</a></td></tr>";

	}
		
	else if(1==theItem.state){
		//写入title
		itemId = "outlookSideBar_Title"+i+"_"+this.objectID;
		itemline+="<tr><td class='"+theItem.strClass+"' name="+itemId+" id="+itemId; 
		if (i!=this.openTitle) 
			itemline+=" nowrap align=center style='cursor:hand;height:5;' ";
		else
			itemline+=" nowrap align=center style='cursor:hand;height:5;' ";
		if(theItem.bgImage != "")
			itemline+=" background='"+theItem.bgImage+"' ";
		else
			itemline+=" ";
		
		itemline+=this.titleList[i].otherClass
		itemline+=" onclick='"+this.objectID+".switchBar("+i+")'>";
		itemline+=this.titleList[i].title+"</a></td></tr>";
	}
	
	return itemline;
}

//得到输出html
function outlookSideBar_func_getmenuline()
{
	menuline="<table "+this.otherClass+">";
	
	//在table中插入所有title和item
	for (i=0;i<(this.titleList.length);i++)
	{
		//写入title
		menuline+=this.getitemline(this.titleList[i],i,-1);
	
		//写入当前title的item
		menuline+="<tr><td name=outlookSideBar_Items"+i+"_"+this.objectID+" valign=top align=center id=outlookSideBar_Items"+i+"_"+this.objectID+" style='width:100%"
		if (i!=this.openTitle) 
			menuline+=";display:none;height:0%;";
		else
			menuline+=";display:;height:100%;";
		menuline+="'>";
		//包含所有item的div
		menuline+="<div name=outlookSideBar_Div"+i+"_"+this.objectID+" id=outlookSideBar_Div"+i+"_"+this.objectID+" style='overflow:auto;width:100%;height:100%' valign='top'>";
		menuline+="<table width='100%' border=0 cellspacing=0 cellpadding=0>";
		for (j=0;j<this.itemList[i].length;j++)
			menuline+=this.getitemline(this.itemList[i][j],i,j);
		menuline+="</table></div></td></tr>";

	}
	
	
	menuline+="</table>"
	return menuline
}

//显示
function outlookSideBar_func_showbar()
{
	var menuline;
	menuline="<div id=outlookSideBar_Div_"+this.objectID+" name=outlookSideBar_Div_"+this.objectID+" style='width=100%;height:100%'>"
	menuline+=this.getmenuline();
	menuline+="</div>";
	document.write(menuline);
}

//刷新
function outlookSideBar_func_myReflesh()
{
	document.getElementById("outlookSideBar_Div_"+this.objectID).innerHTML=this.getmenuline();
}

//循环找出应当显示哪个路径
function outlookSideBar_func_setStartTitle(inTitle)
{
	for (var i=0;i<this.titleList.length;i++)
	if(inTitle==this.titleList[i].title)
	{
		this.startTitle=i;
		this.openTitle=i;
		this.titleList[i].strClass = "m1s";
	}
}

//类声明
//outlookSideBar_Class_Item类
function outlookSideBar_Class_Item(inTitle,inState,inKey)
{
	//成员变量
	this.title=inTitle;
	this.state=inState;	//state==1表示title;state=2表示item
	this.key=inKey;
	this.background="";
	this.overHead="";
	this.colour="";
	
	this.strClass="";
	this.otherClass=" nowrap ";

}

//outlookSideBar_Class_Bar类
function outlookSideBar_Class_Bar()
{
	//公共
	//成员变量
	this.objectID = "";	

	this.titleColour = "#ffffff";
	this.titleBgColour = "#006CD9";
	this.titleBgImage = "";
	this.itemColour = "";
	this.itemBgColour = "";
	this.itemBgImage = "";
		
	//成员函数
	this.addTitle=outlookSideBar_func_addTitle;
	this.addItemToLastTitle=outlookSideBar_func_addItemToLastTitle;
	
	this.setStartTitle=outlookSideBar_func_setStartTitle;
		
	this.switchBar=outlookSideBar_func_switchBar;
	this.smoothOut=outlookSideBar_func_smoothOut;
	
	
	
	//私有
	//成员变量
	this.titleList=new Array();
	this.itemList=new Array();
	this.divStyle="style='height:100%;width:100%;overflow:auto' align=center";
	this.otherClass="border=0 cellspacing=0 cellpadding=0 style='height:100%;width:100%'valign=middle align=center ";
	this.startTitle=0;
	this.openTitle=this.startTitle;
	this.timeDelay=50;
	this.inc=10;
	
	//temp state
	this.outlookSmoothStat = 0;
	this.tempInnerText1 = "";
	this.tempInnerText2 = "";	
		
	//成员函数
	this.addItemToTitle=outlookSideBar_func_addItemToTitle;
	this.getmenuline=outlookSideBar_func_getmenuline;
	this.getitemline=outlookSideBar_func_getitemline;
	this.show=outlookSideBar_func_showbar;
	this.refresh=outlookSideBar_func_myReflesh;

}





//在javascript自动生成的html中的对外接口
//命名规则： 域_类型_名称
/*
类：
outlookSideBar_Class_Item
类方法：
outlookSideBar_Class_Bar{
	switchBar(index)
	smoothOut(id1items,id2items,id1div,id2div,stat)
	}


注意：
建立对象后要设置objectID属性，该属性为变量名称。
aBar = new outlookSideBar_Class_Bar();
aBar.objectID = "aBar";
*/

//菜单的形式
/*
<table outlookSideBar_barID>
	<div outlookSideBar_DIV_barID>
		<table>
			<tr>
				<td outlookSideBar_Title%index_barID>
				</td>
			</tr>
			<tr>
				<td outlookSideBar_Items%index_barID>
					<div outlookSideBar_Div%index_barID>
						<table>
							<span><tr><td btnMiddle><a></a></td></tr></span>
						</table>
					</div>
				</td>
			</tr>
		</table>
	</div>
</table>
*/

//对国际化的支持
/*
outlookSideBar_Class_Item.title

*/

//对背景图片的支持
/*
outlookSideBar_Class_Item.background
*/

//对背景颜色的支持
/*

*/



/**
 * stealth box
 * 
 */

function stealthBox_onStealth(event,boxID)
{
	var eSrc = null;
  
	//get the clicked element
	if (ie || opera) {
		eSrc = window.event.srcElement;
	}
	else if(ns || safari) {
		eSrc = event.target;
	}

	if (null == eSrc || null == eSrc.tagName ) {
		return false;
	}

  //cancel the submit action
  //caution: it's not work for the mozila firefox (ns || safari)
	if (ie || opera) {
		//alert("ie || opera!");
		  window.event.returnValue=false;
      window.event.cancelBubble = true;
	}
	else if(ns || safari) {
		//alert("ns || safari!");
      event.preventDefault();
      event.stopPropagation();
      
      
	}
	
	//stealth operation
	var aTable2 = EzUtility.getEnclosingElementByTagName(eSrc,'TABLE');
	var aTable1 = EzUtility.getEnclosingElementByTagName(aTable2,'TABLE');
	var aTable  = EzUtility.getEnclosingElementByTagName(aTable1,'TABLE');

	if(aTable == null) return false;

  //
  var divs = aTable.getElementsByTagName('Div');
	
	if(divs == null) return false;

	for(i=0;i<divs.length;i++)
	if(divs[i].id=="kknd")
	{
		
		       var str=divs[i].style.display;
           if ( str != "none")  {
                divs[i].style.display="none";
                divs[i].style.display="none";
                //alert("4-none");
            }
           else
            {
                divs[i].style.display="";
                divs[i].style.display="";
                //alert("4-block");

            }
		
	}
  //

	var trs = aTable.getElementsByTagName('TR');
	
	if(trs == null) return false;

	for(i=0;i<trs.length;i++)
	if(trs[i].id=="kknd")
	{
		
		       var str=trs[i].style.display;
           if ( str != "none")  {
                trs[i].style.display="none";
                trs[i].style.display="none";
                //alert("4-none");
            }
           else
            {
                trs[i].style.display="";
                trs[i].style.display="";
                //alert("4-block");

            }
		
	}


  //

	var tds = aTable.getElementsByTagName('TD');
	
	if(tds == null) return false;

	for(i=0;i<tds.length;i++)
	if(tds[i].id=="kknd")
	{
		
		       var str=tds[i].style.display;
           if ( str != "none")  {
                tds[i].style.display="none";
                tds[i].style.display="none";
                //alert("4-none");
            }
           else
            {
                tds[i].style.display="";
                tds[i].style.display="";
                //alert("4-block");

            }
		
	}
	
	
	return false;
	
	
}
