/*
	依赖的js文件:
	
	<script src="js/proj/network.js" charset="gb2312"></script>
	<script src="js/proj/area.js" charset="gb2312"></script>
	<script src="js/proj/univ.js" charset="gb2312"></script>
	<script src="js/proj/cross_search.js" charset="gb2312"></script>
	<script src="js/proj/module_runner.js" charset="gb2312"></script>
*/

var g_module_runner_key_for_left_module="left_frame";

function g_setFrame(tab,tab2)
{
	if( Browser.getCookie('usrname')=="" )
	{
		alert("请先登录");
		logOut();
		return;
	}

	new Ajax.Request("http://widget.xunlei.com/portal/module/modules.xml", {
			response: "Object",
			onSuccess: Delegate.create(this, function(evt){
				var rr = evt.response;
				
				if(!AllFrame.setOutFrame(rr.frame))
					return;
				AllFrame.setTop(tab, rr.top, rr.top2);
				AllFrame.setLeft(rr.left);
				AllFrame.runLeftModule();
				if(tab2&&$("top2tab_"+tab2))
					$("top2tab_"+tab2).className = "f_bold";
				else if(AllFrame.top2_tab_default[tab]&&$("top2tab_"+AllFrame.top2_tab_default[tab]))
					$("top2tab_"+AllFrame.top2_tab_default[tab]).className = "f_bold";
			}),
			onException: function(evt){
				alert("set frame exception");
			}
		});
}

var AllFrame = {
	module_runner : ModuleRunner.getInstance("left_frame"),
	top_tab : ["index", "friend", "share", "group"],
	top2_tab_default:{"index":"index"
						,"friend":"manage"
						,"share":"share"
						,"group":"grouplist"},

	id_out_frame : "out_frame",
	id_top : "top_tab",
	id_top2 : "top_tab2",
	id_top_user : "top_user",
	id_left_frame : "left_frame",
	id_form_search : "left_module_form_search",
	id_div_user_intro : "left_module_intro_div_id",
	id_mood_pic : "left_module_mood_pic",
	id_mood_update_time : "left_module_mood_updatetime",

	id_div_hint : "left_module_div_hint"
};

AllFrame.setOutFrame = function(html)
{
	var oOutFrame=$(this.id_out_frame);
	if(oOutFrame)
	{
		oOutFrame.innerHTML=html;
		return true;
	}
	else
		return false;
}

AllFrame.setTop = function(tab, top, top2) {
	//一级导航
	var oTopTab = $(this.id_top);
	var top_html = top;
	for(var i=0; i<this.top_tab.length; i++)
	{
		var reg=new RegExp("<!--%"+this.top_tab[i]+"%-->", "g");
		if(this.top_tab[i]==tab)
			top_html = top_html.replace(reg, 'class="select"');
		else
			top_html =  top_html.replace(reg, '');
	}
	if(oTopTab)
		oTopTab.innerHTML = top_html;
	
	//二级导航
	var oTopTab2=$(this.id_top2);
	if(oTopTab2)
	{
		oTopTab2.innerHTML=eval("top2."+tab);
	}

	//set top user
	var oTopUser = document.getElementById(this.id_top_user);
	if(oTopUser)
		oTopUser.innerHTML=User.myNickName;
}

AllFrame.setUserIntro = function(intro)  {
	if(intro.length>0)
		$(this.id_div_user_intro).innerHTML=intro;
}

AllFrame.setUserMood = function(mood) {
	$(this.id_mood_pic).innerHTML = '<img src="'+g_mood_pic[mood]+'" class="v_m"/>';
	var date=new Date();
	$(this.id_mood_update_time).innerHTML = (date.getMonth()+1)+"-"+date.getDate();
}

AllFrame.setLeft = function(html) {
	$(this.id_left_frame).innerHTML=html;

	var form=document.forms[this.id_form_search];
	area.fill_prov(form.province,"--省份--", "广东", true);
	area.fill_city(form.province, form.city, '请选择城市');
}

AllFrame.runLeftModule = function () {
	var username=Browser.getCookie('usrname');
	this.module_runner.addModule({eid:"", url:"http://portal.widget.xunlei.com/fcg-bin/cgi_checklogin.fcg?cachetime="+new Date().getTime(), successCallback:Delegate.create( this, this.checkLogin), onException: function(evt){alert("exception on check login");} });
	this.module_runner.addModule({eid:"left_module_div_money", url:"http://portal.widget.xunlei.com/cgi-bin/cgi_coin?cachetime="+new Date().getTime(), successCallback:Delegate.create( this, this.showMoney), onException: function(evt){alert("exception on user info");} });
	this.module_runner.addModule({eid:"left_module_div_user_info", url:"http://portal.widget.xunlei.com/fcg-bin/cgi_userinfo_get.fcg?cachetime="+new Date().getTime(), successCallback:Delegate.create( this, this.showUserInfo), onException: function(evt){alert("exception on user info");} });
	this.module_runner.addModule({eid:"left_module_div_friend_request", url:"http://portal.widget.xunlei.com/cgi-bin/cgi_friend_last_invite?cachetime="+new Date().getTime(), successCallback:Delegate.create(this, this.showFriendInvite), onException: function(evt){alert("exception on left invite");} });
	this.module_runner.addModule({eid:"left_module_cross_network", url:"http://portal.widget.xunlei.com/cgi-bin/cgi_cross_search?cachetime="+new Date().getTime(), successCallback:Delegate.create( this, this.showCross), onException: function(evt){alert("exception on left cross");} });
	this.module_runner.runAll();

	//未读消息数
	g_sendUrlByIfr("http://sms.widget.xunlei.com:2050/freshamount", 
							Delegate.create( this, function(ifr) {
								var message_num=parseInt(ifr.document.body.innerHTML);
								this.setMessageNum(message_num);
								//var Repeater = HtmlRepeater.getInstance("left_module_div_message");
								//Repeater.insertValue("num", message_num);
								//Repeater.run();
							} )
					);

	//update session
	//g_sendUrlByIfr("http://login.xunlei.com/expire?cachetime="+new Date().getTime());
}

AllFrame.setMessageNum = function(num)
{
	if(num>0) $(this.id_div_hint).style.display="";
	var Repeater = HtmlRepeater.getInstance("left_module_div_message");
	Repeater.insertValue("num", num);
	Repeater.run();

	if(num<=0)
		$("left_module_div_message").style.display="none";
}

AllFrame.checkLogin = function(i, rr)
{
	if(rr.result!="0")
	{
		alert("未登录或登录已超时，请登录");
		logOut();
	}
}

AllFrame.showMoney = function(i, rr)
{
	var Repeater = HtmlRepeater.getInstance(this.module_runner._Module[i].eid);
	Repeater.insertValue("leibi_num", rr.leibi);
	Repeater.insertValue("jifen_num", rr.jifen);
	Repeater.run();
}

AllFrame.showUserInfo = function(i, rr)
{
	if(rr.result!="0")
	{
		return;
	}
	var Repeater = HtmlRepeater.getInstance(this.module_runner._Module[i].eid);
	var xunleiLevel=g_getXunleiLevel(rr.account);
		
	var logo='<img id="all_frame_user_img" class="upic50 m_r7 f_l" src="http://portal.widget.xunlei.com/cgi-bin/cgi_user_image_mine?type=big" />';
	var level_logo="";
	for(var i=0; i<parseInt(xunleiLevel.logo/100); i++)
		level_logo+=("<img src='http://img.widget.xunlei.com/portal/img/lv"+1+".gif' class='v_m' />");
	for(var i=0; i<parseInt(xunleiLevel.logo/10)%10; i++)
		level_logo+=("<img src='http://img.widget.xunlei.com/portal/img/lv"+2+".gif' class='v_m' />");
	for(var i=0; i<xunleiLevel.logo%10; i++)
		level_logo+=("<img src='http://img.widget.xunlei.com/portal/img/lv"+3+".gif' class='v_m' />");
	
	Repeater.insertValue("level_logo", level_logo);
	Repeater.insertValue("logo", logo);
	Repeater.insertValue("uin", rr.uin);
	Repeater.insertValue("nickname", rr.nickname==""?rr.uin:rr.nickname);
	Repeater.insertValue("intro", rr.introduction==""?"没有设置状态":rr.introduction);
	Repeater.insertValue("level", xunleiLevel.level);
	Repeater.insertValue("user_title", xunleiLevel.title);
	Repeater.insertValue("account", rr.account);
	if(rr.mood=="") rr.mood="001";
	Repeater.insertValue("mood", '<img src="'+g_mood_pic[rr.mood]+'" class="v_m"/>' );
	if( rr.extinfo_update_time.length>0 )
		Repeater.insertValue("mood_update_time", rr.extinfo_update_time.substr(5, 5));

	Repeater.run();
	
	//设置好友查找初始条件
	var network_arr=$A(rr.networks.network);
	for(var i=0; i<network_arr.length; i++)
	{
		if(network_arr[i].type_id="1")
		{
			var form=document.forms[this.id_form_search];
			ejs.selectone.set(form.province, network_arr[i].ext01);
			area.fill_city(form.province, form.city, '请选择城市');
			ejs.selectone.set(form.city, network_arr[i].obj_id);
			break;
		}
	}

	//个人状态pop up
	g_popSetStatus.init({ifmask:true, callback:function(intro, mood) {

											AllFrame.setUserIntro(intro);
											AllFrame.setUserMood(mood);
											
											},
							intro: rr.introduction,
							mood: rr.mood
						}
	);

	//邮箱未验证
	if( $('div_email_invalid') && (!rr.valid_email||'false'==rr.valid_email)&&(rr.mail&&''!=rr.mail) )
		$('div_email_invalid').style.display="block";
}

AllFrame.showFriendInvite = function(i, rr)
{
	if(rr.result!="0") return;
	this.setFriendInviteNum($A(rr.group.friend).length);

	//var Repeater=HtmlRepeater.getInstance(this.module_runner._Module[i].eid);
	//Repeater.insertValue("num",  $A(rr.group.friend).length);
	//Repeater.run();
}
AllFrame.setFriendInviteNum = function(num)
{
	if(num>0) $(this.id_div_hint).style.display="";
	var Repeater=HtmlRepeater.getInstance("left_module_div_friend_request");
	Repeater.insertValue("num",  num);
	Repeater.run();

	if(num<=0)
		$("left_module_div_friend_request").style.display="none";
}

AllFrame.showCross = function(i, rr)
{
	if(rr.result!=0) return;
	var repeater = HtmlRepeater.getInstance(this.module_runner._Module[i].eid);

	var cross_info=$A(rr.cross_info);
	var count=0;
	for (var i=0; i<cross_info.length; i++)
	{
		cross_info[i]._idx = i;
		cross_info[i].cross_word = _ParseCrossWord(cross_info[i].cross_word);
		
		if(cross_info[i].num>1)
			count++;
	}
	
	if(count<=0)
		repeater.insertValue("message", "还没有交叉网络，<a href='http://widget.xunlei.com/portal/user_info.html'>请填写家乡和所在地&gt;&gt</a>");
	repeater.insertArray("cross_info", cross_info);
	repeater.run();
	
	for (var i=0; i<cross_info.length; i++)
	{
		if(cross_info[i].num<=1)
			$("li_cross_"+i).style.display="none";
	}
}

AllFrame.searchUser = function()
{
	var url="http://search.widget.xunlei.com/cgi-bin/cgi_search_userinfo_basic";
	var form=document.forms[this.id_form_search];
	var sex="", province="", cityid="";
	for(var i=0;i<form.sex.length;i++)
		if(form.sex[i].checked)
			sex=form.sex[i].value;
	
	if(ejs.selectone.get(form.province).value=="" || 
			ejs.selectone.get(form.city).value=="" )
	{
		alert("请选择地区");
		return false;
	}

	var params="";
	params="?age_from="+form.age_from.value
				+"&age_to="+form.age_to.value
				+"&sex="+sex
				+"&cityid="+ejs.selectone.get(form.city).value
				+"&cityname="+encodeURIComponent(ejs.selectone.get(form.city).text);
	url+=params;
	window.location="http://widget.xunlei.com/portal/user_list.html?method=basic&url="+encodeURIComponent(url);
}
