/*	快捷显示用户信息
*	1、动态加载js脚本文件与css样式表文件（缺点只能等待页面加载完成后才能使用js文件中的方法）
*	2、对层的显示位置做了限定，如果超出页面的显示范围则重新定位
*	3、在页面中添加iframe来解决flash与下拉菜单等的显示顺序问题（暂不能让iframe根据内容的高度和宽度来自动伸缩）
*	ikaiser,2007-04-05,added
*	ikaiser,2007-05-09,modified，解决鼠标划过后层一直显示不隐藏的问题。
*/

/*
var s = "网页可见区域宽："+ document.body.clientWidth; 
s += "\r\n网页可见区域高："+ document.body.clientHeight; 
s += "\r\n网页可见区域宽："+ document.body.offsetWidth +" (包括边线的宽)"; 
s += "\r\n网页可见区域高："+ document.body.offsetHeight +" (包括边线的宽)"; 
s += "\r\n网页正文全文宽："+ document.body.scrollWidth; 
s += "\r\n网页正文全文高："+ document.body.scrollHeight; 
s += "\r\n网页被卷去的高："+ document.body.scrollTop; 
s += "\r\n网页被卷去的左："+ document.body.scrollLeft; 
s += "\r\n网页正文部分上："+ window.screenTop; 
s += "\r\n网页正文部分左："+ window.screenLeft; 
s += "\r\n屏幕分辨率的高："+ window.screen.height; 
s += "\r\n屏幕分辨率的宽："+ window.screen.width; 
s += "\r\n屏幕可用工作区高度："+ window.screen.availHeight; 
s += "\r\n屏幕可用工作区宽度："+ window.screen.availWidth; 
s += "\r\n" + document.documentElement.clientHeight;
*/

function LoadJS( path, fileUrl )
{
	var scripts = document.getElementsByTagName("script"); 
	//alert(scripts.length);
	for (var i=0;i<scripts.length;i++) 
           	if (scripts[i].src && scripts[i].src.toLowerCase() == path.toLowerCase() ) return; 

	document.write('<scr'+'ipt src="' + path + '" type="text/javascript"></scr'+'ipt>');
}

LoadJS("/content/script/prototype.js");
LoadJS("/content/script/remotecall.js");

LoadJS("/content/script/dialog.js");
LoadJS("/content/script/base.js");

/*
document.write('<scr'+'ipt src="prototype.js" type="text/javascript"></scr'+'ipt>');
document.write('<scr'+'ipt src="remotecall.js" type="text/javascript"></scr'+'ipt>');
*/

function LoadCss( path)
{
	var head = document.getElementsByTagName('HEAD').item(0);
	var style = document.createElement('link');
	style.href = path;
	style.rel = 'stylesheet';
	style.type = 'text/css';
	head.appendChild(style);
}

LoadCss("/content/css/topdown.css");

var showtimer;









var IntroCompany = "/user/IntroCompany.rails?CID=";
var IntroUser =    "/user/IntroUser.rails?U_ID=";
var UserOrCompany = "";




//调用userPage后返回结果的处理方法
function CheckLoginHandler(doc,id)
{	
	$("TopDownDiv").style.overFlow = "auto";
	$(id).innerHTML = doc;
	//判断如果TopDownDiv显示的位置超出了页面范围，做相应的处理
	var height = $("TopDownDiv").offsetHeight;
	if(document.body.clientHeight)
	var clientheight = ((document.documentElement.clientHeight==0)?document.body.clientHeight:document.documentElement.clientHeight);
	var sctop = ((document.documentElement.scrollTop==0)?document.body.scrollTop:document.documentElement.scrollTop);
	
	if($("TopDownDiv").offsetTop+height > clientheight+sctop)
	{
		$("TopDownDiv").style.top = clientheight+sctop-height-2 + "px";
	}
	//alert($("TopDownDiv").offsetTop);
}


var TopDropDown={
	//u_id为用户或者企业编号，type为类型（0为个人，1为企业，默认为0）
	//是否需要考虑传入个人用户名的情况？？
	init : function(u_id, type)
	{
		this.stime = 100;
		webUrl = "";	//默认为个人

				
		if (type == null)
		{
			type=0;		
		}

		if (type==0)
		{
			webUrl = IntroUser + u_id;
		}
		else
		{
			webUrl = IntroCompany + u_id;
		}
		
		
		var downdiv = $("TopDownDiv");
		if(downdiv == null)
		{
			downdiv = document.createElement("div");
			downdiv.id = "TopDownDiv";
			downdiv.style.cssText = "position:absolute;display:none;width:200px;border:0px;padding:0px;";
			downdiv.onmouseout = function(){showtimer=setTimeout(TopDropDown.hide,TopDropDown.stime);};
			document.body.appendChild(downdiv);
		}
		downdiv.innerHTML = "<div style='background:#fff;border:0px solid red;'><img style='vertical-align:middle;' src='/content/images/loading_m.gif' alt='正在加载...' />正在加载...</div>";
		Event.observe("TopDownDiv", "mouseover", function(){window.clearTimeout(showtimer);})
	},
	
	onmouseover : function(a, u_id, type)
	{
		//判断页面是否加载完成，防止出现"已终止操作"的错误提示
		if (document.readyState!="complete") 
		{
			return ;
		}
		if(this.curID == u_id)
		{
			//window.clearTimeout(showtimer);
			Element.show("TopDownDiv");
			return ;
		}
	
		this.init(u_id, type);
		var top = this.getPosition(a,"offsetTop")+15;
		var left = this.getPosition(a,"offsetLeft");

		if(left + 240 > document.body.clientWidth)
			left = document.body.clientWidth - 240;
		$("TopDownDiv").style.top = this.getPosition(a,"offsetTop")+15+"px";
		$("TopDownDiv").style.left = left+"px";
		showtimer = window.setTimeout(this.show, 500);
		Element.show("TopDownDiv");		
	},
	
	show:function()
	{
		try
		{
			//alert(webUrl);
			var url = this.webUrl + "&ran="+new Date().getTime();
			//alert(url);
			//加载编号对应的页面代码
			RemoteCall(url,CheckLoginHandler,"TopDownDiv",{responseXML:false});
		}
		catch(e)
		{
			this.hide();
		}
	},
	
	
	hide:function()
	{
		var downdiv = $("TopDownDiv");
		if(downdiv != null)
			Element.hide("TopDownDiv");
	},
	
	delayhide:function()
	{
		if (document.readyState!="complete") 
			return ;
		/*
		var downdiv = $("TopDownDiv");
		if(downdiv != null)
			Element.hide("TopDownDiv");
		*/	
		showtimer=setTimeout(this.hide,this.stime);
		//this.onmouseout();
	},
	
	onmouseout:function()
	{
		showtimer=setTimeout(this.hide,this.stime)
	},
	
	//得到控件在屏幕中的坐标值
	getPosition : function(obj,pos){
		var t=eval("obj."+pos);
		while(obj=obj.offsetParent){
			t+=eval("obj."+pos);
		}
		return t;
	}
}