String.prototype.trim = function()
{
    // 用正则表达式将前后空格
    // 用空字符串替代。
    return this.replace(/(^\s*)|(\s*$)/g, "");
}
/*
'**************************************************
'Function		去空格
'Author			Peace
'Create	Date	2004-09-09
'Parameter		Str				需要去空格的字符串
'**************************************************
*/
function KillSpace(Str,list){
		if(typeof(list) == 'undefined')
			list = ' ';
			
		while((Str.length>0) && list.indexOf(Str.charAt(0))!=-1 )
			 Str = Str.substring(1,Str.length);
		while((Str.length>0) && list.indexOf(Str.charAt(Str.length-1))!=-1)
		     Str = Str.substring(0,Str.length-1);
		
        return Str;
}
/*
'**************************************************
'Function		判断FORM TEXT输入是否正确
'Author			Peace
'Create	Date	2004-09-09
'Parameter		Obj				Form object
'				TypeValue		检测类型
'				Msg				提示信息
'**************************************************
*/
function CheckTextB(Obj,TypeValue,Msg)
{
	//TypeValue 2数字类型  8 字符型  100汉字
	//Obj 判断对象
	//Msg 返回内容
	var IsOk=false;
	switch (TypeValue)
	{
		case 2:
			res=/\d{1,}/
			Obj.value=KillSpace(Obj.value);
			if (res.exec(Obj.value))
				IsOk=true;
			else
				IsOk=false;
			if (!IsOk && (Msg.length>0 || Obj.value.length>0))
				{
					if (Obj.style.display == '')
					{
						alert(Msg);
						Obj.focus();
						Obj.select();
					}
					return false;
				}
			else
				return true;
			break;
		case 8:
			Obj.value=KillSpace(Obj.value);
			if (Obj.value.length==0)
				IsOk=true;
			else
				IsOk=false;
			if (IsOk && Msg.length>0)
				{
					alert(Msg);
					if (Obj.style.display == '')
					{
						Obj.focus();
						Obj.select();
					}
					return false;
				}
			else
				return true;
			break;
		case 100:
			Obj.value=KillSpace(Obj.value);
			if (Obj.value.length==0 || !GB_All(Obj.value) )
				IsOk=true;
			else
				IsOk=false;
			if (IsOk && Msg.length>0)
				{
					alert(Msg);
					alert(Obj.style.display);
					if (Obj.style.display == '')
					{
						Obj.focus();
						Obj.select();
					}
					return false;
				}
			else
				return true;
			break;
	
	}
}
/*
'**************************************************
'Function		判断FORM TEXT输入是否正确
'Author			Peace
'Create	Date	2004-09-09
'Parameter		Obj				Form object
'				TypeValue		检测类型
'				Msg				提示信息
'				Necessary		是否是必添字段
'**************************************************
*/
function CheckText(Obj,TypeValue,Msg,Necessary)
{
    /*TypeValue 
    'd': Numeric; 
    'i': All Integer 
    'r': Aeal Number
    'f': Decimal Fraction
    'l': 26 letter
    'ul':[A-Z]
    'll':[a-z]
    'w': [a-zA-Z_0-9]
    'S': Chinese Characters and Special Characters
    'e':email
	'date':
    
    Obj Required. 
    Msg Return Prompt Message
    Necessary is Optional Parameter
    */
    
    if (isNaN(Necessary))
        Necessary=false;
    Obj.value=KillSpace(Obj.value);
    switch (TypeValue)
    {
        case "d":
            res=new RegExp("^[0-9]+$","g");
            break;
        case "i":
            //res=new RegExp("(^[1-9][0-9]*$)|(^[\+\-][1-9][0-9]*$)","g");
			res=new RegExp("^[\+\-]?[0-9]+$","g");
            break
        case "r":
            //res=new RegExp("(^([\+\-]?[1-9])[0-9]*(\.[0-9]+)?[0-9]$)|(^([\+\-]?[0-9]\.)[0-9]+$)","g")
			res=new RegExp("^[\+\-]?[0-9]+(\.)?[0-9]?$","g")
            break;
        case "f":
            //res=new RegExp("(^(0\.)[0-9]+$)|(^[\+\-]0\.[0-9]+$)","g");
			res=new RegExp("^[\+\-]?0\.[0-9]+$","g");
            break;
        case "l":
            res=new RegExp("^[a-z]+$","gi");
            break;
        case "ul":
            res=new RegExp("^[A-Z]+$","g");
            break;
        case "ll":
            res=new RegExp("^[a-z]+$","g");
            break;
        case "w":
            res=new RegExp("^[0-9a-zA-Z_]+$","g")
            break;
        case "S":
            res=new RegExp("[^a-zA-Z0-9\n\r\t\f\v~`!@#$%^&*()\_\+\\/\.,<>\? ]+$","g");
            break;
        case "e":
			res=new RegExp("([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+","g");
			break
		case "date":
			res=new RegExp("^[0-9]{4}\-(0?[1-9]|[1-2][0-2])\-(0?[1-9]|[1-2][0-9]|3[01])$","g");
			break;
		case "datetime":
			res=new RegExp("^[0-9]{4}\-(0?[1-9]|[1-2][0-2])\-(0?[1-9]|[1-2][0-9]|3[01]) [0-9]{2}(:[0-9]{2})+","g");
			break;
		case "ip":
			res=new RegExp("^([1-9]|[1-9][0-9]|[12][0-5][0-9])(\.([0-9]|[1-9][0-9]|[12][0-5][0-9])){3}$","g");
			break;
		case "money":
			res=new RegExp("^[0-9]+(\.[0-9]{2})?$","g");
			break;
		case "":
            res=new RegExp(".+","g");
			break;
		default:
			res=new RegExp(TypeValue,"g");
    }
    //Main Process
    IsOk=res.exec(Obj.value);
    if ((Necessary && !IsOk)||(!IsOk && Obj.value.length > 0 ))
        {
            alert(Msg);
			if (Obj.style.display == '')
			{
				Obj.focus();
				Obj.select();
			}
            return false;
        }
    else
        return true;

}
function XHConn()
{
	var xmlhttp, bComplete = false;
	try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");}
	catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
	catch (e) { try { xmlhttp = new XMLHttpRequest();  }
	catch (e) { xmlhttp = false; }}}
	if (!xmlhttp) return null;
	
	this.connect = function(sURL, sMethod, sVars, fnDone)
	{
		var retval	= "";
		if (!xmlhttp) return false;
		
		bComplete = false;
		sMethod = sMethod.toUpperCase();
		try {
			if (sMethod == "GET")
			{
				xmlhttp.open(sMethod, sURL+"?"+sVars, false);
				xmlhttp.send();
				retval = unescape(xmlhttp.responseText);
			}
			else
			{
				try{
					xmlhttp.open(sMethod, sURL, false);
					xmlhttp.setRequestHeader("Method", "POST "+sURL+" HTTP/1.1");
					xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
					xmlhttp.send(sVars);
					retval = unescape(xmlhttp.responseText);
				}catch(e){
					
				}
			}
		}
		catch(z) {
			alert('发生错误！');	
			return false; 
		}

		return retval;
	};
	return "";
}

function checksearch(){
	if(document.getElementById('keyword').value == ''){
		alert('关键字不能为空！');
		document.getElementById('keyword').focus();
		return false;
	}
}
function bookmarkit(domain,description)
{
	window.external.addFavorite(domain,description)
} 
function Change_Mag_Year(y)
{
	//删除原有的杂志内容
	try
	{
		var obj = document.getElementById('sele_mag_id');
		while(obj.options.length>1)
			obj.options.remove(1);
		var conn = new XHConn();
		retval = conn.connect('/include/getMag.php','GET','year='+y,null);
		if(retval != '')
		{
			var arr = retval.split('|||');
			if(arr.length % 2 == 0)
			{
				for(i=0;i<arr.length;i=i+2)
				{
					var opp = document.createElement('OPTION');
					opp.value = arr[i];
					opp.text = arr[i+1];
					obj.add(opp);
				}
			}
		}
	}
	catch(e)
	{
		alert(e.description)
	}
}
function Check_User_Repeat(nameFrm)
{
	try
	{
		var name = nameFrm.value;
		var conn = new XHConn();
		name = KillSpace(name);
		if(name == '' || name.length<4)
		{
			document.getElementById('norepeat_alt').innerHTML = '用户名至少4-10字符！';
			nameFrm.focus();
			nameFrm.select();
			return;
		}
		retval = conn.connect('/include/getUserRepeat.php','GET','username='+name,null);
		if(retval == '0')
		{
			document.getElementById('norepeat_alt').innerHTML = '';
			document.getElementById('submit').disabled = false;
		}
		else
		{
			document.getElementById('norepeat_alt').innerHTML = '（'+ name+'用户名已经存在！）';
			document.getElementById('submit').disabled = true;
		}
	}
	catch(e)
	{
		alert(e.description)
	}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}