//-------------------------------------------------
//---------- 控件操作 (Control Operation)----------
//-------------------------------------------------

//-------- input --------
//------ checkbox -----
//控制所有 checkbox 到某种状态
function CheckboxControl(strControlInput, strLastIndex)
{	
	var a = document.getElementsByTagName("input");
		
	var str;
	var len;
	var state;
		
		//查找自己的属性
		state = document.all(strControlInput).checked;
	
		//编辑所有范围内的属性
		for (var i = 0; i < a.length; i++)
		{
			if (a[i].type == "checkbox")
			{
				str = a[i].id;
				len = str.lastIndexOf(strLastIndex);
				
				if((len * 1) >= 1)
				{
					a[i].checked = state;
				}
			}
		}
}
//返回某种状态的 checkbox 数量
function CheckboxCount(blnState, strLastIndex)
{
	var intReturn = 0;
	
	var a = document.getElementsByTagName("input");
	
	var str;
	var len;
		
		//编辑所有范围内的属性
		for (var i = 0; i < a.length; i++)
		{
			if (a[i].type == "checkbox")
			{
				str = a[i].id;
				len = str.lastIndexOf(strLastIndex);
				
				if((len * 1) >= 1)
				{
					if (a[i].checked == blnState)
					{
						intReturn = intReturn + 1;
					}
				}
			}
		}
		
		return intReturn;
}
//返回某种状态的 checkbox 数值
function CheckboxValue(blnState, strLastIndex, strSign)
{
	var intReturn = 0;
	
	var a = document.getElementsByTagName("input");
	
	var str;
	var len;
		
		//编辑所有范围内的属性
		for (var i = 0; i < a.length; i++)
		{
			if (a[i].type == "checkbox")
			{
				str = a[i].id;
				len = str.lastIndexOf(strLastIndex);
				
				if((len * 1) >= 1)
				{
					if (a[i].checked == blnState)
					{
						if (intReturn == '')
						{
							intReturn = a[i].value;
						}
						else
						{
							intReturn = intReturn + strSign + a[i].value;
						}
					}
				}
			}
		}
		
		return intReturn;
}
//-------------------
//------ radio ------
//返回选中的 redio 的值
function RadioValue(strControlInput)
{
	var strReturn = "";
	var objInput = document.all(strControlInput);
		
		for (i = 0; i < objInput.length; i++)
		{
			if (objInput[i].checked)
			{
				strReturn = objInput[i].value;
			}
		}
		
		return strReturn;
}
//-------------------
//-----------------------

//-------- select --------
//获得下拉列表字段的文字
function SelectItemText(objS)
{
	var strReturn = '';
		
		if (window.document.all(objS).length == 0)
		{
			window.alert('没有内容！');
		}
		else if (window.document.all(objS).selectedIndex == -1)
		{
			window.alert('请选择内容！');
		}
		else
		{
			strReturn = window.document.all(objS).item(window.document.all(objS).selectedIndex).text;
		}
		
		return strReturn
}
//获得下拉列表字段的值
function SelectItemValue(objS)
{
	var strReturn = '';
		
		if (window.document.all(objS).length == 0)
		{
			window.alert('没有内容！');
		}
		else if (window.document.all(objS).selectedIndex == -1)
		{
			window.alert('请选择内容！');
		}
		else
		{
			strReturn = window.document.all(objS).item(window.document.all(objS).selectedIndex).value;
		}
		
		return strReturn
}
//选中下拉列表中的某一项
function SelectItemSelected(objS, intIndex)
{
	if (window.document.all(objS).length != 0)
	{
		if (window.document.all(objS).selectedIndex != -1)
		{
			window.document.all(objS).options(intIndex).selected = true;
		}
	}
}
//添加下拉列表中的条目
function SelectItemAdd(objD, strText, strValue)
{
	var addtext 	= strText;
	var addvalue 	= strValue;
	var objOption 	= document.createElement("option");
		
		window.document.all(objD).options.add(objOption);
		
		objOption.text 		= addtext;
		objOption.value 	= addvalue;	
		
		//window.document.all(objD).lastChild.selected = true;
}
//删除下拉列表中的条目
function SelectItemRemove(objS)
{
	if (window.document.all(objS).length > 0)
	{		
		if (window.document.all(objS).selectedIndex > -1)
		{
			window.document.all(objS).remove(window.document.all(objS).selectedIndex);
			
			if (window.document.all(objS).length > 0)
			{
				window.document.all(objS).lastChild.selected = true;
			}
		}
		else
		{
			window.alert('请选择内容！');
		}
	}
	else
	{
		window.alert('没有内容！');
	}
}
//删除下拉列表中的所有条目
function SelectItemClear(objS)
{
	var iLength = window.document.all(objS).length;
		
		if (iLength != 0)
		{
			for (var i = 0; i < iLength; i++)
			{
				window.document.all(objS).remove(0);
			}
		}
		else
		{
			window.alert('没有内容！');
		}
}
//将一个下拉列表中的条目添加到另外的下拉列表
function SelectItemSToD(objS, objD)
{
	var addtext 	= window.document.all(objS).item(window.document.all(objS).selectedIndex).text;
	var addvalue 	= window.document.all(objS).item(window.document.all(objS).selectedIndex).value;
	var objOption 	= document.createElement("option");
		
		window.document.all(objD).options.add(objOption);
		
		objOption.innerText = addtext;
		objOption.value 	= addvalue;	
		
		window.document.all(objD).lastChild.selected = true;
}
//返回下拉列表中的所有值,并且用给定符号分开.
function SelectItemsValueReturn(objS, strSign)
{
	var strReturn 			= '';
	var iSelectItemCount 	= window.document.all(objS).length;
	var strSelectItemValue 	= '';
	var i;
		
		for (i = 0; i < iSelectItemCount; i++)
		{
			strSelectItemValue = window.document.all(objS).item(i).value;
				
			if (strReturn == '')
			{
				strReturn = strSelectItemValue;
			}
			else
			{
				strReturn = strReturn + strSign + strSelectItemValue;
			}
		}
			
	return strReturn;
}
//判断一个数值是否在某个下拉列表中
function StringInSelectItems(objS, strString, strType)
{
	var blnReturn 			= false;
	var iSelectItemCount 	= window.document.all(objS).length;
	var strSelectItem 		= '';
	var i;
		
		if (SelectItemsValueReturn(objS, ',') != '')
		{
			for (i = 0; i < iSelectItemCount; i++)
			{
				if (strType == 'text')
				{
					strSelectItem = window.document.all(objS).item(i).text;
				}
				
				if (strType == 'value')
				{
					strSelectItem = window.document.all(objS).item(i).value;
				}
				
				if (strString == strSelectItem)
				{
					blnReturn 	= true;
					
					return blnReturn;
				}
			}
		}
		
	return blnReturn;
}
//判断一个数值是否在某个下拉列表中
function StringInSelectItemsNumber(objS, strString, strType)
{
	var intReturn 			= 0;
	var iSelectItemCount 	= window.document.all(objS).length;
	var strSelectItem 		= '';
	var i;
		
		if (SelectItemsValueReturn(objS, ',') != '')
		{
			for (i = 0; i < iSelectItemCount; i++)
			{
				if (strType == 'text')
				{
					strSelectItem = window.document.all(objS).item(i).text;
				}
				
				if (strType == 'value')
				{
					strSelectItem = window.document.all(objS).item(i).value;
				}
				
				if (strString == strSelectItem)
				{
					intReturn 	= i + 1;
					
					return intReturn;
				}
			}
		}
		
	return intReturn;
}
//------------------------
//-------------------------------------------------

//提示确认信息
function ConfirmOperate(strMessage)
{
	if (confirm(strMessage))
	{
		return true;
	}

	return false;
}
//打开新的网址
function URLReset(strDirect)
{
	window.document.location.href = strDirect;
}
//窗口模式打开网址
function URLOpen(strDirect, strName, strParameter)
{
	window.open(strDirect, strName, strParameter);
}
//返回某个控件个值
function ReturnControlValue(strControlName)
{
	return window.document.all(strControlName).value;
}
//设置某个控件个值
function SetControlValue(strControlName, strValue)
{
	window.document.all(strControlName).value = strValue
	
	return window.document.all(strControlName).value;
}
//返回输入框内数据长度
function ReturnControlValueLength(strControlName)
{
	var strValue = ReturnControlValue(strControlName);
		
		return strValue.length;
}
//判断输入框输入数据是否在制定长度范围内
function ControlValueBound(strControlName, iMinLength, iMaxLength, strMessage)
{
	var blnReturn = true;
		
	var strValueLength = ReturnControlValueLength(strControlName);
		
		if ((strValueLength < iMinLength) || (strValueLength > iMaxLength))
		{
			window.alert(strMessage);
			GetFocus(strControlName);
			blnReturn = false;
		}
		
		return blnReturn;
}
//检查是否为合法输入
function ValidateFormat(strValue, intSign)
{
	var blnReturn = true;
	
	var pattern = /^[　\s]*$/;
	
	switch(intSign)
	{
		case 1:
			//空字符
			pattern = /^[　\s]*$/;
			break;
		case 2:
			//邮件
			pattern = /^[a-zA-Z0-9\-\._]+@[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3})$/;
			break;
		case 3:
			//电话号码
			pattern = /(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/;
			break;
		case 4:
			//整数
			pattern = /^-?\d+$/;
			break;
		case 5:
			//小数
			pattern = /^\d+(\.\d+)?$/;
			break;
		case 6:
			//字符串(英文字母)
			pattern = /^[A-Za-z]+$/;
			break;
		case 7:
			//字符或数字
			pattern = /^[A-Za-z0-9]+$/;
			break;
		case 8:
			//汉字
			pattern = /^[\x00-\xff]*$/;
			break;
		case 9:
			//邮编
			pattern = /^\d{6}$/;
			break;
		case 10:
			//日期yyyy-mm-dd
			pattern = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;
			break;
		case 11:
			//时间hh:mm:ss 
			pattern = /^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/;
			break;
		case 12:
			//身份证 15位
			pattern = /^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{3})$/;
			break;
		case 13:
			//身份证 18位
			pattern = /^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\d)$/;
			break;
		case 14:
			//IP地址
			pattern = /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/;
			break;
		case 15:
			//手机号码
			pattern = /^0?1[3|5][0-9]{9}[^\d]?$/;
			break;
		case 16:
			//判断文件格式 Excel
			pattern = /\.xls$|\.XLS$/i;
			break;
	}

	if (!pattern.test(strValue)) 
	{
		//window.alert(pattern);
		blnReturn = false;
	}

	return blnReturn;
}
//判断某几个控件值是否相等
function ControlValueEqual(strControlName, strMessage)
{
	var aControlName = strControlName.split(',');
	var blnReturn = true;
	var i;
	
	if(aControlName.length > 1)
	{
	    for(i = 1; i < aControlName.length; i++)
	    {
		    if(ReturnControlValue(aControlName[0]) != ReturnControlValue(aControlName[i]))
		    {
		        window.alert(strMessage);
				GetFocus(aControlName[i]);
			    blnReturn = false;
			    break;
		    }
	    }
    }
    
	return blnReturn;
}
//判断某几个控件值是否为空
function ControlHaveValue(strControlName, strMessage)
{
	var aControlName = strControlName.split(',');
	var blnReturn = true;
	var i;
	
	for(i = 0; i < aControlName.length; i++)
	{
		if(ReturnControlValue(aControlName[i]) == '')
		{
		    window.alert(strMessage);
		    GetFocus(aControlName[i]);
			blnReturn = false;
			break;
		}
	}

	return blnReturn;
}
//使控件获得焦点
function GetFocus(strControlName)
{
	window.document.all(strControlName).focus();
}
//改变文字大小
function ChangeTextSize(objAreaName, iSize)
{
	document.getElementById(objAreaName).style.fontSize = iSize + "px";
}

function Open(url,winName,winWidth,winHeight)//打开自定义大小窗口
{
	//window.showModelessDialog(url,winName,'toolbar=no,location=no,status=no,hidefocus=true,menubar=no,scrollbars=no,resizable=no,width='+winWidth+',height='+winHeight)
	//window.showModalDialog(url,winName,'toolbar=no,location=no,status=no,hidefocus=true,menubar=no,scrollbars=no,resizable=no,width='+winWidth+',height='+winHeight)
	window.open(url,winName,'toolbar=no,location=no,status=no,hidefocus=true,menubar=no,scrollbars=yes,resizable=no,width='+winWidth+',height='+winHeight)
}

function HiddenMenu(strControlName)
{
	strControlName.style.display = 'none';
}

function SwitchMenu(strControlName)
{
	//显示/隐藏行
	if (strControlName.style.display == '')
	{
		strControlName.style.display = 'none';
	}
	else
	{
		strControlName.style.display = '';
	}
}

function menu_item(objMenu, objImage)
{
	//显示/隐藏行
		
	if (window.document.all(objMenu).style.display == '')
	{
		window.document.all(objImage).src 			= 'images/menu_plus.gif';
		window.document.all(objMenu).style.display 	= 'none';
	}
	else
	{
		window.document.all(objImage).src 			= 'images/menu_nofollow.gif';
		window.document.all(objMenu).style.display 	= '';
	}
}

function add_favorite(strURL, strName)
{
	window.external.addFavorite(strURL, strName);
}
//返回左边指定长度字符串
function GetStringLeft(strString, intLength) 
{
	var strLeft = strString;
		
		strLeft = strLeft.substring(0, intLength);
		
		return strLeft;
}
//返回右边指定长度字符串
function GetStringRight(strString, intLength) 
{
	var strRight = strString;
		
		strRight = sr.substring(strRight.length - intLength, strRight.length);
		
		return strRight;
}
//利用XML执行页面
function GetURLCode(strURL, strMethod)
{
	var strResult = '';
	
	var objXML = new ActiveXObject("Microsoft.XMLHTTP")
		
		objXML.open(strMethod, strURL, false);
		
		objXML.send();
		
		strResult = objXML.responseText;
		
		if (objXML.status == "200")
		{
			return strResult;
		}
		else
		{
			return "{Error Read}";
		} 
}

function DisplayMessage(strMessageBody, strObjID)
{
	var infoboard = document.getElementById(strObjID);
		
		if (strMessageBody != "{Error Read}")
		{
			infoboard.innerHTML = strMessageBody;
		}
		else
		{
			infoboard.innerHTML = "数据读取错误...";
		}
}

function Add_Control(strControlArea, strPlace, strControlCode)
{
	var strControlCode = strControlCode;
		
		window.document.getElementById(strControlArea).insertAdjacentHTML(strPlace, strControlCode);
}