/**************************************************
函数名：FoundInArray
作  用：查询一个字符在一个一维数组所处的位置或二维数组中所代表的名字,如根据用户组ID查询用户组名
参  数：str:欲在数组中查询位置的字符串. array:欲搜索的数组. type:如果为-1，表示是一维数组,否则是二维数组,此时的Type表示欲查询此二维数组的那个列
返回值：如果返回-1，这表示没找到,否则返回改字符串在一维或二维数组中所处的位置.
**************************************************/
function FoundInArray(str,arrays,type){
	var tmp, found;
	if(type==-1){
		found = -1;
		for(var i=0;i<arrays.length;i++){
			if(arrays[i]==str){
				found = i;
				break;
			}
		}
	}else{
		found = -1;
		for(var i=0;i<arrays.length;i++){
			if(arrays[i][type]==str){
				found = i;
				break;
			}
		}
	}
	return found;
}


/**************************************************
函数名：XMLHTTPCheckStr
作  用：Ajax判断或返回参数
参  数：CheckObj:可以是一个Input对象,也可以是一个指定的字符串,如果为后者,表示查询条件是WhereStr=CheckObj. 
		CheckObjType:CheckObj的类型,CheckObjType:1表示是字符串,0表示是数字,2表示是boolean型, 3表示日期型, 
		ShowObj:显示提示的Element的ID名, ../method/AjaxCheck.asp?TableName=HS_User&FieldName=UserName&WhereStr=UserName&ReturnMsg=用户名合法！|有同名的会员名存在，请更换！&CheckType=1
		CheckType:对特使的CheckObj的附加判断,1:对会员名的字符合法性的判断,默认为-1,表示不进行附加判断
		ReturnMsg:返回信息以|分割,为空表示返回字段的值,否则返回判断信息
		WaitingTxt:字符串 
		FileAddr:欲提交的后台地址   
		EndFunction:如果不为空,单后台返回结果时,不是将结果显示在ShowObj中,而是执行函数EndFunction(getInfo)
返回值：
**************************************************/
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); 
function XMLHTTPCheckStr(CheckObj, CheckObjType, ShowObj, WaitingTxt, FileAddr, EndFunction){ 
	var xmlDom, URLStr, obj, CheckStr;
	xmlDom = new ActiveXObject("Msxml2.DOMDocument");
	obj = document.getElementById(CheckObj);
	if(obj==null){
		CheckStr = CheckObj;
	}else{
		CheckStr = str_safe(obj.value,'select');
		obj.value = CheckStr
	}
	//CheckObjType:1表示是字符串,0表示是数字,2表示是boolean型, 3表示日期型
	URLStr = FileAddr +"&CheckValue="+CheckStr+'&CheckValueType='+CheckObjType;
	//document.all.send_var.src=URLStr;
	xmlhttp.Open("POST", URLStr, true);
	//EndFunction:取回ajax结果后可以立即执行某一程序
	xmlhttp.onreadystatechange = function(){XMLHTTPCheckResult(ShowObj, EndFunction)}; 
	xmlhttp.Send(xmlDom);
	obj = document.getElementById(ShowObj);
	obj.innerText = WaitingTxt;
} 

function XMLHTTPCheckResult(ShowObj, EndFunction){ 
	var state = xmlhttp.readyState; 
	var xmlDom = new ActiveXObject("Msxml2.DOMDocument"); 
	if (state==4){ 
		xmlDom.loadXML(xmlhttp.responseXML.xml); 
		//alert(xmlDom.documentElement.selectSingleNode("//objXML").text) 
		var getInfo = xmlDom.documentElement.selectSingleNode("//objXML").text; 
		var obj = document.getElementById(ShowObj);
		if(EndFunction!=''){
			eval(EndFunction)
			obj.innerText = '';
		}else{
			obj.innerText = getInfo;
		}
		
	}
}

/**************************************************
函数名：JsQueryString
作  用：模仿asp的Request.QueryString()的功能
参  数：hrefstr:页面的地址字符串. para为欲查询的变量的名称
返回值：
**************************************************/
function JsQueryString(hrefstr, para){
	var str, str1, partn, ReturnValue;
	ReturnValue = '';
	patrn = /#*$/g;
	str = hrefstr.replace(patrn, '');
	str = str.substring(str.indexOf('?')+1);
	str = str.split('&');
	for(var i=0;i<str.length;i++){
		str1 = str[i].split('=');
		if(str1[0]==para){
			ReturnValue = str1[1];
			break;
		}
	}
	return ReturnValue;
}
