﻿// JavaScript Document
var oEventUtil = new Object();
var ProcessImg = '<img src="css/processing.gif" />';
oEventUtil.AddEventHandler = function(oTarget,sEventType,fnHandler) {
	if(oTarget.addEventListener) {	//如果是IE
		oTarget.addEventListener(sEventType,fnHandler,false);
	}
	else if(oTarget.attachEvent) {	//如果是FF
		oTarget.attachEvent('on'+sEventType,fnHandler);
	}
	else {
		oTarget['on'+sEventType] = fnHandler;
	}
};

var init = function() {
	var oPList = document.getElementsByTagName('a');
	for(var i = 0;i<oPList.length;i++)
	{
		if (oPList[i].getAttribute("rel") == "InfoBox")
			oEventUtil.AddEventHandler(oPList[i],'mouseover',ShowBox);
		if (oPList[i].getAttribute("rel") == "ImgBox")
			oEventUtil.AddEventHandler(oPList[i],'mouseover',ShowImgBox);
	}
}
window.onload = init;
var ShowBox = function() {
	var s_Box = {width:240, height:110, border:"2px solid #013B57", background:"#FFF"};
	var oEvent = arguments[0];
	var poinW = 33;
	var oTarget = oEvent.target || oEvent.srcElement;
	var oTargSrc = oTarget.href;
	var oTargW = oTarget.offsetWidth;
	var m = getAbsolute(oTarget);
	if (m.x + s_Box.width + oTargW + poinW <= document.body.offsetWidth){
		
		result = {
			src:"css/pointer-left.gif",
			p_left:m.x + oTarget.offsetWidth + 5,
			p_top:m.y - oTarget.offsetHeight/2,
			b_left:m.x + oTarget.offsetWidth + 5 + 31,
			b_top:m.y - oTarget.offsetHeight/2 - 30
		}
	} else if (m.x + s_Box.width + oTargW + poinW > document.body.offsetWidth){
		result = {
			src:"css/pointer-right.gif",
			p_left:m.x - poinW - 5,
			p_top:m.y - oTarget.offsetHeight/2,
			b_left:m.x - s_Box.width - poinW - 5 - 2,
			b_top:m.y - oTarget.offsetHeight/2 - 30
		}
	}
	
	var ImgPointer = document.createElement("img");
	ImgPointer.setAttribute("src",result.src);
	var Pointer = document.createElement("div");
	Pointer.style.position = "absolute";
	Pointer.style.left = result.p_left +"px";
	Pointer.style.top = result.p_top +"px";
	Pointer.style.zIndex = "10001";
	Pointer.appendChild(ImgPointer);
	
	var Process = document.createElement("div");
	Process.style.width = s_Box.width +"px";
	Process.style.marginTop = s_Box.height/2 - 10 +"px";
	Process.style.textAlign = "center";
	var InfoBox = document.createElement("div");
	InfoBox.style.width = s_Box.width +"px";
	InfoBox.style.height = s_Box.height +"px";
	InfoBox.style.border = s_Box.border;
	InfoBox.style.background = s_Box.background;
	InfoBox.style.position = "absolute";
	InfoBox.style.left = result.b_left +"px";
	InfoBox.style.top = result.b_top +"px";
	InfoBox.style.zIndex = "10000";
	Process.innerHTML = ProcessImg;
	InfoBox.appendChild(Process);
	document.body.appendChild(InfoBox);
	document.body.appendChild(Pointer);
	
	ajaxGetDate(oTargSrc,InfoBox);
	oTarget.onmouseout = function(){
		document.body.removeChild(InfoBox);
		document.body.removeChild(Pointer);
	}
}

function ShowImgBox(){
	var oEvent = arguments[0];
	var oTarget = oEvent.target || oEvent.srcElement;
	var oTargSrc = oTarget.href || oTarget.src || oTarget.firstChild.src || oTarget.firstChild.href;//后面的两个是方式从左右移动上去的时候捕获的是span的对象
	var m = getAbsolute(oTarget);
	var c_Point = {x:m.x+oTarget.offsetWidth/2, y:m.y+oTarget.offsetHeight/2};
	var jg = oTargSrc.match(/[^\?|&]+(?=&|$)/ig);
	var s_box = { width:154, height:175, border:"1px solid #CCC", background:"#CCC"};
	var Uid = jg[0].replace("=","");
	var ImgBox;
	ImgBox = document.getElementById("Img"+Uid);
	if (ImgBox){
		$('.UserInfoBoxS').css({display: "none"});
		ImgBox.style.left = c_Point.x - s_box.width/2 +"px";
		ImgBox.style.top = c_Point.y - s_box.height/2 +"px";
		ImgBox.style.display="block";
	}
	else {
                $('.UserInfoBoxS').css({display: "none"});
		ImgBox = document.createElement("div");
		ImgBox.setAttribute("id","Img"+Uid);
		ImgBox.setAttribute("class","UserInfoBoxS");
		ImgBox.style.zIndex = "10000";
		ImgBox.style.background = s_box.background;
		ImgBox.style.position = "absolute";
		ImgBox.style.left = c_Point.x - s_box.width/2 +"px";
		ImgBox.style.top = c_Point.y - s_box.height/2 +"px";
		ImgBox.style.width = s_box.width +"px";
		ImgBox.style.height = s_box.height +"px";
		
		var Process = document.createElement("div");
		Process.style.width = "100%";
		Process.style.marginTop = s_box.height/2 - 10 +"px";
		Process.style.textAlign = "center";
		Process.style.position = "relative";
		Process.innerHTML = ProcessImg;
		ImgBox.appendChild(Process);
		document.body.appendChild(ImgBox);
	}
	document.onmousemove = function(event){
		evt = event?event:window.event;
		
		m = getPos(evt);
		if (m.x < c_Point.x - s_box.width/2 || m.x > c_Point.x - s_box.width/2 + s_box.width){
			ImgBox.style.display='none';
			document.onmousemove = null;
		}
		if (m.y < c_Point.y - s_box.height/2 || m.y > c_Point.y - s_box.height/2 + s_box.height){
			ImgBox.style.display='none';
			document.onmousemove = null;
		}
	}
	if (oTargSrc){
		$.post("people_ajax.php?"+jg[0]+"&ac=head",function(r){
			//alert(r);
			ImgBox.innerHTML = r;
		})
	}
}
function getAbsolute(ob){				//获取元素在页面中的绝对位置
	if(!ob) return { x:0, y:0 };
	var x = ob.offsetLeft;
	var y = ob.offsetTop;
	while( ob != null && ob.offsetParent != null && ob.offsetParent.tagName != "BODY" ){
		x += ob.offsetParent.offsetLeft;
		y += ob.offsetParent.offsetTop;
		ob = ob.offsetParent;
	}
	return { x:x, y:y };
}
function getPos(event) {
	var x = event.pageX || (event.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft)) || 0;
	var y = event.pageY || (event.clientY + (document.documentElement.scrollTop || document.body.scrollTop)) || 0;
	return {x:x, y:y};
}
function ajaxGetDate(href,obj){
	jg = href.match(/[^\?|&]+(?=&|$)/g);
	for(var i=0; i<jg.length; i++){
		$.get('place.php?ac=ajaxplaceinfo&'+jg[1],
		  function(data){
			  if(data){
				obj.innerHTML = data;
			  }
			  else
			  {
		        obj.innerHTML = "通信失败，请检查网络";
			  }
		  }
	);
	}
}