﻿var RegLoginDialog = showRegLoginDialog;
RegLoginDialog.defaultSettings =
{
    objectID : "ajaxreglogin_btnSubmit",
    trackRegSource : "dp_ajax_reg",
    trackLoginSource : "dp_ajax_login", 
    successFunc : function(){DialogShowMX("<div class=\"Loading\">验证成功,请稍候...</div>",110,10,220,25);setTimeout("window.location.reload(true);", 1000);}   
} 

// 显示注册登录框
function showRegLoginDialog(e)
{
    ScreenConvertMX();DialogShowMX("<div id=\"DialogLoading\">正在读取,请稍候...</div>",110,10,124,20);
    $.post(window.location.protocol + "//" + window.location.host + "/AJAX_Comm.aspx", "do=reglogin", function(data){DialogShow(data,380,385,390,420);$("#rlLoading").hide();EnableMxTab();ReloadLoginImg();	});
    StopEvent(e);
}

// 显示注册登录弹出框，非绑定以及阻断事件的直接调用 @zack 2008-4-21
function showRegLoginDialogWithAccount(account)
{
    ScreenConvertMX();DialogShowMX("<div id=\"DialogLoading\">正在读取,请稍候...</div>",110,10,124,20);
    $.post(window.location.protocol + "//" + window.location.host + "/AJAX_Comm.aspx", "do=reglogin&ua=" + StrCode(account), function(data){DialogShow(data,380,385,390,420);$("#rlLoading").hide();EnableMxTab();ReloadLoginImg();	});
}

// 使tab切换生效
function EnableMxTab()
{
	var tabContainers = $("div.tabs > div");
	tabContainers.hide().filter(":first").show();	
	$("div.tabs ul.tabNavigation a").hover(function () {
	tabContainers.hide();
	tabContainers.filter(this.hash).show();
	if(this.hash =="#reg"&&!$(this).hasClass("selected")) ReloadRegImg();
	if(this.hash =="#login"&&!$(this).hasClass("selected")) ReloadLoginImg();
	$("div.tabs ul.tabNavigation a").removeClass("selected");
	$(this).addClass("selected");
	return false;
	}, 
	function(){return false;}).filter(":first").addClass("selected");
}

// dirty code, fix the validatecode session problem
function ReloadRegImg()
{
    $("#regimg").attr("src", "/ValidateCode.jpg?" + Math.floor(Math.random()*1001));
}

function ReloadLoginImg()
{
    $("#loginimg").attr("src", "/ValidateCode20.jpg?" + Math.floor(Math.random()*1001));
}

// 提交注册信息
function SubmitRegInfo()
{
    if(checkRegInfo())
    {
    var postData = "do=ajaxreg" + "&email=" + $("#regmail").val() + "&una=" + $("#regnickname").val()  + "&upwd=" + $("#regpwd").val() + "&cmcode=" + $("#regcaptchacode").val();
    $("div.tabs").hide();
    $("#rlLoading").show();
    $.post(window.location.protocol + "//" + window.location.host + "/AJAX_Comm.aspx", postData, 
            function(data)
            {
                if(data == "success"){RegLoginDialog.defaultSettings.successFunc();pageTracker._trackPageview(RegLoginDialog.defaultSettings.trackRegSource);pageTracker._trackPageview("reg/success");return false;}
                else
                {
                    clearRegValidatorInfo();
                    switch(data)
                    {
                        case "accounterror":
                                $("#regmailvalidator").html("*填写正确格式的Email或手机号码").show(); 
                                break;  
                        case "userpassworderror":
                                $("#regpwdvalidator").html("*填写6-12位长度的密码").show(); 
                                break;
                        case "usernicknameerror":
                                $("#regnicknamevalidator").html("*请使用12个以内的字母、数字、中文、下划线").show(); 
                                break;
                        case "dangerwordsinusernickname":
                                 $("#regnicknamevalidator").html("*用户名中含有系统禁止字符！请重新填写").show();  
                                break;
                        case "badwordsinusernickname":
                                $("#regnicknamevalidator").html("*用户名中含有系统禁止字符！请重新填写").show();  
                                break;   
                        case "captchacodeerror":
                                $("#regccvalidator").html("*填写正确的验证码" ).show(); 
                                break;
                        case "duplicateusername":
                                 $("#regnicknamevalidator").html("*取一个独一无二的昵称").show();   
                                break;
                        case "duplicateemail":
                                 $("#regmailvalidator").html("*该Email已经存在，请重新填写").show();  
                                break;  
                        case "unknownexception":
                                 $("#rlLoading").html("*出现未知错误，请稍候再试").show();
                                break; 
                    }
                    if(data != "unknownexception") 
                    { 
                         $("div.tabs").show(); 
                         ReloadRegImg();
                         $("#rlLoading").hide();
                    }
                }
            }
            );
           } 
}

function checkRegInfo()
{
          var empty = 0; 
          if(!$("#regmail").val() ) 
          {
                $("#regmailvalidator").html("*填写正确的Email或手机号").show();
                empty++; 
          } 
          if(!$("#regnickname").val() ) 
          {
                $("#regnicknamevalidator").html("*取一个独一无二的昵称").show();  
                empty++;  
          }
          if(!$("#regpwd").val() ) 
          {
                 $("#regpwdvalidator").html("*填写6-12位长度的密码").show(); 
                empty++;  
          }     
          if(!$("#regcaptchacode").val() ) 
          {
                $("#regccvalidator").html("*填写正确的验证码" ).show();  
                empty++;
          }            
         if(empty > 0) return false;
         return true; 
}

function clearRegValidatorInfo()
{
          $("#regmailvalidator").html("").hide();
          $("#regpwdvalidator").html("").hide();
          $("#regnicknamevalidator").html("").hide();
          $("#regccvalidator").html("" ).hide();
}

// 提交登录信息
function SubmitLoginInfo(mode)
{
    if(checkLoginInfo())
    {
    var postData = "do=ajaxlogin" + "&ua=" + StrCode($("#loginaccount").val()) + "&pwd=" + StrCode($("#loginpwd").val()) + "&mc=" + $("#logincaptchacode").val(); 
    $("div.tabs").hide();
    $("#rlLoading").show();
    $.post(window.location.protocol + "//" + window.location.host + "/AJAX_Comm.aspx", postData, 
                function(data){
                    if(data == "success")
                    { RegLoginDialog.defaultSettings.successFunc();pageTracker._trackPageview(RegLoginDialog.defaultSettings.trackLoginSource);pageTracker._trackPageview("login/success");return false;}
                    else{
                                clearLoginValidatorInfo(); 
                                switch(data)
                                {
                                    case "nameerror":
                                       $("#loginaccountvalidator").html("*填写正确的帐号名 ").show(); 
                                       break;
                                    case "passworderror":
                                       $("#loginpwdvalidator").html("*填写正确的密码 ").show();
                                       $("#loginpwdvalidator").show(); 
                                       break;
                                    case "matchcodeerror":  
                                       $("#loginccvalidator").html("*填写正确的验证码 ").show();  
                                       break;
                                    case "nomanapower":
                                       $("#rlLoading").html("您没有足够的贡献值进行登录").show(); 
                                       break;
                                    case "Unknow exception happend!":
                                        $("#rlLoading").html("发生未知错误，请稍候再试").show();  
                                       break;    
                                }
                                if(data != "nomanapower" && data != "Unknow exception happend!") 
                                { 
                                    $("div.tabs").show();
                                    ReloadLoginImg(); 
                                    $("#rlLoading").hide(); 
                                } 
                            }
                    }
      ) ;
     } 
}

function checkLoginInfo()
{
          var empty = 0; 
          if(!$("#loginaccount").val() ) 
          {
                $("#loginaccountvalidator").html("*填写正确的帐号名 "); 
                $("#loginaccountvalidator").show();
                empty++; 
          } 
          if(!$("#loginpwd").val()  ) 
          {
                $("#loginpwdvalidator").html("*填写正确的密码 "); 
                $("#loginpwdvalidator").show();
                empty++;  
          }
          if(!$("#logincaptchacode").val() ) 
          {
                $("#loginccvalidator").html("*填写正确的验证码 ");
                $("#loginccvalidator").show(); 
                empty++;  
          }     
         if(empty > 0) return false;
         return true; 
}

function clearLoginValidatorInfo()
{
          $("#loginaccountvalidator").html("").hide();
          $("#loginpwdvalidator").html("").hide();
          $("#loginccvalidator").html("").hide();
}



// use this to stop the event
function StopEvent(e)
{
   if (!e)
   { 
     if (window.event) e = window.event; 
     else return;
    } 
   
   if (e.cancelBubble != null) e.cancelBubble = true;
   if (e.stopPropagation) e.stopPropagation();
   if (e.preventDefault) e.preventDefault();
   if (window.event) e.returnValue = false;
   if (e.cancel != null) e.cancel = true;
}  

// some base magical functions from the old ajax.js
function ScreenConvertMX(){var browser = new Browser();var objScreen = document.getElementById("ScreenOver");if (!objScreen) var objScreen = document.createElement("div");var oS = objScreen.style;objScreen.id = "ScreenOver";oS.display = "block";oS.top = oS.left = oS.margin = oS.padding = "0px";if (document.body.clientHeight)	{var wh = document.body.clientHeight + "px";}else if (window.innerHeight){var wh = window.innerHeight + "px";}else{var wh = "100%";}oS.width = "100%";oS.height = wh;oS.position = "absolute";oS.zIndex = "3";if ((!browser.isSF) && (!browser.isOP)){oS.background = "#cccccc";}else{oS.background = "#cccccc";}oS.filter = "alpha(opacity=40)";oS.opacity = 40/100;oS.MozOpacity = 40/100;document.body.appendChild(objScreen);var allselect = gname("select");for (var i=0; i<allselect.length; i++) allselect[i].style.visibility = "hidden";}
function ScreenCleanMX(){var objScreen = document.getElementById("ScreenOver");var oS = objScreen.style;if (objScreen) oS.display = "none";var allselect = gname("select");for (var i=0; i<allselect.length; i++) allselect[i].style.visibility = "visible";}
var t_DiglogX,t_DiglogY,t_DiglogW,t_DiglogH;
function DialogLocMX(){var dde = document.documentElement;if (window.innerWidth){var ww = window.innerWidth;var wh = window.innerHeight;var bgX = window.pageXOffset;var bgY = window.pageYOffset;}else{var ww = dde.offsetWidth;var wh = dde.offsetHeight;var bgX = dde.scrollLeft;var bgY = dde.scrollTop;}t_DiglogX = (bgX + ((ww - t_DiglogW)/2));t_DiglogY = (bgY + ((wh - t_DiglogH)/2));}
function DialogShowMX(showdata,ow,oh,w,h){var objDialog = document.getElementById("DialogMove");if (!objDialog) objDialog = document.createElement("div");t_DiglogW = ow;t_DiglogH = oh;DialogLocMX();objDialog.id = "DialogMove";var oS = objDialog.style;oS.display = "block";oS.top = t_DiglogY + "px";oS.left = t_DiglogX + "px";oS.margin = "0px";oS.padding = "0px";oS.width = w + "px";oS.height = h + "px";oS.position = "absolute";oS.zIndex = "5";oS.background = "#FFF";oS.border = "solid #000 3px";objDialog.innerHTML = showdata;document.body.appendChild(objDialog);}
function DialogHideMX(){ScreenCleanMX();var objDialog = document.getElementById("DialogMove");if (objDialog) objDialog.style.display = "none";}