//Global JavaScript File
//Some public functions defined in this file

var currentpos,timer; 

//Trim input string's space
function MyTrim(inputStr) 
{
    return inputStr.replace(/(^\s*)|(\s*$)/g, "");
}

//return whether input str is null
function IsNull(inStr)
{
	if((inStr == null) || (inStr == ""))
		return true;
	return false;
}

//return if the input is valid date
function IsDate(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);
   intYear = strDateArray[0];
   intMonth = strDateArray[1];
   intDay = strDateArray[2];
   
   if(isNaN(intYear)||isNaN(intMonth)||isNaN(intDay)) return false;
   
   if(intYear < 1900 || intYear > 2079) 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;
}

//return if the input is valid time
function IsTime(strTime){
   var strSeparator = ":"; //日期分隔符
   var strTimeArray;
   var intHour;
   var intMinute;
   var intSecond;

   strTimeArray = strTime.split(strSeparator);
   
   if(strTimeArray.length!=3) return false;
   
   intHour = parseInt(strTimeArray[0],10);
   intMinute = parseInt(strTimeArray[1],10);
   intSecond = parseInt(strTimeArray[2],10);
   
   if(isNaN(intHour)||isNaN(intMinute)||isNaN(intSecond)) return false;
   
   if(intHour>23||intHour<0) return false;
   
   if(intMinute>59||intMinute<0) return false;
   
   if(intSecond>59||intSecond<0) return false;
   
   return true;
}

//check inStr consists of number 0-9
function IsNumber(inStr)
{
	var intNum;
	
	if (inStr==null) return false;
	intNum = new Number(inStr);
	if (isNaN(intNum))
	{
		return false;
	}
	if ((inStr.substring(0,1) != "-") && (inStr.substring(0,1) != "+") && (inStr.indexOf(".") == -1)){
		return true;
	}
	return false;
}

function IsNumeric(strString)
{
   var strValidChars = "0123456789.-";
   var strChar;
   var blnResult = true;

   //  test strString consists of valid characters listed above
   for (var i = 0; i < strString.length && blnResult == true; i++)
      {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)
         {
         blnResult = false;
         }
      }
   return blnResult;
}

function VerifyCreditHour(inStr)
{
	var dblCreditHour;
	
	if(IsNumeric(inStr))
	{
		dblCreditHour = parseFloat(inStr);
		//the value must >= 0 and < 100
		return ((dblCreditHour >= 0) && (dblCreditHour < 100))
	}
	return false;	
}

function OpenWin(iWidth,iHeight,sSrc)
{
	var sWinPrompt = "width=" + iWidth + ",height=" + iHeight + ",resizable=1,scrollbars=1";
	window.open(sSrc,"PopWindow",sWinPrompt);
}




///////////////////////////////////////////////////////////////////////////////////////////////
//Comment :load远端xml文件
function LoadRemoteXMLFile(httpStr)
{
	try
	{
	var LMSServerUrl="lms/viewer/LMSServer.asp";
	var ServerUrl=ServerRoot+LMSServerUrl;
	var iXMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
	iXMLHttp.Open("POST",ServerUrl, false);
	iXMLHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	iXMLHttp.Send("course_url="+httpStr+"&action=GetXML");
	return (iXMLHttp.responseBody);
	}
	catch(Exception)
	{
		alert(Exception.description);
	}
}



//无边框窗口
function noBorderWin(fileName,w,h,rs)  
{
	var nbw = window.open(fileName,'NoB','top=200, left=200,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=auto,resizable=' + rs + ',width='+w+',height='+h);
	//nbw.resizeTo(w,h);
	//nbw.moveTo((screen.width-w)/2,(screen.height-h)/2);  //把窗口移动到屏幕中央
   	nbw.focus();
  	return nbw;
}

function CheckStrForUpdate(iStr)
{
	try
	{
		var invalideStr=new Array();
	}
	catch(e)
	{
	}
}

function IsValidUserId(sUserId)
{
   var strValidChars = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-";
   var strChar;
   var blnResult = true;

   //  test strString consists of valid characters listed above
   for (var i = 0; i < sUserId.length && blnResult == true; i++)
      {
      strChar = sUserId.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)
         {
         blnResult = false;
         }
      }
   return blnResult;
}

//汪立10-23
//是否合法的电话
function IsPhone(vStr)
{
	var sPhoneStr,chr
	
	sPhoneStr = MyTrim(vStr)
		
	for(var i=0;i<sPhoneStr.length;)
	{
		chr = sPhoneStr.substring(i,i+1);
		if((chr == '-')||((chr >= '0') && (chr <= '9')))
			i++;
		else
			return false;
	}
	return true;			
}

//检查Email的合法性
//高微子 2002-11-25
function IsEmail(vStr)
{
	var result = /\w+@\w+\.\w+/;
  	if (result.test(vStr))
  	{
  		return true;
  	}else
  	{
  		return false;
  	}
}

//汪立10-23
//是否合法的email
/*function IsEmail_old(vStr)
{
	var sEmailStr,chr,ifAt,ifDot;
	
	sEmailStr = MyTrim(vStr)
	

	//首尾不能有@和.
	if ((sEmailStr.substring(0,1)==".")||(sEmailStr.substring(0,1)=="@"))
		return false;		
	if ((sEmailStr.substring(sEmailStr.length-1,sEmailStr.length)==".")||(sEmailStr.substring(sEmailStr.length-1,sEmailStr.length)=="@"))
		return false;		

	ifAt=0;
	ifDot=0;
	for(var i=0;i<sEmailStr.length;)
	{
		chr = sEmailStr.substring(i,i+1);
		if((chr == '@')||((chr >= '0') && (chr <= '9')) || ((chr >= 'a') && (chr <= 'z')) || ((chr >= 'A') && (chr <= 'Z')) ||(chr == '.') )
		{	
			//@必须出现一次,不能和.相连,前面不能已经出现过.
			if (chr=="@")
			{
				ifAt=ifAt+1;
				if ((ifAt>1)||(ifDot>0))
					return false;
				if ((sEmailStr.substring(i+1,i+2)==".")||(sEmailStr.substring(i-1,i)=="."))
					return false;
				
			}
			//.和.不能相连
			if (chr==".")
			{
				ifDot=ifDot+1;
				if ((sEmailStr.substring(i+1,i+2)==".")||(sEmailStr.substring(i-1,i)=="."))
					return false;
			}
			i++;
		}
		else
			return false;
	}
	if ((ifAt==0) || (ifDot==0))
		return false;
		
	return true;			
}
*/


//汪立10-23
//是否包含敏感字符
function HasSenseChar(vStr)
{
	var sCheckStr,chr
	
	sCheckStr = MyTrim(vStr)
		
	for(var i=0;i<sCheckStr.length;)
	{
		chr = sCheckStr.substring(i,i+1);
		if ((chr == '/')||(chr == '\\')||(chr == '[')||(chr == ']')||
			(chr == '%')||(chr == '<')||(chr == '>')||(chr == '?')||
			(chr == '*')||(chr == "'")||(chr == '"')||(chr == '|')||(chr == '!'))
			return false;
		else
			i++;
	}
	return true;			
}
//屏蔽鼠标右键		
function click(e)
{
	if (document.all)
	{
		if (event.button==2||event.button==3)
		{
			oncontextmenu='return false';
		}
	}
	sc();
}

function initialize() 
{ 
	timer=setInterval('scrollwindow()',10);
} 

function sc()
{
	clearInterval(timer);	
}
function scrollwindow() 
{ 
	currentpos=document.body.scrollTop; 
	window.scroll(0,++currentpos); 
	if (currentpos != document.body.scrollTop) 
		sc();
} 

document.onmousedown=click;
//document.oncontextmenu = new Function("return false;")

document.ondblclick=initialize