/**
 * City Pk
 * @package CityPk
 * @author BennyLin@tencent.com
 * @version 1.0
 */

function $id(id)
{
	return document.getElementById(id);
}

CityPk = {
	_tmpData: {
		topinited:false
	},
	join: function (e) {
		if (!CityUser.isLogined()) {
			CityUser.login();
			return ;
		}
		//CityPk.showTips('城市达人PK台', '升级中', '城市达人PK台正在升级，请稍后');return;
		this.post(this._joinCallback, '/pk/json.php?mod=pk&act=join');
	},
	_joinCallback: function (data) {
		if ((data = CityPk._parseData(data) ) != null ) {
			switch (data.code) {
				case -31:
					CityPk.showTips('城市达人PK台', '报名失败！', '您还不是城市达人用户，<a href="http://cityuser.qzone.qq.com/index.php?mod=userregprof&act=apply" target="_blank">请先加入城市达人</a>');
					break;
				case -35:
					CityPk.showTips('城市达人PK台', '报名失败！', '您还未上传达人照片，需要有照片且通过视频认证的达人才可报名pk。<a href="http://cityuser.qzone.qq.com/index.php?mod=useredtprof&act=edit" target="_blank">点击上传达人图片</a>');
					break;
				case -36:
					CityPk.showTips('城市达人PK台', '报名失败！', '您还未通过视频认证，需要通过视频认证的达人才可报名pk。<a href="http://cityuser.qzone.qq.com/index.php?mod=video" target="_blank">点击进行视频认证</a>');
					break;
                case -37:
					CityPk.showTips('城市达人PK台', '报名失败！', '您的资料正在审核中，请待审核通过后再来报名');
					break;
				case -206:
				case -207:
				case -208:
				case -209:
				case -210:
				case -214:
					CityPk.showTips('城市达人PK台', '报名失败！', '目前不接受报名');
					break;
				case -211:
					var m = [];
					if(data.next_begin) m = data.next_begin.split('-');
					CityPk.showTips('城市达人PK台', '', '你已经成功报名了下期达人PK'+(data.next_begin?'，将于'+m[0]+'年'+m[1]+'月'+m[2]+'日开始':'')+'，请准时参与pk。你现在可以玩本期Pk，支持你喜欢的达人朋友。');
					break;
				case 1:
					CityPk.showTips('城市达人PK台', '报名成功！', '您可以在下期PK中和达人们进行PK了，祝您取得好成绩');
					break;
				default:
					CityPk.showTips('城市达人PK台', '报名失败！', '服务器忙');
			}
		}
	},
	load: function (sex) {
		if (!CityUser.isLogined()) {
			CityUser.login();
		}
		this.init(sex);
	},
	init: function (sex) {
		if (sex) {
			sex = 1;
			$id('menu0').className = 'pk_sort_boy';
			$id('menu1').className = 'pk_sort_girl';
		}
		else {
			sex = 0;
			$id('menu1').className = 'pk_sort_boy';
			$id('menu0').className = 'pk_sort_girl';
		}
		this._setLocationSharp(sex);

		if (!CityUser.isLogined()) {
			$id('pk_note').innerHTML = '<a href="javascript: CityUser.login()" style="color:white">城市达人PK台欢迎你，玩PK请先登录QQ</a>';
			this.setDefaultData(sex);
			return ;
		}

		$id('username').innerHTML = getUin();
		$id('logout_button').style.display = '';

		var date = new Date();
        this.get(this._initCallback, '/pk/json.php?mod=pk&act=init', {sex: sex, rand: date.getTime()});
	},
	_initCallback: function (data) {
		if ((data = CityPk._parseData(data) ) == false || typeof(data)!='object' ) {
			CityPk.clearAll();
			CityPk._msg(-1);
			CityPk.onPk = false;
			return ;
		}
		if (data.code != null && data.code < 0) {
			CityPk.clearAll();
			CityPk._msg(data.code);
			CityPk.onPk = false;
			return ;
		}
		CityPk.onPk = true;

		//CityPk.setMyPkInfo(data.user);

		with (CityPk) {
			_tmpData.sex = data.sex;
			_tmpData.pkItems = [];
			_tmpData.nextItems = [];
			var tmp_str = '';
			if (data.left_days != null) {
				tmp_str = '本期PK台还有 '  + data.left_days +  ' 天结束！';
			}
			$id('pk_note').innerHTML = tmp_str + ' <a href="javascript:void(0)" onclick="CityPk.join()">报名下一期&gt;&gt;</a>';

			if (data.items == null || data.items.length==0) {
				clearItems();
				_msg(-21);
				return ;
			}

			_tmpData.pid = data.pid;
			_tmpData.t = data.t;
			_tmpData.v = data.v;

			for (var i=0; i<2; i++) {
				_tmpData.pkItems[i] = data.items[i];
				setPkItem(i, _tmpData.pkItems[i]);
			}
			for (var i=0; i<2; i++) {
				if (data.items[2+i]) {
					_tmpData.nextItems[i] = data.items[2+i];
				}
				else {
					_tmpData.nextItems[i] = data.items[2+i-data.items.length];
				}
				setNextItem(i, _tmpData.nextItems[i]);
			}
			$id('vspre').style.display = 'none';
			$id('vsnone').style.display = '';
		}
	},
	clearAll: function() {
		$id('pk_item' + 0).innerHTML = '';
		$id('pk_item' + 1).innerHTML = '';
		$id('next_item' + 0).innerHTML = '';
		$id('next_item' + 1).innerHTML = '';
		$id('prev_item' + 0).innerHTML = '';
		$id('prev_item' + 1).innerHTML = '';
	},
	setDefaultData: function (sex) {
		if (users_data && users_data[sex]) {
			var rands = [[0,1,2,3], [1,2,3,0], [2,3,0,1], [3,0,1,2], [0,2,1,3], [2,1,0,3], [3,1,2,0], [2,0,3,1] ];
			var rand = Math.floor(Math.random() * 1000) % 8;
			rands = rands[rand];
			for (var i=0; i<rands.length; i++) {
				var item = users_data[sex][rands[i] ];
				if (!item) continue;
				item.pic = 'http://imgcache.qq.com/ACT/qzone_080701_pk/user/' + item.uin + '.jpg';
				item.wins = '-';
				if (i < 2) {
					this.setPkItem(i, item);
				}
				else {
					this.setNextItem(i-2, item);
				}
			}
		}
	},
	skip: function () {
		if (!CityUser.isLogined()) {
			CityUser.login();
			return ;
		}
		if (this._tmpData.lock) {
			//alert('正在提交，请稍等');
			return ;
		}
		if (!this._tmpData.pid) {
			return ;
		}
		this._disablePk('正在跳过');

		with (this._tmpData) {
			var ids = [];
			for (var i=0; i<pkItems.length; i++) {
				var have_same_item = false;
				for (var j=0; j<nextItems.length; j++) {
					if (pkItems[i].id == nextItems[j].id) {
						have_same_item = true;
						break;
					}
				}
				if (!have_same_item) {
					ids[i] = pkItems[i].id;
				}
			}
			this.post(this._skipCallback, '/pk/json.php?mod=pk&act=next', {sex: sex, pid:pid, items: ids.join('-'), t:t, v:v });
		}
	},
	_skipCallback: function (data) {
		setTimeout(CityPk._unlock, 1000);
		if ((data = CityPk._parseData(data) ) == false || typeof(data)!='object' ) {
			CityPk._msg(-1);
			return ;
		}
		if (data.code != null && data.code < 0) {
			CityPk._msg(data.code);
			return ;
		}
		if (data.sex !=null && data.sex != CityPk._tmpData.sex) {
			return ;
		}
		with (CityPk._tmpData) {
			t = data.t;
			v = data.v;

			for (var i=0; i<pkItems.length; i++) {
				CityPk.setPrevItem(i, pkItems[i]);
			}

			for (var i=0; i<nextItems.length; i++) {
				pkItems[i] = nextItems[i];
				CityPk.setPkItem(i, pkItems[i]);
			}

			for (var i=0; i<2; i++) {
				nextItems[i] = data.items[i];
				CityPk.setNextItem(i, nextItems[i]);
			}
		}
	},
	submit: function (index) {
		if (!CityUser.isLogined()) {
			CityUser.login();
			return ;
		}
		//CityPk.showTips('城市达人PK台', '升级中', '城市达人PK台正在升级，请稍后');return;
		if (!this.onPk) return;
		this._disablePk('正在提交');

        if (typeof(pingQQ) == 'function') {
            window.setTimeout(pingQQ,1500);
        }

		this._tmpData.winIndex = index;
		this.setPkResult(index, true);
		with (this._tmpData) {
			var ids = [];
			for (var i=0; i<pkItems.length; i++) {
				ids[i] = pkItems[i].id;
				if (i != index) {
					this.setPkResult(i, false);
				}
			}

			var except_id = nextItems[nextItems.length - 1].id;
			this.post(this._submitCallback, '/pk/json.php?mod=pk&act=submit', {sex: sex, pid:pid, items: ids.join('-'), win: pkItems[index].id, eid:except_id, t:t, v:v });
		}
	},
	_submitCallback: function (data) {
		if ((data = CityPk._parseData(data) ) == false || typeof(data)!='object' ) {
			CityPk._msg(-1);
			return ;
		}
		if (data.code != null && data.code < 0) {
			CityPk._msg(data.code);
			return ;
		}

		CityPk._submitCallbackData = data;
		setTimeout(CityPk._dealSubmitCallback, 1000);
	},
	_dealSubmitCallback: function () {
		var data = CityPk._submitCallbackData;
		with (CityPk) {
			if (data.sex !=null && data.sex != _tmpData.sex) {
				_unlock();
				return ;
			}
			_tmpData.t = data.t;
			_tmpData.v = data.v;
			_tmpData.pkItems[_tmpData.winIndex].wins = parseInt(_tmpData.pkItems[_tmpData.winIndex].wins) + 1;

			for (var i=0; i<_tmpData.pkItems.length; i++) {
				setPrevItem(i, _tmpData.pkItems[i]);
			}

			if (data.items.length >= 2) {
				_tmpData.pkItems = _tmpData.nextItems;
				_tmpData.nextItems = [];
			}
			else {
				for (var i=0; i<_tmpData.pkItems.length; i++) {
					if (i != _tmpData.winIndex) {
						_tmpData.pkItems[i] = _tmpData.nextItems.shift();
					}
				}
			}
			for (var i=0; i<data.items.length; i++) {
				_tmpData.nextItems.push(data.items[i]);
			}

			for (var i=0; i<_tmpData.pkItems.length; i++) {
				setPkItem(i, _tmpData.pkItems[i]);
			}
			for (var i=0; i<_tmpData.nextItems.length; i++) {
				setNextItem(i, _tmpData.nextItems[i]);
			}

			_unlock();
			_tmpData.winIndex= null;
		}
	},
	_disablePk: function(msg) {
		this._tmpData.lock = true;
		var o = $id('button0');
		o.innerHTML = msg;
		o.disabled = true;
		var o = $id('button1');
		o.innerHTML = msg;
		o.disabled = true;
	},
	setPkResult: function (index, win) {
		if (win) {
			$id('pk_result' + index).innerHTML = '<img src="http://imgcache.qq.com/ACT/qzone_080701_pk/img/sheng_b.gif" alt="胜" />';
		}
		else {
			$id('pk_result' + index).innerHTML = '<img src="http://imgcache.qq.com/ACT/qzone_080701_pk/img/bai_b.gif" alt="败" />';
		}
	},
	setPkItem: function (i, item) {
		item.index = i;
		$id('pk_item' + i).innerHTML = this._bindData($id('pk_item_tpl').value, item );
	},
	setNextItem: function (i, item) {
		$id('next_item' + i).innerHTML = this._bindData($id('next_item_tpl').value, item );
	},
	setPrevItem: function (i, item) {
		$id('vspre').style.display = '';
		$id('vsnone').style.display = 'none';
		if (!item) {
			$id('prev_item' + i).innerHTML = '';
			return ;
		}

		if (this._tmpData.winIndex != null) {
			if (i == this._tmpData.winIndex) {
				item.status = '<img src="http://imgcache.qq.com/ACT/qzone_080701_pk/img/sheng_s.gif" alt="胜" />';
			}
			else {
				item.status = '<img src="http://imgcache.qq.com/ACT/qzone_080701_pk/img/bai_s.gif" alt="败" />';
			}
		}
		else {
			item.status = '';
		}


		$id('prev_item' + i).innerHTML = this._bindData($id('prev_item_tpl').value, item );
	},
	clearItems: function () {
		$id('pk_item0').innerHTML = '';
		$id('pk_item1').innerHTML = '';
		$id('next_item0').innerHTML = '';
		$id('next_item1').innerHTML = '';
		$id('prev_item0').innerHTML = '';
		$id('prev_item1').innerHTML = '';
	},
	loadRankList: function (sex, type) {
		if (sex) {
			sex = 1;
			$id('rank_menu0').className = 'pk_sort_boy';
			$id('rank_menu1').className = 'pk_sort_girl';
		}
		else {
			sex = 0;
			$id('rank_menu1').className = 'pk_sort_boy';
			$id('rank_menu0').className = 'pk_sort_girl';
		}
		var o = $id('ranklist_more');
		var n =  o.href.indexOf('#');
		if (n  > 0) {
			o.href = o.href.substr(0, n)  + '#' + sex;
		}
		else {
			o.href += '#' + sex;
		}

		var date = new Date();
        this.get(this._loadRankListCallback, '/pk/json.php?mod=pk&act=ranklist', {sex: sex, rand: date.getTime()});
	},
	_loadRankListCallback: function (data) {
		if ((data = CityPk._parseData(data) ) == false || typeof(data)!='object' || !data.items || data.items.length == 0) {
			//$id('ranklist_note').innerHTML = '载入排行失败';
			$id('ranklist').innerHTML = '';
			return ;
		}

		var o = $id('ranklist');
		o.innerHTML = CityPk._bindData($id('ranklist_tpl0').value, data.items[0]);

		var tpl = $id('ranklist_tpl1').value;
		for (var i=1; i<data.items.length; i++) {
			o.innerHTML += CityPk._bindData(tpl, data.items[i]);
			if (i >= 9) break;
		}
	},
	setPkHistory: function (type, items, prid, pp) {
		var inuser = false;
		inuser = location.href.indexOf('user\.html')>=0;
		if (!items || typeof(items)!='object' ) {
			return ;
		}
		var tpl = $id(type + '_item_tpl').value;
		var tmp = '';
		var k = 0;
		if(items.length <= 0){
			if(pp) return;
			if(inuser){
				$id(type + '_items'+(inuser?'_'+prid:'')).innerHTML = '<p class="pk_note">你还没有PK战'+(type=='win' ? '胜' :'败')+'过，现在玩pk为自己加油去！</p>';
			} else {
				$id(type + '_items'+(inuser?'_'+prid:'')).parentNode.innerHTML = '<p class="pk_note">你还没有PK战'+(type=='win' ? '胜' :'败')+'过，现在玩pk为自己加油去！</p>';
			}
			return;
		}
		for (var i in items) {
			if (!items[i].uin) continue;
			tmp += this._bindData(tpl, items[i]);
			k++;
			if (k >= 8) {
				break;
			}
		}
		$id(type + '_items'+(inuser?'_'+prid:'')).innerHTML = tmp;
	},
	setMyPkInfo: function (item, status, nxt) {
		var inuser = false;
		inuser = location.href.indexOf('user\.html')>=0;
		if (!item || typeof(item)!='object' ) {
			var msg;
			switch (status) {
				case -31:
					msg = '您还未加入城市达人，不能参加pk。马上来<a href="http://cityuser.qzone.qq.com/index.php?mod=userregprof&amp;act=apply&amp;PSN=pk" target="_blank" class="join" style="color:#D35C27;">免费注册城市达人</a>';
					break;
				case -35:
					msg = '您还未上传达人照片，需要有照片且通过视频认证的达人才可报名pk。<a href="http://cityuser.qzone.qq.com/index.php?mod=useredtprof&act=edit" target="_blank" style="color:#D35C27;">点击上传达人图片</a>';
					break;
				case -36:
					msg = '您还未通过视频认证，需要通过视频认证的达人才可报名pk。<a href="http://cityuser.qzone.qq.com/index.php?mod=video" target="_blank" style="color:#D35C27;">点击进行视频认证</a>';
					break;
                case -37:
					msg = '您的资料正在审核中，审核通过后才能报名pk';
					break;
				default:
					var m = [];
					if(nxt && nxt.begin) m = nxt.begin.split('-');
					if(nxt && nxt.joined){
						msg = '你已经成功报名了下期达人PK'+(nxt.begin?'，下期PK将于'+m[0]+'年'+m[1]+'月'+m[2]+'日开始':'')+'，请准时参与pk。你现在可以了玩本期Pk，支持你喜欢的达人朋友。';
					} else {
						msg = '你还未报名下期达人PK'+(nxt.begin?'，下期PK将于'+m[0]+'年'+m[1]+'月'+m[2]+'日开始':'')+'。PK台好玩，还可以认识很多美女帅哥！<a href="javascript: CityPk.join()" style="color:#D35C27;">报名下一期PK</a>';
					}
			}

			if(inuser){
				$id('user_panel').innerHTML += '<p class="note">'+msg+'</p>';
			} else {
				$id('user_info').innerHTML = msg;
				$id('pk_w').style.display = 'none';
				$id('pk_l').style.display = 'none';
			}
			return ;
		}

		var start_date = item.period.start_date.split('-');
		var end_date = item.period.end_date.split('-');
		var tmp_item = {
			user: item.name,
			wins: item.wins,
			period: item.period.name,
			period_id:item.period.period_id,
			start_date: start_date[0] + '年' + start_date[1] + '月' + start_date[2] + '日',
			end_date: end_date[0] + '年' + end_date[1] + '月' + end_date[2] + '日'
		};

		if(inuser) {
			$id('user_panel').innerHTML += CityPk._bindData($id('my_history_tpl').value, tmp_item);
			$id('user_panel').innerHTML += CityPk._bindData($id('cont_tpl').value, {period_id:item.period.period_id});
			$id('user_panel').style.display = '';
		} else {
			var tpl = $id('user_info_tpl').value;
			$id('user_info').innerHTML = this._bindData(tpl, tmp_item);
			$id('user_panel').style.display = '';
		}

		CityPk.setPkHistory('win', item.win_items, item.period.period_id);
		CityPk.setPkHistory('lost', item.lost_items, item.period.period_id);
		if(inuser){
			CityPk.displayPr(item.period.period_id);
			$id('button_'+item.period.period_id).href = "javascript:CityPk.hidePr("+item.period.period_id+", false);";
		}
	},
	initUser: function (type) {
		if (!CityUser.isLogined()) {
			type && CityUser.login();
			return ;
		}
		$id('username').innerHTML = getUin();
		$id('logout_button').style.display = '';
		$id('user_panel').style.display = '';

		type = type ? 1 : 0;

		var date = new Date();
        this.get(this._initUserCallback, '/pk/json.php?mod=pk&act=user', {type: type, rand: date.getTime()});
	},
	_initUserCallback: function (data) {
		if ((data = CityPk._parseData(data) ) == false || typeof(data)!='object') {
			CityPk._msg(data.code);
			return ;
		}
		if(data.user_nickname){ $id('username').innerHTML = data.user_nickname;}
		CityPk.setMyPkInfo(data.item, data.status, data.next);
		CityPk.setMyHistory(data.history, data.item && data.item.period && data.item.period.period_id ? data.item.period.period_id: null);
	},
	setMyHistory: function (items, pid) {
		if (!items) return;

		var tpl = $id('my_history_tpl').value;
		var pre = '';
		var nre = '';
		for (var i=0; i<items.length; i++) {
			if(pid && pid == items[i].period_id) continue;
			var tmp = '<div class="line"></div>';
			var start_date = items[i].start_date.split('-');
			var end_date = items[i].end_date.split('-');
			items[i].start_date = start_date[0] + '年' + start_date[1] + '月' + start_date[2] + '日';
			items[i].end_date = end_date[0] + '年' + end_date[1] + '月' + end_date[2] + '日';

			tmp += this._bindData(tpl, items[i]);
			if(!pid || pid > items[i].period_id) {
				tmp += CityPk._bindData($id('cont_tpl').value, {period_id:items[i].period_id});
				nre += tmp;
			} else {
				pre += '<p class="note"><strong class="tit">'+items[i].period+'（'+items[i].start_date+'-'+items[i].end_date+'）</strong>&nbsp;&nbsp;我已经报名了。</p><div class="line"></div>';
			}
		}
		$id('user_panel').innerHTML = pre + $id('user_panel').innerHTML + nre;
		$id('user_panel').style.display = '';
	},
	displayPr: function(prid, ajx){
		$id('button_'+prid).innerHTML = '信息收起';
		$id('button_'+prid).href = "javascript:CityPk.hidePr('"+prid+"', "+ajx+");";
		$id('pk_historyl_'+prid).style.display = '';
		$id('pk_historyw_'+prid).style.display = '';
	},
	hidePr: function(prid, ajx){
		$id('button_'+prid).innerHTML = '信息展开';
		$id('button_'+prid).href = "javascript:CityPk."+(ajx ? "showHistory":"displayPr")+"('"+prid+"');";
		$id('pk_historyl_'+prid).style.display = 'none';
		$id('pk_historyw_'+prid).style.display = 'none';
	},
	showHistory: function(prid){
		if (!CityUser.isLogined()) {
			CityUser.login();
			return ;
		}
		CityPk.get(CityPk._showHistoryCB,'/pk/json.php?mod=pk&act=history', {p:prid});
	},
	_showHistoryCB:function(data){
		var o = {};
		if ((o = CityPk._parseData(data) ) == false || typeof(o)!='object' || !o.item) {
			alert('获取历史PK记录失败');
			return ;
		}
		CityPk.setPkHistory('win', o.item.win_items, o.item.period.period_id, true);
		CityPk.setPkHistory('lost', o.item.lost_items, o.item.period.period_id, true);
		CityPk.displayPr(o.item.period.period_id, true);
	},
	initTop: function (sex) {
		if (CityUser.isLogined()) {
			$id('username').innerHTML = getUin();
			$id('logout_button').style.display = '';
		}
		$id('ranklist').innerHTML = '';
		this._setLocationSharp(sex);

		$id('prid').disabled = true;
		$id('ss').disabled = true;
        this.get(this._initTop, '/pk/json.php?mod=pk&act=ranklist', {sex: sex, type: 1});
	},
	chTop:function(){
		var p = $id('prid').value;
		var s = $id('ss').value;
		if(p>=0 && (s==0||s==1)){
			$id('ranklist').innerHTML = '排行榜数据加载中...';
			CityPk._setLocationSharp(s);
			$id('prid').disabled = true;
			$id('ss').disabled = true;
			CityPk.get(CityPk._initTop, '/pk/json.php?mod=pk&act=ranklist', p==0 ? {sex: s, type: 1} : {sex: s, type: 1, p:p});
		}
	},
	_initTop: function (data) {
		$id('prid').disabled = false;
		$id('ss').disabled = false;
		if ((data = CityPk._parseData(data) ) == false || typeof(data)!='object') {
			//$id('ranklist').innerHTML = '';
			return ;
		}
		if(!CityPk._tmpData.topinited){
			var pr = $id('prid');
			var sl = null;
			pr.options.length = '0';
			for(var i=1;i<=data.cur_ord; i++){
				var op = new Option((data.cur_ord==i ? '本期最新' : ('第'+i+'期')), data.cur_ord==i ? 0 : i);
				pr.options.add(op);
				sl = data.cur_ord==i ? op.index : sl;
			}
			pr.selectedIndex = sl;
			$id('ss').value = sex;

		}
		CityPk._tmpData.topinited = true;
		var o = $id('ranklist');
		var tpl = $id('ranklist_tpl').value;
		var tmp = '';
		for (var i=0; i<data.items.length; i++) {
			tmp += CityPk._bindData(tpl, data.items[i]);
			if (i == 39) break;
		}
		o.innerHTML = tmp;
	},
	showTips: function (caption, mainTxt, subTxt, confirmCallback, cancelCallback) {
		confirmCallback = confirmCallback ? confirmCallback : 'CityPk.hideTips()';

		var content = '<div class="tips_tit"><h3>' + caption + '</h3></div><div class="main"><h4 class="tips_hua">' + mainTxt + '</h4><p class="txt">' + subTxt + '</p><p class="bt"><input name="confirm" type="image" src="http://imgcache.qq.com/ACT/qzone_080701_pk/img/bt_ok.png" alt="确定" onclick="' + confirmCallback + '" />&nbsp;&nbsp;&nbsp;';
		if (cancelCallback) {
			content += '<input name="cancel" type="image" src="http://imgcache.qq.com/ACT/qzone_080701_pk/img/bt_qx.png" alt="取消" onclick="' + cancelCallback + '" />';
		}
		content += '</p></div><a href="javascript:void(0)" onclick="CityPk.hideTips()" title="关闭" class="tips_close"></a>';

		var o = $id('main_tips');
		o.innerHTML = content;
		o.style.display = '';
	},
	hideTips: function () {
		$id('main_tips').style.display = 'none';
	},
	foldPkHistory: function () {

	},
	post: function (callback, url, data) {
		data = this._pack(data);
		var req = new Request(callback, 'post', url, data);
		req.sendRequest();
	},
	get: function (callback, url, data) {
		params = data ? this._pack(data) : '';
		var pos = url.indexOf('?');
		if (pos >= 0) {
			tmp = url;
			url = url.substr(0, pos);
			if (tmp.length > pos) {
				params = tmp.substr(pos+1, tmp.length-pos) + '&' + params
			}
		}

		var req = new Request(callback, 'get', url, params);
		req.sendRequest();
	},
	_pack: function (data) {
		if (typeof(data) == 'object') {
			var tmp = [];
			for ( var i in data ) {
				tmp.push( encodeURIComponent(i) + "=" + encodeURIComponent( data[i] ) );
			}

			return tmp.join("&").replace(/%20/g, "+");
		}

		return data;
	},
	_parseData: function (data) {
		try {
			eval('var data=' + data);
		}
		catch (e) {
			//if (getUin() == '') alert(data + "\n" + e.message );
			return false;
		}

		return data;
	},
	_bindData: function (tpl, data) {
		for (var i in data) {
			var reg = new RegExp('({|%7B)#' + i + '\(}|%7D)', 'g');
			tpl = tpl.replace(reg, data[i]);
		}

		return tpl;
	},
	_unlock: function () {
		CityPk._tmpData.lock = false;
	},
	_msg: function (code) {
		var msg;
		switch (code) {
			case -15:
				msg = '您可能过久没有操作或在另外一个窗口打开了本页面，\n页面需要重新载入才能继续';
				break;
			case -14:
				msg = '您可能过久没有操作，\n页面需要重新载入才能继续';
				break;
			case -21:
				msg = '本期尚无PK数据';
				break;
			case -22:
				msg = '本期PK已经过期，请等待下期PK';
				break;
			case -55:
				CityUser.logout();
				return ;
			case -60:
				msg = '1个小时内只能对50对PK用户进行操作，请休息下再来';
				break;
			default:
				msg = '服务器忙';
		}
		alert(msg);
	},
	_setLocationSharp: function (v) {
		var n = window.location.href.indexOf('#');
		if (n > 0) {
			window.location.href = window.location.href.substr(0, n) + '#' + v;
		}
		else {
			window.location.href += '#' + v;
		}
	},
	_getLocationSharp: function () {
		var n = window.location.href.indexOf('#');
		if (n > 0) {
			return window.location.href.substr(n+1);
		}

		return null;
	}
}

CityUser = {
	isLogined: function () {
		var c_uin = getUin();

		var qzone_logon1 = false;
		var qzone_logon2 = false;

		qzone_logon1 = prof_cookies['uin'];
		qzone_logon1 = qzone_logon1 && (prof_cookies['skey']);

		qzone_logon2 = prof_cookies['zzpaneluin'];
		qzone_logon2 = qzone_logon2 && (prof_cookies['zzpanelkey']);

		if ( c_uin && (qzone_logon1 || qzone_logon2) )
		{
			if ( qzone_logon1 && !qzone_logon2 )
			{
				var url = 'http://city.qzone.qq.com/pk/json.php';
				var query_str = 'mod=pk&act=getzpk';

				var agnt = new Request(function () {}, 'get', url, query_str);
				agnt.sendRequest();
			}

			return true;
		}

		return false;
	},
	sendMsg: function () {
	},
	addFriend: function () {
	},
	login: function (goto) {
		if (!goto) {
			goto = window.location.href
			var n = goto.indexOf('#');
			if (n > 0) {
				goto = goto.substr(0, n);
			}
		}
		qq_login_form(15000102, goto);
		return ;
	},
	logout: function (goto) {
		extractCookies();

		if (prof_cookies['friends_prof']) {
			document.cookie = "friends_prof=; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/; domain=" + dflt_domain;
		}

		if (prof_cookies['UINLOGIN']) {
			document.cookie = "UINLOGIN=; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/; domain=qq.com";
		}

		if (prof_cookies['URL_PTLOGIN']) {
			document.cookie = "URL_PTLOGIN=; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/; domain=qq.com";
		}

		if (prof_cookies['verifysession']) {
			document.cookie = "verifysession=; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/; domain=qq.com";
		}

		if (prof_cookies['uin']) {
			document.cookie = "uin=; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/; domain=qq.com";
		}

		if (prof_cookies['skey']) {
			document.cookie = "skey=; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/; domain=qq.com";
		}

		if (prof_cookies['zzpaneluin']) {
			document.cookie = "zzpaneluin=; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/; domain=qq.com";
		}

		if (prof_cookies['zzpanelkey']) {
			document.cookie = "zzpanelkey=; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/; domain=qq.com";
		}

		if (prof_cookies['nick']) {
			document.cookie = "nick=; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/; domain=qq.com";
		}

		if (prof_cookies['logon_cookie']) {
			document.cookie = "logon_cookie=; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/; domain=qzone.qq.com";
		}

		if (prof_cookies['qzone_city_key']) {
			document.cookie = "qzone_city_key=; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/; domain=qq.com";
		}

		if (goto) {
			window.top.location.href = goto;
		}
		else {
			window.top.location.reload();
		}
	}
}
/*  |xGv00|c1c65eb29b839f1fbaf5f97d2ef59901 */