﻿String.prototype.trim=function(){
    var _re,_argument = arguments[0] || " ";
	typeof(_argument)=="string"? _re = new RegExp("(^"+_argument+"*)|("+_argument+"*$)","g") : _re = _argument;
    return this.replace(_re,"");
}
String.prototype.ltrim=function(){
    var _re, _argument = arguments[0] || " ";
	typeof(_argument)=="string"? _re = new RegExp("(^"+_argument+"*)","g") : _re = _argument;
    return this.replace(_re,"");
}
String.prototype.rtrim=function(){
    var _re, _argument = arguments[0] || " ";
	typeof(_argument) == "string" ? _re= new RegExp("("+_argument+"*$)","g"): _re=_argument;
    return this.replace(_re,"");
}
String.prototype.cint=function(){
    return this.replace(/\D/g,"")-0;
}

function extend(src,target){
	for (var key in target){
		src[key] = target[key];
	}
	return src;
}

function $(){
	return typeof(arguments[0])=="string"?document.getElementById(arguments[0]):arguments[0];
};

var Ajax={
	xmlhttp:function (){
		try{
			return new ActiveXObject('Msxml2.XMLHTTP');
		}catch(e){
			try{
				return new ActiveXObject('Microsoft.XMLHTTP');
			}catch(e){
				return new XMLHttpRequest();
			}
		}
	}
};
Ajax.Request=function (){
	if(arguments.length<2)return ;
	var _p = {asynchronous:true,method:"GET",parameters:""};
	extend(_p,arguments[1]);
	var _x=Ajax.xmlhttp();
	var _url=arguments[0];
	if(_p["parameters"].length>0) _p["parameters"]+='&_=';
	if(_p["method"].toUpperCase()=="GET") _url+=(_url.match(/\?/)?'&':'?')+_p["parameters"];
	_x.open(_p["method"].toUpperCase(),_url,_p["asynchronous"]);
	_x.onreadystatechange=function (){
		if(_x.readyState==4){
			if(_x.status==200)
				_p["onComplete"]?_p["onComplete"](_x):"";
			else
				_p["onError"]?_p["onError"](_x):"";
		}
	};
	for (var ReqHeader in _p["setRequestHeader"]){
		_x.setRequestHeader(ReqHeader,_p["setRequestHeader"][ReqHeader]);
	}
	//_x.setRequestHeader("If-Modified-Since","0");
	if(_p["method"].toUpperCase()=="POST")_x.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

	_x.send(_p["method"].toUpperCase()=="POST"?_p["parameters"]:null);

};

function StringBuffer(){
    this.data = [];
}

StringBuffer.prototype.append = function(){
    this.data.push(arguments[0]);
	return this;
}

StringBuffer.prototype.toString = function(){
    return this.data.join(arguments[0]||"");
};

Array.prototype.indexOf = function(){
	for (i=0; i<this.length; i++){
		if (this[i]==arguments[0])
			return i;
	}
	return -1;
}
Array.prototype.lastIndexOf = function(){
	for (i=this.length-1; i>=0; i--){
		if (this[i]==arguments[0])
			return i;
	}
	return -1;
}

function $E(str){
	return encodeURIComponent(str);
}

function request(paras){  //获取 url 的参数值，不区分大小写,如无此参数，返回空字符串.
	var url = location.href;
	var paraString = url.substring(url.indexOf("?")+1,url.length).split("&");
	var paraObj = {}
	for (i=0; j=paraString[i]; i++){
		paraObj[j.substring(0,j.indexOf("=")).toLowerCase()] = j.substring(j.indexOf("=")+1,j.length);
	}
	var returnValue = paraObj[paras.toLowerCase()];

	if(typeof(returnValue)=="undefined"){
		return "";
	}else{
		return returnValue;
	}
}

function getInputByChecked(CtrlName,parentN){   // input 控件名，父级元素（范围）
	if(arguments.length<1) return false;
	var boxObj = $(parentN) || document.documentElement;
	var _chked = [];
	var ipt = boxObj.getElementsByTagName("input");
	for(i=0; j=ipt[i]; i++){
		if(j.type!="radio" && j.type!="checkbox") continue;
		if(CtrlName!="" && j.name!=CtrlName) continue;
		if(j.checked==true){
			_chked.push(j);
		}
	}
	return _chked;  // 返回值是数组类型，通用 checkbox 与 radio
}
