// JavaScript Document
// 载入物件
function objLoader ()
{
	this.timeStamp = null;
	this.loadedJs = '';
	this.loadedCss = '';

	// 载入指定页面到指定物件
	/*
		loadUrl : 载入页面的 URL
		targetObj : 目标容器物件 ID
		queryString : 附加提交变量
		loadJs : 附加 Js 文件
		loadingMsg : 载入中提示文字
	*/
	this.get = function ( loadUrl, targetObj, queryString, loadingMsg, callbackFunc, loadJs )
	{
		this.load ( 'GET', loadUrl, targetObj, queryString, loadingMsg, callbackFunc, loadJs );
	}

	this.post = function ( loadUrl, targetObj, queryString, loadingMsg, callbackFunc, loadJs )
	{
		this.load ( 'POST', loadUrl, targetObj, queryString, loadingMsg, callbackFunc, loadJs );
	}

	this.load = function ( method, loadUrl, targetObj, queryString, loadingMsg, callbackFunc, loadJs )
	{
		if ( !loadUrl ) return;
		var obj;
		if ( typeof ( targetObj ) == 'string' )
		{
			obj = document.getElementById ( targetObj );
		}
		else
		{
			obj = targetObj;
		}
		if ( obj )
		{
			if ( loadingMsg != null ) obj.innerHTML = loadingMsg;
		}
		if ( callbackFunc == null )
		{
			callbackFunc = ajaxCallback;
		}

		this.getTimeStamp ();
		var re = new RegExp ( "timeStamp=([0-9]+)" );
		if ( loadUrl.match ( re ) )
		{
			loadUrl = loadUrl.replace ( re, 'timeStamp=' + this.timeStamp );
		}
		else
		{
			loadUrl += loadUrl.indexOf ( '?' ) == -1 ? '?' : '&';
			loadUrl += 'timeStamp=' + this.timeStamp;
		}
		if ( queryString == null ) queryString = '';

		if ( window.ajaxProxy && loadUrl.indexOf ( getURLHost ( $( 'ajaxProxy' ).src ) ) >= 0 )
		{
			var clsAjax = new ajaxProxy.Ajax ( loadUrl, queryString, callbackFunc, targetObj );
		}
		else
		{
			var clsAjax = new Ajax ( loadUrl, queryString, callbackFunc, targetObj );
		}

		if ( loadJs != null )
		{
			this.loadJs ( loadJs );
		}
		if ( method.toLowerCase () == 'post' )
		{
			clsAjax.post ();
		}
		else
		{
			clsAjax.get ();
		}
	}

	// 载入 Js
	this.loadJs = function ( file, reload )
	{
		if ( !document.getElementById )
		{
			return;
		}

		if ( reload == null ) reload = false;

		var fileref = '';
		if ( reload || this.loadedJs.indexOf ( file ) == -1 )
		{
			fileref = document.createElement ( 'script' );
			fileref.setAttribute ( 'type', 'text/javascript' );
			fileref.setAttribute ( 'src', file );
		}
		if ( fileref != '' )
		{
			document.getElementsByTagName('head').item(0).appendChild ( fileref );
			this.loadedJs += file + ' ';
		}
		return fileref;
	}

	// 载入 Css
	this.loadCss = function ( file, reload )
	{
		if ( !document.getElementById )
		{
			return;
		}

		if ( reload == null ) reload = false;

		var fileref = '';
		if ( reload || this.loadedCss.indexOf ( file ) == -1 )
		{
			fileref=document.createElement ( 'link' );
			fileref.setAttribute ( 'rel', 'stylesheet' );
			fileref.setAttribute ( 'type', 'text/css' );
			fileref.setAttribute ( 'href', file );
		}
		if ( fileref != '' )
		{
			document.getElementsByTagName('head').item(0).appendChild ( fileref );
			this.loadedCss += file + ' ';
		}
	}

	// 设置时间戳, 用于控制页面缓存
	this.refreshCache = function ()
	{
		this.timeStamp = this.makeTimeStamp ();
	}

	// 生成时间戳
	this.makeTimeStamp = function ()
	{
		var dateTime = new Date ();
		var timeStamp = dateTime.getTime ();
		if ( typeof ( timeStamp ) == 'undefined' || timeStamp == null )
		{
			timeStamp = Math.floor ( Math.random () * 10000 * 10000 );
		}
		return timeStamp;
	}
	
	// 获取缓存时间戳
	this.getTimeStamp = function ()
	{
		if ( typeof ( this.timeStamp ) == 'undefined' || this.timeStamp == null ) this.timeStamp = this.makeTimeStamp ();
		return this.timeStamp;
	}
}

var loader = new objLoader ();
loader.refreshCache ();

// 解析 Script
function execScript ( msg )
{
	var _re = /<script[^>]*>([^\x00]+)$/i
	var _msgs = msg.split ( "<\/script>" );
	for ( var _i in _msgs )
	{
		var _strScript;
		if ( _strScript = _msgs[_i].match ( _re ) )
		{
			var _strEval = _strScript[1].replace ( /<!--/, '' );
			try
			{
				eval ( _strEval );
			}
			catch (e) {}
		}
	}
}

function checkform(){
	var uname = document.userreg.username.value;
	var upass = document.userreg.userpass.value;
	var umail = document.userreg.usermail.value;
	
    if(document.userreg.username.value=="" || document.userreg.userpass.value=="" || document.userreg.userrepass.value=="" || document.userreg.usermail.value=="" || document.userreg.userquestion.value=="" || document.userreg.useranswer.value=="" ){
	alert("必填项目不能为空\n请认真填写!");
	return false;
	}
	if(document.userreg.username.value.length<4){
	 alert("用户名不能少于4位!");
	 document.userreg.username.focus();
	 return false;
    }
  else{
	 var p_name=/[!@#$%^&*\(\)_+\"\:?\>\<|\';]+/
	 if(p_name.test(document.userreg.username.value)==true){
		alert("用户名中含有非法字符!");
		document.userreg.username.focus();
		return false;
		}
	}
	if(document.userreg.userqq.value!=""){
	var p_qicq=/([0-9]){5,10}/
	if(p_qicq.test(document.userreg.userqq.value)==false){
		alert("请输入正确的QQ号码!");
		document.userreg.userqq.focus();
		return false;
	}
   }
   if(document.userreg.usermail.value!=""){
   var usermail1 = document.userreg.usermail.value;
   var pattern = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+.([\.a-zA-Z0-9_-])+/; 
   flag = pattern.test(usermail1); 
   if(flag==false){
   alert("请检查你的邮箱输入是否正确!");
   document.userreg.usermail.focus();
   return false;
   }
 }

if(document.userreg.userpass.value.length<6){
		alert("为了你的账号安全,密码请不要少于6位!");
		document.userreg.userpass.focus();
		return false;
	}
	else{
		var p_pwd=/[!@#$%^&*\(\)_+\"\:?\>\<|\';]+/
		if(p_pwd.test(document.userreg.userpass.value)==true || p_pwd.test(document.userreg.userrepass.value)==true){
			alert("密码中含有非法字符!");
			document.userreg.userpass.focus();
			return false;
		}
	}
	if(document.userreg.userpass.value!=document.userreg.userrepass.value){
		alert("两次密码输入不一致!");
		document.userreg.userrepass.focus();
		return false;
	}
	/*
	if(document.userreg.usermobile.value!=""){
     var m=/^(13)[0-9]{9}/
     if (m.test(document.userreg.usermobile.value)==false){
       alert("你的手机号码输入有错误,请核对!");
         document.userreg.usermobile.focus();
        return false;
          }
	}
if(document.userreg.userphone.value!=""){
    var m=/[0-9]{7,15}/
     if (m.test(document.userreg.userphone.value)==false){
       alert("你的固定电话输入有错误,请核对!");
         document.userreg.userphone.focus();
        return false;
          }
	}*/
  if(document.userreg.usernickname.value.length<2){
	 alert("昵称不能少于2位!");
	 document.userreg.usernickname.focus();
	 return false;
    }
	
   //先向论坛注册
   var loadUrl = '/apis/index.php?ac=reg';
   var querystring = 'u='+uname+'&p='+upass+'&m='+umail;
   loader.post ( loadUrl, null,querystring ,null,_CallBack);
}


function _CallBack( e,a )
{
  if(e == "ok")
  {
	 document.forms["userreg"].submit();
     return;
  }
  execScript( e );
}

function loginall()
{
	var uname = document.forms["form1"].username.value;
	var upass = document.forms["form1"].userpass.value;
	if(uname == "")
	{
	   alert("用户名不能空");	
	   return false;
	}
	
	if(upass == "")
	{
	  alert("不能为空密码");
	  return false;
	}
	
	 //先向论坛登陆
   var loadUrl = '/apis/index.php?ac=login';
   var querystring = 'u='+uname+'&p='+upass;
   loader.post ( loadUrl, null,querystring ,null,log_CallBack);
}

function log_CallBack(e,a)
{
   if(e == "ok")
   {
	 document.forms["form1"].submit();
     return;
   }
  document.getElementById("skin").value = e;
  document.forms["form1"].submit();
  
}

function ckhmm()
{
	var uname = document.forms["userlogin"].username.value;
	var upass = document.forms["userlogin"].userpass.value;
	
	if(uname == "")
	{
	   alert("用户名不能空");	
	   return false;
	}
	
	if(upass == "")
	{
	  alert("不能为空密码");
	  return false;
	}
	
	 //先向论坛登陆
   var loadUrl = '/apis/index.php?ac=login';
   var querystring = 'u='+uname+'&p='+upass;
   loader.post ( loadUrl, null,querystring ,null,loag_CallBack);
   return false;
}

function loag_CallBack(e,a)
{
   if(e == "ok")
   {
	 //document.forms["form1"].submit();
     return;
   }
  document.getElementById("skin").value = e;
  document.forms["userlogin"].submit();
  
}



		function showadv() 
		{ 

			if (document.userreg.advcheck.checked == true) 
			{ 
				adv.style.display = ""; 
				advance.innerHTML="隐藏用户详细资料" + "(<input name='userinfolock' type='radio' value='0' checked> 公开 <input type='radio' name='userinfolock' value='1'> 保密) "
			}
			else
			{ 
				adv.style.display = "none"; 
				advance.innerHTML="显示用户详细资料"
			} 
		} 





