//加入收藏
function addFav(sTitle,sURL){
    try{
        window.external.addFavorite(sURL, sTitle);
    }catch (e){
        try{
            window.sidebar.addPanel(sTitle, sURL, "");
        }catch (e){
            alert("加入收藏失败，请使用Ctrl+D进行添加");
        }
    }
}

//设为首页
function setHome(obj,Url){
	try{
		obj.style.behavior='url(#default#homepage)';obj.setHomePage(Url);
    }catch(e){
		if(window.netscape){
			try{
				netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
			}catch (e){
				alert("此操作被浏览器拒绝！\n请在浏览器地址栏输入“about:config”并回车\n然后将 [signed.applets.codebase_principal_support]的值设置为'true'，双击即可");
			}
			var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch);
			prefs.setCharPref('browser.startup.homepage',Url);
		}
	}
}

//简化document.getElementById
function $(id){return document.getElementById(id)}

//加载主题颜色
function loadTheme(num){
	var a = $("theme").getElementsByTagName("a");
	for(var i=0; i<a.length; i++){
		var j = i+1;
		a[i].className = "theme" + j;
		if(j==num){
			a[i].className = "theme" + j + "_hover";
		}
	}
	loadCss(skinPath + "css/theme" + num + ".css");
	setCookie("theme", num, 365, '/');
}

//动态加载js
function loadJs(file){
    var head = document.getElementsByTagName('head').item(0);
    var script = document.createElement('script');
    script.src = file;
    script.type = 'text/javascript';
    head.appendChild(script);
}

//动态加载css
function loadCss(file){
    var head = document.getElementsByTagName('head').item(0);
    var css = document.createElement('link');
    css.href = file;
    css.rel = 'stylesheet';
    css.type = 'text/css';
    head.appendChild(css);
}

//设置cookie
function setCookie(name, value){
	var argv = setCookie.arguments;
	var argc = setCookie.arguments.length;
	var exp = (argc > 2) ? argv[2] : 90;
	var path = (argc > 3) ? argv[3] : null;
	var domain = (argc > 4) ? argv[4] : null;
	var secure = (argc > 5) ? argv[5] : false;
	var expires = new Date();
	delCookie(name);
	expires.setTime(expires.getTime() + (exp*24*60*60*1000));
	document.cookie = name + "=" + value +
		"; expires=" + expires.toGMTString() +
		((domain === null) ? "" : ("; domain=" + domain)) +
		((path === null) ? "" : ("; path=" + path)) +
		((secure === true) ? "; secure" : "");
}

//获取cookie
function getCookie(name){
	var arg = name + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;
	var j = 0;
	while(i < clen) {
		j = i + alen;
		if(document.cookie.substring(i, j) == arg){
			return getCookieVal(j);
		}
		i = document.cookie.indexOf(" ", i) + 1;
		if(i === 0){
			break;
		}
	}
	return '';
}
function getCookieVal(offset) {
	var endstr = document.cookie.indexOf(";", offset);
	if(endstr == -1) {
		endstr = document.cookie.length;
	}
	return document.cookie.substring(offset, endstr);
}

//删除cookie
function delCookie(name){
	var exp = new Date();
	var cval = getCookie(name);
	exp.setTime(exp.getTime() - 1);
	document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}

//截取字符串
function subByte(me, length){
    var a, b, al, bl;
    me += '';
    if(getByteLength(me) <= length) return me;
    for( var i=Math.floor(length / 2)-1, l=me.length; i<l; i++ ){
        a = me.substr( 0, i );
        al = getByteLength(a);
        /* "\u597d\u4eba1".subByte(5) */
        if(al == length){
            return a + "…";
        }else{
            b = me.substr(0, i + 1);
            bl = getByteLength(b);
            /* "\u597d\u4eba\u597d".subByte(5) */
            if(al < length && bl > length){
                return a + "...";
            }
        }
    }
    return me;
}

//获取字符串长度
function getByteLength(me){
    return String(me).replace(/[^\x00-\xff]/g, "mm").length;
}

//弹出窗口
function windowOpenCenter(href, width, height) {
	var ex;
	try {
		var left = (screen.width - width) / 2,
		top = (screen.height - height) / 2,
		param = 'fullscreen=0, resizable=0, scrollbars=0, width=' + width + ', height=' + height + ', left=' + left + ', top=' + top;
		window.open(href, 'nbmusic', param);
		return false;
	} catch (ex) {
		return false;
	}
}


window.onload = function(){
	var theme = getCookie("theme");
	if(theme!=""){
		loadTheme(theme);
	}
}
