var key="\u62db\u5546\u5c40\u96c6\u56e2";
COOKIE = function() {
    this._REMEMBERED_USER_ID = "RememberedUserId";
    this._REMEMBERED_USER_PASSWORD="RememberedUserPassword";
}
USER = function(id,pwd){
    this.id=id;
    this.pwd=pwd;   
}
USERS = function(id,pwd){
    this.id=id;
    this.pwd=pwd;   
}
COOKIE.prototype.setCookie = function (name, value, expires, path, domain, secure){
    document.cookie= name + "=" + escape(value) +
        ((expires) ? "; expires=" + expires.toGMTString() : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
}
COOKIE.prototype.getCookie = function (name){
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1) {
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
    }
    else
    {
        begin += 2;
    }
    var end = document.cookie.indexOf(";",begin);
    if (end == -1)
    {
        end = dc.length;
    }
    return unescape(dc.substring(begin + prefix.length, end));
}
COOKIE.prototype.setUser = function (user){
   var users = this.getUser();
   var user1 = "";
   var pwd1 = "";
   var id = user.id;
   var pwd = user.pwd;
   if(users!=null) {
        var ids = users.id;
        var pwds = users.pwd;
        var rpo = -1;
        var h = ids.indexOf("||");
        if(h>-1){//have ||
	        var idarry = ids.split("||");
	        var pwdarry = pwds.split("||");
	        if(idarry!=null){
	            for(i=0;i<idarry.length;i++){
	                if(id==idarry[i]){//有重复的ID
	                    rpo=i;
	                    break;
	                }
	            }
	            if(rpo>-1){
	                for(i=0;i<pwdarry.length;i++){
	                    if( rpo==i){
                            if(pwd!='NOPWD')//不记住密码
	                           pwdarry[i] = pwd;
	                    }	                 
	                }  
                    for(i=0;i<pwdarry.length;i++){                      
                        if(i==0){
                            pwds=pwdarry[i];
                        }
                        else{
                            pwds+="||"+pwdarry[i];
                        }
                    }  
                    user1 =ids;
                    pwd1 = pwds;                    
	            }
	             else{//new add
	               user1 = (ids+"||"+id);
	               pwd1 =  (pwds+"||"+pwd);	            
	           }
           }
        }//not have || :second 
        else{
            if(ids==id){//first=second
                user1 = id;
                if(pwd!='NOPWD'){
                    pwd1 =  pwd;
                }else{
                     pwd1 =  pwds;
                }
                
            }else{
                user1 = (ids+"||"+id);
                pwd1 =  (pwds+"||"+pwd);
            }
        }
     }
     else{// first         
        user1 =id;
        pwd1 = pwd;
     }   
   // alert(user1+">----<"+pwd1);
   user1 =(user1).xorEncryption();
   pwd1 = (pwd1).xorEncryption();
   
   var date = new Date(); 
   var timestamp = Date.parse(date);      
   date.setFullYear(date.getFullYear()+1);
   this.setCookie(this._REMEMBERED_USER_ID,user1,date);
   this.setCookie(this._REMEMBERED_USER_PASSWORD,pwd1,date);
}
COOKIE.prototype.getUser = function (){
   var id = this.getCookie(this._REMEMBERED_USER_ID);
   var pwd = this.getCookie(this._REMEMBERED_USER_PASSWORD);
   if(id==null){
    return null;
   }
   else{
     id = id.xorDecrypt();
     pwd = pwd.xorDecrypt();
    return new USERS(id,pwd);
   }
}
COOKIE.prototype.getUsers = function (){
  var users = this.getUser();
   if(users==null){
        return null;
   }
   else{
        var ids = users.id;
        var pwds = users.pwd;
        
        var h = ids.indexOf("||");
        if(h>-1){//have ||
            var idarry = ids.split("||");
            var pwdarry = pwds.split("||");
            var len = idarry.length;
            var arry = new Array(len);            
            for(var i=0;i<idarry.length;i++){
                    arry[i] = new Array(2);
                    arry[i][0] = idarry[i];
                    arry[i][1] = pwdarry[i]
            }
            return arry;
        }
        else{
            var arry = new Array(1);
            arry[0] = new Array(2);
            arry[0][0] =ids;
            arry[0][1] = pwds;
            return arry;
        }
   }
}
String.prototype.xor = function(){
     var   result="";       
     for(var i=0;i<this.length;i++){
        result+=String.fromCharCode(this.charCodeAt(i)^key.charCodeAt(i%key.length));  
     }
     return result;
}
String.prototype.xorEncryption = function(){
      return escape(unescape(this).xor(key));
}
String.prototype.xorDecrypt = function(){
     return unescape(this).xor(key);
}

