// ------ video image scroll Standard ------

function videoScroll(obj,cssClass,num)
{
   var parentObj = obj.parentNode;
   var allArray = parentObj.getElementsByTagName("div");
   var _allLength = allArray.length;
   var objArray = new Array();
   for(var n = 1 ; n < (_allLength - 1) ; n++)
   {
	   objArray[n-1] = allArray[n];
   }
   var _scrollLength = objArray.length ;
   if(_scrollLength > num)
   {
       var _nowPage = eval(parentObj.getElementsByTagName("input")[0].value);
	   for(var i = 0 ; i < _scrollLength ; i++)
	   {
		  objArray[i].style.display = "none";
	   }
	   if(_nowPage == 2)
	   {
		   for(var a = 0 ; a < num ; a++)
		   {
			   objArray[a].style.display = cssClass;
		   }
		   parentObj.getElementsByTagName("input")[0].value = '1';
	   }
	   else
	   {
		   for(var b = num ; b < _scrollLength ; b++)
		   {
			   objArray[b].style.display = cssClass;
			   if(parentObj.getElementsByTagName("input")[1].value == 0) {
				  objArray[b].getElementsByTagName("img")[0].src =  objArray[b].getElementsByTagName("p")[0].getElementsByTagName("a")[0].rel ;
			   }
		   }
		   if(parentObj.getElementsByTagName("input")[1].value == 0) parentObj.getElementsByTagName("input")[1].value = 1 ;
		   parentObj.getElementsByTagName("input")[0].value = '2';
	   }
   }
   else
   {
      return;
   }
}

// ------- yinying upload waiting -------

function yinying(){
		var w =
		  (window.innerWidth && window.scrollMaxX) ? window.innerWidth + window.scrollMaxX
		: (document.body.scrollWidth > document.body.offsetWidth) ? document.body.scrollWidth
		: document.body.offsetWidth;
		var h =
		  (window.innerHeight && window.scrollMaxY) ? window.innerHeight + window.scrollMaxY
		: (document.body.scrollHeight > document.body.offsetHeight) ? document.body.scrollHeight
		: document.body.offsetHeight;
		var overlay = document.createElement("div");
		with(overlay.style){
			overlay.id = "overlay";
			width = w + 'px';
			height = h + 'px';
			left = '0px';
			top = '0px';
		}
		var progress = document.createElement("div");
		progress.id = "uploading";
		with(progress.style){
			top = 200 + document.documentElement.scrollTop +"px";
			left = document.body.offsetWidth/2 - 250 + "px";
		}
		var dl1 = document.createElement("dl");
		var dt2 = document.createElement("dt");
		dt2.innerHTML = '正在上传文件 <em>（上传成功后，您将看到“等待处理的节目”信息）</em>' ;
		var dd3 = document.createElement("dd");
		dd3.innerHTML = '<img  src="http://r.6.cn/imges/upload.gif" alt="" />';
		var ul5 = document.createElement("ul");
		ul5.innerHTML = '<li><button type="button" class="loogerbtn"  onclick="cancelLoad()">取消</button></li>'		
		dl1.appendChild(dt2);
		dl1.appendChild(dd3);
		progress.appendChild(dl1);
		progress.appendChild(ul5);
		overlay.appendChild(progress)
		displaySelect(0) ;
		document.body.appendChild(overlay);
}

function cancelLoad() {
	$("overlay").style.display = "none";
	window.location.reload();
}

// ------ now loading ------

function nowLoading(ele , type , extra) {
	if(extra == 'empty')
		ele.innerHTML = '' ;
	if(type)
		new Element('div' , {'class':'nowLoading'}).injectInside(ele)
	else
		ele.getElementsByClassName('nowLoading')[0].remove() ;
}

// ------- fen page lei -------

function fenPage(page,pageTotal,middle,extra) {

	this.page = page;
	this.pageTotal = pageTotal;
	this.middle = middle;
	this.extra = extra;
	
	
	// middleurl
	
	this.middleUrl = function (){
		var blockNum = Math.ceil(this.page/this.middle);
		var blockCount = Math.ceil(this.pageTotal/this.middle);
		var blockStart = (blockNum - 1)*this.middle + 1;
		var blockEnd = blockNum*this.middle;
		var insert_ml = "";
	
		if(blockCount == 1){
			for(var i=1 ; i <= this.pageTotal ; i++){
				insert_ml += (i == this.page) ? '<span>' + i + '</span>' : '<a href="' + this.extra + 'page=' + i + '">' + i + '</a>';
			}
		}
		else if(blockCount == blockNum){
			for(var a = blockStart ; a <= this.pageTotal ; a++){
				insert_ml += (a == this.page) ? '<span>' + a + '</span>' : '<a href="' + this.extra + 'page=' + a + '">' + a + '</a>';
			}
		}
		else {
			for(var b = blockStart ; b <= blockEnd ; b++){
				insert_ml += (b == this.page) ? '<span>' + b + '</span>' : '<a href="' + this.extra + 'page=' + b + '">' + b + '</a>';
			}
		}
		return insert_ml ;
	}
	
	// nexturl
	
	this.nextUrl = function () {
		var blockNum = Math.ceil(this.page/this.middle);
		var blockCount = Math.ceil(this.pageTotal/this.middle);
		var blockNext = blockNum*this.middle + 1;
		var insert_next = (blockNum < blockCount) ? '<a href="' + this.extra + 'page=' + blockNext + '">' + '下' + this.middle + '页' + '</a>' : '';
		return insert_next ;
	}
	
	// preurl
	
	this.preUrl = function () {
		var blockNum = Math.ceil(this.page/this.middle);
		var blockPre = (blockNum - 1)*this.middle ;
		var insert_pre = (this.page > this.middle) ? '<a href="' + this.extra + 'page=' + blockPre + '">' + '上' + this.middle + '页' + '</a>' : '';
		return insert_pre ;
	}
	
	// firsturl
	
	this.firstUrl = function () {
		var insert_first = (this.page != 1) ?  '<a href="' + this.extra + 'page=1">首页</a>' : '';
		return insert_first ;
	}
	
	// endurl
	
	this.endUrl = function () {
		var insert_end = (this.page != this.pageTotal) ? '<a href="' + this.extra + 'page=' + this.pageTotal + '">尾页</a>' : '';
		return insert_end ;
	}
	
	// display
	
	this.display = function () {
		if(this.pageTotal <= 1)
			return false ;
		else
			document.write(this.firstUrl() + this.preUrl() + this.middleUrl() + this.nextUrl() + this.endUrl());
	}

}

// -- two

function fenPage2(page,pageTotal,middle,extra){

this.page = page;
this.pageTotal = pageTotal;
this.middle = middle;
this.extra = extra;


// middleurl

this.middleUrl = function (){
 var blockNum = Math.ceil(this.page/this.middle);
 var blockCount = Math.ceil(this.pageTotal/this.middle);
 var blockStart = (blockNum - 1)*this.middle + 1;
 var blockEnd = blockNum*this.middle;
 var insert_ml = "";

 if(blockCount == 1){
  for(var i=1 ; i <= this.pageTotal ; i++){
   insert_ml += (i == this.page) ? '<span>' + i + '</span>' : '<a href="' + this.extra + i + '.html">' + i + '</a>';
  }
 }
 else if(blockCount == blockNum){
  for(var a = blockStart ; a <= this.pageTotal ; a++){
   insert_ml += (a == this.page) ? '<span>' + a + '</span>' : '<a href="' + this.extra + a + '.html">' + a + '</a>';
  }
 }
 else {
  for(var b = blockStart ; b <= blockEnd ; b++){
   insert_ml += (b == this.page) ? '<span>' + b + '</span>' : '<a href="' + this.extra + b + '.html">' + b + '</a>';
  }
 }
 return insert_ml ;
}

// nexturl

this.nextUrl = function () {
 var blockNum = Math.ceil(this.page/this.middle);
 var blockCount = Math.ceil(this.pageTotal/this.middle);
 var blockNext = blockNum*this.middle + 1;
 var insert_next = (blockNum < blockCount) ? '<a href="' + this.extra + blockNext + '.html">' + '下' + this.middle + '页' + '</a>' : '';
 return insert_next ;
}

// preurl

this.preUrl = function () {
 var blockNum = Math.ceil(this.page/this.middle);
 var blockPre = (blockNum - 1)*this.middle ;
 var insert_pre = (this.page > this.middle) ? '<a href="' + this.extra + blockPre + '.html">' + '上' + this.middle + '页' + '</a>' : '';
 return insert_pre ;
}

// firsturl

this.firstUrl = function () {
 var insert_first = (this.page != 1) ?  '<a href="' + this.extra + '1.html">首页</a>' : '';
 return insert_first ;
}

// endurl

this.endUrl = function () {
 var insert_end = (this.page != this.pageTotal) ? '<a href="' + this.extra + this.pageTotal + '.html">尾页</a>' : '';
 return insert_end ;
}

// display

this.display = function () {
 if(this.pageTotal <= 1)
  return false ;
 else
 document.write(this.firstUrl() + this.preUrl() + this.middleUrl() + this.nextUrl() + this.endUrl());
}

}

// ------- 新分页 -------

var basePage = new Class({
	
	options : {
		middle : 10 ,
		extra : {'p':'?page=' , 'n':''} ,
		showLast : false
	} ,
	
	initialize : function(page , pageTotal , options) {
		this.setOptions(options);
		this.page = page ;
		this.pageTotal = pageTotal ;
		// block 
		this.curBlockPage = Math.ceil(this.page/this.options.middle);
		this.totalBlockPage = Math.ceil(this.pageTotal/this.options.middle);
		this.blockPageStart = (this.curBlockPage - 1)*this.options.middle + 1;
		this.blockPageEnd = this.curBlockPage != this.totalBlockPage ? this.curBlockPage*this.options.middle : this.pageTotal ;
	} ,
	
	setUrl : function(num) {
		return this.options.extra.p + num + this.options.extra.n ;
	} ,
	
	prePage : function(){
		return this.page > 1 ? '<a class="pre" href="' + this.setUrl(this.page - 1) + '">上一页</a>' : '' ;
	} ,
	
	nextPage : function(){
		return this.page < this.pageTotal ? '<a class="next" href="' + this.setUrl(this.page + 1) + '">下一页</a>' : '' ;
	} ,
	
	preBlockPage : function () {
		var pre = (this.curBlockPage - 1)*this.options.middle ;
		return this.curBlockPage > 1 ? '<a class="preBlock" href="' + this.setUrl(pre) + '">上' + this.options.middle + '页' + '</a>' : '';
		return insert_pre ;
	} ,
	
	nextBlockPage : function () {
		var next = this.curBlockPage*this.options.middle + 1;
		return this.curBlockPage < this.totalBlockPage ? '<a class="nextBlock" href="' + this.setUrl(next) + '">下' + this.options.middle + '页</a>' : '';
		
	} ,
	
	firstPage : function () {
		return this.page != 1 ? '<a class="first" href="' + this.setUrl(1) + '">首页</a>' : '' ;
	} ,
	
	lastPage : function () {
		return this.page != this.pageTotal && this.pageTotal > 1 ? '<a class="last" href="' + this.setUrl(this.pageTotal) + '">尾页</a>' : '' ;
	} ,
	
	middlePage : function() {
		var htmlStr = '' ;
		for(var i = this.blockPageStart ; i <= this.blockPageEnd ; i++)
			htmlStr += '<a  ' + (i == this.page ? 'class="on"' : '') + ' href="' + this.setUrl(i) + '">' + i + '</a>' ;
		return htmlStr ;
	} ,
	
	display : function () {
		return this.firstPage() + this.preBlockPage() + this.middlePage() + this.nextBlockPage() + (this.options.showLast ? this.lastPage() : '') ;
	} ,

	// new add list
	middlePage_list : function() {
		var addp = Math.ceil(this.options.middle/2) - 1 ;
		var addn = this.options.middle - addp - 1 ;
		var start = this.page - addp ;
		var end = this.page + addn ;
		if(start < 1) {
			start = 1 ;
			end = this.options.middle <= this.pageTotal ? this.options.middle  : this.pageTotal ;
		}
		else if(end > this.pageTotal) {
			end = this.pageTotal ;
			start = this.pageTotal - this.options.middle >= 0 ? this.pageTotal - this.options.middle + 1 : 1 ;
		}
		
		var htmlStr = '' ;
		for(var i = start ; i <= end ; i++)
			htmlStr += '<a  ' + (i == this.page ? 'class="on"' : '') + ' href="' + this.setUrl(i) + '">' + i + '</a>' ;
		return htmlStr ;
	} ,
	
	display_list : function(showLast) {
		return this.firstPage() +  this.prePage() + this.middlePage_list() +  this.nextPage() + (this.options.showLast ? this.lastPage() : '') ;
	}
})

basePage.implement(new Options);

// date 分页

var datePage = basePage.extend ({
								
	initialize: function(page , pageTotal , today_timestamps ,options){
		this.today_Timestamps = today_timestamps ;
		this.parent(page , pageTotal , options);
	},
	
	setUrl : function(num) {
		if(num == 1) 
			return '/' ;
		var day_Timestamps = 86400000 ;
		var cur_Timestamps = this.today_Timestamps - (num -1)*day_Timestamps ;
		var dada = new Date(cur_Timestamps) ;
		var year = dada.getFullYear() ;
		var	month = dada.getMonth() + 1 ;
		var day = dada.getDate() ;
		return '/a/' + year + '/' + (month < 10 ? '0' + month : month) + (day < 10 ? '0' + day : day) +'.html' ;
	} , 
	
	display : function() {
		return this.prePage() + this.middlePage_list() +  this.nextPage() ;
	}
	
}) ;


// ------- tag substr -------

function makeTagsLists(tags,max_tag_len)
{  
	if (tags.substr(tags.length-1,1) == '/') tags = tags.substr(0,tags.length-1);
	var tag_arr = tags.split("/");
	var lastindex = -1; var totallen = 0;
	for (var i = 0; i < tag_arr.length; i++) {
		totallen += tag_arr[i].length + 1;
		if (totallen > max_tag_len) { lastindex = i + 1; break; }
	}
	var trilingdots = true;
	if (lastindex == -1) { trilingdots = false; lastindex = tag_arr.length; }
	var lastlen = max_tag_len; var res = "";
	for (var i = 0; i < lastindex; i++) {
		if (i != lastindex-1) {
			res += "<a href='/tag/" + encodeURIComponent(tag_arr[i]) + "/'>" + tag_arr[i] + "</a>&nbsp;";
			lastlen -= tag_arr[i].length + 1;
		} else {
			res += "<a href='/tag/" + encodeURIComponent(tag_arr[i]) + "/'>" + tag_arr[i].substr(0, lastlen) + "</a>";
		}
	}
	if (trilingdots) res += "...";
	return res;
}


function makeTags(parentID,tagName,num,strLength) {
	for(var i=0; i < $(parentID).getElementsByTagName("div").length ; i++) {
		if($(parentID).getElementsByTagName("div")[i].className.indexOf("noMakeTags") >= 0 ) continue ;
		var _tags = $(parentID).getElementsByTagName("div")[i].getElementsByTagName("dl")[0].getElementsByTagName(tagName)[num] ;
		var _tagsText = stripHtml(_tags.innerHTML.trim() , 'a') ;
		var _tagsTextLast = makeTagsLists(_tagsText,strLength) ;
		_tags.innerHTML =   _tagsTextLast ;
		_tags.style.display = "inline";
	}
}

// -------tags color -------

function makeTagsColor(tagName){          
	var clr_arr = ['#51975B', '#7391DD', '#666666', '#FF0033', '#BB408F', '#E07230'];
	for (var i = 0; i < $(tagName).getElementsByTagName("a").length ; ++i) {
		  var taObj = $(tagName).getElementsByTagName("a")[i];
		  taObj.style.color = clr_arr[$random(0 , clr_arr.length-1)];
	}
}

// ------- qq face -------

function bbDisplay() {
	var bbArray = new Array("困惑","生气","思考中","我酷吧","哭泣的脸","咦，好奇怪","努力奋斗","我晕","我稀饭..嘿嘿","大笑","感动中..","睡着了","不告诉你","郁闷","害羞","惊讶","做梦中","你好啊","汗..|","吐舌头","晕","便便..","受.不.了.拉","啊达.啊达达","嘿.嘿.来吧","没天理啊","呜呜..求求你了","倒，谁砸我..","呼.呼..","要死了","我露屁屁.嘿嘿")
	for(var qq=1 ; qq <= 9 ; qq++) {
		document.write('<img src="http://r.6.cn/imges/qqface/BB' + qq + '.gif" onclick="addface(this,' + qq +')" title="' + bbArray[qq-1] + '" alt="" />') ;
	}
}
function addface(obj,num) {
	obj.parentNode.parentNode.getElementsByTagName("textarea")[0].value += "[BB" + num + "]" ;
}

// ------- user index rand video frame -------

function overRoundVideo(evt) {
	var element = returnEventValue('srcElement' , evt) ; 
	var url = element.rel ;
	if(!$('videoFrame')) {
		var div1 = document.createElement('div') ;
		div1.id = 'videoFrame' ;
		div1.innerHTML = '<div></div><img width="128" height="96" src="' + url + '" alt="" />' ;
		$('userZuShow').insertBefore(div1 , $('userZuShow').firstChild) ;	
	}
	else {
		$('videoFrame').getElementsByTagName('img')[0].src = url ;
	}
	with($('videoFrame').style) {
		left = returnEventValue('clientX' , evt) - 150 + 'px' ; 
		top =  document.documentElement.scrollTop + 20 + returnEventValue('clientY' , evt) + 'px' ;
		display = 'block' ;
	}
}

function outRoundVideo(evt) {
	with($('videoFrame')) {
		style.display = 'none' ;
		getElementsByTagName('img')[0].src = 'http://r.6.cn/imges/u/pic_loading.gif' ;
	}
}

// ------ group change color -------

function groupChangeColor(obj){
	var groupLength = obj.getElementsByTagName("div").length ;
	for(var i=0 ; i < groupLength ; i++){
		if(i % 2 != 0) obj.getElementsByTagName("div")[i].style.backgroundColor = "#F4F4F4" ;
	}
}



// ------- quote select -------

function quoteComments(element){
	var dlObj = element.parentNode.tagName.toLowerCase() == 'span' ? element.parentNode.parentNode.parentNode : element.parentNode.parentNode ;
	var ddObj = dlObj.getElementsByTagName('dd')[0] ;
	var dtObj = dlObj.getElementsByTagName('dt')[0] ;
	var ddStr = ddObj.innerHTML.trim() ;
	var dtStr = dtObj.innerHTML.trim() ;
	ddStr = clearHtml(ddStr , 'blockquote') ;
	ddStr = clearHtml(ddStr , 'a') ;
	ddStr = clearHtml(ddStr , 'aimg') ;
	ddStr = stripHtml(ddStr , 'span')  ;
	ddStr = htmlToUbb(ddStr , 'img,b,del') ;
	ddStr = dehtmlchars(ddStr) ;
	
	dtStr = dtStr.replace(/<span[^>]+toolLink[^>]*>[\s\S]*<\/span>/ig  , "") ;
	
	dtStr = dtStr.replace(/<a[^>]+toolLink[^>]*>[^<]*<\/a>/ig  , "") ;
	dtStr = stripHtml(dtStr , 'a,span,em') ;
	dtStr = htmlToUbb(dtStr , 'b') ;
	dtStr = dehtmlchars(dtStr) ;
	$("send-comment").value = "[quote] " + dtStr + "\n" + ddStr + " [/quote]";
}

// ------- pl tool -------

var pl = {
	
	channelJson :[ {"name":"音乐&艺术" , "id":"1"} ,{"name":"猎奇&搞笑" , "id":"2"} ,{"name":"动物&宠物" , "id":"3"} ,{"name":"综艺&娱乐" , "id":"4"} ,{"name":"科技&军事" , "id":"5"} ,{"name":"教学&校园" , "id":"6"} ,{"name":"汽车&交通" , "id":"7"} ,{"name":"体育&运动" , "id":"8"} ,{"name":"游戏&动漫" , "id":"9"} ,{"name":"社会&情感 " , "id":"10"} ,{"name":"原创&自拍" , "id":"11"} ,{"name":"广告&创意" , "id":"12"} ,{"name":"电影&电视" , "id":"13"} ,{"name":"旅游&数码" , "id":"14"} ,{"name":"家庭&生活" , "id":"15"} ,{"name":"明星&名人" , "id":"16"} ] ,
	
	setPageNum : function (obj){
		delCookie('cookie') ;
		var newValue = parseInt(obj.parentNode.getElementsByTagName("input")[0].value) ;
		if( !isNaN(newValue) && newValue >= 5 && newValue <= 40 ) {
			jcookie.set('vpp' , newValue)
			var url = window.location.href ;
			window.location.href =  url.replace(/&page.*/,'') ;
		}
		else { 
			jcookie.set('vpp' , 10)
			alert('只能输入5 - 40的整数');
		}
	} ,
	
	frameSubmit : function () {
		var obj = $("myvPlaylistForm") ;
		var labArr = obj.getElementsByTagName("label") ;
		var name = $('createPlTitle').value.trim() ;
		var tags = $('createPlTags').value.trim() ;
		var memo = $('createPlDescription').value.trim() ;
		
		
		// name and memo
		if(!name || !memo) {
			alert("请输入专辑名称或描述") ;
			return false;		
		}
		// tags
		if(!tags) {
			alert("请输入专辑标签") ;
			return false;		
		}

		// name length
		if(name.length > 40) {
			alert("专辑名称过长") ;
			return false ;
		}
		
		// check channel
		var checkChannel = false ;
		for(var i=0 ; i < labArr.length ; i++) {
			if(labArr[i].getElementsByTagName("input")[0].checked == true) {
				checkChannel = true ;
				break ;
			}		
		}
		if(!checkChannel) {
			alert("请选择一个频道") ;
			return false ;
		}

		$("myvPlaylistForm").getElementsByTagName('form')[0].submit() ;
	} ,
	
	
	displayFrame : function (type , position , qlType) {
		if($("myvPlaylistForm"))
			return false ;
		var url = '/user/' + type + '_plist.php' + (qlType == 1 ? "?quicklist=1" : "") ; 
		var form = new Element("form" , {'action':url , 'method':'post' , 'enctype':'multipart/form-data' , 'encoding':'multipart/form-data'}) ;
		var ul1 = new Element('ul') ;
		var li2 = document.createElement("li") ;
		li2.innerHTML = '<b>名称<em class="red">*</em></b>：<input id="createPlTitle" style="width:320px;" class="focus" name="title" type="text" />' + '<input type="hidden" name="pid" value="' + (type == 'edit' ?  pageMessage.pid : '') + '" />' ;
		var li3 = document.createElement("li") ;
		li3.innerHTML = '<b>描述<em class="red">*</em></b>：<textarea id="createPlDescription" class="focus" name="description" style="width:320px;" ></textarea>' ;
		var li4 = document.createElement("li") ;
		li4.innerHTML = '<b>标签<em class="red">*</em></b>：<input id="createPlTags" class="focus" name="tags" style="width:320px;" /><br /><em class="memor">标签是给节目贴上标识，让大家通过标签找到你的节目，比如：“蓝天 白云”。多个标签用空格分开。</em>' ;
		var li5 = document.createElement("li") ;
		li5.innerHTML = '<b>频道<em class="red">*</em></b>：<em class="memor">把专辑归到最贴近的频道，只能选定一个。</em>' ;
		var li6 = document.createElement("li") ;
		var cstr = '' ;
		for(var i=0 ; i < this.channelJson.length ; i++) {
			cstr += '<label for="creatPlCid' + i + '"><input type="radio" id="creatPlCid' + i + '" name="cid" class="nobstyle" value="' + this.channelJson[i].id + '" />' + this.channelJson[i].name + '</label>';
		}
		li6.innerHTML = cstr ;
		var li7 = document.createElement("li") ;
		li7.innerHTML = '<b>海报</b>：<input type="file" id="createPlPoster" name="poster" style="width:320px;" /><br /><em class="memor">海报用于专辑首页的背景图，让大家一进来就被它所吸引</em>'
		var li8 = document.createElement("li") ;
		li8.style.textAlign = "right" ;
		li8.innerHTML = '<button type="button" class="loogerbtn" onclick="return pl.frameSubmit()">' + ((type == 'create') ? '提交' : '修改') + '</button>' ;
		ul1.adopt(li2).adopt(li3).adopt(li4).adopt(li5).adopt(li6).adopt(li7).adopt(li8).injectInside(form) ;

		var title_s = '我的专辑<em class="red">(带*号的必须填写)</em>' ;
		var title = '创建' + title_s ;
		// 表单数据重写
		var reSet = Class.empty ;
		if(type == 'edit') {
			title = '修改' + title_s ;
			reSet = function() {
				var ele = $("myvPlaylistForm") ;
				var labArr = ele.getElementsByTagName("label") ;
				$('createPlTitle').value = pageMessage.plTitle ;
				$('createPlTags').value = pageMessage.plTagstr
				$('createPlDescription').value = clearHtml($("memoLong").innerHTML , 'a') ;
				if(pageMessage.plCid)
				labArr[pageMessage.plCid -1].getElementsByTagName("input")[0].checked = true ;
			}
		}
		
		new appover(title , form , {'idName':'myvPlaylistForm' , 'onComplete':reSet , 'position':position}).display() ;

	} ,
	

	// --- 排序 --- 
	sort : function(pid){
		var dtArr = $("myvVideosShow").getElementsByTagName("dt") ;	
		var plArr = new Array() ;
		var url = '/user/pt.php?action=rr&p=' + pid + '&' ;
		for(var i=0 ; i < dtArr.length ; i++){
			var seqStart = dtArr[i].getElementsByTagName("input")[0].value ;
			var seqEdit = dtArr[i].getElementsByTagName("input")[1].value - 1 ;
			if(isNaN(seqEdit)) {
				alert("请确定你输入的是一个数字") ;
				return false ;
			}
			if(seqStart != seqEdit) {
				var pSeq = seqEdit ;
				while(in_array(pSeq , plArr))
				  pSeq++ ;		
				plArr.push({o:seqStart , n:pSeq})
			}
		}
		
		for(var i=0 ; i < plArr.length ; i++) {
			url += 's[' + plArr[i].o + ']=' + plArr[i].n + '&' ;
		}
		window.location.href = url ;
	} ,
	
	submitVideosSort : function(type) {
		// type == some || all 
		if(type == 'some') {
			var inputArr = $ES('#myvVideosShow .curVideos .videobar-showe') ;
		}
		else if(type == 'all') {
			var inputArr = $ES('#myvVideosShow .allVideos li') ;
		}
		
		// get all vid arr
		var allArr = pageMessage.oldVidsStr.split(',') ;
		
		// get change Arr
		var changeArr = [] ;
		inputArr.each( function(e){ 
			var ele = e.getElementsByTagName('input')[0] ;
			var nowNum = ele.value ;
			var arr = ele.name.split('_') ; 
			var oldNum = arr[2] ;
			var vid = arr[1] ;
			if(nowNum != oldNum) {
				changeArr.push({'k':nowNum , 'v':vid}) ;
			}	
		})
		
		// changeArr.sort
		function changeArrRule(a,b) {
		   if(a.k < b.k) return -1 ;
		   if(a.k == b.k) return 0 ;
		   if(a.k > b.k) return 1 ;
		}
		changeArr.sort(changeArrRule) ;
		
		// sort
		changeArr.each(function(e){
			allArr.remove(e.v) ;
			allArr.splice(e.k-1 , 0 , e.v) ;
		}) ;
		
		// new vids
		var allVidsStr = allArr.join(',') ;

		// new vides
		var form1 = new Element('form' , {'styles':{'position':'absolute' , 'top':'-1500px' , 'left':'-1500px'} , 'action':'/user/plist_sort.php' , 'method':'post'}).setHTML('<input type="text" name="pid" value="' + pageMessage.pid + '" /><input type="text" name="old_vid_ary" value="' + pageMessage.oldVidsStr + '" /><input type="text" name="new_vid_ary" value="' + allVidsStr + '" />').injectInside(document.body) ;
		form1.submit() ;
	} ,
	
	getAllVideosSort : function (ele) {
		if(!$(ele).hasClass('loading')) {
			ele.innerHTML = '取消排序' ;
			ele.addClass('loading').addClass('loogerbtn') ;
			if(!$E('#myvVideosShow .allVideos ul')) {
				nowLoading($E('#myvVideosShow .allVideos') , 1) ;
				var url = '/user/plist_sort_api.php?t=get&p=' + pageMessage.pid ;
				var data = '' ;
				var callback = this.getAllVideosSortBack.bind(this) ;
				Request.reSend(url,data,callback);
			}
		}
		else {
			ele.innerHTML = '专辑所有节目重新排序' ;
			ele.removeClass('loading').removeClass('loogerbtn') ;
		}
		$$('#contentmyv-right .public-list').toggleClass('displayNone') ;
		$E('#myvVideosShow .allVideos').toggleClass('displayNone') ;
		$E('#myvVideosShow .curVideos').toggleClass('displayNone') ;
	} ,
	
	getAllVideosSortBack : function(httpObj) {
		var ret = httpObj.responseText ;
		var obj = Json.evaluate(ret) ;
		nowLoading($E('#myvVideosShow .allVideos') , 0) ;
		$E('#myvVideosShow .allVideos .stepBao').style.display = 'block' ;
		if(obj.flag == 1) {
			var ul1 = new Element('ul').injectAfter($E('#myvVideosShow .allVideos p')) ;
			obj.videos.each(function(e){
				var li2 = document.createElement('li') ;
				li2.innerHTML = '<input class="focus" type="text" name="vids_' + e.v + '_' + (e.k+1) + '" value="' + (e.k+1) + '" style="width:40px;" /><a href="/watch/' + e.v + '.html" target="_blank">' + e.t + '</a>' ;
				ul1.appendChild(li2) ;
			}) ;
		}
		$$('#myvVideosShow .allVideos li').each( function(e){ e.addEvent('mouseover' , function(){ this.style.backgroundColor = '#F1F1F1' }.bind(e)).addEvent('mouseout' , function(){ this.style.backgroundColor = '#FFFFFF' }.bind(e)) } )
	} ,
	
	// 删除专辑

	del : function () {
		if(confirm("你真要删除这个专辑么"))
		window.location.href = '/user/rm_plist.php?pid=' + pageMessage.pid ;
	} ,
	
	// 添加 / 删除 节目到专辑

	setVideos : function (act,moren){
		var objArr = $("myvVideosShow").getElementsByTagName("input") ;
		var pid = (act == "d") ? moren : $("selectClass").getElementsByTagName("option")[$("selectClass").selectedIndex].value ;
		if(pid == 'noTag') return false ;
		var vids = "" ;
		var objNum = 0 ;
		for(var i=0; i < objArr.length ; i++){
			var objIpt = objArr[i] ;
			if(objIpt.type != "checkbox") continue ;
			if(objIpt.checked) {
				vids += objIpt.value + "," ;
			} 
		}
		if(vids == ''){
			alert("请选择一个节目，再添加到专辑") ;
			$("selectClass").selectedIndex = 0 ;
			return false ; 
		}  
		var url = (act == "a") ? ("/user/add_video_to_plist.php?v=" + vids + '&pid=' + pid ) : ("/user/rm_video_from_plist.php?v=" + vids + '&pid=' + pid )  ;
		window.location.href = url ;
	} ,
	
	selThisVideo : function(obj){
		var parentObj = obj.parentNode.parentNode ;
		if(obj.checked) {
			parentObj.style.backgroundColor = "#DDDDDD" ;
		}
		else { 
			parentObj.style.backgroundColor = "#FFFFFF" ;	  
		}
	} ,

	selAllVideos : function(type){
		var iptArr = $("myvVideosShow").getElementsByTagName("input") ;
		for(var i=0; i < iptArr.length ; i++){
			var objIpt = iptArr[i] ;
			if(objIpt.type != "checkbox") continue ;
			objIpt.checked = (type) ? true : false ;
			pl.selThisVideo(objIpt) ;
		}  
	} ,
	
	displayCode : function (obj){    
		var parentObj = obj.parentNode.parentNode.parentNode.parentNode ;
		if(obj.innerHTML == "显示粘贴代码"){
			parentObj.getElementsByTagName("dl")[0].getElementsByTagName("ul")[0].style.display = "block" ;
			obj.innerHTML = "隐藏粘贴代码" ;
		}
		else {
			parentObj.getElementsByTagName("dl")[0].getElementsByTagName("ul")[0].style.display = "none" ;
			obj.innerHTML = "显示粘贴代码" ;
		}
	},

	// --- 订阅专辑 ---
	getSubscription : function() {
		if(!pageMessage.userCheck) {
			areyoulogin() ;
			return false ;
		}
		var url = '/user/subscribe_plist.php?pid=' + pageMessage.pid;
		var callback = this.backSubscription.bind(this) ;
		var data = "";
		Request.reSend(url,data,callback);
	} ,
	
	backSubscription : function(httpObj) {
		var ret = httpObj.responseText ;
		var obj = Json.evaluate(ret) ;
		var state = obj.flag;
		alert((state == 1) ? "成功订阅专辑" : "订阅专辑失败");
	}
}


// ------- hot words replace -------

// array sort 
function replaceHotWsRule(a,b) {
   if(a.length > b.length) return -1 ;
   if(a.length == b.length) return 0 ;
   if(a.length < b.length) return 1 ;
}

// del hotwords pad
function delHotWsPad(arr) {
	var ret = new Array() ;
	for(var i=0 ; i < arr.length ; i++) { 
		var delArr = arr.concat() ;
		delArr.splice(i,1) ;
		var str = delArr.toString() ;   
		if(str.indexOf(arr[i]) == -1) {
			ret.push(arr[i]) ;		 
		}
	}	
	return ret ;
}

function replaceHotWs(obj){
	var aArr = $("gold").getElementsByTagName("dd")[0].getElementsByTagName("a") ;
	var hotWordsArr = new Array() ; 
	for (var i=0 ; i < aArr.length ; i++) {
		hotWordsArr[i] = aArr[i].innerHTML ;
	}
	hotWordsArr.sort(replaceHotWsRule) ;
	hotWordsArr = delHotWsPad(hotWordsArr) ;
	if(obj.innerHTML == '') return false ; 
	for(var i=0; i < hotWordsArr.length ; i++) { 
		var hotWord = hotWordsArr[i] ;
		var temp = obj.innerHTML ;
		var regex = new RegExp('(' + hotWord + ')' , 'i') ;
		var replaceText = '<a href="/search/v/' + encodeURIComponent(hotWord) + '/1.html" class="hotWords" target="_blank">$1</a>' ;
		temp = temp.replace(regex, replaceText) ; 
		obj.innerHTML = temp ; 
	}
}

// ------ tab memo ------
function tabMemo(idName1 , idName2) {
	$(idName1).style.display = 'none' ;
	$(idName2).style.display = '' ;
}

// ------- quicklist and recent watched  -------

var ql = {
	
	pub : {
		limitTime : 10 , 
		timeType : 'day' ,
		nextVid : 0 
	} ,
	
	updateNum : function(num) {
		$("qlNum").innerHTML = '(' + num + ')' ;
		if($("qlistToolbar"))
			$("qlistToolbar").getElementsByTagName("em")[0].innerHTML = '(' + num + ')' ;
		if($("qlManageNum"))
			$("qlManageNum").innerHTML = num ;
	} ,
	
	addRecentWatched : function () {
		var vid = pageMessage.vid ;
		var name = 'rw' ;
		this.addCookie(name,vid) ;
	} ,
	
	delCookie : function (name,vid) {
		var expiresTime = getExpTime(this.pub.limitTime,this.pub.timeType) 
		var oldValue = getCookie(name) ;	
		var newValue = '' ;
		var matchStr = 'v' + oldValue + 'v' ;
		replaceStr = 'v' + vid + 'v' ; 
		newValue = matchStr.replace(replaceStr , 'v').slice(1,-1) ;
		setCookie(name,newValue,expiresTime,'/',cookieHost_6cn) ;
		return newValue ;
	} ,
	
	addCookie : function (name,vid) {
		var expiresTime = getExpTime(this.pub.limitTime,this.pub.timeType) ;
		var oldValue = getCookie(name) ;
		var newValue = ''
		if(oldValue) {	
			var matchStr = 'v' + oldValue + 'v' ;
			if(new RegExp('v' + vid + 'v').test(matchStr))
				return '' ;
			if(oldValue.split('v').length >= 100)  
				newValue = oldValue.replace(/\d*v/,'') + 'v' + vid ;
			else 
				newValue = oldValue + 'v' + vid ;
		}	
		else 
			newValue = vid ;
		setCookie(name,newValue,expiresTime,'/',cookieHost_6cn) ;
		return newValue ;
	} ,
	
	addQlist : function (obj) {
		var name = 'ql' ;
		// 正常
		obj.style.backgroundImage = 'url(http://r.6.cn/imges/watch/qkDone.gif)' ;
		var imgObj = $(obj.parentNode.getElementsByTagName("img")[0]) ;
		var cacheObj = $(imgObj).getStyles('position' , 'width' , 'height' , 'marginLeft' , 'marginTop') ;
		imgObj.setStyles({'position':'absolute' , 'zIndex':500})
		imgObj.effects({'duration':600 , 'onComplete':function(){ imgObj.setStyles(cacheObj).effect('opacity').start(0.6) }}).start({'width':parseInt(imgObj.width)*1.5 , 'height':parseInt(imgObj.height)*1.5 , 'marginLeft':-parseInt(imgObj.width)/4 , 'marginTop':-parseInt(imgObj.width)/4 ,  'opacity':0}) ;

		
		
		// 特殊 是专辑展示
		var url = obj.parentNode.getElementsByTagName("a")[0].href ;
		var vid = /watch\/\d+\.html/.test(url) ? url.match(/\/(\d+)\.html/)[1] : obj.parentNode.getElementsByTagName("a")[0].rel ;	
		var newValue = '' ;
		newValue = this.addCookie(name,vid) ;
		// 在watch页的时候
		if($("qlistToolbar")) {
			if($("qlistToolbar").style.display == 'none')
				$("qlistToolbar").style.display = 'block' ;
		}
		// 补全
		if(newValue) {
			this.updateNum(newValue.split('v').length) ;
			if($("qlistToolbar")) {
				var curArr = watchMore.pub.jobj[watchMore.pub.curv] ;  
				for(var i=0 ; i < curArr.videos.length ; i++) {
					if(curArr.videos[i].vid == vid) {
						var curObj = curArr.videos[i] ;
						var div1 = document.createElement('div') ;
						if(pageMessage.vid == curObj.vid)
							div1.style.backgroundColor = '#FFFFEA' ;
						div1.innerHTML = '<span>' + curObj.ll + ' <img onclick="ql.delThisQlist(this,' + curObj.vid + ')" title="删除" src="http://r.6.cn/imges/watch/trash.gif" alt="" /></span> <p><a href="/watch/' + curObj.vid + '.html"><img src="' + curObj.pic + '" alt="" /></a></p><dl><dt><a href="/watch/' + curObj.vid + '.html">' + curObj.title + '</a></dt><dd>上传:<a href="/profile/' + curObj.uid  +'.html" target="_blank">' + curObj.uploader + '</a></dd>' + ((pageMessage.vid == curObj.vid) ? '<dd style="color:#FF6600; font-weight:bold;">&raquo;&raquo; 正在播放</dd>' : '') + '</dl>'                                         
						$("qlistToolbarBaoBao").appendChild(div1) ;
					}
				}
				this.checkWatchQlistTotal() ;
			}
		}
	} ,
	
	clearAllQlist : function () {
		if(confirm("你确定要清空么")) {
			if($("qlistToolbar"))
				$("qlistToolbar").style.display = 'none' ;
			delCookie('ql') ;
			window.location.reload() ;
		}
	} ,
	
	delThisQlist : function (obj,vid) {	
		if($("qlistToolbarBaoBao")) {
			var divObj = obj.parentNode.parentNode ;
			$("qlistToolbarBaoBao").removeChild(divObj) ;
			this.checkWatchQlistTotal() ;
		}
		else if($("qlManageContent") && obj != null) {
			var divObj = obj.parentNode.parentNode.parentNode ;
			divObj.style.display = 'none'	
		}
		var newValue = this.delCookie('ql',vid) ;
		var num = (newValue == '') ? 0 : newValue.split('v').length ;
		this.updateNum(num)
	} ,

	qlistNotWatch : function() {
		var rw = getCookie('rw') ;
		var rwArr = rw.split('v') ;
		var ql = getCookie('ql') ;
		var qlArr = ql.split('v') ;	
		var new_ql = array_diff(qlArr , rwArr).join('v') ;
		var expiresTime = getExpTime(this.pub.limitTime,this.pub.timeType) ;
		setCookie('ql',new_ql,expiresTime,'/',cookieHost_6cn) ;
		window.location.reload() ;	
	} ,
		
	playAllQlist : function() {
		var str = getCookie('ql') ;
		if(str == '') return false ;
		var vid = str.split('v')[0] ;
		window.location.href = '/watch/' + vid + 'q.html'
	} ,
	
	displayQlistBao : function () {
		var obj = $("qlistToolbarBaoBao") ;
		var parentobj = obj.parentNode ;
		if(obj.style.display == 'none') {
			obj.style.display = 'block' ;
			parentobj.getElementsByTagName("h6")[1].style.display = 'block' ;
			$('qlistToolBarDisplay').style.backgroundPosition = 'left bottom' ;
			this.checkWatchQlistTotal() ;
		}
		else {
			obj.style.display = 'none' ; 
			parentobj.getElementsByTagName("h6")[1].style.display = 'none' ;
			$('qlistToolBarDisplay').style.backgroundPosition = 'left top' ;
		}
	} ,
	
	checkWatchQlistTotal : function() {
		var num = $('qlistToolbarBaoBao').getElementsByTagName('div').length ;
		$('qlistToolbarBaoBao').style.height = num > 6 ? '300px' : 'auto' ;
	} ,
	
	playCheck : function() {
		// check qlplay
		var matchArr = window.location.href.match(/(\d*)q/) ;
		if(matchArr) {
			var vid = matchArr[1] ;
			var arr = getCookie('ql').split('v') ;
			var arrPoint = arr.indexOf(vid) ;
			if(arrPoint < arr.length -1)
				this.pub.nextVid = arr[arrPoint + 1] ;
		}
	} ,

	watchGet : function() {
		// get
		var url = '/api/getql.php?v=' + pageMessage.evid + '&q=' + (this.pub.nextVid ? 1 : 0) ;
		var data = '' ;
		var thisObj = this ;
		var callback = function(e) { ql.watchBack(e) } ;
		Request.reSend(url,data,callback);
	} ,
	
	// ql_next
	watchBack : function(httpObj) {
		var ret = httpObj.responseText ;
		var obj = Json.evaluate(ret) ;		
		
		$E('.qlistToolBarHup em').innerHTML = '(' + obj.total + ')' ;
		// show or hidden
		if(obj.total == 0) {
			$("qlistToolbar").style.display = 'none' ;
			return false ;
		}
		else 
			$("qlistToolbar").style.display = 'block' ;
			
		
		for(var i=0 ; i < obj.ql.length ; i++) {
			var curObj = obj.ql[i] ;
			var div1 = document.createElement('div') ;
			if(pageMessage.vid == curObj.id)
				div1.style.backgroundColor = '#FFFFEA' ;
			div1.innerHTML = '<span>' + curObj.ll + ' <img onclick="ql.delThisQlist(this,' + curObj.id + ')" title="删除" src="http://r.6.cn/imges/watch/trash.gif" alt="" /></span> <p><a href="/watch/' + curObj.id + '.html"><img src="' + curObj.pic + '" alt="" /></a></p><dl><dt><a href="/watch/' + curObj.id + '.html">' + curObj.title + '</a></dt><dd>上传:<a href="/profile/' + curObj.uid  +'.html" target="_blank">' + curObj.username + '</a></dd>' + ((pageMessage.vid == curObj.id) ? '<dd style="color:#FF6600; font-weight:bold;">&raquo;&raquo; 正在播放</dd>' : '') + '</dl>' ;                                     
			$("qlistToolbarBaoBao").appendChild(div1) ;
		}
		
		// 加入 next
		if(obj.next != 0) {
			this.displayQlistBao() ;
			$$('.qlistToolBarHup')[0].adopt(new Element('a' , {'href':'/watch/'+ obj.next.id +'q.html'}).setHTML('<img src="' + obj.next.pic + '" width="36" height="25" title="" alt="" />')).adopt(new Element('a' , {'title':obj.next.title , href:'/watch/'+ obj.next.id +'q.html'}).setHTML('下一个')) ;
		}

	}
}

// 【MT】 ------ watch load videos -------

var watchMore = {
	
	pub : {
		disLength : 5 ,
		curv : null ,
		tabv : {'rv':false , 'mv':false , 'pv':false} ,
		jobj : {}
	} ,

	load : function(tab){
		// set
		this.pub.curv = tab ;
		// define
		var jobj = this.pub.jobj[tab] ;
		var videosLength = jobj.videos.length ;
		// tab
		$$('#watchOthers .tab dt').removeClass('on')[jobj.num].addClass('on') ;
		$$("#watchOthers .tab dd")[0].setHTML(jobj.more + '<span>' + (videosLength ? '当前 1-' + videosLength + ' 共 ' + jobj.total : "当前 0") + '</span>') ;
		['rv' , 'mv' , 'pv'].each(function(e){getElementsByClassName($('watchOtherVideos') , 'div' , e)[0].style.display = 'none';})
		// create videos
		$('watchOthers').scrollTo(0 , 0)
		var curBao = $$('#watchOtherVideos .' + tab)[0].setStyle('display' , 'block') ;
		if(!curBao.innerHTML) {
			for(var i=0 ; i < videosLength ; i++){
				
				if(i%3 == 0) {
					var div0 = document.createElement('div') ;
					div0.className = 'videobar-showfBao' ;
				}
				
				var div1 = document.createElement("div") ;
				div1.className = "videobar-showf" ;
				var url = tab == 'pv' ? '/plist/' + jobj.videos[i].pid   : '/watch/' + jobj.videos[i].vid + '.html' ;
				var p2 = document.createElement("p") ;
				p2.className = 'videobar2' ;
				p2.innerHTML = '<a href="' + url + '"><img src="' + jobj.videos[i].pic  + '" alt="" /></a>' + (tab != 'pv' ? '<em onclick="ql.addQlist(this)" title="放入点播单" class="addQlist"></em>' : '') ;
				var dl3 = document.createElement("dl") ;
				var dt4 = document.createElement("dt") ;
				dt4.innerHTML = '<a href="' + url + '">' + jobj.videos[i].title + '</a>' ;
				// var dd5 = document.createElement("dd") ;		
				// dd5.innerHTML = tab == 'rv' ?  '上传: <a href="/profile/' + jobj.videos[i].uid + '.html">' + jobj.videos[i].uploader + '</a>' : (tab == 'mv' ? '<em>' + jobj.videos[i].time + '</em>' : '节目: <em>' + jobj.videos[i].total + '</em>');		
				dl3.appendChild(dt4) ;
				//dl3.appendChild(dd5) ;
				div1.appendChild(p2) ;
				div1.appendChild(dl3) ;
				div0.appendChild(div1) ;
				if(i%3 == 1  || i == videosLength -1) {
					curBao.appendChild(div0) ;
					if(i == videosLength -1)
						div0.style.backgroundImage = 'none' ;
				}	

			}
		}
		if (browser.ie6)
			qlmouse(getElementsByClassName(document , 'em' , 'addQlist')) ;
	} ,
	
	scroll : function() {
		var tab = this.pub.curv ;
		var jobj = this.pub.jobj[tab] ;
		if(!this.pub.tabv[tab]) {
			$each($$('#watchOtherVideos .' + tab)[0].getElementsByTagName('div') , function(e , i){e.getElementsByTagName("img")[0].src = jobj.videos[i].pic ;})
			this.pub.tabv[tab] = true ;
		}
	}
}

// 【MT】 ------ watch playlist ------

var watchPl = {
	pub : {
		jobj : {}  ,
		curv : null  ,
		pid : null  ,
		limitTime : 10 ,
		timeType : 'day' ,
		cookieName : 'qlw'
	} ,
	
	checkPl : function() {
		var name = this.pub.cookieName ;
		var expiresTime = getExpTime(this.pub.limitTime,this.pub.timeType) ;
		var oldValue = '|' + getCookie(name) + '|';	
		var arr = oldValue.match(new RegExp('\\|' + pageMessage.pid + '#\\d*\\|'))
		var key = '' ;
		if(arr) {
			curpl = arr[0].slice(1 , -1) ;
			key = curpl.split('#')[1] ;
			var newValue = oldValue.replace(curpl + '|' , '').slice(1, -1) ;
			setCookie(name,newValue,expiresTime,'/',cookieHost_6cn) ;
		}
		this.market() ;
		return key ;
	} ,
	
	// 记录上次播放专辑和key
	market : function() {
		var name = this.pub.cookieName ;
		var expiresTime = getExpTime(this.pub.limitTime,this.pub.timeType) ;
		var oldValue = getCookie(name) ;
		var addValue = pageMessage.pid + '#' + pageMessage.pidKey ;
		if(oldValue.split('|').length >= 100)
			var newValue = oldValue.replace(/\d*#\d*\|/,'') + '|' + addValue ;		
		else 
			var newValue = (oldValue ? oldValue + '|' : '') +  addValue ;
		setCookie(name,newValue,expiresTime,'/',cookieHost_6cn) ;	
	} ,
	
	load : function() {
		// set
		var jobj = this.pub.jobj ;
		// check playlist
		var curKey = this.checkPl() ;
		if(curKey) {
			if(!$E('#watchPlaylistRecent a'))
				$('watchPlaylistRecent').adopt(new Element('a')).setStyle('display','block') ;
			$E('#watchPlaylistRecent a').setProperty('href' , '/plist/' +  pageMessage.pid + '/' + jobj.videos[curKey].key + '.html').setHTML(jobj.videos[curKey].title) ;
		}
		var curBao = $('watchPlaylistVideos').setHTML('') ;
		/*
		if(jobj.total > 20 && pageMessage.pidKey >= 10) {
			var vmin =  pageMessage.pidKey.toInt() - 10 ;
			var vmax = pageMessage.pidKey.toInt() + 10 ;
		}
		else {
			var vmin =  0 ;
			var vmax = 20 ;
		}
		*/
		for(var i=0 ; i < jobj.videos.length ; i++){
			if(pageMessage.pidKey == i) {
				var div1 = document.createElement("div") ;
				div1.className = "videobar-showd" ;
				var url = '/plist/' +  pageMessage.pid + '/' + jobj.videos[i].key + '.html';
				var rel = '/watch/' + jobj.videos[i].vid + '.html' ;
				var p2 = document.createElement("p") ;
				p2.className = 'videobar2' ;
				p2.innerHTML = '<a href="' + url + '" rel="' + rel + '"><img src="' + jobj.videos[i].pic + '" alt=""/></a>' ;
				var dl3 = document.createElement("dl") ;
				var dt4 = document.createElement("dt") ;
				dt4.innerHTML = ' <em>' + jobj.videos[i].ll + '</em>' + '<a href="' + url + '">' + jobj.videos[i].title + '</a>';
				var dd5 = document.createElement("dd") ;		
				dd5.innerHTML = '上传: <a href="/profile/' + jobj.videos[i].uid + '.html">' + jobj.videos[i].uploader + '</a>';	
				dl3.appendChild(dt4) ;
				dl3.appendChild(dd5) ;
				div1.appendChild(p2) ;
				div1.appendChild(dl3) ;
				curBao.appendChild(div1) ;
				if(pageMessage.pidKey == i) {
					var dd6 = document.createElement("dd") ;
					dd6.innerHTML = '<span class="loading"><b>&raquo;</b> 正在播放</span>' ;
					dl3.appendChild(dd6) ;
					div1.style.backgroundColor = '#F2F2F2' ;
					var scrollObj = div1 ;
				}	
			}
			else {
				var div_1 = document.createElement("div") ;
				div_1.className = "watchlistText" ;
				var url = '/plist/' +  pageMessage.pid + '/' + jobj.videos[i].key + '.html'
				div_1.innerHTML = '<em>' + jobj.videos[i].ll + '</em><a href="' + url +'">' + jobj.videos[i].title + '</a>' ;
				curBao.appendChild(div_1) ;
			}
		}
		
		if (browser.ie6)
			qlmouse(getElementsByClassName(document , 'em' , 'addQlist')) ;
		if(browser.msie) {
			scrollObj.scrollIntoView(true);
			document.documentElement.scrollTop = 0;
		}
	}
}


function plFullScreenNext(k) {
	// update url 
	$E('#watchToolbarBtn .link a').href = '/wp/' + pageMessage.evid ;
	// get playlist cur video
	var videoObj = watchPl.pub.jobj.videos[k] ;
	// update pageMessage
	pageMessage.vid = videoObj.vid ;
	pageMessage.evid = videoObj.evid ;
	pageMessage.pidKey = k ;
	// update title 
	$E('#watchPlayer h4').innerHTML = videoObj.title ;
	// playlist
	watchPl.load() ;
	// update comments	
	scmt.get(1) ;
}


// ------- autoAutomatic-------

var inputAuto = new Class({
						  
	initialize : function(bao , input , btn , typeArr) {
		this.typeArr = typeArr ;
		this.btn = $(btn).addEvent('click' , this.submit.bind(this)) ;
		this.input = $(input).addEvent('keyup' , this.handEvent.bindWithEvent(this)).addEvent('blur' , this.hide.bind(this)).addEvent('focus' , this.remind.bind(this)) ;
		this.bao = $(bao) ;
		this.matchCheck = false ;
		this.position = -1 ;
	} ,
	
	remind : function(){
		if(this.input.value.trim() == '输入拼音YX，照样搜“英雄”') {
			this.input.value = '' ;
			this.input.style.color = '#000000'; 
		}
	},

	handEvent : function(e) {
		this.curKey = e.code ;
		if([37,39,9,6,17,18,22].contains(this.curKey))
			return false ;
		var value = this.input.value.trim() ;
		if(value == '')  {
			this.bao.setStyle('display' , 'none') ;
			return false;
		}
		
		if(this.curKey != 38 && this.curKey != 40 && this.curKey != 13) {
			this.cacheWord = value ;
			this.matchCheck = false ;
			this.bao.setStyle('display' , 'none').setHTML('') ;
			var url = '/search.php?ko=1&k=' + encodeURIComponent(this.cacheWord) ;
			var callback = this.handEventBack.bind(this) ;
			var data = "" ;
			cacheAjax(url,callback) ;
			// Request.reSend(url,data,callback);
		}
		else
			this.handEventBack() ;
	} ,
	
	
	handEventBack : function(httpObj) {
		if(httpObj) {
			var ret = httpObj.responseText ;
			var obj = Json.evaluate(ret) ;
			if(obj.length > 0 && this.input.value != '') {
				this.matchCheck = true ;
				this.bao.setHTML('') ;
				for(var i=0; i < obj.length; i++)
						this.append(obj[i]);		
			}
		}
		if(this.matchCheck) {
			this.bao.setStyle('display' , 'block') ;
			if(this.curKey == 38 || this.curKey == 40 || this.curKey == 13)
				this.keyScroll();
			else
				this.position = -1 ;
		}
		else {
			if(this.curKey == 13)
				this.submit() ;
		}	
	} ,
	
	changeWord : function(str) {
		this.input.value = str ;
	} ,
	
	keyScroll : function () {
		var liArr = this.bao.getElementsByTagName("li") ;
		var liLength = liArr.length ;
		var kword = this.cacheWord ;
		if( this.curKey == 40 ) {
			if(this.position >= 0)
				liArr[this.position].className = "autoMouseout";
			this.position = (this.position >= liLength -1) ? -1 : (this.position + 1) ;
			if(this.position > -1) {
				liArr[this.position].className = "autoMouseover";
				kword = liArr[this.position].innerHTML ;
			}
		}
	
		if( this.curKey == 38 ) {
			if(this.position >= 0)
				liArr[this.position].className = "autoMouseout";
			this.position = (this.position  <= 0) ? ((this.position == 0) ? -1 : liLength -1): (this.position - 1) ;
			if(this.position > -1) {
				liArr[this.position].className = "autoMouseover";
				kword = liArr[this.position].innerHTML ;
			}
		}
		
		if( this.curKey == 13 ) {		
				this.bao.setStyle('display' , 'none') ;
				//if(this.position >= 0)
				//	this.input.value = liArr[this.position].innerHTML ;					
				this.submit() ;
				return true ;
		}
		this.changeWord(kword) ;	
	} ,
	
	append : function (msg) {
		var fucObj = eval(this.fucName) ;
		if(!this.bao.getElementsByTagName("ul")[0]) {
			var ul = document.createElement("ul") ;
			this.bao.appendChild(ul) ;
		}
		ulEle = this.bao.getElementsByTagName("ul")[0] ;
		var li = document.createElement("li") ;
		li.innerHTML = msg ;
		li.onmouseover = this.mouseover.bindWithEvent(this) ;
		li.onmouseout = this.mouseout.bindWithEvent(this) ;
		li.onclick = this.dclick.bindWithEvent(this) ;
		li.className = "autoMouseout" ;
		ulEle.appendChild(li) ;		
	} ,
	
	getLi : function(ele) {
		if(ele.tagName.toLowerCase() != 'li')
			ele = ele.parentNode ;
		return ele ;
	} ,

	dclick : function (e) {
		var ele = this.getLi(e.target) ;
		this.bao.setStyle('display' , 'none') ;
		this.input.value = ele.innerHTML ;
		this.submit() ;
	} ,
	
	mouseover : function (e) {
		var ele = this.getLi(e.target) ;
		if(this.position >= 0)
			this.bao.getElementsByTagName("li")[this.position].className = "autoMouseout" ;
		this.position = -1 ;
		ele.className = "autoMouseover"	;
	} ,
	
	mouseout : function (e) {
		var ele = this.getLi(e.target) ;
		ele.className = "autoMouseout" ;	
	} ,
	
	getType : function() {
		return this.typeArr.filter(function(e){ return e.checked })[0].value ;
	} ,
	
	submit : function () {
		if(this.input.value.trim() == '') return false ;
		var type = this.getType() ;
		var url = 'http://6.cn/search.php?t=' + type + '&k=' + encodeURIComponent(this.input.value) ; 
		if(browser.msie)
			window.open(url)
		else
			window.location.href = url ;
	} ,
	
	hide : function () {
		setTimeout( function(){ this.bao.setStyle('display' , 'none')}.bind(this) , 200 ) ;
	}
})


// ------- login header && pageMessage -------

var pageMessage = new Object() ;

function areyoulogin() {
	if(confirm('你还没有登陆，是否登陆'))
		window.location.href = '/login.php' ;
}

var login = new Class({
	
	options : {
		status : 'www'  
	} ,
	
	initialize : function(options) {
		this.setOptions(options);
		var str = getCookie("_6user").trim() ;
		pageMessage.status = this.options.status ;
		
		if(!str || str == 'nologin') {
			pageMessage.userCheck = 0 ;
			pageMessage.uid = 0 ;
		}
		else {
			var arr = str.trim().split("|") ;
			pageMessage.userCheck = 1 ;
			pageMessage.uid = arr[0] ;
			pageMessage.username = arr[1] ;
			pageMessage.msnNum = arr[2] ;
		}
		this.estr = getCookie('_info').trim() ;
		if(this.estr) 
			this.proEstr(this.estr) ;
	} ,
	
	getHtml : function() {
		var headStr = '' ;
		if(pageMessage.userCheck){
			headStr = '<ul id="userToolbar">' +
					  '<li><a href="http://6.cn/logout.php">离开</a></li>' + 
					  '<li><a href="http://6.cn/about/help.php">帮助</a> &nbsp;|&nbsp</li>' +
					  '<li><a href="http://6.cn/user/recent_watched.php">看过的节目</a> &nbsp;|&nbsp; </li>' + 
					  '<li><a href="http://6.cn/user/quick_list.php">点播单</a>&nbsp;<b><a href="http://6.cn/user/quick_list.php" id="qlNum">(0)</a></b> &nbsp;|&nbsp; </li>' +
					  '<li id="msnNum">' + (this.estr ?  this.getExtraHtml('msn') : '') + '</li>' +
					  '<li id="myAccount">' +
					  '<a href="http://6.cn/user/mv.php" onmouseover="myaccount.lp(1)"  onmouseout="myaccount.lp(0)" >我的菜单</a>&nbsp;<img src="http://r.6.cn/imges/menarrwdrpdwn.gif" onmouseover="myaccount.lp(1)"  onmouseout="myaccount.lp(0)" alt="" />&nbsp;|&nbsp;' +
					  '<ol style="display:none;" onmouseover="myaccount.displayAccount(1)"  onmouseout="myaccount.displayAccount(0)" id="test">' +
					  '<li><a href="http://6.cn/user/mv.php">我的节目</a></li>' +
					  '<li><a href="http://6.cn/user/mv.php?type=3">我的收藏</a></li>' +
					  '<li><a href="http://6.cn/user/mysubscriptions.php">我的订阅</a></li>' +
					  '<li><a href="http://6.cn/user/mc.php">我的评论</a></li>' +
					  '<li><a href="http://6.cn/user/myfriend.php">我的好友</a></li>' +
					  '<li><a href="http://6.cn/profile/' + pageMessage.uid + '.html">我的主页</a></li>' + 
					  '</ol>' +
					  '</li>' +
					  '<li><b><a href="http://6.cn/profile/' + pageMessage.uid + '.html">' + pageMessage.username + '</a></b> &nbsp;|&nbsp; </li>' +
					  '</ul>' ;
			myaccount = {
				interval : null ,
				
				displayAccount : function (type) {
					if(this.interval) clearTimeout(this.interval) ;
					var ele = $("myAccount") ;
					if(type) {
						ele.getElementsByTagName("ol")[0].style.display = "block" ;
						ele.getElementsByTagName("img")[0].src = "http://r.6.cn/imges/menarrwdrpdwn_down.gif" ;
					}
					else {
						ele.getElementsByTagName("ol")[0].style.display = "none" ;
						ele.getElementsByTagName("img")[0].src = "http://r.6.cn/imges/menarrwdrpdwn.gif" ;
					}
				} ,
			
				lp : function (type) {
					if(type)
						myaccount.displayAccount(1) ;
					else
						this.interval = setTimeout(function() {myaccount.displayAccount(0) } , 500) ;
				} 
			} ;
		}
		else {
			headStr = '<ul id="userToolbar">' +
					  '<li>' +
					  '<a href="http://6.cn/reg.php" >注册</a> &nbsp;|&nbsp; ' + 
					  '<a href="javascript:void(0)" onclick="$(\'loginFrame\').style.display = \'block\';$(\'loginFrameUN\').focus();">登录</a> &nbsp;|&nbsp; ' +
					  '<a href="http://6.cn/user/quick_list.php">点播单</a>&nbsp;<b><a href="http://6.cn/user/quick_list.php" id="qlNum">(0)</a></b> &nbsp;|&nbsp; ' +
					  '<a href="http://6.cn/user/recent_watched.php">看过的节目</a> &nbsp;|&nbsp; ' +
					  '<a href="http://6.cn/about/qa.php">帮助</a>' +
					  '</li>' +
					  '</ul>' +
					  '<form action="http://6.cn/login.php" method="post" id="loginFrame" style="display:none;" name="1">' +
					  '<dl>' +
					  '<dt><span onclick="$(\'loginFrame\').style.display = \'none\'">关闭</span>登录窗口</dt>' + 
					  '<dd><input name="username" class="focus" id="loginFrameUN" type="text"/><label for="loginFrameUN">用户名</label></dd>' +
					  '<dd><input name="passwd" class="focus" id="loginFramePD" type="password" /><label for="loginFramePD">密码</label></dd>' + 
					  '<dd>' + 

					  '<button type="submit" class="loogbtn">登录</button> &nbsp; &nbsp; <a href="http://6.cn/help/fpasswd.php">忘记密码</a> &nbsp; <a href="http://6.cn/reg.php">立即注册</a>' +
					  '<input type="hidden" name="action" value="login" />' +
					  '<input type="hidden" name="back" value="1" />' +
					  '<input type="hidden" id="nextAction" name="next_action" value="' + document.location.href + '" />' + 
					  '</dd>' +
					  '</dl>' +
					  '</form>' ;
		}
		return headStr ;
	} ,
	
	
	write : function() {
		var htmlstr = this.getHtml() ;
		document.write(htmlstr) ;
		if(!this.estr && pageMessage.status == 'www') {
			this.get('header') ;
		}
	} ,
	
	getExtraHtml : function(type) {
		var htmlstr ;
		switch(type) {
			case 'msn' :
				htmlstr = (pageMessage.msnNum ? '<a href="http://6.cn/user/inbox.php"><img src="http://r.6.cn/imges/newmail.gif" alt="" /></a>&nbsp;<b><a href="http://6.cn/user/inbox.php" class="loading" >(' + pageMessage.msnNum + ')</a></b>' : '<a href="http://6.cn/user/inbox.php"><img src="http://r.6.cn/imges/nomail.gif" alt="" /></a> <b><a href="http://6.cn/user/inbox.php">(0)</a></b>') + ' &nbsp;|&nbsp;' ;
				break ;
		}
		return htmlstr ;
	} ,
	
	proEstr : function(str) {
		if(isNaN(str)) {
			arr = str.trim().split('|') ;
			pageMessage.msnNum = eval(arr[0]) ;
			pageMessage.score = eval(arr[1]) ;
			pageMessage.upic = arr[2] ;	
			pageMessage.comments = arr[3] ;	
			pageMessage.bwCheck = arr[4] ;
			pageMessage.curTime = arr[5] ;
			pageMessage.gender = arr[6] || 0 ;
			pageMessage.levelid = arr[7] || 0 ;
			pageMessage.level = arr[8] || '' ;
		}
		else
			pageMessage.curTime = str ;	
	} ,
	
	get : function(type) {
		var url = '/api/refreshuser.php' ;
		var callback = this.back.bind(this) ;
		var data = "" ;
		var extra = type ;
		Request.reSend(url,data,callback,extra) ;
	} ,
	
	back : function(httpObj , extra) {
		var obj = httpObj.responseText ;
		this.estr = getCookie('_info') ;
		this.proEstr(this.estr) ;
		if(extra == 'header') {
			if(isNaN(this.estr))
				$('msnNum').innerHTML = this.getExtraHtml('msn') ;
		}
	}
})

login.implement(new Events, new Options);

// ================================================= new idx ========================================

// 【MT】 ====== idxTagTAb ======
function idxTagTab(ele , num , tagName , className , img) {
	var cur_content = $$(tagName+'.'+className).setStyle('display' , 'none')[num].setStyle('display' , 'block') ;
	var cur_tab = $$(ele.parentNode.parentNode.getElementsByTagName('li')).removeClass('on')[num].addClass('on') ;
	if(img)
		$each(cur_content.getElementsByTagName('img') , function(e){e.src = e.parentNode.rel}) ;
}

// 【MT】 ====== zj star ======

var plStar = {
	json : null  ,
	
	display : function() {
		var obj = this.json.getRandom() ;
		new Element('div' , {'class':'sideBao spacing' , 'id':'idxZjKing'}).adopt(
			new Element('h5').setHTML('专辑之星')
		).adopt(
			new Element('div' , {'class':'sideBaoContent'}).adopt(
				new Element('div' , {'class':'userTop'}).setHTML('<dl><dt><a target="_blank" href="/profile/' + obj.user.id  + '.html"><img  width="60" height="45" src="' + obj.user.pic + '" /></a></dt><dd><a target="_blank" href="/profile/' +obj.user.id  + '.html">' + obj.user.username + '</a></dd><dd>专辑数: <b><a href="/profile/playlist.php?u=' + obj.user.id + '" target="_blank">' + obj.user.total + '</a></b></dd></dl>')
			).adopt(
				new Element('div' , {'class':'userPls'}).setHTML('<ul>' + obj.playlist.map(function(e){return '<li><a target="_blank" href="/profile/playlist.php?p=' + e.id + '">' + e.title + '</a></li>'}).join('') + '</ul>')
			).adopt(
				new Element('p' , {'class':'more'}).setHTML('<a href="/profile/playlist.php?u=' + obj.user.id + '">进入专辑库</a>')
			)
		).injectBefore($('idxUsersChartBw')) ;  
	}
}

// 【MT】 ====== idxLogin ======
var idxLogin = {
	
	check : function() {
		if(!pageMessage.userCheck)
			$('idxLogin').style.display = 'block' ;
		else if(pageMessage.comments){
			this.checkBack() ;
		}
		else {
			var url = '/api/refreshuser.php' ;
			var thisObj = this ;
			var callback = function(e) {thisObj.checkBack(e)} ;
			var data = "" ;
			Request.reSend(url,data,callback) ;
		}
	} ,
	
	checkBack : function(httpObj) {
		if(httpObj && httpObj.responseText) {
			var str = getCookie('_info') ;
			userLogin.proEstr(str) ;
		}
		new Element('div' , {'id':'idxUserMessage' , 'class':'spacing loginFrame'}).adopt(
			new Element('h5').setHTML((pageMessage.msnNum != 0 ? '<a target="_blank" href="/user/inbox.php">有新消息(' + pageMessage.msnNum + ')</a>' : '') + '你好，' + pageMessage.username)																   	
		).adopt(
			new Element('div' , {'class':'sideBaoContent'}).adopt(
				new Element('div' , {'class':'stepBao'}).adopt(											  
					new Element('dl').setHTML('<dt class="userPic"><a target="_blank" href="/profile/' + pageMessage.uid + '.html"><img src="' + pageMessage.upic + '" width="50" height="50" /></a></dt><dd>节目被评论：<a target="_blank" href="/user/mc.php?a=t" style="font-weight:bold;">' + pageMessage.comments + '</a></dd><dd>积分增加：<a target="_blank" href="/about/level.php" style="font-weight:bold;">' + pageMessage.score + '</a></dd>')												  
				).adopt(
					new Element('p' , {'class':'ad'}).setHTML(pageMessage.bwCheck != 1 ? '<a target="_blank" href="http://6.cn/s/bwjj/"><img src="http://r.6.cn/imges/new_idx/btn_join.gif" alt="" /></a>' : '') 
				)
			).adopt(
				new Element('p' , {'class':'more'}).setHTML('<a href="/user/mv.php">进入我的菜单</a> &nbsp; <a href="/user/editprofile.php">修改个人资料</a>')
			) 
		).injectAfter('idxPlayer') ;	
	}
}

// gaga mdfor1 
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('2 E={d:{},F:6(f){$G(\'.H\').p(6(g){3(g.r(\'a\')[0])4.d[g.I]=g.r(\'a\')[0].J},4);2 s=\'/K/\'+f+\'.L\';2 t=4.u.M(4);2 v="";N.O(s,v,t)},u:6(w){2 x=w.P;2 7=Q.R(x);2 S=7.y;2 T=7.z;2 U=q V();7.y.p(6(e){3(e.8&&e.9){A{2 8=h.i.j(e.8.k(\',\'))();2 9=h.i.j(e.9.k(\',\'))()}B(e){2 8=0;2 9=0}3(l.m>8&&l.m<9){2 5=C(1/e.W);3($n(1,5)==$n(1,5)&&4.d[e.f])q D().o=4.d[e.f]}}},4);7.z.p(6(e){3(e.b&&e.c){A{2 b=h.i.j(e.b.k(\',\'))();2 c=h.i.j(e.c.k(\',\'))()}B(e){2 b=0;2 c=0}3(l.m>b&&l.m<c){2 5=C(1/e.X);3($n(1,5)==$n(1,5)&&e.o)q D().o=e.o}}})}}',60,60,'||var|if|this|mx|function|obj|start1|end1||start2|end2|aysObj||type|ele|aptime|toTime|pass|split|pageMessage|curTime|random|src|each|new|getElementsByTagName|url|callback|back|data|httpObj|ret|yes|no|try|catch|parseInt|Image|mdFor1|get|ES|ays|id|href|mdfor|js|bind|Request|reSend|responseText|Json|evaluate|yes_arr|no_arr|dateObj|Date|p1|p2'.split('|'),0,{}))

// 【MT】 ====== idx history ======

var idxHistory = {
	pub : {
		firstTime : 1178725801000 , 
		day_Timestamps : 86400000 
	} ,

	get : function() {
		pageMessage.idx_curTime = pageMessage.idx_curTime*1000
		var url = '/a/time.html';
		var callback = this.back.bind(this) ;
		var data = "";
		Request.reSend(url,data,callback);
	} ,
	
	back : function(httpObj) { 
		var obj = httpObj.responseText ;
		pageMessage.idx_todayTime = obj.toInt()*1000 ;
		var pageTotal = Math.ceil((pageMessage.idx_todayTime - this.pub.firstTime)/this.pub.day_Timestamps) + 1 ;
		var page = pageMessage.idx_curTime == 0 ? 1 : Math.ceil((pageMessage.idx_todayTime - pageMessage.idx_curTime)/this.pub.day_Timestamps) + 1;

		var apple = new datePage(page , pageTotal , pageMessage.idx_todayTime) ;
		$('idxPage').getElementsByTagName('p')[0].innerHTML = apple.display() ;
	}
}

// 【MT】 ====== idx banner ======

var topBannerAd = new Class({
	
	options : {
		closePic : 'http://r.6.cn/imges/idxad/ic_close.gif' ,
		width : 940 ,
		height : 50
	} ,
	
	initialize : function(href , pic , title , options) {
		//if(jcookie.get('idxTopBanner') == 'close')
		//	return false ;
		this.setOptions(options) ;
		this.href = href ;
		this.pic = pic ;
		this.title = title ;
		var ele = new Element('div' , {'id':'topBannerBao'}).setHTML('<div id="topBanner"><a target="_blank" href="' + this.href + '"><img width="' + this.options.width + '" height="' + this.options.height + '"  src="' + this.pic + '" title="' + this.title + '" /></a><span style="background:url(' + this.options.closePic + ')"></span></div>').injectTop(document.body) ;
		this.myslide = new Fx.Slide($('topBanner')).hide();
		$('topBanner').getElementsByTagName('span')[0].onclick = this.display.bind(this , 0) ;	
		// load img
		new Image().src = pic ;
	} ,
	
	display : function(type) {
		if(type) {
			if($('topBannerBao'))
				this.myslide.slideIn() ;
		}
		else {
		//	jcookie.set('idxTopBanner' , 'close') ;
			this.myslide.slideOut() ;	
		}
	}
}) ;


topBannerAd.implement(new Events, new Options);

// nav lower

navLower = {
	pub : {
		ele : null ,
		timer : null
	} ,
	
	display : function (type) {
		if(this.timer) $clear(this.timer) ;
		if(type) {
			this.pub.ele.style.display = 'block' ;
		}
		else {
			this.pub.ele.style.display = 'none' ;
		}
	} ,

	mouse : function (type , ele) {
		this.pub.ele = ele.parentNode.getElementsByTagName('ol')[0]
		if(type)
			this.display(1) ;
		else
			this.timer = (function(){this.display(0)}).bind(this).delay(500) ;
	} 
} 

// 【MT】 ====== idx like tab ======

var idxLikeAutoTab = {
	pub : { } ,
	
	menuTab : function(ele) {
		var bao = ele.parentNode.parentNode ;
		$$(bao.getElementsByTagName('dt')).removeClass('on') ;
		$(bao.getElementsByTagName('dd')[0].getElementsByTagName('a')[0]).setHTML('更多' + ele.innerHTML).setProperty('href' , ele.href) ;
		$(ele.parentNode).addClass('on') ;
	} ,
	
	tab : function(ele , className) {
		this.menuTab(ele) ;
		this.display(ele , className) ;
	} ,
	
	display : function(ele , className) {
		var bao = $(ele.parentNode.parentNode.parentNode) ;
		bao.getElementsByClassName('stepBao').setStyle('display' , 'none') ;
		var showEle = bao.getElementsByClassName(className)[0] ;
		if(!showEle.innerHTML) {
			this.pub[className].each(function(e) { 
				var div1 = document.createElement('div') ;
				div1.className = 'videobar-showlist' ;
				var p2 = document.createElement('p') ;
				p2.className = 'videobar1' ;
				p2.innerHTML = '<a href="http://6.cn/watch/' + e.vid  + '.html" target="_blank"><img src="' + e.pic + '" /></a><em class="addQlist" title="放入点播单" onclick="ql.addQlist(this)"></em>'
				var dl3 = document.createElement('dl') ;
				dl3.innerHTML = '<dt><em>' + e.ll + '</em><a class="c" href="http://6.cn/channel/show/' + e.cid + '.html" target="_blank">[' + e.channel + ']</a> &nbsp; <a href="http://6.cn/watch/' + e.vid + '.html" target="_blank">' + e.title + '</a></dt>' +
								'<dd class="memo">' + e.memo + '</dd>' +
								'<dd>上传: <a href="/profile/' + e.uid + '.html" target="_blank">' + e.username + '</a>' + (e.uostatus == 1 ? '<a target="_blank" href="http://6.cn/s/bwjj/" /><img class="bwUser" src="http://r.6rooms.com/imges/bw/ic_candidates.gif" alt="原创用户" title="原创用户"  /></a>' : '') + ' &nbsp;  &nbsp;  &nbsp;  &nbsp; ' + (className == 'idxLikeViewed' ? '今日' : '') + '播放: <em ' + (e.views > 50 ? 'class="loading"' : '') + '>' + e.views + '</em> &nbsp; &nbsp; ' + (className == 'idxLikeDiscussed' ? '今日' : '') + '评论: <em '+ (e.comments > 50 ? 'class="loading"' : '') + '>' + e.comments + '</em></dd>' ;
				div1.appendChild(p2) ;
				div1.appendChild(dl3) ;
				showEle.appendChild(div1) ;
				showEle.style.display = 'block' ;
			})
		}
		else
			showEle.style.display = 'block' ;
	}
}

// 【MT】 ====== idxChannel tab ======

var idxLikeAjaxTab = new Class({
	options : {
	} ,
	
	initialize : function(apiUrl , options) {
		this.setOptions(options) ;
		this.apiUrl = apiUrl;
	} ,
	
	splitParmStr : function(str) {
		var obj = {} ;
		var arr = str.split('&') ;
		arr.each( function(e){ 
			var type = e.slice(0 , 1) ;
			var value = e.substr(e.indexOf('=')+1) ;
			obj[type] = value ;
		 } )
		 this.curParm = obj ;
	} ,
	
	tabMenu : function(ele) {
		var bao = $(ele.parentNode.parentNode) ;
		if(bao.hasClass('tab')) {
			$$(bao.getElementsByTagName('li')).removeClass('on') ;
			$(ele.parentNode).addClass('on') ;
		}
	} ,
	
	getBao : function(ele) {
		var bao = $(ele.parentNode.parentNode.parentNode) ;
		if(!bao.hasClass('left'))
			this.bao = $(bao.parentNode).getElementsByClassName('stepBao')[0] ;
		else
			this.bao = $(bao.parentNode) ;
	} ,
	
	send : function(parmStr , ele) {
		this.tabMenu(ele) ;	
		this.splitParmStr(parmStr) ;
		this.getBao(ele) ;
		var url = this.apiUrl + '?' + parmStr ;
		var callback = this.back.bind(this) ;
		var data = "" ;
		nowLoading(this.bao , 1 , 'empty') ;
		Request.reSend(url,data,callback) ;
	} ,
	
	back : function(httpObj) {
		nowLoading(this.bao , 0) ;
		var ret = httpObj.responseText ;
		var obj = Json.evaluate(ret) ;
		this.display(obj) ;
	} ,
	
	display : function(arr) {
		var div1 = document.createElement('div') ;
		div1.className = 'left' ;
		var sArr = [['d','本日'] , ['w','本周'] , ['m','本月'] , ['a','全部']] ;
		if(this.curParm.o != 'n') {
			div1.innerHTML = '<ul>' +
							 sArr.map( function(e){ return '<li ' + (this.curParm.s == e[0] ? 'class="on"' : '') + '><a href="#" rel="' + ('o=' + this.curParm.o + '&c=' + this.curParm.c + '&s=' + e[0]) + '">' + e[1] + '</a></li>' } , this ).join('')  +
							 '</ul>' ;
			this.bao.appendChild(div1) ;
			$$(div1.getElementsByTagName('a')).each( function(e , k) { $(e).addEvent( 'click' , (function(e){ this.send(e.target.rel , e.target); e.preventDefault(); }).bindWithEvent(this) ) } ,  this ) ;
		}
		var div2 = document.createElement('div') ;
		div2.className = 'right' ;
		this.bao.appendChild(div2) ;
		var div3 = null ;
		arr.each( function(e , k) {
			if(k%3 == 0) {
				div3 = document.createElement('div') ;
				div3.className = 'stepBao' ;
				div2.appendChild(div3) ;
			}
			var div4 = document.createElement('div') ;
			div4.className = 'videobar-showb' ;
			div4.innerHTML = '<p class="videobar1"><a href="/watch/' + e.vid + '.html" target="_blank"><img src="' + e.pic + '" title="' + e.titleLong + '" alt=""/></a><em class="addQlist" title="放入点播单" onclick="ql.addQlist(this)"></em></p>' +
							 '<dl>' +
							 '<dt><a href="/watch/' + e.vid + '.html" title="' + e.titleLong + '" target="_blank">' + e.title + '</a></dt>' +
							 '<dd>片长: <em>' + e.ll + '</em></dd>' +
							 '<dd>上传: <a href="/profile/' + e.uie + '.html" target="_blank">' + e.username + '</a>' + (e.uostatus == 1 ? '<a target="_blank" href="http://6.cn/s/bwjj/" /><img id="bwUser" src="http://r.6.cn/imges/bw/ic_candidates.gif" alt="原创用户" title="原创用户"  /></a>' : '') + '</dd>' +
							 '<dd>播放: <em ' + (e.views > 50 ? 'class="loading"' : '') + '>' + e.views + '</em> &nbsp;评论: <em '+ (e.comments > 50 ? 'class="loading"' : '') + '>' + e.comments + '</em></dd>' +
							 '</dl>' ;
			div3.appendChild(div4) ; 
		} , this)
	}
})

idxLikeAjaxTab.implement(new Options);

// 【MT】 ====== scroll show ======

var ScrollShow = new Class({
	
	options : {
		className : 'scrollShow' ,
		pageNumber : 4 ,
		pageWidth : 598  ,
		eleObj : {}
	} ,
	
	initialize : function(elements , options) {
		this.setOptions(options);
		var eleArr = $$('.' + this.options.className) ;
		eleArr.each(function(e) {
			var id = getRandNoReapt('show') ;
			e.id = id ;
			this.options.eleObj[id] = {} ;
			var total = getElementsByClassName(e, 'div', 'videobar-showb').length ;
			var pageTotal = Math.ceil(total / this.options.pageNumber) ;
			this.options.eleObj[id].page = 1 ;
			this.options.eleObj[id].pageTotal = pageTotal ;
			var btnStr = '' ;
			var navEle = e.getElements('.header .nav')[0] ;
			var btnEle = e.getElements('.header .btn')[0] ;
			for(var i=0 ; i < pageTotal ; i++) {
				var a1 = document.createElement('a') ;
				a1.href = '#' ;
				a1.className = i ? '' : 'on' ;
				a1.innerHTML = i+1 ;
				$(a1).addEvent('click' , function(evt){ this.scroll(evt.target.innerHTML , id) ; evt.stop() ; }.bindWithEvent(this)).addEvent('focus' , function(evt){ evt.target.blur() }.bindWithEvent(this)) ;
				navEle.appendChild(a1) ;
			}
			navEle.setStyle('display' , 'block') ;
			for(var i=0 ; i < 2 ; i++) {
				$(btnEle.getElementsByTagName('a')[i]).addEvent('click' , function(evt){ this.lr(evt.target.innerHTML , id) ; evt.stop() ; }.bindWithEvent(this)).addEvent('focus' , function(evt){ evt.target.blur() }.bindWithEvent(this))
			}
			btnEle.setStyle('display' , 'block').getElements('a')[0].addClass('disabled') ;
		} , this) ;
	}  ,
	
	scroll : function(num , id) {
		this.checkNav(num , id) ;
		this.checkBtn(num , id) ;
		this.getSrc(id) ;
		var end = -this.options.pageWidth*(num-1) ;
		$(id).getElementsByClassName('bao')[0].effect('margin-left').start(end) ;
		this.options.eleObj[id].page = num ;
	} ,
	
	lr : function(str , id) {
		var addNum = str == 'l' ? -1 : 1 ;
		var curNum = this.options.eleObj[id].page + addNum ;
		if(curNum < 1)
			curNum = 1 ;
		else if(curNum > this.options.eleObj[id].pageTotal)
			curNum = this.options.eleObj[id].pageTotal ;
		this.scroll(curNum  , id)
	} ,
	
	getSrc : function(id) {
		if(!this.options.eleObj[id].getSrcNum) {
			this.options.eleObj[id].getSrcNum = 1 ;
			$A(getElementsByClassName($(id) , 'div' , 'videobar-showb')).each( function(e){
				var pEle = e.getElementsByTagName('p')[0] ;
				pEle.getElementsByTagName('img')[0].src = pEle.getElementsByTagName('a')[0].rel ;
			})
		}
	} ,
	
	checkNav : function(num , id){
		$$($(id).getElements('.header .nav')[0].getElementsByTagName('a')).removeClass('on')[num-1].addClass('on') ;
	} ,
	
	checkBtn : function(num , id){
		var aArr = $$($(id).getElements('.header .btn')[0].getElementsByTagName('a')) ;
		aArr.removeClass('disabled') ;
		if(num == 1)
			aArr[0].addClass('disabled') ;
		else if(num == this.options.eleObj[id].pageTotal)
			aArr[1].addClass('disabled') ;
	}
})

ScrollShow.implement(new Events, new Options);

// 【MT】 ====== one img  focus change ======

var FocusChange = new Class({
	options : {
		delay : 5000
	} ,
	
	initialize : function(imgEle , urlEle, images ,  options) {
		this.setOptions(options) ;
		this.images = images ;
		this.imgEle = imgEle ;
		this.urlEle = urlEle ;
		
		this.max = this.images.length -1 ;
		// loop
		this.loopNum = 0 ;
		// loading 
		this.loadNum = 0 ;
		this.loopLoad() ;
	} ,
	
	loopLoad : function() {
			if(this.loadNum > this.max)
				return false ;
			var im = new Image() ;
			var thisObj = this ;
			im.onload = function(){ thisObj.loadNum++ , thisObj.loopLoad.delay(100 , thisObj) } ;
			im.src = this.images[this.loadNum].src ;
	} ,
	
	display : function() { 
		this.show.periodical(this.options.delay , this) ;
	} ,
	
	show : function() {
		if(this.loopNum > this.max)
			this.loopNum = 0 ;			
		if(browser.msie){		
			this.imgEle.filters(0).apply();
			this.imgEle.src = this.images[this.loopNum].src ;
			this.urlEle.href = this.images[this.loopNum].url ;
			this.imgEle.filters(0).play();
		}
		else {
			this.imgEle.src = this.images[this.loopNum].src ;
			this.urlEle.href = this.images[this.loopNum].url ;
		}
		this.loopNum++ ;
	}	
}) ;

FocusChange.implement(new Events, new Options) ;

// 【MT】 ====== calendar ======

var Ncalendar = new Class({
						 
	options : {
		lng : 'cn' ,
		dateFormat : 'y,m,d,0,0,0'
	} ,
							 				 
    initialize: function(el,options) {	
		this.setOptions(options);
		var lng = new Object();
		lng['en'] = {
			month : ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
			day : ['S','M','T','W','T','F','S'],
			first: 0 // Sunday
		};
		
		lng['cn'] = {
			month : ['一月','二月','三月','四月','五月','六月','七月','八月','九月','十月','十一月','十二月'],
			day : ['一','二','三','四','五','六','日'],
			first: 1 // First day of week => Monday
		};
	
		/* configuration */
		this.config = {
			  Lng: lng[this.options.lng],
			  imgNext: 'http://r.6.cn/imges/ncalendar/next.png',
			  imgPrev: 'http://r.6.cn/imges/ncalendar/prev.png',
			  imgCancel: 'http://r.6.cn/imges/ncalendar//cancel.gif'
		};
	
		this.month_name = this.config.Lng.month;
		this.day_name =  this.config.Lng.day;
		return this ;
		
    },
	
	display : function(el) {
		this.input = $(el);
		if(!this.div)
			this.create_calendar() ;
		else
			this.effect(this.div , 'show')
	} ,
	
	setPosition : function() {
		var position = this.input.getCoordinates();
		this.div.setStyles({'top':(position.top+position.height)+'px', 'left':(position.left)+'px'})
	} ,
	
	create_calendar: function() {		
		
		// if ($('ncalendar')) $('ncalendar').remove();
		// content div  //
		this.div = new Element('div').setProperty('id', 'ncalendar').injectInside(document.body);
		this.setPosition() ;
		this.div.makeDraggable();
		this.nav();
		this.setdate(this.input.getProperty('value'));
			this.effect(this.div,'show');
	} ,
		
	nav: function (today) {
		  // nav
		this.calendardiv = new Element('div').injectInside(this.div);
		this.title = new Element('strong').injectInside(this.calendardiv);
		// next month
		this.next = new Element('img').setProperty('src', this.config.imgNext).injectAfter(this.title);
		// before month
		this.before = new Element('img').setProperty('src', this.config.imgPrev).injectBefore(this.title);
		// close
		this.close = new Element('img').setProperty('src', this.config.imgCancel).injectAfter(this.next);
		// table
		this.table = new Element('table').injectInside(this.div);
		var thead = new Element('thead').injectInside(this.table);
		var tr = new Element('tr').injectInside(thead);
		this.day_name.each(function (day) {
				var td = new Element('th').appendText(day).injectInside(tr);
		});
		var localThis = this;
		this.close.addEvent('click', function(e) {
		  // apple								  
		  localThis.effect(localThis.div , 'fade')
		});
	},
	
	setdate : function(date) {
		// reset event nav
		this.next.removeEvents('click');
		this.before.removeEvents('click');
		if (!this.validate_date(date)) {
        	this.today = new Date();
		    this.today.setDate(1);
     	} 
		else {
      		var dateinp = date.split('/');
    		this.today = new Date(dateinp[2],dateinp[1]-1,dateinp[0],0,0,0);
		}
		this.next_m = this.today.getMonth();
		this.next_m++;

		try { 
			this.title.innerHTML = this.month_name[this.today.getMonth()]+' ' + this.today.getFullYear(); 
		} 
		catch (e) {
			this.title.innerText = this.month_name[this.today.getMonth()]+' ' + this.today.getFullYear(); 
		}
		var localThis = this;

			// event next
		this.next.addEvent('click', function(e) {
        	var date = localThis.today;
     	    date.setMonth(localThis.next_m+1,1);
	        localThis.tbody.remove();
            localThis.setdate(date.getDate()+'/'+date.getMonth()+'/'+date.getFullYear());
  		});
  		// event before
		this.before.addEvent('click', function(e) {
			var date = localThis.today;
			date.setMonth(localThis.next_m-1,1);
			localThis.tbody.remove();
			localThis.setdate(date.getDate()+'/'+date.getMonth()+'/'+date.getFullYear());
		});
		var LastMonth = new Date(this.today.getFullYear(),this.next_m-2,1,0,0,0);

		var last = LastMonth.getMonth();
		// total days the last month
		var counter = 0;
		for (var b = 1; b <= 31; b++) {
		  	LastMonth.setDate(b);
			if ( LastMonth.getMonth() == last)
			  counter++;
		}

		this.tbody = new Element('tbody').injectInside(this.table);
		var first_day = this.today;
		var last_day = this.today;
		this.month = this.today.getMonth();
   		var tr = new Element('tr').injectInside(this.tbody);
  		var day=0;

		/* first day week */
		first_day.setDate(1);
		var rest = (!first_day.getDay())? 6: first_day.getDay()-1;
		counter = counter - rest;
		for (var i= this.config.Lng.first; i <= 6; i++) {
			if (first_day.getDay() == i) {
				break;
			 } 
			 else {
				counter++;
				LastMonth.setDate(counter);
				if (LastMonth.getMonth() == this.today.getMonth()) LastMonth.setMonth(this.today.getMonth()-1);
				this.create_td(tr,counter,LastMonth,'noday');
			}
   		}
		(this.config.Lng.first)? brea_k = 1 : brea_k = 0;
   /* everydays */
		var date_s = this.today;
		var class_Css;
		var brea_k; // breaking week
		var daycounter = 0;
		for (var i = 1; i <= 31; i++) {
			date_s.setDate(i);
			if (date_s.getMonth() == this.month) {
				daycounter++;
				if (date_s.getDay() == brea_k) {
					var tr = new Element('tr').injectInside(this.tbody);
				}
				class_Css = (!date_s.getDay())? 'sunday' : '';
				this.create_td(tr,i,date_s,class_Css);
			}
		}
		this.today.setMonth(this.month);
       	this.today.setDate(daycounter);
       	var NextMonth = new Date(this.today.getFullYear(),this.today.getMonth()+1,1,0,0,0);
		// finish month
		var num = date_s.getDay();
		num = (brea_k)? 7 - num: 6 - num;
		var b;
		b = (brea_k)? 0 : 6 ;
        if (this.today.getDay() != b) {
			  for (var i= 1; i <= (num); i++) {
				  NextMonth.setDate(i);
						this.create_td(tr,i,NextMonth,'noday');
				}
    	}
		this.effect(this.tbody,'show');
    },
	
	timeFormat : function(y , m , d) {
		var value = ''
		switch(this.options.dateFormat) {
			case 'dd/mm/yyyy' :
				value = d + '/' + m +'/' + y ;
				break ;
			case 'yyyy-mm-dd' :
				value = y + '-' + m + '-' + d ;
				break	
			case 'yyyy,mm,dd' :
				value = y + ',' + m + ',' + d ;
				break ;
			case 'y,m,d,0,0,0' :
				value = y + ',' + m + ',' + d + ',0,0,0' ;
				break ;
		}
		return value ;
	} ,
	
		
	create_td: function(tr,i,date,class_Css) {
        var localThis = this;
		var td = new Element('td');
		if (date) {
			var dia = date.getDate();
			var mes = (date.getMonth()+1);
			//  9 to 09 or another number <= 9
			if (dia <= 9) dia = "0"+ dia;
			if (mes <= 9) mes = "0"+ mes;
			var year = date.getFullYear() ;
			td.setProperty('id', this.timeFormat(year,mes,dia));
    	}
        td.addEvent('click', function(e) {
       		localThis.input.value = this.id;
			// localThis.effect(localThis.div,'fade');
			// 
			localThis.effect(localThis.div , 'fade')
  		});
  		td.addEvent('mouseover', function(e) {
			this.addClass('dayselected');
  		});
  		td.addEvent('mouseout', function(e) {
			this.removeClass('dayselected');
  		});

		if (class_Css) td.addClass(class_Css);
		// Today ??
		var today = new Date();
		today = today.getDate() + "/" + (today.getMonth()+1) + "/" + today.getFullYear();
		if (date) var date_td = date.getDate() + "/" + (date.getMonth()+1) + "/" + date.getFullYear();
		if (today == date_td) td.addClass('isToday');
		td.appendText(i);
		td.injectInside(tr);
	},
	
	effect: function(div,op) {
		if(op == 'show' && this.div == div) {
			this.setPosition() ;
			this.div.style.display = 'block'
		}
		var ef = new Fx.Style(div, 'opacity', {
			duration: 200 ,
			onComplete : op == 'fade' ? function(){this.element.style.display = 'none'} : Class.empty 
			// transition: Fx.Transitions.quartInOut
		});
		(op == 'fade')? ef.start(0): ef.start(1);
	},
	
	validate_date: function (date) {
		var regex = /^(\d{1,2})\/(\d{1,2})\/(\d{4})$/;
		return date.test(regex);
	}
	
});
Ncalendar.implement(new Options);
