
/* JavaScript Document
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
*/
//--------------------------------------------------------
/*
功能:去除前后空格的函数
输入:字符串
输出:去除前后空格的字符串
*/
function jTrim(str)
{
	str=str.replace(/(^\s*)|(\s*$)/g, ""); 
	return str;
}
//-------------------------------------------------------
/*
功能:检查字串是否为空
输入:字符串
输出:boolean值,true:字符串为空,false:字符串不为空
*/
function isNothing(str)
{
	if(jTrim(str)=="")
		return true;
	else
		return false;
}
//--------------------------------------------------------
/*
功能:检查字串是否为整数
输入:字符串
输出:boolean值,true:整数,false:非整数
*/
function isInt(str)
{
	if(parseInt(str).toString()==str.substr(0))
		return true;
	else
		return false;
}
//------------------------------------------------------
/*
功能:生成随机整数
输入:最大值,最小值
输出:随机整数
*/
function rndInt(upperbound,lowerbound){
	return parseInt((upperbound - lowerbound + 1) * Math.random() + lowerbound)
}
//------------------------------------------------------
/*功能:图片缩放
输入:图片对像,宽度,高度
输出:无
*/
function zoomImg(Obj,width,height)
{
	var wh
	var hw
	
	var w
	var h
	var d,s=""
	if(Obj.id==""){
		var d = new Date();
		s += d.getHours();
		s += d.getMinutes();
		s += d.getSeconds();
		s += d.getMilliseconds();
		s += rndInt(1000,0)
		Obj.id="img"+s
	}
	if(Obj.width>0)
	{
		if(width==null)width=Obj.width;
		if(height==null)height=Obj.height;
		w=width/Obj.width;
		h=height/Obj.height;
		
		wh=w*Obj.height;
		hw=h*Obj.width
		if(wh<=height&&width<Obj.width)
		{
			Obj.width=width
			Obj.height=wh
		}
		if(hw<=width&&height<Obj.height)
		{
			Obj.width=hw
			Obj.height=height
		}
	}
	else
	{
		window.setTimeout("zoomImg("+Obj.id+","+width+","+height+")",100)
	}
}
//-----------------------------------------------------------------------------------------
/*功能:按钮单击模拟超链接以便Asp中获得Request.ServerVariables("HTTP_REFERER")的值
输入:URL
输出:无
*/
function buttonClick(URL)
{
	strA="<a style='display:none' id=buttonClickURL href='"+URL+"'>buttonClick</a>"
	document.body.insertAdjacentHTML("afterBegin",strA);
	document.all.buttonClickURL.click();
}
//------------------------------------------------------------------------------------------
/*
功能: 删除确认
输入:确认字串
*/
function delConfirm(str){
	return window.confirm(str)
}
//------------------------------------------------------------------------------------------
							//表单域检验函数开始
/*
检验类型:
表单域是否为空: RequiredFieldValidator
<span style="display:none;"><input type="hidden" id="validator" controltovalidate="表单域" errormessage="出错文本" evaluationfunction="RequiredFieldValidator" initialvalue="初始值" style="display:none;">RequiredFieldValidator</span>

表单域比较（与另一表单域或文本比较): CompareValidator
<span style="display:none;"><input type="hidden" id="validator" controltovalidate="要比较的表单域" errormessage="出错文本" type="比较的数据类型:string,integer,double,date" evaluationfunction="CompareValidator" controltocompare="受比较的表单域" valuetocompare="比较值" style="display:none;">CompareValidator</span>

表单域数据类型(检证表单域数据类型): TypeValidator
<span style="display:none;"><input type="hidden" id="validator" controltovalidate="表单域" errormessage="出错文本" evaluationfunction="typeValidator" type="数据类型:string,integer,double,date" style="display:none;">typeValidator</span>

表单域是否在范围内：RangeValidator，表单域附加：valid="Range" MaximumValue="最大值" MinimumValue="最小值"

表单域是否在正则表达式的范围内：RegularExpressionValidator,表单域附加:valid="RegularExpression" pattern="正则表达式"
<span style="display:none;"><input type="hidden" id="validator" controltovalidate="表单域" errormessage="出错文本" evaluationfunction="RegExpValidator" pattern="正则表达式" style="display:none;">RegExpValidator</span>

*/

//------------------------------------------------------------------------------------------
/*遍历hidden表单域检验对像,检验表单域
*/
function checkForm(formObj){
	var i
	var isValid=true;
	var errormessage="";
	//alert(document.formMember.abcd)
	if(typeof(formObj.validator)!="undefined"){
		if(typeof(formObj.validator.length)!="undefined"){
			for(i=0;i<formObj.validator.length;i++)
			{
				if(!eval(formObj.validator[i].evaluationfunction+"(formObj.validator[i]);")){
					errormessage+="- "+formObj.validator[i].errormessage+"\n";
					isValid=false;
				}
			}
		}
		else{
			if(!eval(formObj.validator.evaluationfunction+"(formObj.validator);")){
				errormessage+="- "+formObj.validator.errormessage+"\n";
				isValid=false;
			}
		}
	}
	if(!isValid)
		alert(errormessage);
	return isValid
}

//------------------------------------------------------------------------------------------
/*功能：表单域是否为空
输入：hidden表单域对象
输出： 布尔值
*/
function RequiredFieldValidator(hiddenObj){
	var validateObj;
	validateObj=eval("document.all."+hiddenObj.controltovalidate);
	if(jTrim(validateObj.value)==""){
		return false;
	}
	return true;
}
//------------------------------------------------------------------------------------------
/*
功能：表单比较
输入：hidden表单域对象
输出：布尔值
*/
function CompareValidator(hiddenObj){
	var isValid=true
	var validateObj
	var compareObj
	var compareTxt
	var type
	validateObj=eval("document.all."+hiddenObj.controltovalidate);
	compareTxt=hiddenObj.valuetocompare;
	if(typeof(eval("document.all."+hiddenObj.controltocompare))!="undefined"){
		compareObj=eval("document.all."+hiddenObj.controltocompare);
		compareTxt=compareObj.value;
	}
	type=hiddenObj.datatype;
	
	if(type=="string"){
		if(jTrim(validateObj.value)!=jTrim(compareTxt)){
			isValid=false;
		}
	}
	return isValid
}
//------------------------------------------------------------------------------------------
/*
表单域数据类型检验
输入：hidden表单域对象
输出：布尔值
*/
function typeValidator(hiddenObj){
	var isValid=true
	var validateObj
	var type
	validateObj=eval("document.all."+hiddenObj.controltovalidate);
	type=hiddenObj.datatype
	if(type=="integer"){
		if(!isNothing(validateObj.value))
		{
			if(!isInt(validateObj.value))
			{
				isValid=false;
			}
		}
	}
	if(type=="dateTime"){
		if(!isNothing(validateObj.value))
		{
			if(!jIsDate(validateObj.value)){
				isValid=false;
			}
		}
	}
	return isValid
}
//---------------------------------------------------------------------------------------------
/*
功能：使用正则表达式验证表单数据
输入：hidden表单域对象
输出：布尔值
*/
function RegExpValidator(hiddenObj) {
	var validateObj
	var pattern
	validateObj=eval("document.all."+hiddenObj.controltovalidate);
	pattern=hiddenObj.pattern

    var value=validateObj.value;
    if (ValidatorTrim(value).length==0)
        return true;        
    var rx = new RegExp(pattern);
    var matches = rx.exec(value);
    return (matches!=null && value==matches[0]);
}

//-------------------------------------------------------------------------------------------
/*
功能：判断字串非空长度
输入：字串
输出：数值：0为此字串只有空字符
*/
function ValidatorTrim(s) {
    var m = s.match(/^\s*(\S+(\s+\S+)*)\s*$/);
    return (m == null) ? "" : m[1];
}
							//表单域检验函数结束
//------------------------------------------------------------------------------------------
				
//---------------------------------------------------------------------------------------------
//功能:全选复选框或单选按扭
//输入:复选框或单选按扭对象
function allSelect(obj){
	if(typeof(obj.length)!="undefined"){
		for(var m=0;m<obj.length;m++){
			obj[m].checked=true;
		}
	}
	else{
		obj.checked=true;
	}
}
//---------------------------------------------------------------------------------------------
//功能:取消选择复选框或单选按扭
//输入:复选框或单选按扭对象
function cancelSelect(obj){
	if(typeof(obj.length)!="undefined"){
		for(var m=0;m<obj.length;m++){
			obj[m].checked=false;
		}
	}
	else{
		obj.checked=false;
	}
}
//------------------------------------------------------------------------------------------------
//功能:判断是否有选择其中的选项
//输入:复选框或单选按钮对象
//输出:True(有选择),False(无选择)
function isSelect(obj){
	if(typeof(obj.length)!="undefined"){
		for(m=0;m<obj.length;m++){
			if(obj[m].checked)
				return true;
		}
	}	
	else{
		if(obj.checked)
			return true;
	}
	return false;
}

//-------------------------------------------------------------------------------------------------
//功能:设置鼠标复盖时的样式
//输入:对象,颜色值
function mouseOver(obj,color){
	obj.style.cursor="hand";
	obj.style.backgroundColor=color;
}
//-------------------------------------------------------------------------------------------------
//功能:设置鼠标离开时的样式
//输入:对象,颜色值
function mouseOut(obj,color){
	obj.style.backgroundColor=color
}
//---------------------------------------------------------------------------------------------------
// 功能:检测浏览器属性
//例:
// var b = new BrowserInfo();
// alert(b.version); 
function BrowserInfo()
{
  this.name = navigator.appName;
  this.codename = navigator.appCodeName;
  this.version = navigator.appVersion.substring(0,4);
  this.platform = navigator.platform;
  this.javaEnabled = navigator.javaEnabled();
  this.screenWidth = screen.width;
  this.screenHeight = screen.height;
}
//功能:打开图片窗口
//输入:图片URL
function openImg(imgURL){
	var left=(screen.width-100)/2
	var top=(screen.height-100)/2
	imgWin=window.open("about:blank","","width="+100+","+"height="+100+",left="+left+",top="+top)
	imgWin.document.write("<html><head></head><body leftmargin='0' topmargin='0' marginwidth='0' marginheight='0'>")
	imgWin.document.write("<img id=tmpImg src='"+escape(imgURL)+"'></img>")
	imgWin.document.write("</brody></html>")
	imgWin.document.write("<")
	imgWin.document.write("script language=\"JavaScript\">")
	imgWin.document.write("function openImg(){if(tmpImg.readyState==\"complete\"){window.resizeTo(tmpImg.width+10,tmpImg.height+36);window.moveTo((screen.width-tmpImg.width)/2,(screen.height-tmpImg.height)/2)};else{window.setTimeout(\"openImg()\",500);}}openImg();")
	imgWin.document.write("<")
	imgWin.document.write("/script>")
}
//功能：检测日期格式
//输出：true:正确;false:不正确
function  jIsDate(strDate){  
     var  strSeparator  =  "-";  //日期分隔符  
     var  strDateArray;  
     var  intYear;  
     var  intMonth;  
     var  intDay;  
     var  boolLeapYear;  
               
     strDateArray  =  strDate.split(strSeparator);  
               
     if(strDateArray.length!=3){  
               return  false;  
     }  
               
     intYear  =  parseInt(strDateArray[0],10);  
     intMonth  =  parseInt(strDateArray[1],10);  
     intDay  =  parseInt(strDateArray[2],10);  
               
     if(isNaN(intYear)  ||isNaN(intMonth)  ||isNaN(intDay)){  
               return  false;  
     }                        
     if(intMonth>12  ||intMonth<1){  
               return  false;  
     }  
     if((intMonth==1  ||intMonth==3  ||intMonth==5  ||intMonth==7  ||intMonth==8  ||intMonth==10  ||intMonth==12)&&(intDay>31  ||intDay<1)){  
               return  false;  
     }  
     if((intMonth==4  ||intMonth==6  ||intMonth==9  ||intMonth==11)&&(intDay>30  ||intDay<1)){  
               return  false;  
     }                                
     if(intMonth==2){  
           if(intDay<1){  
                   return  false;  
           }                        
           boolLeapYear  =  false;  
           if((intYear%100)==0){  
                 if((intYear%400)==0)  boolLeapYear  =  true;  
           }  
           else{  
                 if((intYear%4)==0)  boolLeapYear  =  true;  
           }  
                     
           if(boolLeapYear){  
                 if(intDay>29){  
                       return  false;  
               }          
           }  
           else{  
                 if(intDay>28){  
                       return  false;  
                 }          
           }  
     }  
     return  true;  
}
//功能：弹出窗口
//输入：URL,宽,高,其它设置
function openWindow(URL,width,height,sFeatures){
	var left=(screen.width-width)/2
	var top=(screen.height-height)/2
	if(sFeatures==""){
		window.open(URL,"","width="+width+",height="+height+",top="+top+",left="+left)
	}
	else{
		window.open(URL,"","width="+width+",height="+height+",top="+top+",left="+left+","+sFeatures)
	}
}
