﻿/* idTabs ~ Sean Catchpole - Version 2.2 - MIT/GPL */


function setSelectedTab(s) {
    $.cookie("servicetabid", s, { expire: 1 });    
}

var getselectedtab = $.cookie("servicetabid");

(function () {

    var dep = { "jQuery": "/Scripts/CustomScript/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: parseInt(getselectedtab), change: false, click: null, selected: ".selectedtab", 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);

})();
