//表单函数集
//伍德祥
//2005-12-8增加新功能
//2005-12-4增加新功能
//2005-12-1增加新功能
//2005-11-25


//2005-12-8
//将名称为sName的表单的ID值设置为Name值
function SetIDToName(sName){
	var oInputs=document.getElementsByName(sName);
	var iCount=0;
	while(iCount<oInputs.length){
		oInputs[iCount].name=oInputs[iCount].id;
		iCount++;
	}
}

//200512-4
//自动勾选某类Checkbox
//iRange:勾选方式
//		1:勾选未勾选的
//		2:取消已勾选的
//		4:勾选指定的iNumber数目
//		8:勾选iSelectedNumber数目,且iSelectedNumber自增1
//		16:勾选iSelectedNumber数目,且iSelectedNumber自减1
//		32:以sRefer为参考,即Checkbox的值必须位于sRefer的值中
//		64:限定在oContainer之中,即进行勾选的Checkbox必须是OContainer的子元素
function Select(sName,iRange,iNumber,sRefer,oContainer){
	var oInputs;
	var iCount=0;
	var iSelectedNum=0;
	if(oContainer!=null&&(iRange&64)==64){
		try{
			oInputs=new Array();
			iCount=0;
			var oAllInputs=oContainer.getElementsByTagName("INPUT");
			while(iCount<oAllInputs.length){
				if(oAllInputs[iCount].type=="checkbox"){
					oInputs[oInputs.length]=oAllInputs[iCount];
				}
				iCount++;
			}
		}
		catch(err){
			return 0;
		}
	}
	else{
		oInputs=document.getElementsByName(sName);
	}
	iCount=0;
	window.execScript("var iSelectedNumber"+sName+"=0;","javascript");
	if((iRange&4)!=4){
		iNumber=oInputs.length;
	}
	else{
		if(iNumber==null){
			iNumber=oInputs.length;
		}
	}
	if((iRange&8)==8){
		iNumber=eval("iSelectedNumber"+sName);
		if(iNumber<oInputs.length){
			iNumber++;
			window.execScript("iSelectedNumber"+sName+"++;","javascript");
		}
	}
	if((iRange&16)==16){
		iNumber=eval("iSelectedNumber"+sName);
		if(iNumber>0){
			iNumber--;
			window.execScript("iSelectedNumber"+sName+"--;","javascript");
		}
	}
	try{
		var sValue=new String("");
		if((iRange&32)==32&&sRefer!=null&&sRefer!=""){
			sValue=GetInput(sRefer)+",";
		}
		while(iCount<oInputs.length||iNumber<1){
			if(oInputs[iCount].tagName&&oInputs[iCount].tagName=="INPUT"){
				if(oInputs[iCount].type=="checkbox"){
					if((iRange&32)==32&&sValue!=""){
						if(sValue.indexOf(oInputs[iCount].value)<0){
							if((iRange&1)==1){
								oInputs[iCount].checked=false;
							}
							else if((iRange&2)==2){
								oInputs[iCount].checked=true;
							}
						}
						else{
							if((iRange&1)==1){
								oInputs[iCount].checked=true;
							}
							else if((iRange&2)==2){
								oInputs[iCount].checked=false;
							}
						}
						if(oInputs[iCount].checked==true){
							iSelectedNum++;
						}
					}
					else{
						if((iRange&1)==1&&oInputs[iCount].checked==false){
							oInputs[iCount].checked=true;
						}
						else if((iRange&2)==2&&oInputs[iCount].checked==true){
							oInputs[iCount].checked=false;
						}
						if(oInputs[iCount].checked==true){
							iSelectedNum++;
						}
					}
					iNumber--;
				}
			}
			iCount++;
		}
	}
	catch(err){
	}
	return iSelectedNum;
}

//2005-12-1
//使某个字段获得焦点
//sName		:名称或者标识
//iSetting	:设置 1,按名称 2,按标识
function Focus(sName,iSetting){
	if(iSetting==null)
	{
		iSetting=1;
	}
	var oInputs;
	if(iSetting==1)
	{
		oInputs=document.getElementsByName(sName);
		var iCount=0;
		while(iCount<oInputs.length){
			oInputs[0].focus();
			break;
		}
	}
	else
	{
		oInputs=document.getElementById(sName);
		if(oInputs)
		{
			oInputs.focus();
		}
	}
}

//获得一个表单的递交地址
//sName:表单名称或者标识
function GetSubmitUrl(sName){
	var oForm=GetForm(sName);
	if(oForm==null){
		return "";
	}
	var iCount;
	var oInputs=oForm.getElementsByTagName("input");
	var sUrl=new String(oForm.action);
	iCount=0;
	while(iCount<oInputs.length){
		var oInput=oInputs[iCount];
		if(oInput.type=="text"||oInput.type=="hidden"||((oInput.type=="checkbox"||oInput.type=="radio")&&oInput.checked==true)){
			if(iCount>0||sUrl.indexOf("?")>=0){
				sUrl+="&";
			}
			else{
				sUrl+="?";
			}
			sUrl+=oInput.name+"="+oInput.value;
		}
		iCount++;
	}
	oInputs=oForm.getElementsByTagName("textarea");
	iCount=0;
	while(iCount<oInputs.length){
		var oInput=oInputs[iCount];
		if(iCount>0||sUrl.indexOf("?")>=0){
			sUrl+="&";
		}
		else{
			sUrl+="?";
		}
		sUrl+=oInput.name+"="+oInput.value;
		iCount++;
	}
	oInputs=oForm.getElementsByTagName("select");
	iCount=0;
	while(iCount<oInputs.length){
		var oInput=oInputs[iCount];
		if(iCount>0||sUrl.indexOf("?")>=0){
			sUrl+="&";
		}
		else{
			sUrl+="?";
		}
		sUrl+=oInput.name+"="+oInput.value;
		iCount++;
	}
	return sUrl;
}

//获取某个表单的字段
//sName:依据
//sForm:表单名或者标识,如果不指定表单,则获取页面上所有的表单
//iSetting:设置,不指定,则默认为1
//		1:根据Name获取
//		2:根据ID获取
function GetInput(sName,sForm,iSetting){
	var oValues;
	var iCount=0;
	if(iSetting==null){
		iSetting=1;
	}
	if(iSetting==2){
		oValues=document.getElementById(sName);
		if(oValues==null){
			return "";
		}
		else{
			return oValues.value;
		}
	}
	if(sForm==null){
		oValues=document.getElementsByName(sName);
	}
	else{
		var oForm=GetForm(sForm);
		if(oForm==null){
			return "";
		}
		var oInputs=oForm.getElementsByTagName("input");
		var oSelects=oForm.getElementsByTagName("select");
		var oTexts=oForm.getElementsByTagName("textarea");
		oValues=new Array();
		var iCountS=0;
		//获取Input集合
		iCount=0;
		while(iCount<oInputs.length){
			if(oInputs[iCount].name==sName){
				oValues[iCountS++]=oInputs[iCount];
			}
			iCount++;
		}
		//获取Select集合
		iCount=0;
		while(iCount<oSelects.length){
			if(oSelects[iCount].name==sName){
				oValues[iCountS++]=oSelects[iCount];
			}
			iCount++;
		}
		//获取Textarea集合
		iCount=0;
		while(iCount<oTexts.length){
			if(oTexts[iCount].name==sName){
				oValues[iCountS++]=oTexts[iCount];
			}
			iCount++;
		}
	}
	var sValue="";
	while(iCount<oValues.length){
		var oValue=oValues[iCount];
		if(oValue.type=="checkbox"||oValue.type=="radio"){
			if(oValue.checked==false){
				iCount++;
				continue;
			}
		}
		if(sValue==""){
			sValue=oValue.value;
		}
		else{
			sValue+=","+oValue.value;
		}
		iCount++;
	}
	return sValue;
}

//获取表单对象
function GetForm(sName){
	var oForm=document.forms[sName];
	var iCount;
	if(oForm==null){
		oForm=document.getElementById(sName);
		if(oForm==null){
			var oForms=document.getElementsByTagName("form");
			iCount=0;
			while(iCount<oForms.length){
				if(oForms[iCount].name==sName){
					oForm=oForms[iCount];
					break;
				}
				iCount++;
			}
		}
	}
	return oForm;
}