/*#############################################################
Name: Select to CSS
Version: 0.2
Author: Utom
URL: http://utombox.com/
#############################################################*/
var selects = document.getElementsByTagName('select');

var isIE = (document.all && window.ActiveXObject && !window.opera) ? true : false;

function $(id) {
	return document.getElementById(id);
}
function trim(val)
{
	var str = val+"";
	if ( str.length == 0 ) 
		return str;		
	var re = /^\s*/;
	str = str.replace(re,'');
	re = /\s*$/;
	return str.replace(re,'');
}
function checkSearchForm(frm)
{
	var t = frm.type.value;
	frm.action='http://www.31tg.com/search.asp';
	var skey = trim(frm.keyword.value);
	if (skey=="")
	{
		alert('请输入你要找的歌名或专辑名! \n\n输入歌手就可以找到该歌手的所有歌曲或专辑 如:周杰伦\n\n输入 歌手 歌曲名 搜索结果更准确 如：周杰伦 夜曲\n\n如果需要同时搜索多首歌,请输入 歌名1+歌名2... 如：花田错+求佛+霍元甲');
		frm.keyword.focus();
		return false;
	}
	return true;
}

function stopBubbling (ev) {	
	ev.stopPropagation();
}
function rSelects() {
	for (i=0;i<selects.length;i++){
		selects[i].style.display = 'none';
		select_tag = document.createElement('div');
			select_tag.id = 'select_' + selects[i].name;
			select_tag.className = 'select_box';
		selects[i].parentNode.insertBefore(select_tag,selects[i]);

		select_info = document.createElement('div');	
			select_info.id = 'select_info_' + selects[i].name;
			select_info.className='tag_select';
			select_info.style.cursor='pointer';
		select_tag.appendChild(select_info);

		select_ul = document.createElement('ul');	
			select_ul.id = 'options_' + selects[i].name;
			select_ul.className = 'tag_options';
			select_ul.style.position='absolute';
			select_ul.style.display='none';
			select_ul.style.zIndex='999';
		select_tag.appendChild(select_ul);

		rOptions(i,selects[i].name);
		
		mouseSelects(selects[i].name);

		if (isIE){
			selects[i].onclick = new Function("clickLabels3('"+selects[i].name+"');window.event.cancelBubble = true;");
		}
		else if(!isIE){
			selects[i].onclick = new Function("clickLabels3('"+selects[i].name+"')");
			selects[i].addEventListener("click", stopBubbling, false);
		}		
	}
}


function rOptions(i, name) {
	var options = selects[i].getElementsByTagName('option');
	var options_ul = 'options_' + name;
	for (n=0;n<selects[i].options.length;n++){	
		option_li = document.createElement('li');
			option_li.style.cursor='pointer';
			option_li.className='open';
		$(options_ul).appendChild(option_li);

		option_text = document.createTextNode(selects[i].options[n].text);
		option_li.appendChild(option_text);

		option_selected = selects[i].options[n].selected;

		if(option_selected){
			option_li.className='open_selected';
			option_li.id='selected_' + name;
			$('select_info_' + name).appendChild(document.createTextNode(option_li.innerHTML));
		}
		
		option_li.onmouseover = function(){	this.className='open_hover';}
		option_li.onmouseout = function(){
			if(this.id=='selected_' + name){
				this.className='open_selected';
			}
			else {
				this.className='open';
			}
		} 
	
		option_li.onclick = new Function("clickOptions("+i+","+n+",'"+selects[i].name+"')");
	}
}

function mouseSelects(name){
	var sincn = 'select_info_' + name;

	$(sincn).onmouseover = function(){ if(this.className=='tag_select') this.className='tag_select_hover'; }
	$(sincn).onmouseout = function(){ if(this.className=='tag_select_hover') this.className='tag_select'; }

	if (isIE){
		$(sincn).onclick = new Function("clickSelects('"+name+"');window.event.cancelBubble = true;");
	}
	else if(!isIE){
		$(sincn).onclick = new Function("clickSelects('"+name+"');");
		$('select_info_' +name).addEventListener("click", stopBubbling, false);
	}

}

function clickSelects(name){
	var sincn = 'select_info_' + name;
	var sinul = 'options_' + name;	

	for (i=0;i<selects.length;i++){	
		if(selects[i].name == name){				
			if( $(sincn).className =='tag_select_hover'){
				$(sincn).className ='tag_select_open';
				$(sinul).style.display = '';
			}
			else if( $(sincn).className =='tag_select_open'){
				$(sincn).className = 'tag_select_hover';
				$(sinul).style.display = 'none';
			}
		}
		else{
			$('select_info_' + selects[i].name).className = 'tag_select';
			$('options_' + selects[i].name).style.display = 'none';
		}
	}

}

function clickOptions(i, n, name){		
	var li = $('options_' + name).getElementsByTagName('li');

	$('selected_' + name).className='open';
	$('selected_' + name).id='';
	li[n].id='selected_' + name;
	li[n].className='open_hover';
	$('select_' + name).removeChild($('select_info_' + name));

	select_info = document.createElement('div');
		select_info.id = 'select_info_' + name;
		select_info.className='tag_select';
		select_info.style.cursor='pointer';
	$('options_' + name).parentNode.insertBefore(select_info,$('options_' + name));

	mouseSelects(name);

	$('select_info_' + name).appendChild(document.createTextNode(li[n].innerHTML));
	$( 'options_' + name ).style.display = 'none' ;
	$( 'select_info_' + name ).className = 'tag_select';
	selects[i].options[n].selected = 'selected';

}
//tab 切换
function etabit(btn){
	var idname = new String(btn.id);
	var s = idname.indexOf("_");
	var e = idname.lastIndexOf("_")+1;
	var tabName = idname.substr(0, s);
	var id = parseInt(idname.substr(e, 1));
	var tabNumber = btn.parentNode.getElementsByTagName("li").length;
	for(var i=0;i<tabNumber;i++)
	{
		document.getElementById(tabName+"_div_"+i).style.display = "none";
		document.getElementById(tabName+"_btn_"+i).className = "";
	}
	document.getElementById(tabName+"_div_"+id).style.display = "block";
	btn.className = "curr";
}

window.onload = function(e) {
	bodyclick = document.getElementsByTagName('body').item(0);
	rSelects();
	bodyclick.onclick = function(){
		for (i=0;i<selects.length;i++){	
			$('select_info_' + selects[i].name).className = 'tag_select';
			$('options_' + selects[i].name).style.display = 'none';
		}
	}
}

//function killErrors(){return true;}window.onerror=killErrors;
var hostname = "31tg.com"
document.domain = hostname;

function getObject(idname) {
	if (document.getElementById) { 
		return document.getElementById(idname);
	} else if (document.all) {
		return document.all[idname];
	} else if (document.layers) {
		return document.layers[idname];
	} else {
		return null;
	}
}
function getTags(parentobj, tag){
	if (parentobj == null) {
		return new Array();
	} else if (typeof parentobj.getElementsByTagName != 'undefined') {
		return parentobj.getElementsByTagName(tag);
	} else if (parentobj.all && parentobj.all.tags) {
		return parentobj.all.tags(tag);
	} else {
		return new Array();
	}
}

function lbsong(form){
	var j=0;
	var k=form.elements.length;
	if (k>100){k=100}
	var v = [];
	 for (var i=0;i < k;i++){
		var e = form.elements[i];
		if (e.type=="checkbox"){
			if (e.checked == true){
				v.push(form.elements[i].value);
			}
		}
	 }
	//alert(v.length);
	if (v.length != 0){
		window.open("/play/playlian.asp?id=" + v.join("/"),"musiclist","");
	}else{
		alert("请选择歌曲再播?");
		return false;
	}
}


function lbsong2(form){
	var j=0;
	var k=form.elements.length;
	if (k>100){k=100}
	var v = [];
	 for (var i=0;i < k;i++){
		var e = form.elements[i];
		if (e.type=="checkbox"){
			if (e.checked == true){
				v.push(form.elements[i].value);
			}
		}
	 }
	//alert(v.length);
	if (v.length != 0){
		window.open("/play/playlian.asp?id=" + v.join("/"),"musiclist","");
	}else{
		alert("请选择歌曲再播?");
		return false;
	}
}

function checkrandom(form){
	var num=form.elements.length;
	for (var i=0;i < num;i++){
		var e = form.elements[i];
		e.checked = false;
	}
	for(j=0;j<num/2;j++){
		var roundNum=Math.floor(Math.random()*num);
		var e=form.elements[roundNum];
		if(e.type=="checkbox") {
			e.checked=true;
		}
	}
	//这个随机是算法是首先刷新所有checkbox值为false;然后生成一个随机数,循环checkbox数组长度?/2?
	//这样可能会造成重复?因此得到的结果一般要少于数组长度长度?/2.
}


function CheckOthers(form){
	 for (var i=0;i < form.elements.length;i++){
		var e = form.elements[i];
		if (e.checked == false){
			e.checked = true;
		}else{
			e.checked = false;
		}
	 }
}

function CheckAll(form){
	 for (var i=0;i < form.elements.length;i++){
		var e = form.elements[i];
		e.checked = true;
	 }
}

function getObject(id){
	return document.getElementById(id);
}

//用于获取搜索的cookies?
function GetCookie(Name) {
	var search = Name + "=";
	var returnvalue = "";
	if (document.cookie.length > 0) {
		offset = document.cookie.indexOf(search);
		if (offset != -1) { 
			offset += search.length;
			end = document.cookie.indexOf(";", offset); 
			if (end == -1) end = document.cookie.length;
			returnvalue=unescape(document.cookie.substring(offset,end));
		}
	}
	return returnvalue;
}

//用于播放的cookies值获取，注意：js中函数名是区分大小写?
function getcookie(name) {
	var cookie_start = document.cookie.indexOf(name);
	var cookie_end = document.cookie.indexOf(";", cookie_start);
	return cookie_start == -1 ? '' : unescape(document.cookie.substring(cookie_start + name.length + 1, (cookie_end > cookie_start ? cookie_end : document.cookie.length)));
}
function setcookie(name, value, hours) {
	var expire = "";
	if (hours != null) {
		expire = new Date((new Date()).getTime() + hours * 3600000);
		expire = "; expires=" + expire.toGMTString();
	}
	document.cookie = name + "=" + encodeURIComponent(value) + "; domain=" + hostname + ";path=/" + expire;
}

//用于取得播放状态
function GetCookiePlay(name){
	var arr=document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
	if(arr!=null){
		return unescape(arr[2]);
	}
	return null;
}

Array.prototype.PagesToString=function(ListNum,Pages)
{
	var op = [];jj = 0;v_lens = this.length;
	var p_ = v_lens % ListNum == 0 ? Math.floor(v_lens / ListNum): Math.floor(v_lens / ListNum)+1
	if (Pages>p_){return ''}
	var s_=0,e_=0;
	if (Pages==p_){s_=(p_-1) * ListNum;e_=v_lens}
	else{s_=(Pages-1) * ListNum;e_=(Pages) * ListNum}
	for (jj =s_; jj <e_ ; jj++){op.push(this[jj]);}
	return op.join('/');
}

function addplaylist(form) {
	var j=0,id;
	var k=form.elements.length;
	var v = [];
	 for (var i=0;i < k;i++){
		var e = form.elements[i];
		if (e.type=="checkbox"){
			if (e.checked == true){
				v.push(form.elements[i].value);
			}
		}
	 }


	if (v.length == 0) {
		return alert("请选择歌曲后才能添加到播放列表");
	} else {
		var ListNum = 30;v_lens=v.length;
		if (GetCookiePlay("jk_ifplay") == "1") {
			if (v.length <ListNum){
				id=v.join("/");
				Addplay(id);
			}
			else
			{
				PagesLen = v_lens % ListNum == 0 ? Math.floor(v_lens / ListNum): Math.floor(v_lens / ListNum)+1;
				for (var ii=1;ii<PagesLen;ii++)
				{
					id = v.PagesToString(ListNum,ii+1);
					Addplay(id);
				}

				
			}
			//alert("恭喜，已经添加到连续播放列表！");
		} else {
			window.open("/play/playlian.asp?id=" + id, "musiclist");
		}
	}
}


function Addplay(url){
var ifplay= GetCookie("jk_ifplay");
if(ifplay=="1"){
var now = new Date();
var ss = now.getTime();
now.setTime(ss + 12*60*60*1000);//12 hours
document.cookie = "jk_addplay="+(url)+";domain=31tg.com;path=/;expires="+ now.toGMTString();
alert("恭喜，已经添加到连续播放列表！");
}else{if(url.indexOf("/")!=-1){window.open("/play/playlian.asp?id="+url+"","jk_play");}else{window.open("/play/playlian.asp?id="+url+"","jk_play");}}
return false;}


function DecodeCookie(str) 
{ 
　var strArr; 
　var strRtn=""; 
　strArr=str.split("a"); 
　for (var i=0;i<strArr.length;i++) 
　strRtn+=String.fromCharCode(eval(strArr[i])); 
　return strRtn; 
}
