﻿//将对象列表转换为数组 
//from sns
var $A = function(iterable) {

         var nArray = [];

         for (var i = 0; i < iterable.length; i++) nArray.push(iterable[i]);

         return nArray;

}; 
//统一的getElementById
function $() {
	if (arguments.length == 1) return get$(arguments[0]);
	var elements = [];
	$c(arguments).each(function(el){
		elements.push(get$(el));
	});
	return elements;

	function get$(el){
		if (typeof el == 'string') el = document.getElementById(el);
		return el;
	}
};
//验证是否有指定的样式
//element:元素
//className：样式
//return true 表示有
function hasClass(element, className)
{
	return !!element.className.match(new RegExp("\\b"+className+"\\b"));
}
//添加样式
//添加class
function addClass(element, className) 
{
	if(!hasClass(element, className))
	{
		element.className += (element.className ? ' ' : '') + className;
	}
}
//移除class
function removeClass(element, className) 
{
    element.className = element.className.replace(new RegExp("(^|\\s+)" + className + "(\\s+|$)"), ' ').replace(/^\s+/, '').replace(/\s+$/, '');;
}
//判断一个标签是否包含另外一个标签
if(!document.all)
{
	HTMLElement.prototype.contains = function(obj)  
	{  
		while(obj && typeof(obj.tagName) != "undefined")
		{ 
			if(obj == this) 
			{
				return true;  
			}
			obj = obj.parentNode;
		}  
		return false;  
	}
}
//取消冒泡
var CancelBubble = function(e)
{
	e = e || window.event;
	if(document.all)
	{
		e.cancelBubble = true;
	}
	else
	{
		e.stopPropagation();
	}
	return e;
};
//获取当前元素样式
function getCurrentStyle(obj, prop) 
{
	if (obj.currentStyle) {
		return obj.currentStyle[prop];
	}
	else 
	{
		return getComputedStyle(obj, "").getPropertyValue(prop.toLowerCase());
	}
	return null;
}
//横向滚动
function scrollX()
{
    return document.documentElement.scrollLeft || document.body.scrollLeft;
}
//获取元素绝对位置 ，返回x坐标
function findPosX(obj) 
{
	//IE
	if(document.all)
	{
		return obj.getBoundingClientRect().left + scrollX(); 
	}
	///FF
	if(document.getBoxObjectFor)
	{
		return document.getBoxObjectFor(obj).x; 
	}

	var curleft = 0;
	if (obj && obj.offsetParent) 
	{
		while (obj.offsetParent) 
		{
			curleft += obj.offsetLeft;
			obj = obj.offsetParent;
		}
	}
	return curleft;
}

function scrollY()
{
	return document.documentElement.scrollTop || document.body.scrollTop;
}

function findPosY(obj) 
{
	//IE
	if(document.all)
	{
		return obj.getBoundingClientRect().top + scrollY();  
	}
	///FF
	if(document.getBoxObjectFor)
	{
		return document.getBoxObjectFor(obj).y; 
	}

	var curtop = 0;
	if (obj && obj.offsetParent) 
	{
		while (obj.offsetParent) 
		{
			curtop += obj.offsetTop;
			obj = obj.offsetParent;
		}
	} 
	return curtop;
}
//
//返回是对象数组
document.getElementsByClassName = function(className){
	var elements = [];
	var all = document.getElementsByTagName('*');
	$A(all).each(function(el){
		if (hasClass(el, className)) elements.push(el);
	});
	return elements;
};

///////////////////////////////////////////////////////////////

//去除指定字符串的2边空格
function trim(str){
	var ret = "";
	for(var i = 0; i < str.length; i++){
		if(str.charAt(i) != ' '){
			ret += str.charAt(i);
		}
	}
	return ret;
}


function addFavorite(sURL, sTitle) {
    try {
        window.external.addFavorite(sURL, sTitle);
    }
    catch (e) {
        try {
            window.sidebar.addPanel(sTitle, sURL, "");
        }
        catch (e) {
            TipsDialog('提示', '加入收藏失败，请使用Ctrl+D进行添加！', '');
        }
    }
}
function setHome(obj, vrl) {
    try {
        obj.style.behavior = 'url(#default#homepage)'; obj.setHomePage(vrl);
    }
    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', vrl);
        }
    }
}
function copyText(url) {
    if (document.all) {
        try {
            clipboardData.setData("Text", url);
        } catch (e) {
            TipsDialog('提示', '您的浏览器不支持复制粘贴！', '');
        }
    } else {
        TipsDialog('提示', '您的浏览器不支持复制粘贴！', '');
    }
}
function GetCookie(cookieName) {
    var cookieString = document.cookie;

    // 加上等号的原因是避免在某些 Cookie 的值里有    // 与 cookieName 一样的字符串。
    var start = cookieString.indexOf(cookieName + '=');
    if (start == -1)
        return null;

    start += cookieName.length + 1;
    var end = cookieString.indexOf(';', start);
    if (end == -1) return unescape(cookieString.substring(start));
    return unescape(cookieString.substring(start, end));
}

function SetCookie(name, value) {
    var argv = SetCookie.arguments;
    var argc = SetCookie.arguments.length;
    var expires = (argc > 2) ? argv[2].toGMTString() : (new Date()).AddDays(30).toGMTString(); ;
    var path = (argc > 3) ? argv[3] : "/";
    var domain = (argc > 4) ? argv[4] : null;
    var secure = (argc > 5) ? argv[5] : false;
    var content = name + "=" + escape(value) + ";";

    if (expires != null) {
        content += " expires=" + expires + ";";
    }

    if (path != null) {
        content += " path=" + path + ";";
    }

    if (domain != null) {
        content += " domain=" + domain + ";";
    }
    document.cookie = content;
}

function CheckFromCookie(sepSecond, curContent) {
    var curTime = new Date();
    var lastTime = new Date(GetCookie("pTime"));
    if (parseInt(Math.abs(curTime - lastTime) / 1000) <= sepSecond) {
        TipsDialog('提示', '您发帖速度太快了, 先休息一会吧！', '');
        return false;
    }

    return true;
}

function ShowVIP(url) {
    TipsDialog("VIP专区", "<center><img src=\"/images/admin/icon01.gif\"/>抱歉，VIP专区只对VIP用户开放。<br/><br/><a href=\"http://my.qidian.com/user/userbilling/payforservice.aspx\" target=\"_blank\">申请VIP>></a></center>", "location='" + url + "'");
}

function ShowVipTips(url, isVIP, isCheckVIP) {
    if (isCheckVIP == 1) {
        if (isVIP == 0)
            TipsDialog("VIP专区", "<center><img src=\"/images/admin/icon01.gif\"/>抱歉，VIP专区只对VIP用户开放。<br/><br/><a href=\"http://my.qidian.com/user/userbilling/payforservice.aspx\" target=\"_blank\">申请VIP>></a></center>", "");
        else
            location = url;
    }
    else {
        location = url;
    }
}
