/*{{{ function urlencode( s ) */
function urlencode( s )
{
    if ( typeof(encodeURIComponent) != "undefined" ) {
        return encodeURIComponent( s );
    }
    return s;
}
/* }}} */

/* {{{ function urldecode( s ) */
function urldecode( s )
{
    if ( typeof(decodeURIComponent) != "undefined" ) {
        return decodeURIComponent( s );
    }
    return s;
}
/* }}} */

function $obj( name )
{
    return document.getElementById( name );
}

function load_login_div()
{
	if ( typeof($obj("div_login")) != "undefined" && $obj("div_login") != null ) 
	{
		var url = "http://imgcache.qq.com/club/friend_clone/static/friend_clone_login.html?url="+urlencode(window.location.href);
		var div_login = $obj("div_login");
		div_login.innerHTML = '<a class="close" onclick="javascript:try{hide_login_form();}catch(x){}"></a>'
						  + '<iframe id="ptlogin2frame" width="400" height="285" scrolling="no" border="0" frameborder="0" marginwidth="0" marginheight="0" src="' + url + '"></iframe>';
		div_login.style.display = "none";
		return;
	}
           
	var div_bg = document.body.appendChild( document.createElement("DIV") );
	div_bg.setAttribute( "id", "div_bg" );
	div_bg.className = "div_bg";
	div_bg.style.display = "none";

	var url = "http://imgcache.qq.com/club/friend_clone/static/friend_clone_login.html?url="+urlencode(window.location.href);
	var div_login = document.body.appendChild( document.createElement("DIV") );
	div_login.setAttribute( "id", "div_login" );
	div_login.className = "div_login";
	div_login.innerHTML = '<a class="close" onclick="javascript:try{hide_login_form();}catch(x){}"></a>'
						  + '<iframe id="ptlogin2frame" width="400" height="285" scrolling="no" border="0" frameborder="0" marginwidth="0" marginheight="0" src="' + url + '"></iframe>';
	div_login.style.display = "none";
}

function hide_login_form()
{
	if ( typeof($obj("div_bg")) == "undefined"
			|| $obj("div_bg") == null
			|| typeof($obj("div_login")) == "undefined"
			|| $obj("div_login") == null ) {
		return false;
	}
	$obj("div_bg").style.display = "none";
	$obj("div_login").style.display = "none";	
}

function user_login()
{
    //load_login_div();
    //hide_login_form();
    //show_login_form();
    openLogin(1, null, true, null, 100);
}

function show_login_form()
{
    $obj("div_bg").style.display = "";
    $obj("div_login").style.display = "";
}

function sumbitVerify()
{
        closeTips();
        if(!checkInput())
        {
            return false;
        }
        if(getUin()<10001)
        {
            showTips('对不起，您还没有登录！');
            return false;    
        }
        preprocess_pw(document.forms[0]);
        var uin = document.forms[0].uin.value;
        var pwd = document.forms[0].pwd.value;
        var vkey = document.forms[0].vkey.value;
	    var js = new Json();
	    js.set_name("json_pool["+json_index+"]");
	    js.set_url("http://vip.qq.com/functions/friend_clone_verify.php?cmd=verify&uin="+uin+"&pwd="+pwd+"&vkey="+vkey);
	    js.set_callback(verifyResult);
	    json_pool[json_index++] = js;
	    js.send();
	    
}
	
function verifyResult(json)
{
	//json.result = -1; //for test
	//json.errmsg = '登陆失败'; //for test
	
	if(json.result!=0)
	{
	    	document.forms[0].pwd.value="";
        	document.forms[0].vkey.value="";
        	chg_ver_img();
        	showTips(json.errmsg);
        	if(json.result==-8 || json.result==-9)
        	{
            		document.forms[0].vkey.focus();
        	}
        	if(json.result==-6 || json.result==-7)
        	{
           	 	document.forms[0].pwd.focus();
        	}
                if(json.result == -1)
	        {
	        	user_login();
		}
	    
	    	return false;
	}
	document.getElementById('select_cont').style.display = "block";
	document.getElementById('src_uin').style.display = "none";

	document.getElementById('step1').className = "off";
	document.getElementById('step2').className = "";
	document.getElementById('list').checked = false; 
	document.getElementById('sorts').checked = false; 
	document.getElementById('remark').checked = false; 
	document.getElementById('group').checked = false; 
}  
	
function checkInput()
{
    buf = trim(document.forms[0].uin.value);
    if( buf.search( /^[1-9]{1}\d{2,9}$/) < 0) 
    {
        showTips('请核实QQ号码');
        return false;
	}
    buf = trim(document.forms[0].pwd.value);
    if( buf.length < 1 ) 
    {
        showTips('请输入密码');
        return false;
	}
    if(document.forms[0].vkey.length < 1 ) 
    {
        showTips('请输入验证码');
        return false;
	}
	return true;
}    
	
function trim(TextValue) 
{
    var tmp;
    tmp = TextValue.replace(/ /g,"");
    return tmp;
}
    
function showTips(msg)
{
    document.getElementById('tips').innerHTML = "<p>" + msg + "</p>";
    document.getElementById('tips').style.visibility = "visible";
}

function closeTips()
{
    document.getElementById('tips').style.visibility = "hidden";
}

function handleEvent(oEvent)
{
    if(oEvent.keyCode ==13)
    {
        sumbitVerify();
    }
}

function getUin()
{
    var ptlogin_uin = Cookie.get("uin");
    var client_uin = Cookie.get("clientuin");
    var uin = 0;
    if(ptlogin_uin=="" && client_uin=="")
    {
	    return uin;	
    }   
    if(parseInt(client_uin)>10000)
    {
	    uin = 	parseInt(client_uin,10);
    }
    else
    {
	    if(ptlogin_uin.indexOf('o')==0)
	    {
		    uin = parseInt(ptlogin_uin.substring(1,ptlogin_uin.length),10);
	    }
	    else
	    {
		    uin = parseInt(ptlogin_uin,10);	
	    }	
    }
    return uin;	
}

var Cookie={
domain:"qq.com",
set: function(){
	if(arguments.length<2)
	{
		return;
	} else if(arguments.length==2){
		document.cookie = arguments[0] + "=" + escape (arguments[1]) +"; PATH=/; DOMAIN="+this.domain+";";
		return;
	}
	var expires = new Date(); 
	expires.setTime(expires.getTime() + (arguments[2]*1000)); 
	document.cookie = arguments[0] + "=" + escape(arguments[1]) +"; Expires=" + expires.toGMTString() +"; PATH=/; DOMAIN="+this.domain+";";
},
get: function(){
	if(arguments.length<1){
		return"";
	}
	var sCookie = document.cookie;
	var re = new RegExp("([^;]*)"+arguments[0]+"=([^;]*)(;|$)","g");
	while(arr = re.exec(sCookie)){
		if(/^\s*$/.test(arr[1])){
			return  unescape(arr[2]);
		}
	}
	return "";
},
del: function(){
	arguments.length?this.set(arguments[0],this.get(arguments[0]),-1):"";
}
}

function selectList()
{
    if(document.getElementById('list').checked == false)
    {
        document.getElementById('sorts').checked = false; 
        document.getElementById('remark').checked = false;
    }
    if(document.getElementById('list').checked == false && document.getElementById('group').checked == false)
    {
        //document.getElementById('noselect').style.display = "";
        //document.getElementById('next').className = "clone_ctrl_next_disabled";
    }
    else
    {
        document.getElementById('noselect').style.display = "none";
        document.getElementById('next').className = "clone_ctrl_next";
    }
}

function selectOther()
{
    if(document.getElementById('sorts').checked == true || document.getElementById('remark').checked == true)
    {
       document.getElementById('list').checked = true;
    }
    if(document.getElementById('list').checked == false && document.getElementById('group').checked == false)
    {
        //document.getElementById('noselect').style.display = "";
        //document.getElementById('next').className = "clone_ctrl_next_disabled";
    }
    else
    {
        document.getElementById('noselect').style.display = "none";
        document.getElementById('next').className = "clone_ctrl_next";
    }
}

function goLastPage()
{
    
    document.getElementById('select_cont').style.display = "none";
    document.getElementById('src_uin').style.display = "block";

    document.getElementById('clone_result').style.display = "none";
    document.getElementById('step2').className = "off";
    document.getElementById('step3').className = "off";
    document.getElementById('step1').className = "";
    document.forms[0].uin.value="";
    document.forms[0].pwd.value="";
    document.forms[0].vkey.value="";
    chg_ver_img();
    document.forms[0].uin.focus();
}

function cloneSubmit()
{
    sorts = 0;
    remark = 0;
    list = 0;
    group = 0;
    var msg = "";
    if(document.getElementById('list').checked == true )
    {
        list= 1;
        msg = "好友列表";
    }
    
    if(document.getElementById('sorts').checked == true )
    {
        sorts= 1;
        msg += "、好友分组";
    }
    if(document.getElementById('remark').checked == true )
    {
        remark= 1;
        msg += "、好友分组";
    }
    if(document.getElementById('group').checked == true )
    {
        group= 1;
        if(msg!="")
        {
            msg += "、"; 
        }
        msg += "群列表";
    }
    
    if(sorts==0 && group==0 && remark==0 && list==0)
    {
        document.getElementById('noselect').style.display = "";
        return false;
    }
    var uin = document.forms[0].uin.value;
    //var pwd = document.forms[0].pwd.value;
    var js = new Json();
    js.set_name("json_pool["+json_index+"]");
    js.set_url("http://vip.qq.com/functions/friend_clone_cmd_v2.php?cmd=submit&uin="+uin+"&list="+list+"&sorts="+sorts+"&remark="+remark+"&group="+group);
    js.set_callback(cloneResult);
    json_pool[json_index++] = js;
    js.send();
    
    document.getElementById('load_msg').innerHTML = "<h3>正在克隆号码"+uin+"的"+msg+"到号码"+getUin()+"</h3>";
    document.getElementById('show_loading').style.display = "block";
    document.getElementById('select_cont').style.display =  "none";
    document.getElementById('clone_result').style.display =  "none";
    timeId = window.setInterval('showLoading()',200);

}

function cloneResult(json)
{
    if(json.result!=0) //密码验证失败
    {
        clearInterval(timeId);
        document.getElementById('show_loading').style.display = "none";
        goLastPage();
        showTips(json.errmsg);
        if(json.result == -1)
	{
	        user_login();
	}
        return;
    }
    document.getElementById('list_result').innerHTML = "未被选择进行克隆";
	document.getElementById('sorts_result').innerHTML = "未被选择进行克隆";
	document.getElementById('remark_result').innerHTML = "未被选择进行克隆";
	if(list !=0)
    {
        if(json.list==0)
        {
              document.getElementById('list_result').innerHTML =  "克隆成功";  
        }
        else if(json.list == -2)
        {
              document.getElementById('list_result').innerHTML =  getUin()+"好友人数已满，该列表未能完全克隆";    
        }
        else 
        {
            document.getElementById('list_result').innerHTML =  "克隆失败";  
        }
    }
    if(sorts !=0)
    {
        if(json.sort==0)
        {
              document.getElementById('sorts_result').innerHTML =  "克隆成功";  
        }
        else
        {
            document.getElementById('sorts_result').innerHTML =  "克隆失败";  
        }
    }
    if(remark !=0)
    {
        if(json.remark==0)
        {
              document.getElementById('remark_result').innerHTML =  "克隆成功";  
        }
        else
        {
            document.getElementById('remark_result').innerHTML =  "克隆失败";  
        }
    }
    var msg = '<dl><dt>·群(仅作为普通克隆成员加入)</dt><dd>';
    if(group!=0)
    {
        if(json.group !=0)
        {
            var errNum ="";
            var errTable="";
            if(json.err_group.length!=0)
            {
                errNum = "有"+json.err_group.length+"个";
                var arr=[];
                arr.push('<table><thead><caption>群克隆失败原因:</caption><tr><th>群号</th><th>失败原因</th></tr></thead><tbody>');
                for(var i=0; i<json.err_group.length; i++)
                {
                    var reson = "其他(<a href='#' onclick='cloneSubmit()' style='cursor:hand'>重试</a>)";
                    if(json.err_group[i].errcode==1)
                    {
                        reson = "拒绝加入(<a href='#' onclick='cloneSubmit()' style='cursor:hand'>重试</a>)";
                    }
                    arr.push('<tr><td class="g_num">'+json.err_group[i].id+'</td><td>'+reson+'</td></tr>');
                }    
                arr.push('</tbody></table>');
                errTable = arr.join('');
            }
            msg += '<div class="clone_group_lost">'+errNum + '群克隆失败,请联系管理员手动加入:'+errTable+ '</div></dd></dl>';
        }
        else
        {
            msg += '<span class="red">所有QQ群全部克隆成功</span></dd></dl>';
        }
    }
    else
    {
        msg += '<span class="red">未被选择进行克隆</span></dd></dl>';
    }
    document.getElementById('err_group').innerHTML = msg;
    document.getElementById('show_loading').style.display = "none";
    document.getElementById('clone_result').style.display =  "block";
    document.getElementById('step2').className = "off";
    document.getElementById('step3').className = "";
    clearInterval(timeId);
}

function showLoading()
{
    var w = parseInt(document.getElementById('loading').style.width);
    w -= 20;
    if(w<=0)
    {
        clearInterval(timeId);
        w = 0;
    }
    document.getElementById('loading').style.width = w + 'px';
}

function getUserInfo(uin)
{
    var js = new Json();
    js.set_name("json_pool["+json_index+"]");
    js.set_url("http://vip.qq.com/functions/get_user_info.php?cmd=get_user_info&charset=utf8");
    js.set_callback(showUserInfo);
    json_pool[json_index++] = js;
    js.send();
}

function showUserInfo(json)
{
    if(json.result==0)
    {
            if(json.club==1)
            {
                document.getElementById('top').innerHTML = '尊敬的QQ会员'+json.nickname+'，您可以免费使用好友克隆功能'; 
            }
            else if(json.club==0)
            {
                document.getElementById('top').innerHTML = '尊敬的'+json.nickname+'，成为QQ会员后即可免费使用好友克隆功能';
                /*var uin = Cookie.get("uin");
                var skey = Cookie.get("skey");
                var url  = "http://paycenter.qq.com/cgi-bin/showopenservice.cgi?service_type=club&subtype=1"; 
                if(uin!="" && skey!="")
                {
                    url = 'http://clubclient.qq.com/set_cookie.php?uin='+ escape(uin) + '&skey=' + escape(skey)+ '&url=' + escape(url);
                }     
                showTips('对不起，该项功能仅供QQ会员使用，请您先<a href="'+url+'" target="_blank">开通QQ会员</a>服务');     
                document.forms[0].uin.disabled = "disabled";
                document.forms[0].pwd.disabled = "disabled";
                document.forms[0].vkey.disabled = "disabled";
                document.getElementById('nextStep').disabled = "disabled";
				*/

				document.getElementById('isvip').style.display = 'none';
				document.getElementById('novip').style.display = 'block';


				//统计上报
				var img = new Image();
				var url = "http://vip.qq.com/functions/friend_clone_stat.php";
				img.src = url + "?p="+Math.random();
				img.onerror = function(){};
				img.onload = function(){};
            }   
    }
	else if(json.result == -1)
	{
		user_login();
	}		
}


function atuoPtlogin2()
{
    var client_uin = Cookie.get("clientuin");
    var client_key = Cookie.get("clientkey");
    var ptlogin_uin = Cookie.get("uin");
    var ptlogin_key = Cookie.get("skey");
    if(client_uin!="" && client_key!="" && ptlogin_uin=="" && ptlogin_key=="")
    {
        var goto_url = "";
        var url = "http://ptlogin2.qq.com/clubclient?clientuin=" + urlencode(client_uin) + "&clientkey=" + urlencode(client_key)+ "&gotourl=" + urlencode(goto_url);
        var frame = document.createElement("iframe");
        frame.setAttribute( "width",       0 );
        frame.setAttribute( "height",      0 );
        frame.setAttribute( "scrolling",   "no" );
        frame.setAttribute( "border",      0 );
        frame.setAttribute( "frameborder", 0 );
        frame.setAttribute( "src",         url );
        document.body.appendChild(frame);
    }
}

function modifyUrl(obj, url)
{
    var uin = Cookie.get("uin");
    var skey = Cookie.get("skey");
    if(uin!="" && skey!="")
    {
        obj.href = 'http://clubclient.qq.com/set_cookie.php?uin='+ escape(uin) + '&skey=' + escape(skey)+ '&url=' + escape(url);
    }
    else
    {
        obj.href = url;   
    }      
}

function chg_ver_img()
{
	var img = document.getElementById("verImg");
	img.src = "http://ptlogin2.qq.com/getimage/friend_clone?aid=8000201&" + Math.random();
	var vkey = document.getElementById("vkey");
	if ( typeof(vkey) != "undefined" ) {
		vkey.focus();
	}
}

// vip portal
function vip_goto( url , flag)
{
    var url_flag = "";
    flag==0 ? url_flag="_self" : url_flag="_blank";
    var uin  = Cookie.get("uin");
    var skey = Cookie.get("skey");
    if( uin!="" && skey!="")
    {
        var uri = 'http://clubclient.qq.com/set_cookie.php?uin=' + escape(uin) + '&skey=' + escape(skey) + '&url=' + escape(url);
        window.open(uri , url_flag);
        return;
    }
    var clientuin = Cookie.get("clientuin");
    var clientkey = Cookie.get("clientkey");
    if(clientuin!="" && clientkey!="")
    {
        var uri = 'http://clubclient.qq.com/clubclient_goto.php?clientuin='+escape(clientuin)+'&clientkey='+escape(clientkey)+'&gotourl='+escape(url);
        window.open(uri , url_flag);
        return;
    }
    window.open(url, url_flag);
};

function changeUin()
{
	Cookie.del('uin');
	Cookie.del('skey');
	Cookie.del('clientuin');
	Cookie.del('clientkey');
	window.location = window.location.href ;
}

var json_pool=[];
var json_index =0;
var timeId;
var sorts = 0;
var remark = 0;
var list = 0;
var group = 0;
/*  |xGv00|73e3229f554c7857c5eac98ac969d794 */