function GetVideo(s,vi)
{
	var s1=getFileExt(s.toLowerCase());
	if(s1==null){s1="swf";s="ad03.swf"}
	if(s1=="swf")
	{
		var ih="160";
		var iw="197";
		if(vi=="1")
		{
			ih="400";
			iw="500";
		}
		else if(vi=="2")
		{
			ih="350";
			iw="450";
		}
		document.writeln("            <object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http:\/\/download.macromedia.com\/pub\/shockwave\/cabs\/flash\/swflash.cab#version=7,0,19,0\" width=\""+iw+"\" height=\""+ih+"\" VIEWASTEXT>");
		document.writeln("                <param name=\"movie\" value=\""+s+"\" \/>");
		document.writeln("                <param name=\"quality\" value=\"high\" \/>");
		document.writeln("                <embed src=\""+s+"\" quality=\"high\" pluginspage=\"http:\/\/www.macromedia.com\/go\/getflashplayer\" type=\"application\/x-shockwave-flash\" width=\""+iw+"\" height=\""+ih+"\"><\/embed>");
		document.writeln("            <\/object>")
	}
	else if(s1=="flv")
	{
		var swf_height="160";
		var swf_width="197";
		if(vi=="1")
		{
			swf_height="400";
			swf_width="500";
		}
		else if(vi=="2")
		{
			swf_height="350";
			swf_width="450";
		}
		//var swf_width=240
		//var swf_height=240
		var texts=''
		var files=s
		document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+ swf_width +'" height="'+ swf_height +'">');
		document.write('<param name="movie" value="http://www.ruochi.com/product/vcastr2/vcastr22.swf"><param name="quality" value="high">');
		document.write('<param name="menu" value="false"><param name="allowFullScreen" value="true" />');
		document.write('<param name="FlashVars" value="vcastr_file='+files+'&vcastr_title='+texts+'">');
		document.write('<embed src="http://www.ruochi.com/product/vcastr2/vcastr22.swf" allowFullScreen="true" FlashVars="vcastr_file='+files+'&vcastr_title='+texts+'" menu="false" quality="high" width="'+ swf_width +'" height="'+ swf_height +'" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />'); 
		document.write('</object>');
		alert(s);
	}
	else if(s1=="rm"||s1=="rmvb")
	{
		var ih="160";
		var iw="197";
		if(vi=="1")
		{
			ih="375";
			iw="450";
		}
		else if(vi=="2")
		{
			ih="350";
			iw="450";
		}
		document.writeln("<object id=\"vid\" classid=\"clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA\" width="+iw+" height="+ih+"> ");
		document.writeln("<param name=\"_ExtentX\" value=\"11298\"> ");
		document.writeln("<param name=\"_ExtentY\" value=\"7938\"> ");
		document.writeln("<param name=\"AUTOSTART\" value=\"-1\"> ");
		document.writeln("<param name=\"SHUFFLE\" value=\"0\"> ");
		document.writeln("<param name=\"PREFETCH\" value=\"0\"> ");
		document.writeln("<param name=\"NOLABELS\" value=\"-1\"> ");
		document.writeln("<param name=\"SRC\" value=\""+s+"\"> ");
		document.writeln("<param name=\"CONTROLS\" value=\"Imagewindow\"> ");
		document.writeln("<param name=\"CONSOLE\" value=\"clip1\"> ");
		document.writeln("<param name=\"LOOP\" value=\"0\"> ");
		document.writeln("<param name=\"NUMLOOP\" value=\"0\"> ");
		document.writeln("<param name=\"CENTER\" value=\"0\"> ");
		document.writeln("<param name=\"MAINTAINASPECT\" value=\"0\"> ");
		document.writeln("<param name=\"BACKGROUNDCOLOR\" value=\"#000000\"> ");
		document.writeln("<\/object><BR><object id=\"vid2\" classid=\"clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA\" width="+iw+" height=30> ");
		document.writeln("<param name=\"_ExtentX\" value=\"11298\"> ");
		document.writeln("<param name=\"_ExtentY\" value=\"794\"> ");
		document.writeln("<param name=\"AUTOSTART\" value=\"-1\"> ");
		document.writeln("<param name=\"SHUFFLE\" value=\"0\"> ");
		document.writeln("<param name=\"PREFETCH\" value=\"0\"> ");
		document.writeln("<param name=\"NOLABELS\" value=\"-1\"> ");
		document.writeln("<param name=\"SRC\" value=\""+s+"\"> ");
		document.writeln("<param name=\"CONTROLS\" value=\"ControlPanel\"> ");
		document.writeln("<param name=\"CONSOLE\" value=\"clip1\"> ");
		document.writeln("<param name=\"LOOP\" value=\"0\"> ");
		document.writeln("<param name=\"NUMLOOP\" value=\"0\"> ");
		document.writeln("<param name=\"CENTER\" value=\"0\"> ");
		document.writeln("<param name=\"MAINTAINASPECT\" value=\"0\"> ");
		document.writeln("<param name=\"BACKGROUNDCOLOR\" value=\"#000000\"> ");
		document.writeln("<\/object> ");
		document.writeln("<\/object>")
	}
  else
  {
  	var ih="160";
		var iw="197";
		if(vi=="1")
		{
			ih="375";
			iw="450";
		}
		else if(vi=="2")
		{
			ih="350";
			iw="450";
		}
  	document.writeln("<object id=\"RVOCX\" codebase=\"http:\/\/activex.microsoft.com\/activex\/controls\/mplayer\/en\/nsmp2inf.cab#Version=5,1,52,701\" type=\"application\/x-oleobject\" height=\""+ih+"\" standby=\"Loading Microsoft?Windows?Media Player components...\" width=\""+iw+"\" align=\"middle\" classid=\"CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95\" VIEWASTEXT>");
		document.writeln("                  <param name=\"AudioStream\" value=\"-1\">");
		document.writeln("                  <param name=\"AutoSize\" value=\"0\">");
		document.writeln("                  <param name=\"AutoStart\" value=\"-1\">");
		document.writeln("                  <param name=\"AnimationAtStart\" value=\"-1\">");
		document.writeln("                  <param name=\"AllowScan\" value=\"-1\">");
		document.writeln("                  <param name=\"AllowChangeDisplaySize\" value=\"-1\">");
		document.writeln("                  <param name=\"AutoRewind\" value=\"0\">");
		document.writeln("                  <param name=\"Balance\" value=\"0\">");
		document.writeln("                  <param name=\"BaseURL\" value>");
		document.writeln("                  <param name=\"BufferingTime\" value=\"5\">");
		document.writeln("                  <param name=\"CaptioningID\" value>");
		document.writeln("                  <param name=\"ClickToPlay\" value=\"-1\">");
		document.writeln("                  <param name=\"CursorType\" value=\"0\">");
		document.writeln("                  <param name=\"CurrentPosition\" value=\"-1\">");
		document.writeln("                  <param name=\"CurrentMarker\" value=\"0\">");
		document.writeln("                  <param name=\"DefaultFrame\" value>");
		document.writeln("                  <param name=\"DisplayBackColor\" value=\"0\">");
		document.writeln("                  <param name=\"DisplayForeColor\" value=\"16723215\">");
		document.writeln("                  <param name=\"DisplayMode\" value=\"0\">");
		document.writeln("                  <param name=\"DisplaySize\" value=\"4\">");
		document.writeln("                  <param name=\"Enabled\" value=\"1\">");
		document.writeln("                  <param name=\"EnableContextMenu\" value=\"0\">");
		document.writeln("                  <param name=\"EnablePositionControls\" value=\"-1\">");
		document.writeln("                  <param name=\"EnableFullScreenControls\" value=\"-1\">");
		document.writeln("                  <param name=\"EnableTracker\" value=\"-1\">");
		document.writeln("                  <param name=\"Filename\" value=\""+s+"\">600");
		document.writeln("                  <param name=\"InvokeURLs\" value=\"-1\">");
		document.writeln("                  <param name=\"Language\" value=\"-1\">");
		document.writeln("                  <param name=\"Mute\" value=\"0\">");
		document.writeln("                  <param name=\"PlayCount\" value=\"0\">");
		document.writeln("                  <param name=\"PreviewMode\" value=\"0\">");
		document.writeln("                  <param name=\"Rate\" value=\"1\">");
		document.writeln("                  <param name=\"SAMILang\" value>");
		document.writeln("                  <param name=\"SAMIStyle\" value>");
		document.writeln("                  <param name=\"SAMIFileName\" value>");
		document.writeln("                  <param name=\"SelectionStart\" value=\"-1\">");
		document.writeln("                  <param name=\"SelectionEnd\" value=\"-1\">");
		document.writeln("                  <param name=\"SendOpenStateChangeEvents\" value=\"-1\">");
		document.writeln("                  <param name=\"SendWarningEvents\" value=\"-1\">");
		document.writeln("                  <param name=\"SendErrorEvents\" value=\"-1\">");
		document.writeln("                  <param name=\"SendKeyboardEvents\" value=\"0\">");
		document.writeln("                  <param name=\"SendMouseClickEvents\" value=\"0\">");
		document.writeln("                  <param name=\"SendMouseMoveEvents\" value=\"0\">");
		document.writeln("                  <param name=\"SendPlayStateChangeEvents\" value=\"-1\">");
		document.writeln("                  <param name=\"ShowCaptioning\" value=\"0\">");
		document.writeln("                  <param name=\"ShowControls\" value=\"1\">");
		document.writeln("                  <param name=\"ShowAudioControls\" value=\"-1\">");
		document.writeln("                  <param name=\"ShowDisplay\" value=\"0\">");
		document.writeln("                  <param name=\"ShowGotoBar\" value=\"0\">");
		document.writeln("                  <param name=\"ShowPositionControls\" value=\"1\">");
		document.writeln("                  <param name=\"ShowStatusBar\" value=\"0\">");
		document.writeln("                  <param name=\"ShowTracker\" value=\"-1\">");
		document.writeln("                  <param name=\"TransparentAtStart\" value=\"0\">");
		document.writeln("                  <param name=\"VideoBorderWidth\" value=\"0\">");
		document.writeln("                  <param name=\"VideoBorderColor\" value=\"0\">");
		document.writeln("                  <param name=\"VideoBorder3D\" value=\"0\">");
		document.writeln("                  <param name=\"Volume\" value=\"1\">");
		document.writeln("                  <param name=\"WindowlessVideo\" value=\"0\">");
		document.writeln("                  <embed src=\"-1\" width=\""+iw+"\" height=\""+ih+"\" autostart=\"-1\" align=\"middle\" audiostream=\"-1\" autosize=\"0\" animationatstart=\"-1\" allowscan=\"-1\" allowchangedisplaysize=\"-1\" autorewind=\"1\" balance=\"0\" baseurl=\"value\" bufferingtime=\"5\" captioningid=\"value\" clicktoplay=\"-1\" cursortype=\"0\" currentposition=\"-1\" currentmarker=\"0\" defaultframe=\"value\" displaybackcolor=\"0\" displayforecolor=\"16723215\" displaymode=\"0\" displaysize=\"4\" enabled=\"1\" enablecontextmenu=\"0\" enablepositioncontrols=\"-1\" enablefullscreencontrols=\"-1\" enabletracker=\"-1\" filename=\"AVSEQ01.DAT\" invokeurls=\"-1\" language=\"-1\" mute=\"0\" playcount=\"0\" previewmode=\"0\" rate=\"1\" samilang=\"value\" samistyle=\"value\" samifilename=\"value\" selectionstart=\"-1\" selectionend=\"-1\" sendopenstatechangeevents=\"-1\" sendwarningevents=\"-1\" senderrorevents=\"-1\" sendkeyboardevents=\"0\" sendmouseclickevents=\"0\" sendmousemoveevents=\"0\" sendplaystatechangeevents=\"-1\" showcaptioning=\"0\" showcontrols=\"1\" showaudiocontrols=\"-1\" showdisplay=\"0\" showgotobar=\"0\" showpositioncontrols=\"1\" showstatusbar=\"0\" showtracker=\"-1\" transparentatstart=\"0\" videoborderwidth=\"0\" videobordercolor=\"0\" videoborder3d=\"0\" volume=\"1\" windowlessvideo=\"0\"><\/embed>");
		document.writeln("                <\/object>")
  }

}

function bgOut(o)
{
	o.style.backgroundColor='#E9E8E8';
}

function bgOver(o)
{
	o.style.backgroundColor='orange';
}

function bhbgOut(o)
{
	o.style.backgroundColor='#E9E8E8';
}

function bhbgOver(o)
{
	o.style.backgroundColor='#dd127b';
}

var ObjLayer='';
function ShowLayer(o)
{
	if(document.getElementById(ObjLayer))
	{
		if(ObjLayer!='')
			document.getElementById(ObjLayer).style.display='none'
	}
	if(document.getElementById(o))
	{
		document.getElementById(o).style.display=''
		ObjLayer=o;
	}
	else
		ObjLayer='';
}

function HideLayer(o)
{
	if(document.getElementById(ObjLayer))
	{
		document.getElementById(o).style.display='none'
	}
}

function getFileExt(s)
{
	var s1=s.split(".");
	return s1[s1.length-1];
}


//校验是否全由数字组成 
function isDigit(s) 
{ 
var patrn=/^[0-9]{1,20}$/; 
if (!patrn.exec(s)) return false 
return true 
} 


//校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串 
function isRegisterUserName(s) 
{ 
var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/; 
if (!patrn.exec(s)) return false 
return true 
} 

//校验用户姓名:只能输入1-30个以字母开头的字串 
function isTrueName(s) 
{ 
var patrn=/^[a-zA-Z]{1,30}$/; 
if (!patrn.exec(s)) return false 
return true 
} 

//校验密码:只能输入6-20个字母、数字、下划线 
function isPasswd(s) 
{ 
var patrn=/^(\w){6,20}$/; 
if (!patrn.exec(s)) return false 
return true 
} 

//校验普通电话、传真号码:可以“+”开头，除数字外，可含有“-” 
function isTel(s) 
{ 
//var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?(\d){1,12})+$/; 
var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/; 
if (!patrn.exec(s)) return false 
return true 
} 

//校验手机号码:必须以数字开头，除数字外，可含有“-” 
function isMobil(s) 
{ 
var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/; 
if (!patrn.exec(s)) return false 
return true 
} 

//校验邮政编码 
function isPostalCode(s) 
{ 
//var patrn=/^[a-zA-Z0-9]{3,12}$/; 
var patrn=/^[a-zA-Z0-9 ]{3,12}$/; 
if (!patrn.exec(s)) return false 
return true 
} 

function isIP(s) //by zergling 
{ 
var patrn=/^[0-9.]{1,20}$/; 
if (!patrn.exec(s)) return false 
return true 
} 



/**
* added by LxcJie 2004.6.25
* 去除多余空格函数
* trim:去除两边空格 lTrim:去除左空格 rTrim: 去除右空格
* 用法：
*      var str = "   hello ";
*      str = str.trim();
*/
String.prototype.trim = function()
{
     return this.replace(/(^[\s]*)|([\s]*$)/g, "");
}
String.prototype.lTrim = function()
{
     return this.replace(/(^[\s]*)/g, "");
}
String.prototype.rTrim = function()
{
     return this.replace(/([\s]*$)/g, "");
}
/********************************** Empty **************************************/
/**
*校验字符串是否为空
*返回值：
*如果不为空，定义校验通过，返回true
*如果为空，校验不通过，返回false                参考提示信息：输入域不能为空！
*/
function checkIsNotEmpty(str)
{
     if(str.trim() == "")
         return false;
     else
         return true;
}//~~~
/*--------------------------------- Empty --------------------------------------*/
/********************************** Integer *************************************/
/**
*校验字符串是否为整型
*返回值：
*如果为空，定义校验通过，       返回true
*如果字串全部为数字，校验通过，返回true
*如果校验不通过，               返回false      参考提示信息：输入域必须为数字！
*/
function checkIsInteger(str)
{
     //如果为空，则通过校验
     if(str == "")
         return true;
     if(/^(\-?)(\d+)$/.test(str))
         return true;
     else
         return false;
}//~~~
/**
*校验整型最小值
*str：要校验的串。   val：比较的值
*
*返回值：
*如果为空，定义校验通过，                 返回true
*如果满足条件，大于等于给定值，校验通过，返回true
*如果小于给定值，                         返回false               参考提示信息：输入域不能小于给定值！
*/
function checkIntegerMinValue(str,val)
{
     //如果为空，则通过校验
     if(str == "")
         return true;
     if(typeof(val) != "string")
         val = val + "";
     if(checkIsInteger(str) == true)
     {
         if(parseInt(str,10)>=parseInt(val,10))
             return true;
         else
             return false;
     }
     else
         return false;
}//~~~
/**
*校验整型最大值
*str：要校验的串。   val：比较的值
*
*返回值：
*如果为空，定义校验通过，                 返回true
*如果满足条件，小于等于给定值，校验通过，返回true
*如果大于给定值，                         返回false        参考提示信息：输入值不能大于给定值！
*/
function checkIntegerMaxValue(str,val)
{
     //如果为空，则通过校验
     if(str == "")
         return true;
     if(typeof(val) != "string")
         val = val + "";
     if(checkIsInteger(str) == true)
     {
         if(parseInt(str,10)<=parseInt(val,10))
             return true;
         else
             return false;
     }
     else
         return false;
}//~~~
/**
*校验整型是否为非负数
*str：要校验的串。
*
*返回值：
*如果为空，定义校验通过，返回true
*如果非负数，             返回true
*如果是负数，             返回false                参考提示信息：输入值不能是负数！
*/
function isNotNegativeInteger(str)
{
     //如果为空，则通过校验
     if(str == "")
         return true;
     if(checkIsInteger(str) == true)
     {
         if(parseInt(str,10) < 0)
             return false;
         else
             return true;
     }
     else
         return false;
}//~~~
/*--------------------------------- Integer --------------------------------------*/
/********************************** Double ****************************************/
/**
*校验字符串是否为浮点型
*返回值：
*如果为空，定义校验通过，       返回true
*如果字串为浮点型，校验通过，   返回true
*如果校验不通过，               返回false      参考提示信息：输入域不是合法的浮点数！
*/
function checkIsDouble(str)
{
     //如果为空，则通过校验
     if(str == "")
         return true;
     //如果是整数，则校验整数的有效性
     if(str.indexOf(".") == -1)
     {
         if(checkIsInteger(str) == true)
             return true;
         else
             return false;
     }
     else
     {
         if(/^(\-?)(\d+)(.{1})(\d+)$/g.test(str))
             return true;
         else
             return false;
     }
}//~~~
/**
*校验浮点型最小值
*str：要校验的串。   val：比较的值
*
*返回值：
*如果为空，定义校验通过，                 返回true
*如果满足条件，大于等于给定值，校验通过，返回true
*如果小于给定值，                         返回false               参考提示信息：输入域不能小于给定值！
*/
function checkDoubleMinValue(str,val)
{
     //如果为空，则通过校验
     if(str == "")
         return true;
     if(typeof(val) != "string")
         val = val + "";
     if(checkIsDouble(str) == true)
     {
         if(parseFloat(str)>=parseFloat(val))
             return true;
         else
             return false;
     }
     else
         return false;
}//~~~
/**
*校验浮点型最大值
*str：要校验的串。   val：比较的值
*
*返回值：
*如果为空，定义校验通过，                 返回true
*如果满足条件，小于等于给定值，校验通过，返回true
*如果大于给定值，                         返回false        参考提示信息：输入值不能大于给定值！
*/
function checkDoubleMaxValue(str,val)
{
     //如果为空，则通过校验
     if(str == "")
         return true;
     if(typeof(val) != "string")
         val = val + "";
     if(checkIsDouble(str) == true)
     {
         if(parseFloat(str)<=parseFloat(val))
             return true;
         else
             return false;
     }
     else
         return false;
}//~~~
/**
*校验浮点型是否为非负数
*str：要校验的串。
*
*返回值：
*如果为空，定义校验通过，返回true
*如果非负数，             返回true
*如果是负数，             返回false                参考提示信息：输入值不能是负数！
*/
function isNotNegativeDouble(str)
{
     //如果为空，则通过校验
     if(str == "")
         return true;
     if(checkIsDouble(str) == true)
     {
         if(parseFloat(str) < 0)
             return false;
         else
             return true;
     }
     else
         return false;
}//~~~
/*--------------------------------- Double ---------------------------------------*/
/********************************** date ******************************************/
/**
*校验字符串是否为日期型
*返回值：
*如果为空，定义校验通过，            返回true
*如果字串为日期型，校验通过，        返回true
*如果日期不合法，                    返回false     参考提示信息：输入域的时间不合法！（yyyy-MM-dd）
*/
function checkIsValidDate(str)
{
     //如果为空，则通过校验
     if(str == "")
         return true;
     var pattern = /^((\d{4})|(\d{2}))-(\d{1,2})-(\d{1,2})$/g;
     if(!pattern.test(str))
         return false;
     var arrDate = str.split("-");
     if(parseInt(arrDate[0],10) < 100)
         arrDate[0] = 2000 + parseInt(arrDate[0],10) + "";
     var date =   new Date(arrDate[0],(parseInt(arrDate[1],10) -1)+"",arrDate[2]);
     if(date.getYear() == arrDate[0]
        && date.getMonth() == (parseInt(arrDate[1],10) -1)+""
        && date.getDate() == arrDate[2])
         return true;
     else
         return false;
}//~~~
/**
*校验两个日期的先后
*返回值：
*如果其中有一个日期为空，校验通过,           返回true
*如果起始日期早于等于终止日期，校验通过，    返回true
*如果起始日期晚于终止日期，                  返回false     参考提示信息： 起始日期不能晚于结束日期。
*/
function checkDateEarlier(strStart,strEnd)
{
     if(checkIsValidDate(strStart) == false || checkIsValidDate(strEnd) == false)
         return false;
     //如果有一个输入为空，则通过检验
     if (( strStart == "" ) || ( strEnd == "" ))
         return true;
     var arr1 = strStart.split("-");
     var arr2 = strEnd.split("-");
     var date1 = new Date(arr1[0],parseInt(arr1[1].replace(/^0/,""),10) - 1,arr1[2]);
     var date2 = new Date(arr2[0],parseInt(arr2[1].replace(/^0/,""),10) - 1,arr2[2]);
     if(arr1[1].length == 1)
         arr1[1] = "0" + arr1[1];
     if(arr1[2].length == 1)
         arr1[2] = "0" + arr1[2];
     if(arr2[1].length == 1)
         arr2[1] = "0" + arr2[1];
     if(arr2[2].length == 1)
         arr2[2]="0" + arr2[2];
     var d1 = arr1[0] + arr1[1] + arr1[2];
     var d2 = arr2[0] + arr2[1] + arr2[2];
     if(parseInt(d1,10) > parseInt(d2,10))
        return false;
     else
        return true;
}//~~~
/*--------------------------------- date -----------------------------------------*/
/********************************** email *****************************************/
/**
*校验字符串是否为email型
*返回值：
*如果为空，定义校验通过，            返回true
*如果字串为email型，校验通过，       返回true
*如果email不合法，                   返回false     参考提示信息：Email的格式不正確！
*/
function checkEmail(str)
{
     //如果为空，则通过校验
     if(str == "")
         return true;
     if (str.charAt(0) == "." || str.charAt(0) == "@" || str.indexOf('@', 0) == -1
         || str.indexOf('.', 0) == -1 || str.lastIndexOf("@") == str.length-1 || str.lastIndexOf(".") == str.length-1)
         return false;
     else
         return true;
}//~~~
/*--------------------------------- email ----------------------------------------*/
/********************************** chinese ***************************************/
/**
*校验字符串是否为中文
*返回值：
*如果为空，定义校验通过，            返回true
*如果字串为中文，校验通过，          返回true
*如果字串为非中文，              返回false     参考提示信息：必须为中文！
*/
function checkIsChinese(str)
{
     //如果值为空，通过校验
     if (str == "")
         return true;
     var pattern = /^([\u4E00-\u9FA5]|[\uFE30-\uFFA0])*$/gi;
     if (pattern.test(str))
         return true;
     else
         return false;
}//~~~
/**
* 计算字符串的长度，一个汉字两个字符
*/
String.prototype.realLength = function()
{
   return this.replace(/[^\x00-\xff]/g,"**").length;
}
/*--------------------------------- chinese --------------------------------------*/
/********************************** mask ***************************************/
/**
*校验字符串是否符合自定义正则表达式
*str 要校验的字串   pat 自定义的正则表达式
*返回值：
*如果为空，定义校验通过，            返回true
*如果字串符合，校验通过，            返回true
*如果字串不符合，                    返回false     参考提示信息：必须满足***模式
*/
function checkMask(str,pat)
{
     //如果值为空，通过校验
     if (str == "")
         return true;
     var pattern = new RegExp(pat,"gi")
     if (pattern.test(str))
         return true;
     else
         return false;
}//~~~
/*--------------------------------- mask --------------------------------------*/
/********************************** file ***************************************/
/**
* added by LxcJie 2004.6.25
* 得到文件的后缀名
* oFile为file控件对象
*/
function getFilePostfix(oFile)
{
     if(oFile == null)
         return null;
     var pattern = /(.*)\.(.*)$/gi;
     if(typeof(oFile) == "object")
     {
         if(oFile.value == null || oFile.value == "")
             return null;
         var arr = pattern.exec(oFile.value);
         return RegExp.$2;
     }
     else if(typeof(oFile) == "string")
     {
         var arr = pattern.exec(oFile);
         return RegExp.$2;
     }
     else
         return null;
}//~~~
/*--------------------------------- file --------------------------------------*/
