var lie = !+'\v1'; //判断浏览器
var _$ = function(name,parename){return (typeof name == "string") ? (isNaN(parename) ? document.getElementById(name) : ((typeof parename == "string") ? eval("document.getElementById('"+parename+"')."+name) : eval(parename+"."+name))) : name} //Firefox必须有id值
var _$name = function(name,parename){return (typeof name == "string") ? (isNaN(parename) ? document.getElementsByName(name) : ((typeof parename == "string") ? _$(parename).getElementsByName(name) : parename.getElementsByName(name))) : name} //获取Name对象
var _$tag = function(name,parename){return isNaN(parename) ? document.getElementsByTagName(name) : ((typeof parename == "string") ? _$(parename).getElementsByTagName(name) : parename.getElementsByTagName(name))} //通过Tag获取对象
var _$inhtml = function(name,value){(typeof name == "string") ? _$(name).innerHTML = value : name.innerHTML = value}
var _$intext = function(name,value){(typeof name == "string") ? _$(name).innerText = value : name.innerText = value}
var _$value = function(name,value){(typeof name == "string") ? _$(name).value = value : name.value = value}
var _$db = function(name,parename){isNaN(parename) ? _$(name).disabled = true : ((typeof parename == "string") ? eval("_$('"+name+"','"+parename+"').disabled = true") : eval("_$('"+name+"',"+parename+").disabled = true"))} //锁定按钮
String.prototype.trim = function(){return this.replace(/(^\s*)|(\s*$)/g,"")} //清除前后空格
Number.prototype.toFixed = function(d){
/*保留小数, 四舍五入, 0.499.toFixed(0)
Math.floor() //取整数部分
Math.ceil() //小数进一
Math.round() //四舍五入*/
var s=this+"";if(!d)d=0;
if(s.indexOf(".")==-1)s+=".";s+=new Array(d+1).join("0");
if (new RegExp("^(-|\\+)?(\\d+(\\.\\d{0,"+ (d+1) +"})?)\\d*$").test(s)){
	var s="0"+ RegExp.$2, pm=RegExp.$1, a=RegExp.$3.length, b=true;
	if (a==d+2){a=s.match(/\d/g); if (parseInt(a[a.length-1])>4){
		for(var i=a.length-2; i>=0; i--) {a[i] = parseInt(a[i])+1;
		if(a[i]==10){a[i]=0; b=i!=1;} else break;}
	}
	s=a.join("").replace(new RegExp("(\\d+)(\\d{"+d+"})\\d$"),"$1.$2");
}if(b)s=s.substr(1);return (pm+s).replace(/\.$/, "");} return this+"";
}

var _$class = function(name){return document.getElementsByClassName(name)} //取到想要的Class对像
document.getElementsByClassName = function(eleClassName){
var getEleClass = []; //定义一个数组
var myclass = new RegExp("\\b"+eleClassName+"\\b");
var elems = this.getElementsByTagName("*"); //获取文档里所有的元素
for(var h=0; h<elems.length; h++){
var classes = elems[h].className; //获取Class对像
if(myclass.test(classes)) getEleClass.push(elems[h]); //正则比较
}
return getEleClass;
}

function XHR(){ //AJAX 创建XMLHttpRequest
var XHR = false;
try{XHR = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
    try{XHR = new ActiveXObject("Microsoft.XMLHTTP");
    }catch(e){XHR = false;}
}
if(!XHR && typeof XMLHttpRequest!="undefined"){XHR = new XMLHttpRequest();}
return XHR;
}

function getValue(url){ //AJAX返回数据
if(url==""){
alert("网址错误");
return false;
}
if(url.indexOf("?")==-1){url += "?rndnum="+escape(Math.random())}
else{url += "&rndnum="+escape(Math.random())}
var xmlHttp = new XHR();
xmlHttp.open("GET", url, false);
xmlHttp.send(null);
if(xmlHttp.status==200){ //服务端完成处理并返回数据
var ResponseText = unescape(xmlHttp.responseText);
return ResponseText;
}else{ //服务器出现异常
return "-2";
}
}

function doValue(url){ //AJAX不返回数据
if(url==""){
alert("网址错误");
return false;
}
if(url.indexOf("?")==-1){url += "?rndnum="+escape(Math.random())}
else{url += "&rndnum="+escape(Math.random())}
var xmlHttp = new XHR();
xmlHttp.open("GET", url, false);
xmlHttp.send(null);
if(xmlHttp.status==200){
return true;
}else{
alert("数据错误");
return false;
}
}

function request(name){ //获取URL参数
var strHref = top.location.href;
var intPos = strHref.indexOf("#");
var strRight = strHref.substr(intPos + 1);
var arrTmp = strRight.split("&");
for(var i=0; i<arrTmp.length; i++){
var arrTemp = arrTmp[i].split("=");
if(arrTemp[0].toUpperCase() == name.toUpperCase()) return unescape(arrTemp[1]);
}
return null;
}

function getPosX(obj){ //获取绝对坐标
	var posLeft = 0;
	while (obj.offsetParent){posLeft += obj.offsetLeft; obj = obj.offsetParent;}
	return posLeft;
}
function getPosY(obj){
	var posTop = 0;
	while (obj.offsetParent){posTop += obj.offsetTop; obj = obj.offsetParent;}
	return posTop;
}

function getStyle(obj,name){ //获取obj的CSS属性
	var elem = _$(obj);
	var style = elem.currentStyle ? elem.currentStyle : document.defaultView.getComputedStyle(elem,null);
	return style[name];
}
function setStyle(obj,styles){ //修改obj的CSS属性
/*使用例子: var styles = {"margin":"0 6px", "backgroundColor":"#cccccc"}; setStyle("obj",styles);*/
	var elem = _$(obj);
	for(var p in styles){
		elem.style[p] = style[p];
	}
	return elem;
}

function fontLength(oStr){ //检测字符长度
var iCount,sStr,strTemp;
iCount = 0;
if(oStr=="") return iCount;
sStr = oStr.split("");
for(var i=0; i<sStr.length; i++){
	strTemp = escape(sStr[i]);
	if(strTemp.indexOf("%u",0) == -1){iCount = iCount + 1;}
	else{iCount = iCount + 2;} //表示是汉字
}
return iCount;
}

function bindSize(oStr,oNum){ //截取字符
var x = 0;
var str = oStr.replace(/[\s\S]/g, function(d,i,s){
if(d.charCodeAt(0)>127) x++;
if(x+i>=oNum) return "";
return d;
});
return str;
}

function left(mainStr,lngLen){ //获取左边部分
	if(lngLen>0){return mainStr.substring(0,lngLen)}
	else{return null}
}
function right(mainStr,lngLen){ //获取右边部分
	if(mainStr.length>=0 && mainStr.length-lngLen>=0 && mainStr.length-lngLen<=mainStr.length){
		return mainStr.substring(mainStr.length-lngLen,mainStr.length)}
	else{return null}
}
function mid(mainStr,starnum,endnum){ //获取中间部分
	if(mainStr.length>=0){
		return mainStr.substr(starnum,endnum)
	}else{return null}
}

function addload(func){ //add a onload function
	if(window.attachEvent){ //IE
		window.attachEvent("onload", func);
	}else{ //Firefox
		window.addEventListener("load", func, false); //或者下面
		//window.addEventListener("DOMContentLoaded", func, false);
	}
}

function addclick(func){ //add a onclick function
	if(window.attachEvent){
		document.attachEvent("onclick", func);
	}else{
		document.addEventListener("click", func, false);
	}
}

/*For Firefox*/
function __firefox(){ //兼容Firefox的event对象,可以直接用 my=event.pageX, my=event.pageY
HTMLElement.prototype.__defineGetter__("runtimeStyle", __element_style);
window.constructor.prototype.__defineGetter__("event", __window_event);
Event.prototype.__defineGetter__("srcElement", __event_srcElement);
}
function __element_style(){return this.style;}
function __window_event(){return __window_event_constructor();}
function __event_srcElement(){return this.target;}
function __window_event_constructor(){
if(document.all){return window.event;}
var _caller = __window_event_constructor.caller;
while(_caller!=null){
var _argument = _caller.arguments[0];
if(_argument){
var _temp = _argument.constructor;
if(_temp.toString().indexOf("Event")!=-1){return _argument;}
}
_caller = _caller.caller;
}
return null;
}
if(window.addEventListener){__firefox();}

if(typeof(HTMLElement)!="undefined" && !window.opera){ //兼容Firefox的outerHTML,可以直接用 obj.outerHTML
HTMLElement.prototype.__defineGetter__("outerHTML",function(){
var a=this.attributes, str="<"+this.tagName, i=0;
for(;i<a.length;i++)if(a[i].specified)str+=" "+a[i].name+'="'+a[i].value+'"';
if(!this.canHaveChildren)return str+" />";
return str+">"+this.innerHTML+"</"+this.tagName+">";
});
HTMLElement.prototype.__defineSetter__("outerHTML",function(s){
var r=this.ownerDocument.createRange();
r.setStartBefore(this);
var df=r.createContextualFragment(s);
this.parentNode.replaceChild(df, this);
return s;
});
HTMLElement.prototype.__defineGetter__("canHaveChildren",function(){
return !/^(area|base|basefont|col|frame|hr|img|br|input|isindex|link|meta|param)$/.test(this.tagName.toLowerCase());
});
}
/*End Firefox*/