﻿window.onerror = function() { 
  return true; 
}
function $(element) {
	return document.getElementById(element);
}
function $$(element) {
	return document.getElementsByTagName(element);
}
window.onload = SetBackground;
window.onresize = SetBackground;
function SetBackground() {
  if(document.body.scrollWidth>700 || document.documentElement.clientHeight>590) {
    document.body.className = "bodyStyle";
  }
  else {
    document.body.className = "";
  }
}
function DownSong(url) {
	try {
		var DownObj=new ActiveXObject("KuGoo3DownXControl.KuGoo3Down");
		DownObj.AddDownFile(url);
	}
	catch(e) {
		if (confirm("安装酷狗后，您才能进行试听下载，马上下载安装吧"))
			window.open("http://download.kugou.com/2008?k=9CEE9A4A56","_blank");
	}
	return false;
}
function SearchSong(SongName) {
	try {
		var DownObj=new ActiveXObject("KuGoo3DownXControl.KuGoo3Down");
		DownObj.Searchkey(SongName);
	}
	catch(e) {
		if (confirm("安装酷狗后，您才能进行试听下载，马上下载安装吧"))
			window.open("http://download.kugou.com/2008?k=9CEE9A4A56","_blank");
	}
	return false;
}
function NewSearchSong(url) {
	var SongName = "";
	var key = "key=KuGoo3://|Music*|";
	if(url.href.indexOf(key)>=0) {
	  SongName = url.href.substring(url.href.indexOf(key)+key.length,url.href.length);
	  SongName = SongName.substring(0,SongName.indexOf(".mp3"));
	}
	try {
		var DownObj=new ActiveXObject("KuGoo3DownXControl.KuGoo3Down");
		DownObj.GetVersion();
		DownObj.Searchkey(SongName);	
	}
	catch(e) {
		NewListenSong(url);
	}
	if(location.href=="http://www.kugou.com/minihome/") {
      document.getElementById('newcountfr').src="http://logs1.kugou.com/listen/index/default.aspx?"+Math.ceil(Math.random()*100000000);
  } else if(location.href.toLowerCase().indexOf("/minihome/top")!=-1) {
      document.getElementById('newcountfr').src="http://logs1.kugou.com/listen/top/default.aspx?"+Math.ceil(Math.random()*100000000);
  } else if(location.href.toLowerCase().indexOf("/minihome/singer")!=-1) {
      document.getElementById('newcountfr').src="http://logs1.kugou.com/listen/singer/default.aspx?"+Math.ceil(Math.random()*100000000);
  } else {
      document.getElementById('newcountfr').src="http://logs1.kugou.com/listen/other/default.aspx?"+Math.ceil(Math.random()*100000000);
  }
	return false;
}

/* top 100 used*/
function NewSearchSong2(url) {
	var SongName = "";
	var key = "key=kugoo://|Music*|";
	if(url.href.indexOf(key)>=0) {
	  SongName = url.href.substring(url.href.indexOf(key)+key.length,url.href.length);
	  SongName = SongName.substring(0,SongName.indexOf(".mp3"));
	}
	try {
		var DownObj=new ActiveXObject("KuGoo3DownXControl.KuGoo3Down");
		DownObj.GetVersion();
		DownObj.Searchkey(SongName);	
	}
	catch(e) {
		NewListenSong(url);
	}
	if(location.href=="http://www.kugou.com/minihome/") {
      document.getElementById('newcountfr').src="http://logs1.kugou.com/listen/index/default.aspx?"+Math.ceil(Math.random()*100000000);
  } else if(location.href.toLowerCase().indexOf("/minihome/top")!=-1) {
      document.getElementById('newcountfr').src="http://logs1.kugou.com/listen/top/default.aspx?"+Math.ceil(Math.random()*100000000);
  } else if(location.href.toLowerCase().indexOf("/minihome/singer")!=-1) {
      document.getElementById('newcountfr').src="http://logs1.kugou.com/listen/singer/default.aspx?"+Math.ceil(Math.random()*100000000);
  } else {
      document.getElementById('newcountfr').src="http://logs1.kugou.com/listen/other/default.aspx?"+Math.ceil(Math.random()*100000000);
  }
	return false;
}


function NewListenSong(url)
{
    var key = "key=KuGoo3://|Music*|";
    if(url.href.indexOf(key)>=0)
    {
      var listenStr = url.href.substring(url.href.indexOf(key)+key.length,url.href.length);
      listenStr = listenStr.replace("|/","\\\\");
      try {
          var DownObj=new ActiveXObject('KuGoo3DownXControl.KuGoo3Down');
          var par2=listenStr;
          var par1=1;
          if(DownObj.GetVersion() != 6 )
          {
		      DownObj.SendString(11,par1,par2); 
		  }
          DownObj.SendString(7,par1,par2);
      }
      catch(e) { }
    }
    if(location.href=="http://www.kugou.com/minihome/") {
        document.getElementById('newcountfr').src="http://logs1.kugou.com/listen/index/default.aspx?"+Math.ceil(Math.random()*100000000);
    } else {
        document.getElementById('newcountfr').src="http://logs1.kugou.com/listen/plist/default.aspx?"+Math.ceil(Math.random()*100000000);
    }
    //window.location.href='/minihome/singer/song.aspx?name='+songname;
    return false;
}
function OnlyListenSong(url)
{
    var key = "key=KuGoo3://|Music*|";
    if(url.href.indexOf(key)>=0)
    {
      var listenStr = url.href.substring(url.href.indexOf(key)+key.length,url.href.length);
      listenStr = listenStr.replace("|/","\\\\");
      try {
          var DownObj=new ActiveXObject('KuGoo3DownXControl.KuGoo3Down');
          var par2=listenStr;
          var par1=1;
          if(DownObj.GetVersion() != 6 )
          {
		      DownObj.SendString(11,par1,par2); 
		  }
          DownObj.SendString(7,par1,par2);
      }
      catch(e) { }
    }
    //是否是首页
    if(location.href=="http://www.kugou.com/minihome/") {
        document.getElementById('newcountfr').src="http://logs1.kugou.com/temp1/minihometrylisten/index/tryListen.aspx";
    }
    return false;
}
function getlist(form)
{
    var listenlist="";
	var listencount=0;
	for(var i=0; i<form.elements.length; i++) {
        if (form.elements[i].type=="checkbox") {
            if(form.elements[i].checked==true&&listencount<50) {
                listenlist+=form.elements[i].value.replace("|/","\\\\").replace("KuGoo3://|Music*|","");
                listencount++;
            }
        }
    }
    return listencount + "*_*" + listenlist;
}
function ListenSong(form)
{
    
    var listenlist = getlist(form); 
    
    var listenStr = listenlist.split("*_*");

    if((listenStr[0])=="0") 
    {
        alert('请先选择歌曲！');
        return ;
    }
    try {
        var DownObj=new ActiveXObject('KuGoo3DownXControl.KuGoo3Down');
        var par2=listenStr[1];
        var par1=listenStr[0];
 
        if($('pageformSel').checked)
        {
           par1 = par1 -1;
        }

        if(DownObj.GetVersion() != 6 )
        {
		    DownObj.SendString(11,par1,par2); 
		}
        DownObj.SendString(7,par1,par2); //试听
    }
    catch(e) {
    }
    
    //是否是首页
    if(location.href=="http://www.kugou.com/minihome/") {
        document.getElementById('newcountfr').src="http://logs1.kugou.com/temp1/minihometrylisten/index/default.aspx";
    }
    else {
        document.getElementById('newcountfr').src="http://logs1.kugou.com/temp1/minihometrylisten/other/default.aspx";
    }
    //window.location.href='/minihome/singer/song.aspx?name='+songname;
    return false;
}

function DownSongs(form)
{
    
    var listenlist = getlist(form); 
	
    var listenStr = listenlist.split("*_*");
    if(listenStr[0]=="0") {
        alert('请先选择歌曲！');
        return ;
    }
    try {
        var DownObj=new ActiveXObject('KuGoo3DownXControl.KuGoo3Down');
        var par2=listenStr[1];
        var par1=listenStr[0];
        
        if($('pageformSel').checked)
        {
           par1 = par1 -1;
        }
        
        DownObj.SendString(6,par1,par2); //添加到下载
    }
    catch(e) {
    }
    
    //是否是首页
    if(location.href=="http://www.kugou.com/minihome/") {
        document.getElementById('newcountfr').src="http://logs1.kugou.com/temp1/minihometrylisten/index/default.aspx";
    }
    else {
        document.getElementById('newcountfr').src="http://logs1.kugou.com/temp1/minihometrylisten/other/default.aspx";
    }
    //window.location.href='/minihome/singer/song.aspx?name='+songname;
    return false;
}

function ShowLogin()
{
	try {
		var DownObj=new ActiveXObject("KuGoo3DownXControl.KuGoo3Down");
		DownObj.showlogin();
	}
	catch(e) {
		if (confirm("安装酷狗后，您才能进行试听下载，马上下载安装吧"))
			window.open("http://download.kugou.com/2008?k=9CEE9A4A56","_blank");
	}
	return false;
}

function GotoKuba(name) {
    window.open("http://bar.kugou.com/search.aspx?keyword="+escape(name)+"&searchtype=1&coding=utf8&h=1&k=9CEE9A4A56");
}

function SongGoto(song,singer,index,rcount) {
	var a = new Ajax();
	a.GetData("Comment/SongComment.aspx?song="+song+"&singer="+singer+"&page="+index+"&recordcount="+rcount,"comment","");
}


function SelectAll(form,chk) {
    for(var i=0; i<form.elements.length; i++) {
        if (form.elements[i].type=="checkbox") {
            form.elements[i].checked = chk.checked;
        }
    }
}
function listen(type,num) {
	document.getElementById('listenfr').src="http://www.kugou.com/top/handle/listen.aspx?type="+type+"&num="+num;
}
function getselectedlist(form)
{
    var listenlist="";
	var listencount=0;
	for(var i=0; i<form.elements.length; i++) {
        if (form.elements[i].type=="checkbox") {
            if(form.elements[i].checked==true&&listencount<50) {
                listenlist+=form.elements[i].value+",";
                listencount++;
            }
        }
    }
    return listenlist;
}
function getselectlist(form)
{
    var listenlist="";
	var listencount=0;
	for(var i=0; i<form.elements.length; i++) {
        if (form.elements[i].type=="checkbox") {
            if(listencount<50) {
                listenlist+=form.elements[i].value+",";
                listencount++;
            }
        }
    }
    return listenlist;
}
function favoritelist(type,typename,id,form)
{
    var listenlist = getselectlist(form); 
    if(listenlist.length==0) {
        alert('请先选择歌曲！');
        return ;
    }
    document.getElementById('listenfr').src="http://www.kugou.com/top/handle/favoritelist.aspx?type="+type+"&typename="+escape(typename)+"&id="+id+"&num="+escape(listenlist);
}
function alladd(type,form)
{
    var listenlist = getselectedlist(form); 
    if(listenlist.length==0) {
        alert('请先选择歌曲！');
        return ;
    }
    document.getElementById('listenfr').src="http://www.kugou.com/top/handle/listen.aspx?isdown=2&type="+type+"&num="+escape(listenlist);
    //是否是首页
    if(location.href=="http://www.kugou.com/minihome/") {
        document.getElementById('newcountfr').src="http://logs1.kugou.com/temp1/minihometrylisten/index/alladd.aspx";
    }
}
function alldown(type,form)
{
    var listenlist = getselectedlist(form); 
    if(listenlist.length==0) {
        alert('请先选择歌曲！');
        return ;
    }
    document.getElementById('listenfr').src="http://www.kugou.com/top/handle/listen.aspx?isdown=1&type="+type+"&num="+escape(listenlist);
    //是否是首页
    if(location.href=="http://www.kugou.com/minihome/") {
        document.getElementById('newcountfr').src="http://logs1.kugou.com/temp1/minihometrylisten/index/alldown.aspx";
    }
}
function alllisten(type,form) {
	var listenlist = getselectedlist(form); 
	if(listenlist.length==0) {
        alert('请先选择歌曲！');
        return ;
    }
	document.getElementById('listenfr').src="http://www.kugou.com/top/handle/listen.aspx?type="+type+"&num="+escape(listenlist);
	//是否是首页
  if(location.href=="http://www.kugou.com/minihome/") {
      document.getElementById('newcountfr').src="http://logs1.kugou.com/temp1/minihometrylisten/index/alllisten.aspx";
  }
}
function plistlisten(type,id)
{
    var listenurl = "";
    if(type==0)
    {
        listenurl = "http://www.kugou.com/plist/playbill/collectbill.aspx?id="+id+"&type=1";
    }
    else if(type=1)
    {
        listenurl = "http://www.kugou.com/imusic/album/FavoriteAndListen.aspx?ID="+id+"&Type=1";
    }
    document.getElementById('listenfr').src=listenurl;
}
function favorite(type,num,qi) {
	document.getElementById('listenfr').src="http://www.kugou.com/top/handle/favorite.aspx?type="+type+"&num="+num+"&qi="+qi;
	//是否是首页
  if(location.href=="http://www.kugou.com/minihome/") {
      document.getElementById('newcountfr').src="http://logs1.kugou.com/temp1/minihometrylisten/index/favorite.aspx";
  }
}
function checkInput(form) {
    if(form.singername.value == "" || form.singername.value == "请输入歌手名") {
        alert("请输入歌手名称！");
        return false;
    }
    if(form.stype[1].checked) {
        location.href="http://ring.kugou.com/mini/search.aspx?k="+encodeURI(form.singername.value);
        return false;
    }
    return true;
}
function SearchSinger(name,type) {
    window.open("http://www.kugou.com/top/singer/searchsinger.aspx?singerName="+escape(name)+"&type="+type);
}
function CreateShadeBg() {
  document.write('<div id="ShadeBg" style="position:absolute;background:#002B5F;display:none;width:100%;left:0;top:0;filter:alpha(opacity=50);-moz-opacity:0.5;z-index:10;"></div>');
  document.write('<div id="ShadeMsg" style="position:absolute;display:none;width:100%;left:0;top:0;z-index:11;"></div>');
}
function ShadeShow(key,url,w,h) {
	MoveTo(w,h);
	$('ShadeMsg').innerHTML='<iframe id="ShadeIframe" frameborder="0" scrolling="no" marginwidth="0" marginheight="0" style="width:'+w+'px; height:'+h+'px;position:absolute;"></iframe>';
	$('ShadeMsg').style.display="block";	
	$('ShadeBg').style.display="block";
	if(url=="") {
		var doc = $("ShadeIframe").contentDocument?$("ShadeIframe").contentDocument:document.frames("ShadeIframe").window.document;
		doc.write(key);
		doc.body.focus();
	}
	else {
		$("ShadeIframe").src=url+(url.indexOf("?")!=-1?"&r=":"?r=")+Math.ceil(Math.random()*100000000);
	}
}
function ShadeHide() {
	$('ShadeMsg').style.display="none";
	$('ShadeBg').style.display="none";
	$('ShadeMsg').innerHTML="";
}
function MoveTo(w,h) {
	$('ShadeMsg').style.left="0px";
	$('ShadeMsg').style.top="57px";
	$('ShadeBg').style.width=document.documentElement.clientWidth+"px";
	$('ShadeBg').style.height=document.documentElement.clientHeight+"px";
}
function ShowWoInfo(Id) {
  ShadeShow("","http://www.kugou.com/minihome/info/default.aspx?id="+Id,636,473);
}




var kg={
    fnTrue:function(){return true;},
    fnFalse:function(){return false;},
    Browser:{
        navigator:window.navigator,
        ie:!!(window.attachEvent && !window.opera),
        opera:!!window.opera,
        safari:navigator.userAgent.indexOf('AppleWebKit/') > -1,
        moz:navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('KHTML') == -1
    }
};


kg.Class = {
    Create:function(){
        return function(){
            this.initialize.apply(this,arguments);
        }
    }
};  
if(typeof($)=="undefined"){
    $=function(elem){
        return document.getElementById(elem);
    }
}

if(typeof($A)=="undefined")
{
    $A=function(arg)
    {
        var result = [];
        for(var i =0;i<arg.length;i++){
            result.push(arg[i]);
        }
        return result;
    }        
}

kg.extend = function(arg)
{
    var srcs = $A(arguments);
    srcs.splice(0, 1);
    for (var i = 0; i < srcs.length; i++){
        var src = srcs[i];
        for (var p in src){
          arg[p] = src[p];
        }
     }
     return arg;
}

/**
 **   Function
 **/
 
kg.extend(Function.prototype, {
  argumentNames: function() {
    var names = this.toString().match(/^[\s\(]*function[^(]*\((.*?)\)/)[1].split(",").invoke("strip");
    return names.length == 1 && !names[0] ? [] : names;
  },

  bind: function() {
    if (arguments.length < 2 && typeof arguments[0] == "undefined") return this;
    var __method = this, args = $A(arguments), object = args.shift();
    return function() {
      return __method.apply(object, args.concat($A(arguments)));
    }
  },

  bindAsEventListener: function() {
    var __method = this, args = $A(arguments), object = args.shift();
    return function(event) {
      return __method.apply(object, [( event || window.event)].concat(args).concat($A(arguments)));
    }
  }});
  
  
/**
 **   String
 **/

  kg.extend(
    String.prototype,
   {
       trim: function() {
           return this.replace(/^\s+|\s+$/g, "");
       },
       ltrim: function() {
           return this.replace(/^\s+/, "");
       },
       rtrim: function() {
           return this.replace(/\s+$/, "");
       },
       getBytes: function() {
           var bytes = 0;
           for (var i = 0; i < this.length; i++) {
               if (this.charCodeAt(i) > 256) { bytes += 2; }
               else { bytes += 1; }
           }
           return bytes;
       },
       intercept: function(length, appendStr) {
           var str = this;
           str = str.trim();
           if (str.getBytes() < length) return str;
           var countLen = 0;
           var charCount = 0;
           if (appendStr.length > 0) {
               length = length - appendStr.length;
           }
           for (var i = 0; i < str.length; i++) {
               if (this.charCodeAt(i) > 256) {
                   countLen += 2;
               }
               else {
                   countLen += 1;
               }
               if (countLen > length) {
                   break;
               }
               charCount++;
           }
           return str.substr(0, charCount) + appendStr;
       },
       include: function(str) {
           return this.indexOf(str) == 0;
       },
       toArray: function() {
           return this.split('');
       }
   }
);


/*****************************************************  AJAX  ***********************************************
   var url = "default3.aspx";    
   var para = new kg.Ajax.Param();
   para.$("id","11").$("ke","value")   
   new kg.Ajax().Async(url,"GET",para.stringValue(),function(test){
   var result = kg.Ajax.parseResult(test, {text: true});       
   });
*************************************************************************************************************/   


kg.Ajax = kg.Class.Create();
kg.extend(kg.Ajax.prototype,{ 
  initialize: function() {
    this.xmlhttp = false;
    this.isComplete = false;
    try { this.xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }
    catch (e) { try { this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
    catch (e) { try { this.xmlhttp = new XMLHttpRequest(); }
    catch (e) { this.xmlhttp = false; }}}
  },
  Async: function(url, method, vars, callback) {
        if (!this.xmlhttp) return false;
        this.isComplete = false;
        try {
          if (method.toUpperCase() == "GET") {
            this.xmlhttp.open(method, vars ? (url + "?" + vars) : url, true);
            vars = "";
          } else {
            this.xmlhttp.open(method, url, true);
            this.xmlhttp.setRequestHeader("Method", "POST " + url + " HTTP/1.1");
            this.xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
          }
          var _this = this;
          this.xmlhttp.onreadystatechange = function() {
            if (_this.xmlhttp.readyState == 4 && !_this.isComplete) {
              _this.isComplete = true;
              callback(_this.xmlhttp);
            }
          };
          this.xmlhttp.send(vars);
        } catch(z) {
    	    alert(z.message);
    	    return false;
        }
        return true;
  },
  Sync: function(url, method, vars, options) {
        if (!this.xmlhttp) return false;
        options = options ? options : {text: true, xml: false, json: false};
        this.isComplete = false;
        method = method.toUpperCase();
        try {
          if (method == "GET") {
            this.xmlhttp.open(method, url + "?" + vars, false);
            vars = "";
          } else {
            this.xmlhttp.open(method, url, false);
            this.xmlhttp.setRequestHeader("Method", "POST " + url + " HTTP/1.1");
            this.xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
          }
          this.xmlhttp.send(vars);
        } catch(e) {
    	    alert(e.message);
    	    return false;
        }
        var o = {};
        if (options.text) {
          o["text"] = this.xmlhttp.responseText;
        }
        if (options.xml) {
          o["xml"] = this.xmlhttp.responseXML;
        }
         if (options.json) {
          o["json"] = eval("(" + this.xmlhttp.responseText + ")");
        }
        return o;
    }
});

kg.Ajax.Param = kg.Class.Create();
kg.extend(kg.Ajax.Param.prototype,{ 
      initialize: function() {
  	    this._m = {};
      },
     append: function(k, v) {
  	    this.put(k, v);
  	    return this;
      },
      $: function(k, v) {
  	    this.put(k, v);
  	    return this;
      },
      put: function(k, v) { return this._m["_" + k] = v; },
      stringValue: function() {
  	    var m = this._m;
	    var s = "";
  	    var i = 0;
  	    var v = null;
  	    for (var k in m) {
  	      if (i++ > 0) {
  	  	    s += "&";
  	      }
  	      v = m[k];
  	      k = k.substring(1, k.length);
  	      s += k + "=" + encodeURIComponent(v);
  	    }
  	    return s;
      }

});

kg.Ajax.parseResult = function(xhq, options) {
  var opt = kg.extend({ text: true, xml: false, json: false}, options || {});
  var o = {};
  if (opt.text && xhq!=null) {
    o["text"] = xhq.responseText;
  }
  if (opt.xml && xhq!=null) {
    o["xml"] = xhq.responseXML;
  }
  if (opt.json && xhq!=null) {
    o["json"] = eval("(" + xhq.responseText + ")");
  }
  return o;
}
kg.Ajax.quickFillGet = function(fillId, url, vars) {
  var ajax = new kg.Ajax();
  ajax.Async(
    url, 
    "get", 
    vars ? vars : "", 
    function(xhq) {
      $(fillId).innerHTML = xhq.responseText;
    });
}


function sdnClick(num) {
    (new Image()).src = "http://sdn.kugou.com/link.aspx?id="+num+"&url=&t="+ Math.random();
}

