var divarr = Array();
/* 初始化(函数)
 * 对操作层进行初始化，1、设置相对位置。2、设置隐藏
 * 注:clientWidth或clientHeight需要在css中设置了width和height才可以在此处调用,
 *    否则有可能失效
 */
function init()
{
	divarr[0] = document.getElementById('big1');
	//alert(divarr[0].id);
	divarr[1] = document.getElementById('big2');
	divarr[1].style.left= divarr[0].clientWidth+'px';
	divarr[2] = document.getElementById('big3');
	divarr[2].style.left= (divarr[0].clientWidth+divarr[1].clientWidth)+'px';

	divarr[3] = document.getElementById('big4');
	divarr[3].style.left= (divarr[0].clientWidth+divarr[1].clientWidth+divarr[2].clientWidth)+'px';
	divarr[4] = document.getElementById('big5');
	divarr[4].style.left= (divarr[0].clientWidth+divarr[1].clientWidth+divarr[2].clientWidth+divarr[3].clientWidth)+'px';
	//隐藏层
	divarr[1].style.display='none';
	divarr[2].style.display='none';
	divarr[3].style.display='none';
	divarr[4].style.display='none';
}

/* 显示层
 * param div 显示的层对象
 * param val 传递的数据，实际应用传你的父类编号
 */
function showdiv(div,val)
{
	var id = div.id;
	var showdiv = document.getElementById(id+'body');
	var nextdiv = ""; 
	for(var i=0;i<divarr.length-1;i+=1)
	{
		if(div.id == divarr[i].id)
		{
			nextdiv = divarr[i+1].id;
		}
	}
	show(val,showdiv,nextdiv);
	//sp.innerText=val;
	//通过获得鼠标的坐标设置层显示的坐标
	var ev = ev || window.event;
	var mousePos = mousePosition(ev);
	div.style.left=(mousePos.x)+"px"; 
	div.style.top=(mousePos.y)+"px";
	div.style.display='';
	//隐藏子窗口
	hidnchild(div);
}

//获得鼠标的坐标
function mousePosition(ev){
 if(ev.pageX || ev.pageY){
  return {x:ev.pageX, y:ev.pageY};
  }
  return {
   x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
   y:ev.clientY + document.body.scrollTop  - document.body.clientTop
   };
}

/* 隐藏层
 * param div 隐藏的层对象
 */
function hidndiv(div)
{
	//调用隐藏子窗口的方法
	hidnchild(div);
	div.style.display='none';
}

/* 隐藏子窗口
 * param div 要隐藏子窗口的层的对象
 */
function hidnchild(div)
{
	for(var i=0;i<divarr.length;i+=1)
	{
		if(div.id == divarr[i].id)
		{
			for(var j=(i+1);j<divarr.length;j+=1)
			{
				divarr[j].style.display='none';
			}
		}
	}
}
/*
 * param fid 父类编号
 * param showdiv 显示数据用的层,属于内层
 * param nextdiv 下一级层
 */
function show(fid,showdiv,nextdiv){
	//alert(fid+'\t\n'+showdiv.id+'\t\n'+nextdiv);
	//设置接受表单的URL
	var url = "/secretary.do?method=infoServlet&fid="+fid+"&data="+Math.random();

	//初始化ajax
	var xmlHttp;
	//开始初始化XMLHttpRequest对象
		if(window.XMLHttpRequest){
			xmlHttp = new XMLHttpRequest();
		} else {
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
	if (!xmlHttp) {
	 // 异常，创建对象实例失败 
	 window.alert("不能创建XMLHttpRequest对象实例.");
	 return false;
	}
	 //通过GET 提交方式打开连接
	 xmlHttp.open("GET",url,true);
	 //发送POST数据
	 xmlHttp.send(null);
	 //xmlHttp.send(postStr);
	 //获取执行状态,既调用回调函数
	xmlHttp.onreadystatechange = function() {
		//如果执行状态成功，那么就把返回信息写到指定的层里
		if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
			//alert(xmlHttp.responseText);
			var xml = xmlHttp.responseXML;//获得xml对象
			var xmlInfo = xml.getElementsByTagName("info");
			//alert(xmlInfo.length);
			//判断显示层是否有信息
			if(showdiv.hasChildNodes()) {
				//清空
				showdiv.removeChild(showdiv.childNodes[0]);
			}
			showdiv.innerHTML += setDiv(xmlInfo,nextdiv);
					
		}
	};
}

/*
 * 设置数据
 * param data xml数据
 * param nextdiv 下一级层
 */
function setDiv(data,nextdiv)
{
	var rs = "<table style='font-size: 12px' bordercolor='#000' cellspacing='1' width='100%'>\t\n";
	for(var i=0;i<data.length;)
	{
		var info = data[i];//获得每个info
		rs+= '<tr><td width=\"100%\" ';
		if(nextdiv!=""){//判断有下一级
			rs+='onclick=showdiv('+nextdiv+',\"'+info.getElementsByTagName("id")[0].firstChild.data+'\")';
		}
		else {
			rs+='onclick=document.getElementById("f_zw").style.display="none",';
			rs+='document.getElementById("zhiye").style.display="block",';
			rs+='document.getElementById("zhiyeid").value=("'+info.getElementsByTagName("id")[0].firstChild.data+'"),';
			rs+='document.getElementById("zhiye").value=("'+info.getElementsByTagName("name")[0].firstChild.data+'");hidndiv(big2)';
		}
		rs += '>';
		rs += info.getElementsByTagName("name")[0].firstChild.data;
		rs += '</td></tr>\t\n';
		i+=1;
	}
	rs += "</table>\t\n";
	
	return rs;
}
