/*检测浏览器/操作系统类型
-----------------------------start-------------------------------------*/
var sUserAgent = navigator.userAgent;
//var fAppVersion = parseFloat(navigator.appVersion);
//检测是否Opera浏览器
var isOpera = sUserAgent.indexOf("Opera")>-1;
//检测是否Safari
//var isKHTML = sUserAgent.indexOf("KHTML")>-1
//				|| sUserAgent.indexOf("Konqueror")>-1
//				|| sUserAgent.indexOf("AppleWebKit")>-1;
//检测IE
var isIE = sUserAgent.indexOf("compatible") > -1
			&&sUserAgent.indexOf("MSIE") > -1
			&&!isOpera;
//检测Firfox
//var isFF = sUserAgent.indexOf("Firefox")>-1&&!isKHTML;
//检测Mozilla
//var isMoz = sUserAgent.indexOf("Gecko")>-1&&!isKHTML;
//var isNS4 = !isIE&&!isOpera&&!isMoz&&!isKHTML
//			&&(sUserAgent.indexOf("Mozilla")==0)
//			&&(navigator.appName == "Netscape")
//			&&(fAppVersion >= 4.0 && fAppVersion <5.0);
//检测操作系统
var isWin = (navigator.platform == "Win32") || (navigator.platform == "Windows");
//var isMac = (navigator.platform == "Mac68K") || (navigator.platform == "MacPPC")
//			|| (navigator.platform == "Macintosh");
//
//var isUnix = (navigator.platform == "X11" && !isWin && !isMac);
/*
----------------------------- end -------------------------------------*/
var Utils = new Object;
//首先定义addEventHandler()方法,用来代替IE与其它浏览器中的事件处理函数
//参数一:要分配事件处理的对象;参数二:处理的事件名称;参数三:要分配的函数
Utils.addEventHandler=function(oTarget,sEventType,fnHandler){
	if(oTarget.addEventListener){//DOM兼容浏览器
		oTarget.addEventListener(sEventType,fnHandler,false);
	}else if(oTarget.attachEvent){//IE
		oTarget.attachEvent("on" + sEventType,fnHandler);
	}else{//其它
		oTarget["on" + sEventType] = fnHandler;
	}
};
//删除的方法
Utils.delEventHandler=function(oTarget,sEventType,fnHandler){
	if(oTarget.removeEventListener){//DOM兼容浏览器
		oTarget.removeEventListener(sEventType,fnHandler,false);
	}else if(oTarget.detachEvent){//IE
		oTarget.detachEvent("on" + sEventType,fnHandler);
	}else{//其它
		oTarget["on" + sEventType] = null;
	}
};
//格式化event对象
Utils.formatEvent = function(oEvent){
	if(isIE&&isWin){
		//当事件keypress发生时,为IE创建charCode属性
		oEvent.charCode=(oEvent.type=="keypress")?oEvent.keyCode:0;
		//由于IE仅支持冒泡阶段,因此将eventPhase的值设置为2
		oEvent.eventPhase=2;
		oEvent.isChar = (oEvent.charCode>0);//按键是否有字符与之相关
		//为IE创建pageX、pageY属性
		var scrollX=0;
		var scrollY=0;
		if(document.all){ 
			if(!document.documentElement.scrollLeft)
				scrollX=document.body.scrollLeft;
			else
				scrollX=document.documentElement.scrollLeft;
			if(!document.documentElement.scrollTop)
				scrollY=document.body.scrollTop;
			else
				scrollY=document.documentElement.scrollTop;
		}
		else{
			scrollX=window.pageXOffset;
			scrollY=window.pageYOffset;
		}
		oEvent.scrollX = scrollX;
		oEvent.scrollY = scrollY;
		oEvent.pageX=oEvent.clientX+scrollX;
		oEvent.pageY=oEvent.clientY+scrollY;
		oEvent.preventDefault=function(){this.returnvalue=false;};
		if(oEvent.type=="mouseout")
			oEvent.relatedTarget=oEvent.toElement;
		else if(oEvent.type=="mouseover")
			oEvent.relatedTarget=oEvent.fromElement;
		oEvent.stopPropagation=function(){this.cancelBubble=true;};
		oEvent.target=oEvent.srcElement;
		oEvent.time=(new Date()).getTime();
	}
	return oEvent;
};
//获取event的方法
Utils.getEvent=function(event){
	return this.formatEvent(event ? event : (window.event ? window.event : null));
};