﻿// JScript 文件



function $(Id){return document.getElementById(Id);}

String.prototype.Trim = function() 
{ 
    return this.replace(/(^\s*)|(\s*$)/g, ""); 
}

function Request(para) {
    var s = unescape(window.location.href.toLowerCase());
    var attr = s.match("[\\?&]"+para.toLowerCase()+"=([^&]*)");
    if (attr) return attr[1];
    return "";
}

//浏览器类型
var agent = navigator.userAgent.toUpperCase();
function IsIE()
{
    return (agent.indexOf("MSIE")!=-1);
}
function IsIE5()
{
    if (agent.indexOf("MSIE")==-1) return false;
    var version=agent.split(";");  
    return (version[1].indexOf("5.")!=-1);
}
function IsIE6()
{
    if (agent.indexOf("MSIE")==-1) return false;
    var version=agent.split(";");  
    return (version[1].indexOf("6.")!=-1);
}
function IsIE7()
{
    if (agent.indexOf("MSIE")==-1) return false;
    var version=agent.split(";");  
    return (version[1].indexOf("7.")!=-1);
}
function IsIE8()
{
    if (agent.indexOf("MSIE")==-1) return false;
    var version=agent.split(";");  
    return (version[1].indexOf("8.")!=-1);
}
function IsFIREFOX()
{
    return (agent.indexOf("FIREFOX")!=-1);
}
function IsOPERA()
{
    return (agent.indexOf("OPERA")!=-1);
}
function IsNETSCAPE()
{
    return (agent.indexOf("NETSCAPE")!=-1);
}


function IsUrl(url)   
{   
    //var reg = /[a-zA-z]+:\/\/[^\s]+/;
    var reg = /^(http|https|ftp):\/\/[^\s]+/ig;   
    return reg.test(url);   
} 
function IsInt(value)   
{   
    var reg = /^\-?[1-9]\d*$/;   
    return reg.test(value);   
} 

function IsUInt(value)   
{   
    var reg = /^[1-9]\d*$/;   
    return reg.test(value);   
} 

function IsEmail(email)
{
    if (email.length==0) return false;
//    var strr;
//    re=/^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-za-z]{2,4}|[0-9]{1,3})(\]?)$/;
//    re.exec(email);
//    if (RegExp.$3!=""&&RegExp.$3!="."&&RegExp.$2!=".") 
//        strr=RegExp.$1+RegExp.$2+RegExp.$3
//    else if (RegExp.$2!=""&&RegExp.$2!=".") 
//        strr=RegExp.$1+RegExp.$2
//    else  
//        strr=RegExp.$1
//    if (strr!=email) 
//        return false;
//    return true;
    var reg = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-za-z]{2,4}|[0-9]{1,3})(\]?)$/;   
    return reg.test(email);    
}


function getOffsetPos(srcElment)
{
    var offsetleft = srcElment.offsetLeft;
    var offsettop = srcElment.offsetTop;
    while ((srcElment = srcElment.offsetParent) != null)
    {
        offsetleft += srcElment.offsetLeft;
        offsettop += srcElment.offsetTop;
    }
    return { 'left': offsetleft, 'top': offsettop };
}


function   setMaxlength(obj,maxlength)
{
    maxlength+=1;
    if   (obj.value.length>=maxlength)
        obj.value=obj.value.substring(0,maxlength-1);
  return true;
}

function isLeapYear(year)
{    
    return( year%4==0 || (year%100 ==0 && year%400 == 0));
}
function addSelectItem(objSelect,text,value) 
{              
    var item = new Option(text, value);      
    objSelect.options.add(item);
}

function ObjClick(obj) {
    if (obj) {
        if (document.all)
            obj.click();
        else {
            var evt = document.createEvent("MouseEvents");
            evt.initEvent("click", true, true);
            obj.dispatchEvent(evt);
        }
    }
}

function redirect(url)
{
    var fakeLink = document.createElement ("a");
    if (typeof(fakeLink.click) == 'undefined')
        location.href = url;  
    else
    {
        fakeLink.href = url;
        document.body.appendChild(fakeLink);
        fakeLink.click();
    }
}

//=================cookie操作函数=====================
// utility function called by getCookie( )
//function getCookieVal(offset) 
//{
//    var endstr = document.cookie.indexOf (";", offset);
//    if (endstr == -1) {
//        endstr = document.cookie.length;
//    }
//    return unescape(document.cookie.substring(offset, endstr));
//}

// primary function to retrieve cookie by name
function getCookie(cookieName) {
    //    var arg = name + "=";
    //    var alen = arg.length;
    //    var clen = document.cookie.length;
    //    var i = 0;
    //    while (i < clen) {
    //        var j = i + alen;
    //        if (document.cookie.substring(i, j) == arg) {
    //            return getCookieVal(j);
    //        }
    //        i = document.cookie.indexOf(" ", i) + 1;
    //        if (i == 0) break; 
    //    }
    //    return "";
    var cookieValue = '';
    var posName = document.cookie.indexOf(escape(cookieName) + '=');
    if (posName != -1) {
        var posValue = posName + (escape(cookieName) + '=').length;
        var endPos = document.cookie.indexOf(';', posValue);
        if (endPos != -1) cookieValue = unescape(document.cookie.substring(posValue, endPos));
        else cookieValue = unescape(document.cookie.substring(posValue));
    }
    return (cookieValue);
}

// store cookie value with optional details as needed
function setCookie(name, value, expires, path, domain, secure) {
    document.cookie = name + "=" + escape(value) +
        ((expires) ? "; expires=" + expires.toGMTString() : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
}

// remove the cookie by setting ancient expiration date
function deleteCookie(name, path, domain) {
    if (getCookie(name)) {
        document.cookie = name + "=" +
            ((path) ? "; path=" + path : "") +
            ((domain) ? "; domain=" + domain : "") +
            "; expires=Thu, 01-Jan-70 00:00:01 GMT";
    }
}

function loadlogin(isnew) {
    var url = "/handler/Validate.ashx?type=islogin";
    if (isnew)
        url += "&ran=" + Math.round(Math.random() * 10000);
    ajax(url, "loadloginCallBack");
}
function loadloginCallBack(res) {
    var html = "";
    if (res == "0")
        html += '<div id="nologin"><img src="/images/ico8.gif" class="ico" /> 邮箱:<input type="text" class="t_input" id="txtTopUsername" />密码:<input type="password" class="t_input" id="txtTopPwd" /><label><input type="checkbox" id="chkTopRem" checked />下次自动登录</label> <input type="button" onclick="toplogin();" value="登录" id="btnTopLogin" class="t_d" style="margin-left:12px;"/><input type="button" onclick="window.location.href=\'/reg.aspx\';" value="注册" class="t_z" style="margin-left:6px;"/></div>';
    else {
        var arr = res.split('\n');
        newMsgCount = arr[2];
        usrid = arr[3];
        html += '<img src="/images/ico9.gif" class="ico" /> 欢迎 <span class="dh">' + arr[0] + '</span> ，你目前的身份为：<span class="hu">' + arr[1] + '</span>（' + arr[4] + '）<img class="ico" src="/images/ico10.gif" /> <span class="xh">您有<a href="/my/inbox.aspx" class="f">' + newMsgCount + ' </a>条未读消息</span> <input name="" style="margin-left:6px;" type="button" value="进入我的空间" class="mianban" onclick="window.location.href=\'/my/index.aspx\'" /><input name="" style="margin-left:6px;" type="button" value="安全退出" class="tuichu" onclick="window.location.href=\'/logout.aspx\'"/>'

        if ($("topMySpace_newMsg"))
            $("topMySpace_newMsg").innerHTML = "(" + newMsgCount + ")";
        if ($("topPMy_sp"))
            $("topPMy_sp").setAttribute("href", "/memberinfo.aspx?id=" + usrid);

    }
    $("logininfo").innerHTML = html;
    if ($("nologin")) {
        $("nologin").onkeydown = function(e) {
            var theEvent = window.event || e;
            var code = theEvent.keyCode || theEvent.which;
            if (code == 13) {
                $("btnTopLogin").focus();
                ObjClick($("btnTopLogin"));
            }
        };
    }
}
function toplogin(name, pwd, rem) {
    var name = $("txtTopUsername").value.Trim();
    var pwd = $("txtTopPwd").value;
    var rem = $("chkTopRem").checked ? "1" : "0";
    if (name == "") {
        alert("请输入您的邮箱名！");
        $("txtTopUsername").focus();
        return;
    }
    if (pwd == "") {
        alert("请输入您的密码！");
        $("txtTopPwd").focus();
        return;
    }

    $("btnTopLogin").disabled = true;
    var url = "/handler/Validate.ashx?type=login&name=" + escape(name) + "&pwd=" + escape(pwd) + "&rem=" + rem + "&ran=" + Math.round(Math.random() * 10000);
    ajax(url, "loginCallBack");
}
function loginCallBack(res) {
    $("btnTopLogin").disabled = false;
    switch (res) {
        case "1":
            if (needFresh())
                window.location.href = window.location.href;
            else
            {
                if (window.location.href.toLowerCase().indexOf("/logout.aspx")!=-1)
                {
                    window.location.href="/my/index.aspx"
                }
                else
                {
                    loadlogin(1);
                }
            }
            break;
        case "2":
            alert("您输入的用户名或口令不正确，请重新输入！");
            break;
    }
}

function needFresh() {
    var url = window.location.href;
    if (url.indexOf("/my/") != -1) return true;
    if (url.indexOf("/topic.aspx") != -1) return true;
    if (url.indexOf("/newtopic.aspx") != -1) return true;
    return false;
}