﻿// JScript 文件

function $(id)
{	
	return document.getElementById(id);
}

function trim(str)
{
	return str.replace(/(^[\s　]*)|([\s　]*$)/g, '');
}
String.prototype.trim = function()
{
	return this.replace(/(^[\s　]*)|([\s　]*$)/g, '');
}

//读取Cookie
function getCookie(Name){ 
	var re=new RegExp(Name+"=[^;]+", "i");
	if (document.cookie.match(re)){
		return unescape(document.cookie.match(re)[0].split("=")[1]);
	}else{
		return "";
	}		
}
//写入COOKIE
function setCookie(name, value){
	document.cookie = name + "=" + escape(value) +  "; path=/";
}

// 收藏站点
function addBookmark(url, title)
{ 
    if(window.sidebar)
    { 
        return window.sidebar.addPanel(title, url, ''); 
    }
    else if(document.all)
    { 
        return window.external.AddFavorite(url, title); 
    }
    else
    { 
        return true; 
    } 
} 


var dv_win =new Object();
dv_win.hj_de='';
dv_win.hj_w=0;
dv_win.hj_ch=0;
dv_win.isinit = false;

function RegisterDragObjectOnMouseDown(mouseEvent, layerRef, destDragObject)
{
	if (!layerRef)
	{
		return;
	}

	if ('__DragManager' in layerRef)
	{
		return;
	}

	layerRef.__DragManager = new (function (argEvt, argParentRef, argDestDragRef) {
		
		var _destManaged = null, _destDragObject = null;
		var _mouseStartX = 0, _mouseStartY = 0;
		var _managedObjectStartX = 0, _managedObjectStartY = 0;
		var _canDrag = false;

		function _initialize()
		{
			_destManaged = argParentRef;

			if (argDestDragRef)
			{
				_destDragObject = argDestDragRef;
			}
			else if ('undefined' === typeof(argDestDragRef))
			{
				if (argParentRef.parentElement)
				{
					_destDragObject = argParentRef.parentElement;
				}
				else
				{
					_destDragObject = argParentRef.parentNode;
				}
			}

			var mouse = _getMouseCoordinate(argEvt);
			_mouseStartX = mouse.x;
			__mouseStartY = mouse.y;
			
			var rect = _getBoxObject();
			_managedObjectStartX = rect.left;
			_managedObjectStartY = rect.top;

			// 这种事件的绑定方式会覆盖掉原事件，现改为 attachEvent / addEventListener 的方式系上事件
			/*
			_destManaged.onmousedown = _onMouseDown;
			_destManaged.onmousemove = _onMouseMove;
			_destManaged.onmouseup = _onMouseUp;
			//*/

			if ('undefined' !== typeof(_destManaged.attachEvent))
			{
				// in IE
				_destManaged.attachEvent('onmousedown', _onMouseDown);
				_destManaged.attachEvent('onmousemove', _onMouseMove);
				_destManaged.attachEvent('onmouseup', _onMouseUp);
			}
			else if ('undefined' !== typeof(_destManaged.addEventListener))
			{
				// in firefox
				_destManaged.addEventListener('mousedown', _onMouseDown, false);
				_destManaged.addEventListener('mousemove', _onMouseMove, false);
				_destManaged.addEventListener('mouseup', _onMouseUp, false);
			}

			_onMouseDown(argEvt);
		}

		function _getBoxObject()
		{
			var retvl = ({'top':0, 'right':0, 'bottom':0, 'left':0, 'height':0, 'width':0});

			if (_destDragObject.getBoundingClientRect)
			{
				// ie 兼容
				var box = _destDragObject.getBoundingClientRect();
				retvl.top = parseInt(box.top) + document.documentElement.scrollTop;
				retvl.right = parseInt(box.right);
				retvl.bottom = parseInt(box.bottom);
				retvl.left = parseInt(box.left) + document.documentElement.scrollLeft;
				retvl.height = box.bottom - box.top;
				retvl.width = box.right - box.left;
			}
			else if (document.getBoxObjectFor)
			{
				// firefox 兼容
				var box = document.getBoxObjectFor(_destDragObject);
				retvl.left = parseInt(box.x);
				retvl.top = parseInt(box.y);
				retvl.height = parseInt(box.height);
				retvl.width = parseInt(box.width);
				retvl.right = retvl.left + box.width;
				retvl.bottom = retvl.top + box.height;
			}

			return retvl;
		}

		function _getMouseCoordinate(evt)
		{
			if (window.event && !evt)
			{
				evt = window.event;
			}

			var retvl = {'x':evt.clientX + document.documentElement.scrollLeft, 'y':evt.clientY + document.documentElement.scrollTop};

			return retvl;
		}

		function _onMouseDown(evt)
		{
			_canDrag = true;

			if ('undefined' !== typeof(_destManaged.setCapture))
			{
				// in IE
				_destManaged.setCapture(false);
			}
			else if ('undefined' !== typeof(document.createEvent))
			{
				// in firefox
				document.addEventListener('mousemove', _onMouseMove, false);
			}

			var mouse = _getMouseCoordinate(evt);
			_mouseStartX = mouse.x;
			_mouseStartY = mouse.y;
		
			var rect = _getBoxObject();
			_managedObjectStartX = rect.left;
			_managedObjectStartY = rect.top;
		}

		function _onMouseMove(evt)
		{
			if (!_canDrag)
			{
				return;
			}

			var mouse = _getMouseCoordinate(evt);

			var x = (_managedObjectStartX - (_mouseStartX - mouse.x));
			if (x < 0) x = 0;
			var y = (_managedObjectStartY - (_mouseStartY - mouse.y));
			if (y < 0) y = 0;
			_destDragObject.style.left = x + 'px';
			_destDragObject.style.top = y + 'px';
		}

		function _onMouseUp(evt)
		{
			_canDrag = false;
			if ('undefined' !== typeof(_destManaged.releaseCapture))
			{
				// in IE
				_destManaged.releaseCapture();
			}
			else if ('undefined' !== typeof(document.createEvent))
			{
				// in firefox
				document.removeEventListener('mousemove', _onMouseMove, false);
			}
		}

		// 执行初始化的操作
		_initialize();
	})(mouseEvent, layerRef, destDragObject);
}
dv_win.InitVar = function(){
	hj_de=document.documentElement;
	hj_w=document.body.clientWidth || window.innerWidth || self.innerWidth || (hj_de&&hj_de.clientWidth);
	hj_ch = document.body.clientHeight;
	if(hj_ch < window.innerHeight){
	    hj_ch = window.innerHeight;
	}
	if(hj_ch < window.innerHeight){
	   hj_ch =  window.innerHeight;
	}
	if(hj_ch < self.innerHeight){
	    hj_ch = self.innerHeight;
	}
	if(hj_ch < (hj_de&&hj_de.clientHeight)){
	   hj_ch =  (hj_de&&hj_de.clientHeight);
	}
}
dv_win.ResetBgDiv = function(){
	dv_win.InitVar();
	var hj_pannel = $('hj_pannel');
	hj_pannel.style.width=hj_w + 'px';
	hj_pannel.style.height=hj_ch + 'px';
	hj_pannel.left = "-10px";
	hj_pannel.top = "-10px";
}
dv_win.ShowMsg = function(title, vbody){
	dv_win.ResetBgDiv();
	dv_win.InitVar();	
	$('hj_title').innerHTML = title;
	var hj_msg_body = $('hj_msg_body');
	hj_msg_body.innerHTML = vbody;
	hj_msg_body.style.paddingRight='30px';
	var hj_msg_main = $('hj_msg_main');
	hj_msg_main.style.left = hj_w /2 -150 + 'px';
	hj_msg_main.style.top = hj_ch / 2 -130 + 'px';
	hj_msg_main.style.visibility = 'visible';
	$('hj_pannel').style.visibility = 'visible';
	
}
dv_win.HideMsg = function(){
	$('hj_pannel').style.visibility = 'hidden';
	$('hj_msg_main').style.visibility = 'hidden';
}
//==使用方法
//onmouseover="showToolTip('Name','Please enter your name here.',event);"
// onmouseout="hideToolTip();"
var xPos;
var yPos;

function showToolTip(title,msg,evt){
    if (evt) {
        var url = evt.target;
    }
    else {
        evt = window.event;
        var url = evt.srcElement;
    }
    xPos = evt.clientX + document.documentElement.scrollLeft;
    yPos = evt.clientY + document.documentElement.scrollTop;

   var toolTip = document.getElementById("toolTip");
   //var toolTip=document.createElement("DIV");
   //toolTip.setAttribute("id","toolTip");
   toolTip.innerHTML = "<h1>"+title+"</h1><p>"+msg+"</p>";
   toolTip.style.top = parseInt(yPos)+2 + "px";
   toolTip.style.left = parseInt(xPos)+2 + "px";
   toolTip.style.visibility = "visible";
   
}

function hideToolTip(){
   var toolTip = document.getElementById("toolTip");
   toolTip.style.visibility = "hidden";
}