function changebg(k) 
{
    if(k==1)
    {
        getObject("pCardOpen").className="open hidden";
        getObject("pCardClose").className="close";
        PassportSC.cElement.className = "passportc";
        PassportSC.cElement.style.display = "block";
    }
    if(k==2)
    {
        getObject("pCardOpen").className="open";
        getObject("pCardClose").className="close hidden";
        PassportSC.cElement.style.display = "none";
        if (PassportSC.cookie && PassportSC.cookie['userid'] != '')
        {
        }
        else
        {
            PassportSS.drawPassportMail(PassportSS.banner,PassportSS.ele);
        }
    }
}

function getObject(objectId) {
    if(document.getElementById && document.getElementById(objectId)) {
        // W3C DOM
        return document.getElementById(objectId);
    } else if (document.all && document.all(objectId)) {
        // MSIE 4 DOM
        return document.all(objectId);
    } else if (document.layers && document.layers[objectId]) {
        // NN 4 DOM.. note: this won't find nested layers
        return document.layers[objectId];
    } else {
        return false;
    }
}

var TopUtils = {
    "getBID":function(name){
        var str = TopUtils.getCookie(name);
        var ele = str.split("|");
        if(ele.length > 3){
            var bid = parseInt(ele[2],16);
            return bid;
        }
    },
    "getCookie":function(name){
        var str = document.cookie;
        for(var i=0;i <= str.length;i++) {
            var end = i + name.length;
            if(str.substring(i, end) == name){
                var valueStart = end + 1;
                var valueEnd = str.indexOf(";",valueStart);
                if (valueEnd < valueStart){
                    valueEnd = str.length;
                }
                return unescape(str.substring(valueStart, valueEnd));
            }
        }
        return "";
    },

    "Deletecookie":function(name){
        var exp = new Date();   
        exp.setTime(exp.getTime() - 100000);   
        var cval = TopUtils.GetCookie(name);   
        //alert(cval);
        document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString()+"; path=/; domain=.sohu.com;"; 
    }, 
    "GetCookie":function(name){
        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 TopUtils.getCookieVal(j);     
            i = document.cookie.indexOf(" ", i) + 1;     
            if (i == 0) break;    
        }   
        return null; 
    },
    "getCookieVal":function(offset){
        var endstr = document.cookie.indexOf (";", offset);
        if (endstr == -1) 
            endstr = document.cookie.length;   
        return unescape(document.cookie.substring(offset, endstr)); 
    }
};

var PassportSS = 
{
    //PassPort登录成功后的卡片页
    cvsid : "$Id: pi18030.js,v 1.33 2007/10/16 03:14:38 shunzhiyu Exp $",
    pCardMainDiv : "",
    pUserID  : "",
    pNewMail : "",
    pMailUrl  : "",
    pDomain  : "",
    banner : false,
    ele: false,
		alldomaillist : ["sohu.com","sogou.com","vip.sohu.com","vip.sohu.net","sohu.net","2008.sohu.com","sms.sohu.com","chinaren.com","17173.com", "focus.cn", "game.sohu.com"],
		
    getMailUrl: function()
    {
        if(this.pUserID=="")
            return "";
        var e_index = this.pUserID.indexOf("@");
        this.pDomain = this.pUserID.substr(e_index+1);
        if(this.pDomain=="sohu.com")
        {
            this.pMailUrl = "http://mail.sohu.com";
        }
        else if(this.pDomain=="sogou.com")
        {
            this.pMailUrl = "http://mail.sogou.com/2gmail/login.jsp";
        }
        else
        {
            this.pMailUrl = "";
        }
    },

    drawPassportMail: function(banner,ele)
    {
        //ele应该是一个对象节点
        if(typeof(ele) != "object" || typeof(banner) != "object")
        {
            return;
        }
        this.banner = banner;
        this.ele = ele;

        PassportSC.appid = 9999;
        //设置搜狐首页下拉的列表框
        var pmaillist = ["sohu.com","sogou.com","vip.sohu.com","vip.sohu.net","sohu.net","2008.sohu.com","sms.sohu.com"];
        PassportSC.domainList = pmaillist;
        PassportSC.selectorTitle = "选择您所要登录的邮箱";
        //初始化PassportSC
        PassportSC.init(ele);
        PassportSC.cElement.className = "";
        
        //判断是否是登录状态
        if (PassportSC.cookie && PassportSC.cookie['userid'] != '')
        {
            PassportSC.cElement.className = "passportc";
            PassportSC.cElement.style.display = "none";
            PassportSC.drawPassportCard();
            changebg(2);
        }
        else
        {
            //绘制搜狐首页需要登录的条目
            this.drawPassPortMailLogin();
        }
        
    },

    drawPassPortMailCard: function()
    {
        //得到进入邮箱的url
        PassportSS.getMailUrl();
		var tmp_userID = this.pUserID;
		if(tmp_userID.length>23)
		{
			tmp_userID = tmp_userID.substr(0,tmp_userID.indexOf("@"));
		}
        var html = '<div class="left"><a href="http://#" target="_blank">通行证</a> | '+tmp_userID+'</div><div class="mid"><div id="pmailcontent" class="err">';
        if(PassportSS.pMailUrl != "")
        {
            html += '<img height=10 alt="" src="http://www.sohu.com/passport/images/letter.gif"> <p>未读邮件（<span>0</span>）积分（<span>0</span>）</p>';
        }
        else
        {
            html += '您已经登录搜狐通行证';
        }
        html += '</div><input type="button" class="open hidden" id="pCardOpen" value="打开" onclick="changebg(1)">'+
	    		'<input type="button" class="close" id="pCardClose" value="关闭" onclick="changebg(2)"></div>';
        this.banner.innerHTML = html;
    },

    drawPassPortMailLogin: function()
    {
        var html = '<form method="post" onsubmit="return PassportSS.loginHandle();" name="loginform">'+
            '<input type=hidden name=id value="">'+
            '<input type=hidden name=password value="">'+
            '<input type=hidden name=username value="">'+
            '<input type=hidden name=m value="">'+
            '<input type=hidden name=domain value="">'+
            '<input type=hidden name=mpass value="">'+
            '<input type=hidden name=loginid	value="">'+
            '<input type=hidden name=passwd	value="">'+
            '<input type=hidden name=appid  value="">'+
            '<input type=hidden name=ru     value="">'+
            '<input type=hidden name=eru    value="">'+
            '<input type=hidden name=fl     value="">'+
            '<input type=hidden name=ct     value="">'+
            '<input type=hidden name=vr     value="">'+
            '<input type=hidden name=sg     value="">'+
            '<a href="http://#/" target="_blank">通行证</a> | '+
            '用户名<input id="pemail" type="text" autocomplete="off" disableautocomplete size="16" /> '+
            '密码<input id="ppwd" type="password" size="11" /> '+
            '<INPUT type="image" cache src="http://photocdn.sohu.com/20080410/213_f8c0d309_7514_4411_a31f_5cbd0b0cc9bd_0.gif" border=0 >  '+
         	'<a href="http://$" target="_blank">注册</a>&nbsp;'+
            '<a href="http://#" target="_blank">帮助</a>'+
            '</form>';
        this.banner.innerHTML = html;

        PassportSC.emailInput = document.getElementById("pemail");
        PassportSC.passwdInput = document.getElementById("ppwd");
        PassportSC.bindSelector();
    },

    loginHandle: function()
    {
        var e_UserID = PassportSC.emailInput.value;
        var e_Pwd = PassportSC.passwdInput.value;
        //得到用户所在的域名 
        var e_Index = e_UserID.indexOf("@");
        if(e_Index=="-1")
        {
            PassportSC.loginMsg.innerHTML = '<a href="http://passport.sohu.com/help/" target="_blank">用户名不合法</a>';
            PassportSC.emailInput.focus();
            return false;
        }
        if(e_Pwd=="")
        {
            PassportSC.loginMsg.innerHTML = '请输入密码';
            PassportSC.passwdInput.focus();
            return false;
        }
        var e_Domain = e_UserID.substr(e_Index+1);
        var e_Username = e_UserID.substr(0,e_Index);
        var frm = document.forms['loginform'];
        frm.elements['id'].value = e_Username;
        frm.elements['domain'].value = e_Domain;
        frm.elements['username'].value = e_Username;
        frm.elements['password'].value =e_Pwd;
        frm.elements['m'].value = e_Username;
        frm.elements['mpass'].value = e_Pwd;
        if (e_Domain == "sogou.com")
        {
            frm.elements['loginid'].value = e_UserID;
            frm.elements['passwd'].value = e_Pwd;
            frm.elements['appid'].value = "1014";
            frm.elements['fl'].value = "1";
            frm.elements['vr'].value = "1|1";
            frm.elements['ru'].value = "http://mail.sogou.com/2gmail/login.jsp";
            frm.elements['eru'].value = "http://mail.sogou.com";
            frm.elements['ct'].value = "1160703837";
            frm.elements['sg'].value = "2bd25fce72ad4127205dad5faa064518";
            frm.action="http://passport.sohu.com/login.jsp";
        }
        else if(e_Domain=="vip.sohu.com")
        {
            frm.elements['loginid'].value = e_UserID;
            frm.elements['passwd'].value = e_Pwd;
            frm.elements['appid'].value = "1013";
            frm.elements['fl'].value = "1";
            frm.elements['vr'].value = "1|1";
            frm.elements['ru'].value = "http://vip.sohu.com/login/viplogin11.jsp";
            frm.elements['eru'].value = "http://vip.sohu.com/login/viplogin11.jsp";
            frm.elements['ct'].value = "1160703932";
            frm.elements['sg'].value = "d058584c77da4a4e8e309e2c0561ebeb";
            frm.action="http://passport.sohu.com/login.jsp";
        }
        else if(e_Domain=="vip.sohu.net" || e_Domain=="sohu.net" || e_Domain=="2008.sohu.com")
        {
            frm.action="http://mail.sohu.net/control/login";
        }
        else if(e_Domain=="sms.sohu.com")
        {
            frm.action="http://sms.sohu.com/userlogin.php";
        }
        else
        {
	        var html = '<div class="left"><a target="_blank" href="http://passport.sohu.com/">通行证</a> | </div>'+
	            '<div class="mid"><div class="err" id="loginMsg"></div>'+
	            '<input type="button" class="open hidden" id="pCardOpen" value="打开" onclick="changebg(1)">'+
	    		'<input type="button" class="close" id="pCardClose" value="关闭" onclick="changebg(2)"></div>';
	        PassportSS.banner.innerHTML = html;
	        PassportSC.cElement.className = "passportc";
	        PassportSC.cElement.style.display = "block";
	        var wm = '正在登录搜狐通行证，请稍候...';
	        document.getElementById("loginMsg").innerHTML = wm;
	        PassportSC.drawPassportWait(wm);
	        if(e_Domain=="")
	        {
	        	PassportSC.autopad = "sohu.com";
	        	PassportSC.domainList = ["sohu.com","sogou.com"];
	        }
	        if(e_Domain=="" || e_Domain=="sohu.com")
	        {
	        	PassportSC.parseAppid();
	        	PassportSC.getBottomRow();
	        }
			return PassportSC.loginHandle(PassportSC.emailInput.value,PassportSC.passwdInput.value,'0',PassportSC.sElement,PassportSC.loginFailCall,PassportSC.loginSuccessCall);
        }
        frm.submit();
    },
    sohu3Init:function()
    {
			var html = '<div class="ssblog"><a target="_blank" href="http://passport.sohu.com/">通行证</a> | '+
	        '<span><a href="http://blog.sohu.com/2007" class="convention">第二届搜狐博客大会暨搜狐3.0落成大典7月21日开幕!</a></span></div>'+
	            '<input type="button" class="open hidden" id="pCardOpen" value="打开" onclick="changebg(1)">'+
	    		'<input type="button" class="close" id="pCardClose" value="关闭" onclick="changebg(2)">';
	        PassportSS.banner.innerHTML = html;
	        PassportSC.cElement.className = "passportc";
	        PassportSC.cElement.style.display = "block";
	        PassportSC.drawLoginForm();
	        var wm = '<a href="http://blog.sohu.com/2007">第二届搜狐博客大会暨搜狐3.0落成大典7月21日开幕!</a>';
	        //document.getElementById("loginMsg").innerHTML = wm;
    }
};

function getNewMailCount()
{ 
    var newscript = document.createElement("script");
    var bid = TopUtils.getBID("SOHUID");
    if(bid) {
        newscript.src = "http://www" + bid + ".mail.sohu.com/servlet/GetMailContent";
    } else {
        newscript.src = "http://login.mail.sohu.com/servlet/LoginServlet?ul=newmailcount2";
    }
    PassportSC.sElement.appendChild(newscript);
};

function passportSSInit()
{
    drawAppInfo = function(node)
    {
        PassportSC.parsePassportCookie();
        PassportSS.pUserID = PassportSC.cookie['userid'];
        PassportSS.drawPassPortMailCard();
        var vlink = document.getElementById("pmailcontent");
        vlink.onclick = PassportSC.doClickLink;
        if(PassportSS.pUserID.indexOf("@sohu.com")>0)
        {
        	PassportSS.pNewMail = PassportSC.cookie['newmail_num'];
    	    try {
    	        _drawAppInfo(node);
    	    } catch(e) {
    	        PassportSC.drawPassportInfo();
    	    }
        }
        else
        {
        	PassportSC.drawPassportInfo();
      	}		
    };
    
    logoutApp = function()
    {
        PassportSC.cElement.style.display = "none";
        PassportSC.cElement = false;
        PassportSS.drawPassportMail(PassportSS.banner,PassportSS.ele);
        PassportSS.pMailUrl = "";
        TopUtils.Deletecookie('SOHUID');
    };
       
    PassportSC.showMsg = function (msg)
    {
        var e = document.getElementById("loginMsg");
        if (e != null) {
            e.innerHTML = msg;
        }
    };
    
    PassportSC._drawLoginForm = function()
    {
    	this.cElement.innerHTML='<form method="post" onsubmit="return PassportSC.doLogin();" name="loginform">'+
    							'<div class="passportc_title"><span>搜狐<b>通行证</b></span><div class="ppthree">搜狐3.0</div><img src="http://www.sohu.com/passport/images/blogpic002.gif" /></div>'+
    							'<div class="passportc_content" id="ppcontid"><ul class="card"><div id="pperrmsg" class="err">&nbsp;</div><li>用户名 '+
    							'<input name="email" type="text" class="ppinput" autocomplete="off" disableautocomplete /></li>'+
    							'<li>密&nbsp;&nbsp;码 '+
    							'<input name="password" type="password" class="ppinput" autocomplete="off" disableautocomplete /></li>'+
    							'<li><span class="login"><input name="persistentcookie" type="checkbox" value="1" />记住密码</span><input type="image" class="info" value="登 录" src="http://www.sohu.com/passport/images/blogpic004.gif" alt="登 录" cache /></li>'+
    							'<li class="info"><a href="'+this.registerUrl+'" target="_blank">注册新用户</a>'+
    						    '<a href="'+this.recoverUrl+'" target="_blank">忘记密码</a>'+
    						    '<a href="http://passport.sohu.com/help/" target="_blank">帮助中心</a></li>'+
    							'</ul></div></form>';
    };
    
    PassportSC._drawPassportCard =  function () 
    {
        var html = '<div class="passportc_title"><span>搜狐<b>通行证</b></span><div class="ppthree">搜狐3.0</div><a href="javascript:PassportSC.doLogout();">退出</a></div><div class="passportc_content" id="ppcontid"><div class="listContA"></div><div class="middle"><ul>';       
        if (this.defaultApp != "") {
            html += '<li class="current">' + this.defaultApp + '</li>';
        }
        html += '<li><img src="http://www.sohu.com/passport/images/blogpic005.gif" alt="去"/></li>';
        for (var i = 0; i < this.bottomRow[0]['length']; i++) {
            html += '<li><a href="'+this.bottomRow[0][i]['url']+'" target="_blank">'+this.bottomRow[0][i]['name'] + '</a></li>';
            if (i != (this.bottomRow[0].length - 1)) html += '<li>|</li>';
        }
        html += '</ul></div><div class="bottom"><ul>';
        for (var i = 0; i < this.bottomRow[1]['length']; i++) {
            html += '<li><a href="'+this.bottomRow[1][i]['url']+'" target="_blank">'+this.bottomRow[1][i]['name'] + '</a></li>';
            if (i != (this.bottomRow[1].length - 1)) html += '<li>|</li>';
        }
        html += '<li class="dabenying">';
        var durl = "http://blog.sohu.com/camp?from="+this.appid;
        var at = this.cookie['userid'].indexOf("@");
        if (at > 0)
        {
            var userdomain = this.cookie['userid'].substr(at + 1);
            if (PassportSS.alldomaillist.toString().indexOf(userdomain)<0)
            {
               durl = "http://login.sogou.com/modify.jsp";
            }
        }
        html += '<a href="'+durl+'" target="_blank"><img src="http://www.sohu.com/passport/images/blogpic007.gif" alt="大本营" width="54" height="20" border="0" /></a></li></ul></div></div>';
        this.cElement.innerHTML = html;
    };
    
    PassportSC.drawPassportInfo = function ()
    {
        html = '<div class="candle" id="ppdefaultim"></div><ul><li>' + this.cookie['userid'] + '</li><li><p>欢迎您，您已经成功登录搜狐通行证！ </p></li>现在即可畅游搜狐所有服务。</li></ul>';
        this.iElement.innerHTML = html;
        var isIE = window.ActiveXObject?true:false;
        if(isIE)
        {
            var flashmenu = document.getElementById("ppdefaultim");
            var uid = this.cookie['userid'];
    	    flashmenu.innerHTML = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"  codebase="http://images.chinaren.com/product/webim/mood/mood.swf?UserID='+uid+'"   width="220" height="90">    <param name="movie" value="http://images.chinaren.com/product/webim/mood/mood.swf?UserID='+uid+'"><param name="wmode" value="transparent"><param name="allowscriptaccess" value="always"> <embed src="http://images.chinaren.com/product/webim/mood/mood.swf?UserID='+uid+'" wmode="transparent" quality="high" allowscriptaccess="always" bgcolor="#ffffff" width="220" height="90" type="application/x-shockwave-flash"/></object>'
       }
    };
    
    PassportSC.drawPassportWait = function (str) 
    {
        this.cElement.innerHTML=''+
    							'<div class="passportc_title"><span>搜狐<b>通行证</b></span><div class="ppthree">搜狐3.0</div><img src="http://www.sohu.com/passport/images/blogpic002.gif" /></div>'+
    							'<div class="passportc_content" id="ppcontid">'+
    							'<div class="ppWaitMsg">' + str + '</div></div>';
    };
}