﻿// JScript 文件
function getLoginWindow(e){
    var winHtml = '<div id="winlogin" >' +
                    '<div id="winlogin_head" ><img id="winlogin_loader" src="images/loader.gif" style=" visibility:hidden; width:20px; height:20px;" />&nbsp;&nbsp;&nbsp;&nbsp;<span id="winlogin_head_text" style="color:Red;"></span></div>' +
                    '<div id="winlogin_body" > ' +
                        '<div style="float:left;">' +
                        '<table cellpadding="2px">' +
                        '<tr><td><img id="winlogin_ValidateCodeImg" src="ValidateCode.aspx?dn=' + getDN() + '" style="width:100px; height:40px;" /></td><td><span id="winlogin_ValidateCodeImg_text" style="width:50px;"><a href="#" onclick="freshValidateCode();" >点击刷新</a></span></td></tr>' +
                        '<tr><td><input id="winlogin_ValidateCode" type="text" style="width:100px;" onchange="checkValidateCode(this.value);" /></td><td><span id="winlogin_ValidateCode_text" style="width:50px;">验证码</span></td></tr>' +
                        '<tr><td><input id="winlogin_body_input1" type="text" style="width:100px;" onchange="checkName();"; /></td><td><span id="winlogin_body_span1" style="width:50px;">昵称</span></td></tr>';
                        if(e == 1){
                            winHtml += '<tr><td><input id="winlogin_body_oldpwd" type="password" style="width:100px;" /></td><td><span id="Span1" style="width:50px;">原密码</span></td></tr>';
                        }
                        winHtml += '<tr><td><input id="winlogin_body_input2" type="password" style="width:100px;" /></td><td><span id="winlogin_body_span2" style="width:50px;">登陆密码</span></td></tr>' +
                        '<tr><td><input id="winlogin_body_input3" type="password" style="width:100px;" onblur="' + ((e == 1) ? 'checkUpdatePwd()' : 'checkPwd()') + '"/></td><td><span id="winlogin_body_span3" style="width:50px;">重复密码</span></td></tr>' +
                        '<tr><td><select id="winlogin_body_input4" style="width:105px;"><option selected="selected" value="0">保密</option><option value="1">先生</option><option value="2">女士</option></select></td><td><span id="winlogin_body_span4" style="width:50px;">性别</span></td></tr>' +
                        '<tr><td><input id="winlogin_body_input5" type="text" style="width:100px; " onchange="freshUserImg(this.value,1);"/></td><td><span id="winlogin_body_span5" style="width:50px;">头像</span></td></tr>' +
                        '<tr><td><input id="winlogin_body_input6" type="text" style="width:100px;" onchange="isQq(this.value);" /></td><td><span id="winlogin_body_span6" style="width:50px;">QQ</span></td></tr>' +
                        '<tr><td><input id="winlogin_body_input7" type="text" style="width:100px;" onchange="isMsn(this.value);" /></td><td><span id="winlogin_body_span7" style="width:50px;">MSN</span></td></tr>' +
                        '<tr><td><input id="winlogin_body_input8" type="text" style="width:100px;" /></td><td><span id="winlogin_body_span8" style="width:50px;">个人主页</span></td></tr>';
                        if(e != 1){
                            winHtml += '<tr><td align="right"><input id="winlogin_body_input9" type="checkbox"  onclick="chechAllow();" /></td><td><span id="winlogin_body_span9" style="width:50px;">遵守国家法律<br />文明语言，礼貌待人</span></td></tr>';
                            winHtml += '<tr><td align="right"><input id="winlogin_submit" type="button" onclick="winlogin_submit_onclick();"  value="注册" disabled="true" /></td><td align="right"><input id="winlogin_cancel" type="button" onclick="closeLogin(1);"  value="取消" /></td></tr>'; 
                        }
                        else{
                            winHtml += '<tr><td align="right"><input id="winlogin_update" type="button" onclick="winlogin_update_onclick();"  value="修改" /></td><td align="right"><input id="winlogin_cancel" type="button" onclick="closeLogin(1);"  value="取消" /></td></tr>'; 
                        }
                        winHtml += '</table>' +
                        '</div>' +
                        '<div style="float:right; margin-right:25px;"><img id="winlogin_userImg" src="images/noavatar.gif" style="width:120px; height:120px;" /></div>' +
                        '<div></div>' +
                    '</div>' +
                '</div>';
    return winHtml; 
}

function showLogin(o,w,h,e){
    var id = 'loginmini';
    if(o == 1) id = 'winlogin'; 
    if($get('loginmini')) return;
    if($get('winlogin')) return; 
    var html = document.createElement('div');
    if(o == 1) html.innerHTML =  getLoginWindow(e);
    else html.innerHTML =  getLoginMini();
    var css = "left:" + (parseInt(document.body.clientWidth - w)/2).toString() + "px;top:60px;"; 
   document.body.appendChild(html);  
   var win =  $get(id.toString());
    win.setAttribute('style',css);
    win.style.cssText = css; 
   var divcrl = new Sys.UI.Control(win);
   //var fadeAnimation = new Sys.Preview.UI.Effects.FadeAnimation();
   //fadeAnimation.set_target( divcrl ); 
   //fadeAnimation.set_effect( Sys.Preview.UI.Effects.FadeEffect.FadeIn );
   //fadeAnimation.set_id("winlogin_animation");
   //fadeAnimation.play();
   if(o == 1 && e == 1){
       $get("winlogin_loader").style.visibility = "visible";
       getAction('Ajax.aspx?dn=' + getDN() + '&cmd=ua_UserInfo',userInfo_onCompeled);
   }
}

function userInfo_onCompeled(result){
    if(result.get_responseAvailable() && result.get_statusCode().toString() == "200"){
        $get("winlogin_loader").style.visibility = "hidden";
        var data = null;
        eval('data=' + result.get_responseData()); 
        $get('winlogin_body_input1').value = data.name; 
        $get('winlogin_body_input1').disabled =  true;
        $get('winlogin_body_input4').selectedIndex = parseInt(data.sex);
        $get('winlogin_body_input5').value = data.photo;
        $get('winlogin_body_input6').value = data.qq;
        $get('winlogin_body_input7').value = data.msn;
        $get('winlogin_body_input8').value = data.homepage; 
    }
    else{
        $get("winlogin_head_text").innerHTML = "服务器发生[" + result.get_statusCode() + "]错误!~请刷新~";
    }  
}

function getLoginMini(){
    var html = '<div id="loginmini" >' +
          '<div id="winlogin_head" ><img id="winlogin_loader" src="images/loader.gif" style=" visibility:hidden; width:20px; height:20px;" />&nbsp;&nbsp;&nbsp;&nbsp;<span id="winlogin_head_text" style="color:Red;"></span></div>' +
          '<div id="winlogin_body" >' +
            '<table cellpadding="2px">' +
              '<tr><td><img id="winlogin_ValidateCodeImg" src="ValidateCode.aspx?dn=' + getDN() + '" style="width:100px; height:40px;" /></td><td><span id="winlogin_ValidateCodeImg_text" style="width:50px;"><a href="#" onclick="freshValidateCode();" >点击刷新</a></span></td></tr>' +
              '<tr><td><input id="winlogin_ValidateCode" type="text" style="width:100px;" onchange="checkValidateCode(this.value);" /></td><td><span id="winlogin_ValidateCode_text" style="width:50px;">验证码</span></td></tr>' +
              '<tr><td><input id="winlogin_body_input1" type="text" style="width:100px;" /></td><td><span id="winlogin_body_span1" style="width:50px;">昵称</span></td></tr>' +
              '<tr><td><input id="winlogin_body_pwd" type="password" style="width:100px;" /></td><td><span id="Span1" style="width:50px;">密码</span></td></tr>' +
              '<tr><td align="right"><input id="loginmini_login" type="button" type="submit" onclick="loginmini_login_onclick();"  value="登陆" /></td><td align="right"><input id="loginmini_cancel" type="button" onclick="closeLogin(0);"  value="取消" /></td></tr>' +
            '</table>' +
          '</div> ' +
        '</div> ';
     return html;
}

function closeLogin(o){
    var id = 'loginmini';
    if(o == 1) id = 'winlogin'; 
    var win = $get(id.toString());
    if(win){
        //win.removeNode(true);
        win.parentNode.removeChild(win);  
    } 
}

function chechAllow(){
    $get('winlogin_submit').disabled =  !$get("winlogin_body_input9").checked
}

function freshValidateCode(){
        var src = "ValidateCode.aspx?dn=" + getDN(); 
        var img = $get("winlogin_ValidateCodeImg");
        getPictures(img,src);
}

function freshUserImg(imgSrc){
        getPictures($get("winlogin_userImg"),imgSrc);
}

function isQq(value){
    if (value != "" && !/^\d+$/.test(value))
    {
           $get('winlogin_body_span6').innerHTML='QQ<font color="red">(有误)</font>';
           return false;
    }
    if(value.legnth > 10){
        $get('winlogin_body_span6').innerHTML='QQ<font color="red">(太长)</font>';
           return false;
    } 
   $get('winlogin_body_span6').innerHTML='QQ'; 
   return true; 
}

function isMsn(value){
       if(value != "" && !/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/.test(value)){
           $get('winlogin_body_span7').innerHTML='MSN<font color="red">(有误)</font>'; 
           return false;
       } 
      $get('winlogin_body_span7').innerHTML='MSN';
      return true; 
}

function checkUpdatePwd(){
    var p = $get('winlogin_body_oldpwd').value;
    var p1 = $get('winlogin_body_input2').value;
    var p2 = $get('winlogin_body_input3').value; 
    if(p == ""){
        $get('Span1').innerHTML='原密码<font color="red">(不可为空)</font>';
        return false;
    }
    if(p1 != "" && p1 != p2){
        $get('winlogin_body_span3').innerHTML='重复密码<font color="red">(有误)</font>';
        return false;
    } 
    $get('Span1').innerHTML='原密码'; 
    $get('winlogin_body_span3').innerHTML='重复密码'; 
    return true; 
}

function checkPwd(){
    var p1 = $get('winlogin_body_input2').value;
    var p2 = $get('winlogin_body_input3').value;
    if(p1 == "" || p2 == ""){
        $get('winlogin_body_span3').innerHTML='重复密码<font color="red">(不可为空)</font>';
        return false;
    } 
    if(p1 != p2){
        $get('winlogin_body_span3').innerHTML='重复密码<font color="red">(有误)</font>';
        return false;
    }  
   $get('winlogin_body_span3').innerHTML='重复密码'; 
    return true; 
}

function checkName(){
    var name = $get('winlogin_body_input1').value;
    if(name == "") return;
    if(name.length > 10){
        $get('winlogin_body_span1').innerHTML='昵称<font color="red">(字数过多)</font>';
        return;
    } 
    $get("winlogin_loader").style.visibility = "visible";  
    var url = "Ajax.aspx?cmd=ua_checkName&name=" + encodeURIComponent(name);
    getAction(url,checkName_onCompeled);
}

function checkName_onCompeled(result){
   if(result.get_responseAvailable() && result.get_statusCode().toString() == "200"){
        $get("winlogin_loader").style.visibility = "hidden";
        var msg = result.get_responseData();
        if(msg != ""){
            $get('winlogin_body_span1').innerHTML='昵称<font color="red">(已被使用)</font>';
            return;
        } 
       $get('winlogin_body_span1').innerHTML='昵称';
    }
    else{
        $get("winlogin_head_text").innerHTML = "服务器发生[" + result.get_statusCode() + "]错误!~请刷新~";
    }  
}

function checkValidateCode(value){
    if(value == ""){
        $get('winlogin_ValidateCode_text').innerHTML='验证码<font color="red">(不可为空)</font>';
        return false;
    } 
   $get('winlogin_ValidateCode_text').innerHTML='验证码'; 
   return true;
}

function winlogin_update_onclick(){
    if(!checkValidateCode($get('winlogin_ValidateCode').value) || !isQq($get('winlogin_body_input6').value) || !isMsn($get('winlogin_body_input7').value) || !checkUpdatePwd()){
        return;
    }
    $get("winlogin_loader").style.visibility = "visible";  
    var url = "Ajax.aspx?dn=" + getDN() + "&cmd=ua_updateUserInfo";
    url += "&validatecode=" + encodeURIComponent($get('winlogin_ValidateCode').value); 
    url += "&name=" + encodeURIComponent($get('winlogin_body_input1').value);
    url += "&oldpassword=" + encodeURIComponent($get('winlogin_body_oldpwd').value);  
    url += "&password=" + encodeURIComponent($get('winlogin_body_input3').value); 
    url += "&sex=" + encodeURIComponent($get('winlogin_body_input4').value); 
    url += "&photo=" + encodeURIComponent($get('winlogin_body_input5').value); 
    url += "&qq=" + encodeURIComponent($get('winlogin_body_input6').value); 
    url += "&msn=" + encodeURIComponent($get('winlogin_body_input7').value); 
    url += "&homepage=" + encodeURIComponent($get('winlogin_body_input8').value);    
    getAction(url,winlogin_update_onclick_onCompeled);  
}

function winlogin_update_onclick_onCompeled(result){
    if(result.get_responseAvailable() && result.get_statusCode().toString() == "200"){
        $get("winlogin_loader").style.visibility = "hidden";
        var msg = result.get_responseData();
        if(msg != ""){
            $get('winlogin_head_text').innerHTML=msg;
            return;
        } 
       $get('winlogin_head_text').innerHTML=''; 
       loginFresh();
       alert('更新完毕');
       closeLogin(1);
    }
    else{
        $get("winlogin_head_text").innerHTML = "服务器发生[" + result.get_statusCode() + "]错误!~请刷新~";
    }
}

function winlogin_submit_onclick(){
    if(!checkValidateCode($get('winlogin_ValidateCode').value) || !isQq($get('winlogin_body_input6').value) || !isMsn($get('winlogin_body_input7').value) || !checkPwd()){
        return;
    }
    $get("winlogin_loader").style.visibility = "visible";  
    var url = "Ajax.aspx?dn=" + getDN() + "&cmd=ua_regist";
    url += "&validatecode=" + encodeURIComponent($get('winlogin_ValidateCode').value); 
    url += "&name=" + encodeURIComponent($get('winlogin_body_input1').value);
    url += "&password=" + encodeURIComponent($get('winlogin_body_input3').value); 
    url += "&sex=" + encodeURIComponent($get('winlogin_body_input4').value); 
    url += "&photo=" + encodeURIComponent($get('winlogin_body_input5').value); 
    url += "&qq=" + encodeURIComponent($get('winlogin_body_input6').value); 
    url += "&msn=" + encodeURIComponent($get('winlogin_body_input7').value); 
    url += "&homepage=" + encodeURIComponent($get('winlogin_body_input8').value);    
    getAction(url,winlogin_submit_onclick_onCompeled);  
}

function winlogin_submit_onclick_onCompeled(result){
    if(result.get_responseAvailable() && result.get_statusCode().toString() == "200"){
        $get("winlogin_loader").style.visibility = "hidden";
        var msg = result.get_responseData();
        if(msg != ""){
            $get('winlogin_head_text').innerHTML=msg;
            return;
        } 
       $get('winlogin_head_text').innerHTML=''; 
       loginFresh();
       alert('注册成功，希望今后可以和您多多交流 ^^');
       closeLogin(1);
    }
    else{
        $get("winlogin_head_text").innerHTML = "服务器发生[" + result.get_statusCode() + "]错误!~请刷新~";
    }
}

function loginout(){
    var url = "Ajax.aspx?dn=" + getDN() + "&cmd=ua_logout";
    getAction(url,loginout_onCompeled);
}

function loginout_onCompeled(result){
    if(result.get_responseAvailable() && result.get_statusCode().toString() == "200"){
        var msg = result.get_responseData();
        if(msg != ""){
            alert(msg);
            return;
        }
       loginFresh();
    }
    else{
        alert("服务器发生[" + result.get_statusCode() + "]错误!~请刷新~");
    }
}

function loginmini_login_onclick(){
    var vc = $get("winlogin_ValidateCode").value;
    if(vc == "") {
        $get("winlogin_ValidateCode_text").innerHTML = "验证码<font color='red'>(不能为空)</font>";
        return;
    }
   else{
       $get("winlogin_ValidateCode_text").innerHTML = "验证码";
   } 
   var name = $get("winlogin_body_input1").value;
    if(name == "") {
        $get("winlogin_body_span1").innerHTML = "昵称<font color='red'>(不能为空)</font>";
        return;
    }
   else{
       $get("winlogin_body_span1").innerHTML = "昵称";
   } 
   var pwd = $get("winlogin_body_pwd").value;
    if(pwd == "") {
        $get("Span1").innerHTML = "密码<font color='red'>(不能为空)</font>";
        return;
    }
   else{
       $get("Span1").innerHTML = "密码";
   } 
   $get("winlogin_loader").style.visibility = "visible";  
    var url = "Ajax.aspx?cmd=ua_login";
    url += "&validatecode=" + encodeURIComponent($get('winlogin_ValidateCode').value); 
    url += "&name=" + encodeURIComponent($get('winlogin_body_input1').value);
    url += "&password=" + encodeURIComponent($get('winlogin_body_pwd').value);
    PageMethods.login($get('winlogin_body_input1').value,$get('winlogin_body_pwd').value,$get('winlogin_ValidateCode').value, loginmini_login_onclick_onCompeled); 
}

function loginmini_login_onclick_onCompeled(result){
        if(result.toString() != ""){
            $get('winlogin_head_text').innerHTML=result.toString();
            return;
        } 
       $get('winlogin_head_text').innerHTML=''; 
       closeLogin(0);
       loginFresh();
}

function createAjaxObj(){
  var httprequest=false;
  if (window.XMLHttpRequest)
  { // if Mozilla, Safari etc
    httprequest=new XMLHttpRequest();
    if (httprequest.overrideMimeType)
      httprequest.overrideMimeType('text/xml');
   }
   else if (window.ActiveXObject)
   { // if IE
     try {
       httprequest=new ActiveXObject("Msxml2.XMLHTTP");
     }
     catch (e){
       try{
          httprequest=new ActiveXObject("Microsoft.XMLHTTP");
       }
       catch (e){}
     }
   }
   return httprequest;
}

function getPictures( category , strUrl)
{
    $get("winlogin_loader").style.visibility = "visible";
    var ajaxObject;
    ajaxObject = createAjaxObj();
    ajaxObject.open('GET', strUrl, true);
    ajaxObject.onreadystatechange=function()
    {
        if (ajaxObject.readyState == 4)
         {
              if (ajaxObject.status==200)
              {
                  category.src = strUrl;
                  $get("winlogin_loader").style.visibility = "hidden";
              }
         }
    }
    ajaxObject.send(null);
}

