/* idTabs ~ Sean Catchpole - Version 2.2 - MIT/GPL */
    (function () {
        var dep = { "jQuery": "http://code.jquery.com/jquery-latest.min.js" };
        var init = function () {
            (function ($) {
                $.fn.idTabs = function () {
                    var s = {};
                    for (var i = 0; i < arguments.length; ++i) {
                        var a = arguments[i];
                        switch (a.constructor) {
                            case Object: $.extend(s, a);
                                break;
                            case Boolean: s.change = a;
                                break;
                            case Number: s.start = a;
                                break;
                            case Function: s.click = a; break;
                            case String:
                                if (a.charAt(0) == '.') s.selected = a;
                                else if (a.charAt(0) == '!') s.event = a;
                                else s.start = a; break;
                        }
                    }
                    if (typeof s['return'] == "function")
                        s.change = s['return'];
                    return this.each(function () {
                        $.idTabs(this, s);
                    });
                }
                $.idTabs = function (tabs, options) {
                    var meta = ($.metadata) ? $(tabs).metadata() : {};
                    var s = $.extend({}, $.idTabs.settings, meta, options);
                    if (s.selected.charAt(0) == '.') s.selected = s.selected.substr(1);
                    if (s.event.charAt(0) == '!') s.event = s.event.substr(1);
                    if (s.start == null) s.start = -1;
                    var showId = function () {
                        if ($(this).is('.' + s.selected))
                            return s.change; var id = "#" + this.href.split('#')[1];
                        var aList = []; var idList = []; $("a", tabs).each(function () {
                            if (this.href.match(/#/)) { aList.push(this); idList.push("#" + this.href.split('#')[1]); }
                        });
                        if (s.click && !s.click.apply(this, [id, idList, tabs, s]))
                            return s.change; for (i in aList) $(aList[i]).removeClass(s.selected);
                        for (i in idList) $(idList[i]).hide(); $(this).addClass(s.selected); $(id).show();
                        return s.change;
                    }
                    var list = $("a[href*='#']", tabs).unbind(s.event, showId).bind(s.event, showId);
                    list.each(function () { $("#" + this.href.split('#')[1]).hide(); });
                    var test = false; if ((test = list.filter('.' + s.selected)).length);
                    else if (typeof s.start == "number" && (test = list.eq(s.start)).length);
                    else if (typeof s.start == "string" && (test = list.filter("[href*='#" + s.start + "']")).length);
                    if (test) {
                        test.removeClass(s.selected); test.trigger(s.event);
                    }
                    return s;
                }
                $.idTabs.settings = { start: 0, change: false, click: null, selected: ".selected", event: "!click" };
                $.idTabs.version = "2.2"; $(function () { $(".idTabs").idTabs(); });
            })(jQuery);
        }
        var check = function (o, s) {
            s = s.split('.'); while (o && s.length) o = o[s.shift()];
            return o;
        }
        var head = document.getElementsByTagName("head")[0];
        var add = function (url) {
            var s = document.createElement("script"); s.type = "text/javascript";
            s.src = url; head.appendChild(s);
        }
        var s = document.getElementsByTagName('script');
        var src = s[s.length - 1].src;
        var ok = true;
        for (d in dep) {
            if (check(this, d)) continue;
            ok = false; add(dep[d]);
        }
        if (ok)
            return init();
        add(src);
    }
    )();
 
