
// 判断i_Number是不是一个介于i_From、i_To的数字
// 调用 bNumberMiddle( '25' ,'5' ,'46')
function bNumberMiddle ()	{
	var iArg =  arguments.length;
	if (iArg != 3)
		return false;
	var i_Number = arguments[0];	
	var i_From = arguments[1];
	var i_To = arguments[2];
	if ( isNaN(i_Number) )
		return false;
	if ( isNaN(i_From) )
		return false;
	if ( isNaN(i_To) )
		return false;
		
	i_Number = parseFloat(i_Number);
	i_From = parseFloat(i_From);
	i_To = parseFloat(i_To);
	
	if ( i_Number>=i_From && i_Number<= i_To )
		return true;
	else
		return false;
}

// 判断是不是一个整型数
// 调用 bInteger('123')
function bInteger(){
	var iArg =  arguments.length;
	if (iArg != 1)
		return false;
	var i_Number = arguments[0];
	var iTemp = 0;
	if (isNaN(i_Number))
		return false;
	iTemp = parseInt(i_Number,10);
	if (iTemp==i_Number)
		return true;
	else
		return false;
}

// 判断是不是一个Float
// 调用 bFloater('123.123')
function bFloater(){
	var iArg =  arguments.length;
	if (iArg != 1)
		return false;
	var i_Number = arguments[0];
	var dTemp = 0;
	if ( isNaN(i_Number) )
		return false;
	dTemp = parseFloat (  i_Number );
	if ( dTemp == i_Number)
		return true;
	else
		return false;	
}


// 日期是否合法
// 调用 bValidDay('2001-1-2')
function bValidDate(){
	var iArg =  arguments.length;
	if (iArg != 1)
		return false;
	var dDate = arguments[0];
	var aYMD = dDate.split("-");
	if ( aYMD.length != 3 )
		return false;	
	var iYear  = trim( aYMD[0] );
	var iMonth = trim( aYMD[1] );
	var iDay   = trim( aYMD[2] );	
	return( CheckDateValid( iYear , iMonth , iDay ) );
}

// 格式: 05/01/2001 (2001年5月1日)
function bValidDate2(){
	var iArg =  arguments.length;
	if (iArg != 1)
		return false;
	var dDate = arguments[0];
	var aYMD = dDate.split("/");
	if ( aYMD.length != 3 )
		return false;	
	var iYear  = trim( aYMD[2] );
	var iMonth = trim( aYMD[0] );
	var iDay   = trim( aYMD[1] );	
	return( CheckDateValid( iYear , iMonth , iDay ) );
}

function CheckDateValid( iYear , iMonth , iDay ){
	if ( bInteger(iYear)==false || bInteger(iMonth)==false || bInteger(iDay)==false )
		return false;
	if ( iYear.length!=4 || iMonth.length<1 || iMonth.length>2 || iDay.length<1 || iDay.length>2 )
		return false;

	iYear = parseInt(iYear,10);
	iMonth = parseInt(iMonth,10);
	iDay = parseInt(iDay,10);
	
	if ( iYear>2999  || iYear<1000)
		return false;
	
	if ( iMonth>12 || iMonth<1 )
		return false;
		
	if ( iDay>31 || iDay<1 )
		return false;
		
	if( iMonth==2 ){	
		if ( (iYear%4)==0 )	{
			if ( iDay<1 || iDay>29 )
				return false;
		}else{				
			if (  iDay<1 || iDay>28 )
				return false;
		}
	}else if( iMonth==1 ||iMonth==3 ||iMonth==5 ||iMonth==7 ||iMonth==8 || iMonth==10 ||iMonth==12 )	{
			if( iDay<1 || iDay>31 )
				return false;	
	}else{	// 4,6,9,11:
		if( iDay<1 || iDay>30 )
			return false;
	}

	return true;
}


// 判断是否为合法的邮件地址
// 调用: bEmail("youeamil@domain.com")
function bEmail(){
	var iArg =  arguments.length;
	if (iArg != 1)
		return false;
	var strEmail = arguments[0];
	var iLen = strEmail.length;
	if (iLen<=3)
		return false;
		
	var iAtS = strEmail.indexOf("@");
	if (iAtS<=1)
		return false;
		
	var iAtLDot = strEmail.lastIndexOf(".");
	if (iAtLDot<=1)
		return false;
		
	if (  Math.abs ( iAtLDot - iLen) <3 || Math.abs( iAtS - iLen )<2 || Math.abs( iAtS - iAtLDot )<2 || iAtLDot< iAtS )
		return false;
	
	return true;
}


// 判断字符串是否含有非法字符：  ' " < >
// 调用：　bInValidChar( strYourString ) 。若含有非法字符，则返回true；反之,false。
function bInValidChar(){
	var strString = arguments[0];
	if ( typeof(strString)=="undefined")
		return false;
	
	var CharArray = new Array( "'" , "\"", "<" , ">" );			// 非法字符列表,这里只处理单个字符
	var iVaidAt;
	var i;
	for ( i=0 ; i< CharArray.length ; i++ ){
		iVaidAt = strString.indexOf( CharArray[i] );
		if (iVaidAt>=0)
			return true;
	}
	return false;
}


// 判断字符串是否含有双引号：   "
// 调用：　bInValidChar2( strYourString ) 。若含有，则返回true；反之,false。
function bInValidChar2(){
	var strString = arguments[0];
	if ( typeof(strString)=="undefined")
		return false;	
	var CharArray = new Array( "\"" );			// 非法字符列表,这里只处理 "
	var iVaidAt;
	var i;
	for ( i=0 ; i< CharArray.length ; i++ ){
		iVaidAt = strString.indexOf( CharArray[i] );
		if (iVaidAt>=0)
			return true;
	}
	return false;
}


// 把非法字符串转为合法字符串: abcd'efg转为abcd''efg
// 调用：ChangInToValid( strYourString )
function ChangInToValid(){
	var iArg =  arguments.length;
	if (iArg != 1)
		return("");
	var strString = arguments[0];
	if ( typeof(strString)=="undefined")
		return("");
		
	var CharArray = new Array( "'");			// 非法字符或字符串列表
	var iVaidAt,i;
	for ( i=0 ; i< CharArray.length ; i++ ){
		strString = Replace( strString , CharArray[i] , CharArray[i] + CharArray[i] )
	}
	return (strString);
	
}

// 删除字符串左边的空格
function ltrim(){
	var iArg =  arguments.length;
	if (iArg != 1)
		return("");
	var strString = arguments[0];	
	if ( typeof(strString)=="undefined" )
		return("");
	var CharTemp , i;
	var iLen = strString.length;
	for ( i = 0 ; i < iLen ; i ++ )	{
		CharTemp = strString.substring(i,i+1);
		if ( CharTemp != " " && CharTemp != "　")			
			break;
	}
	strString = strString.substring(i);
	return(strString);
}

// 删除右边的空格
function rtrim(){
	var iArg =  arguments.length;
	if (iArg != 1)
		return("");
	var strString = arguments[0];	
	if ( typeof(strString)=="undefined" )
		return("");
	var CharTemp , i;
	var iLen = strString.length;
	for ( i = iLen-1 ; i >-1 ; i -- )	{
		CharTemp = strString.substring(i,i+1);
		if ( CharTemp != " " && CharTemp != "　")			
			break;
	}
	strString = strString.substring(0,i+1);
	return(strString);
}

// 删除左右的空格
function trim( str_input_string )	{
	return( rtrim( ltrim(str_input_string) ));
}

// 字符串替换
function Replace( str , substr , substitute ){
    if (str == null) 
	str = "";
    var retstr = str;
    if (substr==null) 
	substr="";
    var substrlen = substr.length;
    var pos = retstr.indexOf(substr);
    var temp,half;
    while(pos != -1)	{
        temp = retstr.substring(0,pos);
        if(temp==null) 
		temp = "";
        if(substitute==null) 
		substitute = "";
        temp = temp+substitute;
        pos = pos+substrlen;
        half = retstr.substring(pos);
        if( half == null ){
            retstr = temp;
            break;
        }else{
            if(half.indexOf(substr)==-1){
                pos=-1;
            }else{
                pos=half.indexOf(substr) + temp.length;
            }
        }
        retstr = temp+half;
    }
    return retstr;
}



// Cook操作   ----  start -----
function getCookieVal (offset){
   var endstr = document.cookie.indexOf (";", offset);
   if (endstr == -1)
      endstr = document.cookie.length;
   return unescape(document.cookie.substring(offset, endstr));
}

function GetCookie (name)	{
	var arg = name + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;
	while (i < clen)	{
		var j = i + alen;
		if (document.cookie.substring(i, j) == arg)
			return getCookieVal (j);
		i = document.cookie.indexOf(" ", i) + 1;
		if (i == 0) 
			break; 
	}
	return null;
}

function SetCookie ( name, value ) {
	expdate = new Date();
	expdate.setTime(expdate.getTime() +  (24 * 60 * 60 * 1000 * 365) );
	SetCookieTest( name, value , expdate );
}

function SetCookieTest (name, value, t2 ) {  
	var argv = SetCookieTest.arguments;
	var argc = SetCookieTest.arguments.length;
	var expires = (2 < argc) ? argv[2] : null;
	expires  = t2
	var path = (3 < argc) ? argv[3] : null;
	var domain = (4 < argc) ? argv[4] : null;
	var secure = (5 < argc) ? argv[5] : false;
	document.cookie = name + "=" + escape (value)+ ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + ((domain == null) ? "" : ("; domain=" + domain)) +    ((secure == true) ? "; secure" : "");
   
}

// Cook操作   ----  end -----


// 打印功能
// 第一个参数: 0,当前窗口；1，新窗口

function TempPrint()	{
	var iArg =  arguments.length;
	var iNew_Window = 0;
	
	// 第一个参数是：在新窗口中打印
	if (iArg >=1)
		iNew_Window = arguments[0];	
	
	var iPrintLen = document.styleSheets.length;
	var strPrintStyle = "";
	var i_Loop;
	for (i_Loop=0;i_Loop<iPrintLen;i_Loop++)	{
		strPrintStyle += "<link rel=stylesheet href=\""+ document.styleSheets[i_Loop].href + "\">" ;
	}
	var strPrint = "";
	strTest  = strPrintStyle;
	strTest += "<br><center><span id=SpanForPrint><input type='button' name='Button' value='打 印' onclick='javascript:PrintNow()'>   ";
	
	if ( iNew_Window ){
		strTest += "<input type='button' name='Button' value='关 闭' onclick='javascript:self.close()'><\/span><\/center>";
	}else	{
		strTest += "<input type='button' name='Button' value='返 回' onclick='javascript:history.back()'><\/span><\/center>";
	}
	
	strTest += "<script language='javascript'>function PrintNow(){SpanForPrint.style.display='none';";
	strTest += "window.print();SpanForPrint.style.display='';}<\/script>";
	strPrint +=   iSchool_Print.innerHTML + strTest;
	
	if ( iNew_Window )	{
		print_win = window.open( "" , "_blank" , "width=800,height=600" );
		print_win.document.write(strPrint);	
	}else	
		document.write(strPrint);
		
}


// 得到字节的长度：汉字2，英文和数字1
function GetLength()	{
	var iArg =  arguments.length;
	if (iArg != 1)
		return(0);
	var iLen=0,i,TChar;
	var strString = arguments[0];
	for(i=0;;i++){
		TChar = strString.charAt(i);		
		if ( TChar=="" || TChar==null )
			break;		
		if ( parseFloat( TChar.charCodeAt() ) > 255 )
			iLen += 1;			
		iLen += 1;
	}	
	return(iLen);	
}

// 截字符串的长度。
// 调用: GetSub( 字符串 , 开始点 , 长度 ) 或者 GetSub( 字符串 , 开始点 )		
function GetSub(){
		var iArg =  arguments.length;
		var strReturn;
		if ( iArg < 2)
			return("");			
		var str_Temp = arguments[0];	
		var i_From,i_Len;		// 参数：开始点与截取的长度
		var i_CEnd;				// 转换后的长度
		var iLen,TChar,i,jEnglish;
		i_From = 0;
		i_Len  = 0;		
		i_CEnd  = 0;
		
		iLen = str_Temp.length;
		i_From = arguments[1];
		if ( bInteger(i_From)==false )
			i_From = 0;	
		if ( iArg>2 )
			i_Len = arguments[2];
			
		if ( bInteger(i_Len)==false )
			i_Len = iLen;
		if ( i_Len<=0 )
			i_Len = iLen;		
		jEnglish = 0;	
		for( i=i_From ; ; i++ ){
			TChar = str_Temp.charAt(i);		
			if ( TChar=="" || TChar==null )
				break;		
			if ( parseFloat( TChar.charCodeAt() ) > 255 )
				i_CEnd += 1;
			i_CEnd += 1;
			jEnglish +=1;
			if ( i_CEnd>=i_Len )
				break;
		}
		i_CEnd = jEnglish;
		i_CEnd += i_From;
		strReturn = str_Temp.substring( i_From , i_CEnd ) ;
		return( strReturn )

}

// 功能：检查字符串是否含有中文，有中文，返回true；反之，返回false。
// 调用：bChinese( strYourStr )
function bChinese(){
	var iArg =  arguments.length;
	var strString,TChar,i,bTrue,iLen;
	if (iArg != 1)
		return false;	
	strString = arguments[0];
	iLen = 	strString.length;
	bTrue = false;
	for( i=0 ; i<iLen ; i++ ){
		TChar = strString.charAt(i);		
		if ( TChar.charCodeAt() > 255 ){
			bTrue = true;
			break;
		}
	}
	return(bTrue);
}

// 功能：检查是否为字符串(大小写)、数字(0-9)和下划线( _ )
// 调用：bChrAndNum()，只含有上述的字符，则返回true；反之false。
function bChrAndNum()	{
	var bReturn = true;
	var iArg =  arguments.length;
	if (iArg != 1)
		return(false);
	var strString = arguments[0];	
	for( i=0;i< strString.length ; i++ )	{
		j = strString.charCodeAt(i);
		if ( !( ((j>=48)&&(j<=57)) || (j<0) || ((j>=65)&&(j<=90)) || ((j>=97)&&(j<=122)) ||  j==95 )  )	{			
			bReturn=false;
			break;
		}
	}
	return(bReturn);
}


//功能：检测题库上传文件是否为可用图片文件或多媒体文件的函数
//调用：FileCheck(string,no),string为要检测的文件地址，no为1时是多媒体文件，0时是图片文件
function FileCheck(string,no){
	var pos;
	var i;
		
	if ((typeof string) != "string"){
		return false;
	}
		
	pos = string.lastIndexOf(".");
		
	if (pos == -1){
		return false;
	}
	str = string.substring(pos + 1).toUpperCase();	//将后缀名转为大写
	check = 0;
	pic_ary = new Array("GIF","JPG","PNG");
		
	video_ary = new Array("RM","AVI","ASF");

	pic2_ary = new Array("SWF","GIF","JPG","PNG");
	
	audio_ary = new Array("MID");
	
	if(no==0){
		for(i=0;i<pic_ary.length;i++){
			if(str==pic_ary[i])
				check=1;	
		}
	}
		
		
	
	if(no==1){
		for(i=0;i<video_ary.length;i++){
			if(str==video_ary[i])
				check=1;	
		}
	}
	


	if(no==2){
		for(i=0;i<pic2_ary.length;i++){
			if(str==pic2_ary[i])
				check=1;	
		}
	}

	if(no==3){
		for(i=0;i<audio_ary.length;i++){
			if(str==audio_ary[i])
				check=1;	
		}
	}
		
	if(check==1)
		return true;
	else
		return false;
}
// Last updated on 2002.06.14