//pagetools
(function($) {

    //收藏夹
    $.fn.addToFav = function(){
        var url = document.location.href;
        var title = document.title;
        if (document.all)
            window.external.AddFavorite(url,title);
        else if (window.sidebar)
            window.sidebar.addPanel(title,url,"");
    };

    //设为首页
    $.fn.setHomepage = function (){
        var url = document.location.href;
        if (document.all){
            document.body.style.behavior='url(#default#homepage)';
            document.body.setHomePage(url);
        }
        else if (window.sidebar){
            if(window.netscape){
                try{
                    netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
                }
                catch (e){
                    alert( "\u8be5\u64cd\u4f5c\u88ab\u6d4f\u89c8\u5668\u62d2\u7edd\uff0c\u5982\u679c\u60f3\u542f\u7528\u8be5\u529f\u80fd\uff0c\u8bf7\u5728\u5730\u5740\u680f\u5185\u8f93\u5165 about:config,\u7136\u540e\u5c06\u9879 signed.applets.codebase_principal_support \u503c\u8be5\u4e3atrue" );
                }
            }
            var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components. interfaces.nsIPrefBranch);
            prefs.setCharPref('browser.startup.homepage',url);
        }
    };

    //长度截断,length - 长度,bIsAddTrail - 是否带省略号
    $.fn.subStrs = function(length, bIsAddTrail) {
        this[0].title = this.text();
        bIsAddTrail ? this.text(this.text().substring(0, length - 2) + "..") :
			this.text(this.text().substring(0, length));
    };

    //鼠标事件 - 显示详细
    $.fn.skinChange = function(anchor) {
        this.find("li[rel='moreinfo']").each(function() {
            $(this).prev().show();
            $(this).hide();
        });
        $(anchor).parent().hide();
        $(anchor).parent().next().show();
    };

    //打开新窗口
    $.fn.setTarget = function(target) {
        this.find("a").each(function() {
            this.setAttribute("target", target);
        });
    };

    //获取视频列表id
    $.fn.getVideos = function() {
        var videos = new Array();
        this.find("a").each(function() {
            videos.push($(this).attr("rel"));
        });
        return videos;
    };

    //分页
    $.fn.paginator = function(){
        this.children("ul:first").next().addClass("w300px").css({'margin':'auto'}).children().addClass("left").css({'color':'#000','line-height':'25px'}).children().addClass("left");
        this.children("ul:first").next().setTarget("_self");
        this.children("ul:first").next().find("a").append("&nbsp;").prepend("&nbsp;");
        this.children("ul:first").next().wrap("<div class=\"w710px left tCenter\"></div>").find("dd").width(20).height(25);
    };

    //创建视频对象
    $.fn.getAllVideos = function(isSubPage,isDetail) {
        if(isSubPage == undefined) isSubPage = false;
        var strUrlParam = (isDetail != undefined && isDetail == true) ? "?detail=true" : "";
        var vLists = isSubPage ?
        this.find("ul:first").find("ul") : this.find("ul").parent("div[id]").find("ul");
        var lists = new Array();
        vLists.each(function(i) {
            lists.push(isSubPage ? "vList" + i : $(this).parent().attr("id"));
        });
        var allVideos = new Array();
        for (i in lists) {
            allVideos.push({ id: lists[i], video_id_set: $(vLists[i]).getVideos() });
        }
        var strParam = JSON.stringify(allVideos);
        $.post("/videos_detail_from_idset/" + strUrlParam, { video_id_set: strParam },
        function(data) {
            $(data).each(function() {//debugger;
                isSubPage ? $().setSkinPath(this) : $("#" + this.id).setSkinPath(this);
            });
        }, "json");
    };

    /*
    返回url中的get参数
     如果参数不存在就返回null
     例子:  value = $.getURLParam('http://www.abc.com?dq=loer&paramName=test', "paramName");  //返回test
     */
    $.getURLParam = function(strHref, strParamName){
        var strReturn = "";
        var bFound=false;
        var cmpstring = strParamName + "=";
        var cmplen = cmpstring.length;
        if ( strHref.indexOf("?") > -1 ){
            var strQueryString = strHref.substr(strHref.indexOf("?")+1);
            var aQueryString = strQueryString.split("&");
            for ( var iParam = 0; iParam < aQueryString.length; iParam++ ){
                if (aQueryString[iParam].substr(0,cmplen)==cmpstring){
                    var aParam = aQueryString[iParam].split("=");
                    strReturn = aParam[1];
                    bFound=true;
                    break;
                }
            }
        }
        if (bFound==false) return null;
        return strReturn;
    };
    $.domain_id_key = 'domain_id';
    //页面初始化. 每个页面的$(document).ready(function()的第一句必须调用此函数
    $.init = function() {        
        var domainID = $.getURLParam(window.location.href, $.domain_id_key);
        if(domainID != null) {
            $('a').each(function() {
                var href = $(this).attr('href');
                if(href != undefined) {
                    if(href.indexOf('/') == 0 && $.getURLParam(href, $.domain_id_key)==null ) {    //判断是否为本网站的链接,并且链接不带domain参数
                        href += href.indexOf("?") > -1?'&':'?';
                        href +=  $.domain_id_key + '=' + domainID;
                        $(this).attr('href', href);
                    }
                }
            });
        }
    };
})(jQuery);