var ROOT_URL;
function initMs(url)
{
	ROOT_URL = url;
}

/**
 *检测是否是否非空
 *inputStr     输入的字符串
 *infoHeader   文本框描述,如果为空则不出现提示框
 *返回:        非空:true; 空: false
 **/
function isNotNull(inputStr, infoHeader) 
{
	if (inputStr == null || inputStr == "")
   	{ 
       	if ( (infoHeader!=null) && (infoHeader.length>0) )
		{
            alert(infoHeader + "不能为空!");
		}
       	return false;
 	}
 	 
    for (; inputStr.substring(0,1)==" "; )
    {
     	inputStr=inputStr.substring(1,inputStr.length);
    }
    for (; inputStr.substring(inputStr.length-1,inputStr.length)==" "; )
    {
    	inputStr=inputStr.substring(0,inputStr.length-1);
    }

    if ((inputStr!=null) && ( inputStr.length > 0 )) 
	{
 		return true;
 	}
    else
    {
       	if ( (infoHeader!=null) && (infoHeader.length>0) )
		{
            alert(infoHeader + "不能为空!");
		}
       	return false;
     }
}

/**
 *检测字符串是否在范围内
 *inputStr      输入的字符串
 *minSize       最小长度
 *maxSize       最大长度
 *infoHeader    文本框描述,如果为空则不出现提示框
 *返回:         true或false
 **/
function isInRange(inputStr, minSize, maxSize, infoHeader)
{  
	if( !isNotNull(inputStr, infoHeader) )
	{ 
		return false;
	}
	
   	var ret = true; 
 
 	var realLen = getLength(inputStr, infoHeader, false);
     
   	if ( realLen < minSize )
	{
		if ( (infoHeader!=null) && (infoHeader.length>0) )
           	alert(infoHeader + "中字符串长度不能小于" + minSize + "(一个汉字长度为2)!");
		ret = false;
	}
	else if( realLen > maxSize )
   	{
       	if ( (infoHeader!=null) && (infoHeader.length>0) )
           	alert(infoHeader + "中字符串长度不能超过" + maxSize + "(一个汉字长度为2)!");
		ret = false;
   	}
   	return ret;
}

/**
 *检测是否字串超长
 *inputStr      输入的字符串
 *maxLen        限制长度
 *infoHeader    文本框描述,如果为空则不出现提示框
 *返回:         不超长:true; 否: false
 **/
function isOverLength(inputStr, maxLen, infoHeader) 
{   
	if( !isNotNull(inputStr, infoHeader) )
	{ 
		return false;
	}
	
   	var ret = true; 
 
 	var realLen = getLength(inputStr, infoHeader, false);
    
   	ret = realLen<=maxLen;
   	if ( !ret )
   	{
       	if ( (infoHeader!=null) && (infoHeader.length>0) )
           	alert(infoHeader + "中字符串长度不能超过" + maxLen + "(一个汉字长度为2)!");
   	}
   	return ret;
}  

/**
 *得到字符串长度（一个中文字符长度为2）
 *inputStr         字符串
 *infoHeader       描述
 *isAllowSpecial   是否允许特殊字符 
 *return:          -1:包含不允许的特殊字符
 */
function getLength(inputStr, infoHeader, isAllowSpecial)
{
	var strLen = inputStr.length;
   	var i, ch; 
   	var realLen = strLen;
 
   	for (i=0; i<strLen; i++)
   	{
       	ch = inputStr.substring(i, i+1);
      
       	if (!isAllowSpecial && !checkChar(ch, "", "',\",<,>,?,\\,`"))
       	{
           	if ( (infoHeader!=null) && (infoHeader.length>0) )
             	alert(infoHeader + "中禁止输入', \", ?, <, >, \\, `非法字符!");
           	return -1;
       	}
      
       	if (ch >= "\u0080")
       	{
            realLen ++;
       	}
   	}
	
	return realLen;
}

/**
 *本函数用于对输入的单个字符进行检查 
 *ch:             输入的字符
 *allowedChars:   允许输入的字符,"a,b-e,0-9"格式,"b-e"表示从b到e的所有字符.
 *deniedChars:    禁止输入的字符,"a,b-e,0-9"格式,"b-e"表示从b到e的所有字符
 *return:         true或false
 */
function checkChar(inputStr, allowedChars, deniedChars)
{
 	var ret = true;
 	var iLen, i, iNext;
 	var subInput;
 	var isAllowed = true;
 	var isDenied = false;

 	if ( (allowedChars != null) && ((iLen=allowedChars.length) > 0) )
 	{
 		isAllowed = false;
 		i = 0;
    	for (; i < iLen; )
     	{
         	iNext = allowedChars.indexOf(",", i);
          	if (iNext < 0)
            {
            	subInput = allowedChars.substring(i, iLen);
              	i = iLen;
          	}
        	else
       		{
           		subInput = allowedChars.substring(i,iNext);
             	i = iNext + 1;
         	}
         	if ( (subInput!=null) && (subInput.length>0) )
          	{
         		if (subInput.length == 1)
          		{
              		var iTemp = 0;
                	iTemp = subInput.substring(0, 1);
                  	if (inputStr == subInput.charAt(0))
              		{
                   		isAllowed = true;
                       	break;
                  	}
            	}
           		if ((subInput.length==3) && (subInput.substring(1, 2)=="-"))
              	{
            		if ( (inputStr>=subInput.charAt(0)) &&  (inputStr<=subInput.charAt(2)) )
                 	{
                  		isAllowed = true;
                      	break;
                  	}
           		}
 			}
 		}   
 	}

 	if (isAllowed)
	{
       	if ((deniedChars!=null) && ((iLen=deniedChars.length)>0))
       	{
           	isDenied = false;
           	i = 0;
           	for (; i < iLen; )
           	{
          		iNext = deniedChars.indexOf(",", i);
                if (iNext < 0)
                {
              		subInput = deniedChars.substring(i, iLen);
                	i = iLen;
                }
                else
                {
            		subInput = deniedChars.substring(i, iNext);
              		i = iNext + 1;
                }
                if ( (subInput!=null) && (subInput.length>0) )
                {
              		if (subInput.length == 1)
                 	{
                   		if (inputStr == subInput.charAt(0))
                     	{
                       		isDenied = true;
                         	break;
                     	}
               		}
                 	if ((subInput.length==3) && (subInput.substring(1,2)=="-"))
                	{
                   		if ( (inputStr>=subInput.charAt(0)) &&  (inputStr<=subInput.charAt(2)) )
                    	{
                        	isDenied=true;
                         	break;
                    	}
              		}
         		}
   			}   
 		}
	}
 	ret = (isAllowed && !isDenied);
 	return ret;
}

/**
 *检查是否为合法的EMAIL地址
 *inputStr    email
 *return:     true或false
 **/
function isLegalMail(inputStr)
{
 	if(inputStr.length != 0)
  	{
    	var	pattern = "";
		pattern = /^([a-z0-9_A-Z])+([-|\.]+[a-z0-9_A-Z]+)*@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\.)+[a-z0-9A-Z]{2,}$/;
	 
		if(!inputStr.match(pattern))
		{
			alert("Email的格式不正确！");
        	return false;
		} 
		return true;
   	} 
 	return false;
}

//检测是否为容许上传的文件
function isLegalFiles(inputStr,description) 
{
    var notFileExt = ".exe;.com;.bat;.jsp;.js;.EXE;.COM;.BAT;.JSP;.JS;";
    var isok=true;
	if(inputStr.lastIndexOf(".")<0)
    {
        isok=false;
    }
    else
	{
		iPos = inputStr.lastIndexOf(".");
		var fileExt = inputStr.substring(iPos,inputStr.length);
		if(notFileExt.lastIndexOf(fileExt)<0) 
		{
			isok=true;
		}
		else
		{
			isok=false;
		}
	}
   	if ( (description!=null) && (description.length>0) && isok==false )
   	{
    	alert(description + "不是合法的文件,禁止上传" + notFileExt + "格式的文件!");
	}
	return isok;
}

//检测是否为合格的文本文件
function isLegalTxt(inputStr,description) 
{ 
    var textstr = ".txt";
    var isok=true;
    if(inputStr.lastIndexOf(".")<0)
    {
        isok=false;
    }
    iPos = inputStr.lastIndexOf(".");
    var fileExt = inputStr.substring(iPos,inputStr.length).toLowerCase();
    if(textstr.lastIndexOf(fileExt)<0) 
    {
    	isok=false;
    }
    if ( (description!=null) && (description.length>0) && isok==false )
    {
        alert(description+"不是合法的文本文件,必须为" + textstr + "格式的!");
    }
    return isok;
}

//检测是否为合格的图片文件
function isLegalPhoto(inputStr,description) 
{ 
    var photostr = ".jpg;.bmp;.gif";
    var isok = true;
    if(inputStr.lastIndexOf(".")<0)
    {
        isok = false;
    }
    iPos = inputStr.lastIndexOf(".");
    var fileExt = inputStr.substring(iPos,inputStr.length).toLowerCase();
    if(photostr.lastIndexOf(fileExt)<0) 
    {
    	isok=false;
    }
    if ( (description!=null) && (description.length>0) && isok==false )
    {
        alert(description+"不是合法的文件,必须为"+photostr+"格式的!");
    }
    return isok;
}

//检测是否为合格的音乐文件
function isLegalMusic(inputStr,description) 
{ 
    var musicstr = ".mid";
    var isok=true;
    if(inputStr.lastIndexOf(".")<0)
    {
        isok=false;
    }
    iPos = inputStr.lastIndexOf(".");
    var fileExt = inputStr.substring(iPos,inputStr.length).toLowerCase();
    if(musicstr.lastIndexOf(fileExt)<0) 
    {
    	isok=false;
    }
    if ( (description!=null) && (description.length>0) && isok==false )
    {
        alert(description+"不是合法的文件,必须为" + musicstr + "格式的!");
    }
    return isok;
}

//刷新
function doFresh(eid, url)
{
	document.getElementById(eid).src = url;
	//document.all("randImg").src = "loginAction.do?actionCase=random";
}

//跳转到URL
function doLink(url, isNewWindow)
{
	if(url == null || url == "")
	{
		url = "index.jsp";
	} 
	url = ROOT_URL + url;
	if(isNewWindow == null)
	{
		isNewWindow = false;
	}
	
	if(isNewWindow)
	{
		window.open(url);
	}
	else
	{
		document.location.href = url;
	}
}

//去掉字串左边的空格
function lTrim(str)
{
  if (str.charAt(0) == " ")
  {
     //如果字串左边第一个字符为空格
     str = str.slice(1);//将空格从字串中去掉
     str = lTrim(str); //递归调用
  }
  return str;
}

//去掉字串右边的空格
function rTrim(str)
{
  var iLength;

  iLength = str.length;
  if (str.charAt(iLength - 1) == " ")
  {
	  //如果字串右边第一个字符为空格
	  str = str.slice(0, iLength - 1);//将空格从字串中去掉
	  str = rTrim(str); //递归调用
  }
  return str;
}

//去掉字串两边的空格
function trim(str)
{
	return lTrim(rTrim(str));
}

//检测中国移动手机号码,m:移动，u:联通，t:电信小灵通
//num：手机号码，11位，前面可加0，86，086
function isMobile(num)
{
	num = trim(num);
	if(isMobileFatory(num))
		return true;
	else
		return false;
}

//手机号段
var mobileHeadArr = new Array('137', '138', '139','135', '136', '134', 
		'158', '159', '150', '151', '152', '157', '187', '188',
		'186', '185', '130', '131', '132', '133', '155', '156',
		'189', '180', '153');
//检测手机号码
//num：手机号码，11位，前面可加0，86，086
function isMobileFatory(num)
{
	err = "";//清空消息

	//空处理
	if(num==null || num=="")
	{
		err = "手机号码不能为空"; 
		alert(err);
		return false;
	}
	var len = num.length; 
	if (len != 11 )
	{
		err = "手机号码只能为11位";
		alert(err);
		return false;
	} 

	//长度，是否为数字处理
	var isDigital = true;
	var scope = "0123456789";
	for (var i = 0; i < 11; i++ )
	{
		if ( scope.indexOf(num.charAt(i)) < 0 ) //没找到
		{
			isDigital = false;
			break;
		}
	}

	if ( !isDigital )
	{
		err = "手机号码只能为数字";
		alert(err);
		return false;
	}

	var first3Num = num.substring(0,3);

	var haveIn = false;
	
	for (i=0; i<mobileHeadArr.length; i++)
	{
		if ( mobileHeadArr[i] == first3Num )
		{
			haveIn = true;
			break;
		}
	}

	if ( !haveIn )
	{
		err = "手机号码不正确";
		alert(err);
		return false;
	}   
	
	return true;
}

