(function($) {
    $.extend($.browser, {
        client: function() {
            return {
                width: document.documentElement.clientWidth,
                height: document.documentElement.clientHeight,
                bodyWidth: document.body.clientWidth,
                bodyHeight: document.body.clientHeight
            };
        },
        scroll: function() {
            return {
                width: document.documentElement.scrollWidth,
                height: document.documentElement.scrollHeight,
                bodyWidth: document.body.scrollWidth,
                bodyHeight: document.body.scrollHeight,
                left: document.documentElement.scrollLeft,
                top: document.documentElement.scrollTop + document.body.scrollTop
            };
        },
        screen: function() {
            return {
                width: window.screen.width,
                height: window.screen.height
            };
        },
        isIE6: $.browser.msie && $.browser.version == 6,
        isMinW: function(val) {
            return Math.min($.browser.client().bodyWidth, $.browser.client().width) <= val;
        },
        isMinH: function(val) {
            return $.browser.client().height <= val;
        }
    })
})(jQuery); (function($) {
    $.widthForIE6 = function(option) {
        var s = $.extend({
            max: null,
            min: null,
            padding: 0
        },
        option || {});
        var init = function() {
            var w = $(document.body);
            if ($.browser.client().width >= s.max + s.padding) {
                w.width(s.max + "px");
            } else if ($.browser.client().width <= s.min + s.padding) {
                w.width(s.min + "px");
            } else {
                w.width("auto");
            }
        };
        init();
        $(window).resize(init);
    }
})(jQuery); (function($) {
    $.fn.hoverForIE6 = function(option) {
        var s = $.extend({
            current: "hover",
            delay: 10
        },
        option || {});
        $.each(this,
        function() {
            var timer1 = null,
            timer2 = null,
            flag = false;
            $(this).bind("mouseover",
            function() {
                if (flag) {
                    clearTimeout(timer2);
                } else {
                    var _this = $(this);
                    timer1 = setTimeout(function() {
                        _this.addClass(s.current);
                        flag = true;
                    },
                    s.delay);
                }
            }).bind("mouseout",
            function() {
                if (flag) {
                    var _this = $(this);
                    timer2 = setTimeout(function() {
                        _this.removeClass(s.current);
                        flag = false;
                    },
                    s.delay);
                } else {
                    clearTimeout(timer1);
                }
            })
        })
    }
})(jQuery); (function($) {
    $.extend({
        _jsonp: {
            scripts: {},
            counter: 1,
            head: document.getElementsByTagName("head")[0],
            name: function(callback) {
                var name = '_jsonp_' + (new Date).getTime() + '_' + this.counter;
                this.counter++;
                var cb = function(json) {
                    eval('delete ' + name);
                    callback(json);
                    $._jsonp.head.removeChild($._jsonp.scripts[name]);
                    delete $._jsonp.scripts[name];
                };
                eval(name + ' = cb');
                return name;
            },
            load: function(url, name) {
                var script = document.createElement('script');
                script.type = 'text/javascript';
                script.charset = this.charset;
                script.src = url;
                this.head.appendChild(script);
                this.scripts[name] = script;
            }
        },
        getJSONP: function(url, callback) {
            var name = $._jsonp.name(callback);
            var url = url.replace(/{callback};/, name);
            $._jsonp.load(url, name);
            return this;
        }
    });
})(jQuery); (function($) {
    $.fn.jdTab = function(option, callback) {
        if (typeof option == "function") {
            callback = option;
            option = {};
        };
        var s = $.extend({
            type: "static",
            auto: false,
            source: "data",
            event: "mouseover",
            currClass: "curr",
            tab: ".tab",
            content: ".tabcon",
            itemTag: "li",
            stay: 5000,
            delay: 100,
            mainTimer: null,
            subTimer: null,
            index: 0
        },
        option || {});
        var tabItem = $(this).find(s.tab).eq(0).find(s.itemTag),
        contentItem = $(this).find(s.content);
        if (tabItem.length != contentItem.length) return false;
        var reg = s.source.toLowerCase().match(/http:\/\/|\d|\.aspx|\.ascx|\.asp|\.php|\.html\.htm|.shtml|.js|\W/g);
        var init = function(n, tag) {
            s.subTimer = setTimeout(function() {
                hide();
                if (tag) {
                    s.index++;
                    if (s.index == tabItem.length) s.index = 0;
                } else {
                    s.index = n;
                };
                s.type = (tabItem.eq(s.index).attr(s.source) != null) ? "dynamic": "static";
                show();
            },
            s.delay);
        };
        var autoSwitch = function() {
            s.mainTimer = setInterval(function() {
                init(s.index, true);
            },
            s.stay);
        };
        var show = function() {
            tabItem.eq(s.index).addClass(s.currClass);
            switch (s.type) {
            default:
            case "static":
                var source = "";
                break;
            case "dynamic":
                var source = (reg == null) ? tabItem.eq(s.index).attr(s.source) : s.source;
                tabItem.eq(s.index).removeAttr(s.source);
                break;
            };
            if (callback) {
                callback(source, contentItem.eq(s.index), s.index);
            };
            contentItem.eq(s.index).show();
        };
        var hide = function() {
            tabItem.eq(s.index).removeClass(s.currClass);
            contentItem.eq(s.index).hide();
        };
        tabItem.each(function(n) {
            $(this).bind(s.event,
            function() {
                clearTimeout(s.subTimer);
                clearInterval(s.mainTimer);
                init(n, false);
                return false;
            }).bind("mouseleave",
            function() {
                if (s.auto) {
                    autoSwitch();
                } else {
                    return;
                }
            })
        });
        if (s.type == "dynamic") {
            init(s.index, false);
        };
        if (s.auto) {
            autoSwitch();
        }
    }
})(jQuery); (function($) {
    $.fn.jdSlide = function(option) {
        var settings = $.extend({
            width: null,
            height: null,
            pics: [],
            index: 0,
            type: "num",
            current: "curr",
            delay1: 200,
            delay2: 8000
        },
        option || {});
        var element = this;
        var timer1, timer2, timer3, flag = true;
        var total = settings.pics.length;
        var init = function() {
            var img = "<ul style='position:absolute;top:0;left:0;'><li><a href='" + settings.pics[0].href + "' target='_blank'><img src='" + settings.pics[0].src + "' width='" + settings.width + "' height='" + settings.height + "' /></a></li></ul>";
            element.css({
                "position": "relative"
            }).html(img);
            $(function() {
                delayLoad();
            })
        };
        init();
        var initIndex = function() {
            var indexs = "<div>";
            var current;
            var x;
            for (var i = 0; i < total; i++) {
                current = (i == settings.index) ? settings.current: "";
                switch (settings.type) {
                case "num":
                    x = i + 1;
                    break;
                case "string":
                    x = settings.pics[i].alt;
                    break;
                case "image":
                    x = "<img src='" + settings.pics[i].breviary + "' />";
                default:
                    break;
                };
                indexs += "<span class='" + current + "'><a href='" + settings.pics[i].href + "' target='_blank'>" + x + "</a></span>";
            };
            indexs += "</div>";
            element.append(indexs);
            element.find("span").bind("mouseover",
            function(e) {
                clearInterval(timer1);
                clearInterval(timer3);
                var index = element.find("span").index(this);
                if (index == settings.index) {
                    return;
                } else {
                    timer3 = setInterval(function() {
                        if (flag) running(parseInt(index));
                    },
                    settings.delay1);
                }
            }).bind("mouseleave",
            function(e) {
                clearInterval(timer3);
                timer1 = setInterval(function() {
                    running(settings.index + 1, true);
                },
                settings.delay2);
            })
        };
        var running = function(index, tag) {
            if (index == total) {
                index = 0;
            };
            element.find("span").eq(settings.index).removeClass(settings.current);
            element.find("span").eq(index).addClass(settings.current);
            timer2 = setInterval(function() {
                var pos_y = parseInt(element.find("ul").get(0).style.top);
                var pos_a = Math.abs(pos_y + settings.index * settings.height);
                var pos_b = Math.abs(index - settings.index) * settings.height;
                var pos_c = Math.ceil((pos_b - pos_a) / 4);
                if (pos_a == pos_b) {
                    clearInterval(timer2);
                    if (tag) {
                        settings.index++;
                        if (settings.index == total) {
                            settings.index = 0;
                        }
                    } else {
                        settings.index = index;
                    };
                    flag = true;
                } else {
                    if (settings.index < index) {
                        element.find("ul").css({
                            top: pos_y - pos_c + "px"
                        });
                    } else {
                        element.find("ul").css({
                            top: pos_y + pos_c + "px"
                        });
                    };
                    flag = false;
                }
            },
            10);
        };
        var delayLoad = function() {
            var img = "";
            for (var i = 1; i < total; i++) {
                img += "<li><a href='" + settings.pics[i].href + "' target='_blank'><img src='" + settings.pics[i].src + "' width='" + settings.width + "' height='" + settings.height + "' /></a></li>";
            };
            element.find("ul").append(img);
            timer1 = setInterval(function() {
                running(settings.index + 1, true);
            },
            settings.delay2);
            if (settings.type) initIndex();
        };
    }
})(jQuery);
function ResumeError() {
    return true;
}
window.onerror = ResumeError;
if ($.browser.isIE6) {
    try {
        document.execCommand("BackgroundImageCache", false, true);
    } catch(err) {}
};
var calluri = "http://fairyservice.360buy.com/WebService.asmx/MarkEx?callback=?";
var loguri = "http://csc.360buy.com/log.ashx?type1=$type1$&type2=$type2$&data=$data$&callback=?";
callback1 = function(data) {;
};
log = function(type1, type2, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) {
    var data = '';
    for (i = 2; i < arguments.length; i++) {
        data = data + arguments[i] + '|||';
    }
    var url = loguri.replace(/\$type1\$/, escape(type1));
    url = url.replace(/\$type2\$/, escape(type2));
    url = url.replace(/\$data\$/, escape(data));
    $.getJSON(url, callback1);
};
mark = function(sku, type) {
    $.getJSON(calluri, {
        sku: sku,
        type: type
    },
    callback1);
    log(1, type, sku);
};

document.domain = "";

