﻿var regFloat=/^(0|([1-9]{1,}[0-9]{0,}))(.[0-9]{1,}){0,1}$/;
var regInt=/^(0|([1-9]{1,}[0-9]{0,}))$/;
// 获得obj的x坐标
function getX(obj)
{
    var x=0;
    while(obj)
    {
        x+=obj.offsetLeft-obj.scrollLeft;
        obj=obj.offsetParent;
    }
    return x;
}
// 获得obj的y坐标
function getY(obj)
{
    var y=0;
    var tobj=obj;
    for(obj; obj; obj=obj.offsetParent)
    {
        y+=obj.offsetTop;
    }
    for(obj=tobj.parentNode; obj && obj!=document.body; obj=obj.parentNode)
    {
        if(obj.scrollTop)
        {
            y-=obj.scrollTop;
        }
    }
    return y;
}
//将obj转换为Id对象类型
function getId(obj)
{
    if(typeof obj=="string")
    {
        return document.getElementById(obj);
    }
    return obj;
}
//将obj转换为Name对象类型
function getName(obj)
{
    if(typeof obj=="string")
    {
        obj=document.getElementsByName(obj);
    }
    return obj;
}

//将obj转换为TagName对象类型
function getTagName(obj)
{
	if(typeof obj=="string")
		obj=document.getElementsByTagName(obj);
	return obj;
}

//将obj转换为整数
function toInt(obj)
{
    try
    {
        if(typeof obj =="string")
        {
            obj=parseInt(obj);
        }
        else if(typeof obj =="number")
        {
            obj=Math.floor(obj);
        }
    }
    catch(e)
    {
        obj=0;
    }
    return obj;
}    

//将strValue中的“|”转换为“&#124;”
function dealCode(strValue)
{
    strValue=strValue.replace(new RegExp("|","g"),"&#124;");
    return strValue;
}

//将inputValue的HTML格式转换为Text格式
function toInnerText(inputValue)
{
    var tp=document.createElement("p");
    tp.innerHTML=inputValue;
    return getInnerText(tp);//tp.innerText;
}

//日期检测
function checkDate(dateStr)
{ 
	// 定义日期格式的正则表达式
	var reg = /^(\d{4,4})\-(\d{1,2})\-(\d{1,2})$/; 
	// 尝试匹配
	var r = dateStr.match(reg); 
	if(r == null) 
	{
	// 未匹配成功
	  return false; 
	}
	// 设置月份,范围为 0 - 11,因此这里要减1
	r[2] = r[2] - 1; 
	var d = new Date(r[1], r[2], r[3]); 
	// 将此日期对象的年,月,日与原值对照,若有不匹配的即说明不是正确的日期格式.
	if (d.getFullYear() != r[1]) return false; 
	if (d.getMonth() != r[2]) return false; 
	if (d.getDate() != r[3]) return false; 
	return true; 
}
//添加到收藏夹 
function setFavorites(comName)
{
	var url=window.location.toString();
	var endInd=url.indexOf("/",8);
	if(endInd!=-1)
	{
		url=url.substring(0,endInd);
	}
	window.external.addFavorite(url,comName);
	return false;
}
//设为首页
function setMHomePage(obj)
{
    var url=window.location.toString();
    var endInd=url.indexOf("/",8);
    if(endInd!=-1)
        url=url.substring(0,endInd);
    setHomePage(obj,url);
    return false;
}
//浮点数四舍五入处理或浮点数小数点后取位(原数，取位数，是否不足位数补0，四舍五入标记)
function setFloatFormat(valueObj,Num,filZero,roundFlag)
{
	var reg=/^(0_)|([1-9]{1,}).{0,1}[0-9]{0,}$/;
	if(typeof Num!="number")
		return valueObj;
	if(typeof valueObj=="number" || typeof valueObj=="string" && reg.test(valueObj))
	{
		var reValue;
		if(typeof valueObj=="number")
			valueObj=valueObj.toString();
		if(roundFlag)
		{
			if(valueObj.indexOf(".")==-1)
			{
				if(filZero)
				{
					valueObj+=".";//
					for(var i=1; i<=Math.floor(Num); i++)//
						valueObj+="0";//
				}
				reValue=valueObj;
			}
			else if(valueObj.indexOf(".")>=0)
			{
				if(valueObj.indexOf(".")==0)
					valueObj="0"+valueObj;
				var dotloc=valueObj.indexOf(".");
				var NumLeng=dotloc+Num+1;
				if(NumLeng>valueObj.length)
				{
					var otNum=NumLeng-valueObj.length;
					if(filZero)
					{
						for(var i=1; i<=otNum; i++)//
							valueObj+="0";//
					}
					reValue=valueObj;
				}
				else
				{
					if(NumLeng==valueObj.length)
						reValue=valueObj;
					else
					{
						var teVal=valueObj.substring(0,NumLeng);
						if(parseInt(valueObj.substring(NumLeng,NumLeng+1))>4)
						{
							var moNum=1.0;
							for(var i=1; i<=Num; i++)
								moNum/=10;
							teVal=parseFloat(teVal)+moNum;
							teVal=teVal.toString();
							teVal=teVal.substring(0,NumLeng);
						}
						reValue=teVal;
					}
				}
			}
		}
		else
		{
			if(valueObj.indexOf(".")==-1)
				reValue=valueObj;
			else if(valueObj.indexOf(".")>=0)
			{
				if(valueObj.indexOf(".")==0)
					valueObj="0"+valueObj;
				var dotloc=valueObj.indexOf(".");
				var NumLeng=dotloc+Num+1;
				if(NumLeng>valueObj.length)
				{
					reValue=valueObj;
				}
				else
				{
					if(NumLeng==valueObj.length)
						reValue=valueObj;
					else
						reValue=valueObj.substring(0,NumLeng);
				}
			}
		}
		if(Num==0)
			reValue=reValue.replace(".","");
		return reValue;
	}
	else
		return valueObj;
}

//页面定位
function getPosition()
{
    var top=document.documentElement.scrollTop;
    var left=document.documentElement.scrollLeft;
    var clientWidth=document.documentElement.clientWidth;
    var clientHeight=document.documentElement.clientHeight;
    var offsetWidth=document.documentElement.offsetWidth;
    var offsetHeight=document.documentElement.offsetHeight;
    var scrollWidth=document.documentElement.scrollWidth;
    var scrollHeight=document.documentElement.scrollHeight;
    return {top:top, left:left, cWidth:clientWidth, cHeight:clientHeight, oWidth:offsetWidth, oHeight:offsetHeight, sWidth:scrollWidth, sHeight:scrollHeight};
}
//图片自动放缩
function dealimg(imgObj,wsize,hsize)
{
	if(imgObj.width>wsize || imgObj.height>hsize)
	{
		if(parseFloat(imgObj.width.toString())/parseFloat(wsize.toString())>parseFloat(imgObj.height.toString())/parseFloat(hsize.toString()))
			imgObj.width=wsize;
		else
			imgObj.height=hsize;
	}
}

//兼容Firefox的innerText操作
function getInnerText(obj)
{
	return document.all ? obj.innerText : obj.textContent;
}

//自定义字符串内置函数trim()
String.prototype.trim=function()
{
	return this.replace(/(^\s*)|(\s*$)/g,"");
}
//将参数转换成GET形式编码
function getFilter(paraStr)
{
	paraStr=encodeURIComponent(paraStr.replace(/\|/g,"&#124;"));
	return paraStr;
}
//过滤分隔符“|”
function postFilter(paraStr)
{
	paraStr=paraStr.replace(/\|/g,"&#124;");
	return paraStr;
}
//刷新图形验证码
function changeimg(imgObj,imgUrl)
{
	imgObj=getId(imgObj);
	if(imgObj)
		imgObj.src=imgUrl+"?ran="+Math.floor(Math.random()*65535);
	return false;
}
//按指定宽、高，比例缩略图形
function dealimg1(imgObj,wsize,hsize)
{
	imgObj=getId(imgObj);
	if(imgObj.width>wsize || imgObj.height>hsize)
	{
		if(parseFloat(imgObj.width.toString())/parseFloat(wsize.toString())>parseFloat(imgObj.height.toString())/parseFloat(hsize.toString()))
			imgObj.width=wsize;
		else
			imgObj.height=hsize;
	}
}
//按指定宽，比例缩略图形
function dealimg2(imgObj,wsize)
{
	imgObj=getId(imgObj);
	if(imgObj.width>wsize)
		imgObj.width=wsize;
}
//处理翻转图片
function dealActImgs(imgObj,allWidth)
{
	imgObj=getId(imgObj);
	dealimg2(imgObj,allWidth);
	var upImgStr=imgObj.name;
	if(upImgStr!="")
	{
		var scImgStr=imgObj.src;
		imgObj.onmouseover=(function(upImgStr)
		{
			return function(){this.src=upImgStr; dealimg2(this,allWidth);};
		})(upImgStr);
		imgObj.onmouseout=(function(scImgStr)
		{
			return function(){this.src=scImgStr;};
		})(scImgStr);
	}
}
//在线编辑器专用，向在线编辑器填充内容
function toEdit(textObj)
{
    textObj=getId(textObj);
    if(textObj)
    {
        infEdit.setHTML(textObj.value);
    }
}
//可拖动窗体处理函数
function drag(win,title,r)
{
	title.onmousedown=function(a)
	{
		var d=document;if(!a)a=window.event;
		var x=a.layerX?a.layerX:a.offsetX,y=a.layerY?a.layerY:a.offsetY;
		if(win.setCapture)
			win.setCapture();
		else if(window.captureEvents)
			window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);

		d.onmousemove=function(a)
		{
			if(!a)a=window.event;
			if(!a.pageX)a.pageX=a.clientX;
			if(!a.pageY)a.pageY=a.clientY;
			var tx=a.pageX-x,ty=a.pageY-y;
			if(r)
			{
				win.style.left=(tx<r[0]?r[0]:tx>r[1]?r[1]:tx)+"px";
				win.style.top=(ty<r[2]?r[2]:ty>r[3]?r[3]:ty)+"px";
			}
			else
			{
				win.style.left=tx+"px";
				win.style.top=ty+"px";
			}
		};

		d.onmouseup=function()
		{
			if(win.releaseCapture)
				win.releaseCapture();
			else if(window.captureEvents)
				window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);
			d.onmousemove=null;
			d.onmouseup=null;
		};
	};
}
