function RPA(src,value_before,value_after)
{
	if(!value_after)value_after="";
	eval("src = src.replace(/"+value_before+"/g,\""+value_after+"\");");
	return src;
}

function SH_PARAM(sName,sValue)
{
	return "&"+sName+"="+encodeURIComponent(sValue);
}

var TEMPLATE_SHARE = {
"xl_blog":{
	type:"xl_blog",
	name:"日志",
	pop_html:"<dl><dt><a href=\"javascript:;\">{target_uin_nick}</a> —<a href=\"javascript:;\" class=\"f_bold\">{title}</a></dt><dd>{blog_brief}</dd></dl>",
	getParamString:function(oObject){
		var str = "";
		str += SH_PARAM("target_uin_url",User.getURL(oObject.uin));
		str += SH_PARAM("target_uin_nick",oObject.nick);
		str += SH_PARAM("title",oObject.title);
		str += SH_PARAM("url",oObject.url);
		str += SH_PARAM("blog_brief",oObject.brief);
		return str;
		},
	getPopHTML:function(oObject){
		var str = this.pop_html;
		str = RPA(str,"{target_uin_nick}",oObject.nick);
		str = RPA(str,"{title}",oObject.title);
		str = RPA(str,"{blog_brief}",oObject.brief);
		return str;
		}
	},
"xl_album_pic":{
	type:"xl_album_pic",
	name:"相册照片",
	pop_html:"<div class=\"clearfix m_v5\"><img src=\"{img_url}\" alt=\"{title}\" class=\"f_l m_r7 img_100 img_border\" /><dl><dt><a href=\"javascript:;\">{title}</a></dt><dd>来自<a href=\"javascript:;\">{target_uin_nick}</a>的相册：<a href=\"javascript:;\" class=\"f_bold\">{album_name}</a></dd></dl></div>",
	getParamString:function(oObject)	{
		var str = "";
		str += SH_PARAM("album_img_url",oObject.album_img_url);
		str += SH_PARAM("img_url",oObject.img_url);
		str += SH_PARAM("target_uin_url",User.getURL(oObject.uin));
		str += SH_PARAM("target_uin_nick",oObject.nick);
		str += SH_PARAM("title",oObject.title);
		str += SH_PARAM("album_name",oObject.album_name);
		str += SH_PARAM("album_url",oObject.album_url);
		return str;
		},
	getPopHTML:function(oObject)	{
		var str = this.pop_html;
		str = RPA(str,"{album_img_url}",oObject.album_img_url);
		str = RPA(str,"{img_url}",oObject.img_url);
		str = RPA(str,"{target_uin_url}",User.getURL(oObject.uin));
		str = RPA(str,"{target_uin_nick}",oObject.nick);
		str = RPA(str,"{title}",oObject.title);
		str = RPA(str,"{album_name}",oObject.album_name);
		str = RPA(str,"{album_url}",oObject.album_url);
		return str;
		}
	},
"xl_album":{
	type:"xl_album",
	name:"相册专辑",
	pop_html:"<div class=\"clearfix m_v5\"><img src=\"{img_url}\" alt=\"\" class=\"f_l m_r7 img_100 img_border\" /><dl><dt><strong>相册专辑:<a href=\"javascript:;\">{album_name}</a></strong></dt><dd>共{album_img_count}张</dd><dd>相册来自<a href=\"javascript:;\">{target_uin_nick}</a></dd></dl></div>",
	getParamString:function(oObject)	{
		//img_url,target_uin_url,target_uin_nick,title,album_name,album_type_name,album_pic_count,album_url
		var str = "";
		str += SH_PARAM("img_url",oObject.img_url);
		str += SH_PARAM("target_uin_url",User.getURL(oObject.uin));
		str += SH_PARAM("target_uin_nick",oObject.nick);
		str += SH_PARAM("album_img_count",oObject.album_img_count);
		str += SH_PARAM("album_name",oObject.album_name);
		str += SH_PARAM("album_url",oObject.album_url);
		return str;
		},
	getPopHTML:function(oObject)	{
		var str = this.pop_html;
		str = RPA(str,"{img_url}",oObject.img_url);
		str = RPA(str,"{target_uin_url}",User.getURL(oObject.uin));
		str = RPA(str,"{target_uin_nick}",oObject.nick);
		str = RPA(str,"{album_img_count}",oObject.album_img_count);
		str = RPA(str,"{album_name}",oObject.album_name);
		str = RPA(str,"{album_url}",oObject.album_url);
		return str;
		}
	},
"xl_resrc":{
	type:"xl_resrc",
	name:"资源",
	pop_html:"<a href=\"javascript:;\" >{title}</a><br/><em>{size}</em> <em>{format}</em><br/><input id=\"pop_share_title\" type=\"text\" class=\"input_tx w_180\" value=\"{title}\" style=\"width:310px;\" />",
	getParamString:function(oObject)	{
		var str = "";
		str += SH_PARAM("cid",oObject.cid.trim());
		str += SH_PARAM("url",oObject.url.trim());
		str += SH_PARAM("title",oObject.title.trim());
		str += SH_PARAM("size",oObject.size.trim());
		if(oObject.format)
			str += SH_PARAM("format",oObject.format.trim());
		else
			str += SH_PARAM("format","");
		return str;
		},
	getPopHTML:function(oObject)	{
		var str = this.pop_html;
		str = RPA(str,"{cid}",oObject.cid.trim());
		str = RPA(str,"{url}",oObject.url.trim());
		str = RPA(str,"{title}",oObject.title.trim());
		str = RPA(str,"{size}",oObject.size.trim());
		if(oObject.format)
			str = RPA(str,"{format}",oObject.format.trim());
		else
			str = RPA(str,"{format}","");
		return str;
		}
	},
"xl_resrc_collection":{
	type:"xl_resrc_collection",
	name:"资源专辑",
	pop_html:"<a href=\"{url}\" >{title}</a><br/><em>资源分类:{resrc_type}</em>, <em>共{resrc_count}个资源</em><br/><em>专辑来自<a href=\"{target_uin_url}\">{target_uin_nick}</a></em>",
	getParamString:function(oObject)	{
		var str = "";
		str += SH_PARAM("url",oObject.url.trim());
		str += SH_PARAM("title",oObject.title.trim());
		str += SH_PARAM("resrc_type",oObject.resrc_type.trim());
		str += SH_PARAM("resrc_count",oObject.resrc_count.trim());
		str += SH_PARAM("target_uin_url",User.getURL(oObject.uin.trim()));
		str += SH_PARAM("target_uin_nick",oObject.nick.trim());
		return str;
		},
	getPopHTML:function(oObject)	{
		var str = this.pop_html;
		str = RPA(str,"{url}",oObject.url.trim());
		str = RPA(str,"{title}",oObject.title.trim());
		str = RPA(str,"{resrc_type}",oObject.resrc_type.trim());
		str = RPA(str,"{resrc_count}",oObject.resrc_count.trim());
		str = RPA(str,"{target_uin_url}",User.getURL(oObject.uin.trim()));
		str = RPA(str,"{target_uin_nick}",oObject.nick.trim());
		return str;
		}
	},
"link_pic":{
	type:"link_pic",
	name:"图片",
	pop_html:"<img src=\"{url}\" style=\"border:1px solid #DBE6EF; padding:2px; width:50px; height:50px; float:left; margin:0 10px 5px 0;\" /><br/><input style=\"display:none\" id=\"pop_share_title\" type=\"text\" class=\"input_tx w_180\" value=\"\" style=\"width:310px;\" />",
	getParamString:function(rr){
		var str = "";
		str += SH_PARAM("title",rr.title.trim());
		str += SH_PARAM("url",rr.url.trim());
		return str;
		},
	getPopHTML:function(rr){
		var str = this.pop_html;
		str = RPA(str,"{url}",rr.url.trim());
		return str;
		}
	},
"link_html":{
	type:"link_html",
	name:"网页",
	pop_html:"<a href=\"javascript:;\" style=\"font-weight:bold\" >{url}</a><br/><input id=\"pop_share_title\" type=\"text\" value=\"{title}\" class=\"input_tx w_180\" style=\"width:310px;\" />",
	getParamString:function(rr) {	
		var str = "";
		str += SH_PARAM("title",rr.title.trim());
		str += SH_PARAM("url",rr.url.trim());
		return str;
		},
	getPopHTML:function(rr) {
		var str = this.pop_html;
		str = RPA(str,"{url}",rr.url.trim());
		str = RPA(str,"{title}",rr.title.trim());
		return str;
		}
	},
"link_music":{
	type:"link_music",
	name:"音乐/媒体",
	pop_html:"<a href=\"javascript:\">{url}</a><br/><img src=\"http://img.widget.xunlei.com/img_2/music_play.gif\" alt=\"{url}\" /><br/>标题:<input id=\"pop_share_title\" type=\"text\" class=\"input_tx w_180\" value=\"\" />",
	getParamString:function(rr){
		var str = "";
		str += SH_PARAM("title",rr.title.trim());
		str += SH_PARAM("url",rr.url.trim());
		return str;
		},
	getPopHTML:function(rr)	{
		var str = this.pop_html;
		str = RPA(str,"{url}",rr.url.trim());
		return str;
		}
	},
"link_video":{
	type:"link_video",
	name:"视频",
	pop_html:"<img src=\"http://img.widget.xunlei.com/img_2/img_video.jpg\" /><br/><dl class=\"c_dark2\"><dt class=\"f_bold\">{title}</dt><dd>来自：{site}</dd></dl>",
	getParamString:function(rr){
		var str = "";
		str += SH_PARAM("title",rr.title.trim());
		str += SH_PARAM("url",rr.url.trim());
		str += SH_PARAM("video",rr.video.trim());
		str += SH_PARAM("site",rr.site.trim());
		return str;
		},
	getPopHTML:function(rr)	{
		var str = this.pop_html;
		str = RPA(str,"{site}",rr.site.trim());
		str = RPA(str,"{title}",rr.title.trim());
		return str;
		}
	},
"link_unknown":{
	type:"link_unknown",
	name:"未知链接",
	pop_html:"对不起，无法识别您共享的链接...",
	getParamString:function(rr){
		return "";
		},
	getPopHTML:function(rr)	{
		return this.pop_html;
		}
	},
"reshare":{
	type:"",
	name:"",
	pop_html:"您确定要分享此项么?",
	getParamString:function(oObject){
		var str = "";
		str += SH_PARAM("is_reshare","true");
		str += SH_PARAM("shareid",oObject.shareid);
		return str;
		},
	getPopHTML:function(oObject){
		return oObject.popup;
		}
	}
}

var TEMPLATE_MYCOMMENT = "<q><img src=\"http://img.widget.xunlei.com/img_2/q_left.gif\" alt=\"\" class=\"v_m\" /><em class=\"m_a10\">{mycomment}</em><img src=\"http://img.widget.xunlei.com/img_2/q_right.gif\" alt=\"\" class=\"v_m\" /></q><q style=\"display:none\" >###{{share_type}}###</q>";
var TEMPLATE_MYCOMMENT_HEAD = "<q><img"

var TEMPLATE_POP_FRAME = "<div style='width:358px;' id='div_pop_share'>"
+"<div class=\"box\" style=\"background:#FFF\" >"
	+"<h2><a href=\"javascript:;\" onclick=\"SharePop.hide();\" class=\"f_r m_t7\"><img src=\"http://img.widget.xunlei.com/img_2/pop_close.gif\" alt=\"关闭\" /></a>分享<!--%type_name%-->...</h2>"
	+"<div class=\"p_20\">"
		+"<ul>"
			+"<li id=\"pop_share_comment_extra\" class=\"clearfix p_b10\">请稍候，正在检验共享链接...</li>"
			+"<li id=\"pop_share_comment\" style=\"display:none\" class=\"p_b10\">"
				+"评论:<textarea id=\"pop_share_mycomment\" onfocus=\"if('输入你的评论'==this.value)this.value=''\" class=\"c_dark\" style=\"width: 310px; height: 100px;\">输入你的评论</textarea>"
			+"</li>"
			+"<li class=\"t_c\">"
				+"<input id=\"pop_share_submit\" onclick=\"var tmmppCmmtVal=$('pop_share_mycomment').value;if(''==tmmppCmmtVal||'输入你的评论'==tmmppCmmtVal){alert('输入你的评论.')}else{SharePop.submitShare();}\" style=\"display:none\" type=\"button\" value=\"分享\" class=\"btn_57\" />"
				+"<input type=\"button\" onclick=\"SharePop.cancel();\" value=\"取消\" class=\"btn_57\" />"
			+"</li>"
		+"</ul>"
	+"</div>"
+"</div></div>";

share_check_url = function(sUrl,callback)
{
	var url = "http://portal.widget.xunlei.com/cgi-bin/cgi_share_check_url?url="+encodeURIComponent(sUrl);
	return new Ajax.Request(url, {
		response: "Object",
		onSuccess: Delegate.create(this, function(evt){
			try
			{
				var rr = evt.response;
				if(callback)
				{
					callback(rr);
				}

			}catch(ex)
			{
				alert(ex);
			}
		}),
		on404: function(evt){
			//TODO:Nothing;
		}
	});
}

var TEMPLATE_SINGLE_MUSIC_PLAYER_STATIC = ""
+"<a href=\"javascript:;\" onclick=\"javascript:setup_music(this,'{url}','{title}');return false\"  ><img src=\"http://img.widget.xunlei.com/img_2/music_play.gif\"/></a>"
var TEMPLATE_SINGLE_MUSIC_PLAYER_BUTTON = ""
+"<a href=\"javascript:;\" onclick=\"javascript:SingleMP.{action}();return false;\" ><img src=\"http://img.widget.xunlei.com/img_2/mp_{action}.gif\" /></a>";
var TEMPLATE_SINGLE_MUSIC_PLAYER_TITLE = ""
+"<em class=\"f_bold m_l10\">{title}</em>";
function SingleMusicPlayer()
{
/*
	Jukebox.Controller.initialize("music_player", $P("uin") || "sss", {
		onReady:Delegate.create(this, function(){
			//TODO:nothing.
		})
	});*/
}

SingleMusicPlayer.prototype={
	_sn:0,
	_node_id:"",
	_action1:"unmute",//mute,unmute
	_action2:"pause",//play,puase
	_title:"",
	_url:"",
	_is_stop:true,
	_opposite_action:{"play":"pause","pause":"play","mute":"unmute","unmute":"mute"},//相反
	setup:function(oTrigger,sURL,sTitle)
	{
		//停止较早前的音乐....
		this._action1="unmute";
		this._action2="pause";
		this._render_static_mode($(this._node_id),this._url, this._title);
		try
		{
			Jukebox.stop();
			this._is_stop = true;
		}catch(ex){}
		//初始化新的音乐....
		this._node_id = new Date().getTime()+"-"+(this._sn++);
		this._title = sTitle;
		this._url = sURL;
		this._prepare_and_render(oTrigger,null,0);
	},
	_stay_cool:function(sTargetAction,iActionType)
	{
		var bSameState = false;
		eval("bSameState=(sTargetAction==this._action"+iActionType+")");
		//和较早前状态一致,无需改变
		if(bSameState)return true;
		//和较早前状态不一致,需改变
		else return false;
	},
	_render_static_mode:function(eNode,sURL,sTitle)
	{
		if(!eNode||!(eNode.parentNode))
		{
			return;
		}
		var innerCODE = TEMPLATE_SINGLE_MUSIC_PLAYER_STATIC;
		innerCODE = RPA(innerCODE,"{url}",sURL);
		innerCODE = RPA(innerCODE,"{title}",sTitle);
//		innerCODE += RPA(TEMPLATE_SINGLE_MUSIC_PLAYER_TITLE,"{title}",this._title);
		eNode.parentNode.innerHTML = innerCODE;
	},
	_prepare_and_render:function(eNode,sTargetAction,iActionType)
	{
		if(!eNode||!(eNode.parentNode))
		{
			return;
		}		
		if(sTargetAction&&""!=sTargetAction)
		{
			eval("this._action"+iActionType+"=sTargetAction;");
		}
		var innerCODE = RPA("<span id=\"{node_id}\">","{node_id}",this._node_id);
		innerCODE+=RPA(TEMPLATE_SINGLE_MUSIC_PLAYER_BUTTON,"{action}",this._opposite_action[this._action1]);
		innerCODE+=RPA(TEMPLATE_SINGLE_MUSIC_PLAYER_BUTTON,"{action}",this._opposite_action[this._action2]);
//		innerCODE+=RPA(TEMPLATE_SINGLE_MUSIC_PLAYER_TITLE,"{title}",this._title);
		innerCODE+="</span>";
		eNode.parentNode.innerHTML = innerCODE;
	},
	play:function()
	{
		sAction="play";
		iActionType=2;
		if(this._stay_cool(sAction,iActionType))return;
		this._prepare_and_render($(this._node_id),sAction,iActionType)
		if(this._is_stop)
		{
			try{Jukebox.playURL(this._url,this._title,"_N_O_T_H_I_N_G_");}catch(ex){}
			this._is_stop = false;
		}
		else
		{
			try{Jukebox.playURL(this._url,this._title,"_N_O_T_H_I_N_G_");}catch(ex){}
//			Jukebox.play();
		}
	},
	pause:function()
	{
		sAction="pause";
		iActionType=2;
		if(this._stay_cool(sAction,iActionType))return;
		this._prepare_and_render($(this._node_id),sAction,iActionType)
		try{Jukebox.pause();}catch(ex){}
	},
	mute:function()
	{
		sAction="mute";
		iActionType=1;
		if(this._stay_cool(sAction,iActionType))return;
		this._prepare_and_render($(this._node_id),sAction,iActionType)
		try{Jukebox.setMute(true);}catch(ex){}
	},
	unmute:function()
	{
		sAction="unmute";
		iActionType=1;
		if(this._stay_cool(sAction,iActionType))return;
		this._prepare_and_render($(this._node_id),sAction,iActionType)
		try{Jukebox.setMute(false);}catch(ex){}
	}
	
}

var SingleMP = new SingleMusicPlayer();

setup_music = function(oTrigger,sURL,sTitle)
{
	SingleMP.setup(oTrigger,sURL,sTitle)
	SingleMP.play()
}

var TEMPLATE_FLASH_PLAYER_CODE = "<object id=\"{object_id}\" width=\"{width}\" height=\"{height}\" classid=\"clsid:D27CDB6E-AE6D-11CF-96B8-444553540000\">"
+"<param value=\"{video}\" name=\"movie\"/>"
+"<param value=\"high\" name=\"quality\"/>"
+"<param value=\"always\" name=\"allowScriptAccess\"/>"
+"<param value=\"transparent\" name=\"wmode\"/>"
+"<embed width=\"{width}\" height=\"{height}\" wmode=\"transparent\" allowscriptaccess=\"always\" quality=\"high\" src=\"{video}\" type=\"application/x-shockwave-flash\"/>"
+"</object>";
setup_video = function(oThis,site,sURL)
{
	var sPlayerId = new Date().getTime();
	
	var player_code = TEMPLATE_FLASH_PLAYER_CODE;
	player_code = RPA(player_code,"{object_id}",sPlayerId);
	player_code = RPA(player_code,"{width}",425);
	player_code = RPA(player_code,"{height}",355);
	player_code = RPA(player_code,"{video}",sURL);

	if(!(oThis.parentNode))
	{
		return;
	}
	oThis.parentNode.innerHTML = player_code;
}



function ShareController()
{
}

ShareController.prototype = {
	_popup : true,
	_div_id: "div_pop_share",
	_uin: "",
	_uin_nick: "",
	_share_type:"",
	_need_parse:false,
	_paramObject:null,
	_submitCallback:null,
	init : function (options) {
		/*if(options)
		{
			if(options.ifmask)
				this._ifmask=options.ifmask;
			if(options.html)
				this._html=options.html;
			if(options.div_id)
				this._div_id=options.div_id;
			if(options.target_uin)
				this._target_uin=options.target_uin;
			if(options.target_uin_nick)
				this._target_uin_nick=options.target_uin_nick;
		}

		if($(this._div_id))
			document.body.removeChild($(this._div_id));

		var pop_div = document.createElement("div");
		pop_div.id = this._div_id;
		pop_div.style.display = "none";
		pop_div.style.width = "358px";
		Insertion.bottom(document.body, pop_div);*/
	},
	shareURL : function(sURL,submitCallback)
	{
		if(!sURL||""==sURL)
		{
			alert("请输入要分享的链接");
			return;
		}
		this._submitCallback = submitCallback;

		this.pop();
		this._request = share_check_url(sURL, Delegate.create(this, this._actionURL));

	},
	_actionURL : function(rr)
	{
		if(!rr||rr.result!="0"||!rr.type||!TEMPLATE_SHARE[rr.type])
		{
			var rpt = new HtmlRepeater(this._div_id);
			rpt.insertValue("type_name",TEMPLATE_SHARE["link_unknown"].name);
			rpt.run();
			this._paramObject = rr;//TEMPLATE_SHARE["link_unknown"].getParamString(rr);
			$("pop_share_comment_extra").innerHTML = TEMPLATE_SHARE["link_unknown"].getPopHTML(rr);
		}
		else
		{
			this._share_type = rr.type;
			rr.uin_url = User.getURL(this._uin);
			rr.uin_nick = this._uin_nick;
			var rpt = new HtmlRepeater(this._div_id);
			rpt.insertValue("type_name",TEMPLATE_SHARE[rr.type].name);
			rpt.run();
			this._paramObject = rr;
			$("pop_share_comment_extra").innerHTML = TEMPLATE_SHARE[rr.type].getPopHTML(rr);
			$("pop_share_submit").style.display="inline";
			$("pop_share_comment").style.display="block";
		}

	
	},
	shareBlog : function(oBlog,submitCallback)
	{
		this._submitCallback = submitCallback;
		this._innerShare("xl_blog",oBlog);
	},
	shareAlbumPic : function(oAlbumPic,submitCallback)
	{
		this._submitCallback = submitCallback;
		this._innerShare("xl_album_pic",oAlbumPic);
	},
	shareAlbum : function(oAlbum,submitCallback)
	{
		this._submitCallback = submitCallback;
		this._innerShare("xl_album",oAlbum);
	},
	shareResrc : function(oResrc,submitCallback)
	{
		this._submitCallback = submitCallback;
		this._innerShare("xl_resrc",oResrc);
	},
	shareResrcCollection : function(oResrcCollection,submitCallback)
	{
		this._submitCallback = submitCallback;
		this._innerShare("xl_resrc_collection",oResrcCollection);
	},
	_innerShare : function(sType,oObject)
	{
		if(!oObject)return;
		this.pop();
		this._share_type = sType;
		var rpt = new HtmlRepeater(this._div_id);
		rpt.insertValue("type_name",TEMPLATE_SHARE[sType].name);
		rpt.run()
		this._paramObject = oObject;
		$("pop_share_comment_extra").innerHTML = TEMPLATE_SHARE[sType].getPopHTML(oObject);
		$("pop_share_submit").style.display="inline";
		$("pop_share_comment").style.display="block";
	},
	reshare:function(oShObject,submitCallback)
	{
		this._submitCallback = submitCallback;

		if(!oShObject){alert("没有可以分享的内容");return;}

		//
		this.pop();
		//获取share_type
		this._share_type = "reshare";
		//获取content
		this._paramObject = oShObject;
		//
		var rpt = new HtmlRepeater(this._div_id);
		rpt.insertValue("type_name",TEMPLATE_SHARE[oShObject.sharetype].name);
		rpt.run();

		$("pop_share_comment_extra").innerHTML = TEMPLATE_SHARE["reshare"].getPopHTML(oShObject);
		$("pop_share_submit").style.display="inline";
		$("pop_share_comment").style.display="block";
		
	},
	pop : function(){
		if(!this._pop) this._pop=new Popup(TEMPLATE_POP_FRAME, 300, 150);
		this._pop.show(true);

		this._paramObject = "";
		//$(this._div_id).innerHTML = TEMPLATE_POP_FRAME;
		//Popmanager.getInstance(this._div_id).show(this._ifmask);
	},
	hide : function () {
		//Popmanager.getInstance(this._div_id).hide();
		this._pop.hide();
	},
	submitShare : function() {
		var url =  "http://portal.widget.xunlei.com/cgi-bin/cgi_share_add";
		var params = "";

		var input_title = $("pop_share_title");
		var textarea_mycomment = $("pop_share_mycomment");

		if(input_title)
		{
			this._paramObject.title = input_title.value;
		}

		if(this._share_type=="reshare")
		{
			//params += "sharetype="+this._paramObject.sharetype+TEMPLATE_SHARE[this._paramObject.sharetype].getParamString(this._paramObject)+SH_PARAM("iTime",new Date().getTime());
			params += "sharetype="+this._share_type+TEMPLATE_SHARE[this._share_type].getParamString(this._paramObject)+SH_PARAM("iTime",new Date().getTime());
		}
		else
		{
			params += "sharetype="+this._share_type+TEMPLATE_SHARE[this._share_type].getParamString(this._paramObject)+SH_PARAM("iTime",new Date().getTime());
		}
		
		if(textarea_mycomment)
		{
			var imax = 100;
			if(textarea_mycomment.value.length>imax)
			{
				alert("您输入的评论字数大于"+imax+"，请适当删减。");
				return;
			}
			params += SH_PARAM("comment",textarea_mycomment.value.replace(/(\r?\n)|\r/ig, "").trim()); 
		}
/*
alert("Here is the content:[ "+params+" ]\r\n\r\n");
return;	
*/

		new Ajax.Request(url, {
			method:"POST",
			response: "Object",
			parameters: params,
			onSuccess: Delegate.create(this, function(evt){
				try
				{
					var rr = evt.response;
					if(rr.result=="0")
					{
						alert("分享成功");
						if(this._submitCallback)
							this._submitCallback();
					}
					else
						alert("分享失败."+rr.errmsg);
					this.hide();
	
				}catch(ex)
				{
					alert(ex);
				}
			}),
			on404: function(evt){
				//TODO:Nothing;
			}
		});

	},
	remove:function(sShare_id,fCallback)
	{
		try
		{
			if(!sShare_id)
				throw "未指定share_id";
			var url =  "http://portal.widget.xunlei.com/cgi-bin/cgi_share_del";
			var params = "shareid="+sShare_id;
			new Ajax.Request(url, {
				method:"POST",
				response: "Object",
				parameters: params,
				onSuccess: Delegate.create(this, function(evt){
					try
					{
						var rr = evt.response;
						if(rr.result=="0")
						{
							alert("成功删除分享");
							if(fCallback)
								fCallback(sShare_id);
						}
						else
							alert("删除分享失败."+rr.errmsg);
		
					}catch(ex)
					{
						alert(ex);
					}
				}),
				on404: function(evt){
					//TODO:Nothing;
				}
			});
		}catch(eeexxx)
		{
			alert(eeexxx);
		}
			
	},
	cancel : function()
	{
		if(this._request)
			try
			{
				this._request.cancel();
			}catch(ex)
			{}
		this.hide();
	}
	
}

var SharePop = new ShareController();



/*
		added by 叶志辉，发布链接需要处理的逻辑
*/
var SHARE_PUBLISH = {
	_response : {type: "", url: "", title: "", brief: "", res_url: ""},
	_type_int2str : ["", "link_html", "link_pic", "link_music", "link_video", "link_res"],  //分享类型，整数到字符串的转换

	_preview_html : {
				link_html:"<a href='<!--%url%-->' target='_blank'><!--%title%--></a>",
				link_pic: "<img src='<!--%url%-->' class='upic75' style='vertical-align:bottom;' />",
				link_video: "<img src='http://img.widget.xunlei.com/img_2/img_video.jpg' /><br /><span><!--%title%--></span>",
				link_music: "<a href='<!--%url%-->' target='_blank'><!--%url%--></a><br /><img src='http://img.widget.xunlei.com/img_2/music_play.gif' />",
				xl_resrc: "无法识别的链接",
				link_unknown: "无法识别的链接"
			},
	
	_img_html : {
				link_html:"",
				link_pic: '<a href="<!--%url%-->" target="_blank" class="p_r f_l m_r10"><img src="<!--%url%-->" class="upic75" /></a>',
				link_video: '<a href="#" class="p_r f_l m_r10"><img src="http://img.widget.xunlei.com/img/d_box_dt.jpg" class="upic75" /><img src="http://img.widget.xunlei.com/img_2/btn_play.gif" class="p_a" style="left:7px; top:57px;" /></a>',
				link_music: '<div class="p_r f_l m_r10" style="width:81px; height:80px;"><img src="http://img.widget.xunlei.com/img_2/player.gif" /></div>',
				xl_resrc: "",
				link_unknown: ""
	},

	_param : {
				link_html:["url", "title"],
				link_pic: ["url"],
				link_video: ["url", "site", "title", "thumbnail", "video"],
				link_music: ["url"],
				xl_resrc: ["url", "title", "size", "cid", "format"],
				link_unknown: []
			 },

	_desc : {
				link_html:"一个页面",
				link_pic: "一个图片",
				link_video: "一个视频",
				link_music: "一个音乐",
				xl_resrc: "未知链接",
				link_unknown: "未知链接"
	},

	/*
		检测一个分享，并且保存结果
	*/
	checkUrl : function (url, succallback) {
		share_check_url(url, Delegate.create(this, function(rr) {
													if(rr.result=="0")
														this.initResponse(rr);
													succallback(rr);
											}
									) 
		);
	},
	initResponse : function(rr) {
		if( isNumber(rr.type) )
			this._response.type=this._type_int2str[rr.type];
		else
			this._response.type=rr.type;

		this._response.url=rr.url;
		if(rr.title) this._response.title=rr.title; else this._response.title="";
		if(rr.video) this._response.res_url=rr.video; else this._response.res_url="";

		if(this._response.type=="link_video")
			this._response.brief=rr.site;
		else
			this._response.brief=rr.url;
			
	},
	getPreviewHtml : function() {
		var ret_html=this._preview_html[this._response.type];
		ret_html=ret_html.replace();
		for(key in this._response)
		{
			var reg=new RegExp("<!--%"+key+"%-->", "g");
			ret_html=ret_html.replace(reg, this._response[key]);
		}
		return ret_html;
	},
	getDesc : function () {
		return this._desc[this._response.type];
	},


	/*
		以下都是静态方法
	*/
	getImageHtml : function(obj) {
		var strType;
		if( isNumber(obj.type) )
		{
			if(obj.type<0 || obj.type>=this._type_int2str.length) return "";
			strType=this._type_int2str[obj.type];
		}
		else
			strType=obj.type;

		var ret_html=this._img_html[strType];
		for(key in obj)
		{
			var reg=new RegExp("<!--%"+key+"%-->", "g");
			ret_html=ret_html.replace(reg, obj[key]);
		}
		return ret_html;
	},

	/*发布一个分享*/
	createShare : function(obj, success_callback, error_callback) {
		var params=("share_type="+obj.type);
		params+="&link="+encodeURIComponent(obj.url);
		params+="&brief="+encodeURIComponent(obj.brief);
		params+="&resource_url="+encodeURIComponent(obj.res_url);
		params+="&title="+encodeURIComponent(obj.title);
		params+="&comment="+encodeURIComponent(obj.comment);
		params+="&tag="+encodeURIComponent(obj.tag);
		//params+="&share_sort="+obj.sort;
		params+="&verify_code="+obj.verify_code;

		new Ajax.Request("http://share.widget.xunlei.com/cgi-bin/cgi_share_create", {
			response: "Object",
			method: "POST",
			parameters : params,
			onSuccess: Delegate.create(this, function(evt){
				success_callback(evt.response);
			}),
			onException: function(evt){
				error_callback(evt);
			}
		});
	},

	userJoin : function(share_id, join_type, callback) {
		var params="sid="+share_id;
		params+="&type="+join_type;
		new Ajax.Request("http://share.widget.xunlei.com/cgi-bin/cgi_user_join", {
			response: "Object",
			method: "POST",
			parameters : params,
			onSuccess: Delegate.create(this, function(evt){
				callback(evt.response, share_id, join_type);
			}),
			onException: function(evt){
				alert("exception");
			}
		});
	}
}