/*  
 * 	@name 小喇叭broadcast2009
 *	@tudo 小喇叭操作相关
 *	@author Melon @ 09-01-09 
 **/
 
if(typeof(uvHost) == "undefined") {
	var uvHost = "h" + (parseInt(Math.random() * 100) % 88) + 11;
}
 
var broadcast2009 = {};
broadcast2009.selectedType = ''; //当前选择的小喇叭类型
broadcast2009.expressTo = ''; //表达对象
broadcast2009.expressFrom = ''; //表达者
broadcast2009.inputContent = ''; //输入的内容
broadcast2009.filteredWord = ''; //当前被过滤的词
broadcast2009.listData = '';//服务器返回json窜
//broadcast2009.baseurl = 'http://v.56.com/special/broadcast/';
broadcast2009.baseurl = 'http://app.56.com/broadcast/';
broadcast2009.index = 0;//初始索引
broadcast2009.interval = 2000;//显示间隔
broadcast2009.intervalHandler = '';//句柄
//过滤数组
broadcast2009.filterWord = [];//或者从其它地方获取
	
//小喇叭类型[键(Radio值)，名称，是否显示表达对象，是否套红]
broadcast2009.type = [
								//["10","新年祝福",true,true,"新年祝福","祝福",""],
								["11","为主播加油",true,true,"为主播加油","对","助威"], 
								["20","示爱",true,false,"示爱","对","表白"],
								["30","道歉",true,false,"道歉","对","道歉"],
								["40","祝福",true,false,"祝福","祝福",""],
								["50","心情短语",false,false,"心情短语","","说"],
								["60","交友",false,false,"交友","","说"]
								//["70","其它",false,false,"公告","","说"]
							   ];
							 
//显示发布对话框
broadcast2009.showIssueAreaAction = function(){
		//判断登录
		if(usr.user_id()){
			//弹出层相关操作 
			var div = '<div class="b">\
							<span class="arrow"></span>\
							<span class="close" onclick="broadcast2009.closeAreaAction()"></span>\
							<div class="content">\
								<form>\
									<p>\
										<label id="selectedType" class="t">选择类别：</label>\
										{selectedType}\
									</p>\
									<p id="broadcast_from">\
										<label for="" class="t">From：</label>\
										<input type="text" maxlength="20" class="inp_txt" value="'+usr.nickname()+'"  id="nicknameId" /><span class="hui">填写自己名字或昵称</span>\
									</p>\
									<p id="expressTo">\
										<label for="" class="t">To：</label>\
										<input type="text" maxlength="20" class="inp_txt" name="expressTo" id="expressToId" /><span class="hui">填写对方名字或昵称</span>\
									</p>\
									<p><label for="" class="t">输入内容：</label><textarea class="inp_txtarea" name="inputContent" id="inputContent"></textarea></p>\
									<p><label class="t">资费：</label><span class="red">推广期免费</span></p>\
									<p class="btn">\
										<input type="button" class="btn_confirm" onclick="broadcast2009.submitAction()" id="broadcastSubmit" value="确定"/>\
										<input type="reset" class="btn_reset" onclick="document.getElementById(\'inputContent\').innerHTML = \'\';" value="重写"/>\
									</p>\
									<p class="notice">[禁止发布各类虚假信息、广告以及涉及色情、政治等违规违法信息]</p>\
								</form>\
							</div>\
						</div>';
			/* <p>\
										<label class="t">资费：</label><span class="red">1个56币</span>\
										<a target="_blank" class="bold" href="http://pay.56.com/ways/qishun_sms.php">充值</a>\
									</p>\*/
			var _selectedTypeHtml = '';
			for(var i=0;i<this.type.length;i++){
					if(this.type[i][3]){
						_selectedTypeHtml +='<label for="s'+i+'" onclick="broadcast2009.isShowExpressTo(this.childNodes.item(0))" class="s red">';
					}else{
						_selectedTypeHtml +='<label for="s'+i+'" onclick="broadcast2009.isShowExpressTo(this.childNodes.item(0))" class="s">';
					}
					if(i==0){
						_selectedTypeHtml +='<input checked="checked" ';		
					}else{
						_selectedTypeHtml +='<input ';			
					}
					_selectedTypeHtml +=' type="radio" value="'+this.type[i][0]+'" name="selectedType" id="s'+i+'"/>'+this.type[i][1]+'</label>';
				}
			 
			div = div.replace("{selectedType}",_selectedTypeHtml);
			_selectedTypeHtml = null;
			//加载统计
			div += '<iframe name="huodong_2009" src="http://stat3.corp.56.com/player.htm?s=xgb" marginWidth="0" marginHeight="0" frameBorder="0" width="0" scrolling="0" height="0"></iframe>';
			 
			//弹出层相关操作，如播放暂停等等
			this.displayBroadcastContentAction(div); 
			//document.getElementsByName("selectedType")[0].checked = "checked";
			 
		}else{
			//登录
			var ourl = typeof(broadcastUrl)=="string" ? broadcastUrl : document.location.href; 
			var html =  '<div class="b">\
								<span class="arrow"></span>\
								<span class="close" onclick="broadcast2009.closeAreaAction()"></span>\
								<div class="content">\
									<form class="user_login" action="http://space.56.com/php/urs.php" method="post" name="userLogin">\
										 <p>\
											<label>帐&nbsp;&nbsp;号：</label>\
											<span class="user_id"><input type="text" class="user_id" name="username" id="username" /></span>\
										 </p>\
										 <p>\
											  <label>密&nbsp;&nbsp;码：</label>\
											 <span class="pwd"><input type="password" class="pwd" name="password" id="password"/></span>\
										 </p>\
										 <div>\
											 <input type="hidden" value="'+ourl+'" name="ourl"/>\
											 <input type="submit" value="登&nbsp;&nbsp;录" class="btn_lgn" />\
											 <input type="button" value="注&nbsp;&nbsp;册" class="btn_reg" onclick="javascript:window.open(\'http://reg.56.com/newreg/register/index.html\');"/>\
										 </div>\
									</form>\
								</div>\
						</div>';
			this.displayBroadcastContentAction(html); 		
		}
	};

broadcast2009.closeAreaAction = function(){
		//broadcast2009.showLoading();
		//this.index = 0;
		//broadcast2009.stopInterval();
		//document.getElementById("broadcastContent").innerHTML = "";
		this.hideBroadcastContentAction();
		//broadcast2009.removeMask();
		//broadcast2009.resumeInterval();
	}

broadcast2009.isShowExpressTo = function(obj){
	 	for(var i=0;i<broadcast2009.type.length;i++){
			if(obj.value==broadcast2009.type[i][0]){
				if(broadcast2009.type[i][2]){
					document.getElementById("expressTo").style.display = "block";
				}else{
					document.getElementById("expressTo").style.display = "none";
					//document.getElementsByName("expressTo")[0].value = '';
					document.getElementById("expressToId").value = "";
				}
				break;
			}	
		}
		
	};

//提交小喇叭
broadcast2009.submitAction = function(){
		//置类属性
		document.getElementById('broadcastSubmit').disabled = "disabled";
		for(var i=0;i<document.getElementsByName("selectedType").length;i++){
			if(document.getElementsByName("selectedType")[i].checked==true){
				this.selectedType = document.getElementsByName("selectedType")[i].value;
				break;
			}
		}
		this.expressFrom = document.getElementById("nicknameId").value||"";
		this.expressTo = document.getElementById("expressToId").value||"";
		this.inputContent = document.getElementsByName("inputContent")[0].value;
		//this.expressTo = this.expressTo.replace(/(\')/,"‘"); 
		this.inputContent = this.inputContent.replace(/www\.(.*?)\.(com|cn|net)?/ig,"www.*****.$2");
		//alert(this.inputContent);
		//检查提交内容
		var check = this.checkAction();
		if(check === true){
			this.issueSuccessAction();
		}else if(check === 1){
			alert("请选择小喇叭类型");
		}else if(check === 2){
			alert("小喇叭内容限定在4-200个字符");
		}else if(check === 3){
			alert("您发布的内容含有非法字符("+this.filteredWord+")");
		}
		//防止重复提交
		this.submitInterval();
	};

broadcast2009.submitInterval = function(){
		var flag = 2;
		var submitInterval = setInterval(function(){
			try{	
				document.getElementById('broadcastSubmit').disabled = "disabled";
				document.getElementById('broadcastSubmit').value = document.getElementById('broadcastSubmit').value.replace(/(\(\d{0,1}\))/,"") + "("+flag+")";
				--flag;
				if(flag==-1){
					clearInterval(submitInterval);
					document.getElementById('broadcastSubmit').disabled = "";
					document.getElementById('broadcastSubmit').value = document.getElementById('broadcastSubmit').value.replace(/(\(\d{0,1}\))/,"");
				}
			}catch(e){clearInterval(submitInterval);}	
		},1000);
	};

//验证提交
broadcast2009.checkAction = function(){
		//验证是否填写信息
		if(this.selectedType.length == 0) return 1;
		if(this.inputContent.length < 4 || this.inputContent.length > 200) return 2;
		//验证过滤
		var i;
		var content = this.inputContent;
		content = content.toLowerCase().replace(/(\s+)/,'');
		for(i in this.filterWord){
			if(content.indexOf(this.filterWord[i]) > -1) {this.filteredWord = this.filterWord[i]; return 3;}
			}
		//验证56币余额
		return true;
	};

//提交成功
broadcast2009.issueSuccessAction = function(){
		document.getElementById('broadcastSubmit').disabled = "disabled";
		//写入数据库,服务器端调用扣除56币接口
		jLoader(encodeURI(this.baseurl+"index.php?do=add&nickname="+(this.expressFrom)+"&html="+(this.expressTo)+"&type="+(this.selectedType)+"&content="+(this.inputContent)+"&charset=utf-8&reffer=flvPage&t="+Math.random()+"&callbackSuccess=broadcast2009.showSuccessAreaAction()&callbackFail=broadcast2009.showNotEnoughCoinAction()"),"","","gb2312");
		 
		//防止重复提交
		this.submitInterval();
	};

//成功显示
broadcast2009.showSuccessAreaAction = function(){
		//document.getElementById("broadcast").innerHTML = '成功！！！！！！';
		var url = window.location.href.substring(0,window.location.href.indexOf(".html") + 5) + "?bc=" + usr.user_id();
		var div = '\
		<div class="b">\
			<span class="arrow"></span>\
			<span class="close" onclick="broadcast2009.closeAreaAction()"></span>\
			<div class="title"><p><input type="hidden"/>小喇叭</p></div>\
			<div class="content">\
			<form action="" method="post">\
				<p class="fb_msg">发布成功！</p>\
				<p>复制以下网址分享给朋友，你的小喇叭就会排在最前面哦！</p>\
				<p><input id="broadcastUrl" type="text" class="inp_txt2" name="" value="'+url+'" onclick="this.select();_.copy(this.value);" /><input onclick="_.e(\'broadcastUrl\').click();" type="button" value="复制"/></p>\
			</form>\
			</div>\
		</div>\
		';
		
		this.stopInterval();
		this.index = 0;
		//document.getElementById("broadcastContent").innerHTML = div;
		this.displayBroadcastContentAction(div);
		//this.showLoading();
		setTimeout(function(){broadcast2009.getListDataAction(true);},1000);
		//this.showMask();
	};
	
//显示余额不足页面
broadcast2009.showNotEnoughCoinAction = function(){
		//外连充值
		var div = '\
		<div class="b">\
			<span class="arrow"></span>\
			<span class="close" onclick="broadcast2009.closeAreaAction()"></span>\
			<div class="title"><p><input type="hidden"/>小喇叭</p></div>\
			<div class="content">\
			<form action="" method="post">\
				<p class="fb_msg">余额不足！</p>\
				<p class="voucher"><a target="_blank" href="http://pay.56.com/ways/qishun_sms.php">请先点此进行充值,再回此页面重新提交</a></p>\
				<p class="tcenter"><input disabled="disabled" onclick="broadcast2009.issueSuccessAction()" id="broadcastSubmit" type="button" value="我已经充值，重发小喇叭"/></p>\
			</form>\
			</div>\
		</div>';
		this.displayBroadcastContentAction(div);
		//document.getElementById("broadcastContent").innerHTML = div;
	};

//显示一条记录
broadcast2009.showOne = function(){
		//alert(typeof(this.listData[this.index]));
		if(typeof(this.listData[this.index]) != "undefined"){
			try{
				var div = '\
				<h2 class="red" onclick="window.top.open(\'http://huodong.56.com/xgb/\')">小喇叭</h2>\
				<div class="bc_area">\
					<ul class="opt">\
						<li><a href="javascript:broadcast2009.showPrevOne()">&lt;</a></li>\
						<li><a href="javascript:broadcast2009.showNextOne()">&gt;</a></li>\
						<li><a href="#nearlyVideo" onclick="broadcast2009.showIssueAreaAction()">我要发布</a></li>\
					</ul>\
					<p onmouseover="broadcast2009.stopInterval()" onmouseout="broadcast2009.resumeInterval()">\
						{broadcastList}\
					</p>\
				</div>';
				
				var _broadcastListHtml = '';
				var _content = this.listData[this.index].content.substr(0,100);//暂不限制
				
				var hasid = false;//判断有没有对应的键
				for(var i=0;i<broadcast2009.type.length;i++){
					if(this.listData[this.index].type == broadcast2009.type[i][0]){
						hasid = true;
						break;
					}	
				}
				if(hasid == false) i = 0; //取默认类型
				
				_broadcastListHtml +='&nbsp;['+broadcast2009.type[i][4]+']<a target="_blank" href="http://www.56.com/'+uvHost+'/home/?u='+this.listData[this.index].userid+'">\
					'+this.listData[this.index].nickname+'</a>'+broadcast2009.type[i][5]+'<a>'+this.listData[this.index].html+'</a>\
					'+broadcast2009.type[i][6]+'：<a href="javascript:broadcast2009.showDetailInfoAction('+this.index+','+i+');">'+_content+'</a>';
				
				div = div.replace("{broadcastList}",_broadcastListHtml).replace(/(<a>\s+<\/a>)/,"");
				document.getElementById("broadcastList").innerHTML = div;
				//document.getElementById("broadcastList").innerHTML = this.listData[this.index].dateline;
				++this.index;
			}catch(e){}
		}else{
			this.index = 0;
			this.showOne();
		}
	};


broadcast2009.showDetailInfoAction = function(index,i){
		//立刻停止轮换
		//显示详细内容
		var div = '\
		<div class="b">\
			<span class="arrow"></span>\
			<span class="close" onclick="broadcast2009.closeAreaAction()"></span>\
			<div class="title"><p><input type="hidden"/>小喇叭</p></div>\
			<div class="content">\
				<p>['+broadcast2009.type[i][4]+']<a target="_blank" href="http://www.56.com/'+uvHost+'/home/?u='+this.listData[index].userid+'">'+this.listData[index].nickname+'</a>'+broadcast2009.type[i][5]+'<a>'+this.listData[index].html+'</a>'+broadcast2009.type[i][6]+'：</p>\
				<p class="radio_detail">'+this.listData[index].content+'<span>['+this.listData[index].dateline+']</span></p>\
				<p class="share">分享度('+this.listData[index].views+')</p>\
			</div>\
		</div>';
		div = div.replace(/(<a>\s+<\/a>)/,"").replace(/\n/,"");
		//document.getElementById("broadcastContent").innerHTML = div;
		this.displayBroadcastContentAction(div);
		
		//更新浏览次数
		jLoader(this.baseurl+"index.php?do=updateViews&id="+this.listData[index].aid+"&t="+Math.random());
	};


broadcast2009.showNextOne = function(){
		this.stopInterval();
		//++this.index;
		this.showOne();
		this.resumeInterval();
	};

broadcast2009.showPrevOne = function(){
		this.stopInterval();
		--this.index;
		--this.index;
		if(this.index < 0) this.index = this.listData.length - 1; 
		this.showOne();
		this.resumeInterval();
	};

broadcast2009.stopInterval = function(){
		clearInterval(this.intervalHandler)	;	
		//--this.index;
	};
	
broadcast2009.resumeInterval = function(){
		this.intervalHandler = setInterval("broadcast2009.showOne()",this.interval);
	};

//逐一显示内容
broadcast2009.showListDataAction = function(data){
		this.listData = data;
		this.stopInterval();
		this.showOne();
		this.resumeInterval();
	};


//显示小喇叭列表
broadcast2009.getListDataAction = function(){
		//loading
		//this.showLoading();
		
		//带上参数如bc=hahamelon
		 if(window.location.href.indexOf("bc=") > -1){
			 	var loadUrl = "";
			 	var url = window.location.href.replace(/(#.*?)$/,"");
			 	var para = url.substr(url.indexOf("?")+1);
			 	var paraArray = para.split("&");
			 	var paraObj = {};
			 	for(var i=0;i<paraArray.length;i++){
			 			var _temp = paraArray[i].split("=");
			 			paraObj[_temp[0].toLowerCase()] = _temp[1];
			 	}
			 	_temp = null;
			 	var userid = paraObj.bc;
			 	//alert(userid);
				 //jloader获取数据(json)
				loadUrl =  this.baseurl+"index.php?do=getList&out=xml&charset=gbk&bc="+userid+"&callback=broadcast2009.showListDataAction&t="+Math.random();
				//jLoader(loadUrl);
		}else if(arguments[0]){
				loadUrl = this.baseurl+"index.php?do=getList&out=xml&charset=gbk&callback=broadcast2009.showListDataAction&t="+Math.random();
				//jLoader(loadUrl);
		}/*else if(usr.user_id()=="hahamelon"){
				jLoader(this.baseurl+"index.php?do=getList&callback=broadcast2009.showListDataAction&i=c&t="+Math.random());
		}*/else{
				loadUrl = this.baseurl+"index.php?do=getList&out=xml&charset=gbk&callback=broadcast2009.showListDataAction";
				//jLoader(loadUrl);	
		}
		 
		if(navigator.userAgent.indexOf("MSIE") > -1){
			try{
				if(document.getElementById("playerIE")){ 
				  document.getElementById("playerIE").initMessage(loadUrl);	
				}
			}catch(e){}
		}else{
			try{
				if(document.getElementById("playerFF")){
				  document.getElementById("playerFF").initMessage(loadUrl);
				}
			}catch(e){}
		}
	};

broadcast2009.showMask = function(){
		 this.removeMask(); //防止生成多层蒙版
		 try{
				var maskDiv = window.top.document.createElement("div");
				maskDiv.id = "maskDiv";
				maskDiv.style.backgroundColor = "#000";
				maskDiv.style.width = "100%";
				maskDiv.style.position = "absolute";
				maskDiv.style.left = 0;
				maskDiv.style.top = 0;
				maskDiv.style.zIndex = 1001;
				if(navigator.userAgent.indexOf("MSIE") > -1){
					maskDiv.style.height = window.top.document.body.scrollHeight+"px";
					maskDiv.style.filter = "alpha(opacity=60)";
					window.top.document.body.appendChild(maskDiv);
				}else{
					maskDiv.style.height = window.top.document.documentElement.scrollHeight+"px";
					maskDiv.style.opacity = 60/100;
					window.top.document.documentElement.appendChild(maskDiv);
				}
			}catch(e){}
	};
	
broadcast2009.removeMask = function(){
		try{
			if(navigator.userAgent.indexOf("MSIE") > -1){
				window.top.document.body.removeChild(document.getElementById("maskDiv"));
			}else{
				window.top.document.documentElement.removeChild(document.getElementById("maskDiv"));
			}
		}catch(e){}
	};	

broadcast2009.showLoading = function(){
		document.getElementById("broadcastList").innerHTML = '<div style="padding:4px 0 2px 0; text-align:center;"><img src="http://images.56.com/see/images/loading3.gif"/></div>';
	};

broadcast2009.displayBroadcastContentAction = function(div){
		//this.showMask();
		document.getElementById("small_radio").style.display = "block";
		document.getElementById("broadcastContent").innerHTML = div;
		document.getElementById("broadcastContent").style.display = "block";
	};	
	
broadcast2009.hideBroadcastContentAction = function(){
		document.getElementById("broadcastContent").style.display = "none";
		document.getElementById("broadcastContent").innerHTML = "";
		document.getElementById("small_radio").style.display = "none";
		//this.removeMask();
	};	
	
	//var bcObject = new broadcast2009() ;
	
	//运行
	setTimeout(function(){broadcast2009.getListDataAction();},1000);
	document.getElementById("broadcastList").style.display = "none";
	function showIssueAreaAction(){
		 
		broadcast2009.showIssueAreaAction();
		 
	}
	
	//broadcast2009.showIssueAreaAction();
	
	//refreshMessage(_xmlurl);
	