Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function close_modal(e) {
- if (e == undefined) e = 100;
- $("#graybox").fadeOut(e, function() {
- $("#graybox").remove();
- $("#graybox_overlay").fadeOut(e, function() {
- $("#graybox_overlay").remove()
- })
- })
- }
- function open_modal(e, t) {
- var e = $(e);
- if (e.length == 0) return;
- if ($("#graybox").length) return;
- if (t == undefined) t = 100;
- var n = e.clone();
- var r = $($.parseHTML('<div style="display: none;" id="graybox_overlay"></div><div style="display: none;" id="graybox"><div id="graybox_x1"><a href="javascript:void(0);" id="graybox-close" title="close">×</a><div id="graybox-p"></div></div></div>'));
- r.find("#graybox-p").append(n);
- $("body").prepend(r);
- $("#graybox").center();
- $("#graybox_overlay").fadeIn(t, function() {
- $("#graybox").fadeIn(t, function() {})
- });
- $("#graybox-close, #graybox_overlay").on("click", function() {
- close_modal()
- });
- $(document).keyup(function(e) {
- if (e.keyCode == 27) {
- close_modal()
- }
- })
- }
- function initGraybox() {
- $(".graybox").on("click", function(e) {
- e.preventDefault();
- open_modal($(this).attr("href"))
- });
- var e = window.location.hash;
- if (e) {
- if ($(window.location.hash).length) {
- open_modal(window.location.hash)
- }
- }
- }
- function createCookie(e, t, n) {
- if (n) {
- var r = new Date;
- r.setTime(r.getTime() + n * 24 * 60 * 60 * 1e3);
- var i = "; expires=" + r.toGMTString()
- } else var i = "";
- document.cookie = e + "=" + t + i + "; path=/"
- }
- function readCookie(e) {
- var t = e + "=";
- var n = document.cookie.split(";");
- for (var r = 0; r < n.length; r++) {
- var i = n[r];
- while (i.charAt(0) == " ") i = i.substring(1, i.length);
- if (i.indexOf(t) == 0) return i.substring(t.length, i.length)
- }
- return null
- }
- function eraseCookie(e) {
- createCookie(e, "", -1)
- }
- function fixEvent(e, t) {
- e = e || window.event;
- if (!e.currentTarget) e.currentTarget = t;
- if (!e.target) e.target = e.srcElement;
- if (!e.relatedTarget) {
- if (e.type == "mouseover") e.relatedTarget = e.fromElement;
- if (e.type == "mouseout") e.relatedTarget = e.toElement
- }
- if (e.pageX == null && e.clientX != null) {
- var n = document.documentElement;
- var r = document.body;
- e.pageX = e.clientX + (n.scrollLeft || r && r.scrollLeft || 0);
- e.pageX -= n.clientLeft || 0;
- e.pageY = e.clientY + (n.scrollTop || r && r.scrollTop || 0);
- e.pageY -= n.clientTop || 0
- }
- if (!e.which && e.button) {
- e.which = e.button & 1 ? 1 : e.button & 2 ? 3 : e.button & 4 ? 2 : 0
- }
- return e
- }
- function implode(e, t) {
- return t instanceof Array ? t.join(e) : t
- }
- function Player() {
- var e = this;
- e.data = {
- css: {
- search: "#search-value",
- if_no_uspl: "#right_side_if_no_uspl"
- },
- text: {
- loading: "Loading...",
- mode: {
- prefix: "Play mode: ",
- line: "All songs",
- repeat: "repeat",
- shuffle: "shuffle",
- stop: "stop at the end of the song"
- },
- seek: "Seek: ",
- unavailable: "The selected song is currently unavailable",
- unavailable404: "Try listening to another artist",
- unavailable404skipped: "Switch to another artist",
- volume: "Volume: ",
- mute: "Mute",
- added: "Song added",
- have: "The song is already in the playlist",
- removed: "The song is removed from the playlist",
- playonesong: "Play",
- pauseonesong: "Pause",
- cf: {
- on: "A smooth transition is enabled",
- off: "Smooth transition off",
- now_on: "smooth transition included",
- now_off: "smooth transition off"
- },
- login: {
- caption: "Error",
- text: "This action requires authorization. Register or log in with your name"
- }
- },
- url: {
- home: window.location.protocol + "//" + window.location.host,
- favicon: "/i/img/favicon-%mode%.png",
- swf: "/i/swf/",
- save_pl: "/public/api.playlist.php",
- get_pl: "/public/api.playlist.php",
- login: "/authorization",
- download: "/public/api.download.php",
- banner_pages: ["/disclaimer", "/bla"]
- },
- delay: 1e3,
- error_timeout: 3e3
- };
- e.state = {
- pl: "main",
- i: 0,
- user_pl: 0,
- sound: null,
- info: null,
- pb: "stop",
- mode: "line",
- started: false,
- paused: false,
- position: 0,
- duration: 0,
- volume: 75,
- unmute: 75,
- muted: false,
- radio: false,
- version: $("html").attr("id")
- };
- e.error_timer = [];
- e.error_timer_count = [];
- e.counters_started = null;
- e.init = function() {
- SM.setup({
- autoStart: false,
- useThrottling: false,
- usePeakData: true,
- useWaveformData: false,
- useEQData: false,
- useFavIcon: false,
- url: e.data.url.swf,
- preferFlash: false,
- flashVersion: 9,
- useHighPerformance: true,
- debugMode: true,
- ontimeout: function(e) {
- SM.flashLoadTimeout = 0;
- SM.onerror = {};
- SM.reboot()
- },
- onready: function() {
- e.playlist.init();
- e.ui.init();
- e.playlist.user_pl.init()
- }
- })
- };
- e.sound = function(t, n, r, i, s, o) {
- var u = null;
- t = typeof t == "undefined" ? e.state.i : t;
- n = typeof n == "undefined" ? e.state.pl : n;
- r = typeof r == "undefined" ? e.track(t, n) : r;
- i = typeof i == "undefined" ? e.info(r) : i;
- clearTimeout(e.error_timer[i.id]);
- if (s == "load") {
- SM.destroySound("sound" + i.id)
- } else {
- var a = SM.getSoundById("sound" + i.id)
- }
- sound = typeof a == "object" ? a : SM.createSound({
- id: "sound" + i.id,
- url: i.mp3.replace("/file/", "/listen/"),
- onload: function() {
- if (this.readyState == 2) {
- if (n == "main") {
- if (o) {
- if (!r.children("div.container_message").length) {
- r.append('<div class="container_message" style="height:50px; position:absolute; top:0; left:0; width:100%; opacity: 0.8; background-color:gray; color:black; text-align:center; line-height:15px; padding:9px; ">The song is missing<p style="font-weight:bold;"><i>Try again?</i></p></div>')
- }
- SM.stopAll();
- e.next(true)
- } else {
- e.error_timer_count[i.id] = typeof e.error_timer_count[i.id] == "undefined" ? 1 : parseInt(e.error_timer_count[i.id]) + 1;
- var s = e.error_timer_count[i.id];
- if (s == 1) {
- $msg_conta = r.children("div.container_message");
- if ($msg_conta.length) {
- $msg_conta.remove()
- }
- r.append('<div class="container_message" style="height:50px; position:absolute; top:0; left:0; width:100%; opacity: 0.8; background-color:black; color:white; text-align:center; line-height:15px; padding:9px; ">Search this song<p style="font-weight:bold;"><span data-id="' + i.id + '">20</span> sec.</p></div>');
- if (!e.counters_started) e.inc404counters()
- }
- if (s < 4) {
- e.error_timer[i.id] = setTimeout(function() {
- e.sound(t, n, r, i, "load")
- }, 6e3)
- } else if (e.error_timer_count[i.id] > 3) {
- e.error_timer_count[i.id] = 0;
- var u = r.children("div.container_message");
- u.css({
- "background-color": "#FF1111"
- });
- e.ui.notify(e.data.text.unavailable);
- _sound = e.state.sound;
- var a = _sound != null ? _sound.id : null;
- if (sound.id == a) {
- SM.stopAll();
- e.next(true);
- u.html('Oops ... 404 ... Song not found<p style="font-weight:bold;">' + e.data.text.unavailable404skipped + "</p>")
- } else {
- u.html('Oops ... 404 ... Song not found<p style="font-weight:bold;">' + e.data.text.unavailable404 + "</p>")
- }
- SM.destroySound("sound" + i.id)
- }
- }
- } else {
- SM.stopAll();
- e.next(true)
- }
- } else {
- $msg_conta = r.children("div.container_message");
- if ($msg_conta.length) {
- e.error_timer_count[i.id] = 0;
- $msg_conta.remove();
- _sound = e.state.sound;
- var a = _sound != null ? _sound.id : null;
- if (sound.id == a) {
- SM.stopAll();
- e.play(t, n)
- } else if (n == "main") {
- r.addClass("playlist-oo_found")
- }
- }
- }
- },
- onstop: function() {
- this.destruct()
- },
- onplay: function() {
- this.dur = this.durationEstimate;
- var t = this.readyState != 3 ? "0" : "100%";
- $(e.ui.css.progress.loaded).css({
- width: t
- });
- if (this.position > 0) this.setPosition(0);
- var n = e.time(this.dur);
- $(e.ui.css.progress.time).text("0:00");
- $(e.ui.css.progress.total).html(e.state.pl == "radio" ? '<span style="font-size:16px;">∞</span>' : n)
- },
- onfinish: function() {
- if (this.isHTML5) e.next(true)
- },
- whileloading: function() {
- if (this.active) {
- this.dur = this.durationEstimate;
- var t = (this.bytesLoaded / this.bytesTotal * 100).toFixed(2);
- $(e.ui.css.progress.loaded).css({
- width: t + "%"
- })
- }
- },
- whileplaying: function() {
- if (this.active) {
- this.dur = this.durationEstimate;
- var t = (this.position / this.dur * 100).toFixed(2),
- r = e.time(this.position),
- i = parseInt(this.dur) - parseInt(this.position),
- s = e.time(this.dur);
- if (this.position < 100) e.ui.notify(e.data.text.loading, 1);
- if (!e.ui.seek.animated) $(e.ui.css.progress.position).css({
- width: t + "%"
- });
- $(e.ui.css.progress.time).text(r);
- $(e.ui.css.progress.total).html(e.state.pl == "radio" ? '<span style="font-size:16px;">∞</span>' : s);
- e.state.position = this.position
- }
- if (!this.isHTML5) {
- if (i < e.crossfade.preload && typeof u !== "object") {
- u = e.sound(e.get_next(), n);
- u.load()
- }
- if (i < e.crossfade.duration) {
- e.next(true);
- if (e.state.mode != "repeat") {
- this.active = false;
- e.crossfade.fade_out(this)
- }
- }
- }
- }
- });
- if (s == "load") sound.load();
- return sound
- };
- e.play = function(t, n, r) {
- if (typeof t != "object" && n == "main") {
- $("div#xbody span.minishare").remove();
- var i = e.getSocialButtons($("#xbody li.track[data-index=" + t + "]").data("id"), $("li.track[data-index=" + t + "]").find("h2").text(), $("#xbody li.track[data-index=" + t + "]").data("url_song"));
- $("li.track[data-index=" + t + "] em .playlist-btn-addfav").before(i)
- }
- var s = e.state.sound,
- o = e.state.sound,
- u = parseInt((new Date).getTime()),
- a, f, l;
- t = typeof t == "undefined" ? 0 : t;
- n = typeof n == "undefined" ? "main" : n;
- a = e.track(t, n);
- f = e.info(a);
- e.ui.notify(e.data.text.loading);
- skip = typeof r == "undefined" ? 0 : 1;
- s = e.sound(t, n, a, f, null, skip);
- $(e.ui.css.progress.position).css({
- width: 0
- });
- e.ui.playback("play");
- e.ui.update(f);
- e.playlist.set(t, n);
- createCookie("listen", "true", 7);
- e.state.pl = n;
- e.state.i = t;
- e.state.sound = s;
- e.state.info = f;
- e.state.pb = "play";
- e.state.started = true;
- e.state.paused = false;
- e.state.duration = f.duration;
- var c = o != null ? o.id : null;
- if (s.id == c) {
- e.ui.seek.set(0, true, false);
- if (s.paused) {
- s.resume()
- } else if (s.playState == 0) {
- s.play();
- s.active = true
- }
- } else {
- if (u - e.crossfade.end < 4001) {
- SM.stopAll()
- } else {
- e.crossfade.fade_out(o)
- }
- e.crossfade.fade_in(s);
- e.crossfade.end = u
- }
- e.radio.update(f);
- if ($(":hover").length > 0) $.jStorage.set("player", (new Date).getTime())
- };
- e.next = function(t) {
- if (e.state.pl == "onesongblock") {
- if (e.state.mode == "repeat") {
- e.play(e.state.i, e.state.pl)
- } else {
- e.stop()
- }
- return
- }
- var n = e.get_next(t),
- r = e.state.pl,
- i = e.state.mode;
- i = (i == "repeat" || i == "stop") && !t ? "line" : i;
- switch (i) {
- case "line":
- e.play(n, r, true);
- break;
- case "repeat":
- e.play(n, r);
- break;
- case "stop":
- e.stop();
- break;
- case "shuffle":
- e.play(n, r, true);
- break
- }
- if (t || r == "user") e.playlist.scroll(n, r)
- };
- e.prev = function() {
- var t = e.state.pl,
- n;
- switch (t) {
- case "main":
- n = $(e.playlist.css.main.tracks);
- break;
- case "user":
- n = $(e.playlist.css.user.tracks);
- break;
- case "radio":
- n = $(e.playlist.css.radio.main.stations);
- break
- }
- var r = n.length,
- i = n.filter(".act").length > 0 ? true : false,
- s = i ? e.state.i : 0,
- o = e.state.i,
- u = e.data.delay,
- a = e.state.pb,
- f = a == "play" || a == "pause" ? e.state.position : 0;
- if (f > u && t != "radio") {
- e.ui.seek.set(0, true, false)
- } else {
- o = s > 0 || i ? s - 1 : r - 1;
- if (!i) o = r - 1;
- e.play(o, t);
- if (t == "user") e.playlist.scroll(o, t)
- }
- };
- e.pause = function() {
- var t = e.state.i,
- n = e.state.pl,
- r = e.state.sound,
- i = $("li.track.act, li.user-track.act").length > 0 ? true : false;
- r.pause();
- if (i && n == "main") e.playlist.set(t, n, "pause");
- e.ui.playback("pause");
- e.state.pb = "pause";
- e.state.paused = true
- };
- e.resume = function() {
- var t = e.state.i,
- n = e.state.pl,
- r = e.state.sound,
- i = e.state.info,
- s = $("li.track.act, li.user-track.act").length > 0 ? true : false;
- if (i.radio) {
- r.destruct();
- e.play(e.state.i, e.state.pl)
- } else r.resume();
- if (s && n == "main") e.playlist.set(t, n);
- e.ui.playback("play");
- e.state.pb = "play";
- e.state.paused = false;
- if ($(":hover").length > 0) $.jStorage.set("player", (new Date).getTime())
- };
- e.stop = function() {
- if (!e.state.started) return;
- e.play(e.state.i, e.state.pl);
- e.pause()
- };
- e.ui = {
- css: {
- player: "#fixplayer",
- lcd: {
- container: "#fixplayer-lcd",
- title: {
- container: "#fixplayer-title",
- wrap: "#fixplayer-title span",
- artist: "#fixplayer-title b",
- song: "#fixplayer-title em"
- },
- notification: "#fixplayer-notification",
- cover: "#fixplayer-cover"
- },
- buttons: {
- playback: "#fixplayer-b_back, #fixplayer-b_next, #fixplayer-b_play, #fixplayer-b_pause",
- play: "#fixplayer-b_play",
- pause: "#fixplayer-b_pause",
- next: "#fixplayer-b_next",
- prev: "#fixplayer-b_back",
- add: "#fixplayer-addpl",
- remove: "#fixplayer-fav_del",
- download: "#fixplayer-down",
- mode: "#fixplayer-pv"
- },
- progress: {
- bar: "#fixplayer-prok",
- placeholder: "#fixplayer-prok",
- loaded: "#fixplayer-prok-sk",
- position: "#fixplayer-prok-pr",
- time: "#fixplayer-time b",
- total: "#fixplayer-time em"
- },
- volume: {
- container: "#fixplayer-volume",
- placeholder: "#fixplayer-volume",
- value: "#fixplayer-volume-x",
- mute: "#fixplayer-sound"
- }
- },
- pressed: false,
- holded: false,
- seek_delay: 500,
- seek_interval: 5e3,
- seek_timer: null,
- init: function() {
- e.ui.mode.init();
- e.ui.seek.init();
- e.ui.volume.init();
- e.ui.buttons.init()
- },
- playback: function(t) {
- if (t == "play") {
- $(e.ui.css.buttons.play).addClass("hidden");
- $(e.ui.css.buttons.pause).removeClass("hidden");
- e.ui.blink("stop")
- } else if (t == "pause") {
- $(e.ui.css.buttons.pause).addClass("hidden");
- $(e.ui.css.buttons.play).removeClass("hidden");
- e.ui.blink("start")
- } else if (t == "stop") {
- $(e.ui.css.buttons.pause).addClass("hidden");
- $(e.ui.css.buttons.play).removeClass("hidden");
- e.ui.blink("stop")
- }
- if (t == "stop") t = "default";
- if (e.state.volume == 0) e.favicon("mute");
- else e.favicon(t)
- },
- update: function(t) {
- var n = $(e.ui.css.lcd.title.artist),
- r = $(e.ui.css.lcd.title.song);
- var i = {
- artist: n.text(),
- song: r.text()
- };
- if (typeof t.artist != "undefined") n.text(t.artist);
- if (typeof t.song != "undefined") r.text(t.song);
- if (typeof t.artist != "undefined" && t.artist != i.artist) e.ui.rotation();
- else if (typeof t.song != "undefined" && t.song != i.song) e.ui.rotation();
- if (typeof t.mp3 != "undefined") {
- $(e.ui.css.buttons.download).show().attr("href", t.mp3);
- $(e.ui.css.buttons.add).show()
- }
- },
- rotation: function() {
- var t = $(e.ui.css.lcd.container),
- n = $(e.ui.css.lcd.title.wrap),
- r = n.width() - t.width(),
- i = .03;
- if (r > 0) {
- n.stop(true, false).stopTime("controlled").animate({
- marginLeft: 0
- }, 200).everyTime(500, "controlled", function() {
- n.animate({
- marginLeft: "-" + r + "px"
- }, r / i, "swing");
- n.animate({
- marginLeft: 0
- }, r / i, "swing")
- })
- } else {
- n.stop(true, false).stopTime("controlled").animate({
- marginLeft: 0
- }, 200, "swing")
- }
- },
- mode: {
- modes: ["line", "repeat", "shuffle", "stop"],
- init: function() {
- var t = readCookie("mode") != null ? readCookie("mode") : e.state.mode;
- e.ui.mode.set(t, false);
- $(e.ui.css.buttons.mode).click(function(t) {
- e.ui.mode.set();
- t.preventDefault()
- })
- },
- set: function(t, n) {
- var r = $(e.ui.css.buttons.mode),
- i = e.ui.mode.modes,
- s = e.state.mode,
- o = i.indexOf(s) + 1,
- u = o >= i.length ? i[0] : i[o],
- a = i.join(" ");
- t = typeof t == "undefined" ? u : t;
- n = typeof n == "undefined" ? true : n;
- r.removeClass(a).addClass(t);
- r.text(e.data.text.mode[t]);
- e.state.mode = t;
- createCookie("mode", t, 100);
- if (n) e.ui.notify(e.data.text.mode.prefix + "<strong>" + e.data.text.mode[t] + "</strong>")
- }
- },
- seek: {
- pressed: false,
- animated: false,
- inside: false,
- init: function() {
- $(document).bind({
- mousemove: function(t) {
- if (e.ui.seek.pressed == true && e.ui.seek.inside == false) {
- var n = $(e.ui.css.progress.placeholder).width(),
- r = t.pageX - $(e.ui.css.progress.placeholder).offset().left,
- i = (r / n * 100).toFixed(2);
- e.ui.seek.set(i, false, true)
- }
- },
- mouseup: function() {
- e.ui.seek.pressed = false
- }
- });
- $(e.ui.css.progress.placeholder).bind({
- mousedown: function(t) {
- t = fixEvent(t, this);
- e.ui.seek.pressed = true;
- var n = $(this).width(),
- r = t.pageX - $(this).offset().left,
- i = (r / n * 100).toFixed(2);
- e.ui.seek.set(i);
- t.stopPropagation();
- t.preventDefault()
- },
- mousemove: function(t) {
- e.ui.seek.inside = true;
- if (e.ui.seek.pressed) {
- t = fixEvent(t, this);
- var n = $(this).width(),
- r = t.pageX - $(this).offset().left,
- i = (r / n * 100).toFixed(2);
- e.ui.seek.set(i, false);
- $(this).css({
- cursor: "e-resize"
- })
- } else {
- $(this).css({
- cursor: "default"
- })
- }
- },
- mouseleave: function() {
- e.ui.seek.inside = false
- },
- mouseup: function() {
- e.ui.seek.pressed = false
- }
- });
- e.ui.seek.set(0, false, false)
- },
- set: function(t, n, r) {
- var i = e.state.sound,
- s = $(e.ui.css.progress.position),
- o = $(e.ui.css.progress.time),
- u = 0;
- n = typeof n == "undefined" ? true : n;
- r = typeof r == "undefined" ? true : r;
- loaded = 0;
- if (i !== null) {
- u = (i.durationEstimate / 100 * t).toFixed();
- if (u < 0) u = 0;
- if (u > i.durationEstimate) u = i.durationEstimate;
- if (t < 0) t = 0;
- if (t > 100) t = 100;
- loaded = (i.bytesLoaded / i.bytesTotal * 100).toFixed();
- t = parseInt(t) > parseInt(loaded) ? loaded : t;
- if (n) {
- e.ui.seek.animated = true;
- s.stop(true, false).animate({
- width: t + "%"
- }, 100, function() {
- e.ui.seek.animated = false
- })
- } else {
- s.stop(true, false).css({
- width: t + "%"
- })
- }
- if (r) e.ui.notify(e.data.text.seek + parseInt(t).toFixed() + "%", 1);
- o.text(e.time(u));
- i.setPosition(u);
- if (e.state.paused) e.state.position = u
- }
- },
- forward: function(t) {
- var n = parseInt(e.state.position),
- r = parseInt(e.state.duration),
- i = e.ui.seek_interval,
- s, o;
- s = n + i;
- o = (s / r * 100).toFixed();
- t = typeof t == "undefined" ? true : t;
- clearTimeout(e.ui.quick_seek_timer);
- e.ui.quick_seek_timer = setTimeout(function() {
- if (parseInt(o) > 99) e.next(true);
- else e.ui.seek.set(o, t)
- }, 100)
- },
- rewind: function(t) {
- var n = e.state.position,
- r = e.state.duration,
- i = e.ui.seek_interval,
- s, o;
- s = n - i;
- o = (s / r * 100).toFixed();
- o = o < 0 ? 0 : o;
- t = typeof t == "undefined" ? true : t;
- clearTimeout(e.ui.quick_seek_timer);
- e.ui.quick_seek_timer = setTimeout(function() {
- e.ui.seek.set(o, t)
- }, 100)
- }
- },
- volume: {
- pressed: false,
- inside: false,
- init: function() {
- var t = readCookie("volume") != null ? readCookie("volume") : e.state.volume,
- n = readCookie("muted") != null ? readCookie("muted") : false;
- t = e.state.version == "mobile" ? 100 : t;
- e.ui.volume.set(t, false, false);
- if (n !== false) {
- e.state.unmute = n;
- e.state.muted = true
- }
- document.onmousemove = function(t) {
- t = fixEvent(t, this);
- if (e.ui.volume.pressed == true && e.ui.volume.inside == false) {
- var n = $(e.ui.css.volume.placeholder),
- r = n.width(),
- i = t.pageX - n.offset().left,
- s = (i / r * 100).toFixed(2);
- e.ui.volume.set(s, false, true)
- }
- };
- document.onmouseup = function() {
- e.ui.volume.pressed = false
- };
- $(e.ui.css.volume.placeholder).bind({
- mousedown: function(t) {
- t = fixEvent(t, this);
- e.ui.volume.pressed = true;
- var n = $(this).width(),
- r = t.pageX - $(this).offset().left,
- i = (r / n * 100).toFixed(2);
- e.ui.volume.set(i);
- t.stopPropagation();
- t.preventDefault()
- },
- mousemove: function(t) {
- e.ui.volume.inside = true;
- if (e.ui.volume.pressed) {
- t = fixEvent(t, this);
- var n = $(this).width(),
- r = t.pageX - $(this).offset().left,
- i = (r / n * 100).toFixed(2);
- e.ui.volume.set(i, false, true)
- }
- },
- mouseleave: function() {
- e.ui.volume.inside = false
- },
- mouseup: function() {
- e.ui.volume.pressed = false
- }
- });
- $(e.ui.css.volume.container).bind({
- mousewheel: function(t, n) {
- if (n < 0) {
- e.ui.volume.set("-")
- } else if (n > 0) {
- e.ui.volume.set("+")
- }
- t.preventDefault()
- }
- });
- $(e.ui.css.volume.mute).click(function(t) {
- var n = e.state.muted;
- if (n) e.ui.volume.unmute();
- else e.ui.volume.mute();
- t.preventDefault()
- })
- },
- set: function(t, n, r) {
- var i = 2;
- var s = $(e.ui.css.volume.mute),
- o = $(e.ui.css.volume.value),
- u = e.state.sound,
- a = e.state.pb,
- f = parseInt(e.state.volume);
- if (t == "+") t = f + i;
- else if (t == "-") t = f - i;
- t = parseInt(t) > 100 ? 100 : parseInt(t).toFixed();
- t = parseInt(t) < 0 ? 0 : parseInt(t).toFixed();
- n = typeof n == "undefined" ? true : n;
- r = typeof r == "undefined" ? true : r;
- if (u != null) {
- u.unmute();
- u.setVolume(t)
- }
- e.state.volume = t;
- e.state.unmute = t;
- e.state.muted = false;
- createCookie("volume", t, 100);
- eraseCookie("muted");
- if (n) o.stop(true, false).animate({
- width: t + "%"
- }, 100);
- else o.css({
- width: t + "%"
- });
- if (r) e.ui.notify(e.data.text.volume + t + "%", 1);
- if (t == 0) s.removeClass("on").addClass("off");
- else s.removeClass("off").addClass("on");
- if (t == 0) e.favicon("mute");
- else if (f == 0) e.favicon(a.replace("stop", "default"))
- },
- mute: function() {
- var t = e.state.volume;
- e.ui.volume.set(0, true, false);
- e.ui.notify(e.data.text.mute);
- e.state.unmute = t;
- e.state.muted = true;
- createCookie("muted", t, 100)
- },
- unmute: function() {
- e.ui.volume.set(e.state.unmute)
- }
- },
- buttons: {
- init: function() {
- e.ui.buttons.playback();
- e.ui.buttons.media();
- e.ui.buttons.add();
- $(e.ui.css.buttons.download).hide();
- $(e.ui.css.buttons.add).hide()
- },
- playback: function() {
- $(e.ui.css.buttons.playback).bind({
- mousedown: function(t) {
- var n = t.target.id,
- r = {
- next: e.ui.css.buttons.next.replace("#", ""),
- prev: e.ui.css.buttons.prev.replace("#", "")
- };
- if (n == r.next || n == r.prev) {
- e.ui.pressed = (new Date).getTime();
- e.ui.seek_timer = window.setInterval(function() {
- var t = (new Date).getTime();
- if (e.ui.pressed && t - e.ui.pressed > e.ui.seek_delay) {
- e.ui.holded = true;
- if (n == r.next) e.ui.seek.forward();
- else if (n == r.prev) e.ui.seek.rewind()
- }
- }, 300)
- }
- t.preventDefault()
- },
- mouseleave: function() {
- e.ui.pressed = false;
- clearInterval(e.ui.seek_timer)
- },
- mouseup: function(t) {
- t = fixEvent(t);
- var n = t.target.id,
- r = {
- play: e.ui.css.buttons.play.replace("#", ""),
- pause: e.ui.css.buttons.pause.replace("#", ""),
- next: e.ui.css.buttons.next.replace("#", ""),
- prev: e.ui.css.buttons.prev.replace("#", "")
- };
- e.ui.pressed = false;
- clearInterval(e.ui.seek_timer);
- if (n == r.play) {
- if ($(".act").length > 0) {
- e.resume()
- } else {
- if (e.state.started) {
- e.play()
- } else {
- if ($(e.playlist.css.user.tracks).length > 0) e.play(0, "user");
- else e.play(0, "main")
- }
- }
- } else if (n == r.pause) {
- e.pause()
- } else if (n == r.next) {
- if (!e.ui.holded) e.next();
- e.ui.holded = false
- } else if (n == r.prev) {
- if (!e.ui.holded) e.prev();
- e.ui.holded = false
- }
- t.preventDefault()
- },
- click: function(e) {
- e.preventDefault()
- }
- })
- },
- media: function() {
- $(document).keydown(function(t) {
- var n = t.keyCode,
- r = t.ctrlKey;
- if ($("input:text:focus, input:password:focus, textarea:focus").length > 0 || r) return;
- if (n == 179 || n == 80 || n == 88) {
- $(e.ui.css.buttons.play + ":not(.hidden)," + e.ui.css.buttons.pause + ":not(.hidden)").trigger("mouseup");
- t.preventDefault()
- } else if (n == 177 || n == 90) {
- e.prev();
- t.preventDefault()
- } else if (n == 176 || n == 67) {
- e.next();
- t.preventDefault()
- } else if (n == 37) {
- e.ui.seek.rewind(false);
- t.preventDefault()
- } else if (n == 39) {
- e.ui.seek.forward(false);
- t.preventDefault()
- } else if (n == 77) {
- $(e.ui.css.volume.mute).click();
- t.preventDefault()
- } else if (n == 89) {
- e.ui.mode.set();
- t.preventDefault()
- } else if (n == 70) {
- $(e.data.css.search).val("").focus();
- $(window).scrollTop(0);
- t.preventDefault()
- }
- })
- },
- add: function() {
- $(e.ui.css.buttons.add).click(function(t) {
- var n = e.state.info,
- r = e.state.started;
- if (r) {
- e.playlist.user_pl.add(n);
- e.ui.notify(e.data.text.added)
- }
- t.preventDefault()
- })
- }
- },
- notify: function(t, n) {
- var r = $(e.ui.css.lcd.container),
- i = $(e.ui.css.lcd.notification);
- n = typeof n == "undefined" ? parseInt(2400) : parseInt(n * 1e3 + 400);
- i.html(t);
- r.addClass("notify");
- clearTimeout(e.ui.notify_timer);
- e.ui.notify_timer = setTimeout(function() {
- r.removeClass("notify")
- }, n)
- },
- blink: function(t) {
- t = typeof t == "undefined" ? "start" : t;
- if (t == "start") $(e.ui.css.lcd.title.container).everyTime(1e3, "controlled", function() {
- $(this).animate({
- opacity: .1
- }, 1e3);
- $(this).animate({
- opacity: 1
- }, 1e3)
- });
- else $(e.ui.css.lcd.title.container).stop(true).stopTime("controlled").animate({
- opacity: 1
- }, 100)
- }
- };
- e.playlist = {
- css: {
- pagination: {
- container: "ul.listalka"
- },
- main: {
- list: ".playlist",
- track: "li.track",
- tracks: ".playlist li.track",
- play: "a.playlist-btn-playback",
- download: "a.playlist-btn-down",
- add: "a.playlist-btn-addfav"
- },
- user: {
- root: "#js-uspl",
- list: "#user-playlist",
- track: "li.user-track",
- tracks: "#user-playlist li.user-track",
- remove: "a.ulist-del",
- ul: "#user-playlist",
- empty: "#usbl-my_fav_empty",
- open: "#uspl-title"
- },
- all: {
- list: ".playlist, #user-playlist",
- tracks: "li.track, li.user-track",
- stations: "li.radio-station"
- },
- radio: {
- main: {
- list: ".radiobl",
- station: ".radio-station",
- stations: ".radiobl .radio-station"
- }
- }
- },
- data: [],
- init: function() {
- player.playlist.buildPlaylist();
- e.playlist.reindex();
- e.playlist.events();
- tryNum = 0
- },
- tracks: function(t) {
- var n, r = [];
- t = typeof t == "undefined" ? "main" : t;
- if (t == "main") n = $(e.playlist.css.main_tracks);
- else n = $(e.playlist.css.user.tracks);
- n.each(function(t) {
- r[t] = e.info($(this))
- });
- return r
- },
- buildPlaylist: function() {
- $("ul" + e.playlist.css.user.list).remove();
- var t = $(document.createElement("ul"));
- t.attr("id", e.playlist.css.user.list.replace("#", ""));
- t.addClass("ulist");
- $(e.playlist.css.user.root).append(t);
- t.wrap('<div class="nano"><div class="nano-content"></div></div>');
- e.playlist.download()
- },
- reindex: function() {
- $(e.playlist.css.main.tracks).each(function(e) {
- $(this).data("index", e);
- $(this).attr("data-index", e)
- });
- $(e.playlist.css.user.tracks).each(function(e) {
- $(this).data("index", e);
- $(this).attr("data-index", e)
- });
- e.state.i = e.playlist.act();
- e.playlist.empty()
- },
- empty: function() {
- var t = $(e.playlist.css.user.empty),
- n = $(e.playlist.css.user.tracks),
- r = $(e.playlist.css.user.list),
- i = false,
- s = window.location.pathname,
- o = $("body").data("playlist-url");
- if (o == s) {
- i = true
- }
- if (!i && e.data.url.banner_pages.length) {
- for (var u = 0; u < e.data.url.banner_pages.length; u++) {
- if (e.data.url.banner_pages[u] == s) {
- i = true;
- break
- }
- }
- }
- if (i) {
- $(e.playlist.css.user.root).hide();
- $(e.data.css.if_no_uspl).html('<div id="if_no_uspl"></div>')
- } else {
- $(e.playlist.css.user.root).show();
- $(e.data.css.if_no_uspl).html("")
- }
- if (n.length > 0) {
- t.addClass("hidden");
- r.removeClass("hidden")
- } else {
- t.removeClass("hidden");
- r.addClass("hidden")
- }
- },
- act: function() {
- if (e.state.pl == "onesongblock") return 0;
- var t = e.state.pl,
- n = t == "main" ? $(e.playlist.css.main.tracks) : $(e.playlist.css.user.tracks),
- r = n.filter(".act").length > 0 ? parseInt(n.filter(".act").attr("data-index")) : 0;
- return r
- },
- set: function(t, n, r) {
- var i = "act";
- n = typeof n == "undefined" ? "main" : n;
- r = typeof r == "undefined" ? "play" : r;
- var s = e.track(t, n);
- $("li.act").removeClass(i);
- $(e.playlist.css.main.play).removeClass("playlist-btn-pause").addClass("playlist-btn-play");
- $("#fixplayer .minishare").remove();
- var o = s.find("h2").text();
- if (o == "") o = $(".onesongblock-title b").text() + " - " + $(".onesongblock-title em").text();
- $("#fixplayer-foo").after(e.getSocialButtons(s.data("id"), o, s.data("url_song")));
- initGraybox();
- if (r == "stop") return;
- switch (n) {
- case "main":
- s.addClass(i);
- var u = s.find(e.playlist.css.main.play);
- if (r == "pause") u.removeClass("playlist-btn-pause").addClass("playlist-btn-play");
- else if (r == "play") u.removeClass("playlist-btn-play").addClass("playlist-btn-pause");
- break;
- default:
- s.addClass(i);
- break
- }
- },
- scroll: function(e, t) {},
- download: function() {
- $.post(e.data.url.get_pl, {
- action: "get"
- }, function(t, n) {
- t = $.parseJSON(t);
- if (n == "success" && t != null) {
- tryNum = 0;
- e.playlist.data = t.tracks;
- e.playlist.user_pl.render()
- } else setTimeout(e.playlist.download, 1e3 + 5e3 * ++tryNum)
- })
- },
- events: function() {
- $(document).on("click", e.playlist.css.all.tracks, function(t) {
- if ($(t.target).hasClass("ui-sortable-helper")) {
- return
- }
- var n = $(this).attr("data-index"),
- r = $(this).hasClass("track") ? "main" : "user",
- i = player.state.paused,
- s = $(this).hasClass("act") ? true : false;
- if (s) {
- if (i) e.resume();
- else e.pause()
- } else e.play(n, r);
- t.preventDefault()
- });
- $(document).on("click", e.playlist.css.main.download, function(t) {
- t.stopPropagation();
- var n = $(this).parent().parent().attr("data-index"),
- r = e.info(e.track(n, "main"));
- $.ajax({
- type: "POST",
- async: false,
- contentType: "application/x-www-form-urlencoded",
- dataType: "json",
- url: e.data.url.download,
- data: {
- song_id: r.id,
- song_name: r.song,
- song_mp3: r.mp3,
- song_artist: r.artist
- },
- success: function(e) {
- if (e.download == false) {
- t.preventDefault();
- $("body").prepend(e.code)
- }
- }
- });
- t.stopPropagation()
- });
- $(document).on("click", e.playlist.css.main.add, function(t) {
- var n = e.info($(this).parent("em").parent(e.playlist.css.main.track));
- e.playlist.user_pl.add(n);
- t.stopPropagation();
- t.preventDefault()
- });
- $(document).on("click", e.playlist.css.user.remove, function(t) {
- var n = $(this).parent("em").parent(e.playlist.css.user.track);
- if (n.length == 0) n = $(this).parent("em").parent(e.playlist.css.main.track);
- n = n.data("index");
- e.playlist.user_pl.remove(n);
- t.stopPropagation();
- t.preventDefault()
- });
- $(document).on("click", e.playlist.css.all.stations, function(t) {
- var n = $(this).data("index"),
- r = "radio",
- i = player.state.paused,
- s = $(this).hasClass("act") ? true : false;
- if (s) {
- if (i) e.resume();
- else e.pause()
- } else e.play(n, r);
- t.preventDefault()
- })
- },
- tools: function() {},
- activate: function() {
- var t = e.state.info !== null ? e.state.info.id : false,
- n, r = e.state.paused ? "pause" : "play",
- i = e.state.pl;
- if (!t) return;
- n = $(e.playlist.css.all.tracks).not(".user-track").filter('li[data-id="' + t + '"]').filter(":first");
- if (n.length > 0) e.playlist.set(n.data("index"), i, r)
- },
- user_pl: {
- init: function() {
- var t = $("#user-playlist");
- if (!t.find("li").length) {
- t.addClass("hidden")
- }
- $(e.playlist.css.user.open).on("click", function() {
- if ($("body").hasClass("xbody_mod_uspl-open")) {
- $("body").removeClass("xbody_mod_uspl-open");
- $(document).unbind("click.eventHideUspl")
- } else {
- $("body").addClass("xbody_mod_uspl-open");
- $(document).bind("click.eventHideMinishare", function(e) {
- if (!$(e.target).closest("#uspl").length && !$(e.target).closest("#fixplayer").length) {
- $("body").removeClass("xbody_mod_uspl-open");
- $(document).unbind("click.eventHideUspl")
- }
- });
- var e = t.find("li.act");
- if (e.length) {
- t.scrollTop(e.position().top)
- }
- }
- });
- e.playlist.user_pl.sortable()
- },
- add: function(t) {
- var n = false;
- for (var r = 0; r < e.playlist.data.length; r++) {
- if (t.id == e.playlist.data[r].id) {
- n = true;
- break
- }
- }
- if (!n) {
- t.listen = t.download = t.mp3;
- e.playlist.data.unshift(t);
- e.playlist.user_pl.render("new");
- e.playlist.user_pl.save();
- e.notify("", "info", 2, e.data.text.added);
- e.playlist.user_pl.render()
- } else {
- e.notify("", "error", 2, e.data.text.have)
- }
- },
- render: function(t) {
- var n = e.playlist.css.user.ul,
- r = "";
- var i = t == "new" ? 1 : 0;
- $(n).html("");
- for (; i < e.playlist.data.length; i++) {
- var s = e.playlist.data[i];
- r = '<li class="user-track" data-index="' + i + '" data-id="' + s.id + '" data-mp3="' + s.listen + '" data-url_song="' + s.url_song + '" data-duration="' + s.duration + '"><em><a class="ulist-del no-ajaxy" href="#" title="delete">(delete)</a><span class="ulist-duration">' + player.time(s.duration) + '</span></em><h2 class="ulist-name"><b>' + s.artist + "</b><i>–</i><em>" + s.song + "</em></h2></li>\r\n";
- e.playlist.data[i].elem = $(r);
- $(n).append(e.playlist.data[i].elem)
- }
- if (t == "new") {
- var s = e.playlist.data[0];
- track = '<li class="user-track new" data-index="0" data-id="' + s.id + '" data-mp3="' + s.listen + '" data-url_song="' + s.url_song + '" data-duration="' + s.duration + '"><em><a class="ulist-del no-ajaxy" href="#" title="delete">(delete)</a><span class="ulist-duration">' + player.time(s.duration) + '</span></em><h2 class="ulist-name"><b>' + s.artist + "</b><i>–</i><em>" + s.song + "</em></h2></li>";
- e.playlist.data[0].elem = $(track);
- $(e.playlist.data[0].elem).prependTo(n).css({
- display: "none"
- }).slideDown(100)
- }
- $(".js-uspl-loading").hide();
- e.playlist.empty();
- $("div.nano").nanoScroller();
- if ($(n).children("li").length) {
- $("#usbl-my_fav_empty").hide()
- } else {
- if ($("#usbl-my_fav_empty").length) {
- $("#usbl-my_fav_empty").fadeIn(400)
- } else {
- $("#js-uspl").children("span").after('<div id="usbl-my_fav_empty"><b>[ empty ]</b><i>Like this song?<br />Add it to favorites!</i></div>')
- }
- }
- },
- remove: function(t) {
- var n = $(e.playlist.css.user.tracks).eq(t);
- if (document.location.pathname.indexOf("/favorites") != -1) n = $(e.playlist.css.main.tracks).eq(t);
- n.animate({
- height: 0
- }, 100, function() {
- $(this).remove();
- e.playlist.data.splice(t, 1);
- e.playlist.user_pl.render();
- e.playlist.user_pl.save();
- e.notify("", "info", 2, e.data.text.removed)
- })
- },
- save: function() {
- var t = e.data.url.save_pl,
- n = [];
- e.playlist.reindex();
- e.playlist.data.sort(function(e, t) {
- var e = e.elem.attr("data-index");
- var t = t.elem.attr("data-index");
- if (e < t) return -1;
- if (e > t) return 1;
- return 0
- });
- $.each(e.playlist.data, function(e, t) {
- n[e] = t.id
- });
- n = implode(",", n);
- $.ajax({
- type: "POST",
- url: t,
- data: {
- action: "set",
- tracks: n
- }
- })
- },
- sortable: function() {
- if (document.getElementById("user-playlist") == null) return;
- new Sortable(document.getElementById("user-playlist"), {
- ghostClass: "sortable-ghost",
- onEnd: function(t) {
- t.stopPropagation();
- if ((new Date).getTime() - Start_drag < 500) return false;
- e.playlist.user_pl.save("resort")
- },
- onStart: function(e) {
- e.stopPropagation();
- Start_drag = (new Date).getTime()
- }
- })
- }
- }
- };
- e.radio = {
- interval: 5e3,
- update: function(t) {
- if (t.radio && t.now) e.radio.rds.start();
- if (t.radio) $(e.ui.css.player).addClass("is-radio");
- else $(e.ui.css.player).removeClass("is-radio");
- sound.setVolume(e.state.volume)
- },
- rds: {
- start: function() {
- e.radio.rds.get();
- e.radio.rds.stop();
- e.radio.timer = setInterval(function() {
- e.radio.rds.get()
- }, e.radio.interval)
- },
- stop: function() {
- clearInterval(e.radio.timer)
- },
- get: function() {
- if (e.state.info.radio && e.state.info.now) $.ajax({
- type: "GET",
- url: e.state.info.now,
- dataType: "html",
- success: function(t) {
- e.ui.update({
- song: t
- })
- }
- })
- }
- }
- };
- e.crossfade = {
- duration: 750,
- preload: 15e3,
- tail: null,
- end: 0,
- init: function() {},
- fade_out: function(t) {
- if (t != null) {
- var n = parseInt((new Date).getTime()),
- r = parseInt(e.crossfade.duration),
- i = n + r,
- s = t.volume;
- t.active = false;
- clearInterval(t.cf_out_timer);
- if (t.cf) clearInterval(t.cf_in_timer);
- t.setVolume(s);
- t.cf_out_timer = window.setInterval(function() {
- var e = (new Date).getTime();
- if (e < i) {
- var n = ((i - e) / r * s).toFixed();
- t.setVolume(n);
- t.cf = true
- } else {
- clearInterval(t.cf_out_timer);
- t.unload().stop();
- t.cf = false
- }
- }, 50)
- }
- },
- fade_in: function(t) {
- if (t != null) {
- var n = parseInt((new Date).getTime()),
- r = parseInt(e.crossfade.duration),
- i = n + r,
- s = parseInt(e.state.volume);
- t.active = true;
- clearInterval(t.cf_in_timer);
- if (t.cf) clearInterval(t.cf_out_timer);
- t.setVolume(0);
- t.play();
- t.cf_in_timer = window.setInterval(function() {
- var e = parseInt((new Date).getTime());
- if (e < i) {
- var n = (s - (i - e) / r * s).toFixed();
- t.setVolume(n);
- t.cf = true
- } else {
- clearInterval(t.cf_in_timer);
- t.setVolume(s);
- t.cf = false
- }
- }, 50)
- }
- }
- };
- e.inc404counters = function() {
- var t = false;
- $.each($("div.container_message"), function(e, n) {
- var r = $(n).children("p").children("span");
- if (r.length) {
- var i = parseInt(r.text());
- if (i > 0) {
- r.text(i - 1);
- t = true
- }
- }
- });
- if (t) {
- e.counters_started = setTimeout(function() {
- e.inc404counters()
- }, 1e3)
- } else {
- e.counters_started = null
- }
- };
- e.check = function(t, n, r) {
- clearTimeout(e.error_timer);
- $.ajax({
- url: t,
- type: "head",
- crossDomain: false,
- error: function() {
- e.error_timer_count = typeof e.error_timer_count == "undefined" ? 1 : parseInt(e.error_timer_count) + 1;
- var i = e.error_timer_count;
- if (i < 3) {
- e.error_timer = setTimeout(function() {
- e.check(t, n, r)
- }, 1500)
- } else if (e.error_timer_count > 2) {
- e.error_timer_count = 0;
- n.css({
- opacity: .3
- });
- e.ui.notify(e.data.text.unavailable);
- r.destruct();
- e.next(true)
- }
- },
- success: function() {
- n.css({
- opactity: 1
- })
- }
- })
- };
- e.get_next = function(t) {
- var n = e.state.pl,
- r;
- switch (n) {
- case "main":
- r = $(e.playlist.css.main.tracks);
- break;
- case "user":
- r = $(e.playlist.css.user.tracks);
- break;
- case "radio":
- r = $(e.playlist.css.radio.main.stations);
- break
- }
- var i = r.length,
- s = r.filter(".act").length > 0 ? true : false,
- o = s ? parseInt(e.state.i) : 0,
- u = null,
- a = e.state.mode;
- a = n == "radio" || (a == "repeat" || a == "stop") && !t ? "line" : a;
- switch (a) {
- case "line":
- u = o + 1;
- if (u + 1 > i || !s) u = 0;
- break;
- case "repeat":
- u = o;
- break;
- case "stop":
- u = o;
- break;
- case "shuffle":
- u = Math.floor(Math.random() * i);
- if (u == o) u = Math.floor(Math.random() * i);
- if (u == o) u = Math.floor(Math.random() * i);
- break
- }
- return u
- };
- e.track = function(t, n) {
- var r;
- switch (n) {
- case "main":
- r = $(e.playlist.css.main.tracks).eq(t);
- break;
- case "user":
- r = $(e.playlist.css.user.tracks).eq(t);
- break;
- case "onesongblock":
- r = t;
- break;
- case "radio":
- r = $(e.playlist.css.radio.main.stations).eq(t);
- break
- }
- return r
- };
- e.info = function(e) {
- if (e.closest(".onesongblock").length) {
- return {
- index: -1,
- mp3: e.data("mp3"),
- id: e.data("id"),
- duration: parseInt(e.data("duration")),
- artist: e.parent().parent().find("h3 b").text(),
- song: e.parent().parent().find("h3 em").text()
- }
- }
- var t = e.hasClass("radio-station") || e.hasClass("radio-station-mini") ? true : false;
- if (t) {
- return {
- index: e.data("index"),
- mp3: e.data("mp3"),
- id: e.data("id"),
- duration: e.data("duration"),
- artist: e.find("h4").text(),
- song: "Song 1",
- radio: t,
- now: e.data("now"),
- cover: e.find("img").length > 0 ? e.find("img").attr("src") : false,
- lyrics: e.data("lyrics-id")
- }
- }
- return {
- index: e.data("index"),
- mp3: e.data("mp3"),
- id: e.data("id"),
- duration: e.data("duration"),
- artist: e.find("h2 b").text(),
- song: e.find("h2 em").text()
- }
- };
- e.favicon = function(t) {
- var n = t == "default" ? "/favicon.ico" : e.data.url.favicon.replace("%mode%", t);
- $('link[rel$="icon"]').remove();
- $("head").append('<link rel="shortcut icon" type="image/x-icon" href="' + n + '" />')
- };
- e.time = function(e) {
- e = e / 1e3;
- var t = parseInt(e / 60, 10);
- if (String(t).length == 1) t = "0" + t;
- var n = parseInt(e - t * 60, 10);
- if (String(n).length == 1) n = "0" + n;
- var r = t + ":" + n;
- return r
- };
- e.notify = function(e, t, n, r) {
- var i = {
- text: typeof e == "undefined" ? "" : "<p>" + e + "</p>",
- caption: typeof r == "undefined" ? "" : "<h4>" + r + "</h4>",
- type: typeof t == "undefined" ? "info" : t,
- time: typeof n == "undefined" ? 3 : n
- },
- s = document.createElement("div");
- if ($("#notifications").length < 1) $(document.body).append('<div id="notifications"></div>');
- $(s).css("display", "none").addClass("notification").addClass("notification-" + i.type).html(i.caption + i.text).appendTo($("#notifications")).slideDown(200);
- setTimeout(function() {
- $(s).animate({
- opacity: 0,
- height: 0
- }, 200, function() {
- $(s).remove()
- })
- }, i.time * 1e3)
- };
- e.getSocialButtons = function(e, t, n) {
- var r = encodeURIComponent(t.substr(0, 80));
- var i = encodeURIComponent(t.substr(0, 200));
- t = encodeURIComponent(t);
- var s = encodeURIComponent("Free-MP3-music.download");
- var o = encodeURIComponent("Free music online || Download free mp3");
- var u = encodeURI(n);
- var a = "http://vk.com/share.php?description=" + s + "%0A" + o + "&title=" + i + "&url=" + u;
- var f = "http://ok.ru/dk?st.comments=" + i + "%0A" + u + "%0A" + o + "&st.cmd=addShare&st._surl=" + u;
- var l = "http://facebook.com/sharer.php?u=" + u;
- var c = "http://plus.google.com/share?url=" + u;
- var h = "http://twitter.com/share?text=" + r + "%0A" + o + "%0A&url=" + u;
- return '<span class="rt_share minishare"><!--' + '--><a class="rt_share-fb" href="javascript:void(0);" title="Share — facebook" onclick="window.open(\'' + l + "', '_blank', 'scrollbars=1, resizable=1, width=550, height=500'); event.stopPropagation();event.preventDefault(); return false;\">(fb)</a><!--" + '--><a class="rt_share-tw" href="javascript:void(0);" title="Share — twitter" onclick="window.open(\'' + h + "', '_blank', 'scrollbars=1, resizable=1, width=550, height=500'); event.stopPropagation();event.preventDefault(); return false;\">(tw)</a><!--" + '--><a class="rt_share-gp" href="javascript:void(0);" title="Share — Google+" onclick="window.open(\'' + c + "', '_blank', 'scrollbars=1, resizable=1, width=550, height=500'); event.stopPropagation();event.preventDefault(); return false;\">(gp)</a><!--" + '--><a class="rt_share-url" href="javascript:void(0);" title="Get link" onclick="open_modal(this);$(\'.pp-song_link input\').focus(function(){$(this).select();});$(\'.pp-song_link input\').mouseup(function(e){e.preventDefault();});event.stopPropagation();return false;"><div class="pp-song_link"><input type="text" value="' + n + '" /></div></a><!--' + "--></span>"
- }
- }
- function GetTune() {
- var e = this;
- e.data = {
- css: {
- search: {
- form: "#search-form",
- value: "#search-value",
- submit: "#search-submit",
- submitter: "#search-submitter",
- cleaner: "#clear-search"
- },
- player_title: "#player-page-title",
- bio: {
- container: "#artist-bio",
- toggle: "#artist-bio-toggle"
- }
- },
- url: {
- search: "/public/api.search.php"
- },
- text: {
- loading: "loading..."
- }
- };
- e.init = function() {
- e.redirectIfNecessary();
- e.run.navigation();
- e.run.storage();
- e.history()
- };
- e.history = function() {
- e.loadOnesongBlock();
- e.run.search();
- initGraybox();
- e.run.liru();
- e.run.player_title();
- player.playlist.tools();
- player.playlist.activate();
- player.playlist.reindex();
- e.run.bio();
- $(window).scrollTop(0)
- };
- e.run = {
- navigation: function() {
- $(document.body).append('<span id="load-indicator">' + e.data.text.loading + "</span>")
- },
- search: function() {
- var t = $(e.data.css.search.form),
- n = $(e.data.css.search.value),
- r = $(e.data.css.search.submit),
- i = $(e.data.css.search.submitter),
- s = n.data("placeholder"),
- o = $(e.data.css.search.cleaner);
- if (!!(window.history && history.pushState)) {
- t.bind({
- submit: function(t) {
- var s = $(e.data.css.search.value).val().replace("/", "").replace(/&/g, "&"),
- o = e.data.url.search;
- if (s != n.val()) {
- n.attr("disabled", true);
- r.attr("disabled", true)
- }
- $.ajax({
- type: "POST",
- url: o,
- data: {
- q: s
- },
- success: function(e) {
- i.attr("href", e).click()
- },
- dataType: "html"
- });
- n.blur();
- t.preventDefault()
- }
- })
- }
- n.bind({
- focus: function() {
- if (n.val() == s) n.val("");
- if (n.val().length > 0) o.removeClass("hidden");
- else o.addClass("hidden")
- },
- blur: function() {
- if (n.val() == "") n.val(s)
- },
- keyup: function() {
- if (n.val().length > 0) o.removeClass("hidden");
- else o.addClass("hidden")
- }
- });
- o.bind({
- click: function(e) {
- $(this).addClass("hidden");
- n.val("").focus();
- e.preventDefault()
- }
- })
- },
- storage: function() {
- var e = $.jStorage;
- if (e.storageAvailable()) {
- e.listenKeyChange("player", function(e, t) {
- if (t == "updated" && $(":hover").length == 0) player.pause()
- })
- }
- },
- liru: function() {
- var e = typeof window.custom_ref != "undefined" ? window.custom_ref : document.referrer;
- (new Image).src = "//counter.yadro.ru/hit;xn--41a-ws?r" + escape(e) + (typeof screen == "undefined" ? "" : ";s" + screen.width + "*" + screen.height + "*" + (screen.colorDepth ? screen.colorDepth : screen.pixelDepth)) + ";u" + escape(document.URL) + ";" + Math.random()
- },
- player_title: function() {
- var t = $(e.data.css.player_title),
- n = function() {
- if (t.length > 0 && player.state.pb == "stop") player.ui.update({
- artist: t.find("b").html(),
- song: t.find("span").html()
- })
- };
- if (typeof player == "object") n();
- else SM.onready = n()
- },
- bio: function() {
- var t = $(e.data.css.bio.container),
- n = $(e.data.css.bio.toggle);
- n.on("click", function(e) {
- if (t.hasClass("ok")) {
- n.text(n.data("open"));
- t.removeClass("ok")
- } else {
- n.text(n.data("close"));
- t.addClass("ok")
- }
- e.preventDefault()
- });
- var r = window.location.pathname.match(/^\/song\/(\d+)[^\d]+\//);
- if (r && r.length == 2) {
- addToggleBio()
- }
- }
- };
- e.loadOnesongBlock = function() {
- var e = window.location.pathname.match(/^\/song\/[^\/]+\/(\d+)[^\d]+/);
- if (e && e.length == 2) {
- var t = 0;
- if (player.state.info && typeof player.state.info.id != "undefined") {
- t = player.state.info.id;
- if (player.state.pl == "main") {
- player.state.pl = "onesongblock"
- }
- }
- if (t == e[1]) {
- var n = player.state.paused ? player.data.text.playonesong : player.data.text.pauseonesong;
- $(".onesongblock-btns a:first").addClass("act").html(n)
- }
- $(".onesongblock-btns a:first").on("click", function() {
- var t = 0;
- if (player.state.info && typeof player.state.info.id != "undefined") t = player.state.info.id;
- if (t != e[1]) {
- player.play($(this), "onesongblock");
- $(this).html(player.data.text.pauseonesong)
- } else {
- var n = player.state.paused;
- if (n) {
- $(this).html(player.data.text.pauseonesong);
- player.resume()
- } else {
- $(this).html(player.data.text.playonesong);
- player.pause()
- }
- }
- })
- } else {
- if (typeof player != "undefined" && player.state.pl == "onesongblock") {
- player.state.pl = "main"
- }
- }
- };
- e.redirectIfNecessary = function() {
- return;
- var e = window.location.hash.substring(1);
- if (e.indexOf("song") == -1) return;
- var t = e.replace("song", ""),
- n = "/song/" + t + "/" + t + "/" + t + "/";
- window.location.href = n
- }
- }
- function addToggleBio() {
- $(".artist_biography").each(function() {
- var e = $(this);
- if (e.find(".artist_biography-p").height() > 900) {
- e.find(".artist_biography-p").addClass("rt-close").append('<a href="javascript:void(0);" class="artist_biography-p__open" onclick="$(this).parent().removeClass(\'rt-close\');"></a>')
- }
- })
- }! function(e, t) {
- "object" == typeof module && "object" == typeof module.exports ? module.exports = e.document ? t(e, !0) : function(e) {
- if (!e.document) throw new Error("jQuery requires a window with a document");
- return t(e)
- } : t(e)
- }("undefined" != typeof window ? window : this, function(a, b) {
- function s(e) {
- var t = e.length,
- n = o.type(e);
- return "function" === n || o.isWindow(e) ? !1 : 1 === e.nodeType && t ? !0 : "array" === n || 0 === t || "number" == typeof t && t > 0 && t - 1 in e
- }
- function x(e, t, n) {
- if (o.isFunction(t)) return o.grep(e, function(e, r) {
- return !!t.call(e, r, e) !== n
- });
- if (t.nodeType) return o.grep(e, function(e) {
- return e === t !== n
- });
- if ("string" == typeof t) {
- if (w.test(t)) return o.filter(t, e, n);
- t = o.filter(t, e)
- }
- return o.grep(e, function(e) {
- return g.call(t, e) >= 0 !== n
- })
- }
- function D(e, t) {
- while ((e = e[t]) && 1 !== e.nodeType);
- return e
- }
- function G(e) {
- var t = F[e] = {};
- return o.each(e.match(E) || [], function(e, n) {
- t[n] = !0
- }), t
- }
- function I() {
- m.removeEventListener("DOMContentLoaded", I, !1), a.removeEventListener("load", I, !1), o.ready()
- }
- function K() {
- Object.defineProperty(this.cache = {}, 0, {
- get: function() {
- return {}
- }
- }), this.expando = o.expando + Math.random()
- }
- function P(e, t, n) {
- var r;
- if (void 0 === n && 1 === e.nodeType)
- if (r = "data-" + t.replace(O, "-$1").toLowerCase(), n = e.getAttribute(r), "string" == typeof n) {
- try {
- n = "true" === n ? !0 : "false" === n ? !1 : "null" === n ? null : +n + "" === n ? +n : N.test(n) ? o.parseJSON(n) : n
- } catch (i) {}
- M.set(e, t, n)
- } else n = void 0;
- return n
- }
- function Z() {
- return !0
- }
- function $() {
- return !1
- }
- function _() {
- try {
- return m.activeElement
- } catch (e) {}
- }
- function jb(e, t) {
- return o.nodeName(e, "table") && o.nodeName(11 !== t.nodeType ? t : t.firstChild, "tr") ? e.getElementsByTagName("tbody")[0] || e.appendChild(e.ownerDocument.createElement("tbody")) : e
- }
- function kb(e) {
- return e.type = (null !== e.getAttribute("type")) + "/" + e.type, e
- }
- function lb(e) {
- var t = gb.exec(e.type);
- return t ? e.type = t[1] : e.removeAttribute("type"), e
- }
- function mb(e, t) {
- for (var n = 0, r = e.length; r > n; n++) L.set(e[n], "globalEval", !t || L.get(t[n], "globalEval"))
- }
- function nb(e, t) {
- var n, r, i, s, u, a, f, l;
- if (1 === t.nodeType) {
- if (L.hasData(e) && (s = L.access(e), u = L.set(t, s), l = s.events)) {
- delete u.handle, u.events = {};
- for (i in l)
- for (n = 0, r = l[i].length; r > n; n++) o.event.add(t, i, l[i][n])
- }
- M.hasData(e) && (a = M.access(e), f = o.extend({}, a), M.set(t, f))
- }
- }
- function ob(e, t) {
- var n = e.getElementsByTagName ? e.getElementsByTagName(t || "*") : e.querySelectorAll ? e.querySelectorAll(t || "*") : [];
- return void 0 === t || t && o.nodeName(e, t) ? o.merge([e], n) : n
- }
- function pb(e, t) {
- var n = t.nodeName.toLowerCase();
- "input" === n && T.test(e.type) ? t.checked = e.checked : ("input" === n || "textarea" === n) && (t.defaultValue = e.defaultValue)
- }
- function sb(e, t) {
- var n = o(t.createElement(e)).appendTo(t.body),
- r = a.getDefaultComputedStyle ? a.getDefaultComputedStyle(n[0]).display : o.css(n[0], "display");
- return n.detach(), r
- }
- function tb(e) {
- var t = m,
- n = rb[e];
- return n || (n = sb(e, t), "none" !== n && n || (qb = (qb || o("<iframe frameborder='0' width='0' height='0'/>")).appendTo(t.documentElement), t = qb[0].contentDocument, t.write(), t.close(), n = sb(e, t), qb.detach()), rb[e] = n), n
- }
- function xb(e, t, n) {
- var r, i, s, u, a = e.style;
- return n = n || wb(e), n && (u = n.getPropertyValue(t) || n[t]), n && ("" !== u || o.contains(e.ownerDocument, e) || (u = o.style(e, t)), vb.test(u) && ub.test(t) && (r = a.width, i = a.minWidth, s = a.maxWidth, a.minWidth = a.maxWidth = a.width = u, u = n.width, a.width = r, a.minWidth = i, a.maxWidth = s)), void 0 !== u ? u + "" : u
- }
- function yb(e, t) {
- return {
- get: function() {
- return e() ? void delete this.get : (this.get = t).apply(this, arguments)
- }
- }
- }
- function Fb(e, t) {
- if (t in e) return t;
- var n = t[0].toUpperCase() + t.slice(1),
- r = t,
- i = Eb.length;
- while (i--)
- if (t = Eb[i] + n, t in e) return t;
- return r
- }
- function Gb(e, t, n) {
- var r = Ab.exec(t);
- return r ? Math.max(0, r[1] - (n || 0)) + (r[2] || "px") : t
- }
- function Hb(e, t, n, r, i) {
- for (var s = n === (r ? "border" : "content") ? 4 : "width" === t ? 1 : 0, u = 0; 4 > s; s += 2) "margin" === n && (u += o.css(e, n + R[s], !0, i)), r ? ("content" === n && (u -= o.css(e, "padding" + R[s], !0, i)), "margin" !== n && (u -= o.css(e, "border" + R[s] + "Width", !0, i))) : (u += o.css(e, "padding" + R[s], !0, i), "padding" !== n && (u += o.css(e, "border" + R[s] + "Width", !0, i)));
- return u
- }
- function Ib(e, t, n) {
- var r = !0,
- i = "width" === t ? e.offsetWidth : e.offsetHeight,
- s = wb(e),
- u = "border-box" === o.css(e, "boxSizing", !1, s);
- if (0 >= i || null == i) {
- if (i = xb(e, t, s), (0 > i || null == i) && (i = e.style[t]), vb.test(i)) return i;
- r = u && (l.boxSizingReliable() || i === e.style[t]), i = parseFloat(i) || 0
- }
- return i + Hb(e, t, n || (u ? "border" : "content"), r, s) + "px"
- }
- function Jb(e, t) {
- for (var n, r, i, s = [], u = 0, a = e.length; a > u; u++) r = e[u], r.style && (s[u] = L.get(r, "olddisplay"), n = r.style.display, t ? (s[u] || "none" !== n || (r.style.display = ""), "" === r.style.display && S(r) && (s[u] = L.access(r, "olddisplay", tb(r.nodeName)))) : s[u] || (i = S(r), (n && "none" !== n || !i) && L.set(r, "olddisplay", i ? n : o.css(r, "display"))));
- for (u = 0; a > u; u++) r = e[u], r.style && (t && "none" !== r.style.display && "" !== r.style.display || (r.style.display = t ? s[u] || "" : "none"));
- return e
- }
- function Kb(e, t, n, r, i) {
- return new Kb.prototype.init(e, t, n, r, i)
- }
- function Sb() {
- return setTimeout(function() {
- Lb = void 0
- }), Lb = o.now()
- }
- function Tb(e, t) {
- var n, r = 0,
- i = {
- height: e
- };
- for (t = t ? 1 : 0; 4 > r; r += 2 - t) n = R[r], i["margin" + n] = i["padding" + n] = e;
- return t && (i.opacity = i.width = e), i
- }
- function Ub(e, t, n) {
- for (var r, i = (Rb[t] || []).concat(Rb["*"]), s = 0, o = i.length; o > s; s++)
- if (r = i[s].call(n, t, e)) return r
- }
- function Vb(e, t, n) {
- var r, i, s, u, a, f, l, c = this,
- h = {},
- p = e.style,
- d = e.nodeType && S(e),
- v = L.get(e, "fxshow");
- n.queue || (a = o._queueHooks(e, "fx"), null == a.unqueued && (a.unqueued = 0, f = a.empty.fire, a.empty.fire = function() {
- a.unqueued || f()
- }), a.unqueued++, c.always(function() {
- c.always(function() {
- a.unqueued--, o.queue(e, "fx").length || a.empty.fire()
- })
- })), 1 === e.nodeType && ("height" in t || "width" in t) && (n.overflow = [p.overflow, p.overflowX, p.overflowY], l = o.css(e, "display"), "none" === l && (l = tb(e.nodeName)), "inline" === l && "none" === o.css(e, "float") && (p.display = "inline-block")), n.overflow && (p.overflow = "hidden", c.always(function() {
- p.overflow = n.overflow[0], p.overflowX = n.overflow[1], p.overflowY = n.overflow[2]
- }));
- for (r in t)
- if (i = t[r], Nb.exec(i)) {
- if (delete t[r], s = s || "toggle" === i, i === (d ? "hide" : "show")) {
- if ("show" !== i || !v || void 0 === v[r]) continue;
- d = !0
- }
- h[r] = v && v[r] || o.style(e, r)
- }
- if (!o.isEmptyObject(h)) {
- v ? "hidden" in v && (d = v.hidden) : v = L.access(e, "fxshow", {}), s && (v.hidden = !d), d ? o(e).show() : c.done(function() {
- o(e).hide()
- }), c.done(function() {
- var t;
- L.remove(e, "fxshow");
- for (t in h) o.style(e, t, h[t])
- });
- for (r in h) u = Ub(d ? v[r] : 0, r, c), r in v || (v[r] = u.start, d && (u.end = u.start, u.start = "width" === r || "height" === r ? 1 : 0))
- }
- }
- function Wb(e, t) {
- var n, r, i, s, u;
- for (n in e)
- if (r = o.camelCase(n), i = t[r], s = e[n], o.isArray(s) && (i = s[1], s = e[n] = s[0]), n !== r && (e[r] = s, delete e[n]), u = o.cssHooks[r], u && "expand" in u) {
- s = u.expand(s), delete e[r];
- for (n in s) n in e || (e[n] = s[n], t[n] = i)
- } else t[r] = i
- }
- function Xb(e, t, n) {
- var r, i, s = 0,
- u = Qb.length,
- a = o.Deferred().always(function() {
- delete f.elem
- }),
- f = function() {
- if (i) return !1;
- for (var t = Lb || Sb(), n = Math.max(0, l.startTime + l.duration - t), r = n / l.duration || 0, s = 1 - r, o = 0, u = l.tweens.length; u > o; o++) l.tweens[o].run(s);
- return a.notifyWith(e, [l, s, n]), 1 > s && u ? n : (a.resolveWith(e, [l]), !1)
- },
- l = a.promise({
- elem: e,
- props: o.extend({}, t),
- opts: o.extend(!0, {
- specialEasing: {}
- }, n),
- originalProperties: t,
- originalOptions: n,
- startTime: Lb || Sb(),
- duration: n.duration,
- tweens: [],
- createTween: function(t, n) {
- var r = o.Tween(e, l.opts, t, n, l.opts.specialEasing[t] || l.opts.easing);
- return l.tweens.push(r), r
- },
- stop: function(t) {
- var n = 0,
- r = t ? l.tweens.length : 0;
- if (i) return this;
- for (i = !0; r > n; n++) l.tweens[n].run(1);
- return t ? a.resolveWith(e, [l, t]) : a.rejectWith(e, [l, t]), this
- }
- }),
- c = l.props;
- for (Wb(c, l.opts.specialEasing); u > s; s++)
- if (r = Qb[s].call(l, e, c, l.opts)) return r;
- return o.map(c, Ub, l), o.isFunction(l.opts.start) && l.opts.start.call(e, l), o.fx.timer(o.extend(f, {
- elem: e,
- anim: l,
- queue: l.opts.queue
- })), l.progress(l.opts.progress).done(l.opts.done, l.opts.complete).fail(l.opts.fail).always(l.opts.always)
- }
- function rc(e) {
- return function(t, n) {
- "string" != typeof t && (n = t, t = "*");
- var r, i = 0,
- s = t.toLowerCase().match(E) || [];
- if (o.isFunction(n))
- while (r = s[i++]) "+" === r[0] ? (r = r.slice(1) || "*", (e[r] = e[r] || []).unshift(n)) : (e[r] = e[r] || []).push(n)
- }
- }
- function sc(e, t, n, r) {
- function u(l) {
- var h;
- return i[l] = !0, o.each(e[l] || [], function(e, o) {
- var a = o(t, n, r);
- return "string" != typeof a || s || i[a] ? s ? !(h = a) : void 0 : (t.dataTypes.unshift(a), u(a), !1)
- }), h
- }
- var i = {},
- s = e === oc;
- return u(t.dataTypes[0]) || !i["*"] && u("*")
- }
- function tc(e, t) {
- var n, r, i = o.ajaxSettings.flatOptions || {};
- for (n in t) void 0 !== t[n] && ((i[n] ? e : r || (r = {}))[n] = t[n]);
- return r && o.extend(!0, e, r), e
- }
- function uc(e, t, n) {
- var r, i, s, o, u = e.contents,
- a = e.dataTypes;
- while ("*" === a[0]) a.shift(), void 0 === r && (r = e.mimeType || t.getResponseHeader("Content-Type"));
- if (r)
- for (i in u)
- if (u[i] && u[i].test(r)) {
- a.unshift(i);
- break
- }
- if (a[0] in n) s = a[0];
- else {
- for (i in n) {
- if (!a[0] || e.converters[i + " " + a[0]]) {
- s = i;
- break
- }
- o || (o = i)
- }
- s = s || o
- }
- return s ? (s !== a[0] && a.unshift(s), n[s]) : void 0
- }
- function vc(e, t, n, r) {
- var i, s, o, u, a, f = {},
- l = e.dataTypes.slice();
- if (l[1])
- for (o in e.converters) f[o.toLowerCase()] = e.converters[o];
- s = l.shift();
- while (s)
- if (e.responseFields[s] && (n[e.responseFields[s]] = t), !a && r && e.dataFilter && (t = e.dataFilter(t, e.dataType)), a = s, s = l.shift())
- if ("*" === s) s = a;
- else if ("*" !== a && a !== s) {
- if (o = f[a + " " + s] || f["* " + s], !o)
- for (i in f)
- if (u = i.split(" "), u[1] === s && (o = f[a + " " + u[0]] || f["* " + u[0]])) {
- o === !0 ? o = f[i] : f[i] !== !0 && (s = u[0], l.unshift(u[1]));
- break
- }
- if (o !== !0)
- if (o && e["throws"]) t = o(t);
- else try {
- t = o(t)
- } catch (c) {
- return {
- state: "parsererror",
- error: o ? c : "No conversion from " + a + " to " + s
- }
- }
- }
- return {
- state: "success",
- data: t
- }
- }
- function Bc(e, t, n, r) {
- var i;
- if (o.isArray(t)) o.each(t, function(t, i) {
- n || xc.test(e) ? r(e, i) : Bc(e + "[" + ("object" == typeof i ? t : "") + "]", i, n, r)
- });
- else if (n || "object" !== o.type(t)) r(e, t);
- else
- for (i in t) Bc(e + "[" + i + "]", t[i], n, r)
- }
- function Kc(e) {
- return o.isWindow(e) ? e : 9 === e.nodeType && e.defaultView
- }
- var c = [],
- d = c.slice,
- e = c.concat,
- f = c.push,
- g = c.indexOf,
- h = {},
- i = h.toString,
- j = h.hasOwnProperty,
- k = "".trim,
- l = {},
- m = a.document,
- n = "2.1.0",
- o = function(e, t) {
- return new o.fn.init(e, t)
- },
- p = /^-ms-/,
- q = /-([\da-z])/gi,
- r = function(e, t) {
- return t.toUpperCase()
- };
- o.fn = o.prototype = {
- jquery: n,
- constructor: o,
- selector: "",
- length: 0,
- toArray: function() {
- return d.call(this)
- },
- get: function(e) {
- return null != e ? 0 > e ? this[e + this.length] : this[e] : d.call(this)
- },
- pushStack: function(e) {
- var t = o.merge(this.constructor(), e);
- return t.prevObject = this, t.context = this.context, t
- },
- each: function(e, t) {
- return o.each(this, e, t)
- },
- map: function(e) {
- return this.pushStack(o.map(this, function(t, n) {
- return e.call(t, n, t)
- }))
- },
- slice: function() {
- return this.pushStack(d.apply(this, arguments))
- },
- first: function() {
- return this.eq(0)
- },
- last: function() {
- return this.eq(-1)
- },
- eq: function(e) {
- var t = this.length,
- n = +e + (0 > e ? t : 0);
- return this.pushStack(n >= 0 && t > n ? [this[n]] : [])
- },
- end: function() {
- return this.prevObject || this.constructor(null)
- },
- push: f,
- sort: c.sort,
- splice: c.splice
- }, o.extend = o.fn.extend = function() {
- var e, t, n, r, i, s, u = arguments[0] || {},
- a = 1,
- f = arguments.length,
- l = !1;
- for ("boolean" == typeof u && (l = u, u = arguments[a] || {}, a++), "object" == typeof u || o.isFunction(u) || (u = {}), a === f && (u = this, a--); f > a; a++)
- if (null != (e = arguments[a]))
- for (t in e) n = u[t], r = e[t], u !== r && (l && r && (o.isPlainObject(r) || (i = o.isArray(r))) ? (i ? (i = !1, s = n && o.isArray(n) ? n : []) : s = n && o.isPlainObject(n) ? n : {}, u[t] = o.extend(l, s, r)) : void 0 !== r && (u[t] = r));
- return u
- }, o.extend({
- expando: "jQuery" + (n + Math.random()).replace(/\D/g, ""),
- isReady: !0,
- error: function(e) {
- throw new Error(e)
- },
- noop: function() {},
- isFunction: function(e) {
- return "function" === o.type(e)
- },
- isArray: Array.isArray,
- isWindow: function(e) {
- return null != e && e === e.window
- },
- isNumeric: function(e) {
- return e - parseFloat(e) >= 0
- },
- isPlainObject: function(e) {
- if ("object" !== o.type(e) || e.nodeType || o.isWindow(e)) return !1;
- try {
- if (e.constructor && !j.call(e.constructor.prototype, "isPrototypeOf")) return !1
- } catch (t) {
- return !1
- }
- return !0
- },
- isEmptyObject: function(e) {
- var t;
- for (t in e) return !1;
- return !0
- },
- type: function(e) {
- return null == e ? e + "" : "object" == typeof e || "function" == typeof e ? h[i.call(e)] || "object" : typeof e
- },
- globalEval: function(a) {
- var b, c = eval;
- a = o.trim(a), a && (1 === a.indexOf("use strict") ? (b = m.createElement("script"), b.text = a, m.head.appendChild(b).parentNode.removeChild(b)) : c(a))
- },
- camelCase: function(e) {
- return e.replace(p, "ms-").replace(q, r)
- },
- nodeName: function(e, t) {
- return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase()
- },
- each: function(e, t, n) {
- var r, i = 0,
- o = e.length,
- u = s(e);
- if (n) {
- if (u) {
- for (; o > i; i++)
- if (r = t.apply(e[i], n), r === !1) break
- } else
- for (i in e)
- if (r = t.apply(e[i], n), r === !1) break
- } else if (u) {
- for (; o > i; i++)
- if (r = t.call(e[i], i, e[i]), r === !1) break
- } else
- for (i in e)
- if (r = t.call(e[i], i, e[i]), r === !1) break; return e
- },
- trim: function(e) {
- return null == e ? "" : k.call(e)
- },
- makeArray: function(e, t) {
- var n = t || [];
- return null != e && (s(Object(e)) ? o.merge(n, "string" == typeof e ? [e] : e) : f.call(n, e)), n
- },
- inArray: function(e, t, n) {
- return null == t ? -1 : g.call(t, e, n)
- },
- merge: function(e, t) {
- for (var n = +t.length, r = 0, i = e.length; n > r; r++) e[i++] = t[r];
- return e.length = i, e
- },
- grep: function(e, t, n) {
- for (var r, i = [], s = 0, o = e.length, u = !n; o > s; s++) r = !t(e[s], s), r !== u && i.push(e[s]);
- return i
- },
- map: function(t, n, r) {
- var i, o = 0,
- u = t.length,
- a = s(t),
- f = [];
- if (a)
- for (; u > o; o++) i = n(t[o], o, r), null != i && f.push(i);
- else
- for (o in t) i = n(t[o], o, r), null != i && f.push(i);
- return e.apply([], f)
- },
- guid: 1,
- proxy: function(e, t) {
- var n, r, i;
- return "string" == typeof t && (n = e[t], t = e, e = n), o.isFunction(e) ? (r = d.call(arguments, 2), i = function() {
- return e.apply(t || this, r.concat(d.call(arguments)))
- }, i.guid = e.guid = e.guid || o.guid++, i) : void 0
- },
- now: Date.now,
- support: l
- }), o.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(e, t) {
- h["[object " + t + "]"] = t.toLowerCase()
- });
- var t = function(e) {
- function rt(e, t, r, i) {
- var s, o, u, a, f, h, v, m, w, E;
- if ((t ? t.ownerDocument || t : b) !== c && l(t), t = t || c, r = r || [], !e || "string" != typeof e) return r;
- if (1 !== (a = t.nodeType) && 9 !== a) return [];
- if (p && !i) {
- if (s = G.exec(e))
- if (u = s[1]) {
- if (9 === a) {
- if (o = t.getElementById(u), !o || !o.parentNode) return r;
- if (o.id === u) return r.push(o), r
- } else if (t.ownerDocument && (o = t.ownerDocument.getElementById(u)) && g(t, o) && o.id === u) return r.push(o), r
- } else {
- if (s[2]) return _.apply(r, t.getElementsByTagName(e)), r;
- if ((u = s[3]) && n.getElementsByClassName && t.getElementsByClassName) return _.apply(r, t.getElementsByClassName(u)), r
- }
- if (n.qsa && (!d || !d.test(e))) {
- if (m = v = y, w = t, E = 9 === a && e, 1 === a && "object" !== t.nodeName.toLowerCase()) {
- h = dt(e), (v = t.getAttribute("id")) ? m = v.replace(Z, "\\$&") : t.setAttribute("id", m), m = "[id='" + m + "'] ", f = h.length;
- while (f--) h[f] = m + vt(h[f]);
- w = Y.test(e) && ht(t.parentNode) || t, E = h.join(",")
- }
- if (E) try {
- return _.apply(r, w.querySelectorAll(E)), r
- } catch (S) {} finally {
- v || t.removeAttribute("id")
- }
- }
- }
- return xt(e.replace(R, "$1"), t, r, i)
- }
- function it() {
- function t(n, i) {
- return e.push(n + " ") > r.cacheLength && delete t[e.shift()], t[n + " "] = i
- }
- var e = [];
- return t
- }
- function st(e) {
- return e[y] = !0, e
- }
- function ot(e) {
- var t = c.createElement("div");
- try {
- return !!e(t)
- } catch (n) {
- return !1
- } finally {
- t.parentNode && t.parentNode.removeChild(t), t = null
- }
- }
- function ut(e, t) {
- var n = e.split("|"),
- i = e.length;
- while (i--) r.attrHandle[n[i]] = t
- }
- function at(e, t) {
- var n = t && e,
- r = n && 1 === e.nodeType && 1 === t.nodeType && (~t.sourceIndex || k) - (~e.sourceIndex || k);
- if (r) return r;
- if (n)
- while (n = n.nextSibling)
- if (n === t) return -1;
- return e ? 1 : -1
- }
- function ft(e) {
- return function(t) {
- var n = t.nodeName.toLowerCase();
- return "input" === n && t.type === e
- }
- }
- function lt(e) {
- return function(t) {
- var n = t.nodeName.toLowerCase();
- return ("input" === n || "button" === n) && t.type === e
- }
- }
- function ct(e) {
- return st(function(t) {
- return t = +t, st(function(n, r) {
- var i, s = e([], n.length, t),
- o = s.length;
- while (o--) n[i = s[o]] && (n[i] = !(r[i] = n[i]))
- })
- })
- }
- function ht(e) {
- return e && typeof e.getElementsByTagName !== C && e
- }
- function pt() {}
- function dt(e, t) {
- var n, i, s, o, u, a, f, l = x[e + " "];
- if (l) return t ? 0 : l.slice(0);
- u = e, a = [], f = r.preFilter;
- while (u) {
- (!n || (i = U.exec(u))) && (i && (u = u.slice(i[0].length) || u), a.push(s = [])), n = !1, (i = z.exec(u)) && (n = i.shift(), s.push({
- value: n,
- type: i[0].replace(R, " ")
- }), u = u.slice(n.length));
- for (o in r.filter) !(i = $[o].exec(u)) || f[o] && !(i = f[o](i)) || (n = i.shift(), s.push({
- value: n,
- type: o,
- matches: i
- }), u = u.slice(n.length));
- if (!n) break
- }
- return t ? u.length : u ? rt.error(e) : x(e, a).slice(0)
- }
- function vt(e) {
- for (var t = 0, n = e.length, r = ""; n > t; t++) r += e[t].value;
- return r
- }
- function mt(e, t, n) {
- var r = t.dir,
- i = n && "parentNode" === r,
- s = E++;
- return t.first ? function(t, n, s) {
- while (t = t[r])
- if (1 === t.nodeType || i) return e(t, n, s)
- } : function(t, n, o) {
- var u, a, f = [w, s];
- if (o) {
- while (t = t[r])
- if ((1 === t.nodeType || i) && e(t, n, o)) return !0
- } else
- while (t = t[r])
- if (1 === t.nodeType || i) {
- if (a = t[y] || (t[y] = {}), (u = a[r]) && u[0] === w && u[1] === s) return f[2] = u[2];
- if (a[r] = f, f[2] = e(t, n, o)) return !0
- }
- }
- }
- function gt(e) {
- return e.length > 1 ? function(t, n, r) {
- var i = e.length;
- while (i--)
- if (!e[i](t, n, r)) return !1;
- return !0
- } : e[0]
- }
- function yt(e, t, n, r, i) {
- for (var s, o = [], u = 0, a = e.length, f = null != t; a > u; u++)(s = e[u]) && (!n || n(s, r, i)) && (o.push(s), f && t.push(u));
- return o
- }
- function bt(e, t, n, r, i, s) {
- return r && !r[y] && (r = bt(r)), i && !i[y] && (i = bt(i, s)), st(function(s, o, u, a) {
- var f, l, c, h = [],
- p = [],
- d = o.length,
- v = s || St(t || "*", u.nodeType ? [u] : u, []),
- m = !e || !s && t ? v : yt(v, h, e, u, a),
- g = n ? i || (s ? e : d || r) ? [] : o : m;
- if (n && n(m, g, u, a), r) {
- f = yt(g, p), r(f, [], u, a), l = f.length;
- while (l--)(c = f[l]) && (g[p[l]] = !(m[p[l]] = c))
- }
- if (s) {
- if (i || e) {
- if (i) {
- f = [], l = g.length;
- while (l--)(c = g[l]) && f.push(m[l] = c);
- i(null, g = [], f, a)
- }
- l = g.length;
- while (l--)(c = g[l]) && (f = i ? P.call(s, c) : h[l]) > -1 && (s[f] = !(o[f] = c))
- }
- } else g = yt(g === o ? g.splice(d, g.length) : g), i ? i(null, o, g, a) : _.apply(o, g)
- })
- }
- function wt(e) {
- for (var t, n, i, s = e.length, o = r.relative[e[0].type], a = o || r.relative[" "], f = o ? 1 : 0, l = mt(function(e) {
- return e === t
- }, a, !0), c = mt(function(e) {
- return P.call(t, e) > -1
- }, a, !0), h = [function(e, n, r) {
- return !o && (r || n !== u) || ((t = n).nodeType ? l(e, n, r) : c(e, n, r))
- }]; s > f; f++)
- if (n = r.relative[e[f].type]) h = [mt(gt(h), n)];
- else {
- if (n = r.filter[e[f].type].apply(null, e[f].matches), n[y]) {
- for (i = ++f; s > i; i++)
- if (r.relative[e[i].type]) break;
- return bt(f > 1 && gt(h), f > 1 && vt(e.slice(0, f - 1).concat({
- value: " " === e[f - 2].type ? "*" : ""
- })).replace(R, "$1"), n, i > f && wt(e.slice(f, i)), s > i && wt(e = e.slice(i)), s > i && vt(e))
- }
- h.push(n)
- }
- return gt(h)
- }
- function Et(e, t) {
- var n = t.length > 0,
- i = e.length > 0,
- s = function(s, o, a, f, l) {
- var h, p, d, v = 0,
- m = "0",
- g = s && [],
- y = [],
- b = u,
- E = s || i && r.find.TAG("*", l),
- S = w += null == b ? 1 : Math.random() || .1,
- x = E.length;
- for (l && (u = o !== c && o); m !== x && null != (h = E[m]); m++) {
- if (i && h) {
- p = 0;
- while (d = e[p++])
- if (d(h, o, a)) {
- f.push(h);
- break
- }
- l && (w = S)
- }
- n && ((h = !d && h) && v--, s && g.push(h))
- }
- if (v += m, n && m !== v) {
- p = 0;
- while (d = t[p++]) d(g, y, o, a);
- if (s) {
- if (v > 0)
- while (m--) g[m] || y[m] || (y[m] = O.call(f));
- y = yt(y)
- }
- _.apply(f, y), l && !s && y.length > 0 && v + t.length > 1 && rt.uniqueSort(f)
- }
- return l && (w = S, u = b), g
- };
- return n ? st(s) : s
- }
- function St(e, t, n) {
- for (var r = 0, i = t.length; i > r; r++) rt(e, t[r], n);
- return n
- }
- function xt(e, t, i, s) {
- var u, a, f, l, c, h = dt(e);
- if (!s && 1 === h.length) {
- if (a = h[0] = h[0].slice(0), a.length > 2 && "ID" === (f = a[0]).type && n.getById && 9 === t.nodeType && p && r.relative[a[1].type]) {
- if (t = (r.find.ID(f.matches[0].replace(et, tt), t) || [])[0], !t) return i;
- e = e.slice(a.shift().value.length)
- }
- u = $.needsContext.test(e) ? 0 : a.length;
- while (u--) {
- if (f = a[u], r.relative[l = f.type]) break;
- if ((c = r.find[l]) && (s = c(f.matches[0].replace(et, tt), Y.test(a[0].type) && ht(t.parentNode) || t))) {
- if (a.splice(u, 1), e = s.length && vt(a), !e) return _.apply(i, s), i;
- break
- }
- }
- }
- return o(e, h)(s, t, !p, i, Y.test(e) && ht(t.parentNode) || t), i
- }
- var t, n, r, i, s, o, u, a, f, l, c, h, p, d, v, m, g, y = "sizzle" + -(new Date),
- b = e.document,
- w = 0,
- E = 0,
- S = it(),
- x = it(),
- T = it(),
- N = function(e, t) {
- return e === t && (f = !0), 0
- },
- C = "undefined",
- k = 1 << 31,
- L = {}.hasOwnProperty,
- A = [],
- O = A.pop,
- M = A.push,
- _ = A.push,
- D = A.slice,
- P = A.indexOf || function(e) {
- for (var t = 0, n = this.length; n > t; t++)
- if (this[t] === e) return t;
- return -1
- },
- H = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
- B = "[\\x20\\t\\r\\n\\f]",
- j = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",
- F = j.replace("w", "w#"),
- I = "\\[" + B + "*(" + j + ")" + B + "*(?:([*^$|!~]?=)" + B + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + F + ")|)|)" + B + "*\\]",
- q = ":(" + j + ")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|" + I.replace(3, 8) + ")*)|.*)\\)|)",
- R = new RegExp("^" + B + "+|((?:^|[^\\\\])(?:\\\\.)*)" + B + "+$", "g"),
- U = new RegExp("^" + B + "*," + B + "*"),
- z = new RegExp("^" + B + "*([>+~]|" + B + ")" + B + "*"),
- W = new RegExp("=" + B + "*([^\\]'\"]*?)" + B + "*\\]", "g"),
- X = new RegExp(q),
- V = new RegExp("^" + F + "$"),
- $ = {
- ID: new RegExp("^#(" + j + ")"),
- CLASS: new RegExp("^\\.(" + j + ")"),
- TAG: new RegExp("^(" + j.replace("w", "w*") + ")"),
- ATTR: new RegExp("^" + I),
- PSEUDO: new RegExp("^" + q),
- CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + B + "*(even|odd|(([+-]|)(\\d*)n|)" + B + "*(?:([+-]|)" + B + "*(\\d+)|))" + B + "*\\)|)", "i"),
- bool: new RegExp("^(?:" + H + ")$", "i"),
- needsContext: new RegExp("^" + B + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + B + "*((?:-\\d)?\\d*)" + B + "*\\)|)(?=[^-]|$)", "i")
- },
- J = /^(?:input|select|textarea|button)$/i,
- K = /^h\d$/i,
- Q = /^[^{]+\{\s*\[native \w/,
- G = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
- Y = /[+~]/,
- Z = /'|\\/g,
- et = new RegExp("\\\\([\\da-f]{1,6}" + B + "?|(" + B + ")|.)", "ig"),
- tt = function(e, t, n) {
- var r = "0x" + t - 65536;
- return r !== r || n ? t : 0 > r ? String.fromCharCode(r + 65536) : String.fromCharCode(r >> 10 | 55296, 1023 & r | 56320)
- };
- try {
- _.apply(A = D.call(b.childNodes), b.childNodes), A[b.childNodes.length].nodeType
- } catch (nt) {
- _ = {
- apply: A.length ? function(e, t) {
- M.apply(e, D.call(t))
- } : function(e, t) {
- var n = e.length,
- r = 0;
- while (e[n++] = t[r++]);
- e.length = n - 1
- }
- }
- }
- n = rt.support = {}, s = rt.isXML = function(e) {
- var t = e && (e.ownerDocument || e).documentElement;
- return t ? "HTML" !== t.nodeName : !1
- }, l = rt.setDocument = function(e) {
- var t, i = e ? e.ownerDocument || e : b,
- o = i.defaultView;
- return i !== c && 9 === i.nodeType && i.documentElement ? (c = i, h = i.documentElement, p = !s(i), o && o !== o.top && (o.addEventListener ? o.addEventListener("unload", function() {
- l()
- }, !1) : o.attachEvent && o.attachEvent("onunload", function() {
- l()
- })), n.attributes = ot(function(e) {
- return e.className = "i", !e.getAttribute("className")
- }), n.getElementsByTagName = ot(function(e) {
- return e.appendChild(i.createComment("")), !e.getElementsByTagName("*").length
- }), n.getElementsByClassName = Q.test(i.getElementsByClassName) && ot(function(e) {
- return e.innerHTML = "<div class='a'></div><div class='a i'></div>", e.firstChild.className = "i", 2 === e.getElementsByClassName("i").length
- }), n.getById = ot(function(e) {
- return h.appendChild(e).id = y, !i.getElementsByName || !i.getElementsByName(y).length
- }), n.getById ? (r.find.ID = function(e, t) {
- if (typeof t.getElementById !== C && p) {
- var n = t.getElementById(e);
- return n && n.parentNode ? [n] : []
- }
- }, r.filter.ID = function(e) {
- var t = e.replace(et, tt);
- return function(e) {
- return e.getAttribute("id") === t
- }
- }) : (delete r.find.ID, r.filter.ID = function(e) {
- var t = e.replace(et, tt);
- return function(e) {
- var n = typeof e.getAttributeNode !== C && e.getAttributeNode("id");
- return n && n.value === t
- }
- }), r.find.TAG = n.getElementsByTagName ? function(e, t) {
- return typeof t.getElementsByTagName !== C ? t.getElementsByTagName(e) : void 0
- } : function(e, t) {
- var n, r = [],
- i = 0,
- s = t.getElementsByTagName(e);
- if ("*" === e) {
- while (n = s[i++]) 1 === n.nodeType && r.push(n);
- return r
- }
- return s
- }, r.find.CLASS = n.getElementsByClassName && function(e, t) {
- return typeof t.getElementsByClassName !== C && p ? t.getElementsByClassName(e) : void 0
- }, v = [], d = [], (n.qsa = Q.test(i.querySelectorAll)) && (ot(function(e) {
- e.innerHTML = "<select t=''><option selected=''></option></select>", e.querySelectorAll("[t^='']").length && d.push("[*^$]=" + B + "*(?:''|\"\")"), e.querySelectorAll("[selected]").length || d.push("\\[" + B + "*(?:value|" + H + ")"), e.querySelectorAll(":checked").length || d.push(":checked")
- }), ot(function(e) {
- var t = i.createElement("input");
- t.setAttribute("type", "hidden"), e.appendChild(t).setAttribute("name", "D"), e.querySelectorAll("[name=d]").length && d.push("name" + B + "*[*^$|!~]?="), e.querySelectorAll(":enabled").length || d.push(":enabled", ":disabled"), e.querySelectorAll("*,:x"), d.push(",.*:")
- })), (n.matchesSelector = Q.test(m = h.webkitMatchesSelector || h.mozMatchesSelector || h.oMatchesSelector || h.msMatchesSelector)) && ot(function(e) {
- n.disconnectedMatch = m.call(e, "div"), m.call(e, "[s!='']:x"), v.push("!=", q)
- }), d = d.length && new RegExp(d.join("|")), v = v.length && new RegExp(v.join("|")), t = Q.test(h.compareDocumentPosition), g = t || Q.test(h.contains) ? function(e, t) {
- var n = 9 === e.nodeType ? e.documentElement : e,
- r = t && t.parentNode;
- return e === r || !(!r || 1 !== r.nodeType || !(n.contains ? n.contains(r) : e.compareDocumentPosition && 16 & e.compareDocumentPosition(r)))
- } : function(e, t) {
- if (t)
- while (t = t.parentNode)
- if (t === e) return !0;
- return !1
- }, N = t ? function(e, t) {
- if (e === t) return f = !0, 0;
- var r = !e.compareDocumentPosition - !t.compareDocumentPosition;
- return r ? r : (r = (e.ownerDocument || e) === (t.ownerDocument || t) ? e.compareDocumentPosition(t) : 1, 1 & r || !n.sortDetached && t.compareDocumentPosition(e) === r ? e === i || e.ownerDocument === b && g(b, e) ? -1 : t === i || t.ownerDocument === b && g(b, t) ? 1 : a ? P.call(a, e) - P.call(a, t) : 0 : 4 & r ? -1 : 1)
- } : function(e, t) {
- if (e === t) return f = !0, 0;
- var n, r = 0,
- s = e.parentNode,
- o = t.parentNode,
- u = [e],
- l = [t];
- if (!s || !o) return e === i ? -1 : t === i ? 1 : s ? -1 : o ? 1 : a ? P.call(a, e) - P.call(a, t) : 0;
- if (s === o) return at(e, t);
- n = e;
- while (n = n.parentNode) u.unshift(n);
- n = t;
- while (n = n.parentNode) l.unshift(n);
- while (u[r] === l[r]) r++;
- return r ? at(u[r], l[r]) : u[r] === b ? -1 : l[r] === b ? 1 : 0
- }, i) : c
- }, rt.matches = function(e, t) {
- return rt(e, null, null, t)
- }, rt.matchesSelector = function(e, t) {
- if ((e.ownerDocument || e) !== c && l(e), t = t.replace(W, "='$1']"), !(!n.matchesSelector || !p || v && v.test(t) || d && d.test(t))) try {
- var r = m.call(e, t);
- if (r || n.disconnectedMatch || e.document && 11 !== e.document.nodeType) return r
- } catch (i) {}
- return rt(t, c, null, [e]).length > 0
- }, rt.contains = function(e, t) {
- return (e.ownerDocument || e) !== c && l(e), g(e, t)
- }, rt.attr = function(e, t) {
- (e.ownerDocument || e) !== c && l(e);
- var i = r.attrHandle[t.toLowerCase()],
- s = i && L.call(r.attrHandle, t.toLowerCase()) ? i(e, t, !p) : void 0;
- return void 0 !== s ? s : n.attributes || !p ? e.getAttribute(t) : (s = e.getAttributeNode(t)) && s.specified ? s.value : null
- }, rt.error = function(e) {
- throw new Error("Syntax error, unrecognized expression: " + e)
- }, rt.uniqueSort = function(e) {
- var t, r = [],
- i = 0,
- s = 0;
- if (f = !n.detectDuplicates, a = !n.sortStable && e.slice(0), e.sort(N), f) {
- while (t = e[s++]) t === e[s] && (i = r.push(s));
- while (i--) e.splice(r[i], 1)
- }
- return a = null, e
- }, i = rt.getText = function(e) {
- var t, n = "",
- r = 0,
- s = e.nodeType;
- if (s) {
- if (1 === s || 9 === s || 11 === s) {
- if ("string" == typeof e.textContent) return e.textContent;
- for (e = e.firstChild; e; e = e.nextSibling) n += i(e)
- } else if (3 === s || 4 === s) return e.nodeValue
- } else
- while (t = e[r++]) n += i(t);
- return n
- }, r = rt.selectors = {
- cacheLength: 50,
- createPseudo: st,
- match: $,
- attrHandle: {},
- find: {},
- relative: {
- ">": {
- dir: "parentNode",
- first: !0
- },
- " ": {
- dir: "parentNode"
- },
- "+": {
- dir: "previousSibling",
- first: !0
- },
- "~": {
- dir: "previousSibling"
- }
- },
- preFilter: {
- ATTR: function(e) {
- return e[1] = e[1].replace(et, tt), e[3] = (e[4] || e[5] || "").replace(et, tt), "~=" === e[2] && (e[3] = " " + e[3] + " "), e.slice(0, 4)
- },
- CHILD: function(e) {
- return e[1] = e[1].toLowerCase(), "nth" === e[1].slice(0, 3) ? (e[3] || rt.error(e[0]), e[4] = +(e[4] ? e[5] + (e[6] || 1) : 2 * ("even" === e[3] || "odd" === e[3])), e[5] = +(e[7] + e[8] || "odd" === e[3])) : e[3] && rt.error(e[0]), e
- },
- PSEUDO: function(e) {
- var t, n = !e[5] && e[2];
- return $.CHILD.test(e[0]) ? null : (e[3] && void 0 !== e[4] ? e[2] = e[4] : n && X.test(n) && (t = dt(n, !0)) && (t = n.indexOf(")", n.length - t) - n.length) && (e[0] = e[0].slice(0, t), e[2] = n.slice(0, t)), e.slice(0, 3))
- }
- },
- filter: {
- TAG: function(e) {
- var t = e.replace(et, tt).toLowerCase();
- return "*" === e ? function() {
- return !0
- } : function(e) {
- return e.nodeName && e.nodeName.toLowerCase() === t
- }
- },
- CLASS: function(e) {
- var t = S[e + " "];
- return t || (t = new RegExp("(^|" + B + ")" + e + "(" + B + "|$)")) && S(e, function(e) {
- return t.test("string" == typeof e.className && e.className || typeof e.getAttribute !== C && e.getAttribute("class") || "")
- })
- },
- ATTR: function(e, t, n) {
- return function(r) {
- var i = rt.attr(r, e);
- return null == i ? "!=" === t : t ? (i += "", "=" === t ? i === n : "!=" === t ? i !== n : "^=" === t ? n && 0 === i.indexOf(n) : "*=" === t ? n && i.indexOf(n) > -1 : "$=" === t ? n && i.slice(-n.length) === n : "~=" === t ? (" " + i + " ").indexOf(n) > -1 : "|=" === t ? i === n || i.slice(0, n.length + 1) === n + "-" : !1) : !0
- }
- },
- CHILD: function(e, t, n, r, i) {
- var s = "nth" !== e.slice(0, 3),
- o = "last" !== e.slice(-4),
- u = "of-type" === t;
- return 1 === r && 0 === i ? function(e) {
- return !!e.parentNode
- } : function(t, n, a) {
- var f, l, c, h, p, d, v = s !== o ? "nextSibling" : "previousSibling",
- m = t.parentNode,
- g = u && t.nodeName.toLowerCase(),
- b = !a && !u;
- if (m) {
- if (s) {
- while (v) {
- c = t;
- while (c = c[v])
- if (u ? c.nodeName.toLowerCase() === g : 1 === c.nodeType) return !1;
- d = v = "only" === e && !d && "nextSibling"
- }
- return !0
- }
- if (d = [o ? m.firstChild : m.lastChild], o && b) {
- l = m[y] || (m[y] = {}), f = l[e] || [], p = f[0] === w && f[1], h = f[0] === w && f[2], c = p && m.childNodes[p];
- while (c = ++p && c && c[v] || (h = p = 0) || d.pop())
- if (1 === c.nodeType && ++h && c === t) {
- l[e] = [w, p, h];
- break
- }
- } else if (b && (f = (t[y] || (t[y] = {}))[e]) && f[0] === w) h = f[1];
- else
- while (c = ++p && c && c[v] || (h = p = 0) || d.pop())
- if ((u ? c.nodeName.toLowerCase() === g : 1 === c.nodeType) && ++h && (b && ((c[y] || (c[y] = {}))[e] = [w, h]), c === t)) break; return h -= i, h === r || h % r === 0 && h / r >= 0
- }
- }
- },
- PSEUDO: function(e, t) {
- var n, i = r.pseudos[e] || r.setFilters[e.toLowerCase()] || rt.error("unsupported pseudo: " + e);
- return i[y] ? i(t) : i.length > 1 ? (n = [e, e, "", t], r.setFilters.hasOwnProperty(e.toLowerCase()) ? st(function(e, n) {
- var r, s = i(e, t),
- o = s.length;
- while (o--) r = P.call(e, s[o]), e[r] = !(n[r] = s[o])
- }) : function(e) {
- return i(e, 0, n)
- }) : i
- }
- },
- pseudos: {
- not: st(function(e) {
- var t = [],
- n = [],
- r = o(e.replace(R, "$1"));
- return r[y] ? st(function(e, t, n, i) {
- var s, o = r(e, null, i, []),
- u = e.length;
- while (u--)(s = o[u]) && (e[u] = !(t[u] = s))
- }) : function(e, i, s) {
- return t[0] = e, r(t, null, s, n), !n.pop()
- }
- }),
- has: st(function(e) {
- return function(t) {
- return rt(e, t).length > 0
- }
- }),
- contains: st(function(e) {
- return function(t) {
- return (t.textContent || t.innerText || i(t)).indexOf(e) > -1
- }
- }),
- lang: st(function(e) {
- return V.test(e || "") || rt.error("unsupported lang: " + e), e = e.replace(et, tt).toLowerCase(),
- function(t) {
- var n;
- do
- if (n = p ? t.lang : t.getAttribute("xml:lang") || t.getAttribute("lang")) return n = n.toLowerCase(), n === e || 0 === n.indexOf(e + "-");
- while ((t = t.parentNode) && 1 === t.nodeType);
- return !1
- }
- }),
- target: function(t) {
- var n = e.location && e.location.hash;
- return n && n.slice(1) === t.id
- },
- root: function(e) {
- return e === h
- },
- focus: function(e) {
- return e === c.activeElement && (!c.hasFocus || c.hasFocus()) && !!(e.type || e.href || ~e.tabIndex)
- },
- enabled: function(e) {
- return e.disabled === !1
- },
- disabled: function(e) {
- return e.disabled === !0
- },
- checked: function(e) {
- var t = e.nodeName.toLowerCase();
- return "input" === t && !!e.checked || "option" === t && !!e.selected
- },
- selected: function(e) {
- return e.parentNode && e.parentNode.selectedIndex, e.selected === !0
- },
- empty: function(e) {
- for (e = e.firstChild; e; e = e.nextSibling)
- if (e.nodeType < 6) return !1;
- return !0
- },
- parent: function(e) {
- return !r.pseudos.empty(e)
- },
- header: function(e) {
- return K.test(e.nodeName)
- },
- input: function(e) {
- return J.test(e.nodeName)
- },
- button: function(e) {
- var t = e.nodeName.toLowerCase();
- return "input" === t && "button" === e.type || "button" === t
- },
- text: function(e) {
- var t;
- return "input" === e.nodeName.toLowerCase() && "text" === e.type && (null == (t = e.getAttribute("type")) || "text" === t.toLowerCase())
- },
- first: ct(function() {
- return [0]
- }),
- last: ct(function(e, t) {
- return [t - 1]
- }),
- eq: ct(function(e, t, n) {
- return [0 > n ? n + t : n]
- }),
- even: ct(function(e, t) {
- for (var n = 0; t > n; n += 2) e.push(n);
- return e
- }),
- odd: ct(function(e, t) {
- for (var n = 1; t > n; n += 2) e.push(n);
- return e
- }),
- lt: ct(function(e, t, n) {
- for (var r = 0 > n ? n + t : n; --r >= 0;) e.push(r);
- return e
- }),
- gt: ct(function(e, t, n) {
- for (var r = 0 > n ? n + t : n; ++r < t;) e.push(r);
- return e
- })
- }
- }, r.pseudos.nth = r.pseudos.eq;
- for (t in {
- radio: !0,
- checkbox: !0,
- file: !0,
- password: !0,
- image: !0
- }) r.pseudos[t] = ft(t);
- for (t in {
- submit: !0,
- reset: !0
- }) r.pseudos[t] = lt(t);
- pt.prototype = r.filters = r.pseudos, r.setFilters = new pt;
- o = rt.compile = function(e, t) {
- var n, r = [],
- i = [],
- s = T[e + " "];
- if (!s) {
- t || (t = dt(e)), n = t.length;
- while (n--) s = wt(t[n]), s[y] ? r.push(s) : i.push(s);
- s = T(e, Et(i, r))
- }
- return s
- };
- return n.sortStable = y.split("").sort(N).join("") === y, n.detectDuplicates = !!f, l(), n.sortDetached = ot(function(e) {
- return 1 & e.compareDocumentPosition(c.createElement("div"))
- }), ot(function(e) {
- return e.innerHTML = "<a href='#'></a>", "#" === e.firstChild.getAttribute("href")
- }) || ut("type|href|height|width", function(e, t, n) {
- return n ? void 0 : e.getAttribute(t, "type" === t.toLowerCase() ? 1 : 2)
- }), n.attributes && ot(function(e) {
- return e.innerHTML = "<input/>", e.firstChild.setAttribute("value", ""), "" === e.firstChild.getAttribute("value")
- }) || ut("value", function(e, t, n) {
- return n || "input" !== e.nodeName.toLowerCase() ? void 0 : e.defaultValue
- }), ot(function(e) {
- return null == e.getAttribute("disabled")
- }) || ut(H, function(e, t, n) {
- var r;
- return n ? void 0 : e[t] === !0 ? t.toLowerCase() : (r = e.getAttributeNode(t)) && r.specified ? r.value : null
- }), rt
- }(a);
- o.find = t, o.expr = t.selectors, o.expr[":"] = o.expr.pseudos, o.unique = t.uniqueSort, o.text = t.getText, o.isXMLDoc = t.isXML, o.contains = t.contains;
- var u = o.expr.match.needsContext,
- v = /^<(\w+)\s*\/?>(?:<\/\1>|)$/,
- w = /^.[^:#\[\.,]*$/;
- o.filter = function(e, t, n) {
- var r = t[0];
- return n && (e = ":not(" + e + ")"), 1 === t.length && 1 === r.nodeType ? o.find.matchesSelector(r, e) ? [r] : [] : o.find.matches(e, o.grep(t, function(e) {
- return 1 === e.nodeType
- }))
- }, o.fn.extend({
- find: function(e) {
- var t, n = this.length,
- r = [],
- i = this;
- if ("string" != typeof e) return this.pushStack(o(e).filter(function() {
- for (t = 0; n > t; t++)
- if (o.contains(i[t], this)) return !0
- }));
- for (t = 0; n > t; t++) o.find(e, i[t], r);
- return r = this.pushStack(n > 1 ? o.unique(r) : r), r.selector = this.selector ? this.selector + " " + e : e, r
- },
- filter: function(e) {
- return this.pushStack(x(this, e || [], !1))
- },
- not: function(e) {
- return this.pushStack(x(this, e || [], !0))
- },
- is: function(e) {
- return !!x(this, "string" == typeof e && u.test(e) ? o(e) : e || [], !1).length
- }
- });
- var y, z = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,
- A = o.fn.init = function(e, t) {
- var n, r;
- if (!e) return this;
- if ("string" == typeof e) {
- if (n = "<" === e[0] && ">" === e[e.length - 1] && e.length >= 3 ? [null, e, null] : z.exec(e), !n || !n[1] && t) return !t || t.jquery ? (t || y).find(e) : this.constructor(t).find(e);
- if (n[1]) {
- if (t = t instanceof o ? t[0] : t, o.merge(this, o.parseHTML(n[1], t && t.nodeType ? t.ownerDocument || t : m, !0)), v.test(n[1]) && o.isPlainObject(t))
- for (n in t) o.isFunction(this[n]) ? this[n](t[n]) : this.attr(n, t[n]);
- return this
- }
- return r = m.getElementById(n[2]), r && r.parentNode && (this.length = 1, this[0] = r), this.context = m, this.selector = e, this
- }
- return e.nodeType ? (this.context = this[0] = e, this.length = 1, this) : o.isFunction(e) ? "undefined" != typeof y.ready ? y.ready(e) : e(o) : (void 0 !== e.selector && (this.selector = e.selector, this.context = e.context), o.makeArray(e, this))
- };
- A.prototype = o.fn, y = o(m);
- var B = /^(?:parents|prev(?:Until|All))/,
- C = {
- children: !0,
- contents: !0,
- next: !0,
- prev: !0
- };
- o.extend({
- dir: function(e, t, n) {
- var r = [],
- i = void 0 !== n;
- while ((e = e[t]) && 9 !== e.nodeType)
- if (1 === e.nodeType) {
- if (i && o(e).is(n)) break;
- r.push(e)
- }
- return r
- },
- sibling: function(e, t) {
- for (var n = []; e; e = e.nextSibling) 1 === e.nodeType && e !== t && n.push(e);
- return n
- }
- }), o.fn.extend({
- has: function(e) {
- var t = o(e, this),
- n = t.length;
- return this.filter(function() {
- for (var e = 0; n > e; e++)
- if (o.contains(this, t[e])) return !0
- })
- },
- closest: function(e, t) {
- for (var n, r = 0, i = this.length, s = [], a = u.test(e) || "string" != typeof e ? o(e, t || this.context) : 0; i > r; r++)
- for (n = this[r]; n && n !== t; n = n.parentNode)
- if (n.nodeType < 11 && (a ? a.index(n) > -1 : 1 === n.nodeType && o.find.matchesSelector(n, e))) {
- s.push(n);
- break
- }
- return this.pushStack(s.length > 1 ? o.unique(s) : s)
- },
- index: function(e) {
- return e ? "string" == typeof e ? g.call(o(e), this[0]) : g.call(this, e.jquery ? e[0] : e) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1
- },
- add: function(e, t) {
- return this.pushStack(o.unique(o.merge(this.get(), o(e, t))))
- },
- addBack: function(e) {
- return this.add(null == e ? this.prevObject : this.prevObject.filter(e))
- }
- });
- o.each({
- parent: function(e) {
- var t = e.parentNode;
- return t && 11 !== t.nodeType ? t : null
- },
- parents: function(e) {
- return o.dir(e, "parentNode")
- },
- parentsUntil: function(e, t, n) {
- return o.dir(e, "parentNode", n)
- },
- next: function(e) {
- return D(e, "nextSibling")
- },
- prev: function(e) {
- return D(e, "previousSibling")
- },
- nextAll: function(e) {
- return o.dir(e, "nextSibling")
- },
- prevAll: function(e) {
- return o.dir(e, "previousSibling")
- },
- nextUntil: function(e, t, n) {
- return o.dir(e, "nextSibling", n)
- },
- prevUntil: function(e, t, n) {
- return o.dir(e, "previousSibling", n)
- },
- siblings: function(e) {
- return o.sibling((e.parentNode || {}).firstChild, e)
- },
- children: function(e) {
- return o.sibling(e.firstChild)
- },
- contents: function(e) {
- return e.contentDocument || o.merge([], e.childNodes)
- }
- }, function(e, t) {
- o.fn[e] = function(n, r) {
- var i = o.map(this, t, n);
- return "Until" !== e.slice(-5) && (r = n), r && "string" == typeof r && (i = o.filter(r, i)), this.length > 1 && (C[e] || o.unique(i), B.test(e) && i.reverse()), this.pushStack(i)
- }
- });
- var E = /\S+/g,
- F = {};
- o.Callbacks = function(e) {
- e = "string" == typeof e ? F[e] || G(e) : o.extend({}, e);
- var t, n, r, i, s, u, a = [],
- f = !e.once && [],
- l = function(o) {
- for (t = e.memory && o, n = !0, u = i || 0, i = 0, s = a.length, r = !0; a && s > u; u++)
- if (a[u].apply(o[0], o[1]) === !1 && e.stopOnFalse) {
- t = !1;
- break
- }
- r = !1, a && (f ? f.length && l(f.shift()) : t ? a = [] : c.disable())
- },
- c = {
- add: function() {
- if (a) {
- var n = a.length;
- ! function u(t) {
- o.each(t, function(t, n) {
- var r = o.type(n);
- "function" === r ? e.unique && c.has(n) || a.push(n) : n && n.length && "string" !== r && u(n)
- })
- }(arguments), r ? s = a.length : t && (i = n, l(t))
- }
- return this
- },
- remove: function() {
- return a && o.each(arguments, function(e, t) {
- var n;
- while ((n = o.inArray(t, a, n)) > -1) a.splice(n, 1), r && (s >= n && s--, u >= n && u--)
- }), this
- },
- has: function(e) {
- return e ? o.inArray(e, a) > -1 : !(!a || !a.length)
- },
- empty: function() {
- return a = [], s = 0, this
- },
- disable: function() {
- return a = f = t = void 0, this
- },
- disabled: function() {
- return !a
- },
- lock: function() {
- return f = void 0, t || c.disable(), this
- },
- locked: function() {
- return !f
- },
- fireWith: function(e, t) {
- return !a || n && !f || (t = t || [], t = [e, t.slice ? t.slice() : t], r ? f.push(t) : l(t)), this
- },
- fire: function() {
- return c.fireWith(this, arguments), this
- },
- fired: function() {
- return !!n
- }
- };
- return c
- }, o.extend({
- Deferred: function(e) {
- var t = [
- ["resolve", "done", o.Callbacks("once memory"), "resolved"],
- ["reject", "fail", o.Callbacks("once memory"), "rejected"],
- ["notify", "progress", o.Callbacks("memory")]
- ],
- n = "pending",
- r = {
- state: function() {
- return n
- },
- always: function() {
- return i.done(arguments).fail(arguments), this
- },
- then: function() {
- var e = arguments;
- return o.Deferred(function(n) {
- o.each(t, function(t, s) {
- var u = o.isFunction(e[t]) && e[t];
- i[s[1]](function() {
- var e = u && u.apply(this, arguments);
- e && o.isFunction(e.promise) ? e.promise().done(n.resolve).fail(n.reject).progress(n.notify) : n[s[0] + "With"](this === r ? n.promise() : this, u ? [e] : arguments)
- })
- }), e = null
- }).promise()
- },
- promise: function(e) {
- return null != e ? o.extend(e, r) : r
- }
- },
- i = {};
- return r.pipe = r.then, o.each(t, function(e, s) {
- var o = s[2],
- u = s[3];
- r[s[1]] = o.add, u && o.add(function() {
- n = u
- }, t[1 ^ e][2].disable, t[2][2].lock), i[s[0]] = function() {
- return i[s[0] + "With"](this === i ? r : this, arguments), this
- }, i[s[0] + "With"] = o.fireWith
- }), r.promise(i), e && e.call(i, i), i
- },
- when: function(e) {
- var t = 0,
- n = d.call(arguments),
- r = n.length,
- i = 1 !== r || e && o.isFunction(e.promise) ? r : 0,
- s = 1 === i ? e : o.Deferred(),
- u = function(e, t, n) {
- return function(r) {
- t[e] = this, n[e] = arguments.length > 1 ? d.call(arguments) : r, n === a ? s.notifyWith(t, n) : --i || s.resolveWith(t, n)
- }
- },
- a, f, l;
- if (r > 1)
- for (a = new Array(r), f = new Array(r), l = new Array(r); r > t; t++) n[t] && o.isFunction(n[t].promise) ? n[t].promise().done(u(t, l, n)).fail(s.reject).progress(u(t, f, a)) : --i;
- return i || s.resolveWith(l, n), s.promise()
- }
- });
- var H;
- o.fn.ready = function(e) {
- return o.ready.promise().done(e), this
- }, o.extend({
- isReady: !1,
- readyWait: 1,
- holdReady: function(e) {
- e ? o.readyWait++ : o.ready(!0)
- },
- ready: function(e) {
- (e === !0 ? --o.readyWait : o.isReady) || (o.isReady = !0, e !== !0 && --o.readyWait > 0 || (H.resolveWith(m, [o]), o.fn.trigger && o(m).trigger("ready").off("ready")))
- }
- });
- o.ready.promise = function(e) {
- return H || (H = o.Deferred(), "complete" === m.readyState ? setTimeout(o.ready) : (m.addEventListener("DOMContentLoaded", I, !1), a.addEventListener("load", I, !1))), H.promise(e)
- }, o.ready.promise();
- var J = o.access = function(e, t, n, r, i, s, u) {
- var a = 0,
- f = e.length,
- l = null == n;
- if ("object" === o.type(n)) {
- i = !0;
- for (a in n) o.access(e, t, a, n[a], !0, s, u)
- } else if (void 0 !== r && (i = !0, o.isFunction(r) || (u = !0), l && (u ? (t.call(e, r), t = null) : (l = t, t = function(e, t, n) {
- return l.call(o(e), n)
- })), t))
- for (; f > a; a++) t(e[a], n, u ? r : r.call(e[a], a, t(e[a], n)));
- return i ? e : l ? t.call(e) : f ? t(e[0], n) : s
- };
- o.acceptData = function(e) {
- return 1 === e.nodeType || 9 === e.nodeType || !+e.nodeType
- };
- K.uid = 1, K.accepts = o.acceptData, K.prototype = {
- key: function(e) {
- if (!K.accepts(e)) return 0;
- var t = {},
- n = e[this.expando];
- if (!n) {
- n = K.uid++;
- try {
- t[this.expando] = {
- value: n
- }, Object.defineProperties(e, t)
- } catch (r) {
- t[this.expando] = n, o.extend(e, t)
- }
- }
- return this.cache[n] || (this.cache[n] = {}), n
- },
- set: function(e, t, n) {
- var r, i = this.key(e),
- s = this.cache[i];
- if ("string" == typeof t) s[t] = n;
- else if (o.isEmptyObject(s)) o.extend(this.cache[i], t);
- else
- for (r in t) s[r] = t[r];
- return s
- },
- get: function(e, t) {
- var n = this.cache[this.key(e)];
- return void 0 === t ? n : n[t]
- },
- access: function(e, t, n) {
- var r;
- return void 0 === t || t && "string" == typeof t && void 0 === n ? (r = this.get(e, t), void 0 !== r ? r : this.get(e, o.camelCase(t))) : (this.set(e, t, n), void 0 !== n ? n : t)
- },
- remove: function(e, t) {
- var n, r, i, s = this.key(e),
- u = this.cache[s];
- if (void 0 === t) this.cache[s] = {};
- else {
- o.isArray(t) ? r = t.concat(t.map(o.camelCase)) : (i = o.camelCase(t), t in u ? r = [t, i] : (r = i, r = r in u ? [r] : r.match(E) || [])), n = r.length;
- while (n--) delete u[r[n]]
- }
- },
- hasData: function(e) {
- return !o.isEmptyObject(this.cache[e[this.expando]] || {})
- },
- discard: function(e) {
- e[this.expando] && delete this.cache[e[this.expando]]
- }
- };
- var L = new K,
- M = new K,
- N = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
- O = /([A-Z])/g;
- o.extend({
- hasData: function(e) {
- return M.hasData(e) || L.hasData(e)
- },
- data: function(e, t, n) {
- return M.access(e, t, n)
- },
- removeData: function(e, t) {
- M.remove(e, t)
- },
- _data: function(e, t, n) {
- return L.access(e, t, n)
- },
- _removeData: function(e, t) {
- L.remove(e, t)
- }
- }), o.fn.extend({
- data: function(e, t) {
- var n, r, i, s = this[0],
- u = s && s.attributes;
- if (void 0 === e) {
- if (this.length && (i = M.get(s), 1 === s.nodeType && !L.get(s, "hasDataAttrs"))) {
- n = u.length;
- while (n--) r = u[n].name, 0 === r.indexOf("data-") && (r = o.camelCase(r.slice(5)), P(s, r, i[r]));
- L.set(s, "hasDataAttrs", !0)
- }
- return i
- }
- return "object" == typeof e ? this.each(function() {
- M.set(this, e)
- }) : J(this, function(t) {
- var n, r = o.camelCase(e);
- if (s && void 0 === t) {
- if (n = M.get(s, e), void 0 !== n) return n;
- if (n = M.get(s, r), void 0 !== n) return n;
- if (n = P(s, r, void 0), void 0 !== n) return n
- } else this.each(function() {
- var n = M.get(this, r);
- M.set(this, r, t), -1 !== e.indexOf("-") && void 0 !== n && M.set(this, e, t)
- })
- }, null, t, arguments.length > 1, null, !0)
- },
- removeData: function(e) {
- return this.each(function() {
- M.remove(this, e)
- })
- }
- }), o.extend({
- queue: function(e, t, n) {
- var r;
- return e ? (t = (t || "fx") + "queue", r = L.get(e, t), n && (!r || o.isArray(n) ? r = L.access(e, t, o.makeArray(n)) : r.push(n)), r || []) : void 0
- },
- dequeue: function(e, t) {
- t = t || "fx";
- var n = o.queue(e, t),
- r = n.length,
- i = n.shift(),
- s = o._queueHooks(e, t),
- u = function() {
- o.dequeue(e, t)
- };
- "inprogress" === i && (i = n.shift(), r--), i && ("fx" === t && n.unshift("inprogress"), delete s.stop, i.call(e, u, s)), !r && s && s.empty.fire()
- },
- _queueHooks: function(e, t) {
- var n = t + "queueHooks";
- return L.get(e, n) || L.access(e, n, {
- empty: o.Callbacks("once memory").add(function() {
- L.remove(e, [t + "queue", n])
- })
- })
- }
- }), o.fn.extend({
- queue: function(e, t) {
- var n = 2;
- return "string" != typeof e && (t = e, e = "fx", n--), arguments.length < n ? o.queue(this[0], e) : void 0 === t ? this : this.each(function() {
- var n = o.queue(this, e, t);
- o._queueHooks(this, e), "fx" === e && "inprogress" !== n[0] && o.dequeue(this, e)
- })
- },
- dequeue: function(e) {
- return this.each(function() {
- o.dequeue(this, e)
- })
- },
- clearQueue: function(e) {
- return this.queue(e || "fx", [])
- },
- promise: function(e, t) {
- var n, r = 1,
- i = o.Deferred(),
- s = this,
- u = this.length,
- a = function() {
- --r || i.resolveWith(s, [s])
- };
- "string" != typeof e && (t = e, e = void 0), e = e || "fx";
- while (u--) n = L.get(s[u], e + "queueHooks"), n && n.empty && (r++, n.empty.add(a));
- return a(), i.promise(t)
- }
- });
- var Q = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,
- R = ["Top", "Right", "Bottom", "Left"],
- S = function(e, t) {
- return e = t || e, "none" === o.css(e, "display") || !o.contains(e.ownerDocument, e)
- },
- T = /^(?:checkbox|radio)$/i;
- ! function() {
- var e = m.createDocumentFragment(),
- t = e.appendChild(m.createElement("div"));
- t.innerHTML = "<input type='radio' checked='checked' name='t'/>", l.checkClone = t.cloneNode(!0).cloneNode(!0).lastChild.checked, t.innerHTML = "<textarea>x</textarea>", l.noCloneChecked = !!t.cloneNode(!0).lastChild.defaultValue
- }();
- var U = "undefined";
- l.focusinBubbles = "onfocusin" in a;
- var V = /^key/,
- W = /^(?:mouse|contextmenu)|click/,
- X = /^(?:focusinfocus|focusoutblur)$/,
- Y = /^([^.]*)(?:\.(.+)|)$/;
- o.event = {
- global: {},
- add: function(e, t, n, r, i) {
- var s, u, a, f, l, c, h, p, d, v, m, g = L.get(e);
- if (g) {
- n.handler && (s = n, n = s.handler, i = s.selector), n.guid || (n.guid = o.guid++), (f = g.events) || (f = g.events = {}), (u = g.handle) || (u = g.handle = function(t) {
- return typeof o !== U && o.event.triggered !== t.type ? o.event.dispatch.apply(e, arguments) : void 0
- }), t = (t || "").match(E) || [""], l = t.length;
- while (l--) a = Y.exec(t[l]) || [], d = m = a[1], v = (a[2] || "").split(".").sort(), d && (h = o.event.special[d] || {}, d = (i ? h.delegateType : h.bindType) || d, h = o.event.special[d] || {}, c = o.extend({
- type: d,
- origType: m,
- data: r,
- handler: n,
- guid: n.guid,
- selector: i,
- needsContext: i && o.expr.match.needsContext.test(i),
- namespace: v.join(".")
- }, s), (p = f[d]) || (p = f[d] = [], p.delegateCount = 0, h.setup && h.setup.call(e, r, v, u) !== !1 || e.addEventListener && e.addEventListener(d, u, !1)), h.add && (h.add.call(e, c), c.handler.guid || (c.handler.guid = n.guid)), i ? p.splice(p.delegateCount++, 0, c) : p.push(c), o.event.global[d] = !0)
- }
- },
- remove: function(e, t, n, r, i) {
- var s, u, a, f, l, c, h, p, d, v, m, g = L.hasData(e) && L.get(e);
- if (g && (f = g.events)) {
- t = (t || "").match(E) || [""], l = t.length;
- while (l--)
- if (a = Y.exec(t[l]) || [], d = m = a[1], v = (a[2] || "").split(".").sort(), d) {
- h = o.event.special[d] || {}, d = (r ? h.delegateType : h.bindType) || d, p = f[d] || [], a = a[2] && new RegExp("(^|\\.)" + v.join("\\.(?:.*\\.|)") + "(\\.|$)"), u = s = p.length;
- while (s--) c = p[s], !i && m !== c.origType || n && n.guid !== c.guid || a && !a.test(c.namespace) || r && r !== c.selector && ("**" !== r || !c.selector) || (p.splice(s, 1), c.selector && p.delegateCount--, h.remove && h.remove.call(e, c));
- u && !p.length && (h.teardown && h.teardown.call(e, v, g.handle) !== !1 || o.removeEvent(e, d, g.handle), delete f[d])
- } else
- for (d in f) o.event.remove(e, d + t[l], n, r, !0);
- o.isEmptyObject(f) && (delete g.handle, L.remove(e, "events"))
- }
- },
- trigger: function(e, t, n, r) {
- var i, s, u, f, l, c, h, p = [n || m],
- d = j.call(e, "type") ? e.type : e,
- v = j.call(e, "namespace") ? e.namespace.split(".") : [];
- if (s = u = n = n || m, 3 !== n.nodeType && 8 !== n.nodeType && !X.test(d + o.event.triggered) && (d.indexOf(".") >= 0 && (v = d.split("."), d = v.shift(), v.sort()), l = d.indexOf(":") < 0 && "on" + d, e = e[o.expando] ? e : new o.Event(d, "object" == typeof e && e), e.isTrigger = r ? 2 : 3, e.namespace = v.join("."), e.namespace_re = e.namespace ? new RegExp("(^|\\.)" + v.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, e.result = void 0, e.target || (e.target = n), t = null == t ? [e] : o.makeArray(t, [e]), h = o.event.special[d] || {}, r || !h.trigger || h.trigger.apply(n, t) !== !1)) {
- if (!r && !h.noBubble && !o.isWindow(n)) {
- for (f = h.delegateType || d, X.test(f + d) || (s = s.parentNode); s; s = s.parentNode) p.push(s), u = s;
- u === (n.ownerDocument || m) && p.push(u.defaultView || u.parentWindow || a)
- }
- i = 0;
- while ((s = p[i++]) && !e.isPropagationStopped()) e.type = i > 1 ? f : h.bindType || d, c = (L.get(s, "events") || {})[e.type] && L.get(s, "handle"), c && c.apply(s, t), c = l && s[l], c && c.apply && o.acceptData(s) && (e.result = c.apply(s, t), e.result === !1 && e.preventDefault());
- return e.type = d, r || e.isDefaultPrevented() || h._default && h._default.apply(p.pop(), t) !== !1 || !o.acceptData(n) || l && o.isFunction(n[d]) && !o.isWindow(n) && (u = n[l], u && (n[l] = null), o.event.triggered = d, n[d](), o.event.triggered = void 0, u && (n[l] = u)), e.result
- }
- },
- dispatch: function(e) {
- e = o.event.fix(e);
- var t, n, r, i, s, u = [],
- a = d.call(arguments),
- f = (L.get(this, "events") || {})[e.type] || [],
- l = o.event.special[e.type] || {};
- if (a[0] = e, e.delegateTarget = this, !l.preDispatch || l.preDispatch.call(this, e) !== !1) {
- u = o.event.handlers.call(this, e, f), t = 0;
- while ((i = u[t++]) && !e.isPropagationStopped()) {
- e.currentTarget = i.elem, n = 0;
- while ((s = i.handlers[n++]) && !e.isImmediatePropagationStopped())(!e.namespace_re || e.namespace_re.test(s.namespace)) && (e.handleObj = s, e.data = s.data, r = ((o.event.special[s.origType] || {}).handle || s.handler).apply(i.elem, a), void 0 !== r && (e.result = r) === !1 && (e.preventDefault(), e.stopPropagation()))
- }
- return l.postDispatch && l.postDispatch.call(this, e), e.result
- }
- },
- handlers: function(e, t) {
- var n, r, i, s, u = [],
- a = t.delegateCount,
- f = e.target;
- if (a && f.nodeType && (!e.button || "click" !== e.type))
- for (; f !== this; f = f.parentNode || this)
- if (f.disabled !== !0 || "click" !== e.type) {
- for (r = [], n = 0; a > n; n++) s = t[n], i = s.selector + " ", void 0 === r[i] && (r[i] = s.needsContext ? o(i, this).index(f) >= 0 : o.find(i, this, null, [f]).length), r[i] && r.push(s);
- r.length && u.push({
- elem: f,
- handlers: r
- })
- }
- return a < t.length && u.push({
- elem: this,
- handlers: t.slice(a)
- }), u
- },
- props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),
- fixHooks: {},
- keyHooks: {
- props: "char charCode key keyCode".split(" "),
- filter: function(e, t) {
- return null == e.which && (e.which = null != t.charCode ? t.charCode : t.keyCode), e
- }
- },
- mouseHooks: {
- props: "button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),
- filter: function(e, t) {
- var n, r, i, s = t.button;
- return null == e.pageX && null != t.clientX && (n = e.target.ownerDocument || m, r = n.documentElement, i = n.body, e.pageX = t.clientX + (r && r.scrollLeft || i && i.scrollLeft || 0) - (r && r.clientLeft || i && i.clientLeft || 0), e.pageY = t.clientY + (r && r.scrollTop || i && i.scrollTop || 0) - (r && r.clientTop || i && i.clientTop || 0)), e.which || void 0 === s || (e.which = 1 & s ? 1 : 2 & s ? 3 : 4 & s ? 2 : 0), e
- }
- },
- fix: function(e) {
- if (e[o.expando]) return e;
- var t, n, r, i = e.type,
- s = e,
- u = this.fixHooks[i];
- u || (this.fixHooks[i] = u = W.test(i) ? this.mouseHooks : V.test(i) ? this.keyHooks : {}), r = u.props ? this.props.concat(u.props) : this.props, e = new o.Event(s), t = r.length;
- while (t--) n = r[t], e[n] = s[n];
- return e.target || (e.target = m), 3 === e.target.nodeType && (e.target = e.target.parentNode), u.filter ? u.filter(e, s) : e
- },
- special: {
- load: {
- noBubble: !0
- },
- focus: {
- trigger: function() {
- return this !== _() && this.focus ? (this.focus(), !1) : void 0
- },
- delegateType: "focusin"
- },
- blur: {
- trigger: function() {
- return this === _() && this.blur ? (this.blur(), !1) : void 0
- },
- delegateType: "focusout"
- },
- click: {
- trigger: function() {
- return "checkbox" === this.type && this.click && o.nodeName(this, "input") ? (this.click(), !1) : void 0
- },
- _default: function(e) {
- return o.nodeName(e.target, "a")
- }
- },
- beforeunload: {
- postDispatch: function(e) {
- void 0 !== e.result && (e.originalEvent.returnValue = e.result)
- }
- }
- },
- simulate: function(e, t, n, r) {
- var i = o.extend(new o.Event, n, {
- type: e,
- isSimulated: !0,
- originalEvent: {}
- });
- r ? o.event.trigger(i, null, t) : o.event.dispatch.call(t, i), i.isDefaultPrevented() && n.preventDefault()
- }
- }, o.removeEvent = function(e, t, n) {
- e.removeEventListener && e.removeEventListener(t, n, !1)
- }, o.Event = function(e, t) {
- return this instanceof o.Event ? (e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || void 0 === e.defaultPrevented && e.getPreventDefault && e.getPreventDefault() ? Z : $) : this.type = e, t && o.extend(this, t), this.timeStamp = e && e.timeStamp || o.now(), void(this[o.expando] = !0)) : new o.Event(e, t)
- }, o.Event.prototype = {
- isDefaultPrevented: $,
- isPropagationStopped: $,
- isImmediatePropagationStopped: $,
- preventDefault: function() {
- var e = this.originalEvent;
- this.isDefaultPrevented = Z, e && e.preventDefault && e.preventDefault()
- },
- stopPropagation: function() {
- var e = this.originalEvent;
- this.isPropagationStopped = Z, e && e.stopPropagation && e.stopPropagation()
- },
- stopImmediatePropagation: function() {
- this.isImmediatePropagationStopped = Z, this.stopPropagation()
- }
- }, o.each({
- mouseenter: "mouseover",
- mouseleave: "mouseout"
- }, function(e, t) {
- o.event.special[e] = {
- delegateType: t,
- bindType: t,
- handle: function(e) {
- var n, r = this,
- i = e.relatedTarget,
- s = e.handleObj;
- return (!i || i !== r && !o.contains(r, i)) && (e.type = s.origType, n = s.handler.apply(this, arguments), e.type = t), n
- }
- }
- }), l.focusinBubbles || o.each({
- focus: "focusin",
- blur: "focusout"
- }, function(e, t) {
- var n = function(e) {
- o.event.simulate(t, e.target, o.event.fix(e), !0)
- };
- o.event.special[t] = {
- setup: function() {
- var r = this.ownerDocument || this,
- i = L.access(r, t);
- i || r.addEventListener(e, n, !0), L.access(r, t, (i || 0) + 1)
- },
- teardown: function() {
- var r = this.ownerDocument || this,
- i = L.access(r, t) - 1;
- i ? L.access(r, t, i) : (r.removeEventListener(e, n, !0), L.remove(r, t))
- }
- }
- }), o.fn.extend({
- on: function(e, t, n, r, i) {
- var s, u;
- if ("object" == typeof e) {
- "string" != typeof t && (n = n || t, t = void 0);
- for (u in e) this.on(u, t, n, e[u], i);
- return this
- }
- if (null == n && null == r ? (r = t, n = t = void 0) : null == r && ("string" == typeof t ? (r = n, n = void 0) : (r = n, n = t, t = void 0)), r === !1) r = $;
- else if (!r) return this;
- return 1 === i && (s = r, r = function(e) {
- return o().off(e), s.apply(this, arguments)
- }, r.guid = s.guid || (s.guid = o.guid++)), this.each(function() {
- o.event.add(this, e, r, n, t)
- })
- },
- one: function(e, t, n, r) {
- return this.on(e, t, n, r, 1)
- },
- off: function(e, t, n) {
- var r, i;
- if (e && e.preventDefault && e.handleObj) return r = e.handleObj, o(e.delegateTarget).off(r.namespace ? r.origType + "." + r.namespace : r.origType, r.selector, r.handler), this;
- if ("object" == typeof e) {
- for (i in e) this.off(i, t, e[i]);
- return this
- }
- return (t === !1 || "function" == typeof t) && (n = t, t = void 0), n === !1 && (n = $), this.each(function() {
- o.event.remove(this, e, n, t)
- })
- },
- trigger: function(e, t) {
- return this.each(function() {
- o.event.trigger(e, t, this)
- })
- },
- triggerHandler: function(e, t) {
- var n = this[0];
- return n ? o.event.trigger(e, t, n, !0) : void 0
- }
- });
- var ab = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,
- bb = /<([\w:]+)/,
- cb = /<|&#?\w+;/,
- db = /<(?:script|style|link)/i,
- eb = /checked\s*(?:[^=]|=\s*.checked.)/i,
- fb = /^$|\/(?:java|ecma)script/i,
- gb = /^true\/(.*)/,
- hb = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,
- ib = {
- option: [1, "<select multiple='multiple'>", "</select>"],
- thead: [1, "<table>", "</table>"],
- col: [2, "<table><colgroup>", "</colgroup></table>"],
- tr: [2, "<table><tbody>", "</tbody></table>"],
- td: [3, "<table><tbody><tr>", "</tr></tbody></table>"],
- _default: [0, "", ""]
- };
- ib.optgroup = ib.option, ib.tbody = ib.tfoot = ib.colgroup = ib.caption = ib.thead, ib.th = ib.td;
- o.extend({
- clone: function(e, t, n) {
- var r, i, s, u, a = e.cloneNode(!0),
- f = o.contains(e.ownerDocument, e);
- if (!(l.noCloneChecked || 1 !== e.nodeType && 11 !== e.nodeType || o.isXMLDoc(e)))
- for (u = ob(a), s = ob(e), r = 0, i = s.length; i > r; r++) pb(s[r], u[r]);
- if (t)
- if (n)
- for (s = s || ob(e), u = u || ob(a), r = 0, i = s.length; i > r; r++) nb(s[r], u[r]);
- else nb(e, a);
- return u = ob(a, "script"), u.length > 0 && mb(u, !f && ob(e, "script")), a
- },
- buildFragment: function(e, t, n, r) {
- for (var i, s, u, a, f, l, c = t.createDocumentFragment(), h = [], p = 0, d = e.length; d > p; p++)
- if (i = e[p], i || 0 === i)
- if ("object" === o.type(i)) o.merge(h, i.nodeType ? [i] : i);
- else if (cb.test(i)) {
- s = s || c.appendChild(t.createElement("div")), u = (bb.exec(i) || ["", ""])[1].toLowerCase(), a = ib[u] || ib._default, s.innerHTML = a[1] + i.replace(ab, "<$1></$2>") + a[2], l = a[0];
- while (l--) s = s.lastChild;
- o.merge(h, s.childNodes), s = c.firstChild, s.textContent = ""
- } else h.push(t.createTextNode(i));
- c.textContent = "", p = 0;
- while (i = h[p++])
- if ((!r || -1 === o.inArray(i, r)) && (f = o.contains(i.ownerDocument, i), s = ob(c.appendChild(i), "script"), f && mb(s), n)) {
- l = 0;
- while (i = s[l++]) fb.test(i.type || "") && n.push(i)
- }
- return c
- },
- cleanData: function(e) {
- for (var t, n, r, i, s, u, a = o.event.special, f = 0; void 0 !== (n = e[f]); f++) {
- if (o.acceptData(n) && (s = n[L.expando], s && (t = L.cache[s]))) {
- if (r = Object.keys(t.events || {}), r.length)
- for (u = 0; void 0 !== (i = r[u]); u++) a[i] ? o.event.remove(n, i) : o.removeEvent(n, i, t.handle);
- L.cache[s] && delete L.cache[s]
- }
- delete M.cache[n[M.expando]]
- }
- }
- }), o.fn.extend({
- text: function(e) {
- return J(this, function(e) {
- return void 0 === e ? o.text(this) : this.empty().each(function() {
- (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) && (this.textContent = e)
- })
- }, null, e, arguments.length)
- },
- append: function() {
- return this.domManip(arguments, function(e) {
- if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) {
- var t = jb(this, e);
- t.appendChild(e)
- }
- })
- },
- prepend: function() {
- return this.domManip(arguments, function(e) {
- if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) {
- var t = jb(this, e);
- t.insertBefore(e, t.firstChild)
- }
- })
- },
- before: function() {
- return this.domManip(arguments, function(e) {
- this.parentNode && this.parentNode.insertBefore(e, this)
- })
- },
- after: function() {
- return this.domManip(arguments, function(e) {
- this.parentNode && this.parentNode.insertBefore(e, this.nextSibling)
- })
- },
- remove: function(e, t) {
- for (var n, r = e ? o.filter(e, this) : this, i = 0; null != (n = r[i]); i++) t || 1 !== n.nodeType || o.cleanData(ob(n)), n.parentNode && (t && o.contains(n.ownerDocument, n) && mb(ob(n, "script")), n.parentNode.removeChild(n));
- return this
- },
- empty: function() {
- for (var e, t = 0; null != (e = this[t]); t++) 1 === e.nodeType && (o.cleanData(ob(e, !1)), e.textContent = "");
- return this
- },
- clone: function(e, t) {
- return e = null == e ? !1 : e, t = null == t ? e : t, this.map(function() {
- return o.clone(this, e, t)
- })
- },
- html: function(e) {
- return J(this, function(e) {
- var t = this[0] || {},
- n = 0,
- r = this.length;
- if (void 0 === e && 1 === t.nodeType) return t.innerHTML;
- if ("string" == typeof e && !db.test(e) && !ib[(bb.exec(e) || ["", ""])[1].toLowerCase()]) {
- e = e.replace(ab, "<$1></$2>");
- try {
- for (; r > n; n++) t = this[n] || {}, 1 === t.nodeType && (o.cleanData(ob(t, !1)), t.innerHTML = e);
- t = 0
- } catch (i) {}
- }
- t && this.empty().append(e)
- }, null, e, arguments.length)
- },
- replaceWith: function() {
- var e = arguments[0];
- return this.domManip(arguments, function(t) {
- e = this.parentNode, o.cleanData(ob(this)), e && e.replaceChild(t, this)
- }), e && (e.length || e.nodeType) ? this : this.remove()
- },
- detach: function(e) {
- return this.remove(e, !0)
- },
- domManip: function(t, n) {
- t = e.apply([], t);
- var r, i, s, u, a, f, c = 0,
- h = this.length,
- p = this,
- d = h - 1,
- v = t[0],
- m = o.isFunction(v);
- if (m || h > 1 && "string" == typeof v && !l.checkClone && eb.test(v)) return this.each(function(e) {
- var r = p.eq(e);
- m && (t[0] = v.call(this, e, r.html())), r.domManip(t, n)
- });
- if (h && (r = o.buildFragment(t, this[0].ownerDocument, !1, this), i = r.firstChild, 1 === r.childNodes.length && (r = i), i)) {
- for (s = o.map(ob(r, "script"), kb), u = s.length; h > c; c++) a = r, c !== d && (a = o.clone(a, !0, !0), u && o.merge(s, ob(a, "script"))), n.call(this[c], a, c);
- if (u)
- for (f = s[s.length - 1].ownerDocument, o.map(s, lb), c = 0; u > c; c++) a = s[c], fb.test(a.type || "") && !L.access(a, "globalEval") && o.contains(f, a) && (a.src ? o._evalUrl && o._evalUrl(a.src) : o.globalEval(a.textContent.replace(hb, "")))
- }
- return this
- }
- }), o.each({
- appendTo: "append",
- prependTo: "prepend",
- insertBefore: "before",
- insertAfter: "after",
- replaceAll: "replaceWith"
- }, function(e, t) {
- o.fn[e] = function(e) {
- for (var n, r = [], i = o(e), s = i.length - 1, u = 0; s >= u; u++) n = u === s ? this : this.clone(!0), o(i[u])[t](n), f.apply(r, n.get());
- return this.pushStack(r)
- }
- });
- var qb, rb = {};
- var ub = /^margin/,
- vb = new RegExp("^(" + Q + ")(?!px)[a-z%]+$", "i"),
- wb = function(e) {
- return e.ownerDocument.defaultView.getComputedStyle(e, null)
- };
- ! function() {
- function u() {
- s.style.cssText = "-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%", r.appendChild(i);
- var n = a.getComputedStyle(s, null);
- e = "1%" !== n.top, t = "4px" === n.width, r.removeChild(i)
- }
- var e, t, n = "padding:0;margin:0;border:0;display:block;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box",
- r = m.documentElement,
- i = m.createElement("div"),
- s = m.createElement("div");
- s.style.backgroundClip = "content-box", s.cloneNode(!0).style.backgroundClip = "", l.clearCloneStyle = "content-box" === s.style.backgroundClip, i.style.cssText = "border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px", i.appendChild(s);
- a.getComputedStyle && o.extend(l, {
- pixelPosition: function() {
- return u(), e
- },
- boxSizingReliable: function() {
- return null == t && u(), t
- },
- reliableMarginRight: function() {
- var e, t = s.appendChild(m.createElement("div"));
- return t.style.cssText = s.style.cssText = n, t.style.marginRight = t.style.width = "0", s.style.width = "1px", r.appendChild(i), e = !parseFloat(a.getComputedStyle(t, null).marginRight), r.removeChild(i), s.innerHTML = "", e
- }
- })
- }(), o.swap = function(e, t, n, r) {
- var i, s, o = {};
- for (s in t) o[s] = e.style[s], e.style[s] = t[s];
- i = n.apply(e, r || []);
- for (s in t) e.style[s] = o[s];
- return i
- };
- var zb = /^(none|table(?!-c[ea]).+)/,
- Ab = new RegExp("^(" + Q + ")(.*)$", "i"),
- Bb = new RegExp("^([+-])=(" + Q + ")", "i"),
- Cb = {
- position: "absolute",
- visibility: "hidden",
- display: "block"
- },
- Db = {
- letterSpacing: 0,
- fontWeight: 400
- },
- Eb = ["Webkit", "O", "Moz", "ms"];
- o.extend({
- cssHooks: {
- opacity: {
- get: function(e, t) {
- if (t) {
- var n = xb(e, "opacity");
- return "" === n ? "1" : n
- }
- }
- }
- },
- cssNumber: {
- columnCount: !0,
- fillOpacity: !0,
- fontWeight: !0,
- lineHeight: !0,
- opacity: !0,
- order: !0,
- orphans: !0,
- widows: !0,
- zIndex: !0,
- zoom: !0
- },
- cssProps: {
- "float": "cssFloat"
- },
- style: function(e, t, n, r) {
- if (e && 3 !== e.nodeType && 8 !== e.nodeType && e.style) {
- var i, s, u, a = o.camelCase(t),
- f = e.style;
- return t = o.cssProps[a] || (o.cssProps[a] = Fb(f, a)), u = o.cssHooks[t] || o.cssHooks[a], void 0 === n ? u && "get" in u && void 0 !== (i = u.get(e, !1, r)) ? i : f[t] : (s = typeof n, "string" === s && (i = Bb.exec(n)) && (n = (i[1] + 1) * i[2] + parseFloat(o.css(e, t)), s = "number"), null != n && n === n && ("number" !== s || o.cssNumber[a] || (n += "px"), l.clearCloneStyle || "" !== n || 0 !== t.indexOf("background") || (f[t] = "inherit"), u && "set" in u && void 0 === (n = u.set(e, n, r)) || (f[t] = "", f[t] = n)), void 0)
- }
- },
- css: function(e, t, n, r) {
- var i, s, u, a = o.camelCase(t);
- return t = o.cssProps[a] || (o.cssProps[a] = Fb(e.style, a)), u = o.cssHooks[t] || o.cssHooks[a], u && "get" in u && (i = u.get(e, !0, n)), void 0 === i && (i = xb(e, t, r)), "normal" === i && t in Db && (i = Db[t]), "" === n || n ? (s = parseFloat(i), n === !0 || o.isNumeric(s) ? s || 0 : i) : i
- }
- }), o.each(["height", "width"], function(e, t) {
- o.cssHooks[t] = {
- get: function(e, n, r) {
- return n ? 0 === e.offsetWidth && zb.test(o.css(e, "display")) ? o.swap(e, Cb, function() {
- return Ib(e, t, r)
- }) : Ib(e, t, r) : void 0
- },
- set: function(e, n, r) {
- var i = r && wb(e);
- return Gb(e, n, r ? Hb(e, t, r, "border-box" === o.css(e, "boxSizing", !1, i), i) : 0)
- }
- }
- }), o.cssHooks.marginRight = yb(l.reliableMarginRight, function(e, t) {
- return t ? o.swap(e, {
- display: "inline-block"
- }, xb, [e, "marginRight"]) : void 0
- }), o.each({
- margin: "",
- padding: "",
- border: "Width"
- }, function(e, t) {
- o.cssHooks[e + t] = {
- expand: function(n) {
- for (var r = 0, i = {}, s = "string" == typeof n ? n.split(" ") : [n]; 4 > r; r++) i[e + R[r] + t] = s[r] || s[r - 2] || s[0];
- return i
- }
- }, ub.test(e) || (o.cssHooks[e + t].set = Gb)
- }), o.fn.extend({
- css: function(e, t) {
- return J(this, function(e, t, n) {
- var r, i, s = {},
- u = 0;
- if (o.isArray(t)) {
- for (r = wb(e), i = t.length; i > u; u++) s[t[u]] = o.css(e, t[u], !1, r);
- return s
- }
- return void 0 !== n ? o.style(e, t, n) : o.css(e, t)
- }, e, t, arguments.length > 1)
- },
- show: function() {
- return Jb(this, !0)
- },
- hide: function() {
- return Jb(this)
- },
- toggle: function(e) {
- return "boolean" == typeof e ? e ? this.show() : this.hide() : this.each(function() {
- S(this) ? o(this).show() : o(this).hide()
- })
- }
- });
- o.Tween = Kb, Kb.prototype = {
- constructor: Kb,
- init: function(e, t, n, r, i, s) {
- this.elem = e, this.prop = n, this.easing = i || "swing", this.options = t, this.start = this.now = this.cur(), this.end = r, this.unit = s || (o.cssNumber[n] ? "" : "px")
- },
- cur: function() {
- var e = Kb.propHooks[this.prop];
- return e && e.get ? e.get(this) : Kb.propHooks._default.get(this)
- },
- run: function(e) {
- var t, n = Kb.propHooks[this.prop];
- return this.pos = t = this.options.duration ? o.easing[this.easing](e, this.options.duration * e, 0, 1, this.options.duration) : e, this.now = (this.end - this.start) * t + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), n && n.set ? n.set(this) : Kb.propHooks._default.set(this), this
- }
- }, Kb.prototype.init.prototype = Kb.prototype, Kb.propHooks = {
- _default: {
- get: function(e) {
- var t;
- return null == e.elem[e.prop] || e.elem.style && null != e.elem.style[e.prop] ? (t = o.css(e.elem, e.prop, ""), t && "auto" !== t ? t : 0) : e.elem[e.prop]
- },
- set: function(e) {
- o.fx.step[e.prop] ? o.fx.step[e.prop](e) : e.elem.style && (null != e.elem.style[o.cssProps[e.prop]] || o.cssHooks[e.prop]) ? o.style(e.elem, e.prop, e.now + e.unit) : e.elem[e.prop] = e.now
- }
- }
- }, Kb.propHooks.scrollTop = Kb.propHooks.scrollLeft = {
- set: function(e) {
- e.elem.nodeType && e.elem.parentNode && (e.elem[e.prop] = e.now)
- }
- }, o.easing = {
- linear: function(e) {
- return e
- },
- swing: function(e) {
- return .5 - Math.cos(e * Math.PI) / 2
- }
- }, o.fx = Kb.prototype.init, o.fx.step = {};
- var Lb, Mb, Nb = /^(?:toggle|show|hide)$/,
- Ob = new RegExp("^(?:([+-])=|)(" + Q + ")([a-z%]*)$", "i"),
- Pb = /queueHooks$/,
- Qb = [Vb],
- Rb = {
- "*": [function(e, t) {
- var n = this.createTween(e, t),
- r = n.cur(),
- i = Ob.exec(t),
- s = i && i[3] || (o.cssNumber[e] ? "" : "px"),
- u = (o.cssNumber[e] || "px" !== s && +r) && Ob.exec(o.css(n.elem, e)),
- a = 1,
- f = 20;
- if (u && u[3] !== s) {
- s = s || u[3], i = i || [], u = +r || 1;
- do a = a || ".5", u /= a, o.style(n.elem, e, u + s); while (a !== (a = n.cur() / r) && 1 !== a && --f)
- }
- return i && (u = n.start = +u || +r || 0, n.unit = s, n.end = i[1] ? u + (i[1] + 1) * i[2] : +i[2]), n
- }]
- };
- o.Animation = o.extend(Xb, {
- tweener: function(e, t) {
- o.isFunction(e) ? (t = e, e = ["*"]) : e = e.split(" ");
- for (var n, r = 0, i = e.length; i > r; r++) n = e[r], Rb[n] = Rb[n] || [], Rb[n].unshift(t)
- },
- prefilter: function(e, t) {
- t ? Qb.unshift(e) : Qb.push(e)
- }
- }), o.speed = function(e, t, n) {
- var r = e && "object" == typeof e ? o.extend({}, e) : {
- complete: n || !n && t || o.isFunction(e) && e,
- duration: e,
- easing: n && t || t && !o.isFunction(t) && t
- };
- return r.duration = o.fx.off ? 0 : "number" == typeof r.duration ? r.duration : r.duration in o.fx.speeds ? o.fx.speeds[r.duration] : o.fx.speeds._default, (null == r.queue || r.queue === !0) && (r.queue = "fx"), r.old = r.complete, r.complete = function() {
- o.isFunction(r.old) && r.old.call(this), r.queue && o.dequeue(this, r.queue)
- }, r
- }, o.fn.extend({
- fadeTo: function(e, t, n, r) {
- return this.filter(S).css("opacity", 0).show().end().animate({
- opacity: t
- }, e, n, r)
- },
- animate: function(e, t, n, r) {
- var i = o.isEmptyObject(e),
- s = o.speed(t, n, r),
- u = function() {
- var t = Xb(this, o.extend({}, e), s);
- (i || L.get(this, "finish")) && t.stop(!0)
- };
- return u.finish = u, i || s.queue === !1 ? this.each(u) : this.queue(s.queue, u)
- },
- stop: function(e, t, n) {
- var r = function(e) {
- var t = e.stop;
- delete e.stop, t(n)
- };
- return "string" != typeof e && (n = t, t = e, e = void 0), t && e !== !1 && this.queue(e || "fx", []), this.each(function() {
- var t = !0,
- i = null != e && e + "queueHooks",
- s = o.timers,
- u = L.get(this);
- if (i) u[i] && u[i].stop && r(u[i]);
- else
- for (i in u) u[i] && u[i].stop && Pb.test(i) && r(u[i]);
- for (i = s.length; i--;) s[i].elem !== this || null != e && s[i].queue !== e || (s[i].anim.stop(n), t = !1, s.splice(i, 1));
- (t || !n) && o.dequeue(this, e)
- })
- },
- finish: function(e) {
- return e !== !1 && (e = e || "fx"), this.each(function() {
- var t, n = L.get(this),
- r = n[e + "queue"],
- i = n[e + "queueHooks"],
- s = o.timers,
- u = r ? r.length : 0;
- for (n.finish = !0, o.queue(this, e, []), i && i.stop && i.stop.call(this, !0), t = s.length; t--;) s[t].elem === this && s[t].queue === e && (s[t].anim.stop(!0), s.splice(t, 1));
- for (t = 0; u > t; t++) r[t] && r[t].finish && r[t].finish.call(this);
- delete n.finish
- })
- }
- }), o.each(["toggle", "show", "hide"], function(e, t) {
- var n = o.fn[t];
- o.fn[t] = function(e, r, i) {
- return null == e || "boolean" == typeof e ? n.apply(this, arguments) : this.animate(Tb(t, !0), e, r, i)
- }
- }), o.each({
- slideDown: Tb("show"),
- slideUp: Tb("hide"),
- slideToggle: Tb("toggle"),
- fadeIn: {
- opacity: "show"
- },
- fadeOut: {
- opacity: "hide"
- },
- fadeToggle: {
- opacity: "toggle"
- }
- }, function(e, t) {
- o.fn[e] = function(e, n, r) {
- return this.animate(t, e, n, r)
- }
- }), o.timers = [], o.fx.tick = function() {
- var e, t = 0,
- n = o.timers;
- for (Lb = o.now(); t < n.length; t++) e = n[t], e() || n[t] !== e || n.splice(t--, 1);
- n.length || o.fx.stop(), Lb = void 0
- }, o.fx.timer = function(e) {
- o.timers.push(e), e() ? o.fx.start() : o.timers.pop()
- }, o.fx.interval = 13, o.fx.start = function() {
- Mb || (Mb = setInterval(o.fx.tick, o.fx.interval))
- }, o.fx.stop = function() {
- clearInterval(Mb), Mb = null
- }, o.fx.speeds = {
- slow: 600,
- fast: 200,
- _default: 400
- }, o.fn.delay = function(e, t) {
- return e = o.fx ? o.fx.speeds[e] || e : e, t = t || "fx", this.queue(t, function(t, n) {
- var r = setTimeout(t, e);
- n.stop = function() {
- clearTimeout(r)
- }
- })
- },
- function() {
- var e = m.createElement("input"),
- t = m.createElement("select"),
- n = t.appendChild(m.createElement("option"));
- e.type = "checkbox", l.checkOn = "" !== e.value, l.optSelected = n.selected, t.disabled = !0, l.optDisabled = !n.disabled, e = m.createElement("input"), e.value = "t", e.type = "radio", l.radioValue = "t" === e.value
- }();
- var Yb, Zb, $b = o.expr.attrHandle;
- o.fn.extend({
- attr: function(e, t) {
- return J(this, o.attr, e, t, arguments.length > 1)
- },
- removeAttr: function(e) {
- return this.each(function() {
- o.removeAttr(this, e)
- })
- }
- }), o.extend({
- attr: function(e, t, n) {
- var r, i, s = e.nodeType;
- if (e && 3 !== s && 8 !== s && 2 !== s) return typeof e.getAttribute === U ? o.prop(e, t, n) : (1 === s && o.isXMLDoc(e) || (t = t.toLowerCase(), r = o.attrHooks[t] || (o.expr.match.bool.test(t) ? Zb : Yb)), void 0 === n ? r && "get" in r && null !== (i = r.get(e, t)) ? i : (i = o.find.attr(e, t), null == i ? void 0 : i) : null !== n ? r && "set" in r && void 0 !== (i = r.set(e, n, t)) ? i : (e.setAttribute(t, n + ""), n) : void o.removeAttr(e, t))
- },
- removeAttr: function(e, t) {
- var n, r, i = 0,
- s = t && t.match(E);
- if (s && 1 === e.nodeType)
- while (n = s[i++]) r = o.propFix[n] || n, o.expr.match.bool.test(n) && (e[r] = !1), e.removeAttribute(n)
- },
- attrHooks: {
- type: {
- set: function(e, t) {
- if (!l.radioValue && "radio" === t && o.nodeName(e, "input")) {
- var n = e.value;
- return e.setAttribute("type", t), n && (e.value = n), t
- }
- }
- }
- }
- }), Zb = {
- set: function(e, t, n) {
- return t === !1 ? o.removeAttr(e, n) : e.setAttribute(n, n), n
- }
- }, o.each(o.expr.match.bool.source.match(/\w+/g), function(e, t) {
- var n = $b[t] || o.find.attr;
- $b[t] = function(e, t, r) {
- var i, s;
- return r || (s = $b[t], $b[t] = i, i = null != n(e, t, r) ? t.toLowerCase() : null, $b[t] = s), i
- }
- });
- var _b = /^(?:input|select|textarea|button)$/i;
- o.fn.extend({
- prop: function(e, t) {
- return J(this, o.prop, e, t, arguments.length > 1)
- },
- removeProp: function(e) {
- return this.each(function() {
- delete this[o.propFix[e] || e]
- })
- }
- }), o.extend({
- propFix: {
- "for": "htmlFor",
- "class": "className"
- },
- prop: function(e, t, n) {
- var r, i, s, u = e.nodeType;
- if (e && 3 !== u && 8 !== u && 2 !== u) return s = 1 !== u || !o.isXMLDoc(e), s && (t = o.propFix[t] || t, i = o.propHooks[t]), void 0 !== n ? i && "set" in i && void 0 !== (r = i.set(e, n, t)) ? r : e[t] = n : i && "get" in i && null !== (r = i.get(e, t)) ? r : e[t]
- },
- propHooks: {
- tabIndex: {
- get: function(e) {
- return e.hasAttribute("tabindex") || _b.test(e.nodeName) || e.href ? e.tabIndex : -1
- }
- }
- }
- }), l.optSelected || (o.propHooks.selected = {
- get: function(e) {
- var t = e.parentNode;
- return t && t.parentNode && t.parentNode.selectedIndex, null
- }
- }), o.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], function() {
- o.propFix[this.toLowerCase()] = this
- });
- var ac = /[\t\r\n\f]/g;
- o.fn.extend({
- addClass: function(e) {
- var t, n, r, i, s, u, a = "string" == typeof e && e,
- f = 0,
- l = this.length;
- if (o.isFunction(e)) return this.each(function(t) {
- o(this).addClass(e.call(this, t, this.className))
- });
- if (a)
- for (t = (e || "").match(E) || []; l > f; f++)
- if (n = this[f], r = 1 === n.nodeType && (n.className ? (" " + n.className + " ").replace(ac, " ") : " ")) {
- s = 0;
- while (i = t[s++]) r.indexOf(" " + i + " ") < 0 && (r += i + " ");
- u = o.trim(r), n.className !== u && (n.className = u)
- }
- return this
- },
- removeClass: function(e) {
- var t, n, r, i, s, u, a = 0 === arguments.length || "string" == typeof e && e,
- f = 0,
- l = this.length;
- if (o.isFunction(e)) return this.each(function(t) {
- o(this).removeClass(e.call(this, t, this.className))
- });
- if (a)
- for (t = (e || "").match(E) || []; l > f; f++)
- if (n = this[f], r = 1 === n.nodeType && (n.className ? (" " + n.className + " ").replace(ac, " ") : "")) {
- s = 0;
- while (i = t[s++])
- while (r.indexOf(" " + i + " ") >= 0) r = r.replace(" " + i + " ", " ");
- u = e ? o.trim(r) : "", n.className !== u && (n.className = u)
- }
- return this
- },
- toggleClass: function(e, t) {
- var n = typeof e;
- return "boolean" == typeof t && "string" === n ? t ? this.addClass(e) : this.removeClass(e) : this.each(o.isFunction(e) ? function(n) {
- o(this).toggleClass(e.call(this, n, this.className, t), t)
- } : function() {
- if ("string" === n) {
- var t, r = 0,
- i = o(this),
- s = e.match(E) || [];
- while (t = s[r++]) i.hasClass(t) ? i.removeClass(t) : i.addClass(t)
- } else(n === U || "boolean" === n) && (this.className && L.set(this, "__className__", this.className), this.className = this.className || e === !1 ? "" : L.get(this, "__className__") || "")
- })
- },
- hasClass: function(e) {
- for (var t = " " + e + " ", n = 0, r = this.length; r > n; n++)
- if (1 === this[n].nodeType && (" " + this[n].className + " ").replace(ac, " ").indexOf(t) >= 0) return !0;
- return !1
- }
- });
- var bc = /\r/g;
- o.fn.extend({
- val: function(e) {
- var t, n, r, i = this[0]; {
- if (arguments.length) return r = o.isFunction(e), this.each(function(n) {
- var i;
- 1 === this.nodeType && (i = r ? e.call(this, n, o(this).val()) : e, null == i ? i = "" : "number" == typeof i ? i += "" : o.isArray(i) && (i = o.map(i, function(e) {
- return null == e ? "" : e + ""
- })), t = o.valHooks[this.type] || o.valHooks[this.nodeName.toLowerCase()], t && "set" in t && void 0 !== t.set(this, i, "value") || (this.value = i))
- });
- if (i) return t = o.valHooks[i.type] || o.valHooks[i.nodeName.toLowerCase()], t && "get" in t && void 0 !== (n = t.get(i, "value")) ? n : (n = i.value, "string" == typeof n ? n.replace(bc, "") : null == n ? "" : n)
- }
- }
- }), o.extend({
- valHooks: {
- select: {
- get: function(e) {
- for (var t, n, r = e.options, i = e.selectedIndex, s = "select-one" === e.type || 0 > i, u = s ? null : [], a = s ? i + 1 : r.length, f = 0 > i ? a : s ? i : 0; a > f; f++)
- if (n = r[f], !(!n.selected && f !== i || (l.optDisabled ? n.disabled : null !== n.getAttribute("disabled")) || n.parentNode.disabled && o.nodeName(n.parentNode, "optgroup"))) {
- if (t = o(n).val(), s) return t;
- u.push(t)
- }
- return u
- },
- set: function(e, t) {
- var n, r, i = e.options,
- s = o.makeArray(t),
- u = i.length;
- while (u--) r = i[u], (r.selected = o.inArray(o(r).val(), s) >= 0) && (n = !0);
- return n || (e.selectedIndex = -1), s
- }
- }
- }
- }), o.each(["radio", "checkbox"], function() {
- o.valHooks[this] = {
- set: function(e, t) {
- return o.isArray(t) ? e.checked = o.inArray(o(e).val(), t) >= 0 : void 0
- }
- }, l.checkOn || (o.valHooks[this].get = function(e) {
- return null === e.getAttribute("value") ? "on" : e.value
- })
- }), o.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "), function(e, t) {
- o.fn[t] = function(e, n) {
- return arguments.length > 0 ? this.on(t, null, e, n) : this.trigger(t)
- }
- }), o.fn.extend({
- hover: function(e, t) {
- return this.mouseenter(e).mouseleave(t || e)
- },
- bind: function(e, t, n) {
- return this.on(e, null, t, n)
- },
- unbind: function(e, t) {
- return this.off(e, null, t)
- },
- delegate: function(e, t, n, r) {
- return this.on(t, e, n, r)
- },
- undelegate: function(e, t, n) {
- return 1 === arguments.length ? this.off(e, "**") : this.off(t, e || "**", n)
- }
- });
- var cc = o.now(),
- dc = /\?/;
- o.parseJSON = function(e) {
- return JSON.parse(e + "")
- }, o.parseXML = function(e) {
- var t, n;
- if (!e || "string" != typeof e) return null;
- try {
- n = new DOMParser, t = n.parseFromString(e, "text/xml")
- } catch (r) {
- t = void 0
- }
- return (!t || t.getElementsByTagName("parsererror").length) && o.error("Invalid XML: " + e), t
- };
- var ec, fc, gc = /#.*$/,
- hc = /([?&])_=[^&]*/,
- ic = /^(.*?):[ \t]*([^\r\n]*)$/gm,
- jc = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
- kc = /^(?:GET|HEAD)$/,
- lc = /^\/\//,
- mc = /^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,
- nc = {},
- oc = {},
- pc = "*/".concat("*");
- try {
- fc = location.href
- } catch (qc) {
- fc = m.createElement("a"), fc.href = "", fc = fc.href
- }
- ec = mc.exec(fc.toLowerCase()) || [];
- o.extend({
- active: 0,
- lastModified: {},
- etag: {},
- ajaxSettings: {
- url: fc,
- type: "GET",
- isLocal: jc.test(ec[1]),
- global: !0,
- processData: !0,
- async: !0,
- contentType: "application/x-www-form-urlencoded; charset=UTF-8",
- accepts: {
- "*": pc,
- text: "text/plain",
- html: "text/html",
- xml: "application/xml, text/xml",
- json: "application/json, text/javascript"
- },
- contents: {
- xml: /xml/,
- html: /html/,
- json: /json/
- },
- responseFields: {
- xml: "responseXML",
- text: "responseText",
- json: "responseJSON"
- },
- converters: {
- "* text": String,
- "text html": !0,
- "text json": o.parseJSON,
- "text xml": o.parseXML
- },
- flatOptions: {
- url: !0,
- context: !0
- }
- },
- ajaxSetup: function(e, t) {
- return t ? tc(tc(e, o.ajaxSettings), t) : tc(o.ajaxSettings, e)
- },
- ajaxPrefilter: rc(nc),
- ajaxTransport: rc(oc),
- ajax: function(e, t) {
- function T(e, t, s, a) {
- var l, g, y, w, E, x = t;
- 2 !== b && (b = 2, u && clearTimeout(u), n = void 0, i = a || "", S.readyState = e > 0 ? 4 : 0, l = e >= 200 && 300 > e || 304 === e, s && (w = uc(c, S, s)), w = vc(c, w, S, l), l ? (c.ifModified && (E = S.getResponseHeader("Last-Modified"), E && (o.lastModified[r] = E), E = S.getResponseHeader("etag"), E && (o.etag[r] = E)), 204 === e || "HEAD" === c.type ? x = "nocontent" : 304 === e ? x = "notmodified" : (x = w.state, g = w.data, y = w.error, l = !y)) : (y = x, (e || !x) && (x = "error", 0 > e && (e = 0))), S.status = e, S.statusText = (t || x) + "", l ? d.resolveWith(h, [g, x, S]) : d.rejectWith(h, [S, x, y]), S.statusCode(m), m = void 0, f && p.trigger(l ? "ajaxSuccess" : "ajaxError", [S, c, l ? g : y]), v.fireWith(h, [S, x]), f && (p.trigger("ajaxComplete", [S, c]), --o.active || o.event.trigger("ajaxStop")))
- }
- "object" == typeof e && (t = e, e = void 0), t = t || {};
- var n, r, i, s, u, a, f, l, c = o.ajaxSetup({}, t),
- h = c.context || c,
- p = c.context && (h.nodeType || h.jquery) ? o(h) : o.event,
- d = o.Deferred(),
- v = o.Callbacks("once memory"),
- m = c.statusCode || {},
- g = {},
- y = {},
- b = 0,
- w = "canceled",
- S = {
- readyState: 0,
- getResponseHeader: function(e) {
- var t;
- if (2 === b) {
- if (!s) {
- s = {};
- while (t = ic.exec(i)) s[t[1].toLowerCase()] = t[2]
- }
- t = s[e.toLowerCase()]
- }
- return null == t ? null : t
- },
- getAllResponseHeaders: function() {
- return 2 === b ? i : null
- },
- setRequestHeader: function(e, t) {
- var n = e.toLowerCase();
- return b || (e = y[n] = y[n] || e, g[e] = t), this
- },
- overrideMimeType: function(e) {
- return b || (c.mimeType = e), this
- },
- statusCode: function(e) {
- var t;
- if (e)
- if (2 > b)
- for (t in e) m[t] = [m[t], e[t]];
- else S.always(e[S.status]);
- return this
- },
- abort: function(e) {
- var t = e || w;
- return n && n.abort(t), T(0, t), this
- }
- };
- if (d.promise(S).complete = v.add, S.success = S.done, S.error = S.fail, c.url = ((e || c.url || fc) + "").replace(gc, "").replace(lc, ec[1] + "//"), c.type = t.method || t.type || c.method || c.type, c.dataTypes = o.trim(c.dataType || "*").toLowerCase().match(E) || [""], null == c.crossDomain && (a = mc.exec(c.url.toLowerCase()), c.crossDomain = !(!a || a[1] === ec[1] && a[2] === ec[2] && (a[3] || ("http:" === a[1] ? "80" : "443")) === (ec[3] || ("http:" === ec[1] ? "80" : "443")))), c.data && c.processData && "string" != typeof c.data && (c.data = o.param(c.data, c.traditional)), sc(nc, c, t, S), 2 === b) return S;
- f = c.global, f && 0 === o.active++ && o.event.trigger("ajaxStart"), c.type = c.type.toUpperCase(), c.hasContent = !kc.test(c.type), r = c.url, c.hasContent || (c.data && (r = c.url += (dc.test(r) ? "&" : "?") + c.data, delete c.data), c.cache === !1 && (c.url = hc.test(r) ? r.replace(hc, "$1_=" + cc++) : r + (dc.test(r) ? "&" : "?") + "_=" + cc++)), c.ifModified && (o.lastModified[r] && S.setRequestHeader("If-Modified-Since", o.lastModified[r]), o.etag[r] && S.setRequestHeader("If-None-Match", o.etag[r])), (c.data && c.hasContent && c.contentType !== !1 || t.contentType) && S.setRequestHeader("Content-Type", c.contentType), S.setRequestHeader("Accept", c.dataTypes[0] && c.accepts[c.dataTypes[0]] ? c.accepts[c.dataTypes[0]] + ("*" !== c.dataTypes[0] ? ", " + pc + "; q=0.01" : "") : c.accepts["*"]);
- for (l in c.headers) S.setRequestHeader(l, c.headers[l]);
- if (c.beforeSend && (c.beforeSend.call(h, S, c) === !1 || 2 === b)) return S.abort();
- w = "abort";
- for (l in {
- success: 1,
- error: 1,
- complete: 1
- }) S[l](c[l]);
- if (n = sc(oc, c, t, S)) {
- S.readyState = 1, f && p.trigger("ajaxSend", [S, c]), c.async && c.timeout > 0 && (u = setTimeout(function() {
- S.abort("timeout")
- }, c.timeout));
- try {
- b = 1, n.send(g, T)
- } catch (x) {
- if (!(2 > b)) throw x;
- T(-1, x)
- }
- } else T(-1, "No Transport");
- return S
- },
- getJSON: function(e, t, n) {
- return o.get(e, t, n, "json")
- },
- getScript: function(e, t) {
- return o.get(e, void 0, t, "script")
- }
- }), o.each(["get", "post"], function(e, t) {
- o[t] = function(e, n, r, i) {
- return o.isFunction(n) && (i = i || r, r = n, n = void 0), o.ajax({
- url: e,
- type: t,
- dataType: i,
- data: n,
- success: r
- })
- }
- }), o.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"], function(e, t) {
- o.fn[t] = function(e) {
- return this.on(t, e)
- }
- }), o._evalUrl = function(e) {
- return o.ajax({
- url: e,
- type: "GET",
- dataType: "script",
- async: !1,
- global: !1,
- "throws": !0
- })
- }, o.fn.extend({
- wrapAll: function(e) {
- var t;
- return o.isFunction(e) ? this.each(function(t) {
- o(this).wrapAll(e.call(this, t))
- }) : (this[0] && (t = o(e, this[0].ownerDocument).eq(0).clone(!0), this[0].parentNode && t.insertBefore(this[0]), t.map(function() {
- var e = this;
- while (e.firstElementChild) e = e.firstElementChild;
- return e
- }).append(this)), this)
- },
- wrapInner: function(e) {
- return this.each(o.isFunction(e) ? function(t) {
- o(this).wrapInner(e.call(this, t))
- } : function() {
- var t = o(this),
- n = t.contents();
- n.length ? n.wrapAll(e) : t.append(e)
- })
- },
- wrap: function(e) {
- var t = o.isFunction(e);
- return this.each(function(n) {
- o(this).wrapAll(t ? e.call(this, n) : e)
- })
- },
- unwrap: function() {
- return this.parent().each(function() {
- o.nodeName(this, "body") || o(this).replaceWith(this.childNodes)
- }).end()
- }
- }), o.expr.filters.hidden = function(e) {
- return e.offsetWidth <= 0 && e.offsetHeight <= 0
- }, o.expr.filters.visible = function(e) {
- return !o.expr.filters.hidden(e)
- };
- var wc = /%20/g,
- xc = /\[\]$/,
- yc = /\r?\n/g,
- zc = /^(?:submit|button|image|reset|file)$/i,
- Ac = /^(?:input|select|textarea|keygen)/i;
- o.param = function(e, t) {
- var n, r = [],
- i = function(e, t) {
- t = o.isFunction(t) ? t() : null == t ? "" : t, r[r.length] = encodeURIComponent(e) + "=" + encodeURIComponent(t)
- };
- if (void 0 === t && (t = o.ajaxSettings && o.ajaxSettings.traditional), o.isArray(e) || e.jquery && !o.isPlainObject(e)) o.each(e, function() {
- i(this.name, this.value)
- });
- else
- for (n in e) Bc(n, e[n], t, i);
- return r.join("&").replace(wc, "+")
- }, o.fn.extend({
- serialize: function() {
- return o.param(this.serializeArray())
- },
- serializeArray: function() {
- return this.map(function() {
- var e = o.prop(this, "elements");
- return e ? o.makeArray(e) : this
- }).filter(function() {
- var e = this.type;
- return this.name && !o(this).is(":disabled") && Ac.test(this.nodeName) && !zc.test(e) && (this.checked || !T.test(e))
- }).map(function(e, t) {
- var n = o(this).val();
- return null == n ? null : o.isArray(n) ? o.map(n, function(e) {
- return {
- name: t.name,
- value: e.replace(yc, "\r\n")
- }
- }) : {
- name: t.name,
- value: n.replace(yc, "\r\n")
- }
- }).get()
- }
- }), o.ajaxSettings.xhr = function() {
- try {
- return new XMLHttpRequest
- } catch (e) {}
- };
- var Cc = 0,
- Dc = {},
- Ec = {
- 0: 200,
- 1223: 204
- },
- Fc = o.ajaxSettings.xhr();
- a.ActiveXObject && o(a).on("unload", function() {
- for (var e in Dc) Dc[e]()
- }), l.cors = !!Fc && "withCredentials" in Fc, l.ajax = Fc = !!Fc, o.ajaxTransport(function(e) {
- var t;
- return l.cors || Fc && !e.crossDomain ? {
- send: function(n, r) {
- var i, s = e.xhr(),
- o = ++Cc;
- if (s.open(e.type, e.url, e.async, e.username, e.password), e.xhrFields)
- for (i in e.xhrFields) s[i] = e.xhrFields[i];
- e.mimeType && s.overrideMimeType && s.overrideMimeType(e.mimeType), e.crossDomain || n["X-Requested-With"] || (n["X-Requested-With"] = "XMLHttpRequest");
- for (i in n) s.setRequestHeader(i, n[i]);
- t = function(e) {
- return function() {
- t && (delete Dc[o], t = s.onload = s.onerror = null, "abort" === e ? s.abort() : "error" === e ? r(s.status, s.statusText) : r(Ec[s.status] || s.status, s.statusText, "string" == typeof s.responseText ? {
- text: s.responseText
- } : void 0, s.getAllResponseHeaders()))
- }
- }, s.onload = t(), s.onerror = t("error"), t = Dc[o] = t("abort"), s.send(e.hasContent && e.data || null)
- },
- abort: function() {
- t && t()
- }
- } : void 0
- }), o.ajaxSetup({
- accepts: {
- script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"
- },
- contents: {
- script: /(?:java|ecma)script/
- },
- converters: {
- "text script": function(e) {
- return o.globalEval(e), e
- }
- }
- }), o.ajaxPrefilter("script", function(e) {
- void 0 === e.cache && (e.cache = !1), e.crossDomain && (e.type = "GET")
- }), o.ajaxTransport("script", function(e) {
- if (e.crossDomain) {
- var t, n;
- return {
- send: function(r, i) {
- t = o("<script>").prop({
- async: !0,
- charset: e.scriptCharset,
- src: e.url
- }).on("load error", n = function(e) {
- t.remove(), n = null, e && i("error" === e.type ? 404 : 200, e.type)
- }), m.head.appendChild(t[0])
- },
- abort: function() {
- n && n()
- }
- }
- }
- });
- var Gc = [],
- Hc = /(=)\?(?=&|$)|\?\?/;
- o.ajaxSetup({
- jsonp: "callback",
- jsonpCallback: function() {
- var e = Gc.pop() || o.expando + "_" + cc++;
- return this[e] = !0, e
- }
- }), o.ajaxPrefilter("json jsonp", function(e, t, n) {
- var r, i, s, u = e.jsonp !== !1 && (Hc.test(e.url) ? "url" : "string" == typeof e.data && !(e.contentType || "").indexOf("application/x-www-form-urlencoded") && Hc.test(e.data) && "data");
- return u || "jsonp" === e.dataTypes[0] ? (r = e.jsonpCallback = o.isFunction(e.jsonpCallback) ? e.jsonpCallback() : e.jsonpCallback, u ? e[u] = e[u].replace(Hc, "$1" + r) : e.jsonp !== !1 && (e.url += (dc.test(e.url) ? "&" : "?") + e.jsonp + "=" + r), e.converters["script json"] = function() {
- return s || o.error(r + " was not called"), s[0]
- }, e.dataTypes[0] = "json", i = a[r], a[r] = function() {
- s = arguments
- }, n.always(function() {
- a[r] = i, e[r] && (e.jsonpCallback = t.jsonpCallback, Gc.push(r)), s && o.isFunction(i) && i(s[0]), s = i = void 0
- }), "script") : void 0
- }), o.parseHTML = function(e, t, n) {
- if (!e || "string" != typeof e) return null;
- "boolean" == typeof t && (n = t, t = !1), t = t || m;
- var r = v.exec(e),
- i = !n && [];
- return r ? [t.createElement(r[1])] : (r = o.buildFragment([e], t, i), i && i.length && o(i).remove(), o.merge([], r.childNodes))
- };
- var Ic = o.fn.load;
- o.fn.load = function(e, t, n) {
- if ("string" != typeof e && Ic) return Ic.apply(this, arguments);
- var r, i, s, u = this,
- a = e.indexOf(" ");
- return a >= 0 && (r = e.slice(a), e = e.slice(0, a)), o.isFunction(t) ? (n = t, t = void 0) : t && "object" == typeof t && (i = "POST"), u.length > 0 && o.ajax({
- url: e,
- type: i,
- dataType: "html",
- data: t
- }).done(function(e) {
- s = arguments, u.html(r ? o("<div>").append(o.parseHTML(e)).find(r) : e)
- }).complete(n && function(e, t) {
- u.each(n, s || [e.responseText, t, e])
- }), this
- }, o.expr.filters.animated = function(e) {
- return o.grep(o.timers, function(t) {
- return e === t.elem
- }).length
- };
- var Jc = a.document.documentElement;
- o.offset = {
- setOffset: function(e, t, n) {
- var r, i, s, u, a, f, l, c = o.css(e, "position"),
- h = o(e),
- p = {};
- "static" === c && (e.style.position = "relative"), a = h.offset(), s = o.css(e, "top"), f = o.css(e, "left"), l = ("absolute" === c || "fixed" === c) && (s + f).indexOf("auto") > -1, l ? (r = h.position(), u = r.top, i = r.left) : (u = parseFloat(s) || 0, i = parseFloat(f) || 0), o.isFunction(t) && (t = t.call(e, n, a)), null != t.top && (p.top = t.top - a.top + u), null != t.left && (p.left = t.left - a.left + i), "using" in t ? t.using.call(e, p) : h.css(p)
- }
- }, o.fn.extend({
- offset: function(e) {
- if (arguments.length) return void 0 === e ? this : this.each(function(t) {
- o.offset.setOffset(this, e, t)
- });
- var t, n, r = this[0],
- i = {
- top: 0,
- left: 0
- },
- s = r && r.ownerDocument;
- if (s) return t = s.documentElement, o.contains(t, r) ? (typeof r.getBoundingClientRect !== U && (i = r.getBoundingClientRect()), n = Kc(s), {
- top: i.top + n.pageYOffset - t.clientTop,
- left: i.left + n.pageXOffset - t.clientLeft
- }) : i
- },
- position: function() {
- if (this[0]) {
- var e, t, n = this[0],
- r = {
- top: 0,
- left: 0
- };
- return "fixed" === o.css(n, "position") ? t = n.getBoundingClientRect() : (e = this.offsetParent(), t = this.offset(), o.nodeName(e[0], "html") || (r = e.offset()), r.top += o.css(e[0], "borderTopWidth", !0), r.left += o.css(e[0], "borderLeftWidth", !0)), {
- top: t.top - r.top - o.css(n, "marginTop", !0),
- left: t.left - r.left - o.css(n, "marginLeft", !0)
- }
- }
- },
- offsetParent: function() {
- return this.map(function() {
- var e = this.offsetParent || Jc;
- while (e && !o.nodeName(e, "html") && "static" === o.css(e, "position")) e = e.offsetParent;
- return e || Jc
- })
- }
- }), o.each({
- scrollLeft: "pageXOffset",
- scrollTop: "pageYOffset"
- }, function(e, t) {
- var n = "pageYOffset" === t;
- o.fn[e] = function(r) {
- return J(this, function(e, r, i) {
- var s = Kc(e);
- return void 0 === i ? s ? s[t] : e[r] : void(s ? s.scrollTo(n ? a.pageXOffset : i, n ? i : a.pageYOffset) : e[r] = i)
- }, e, r, arguments.length, null)
- }
- }), o.each(["top", "left"], function(e, t) {
- o.cssHooks[t] = yb(l.pixelPosition, function(e, n) {
- return n ? (n = xb(e, t), vb.test(n) ? o(e).position()[t] + "px" : n) : void 0
- })
- }), o.each({
- Height: "height",
- Width: "width"
- }, function(e, t) {
- o.each({
- padding: "inner" + e,
- content: t,
- "": "outer" + e
- }, function(n, r) {
- o.fn[r] = function(r, i) {
- var s = arguments.length && (n || "boolean" != typeof r),
- u = n || (r === !0 || i === !0 ? "margin" : "border");
- return J(this, function(t, n, r) {
- var i;
- return o.isWindow(t) ? t.document.documentElement["client" + e] : 9 === t.nodeType ? (i = t.documentElement, Math.max(t.body["scroll" + e], i["scroll" + e], t.body["offset" + e], i["offset" + e], i["client" + e])) : void 0 === r ? o.css(t, n, u) : o.style(t, n, r, u)
- }, t, s ? r : void 0, s, null)
- }
- })
- }), o.fn.size = function() {
- return this.length
- }, o.fn.andSelf = o.fn.addBack, "function" == typeof define && define.amd && define("jquery", [], function() {
- return o
- });
- var Lc = a.jQuery,
- Mc = a.$;
- return o.noConflict = function(e) {
- return a.$ === o && (a.$ = Mc), e && a.jQuery === o && (a.jQuery = Lc), o
- }, typeof b === U && (a.jQuery = a.$ = o), o
- });
- (function(e, t) {
- function n(n, r) {
- function i(e) {
- return u.preferFlash && Lt && !u.ignoreFlash && u.flash[e] !== t && u.flash[e]
- }
- function s(e) {
- return function(t) {
- var n = this._s;
- return !n || !n._a ? null : e.call(this, t)
- }
- }
- this.setupOptions = {
- url: n || null,
- flashVersion: 8,
- debugMode: !0,
- debugFlash: !1,
- useConsole: !0,
- consoleOnly: !0,
- waitForWindowLoad: !1,
- bgColor: "#ffffff",
- useHighPerformance: !1,
- flashPollingInterval: null,
- html5PollingInterval: null,
- flashLoadTimeout: 1e3,
- wmode: null,
- allowScriptAccess: "always",
- useFlashBlock: !1,
- useHTML5Audio: !0,
- html5Test: /^(probably|maybe)$/i,
- preferFlash: !1,
- noSWFCache: !1,
- idPrefix: "sound"
- };
- this.defaultOptions = {
- autoLoad: !1,
- autoPlay: !1,
- from: null,
- loops: 1,
- onid3: null,
- onload: null,
- whileloading: null,
- onplay: null,
- onpause: null,
- onresume: null,
- whileplaying: null,
- onposition: null,
- onstop: null,
- onfailure: null,
- onfinish: null,
- multiShot: !0,
- multiShotEvents: !1,
- position: null,
- pan: 0,
- stream: !0,
- to: null,
- type: null,
- usePolicyFile: !1,
- volume: 100
- };
- this.flash9Options = {
- isMovieStar: null,
- usePeakData: !1,
- useWaveformData: !1,
- useEQData: !1,
- onbufferchange: null,
- ondataerror: null
- };
- this.movieStarOptions = {
- bufferTime: 3,
- serverURL: null,
- onconnect: null,
- duration: null
- };
- this.audioFormats = {
- mp3: {
- type: ['audio/mpeg; codecs="mp3"', "audio/mpeg", "audio/mp3", "audio/MPA", "audio/mpa-robust"],
- required: !0
- },
- mp4: {
- related: ["aac", "m4a", "m4b"],
- type: ['audio/mp4; codecs="mp4a.40.2"', "audio/aac", "audio/x-m4a", "audio/MP4A-LATM", "audio/mpeg4-generic"],
- required: !1
- },
- ogg: {
- type: ["audio/ogg; codecs=vorbis"],
- required: !1
- },
- opus: {
- type: ["audio/ogg; codecs=opus", "audio/opus"],
- required: !1
- },
- wav: {
- type: ['audio/wav; codecs="1"', "audio/wav", "audio/wave", "audio/x-wav"],
- required: !1
- }
- };
- this.movieID = "sm2-container";
- this.id = r || "sm2movie";
- this.debugID = "soundmanager-debug";
- this.debugURLParam = /([#?&])debug=1/i;
- this.versionNumber = "V2.97a.20131201";
- this.altURL = this.movieURL = this.version = null;
- this.enabled = this.swfLoaded = !1;
- this.oMC = null;
- this.sounds = {};
- this.soundIDs = [];
- this.didFlashBlock = this.muted = !1;
- this.filePattern = null;
- this.filePatterns = {
- flash8: /\.mp3(\?.*)?$/i,
- flash9: /\.mp3(\?.*)?$/i
- };
- this.features = {
- buffering: !1,
- peakData: !1,
- waveformData: !1,
- eqData: !1,
- movieStar: !1
- };
- this.sandbox = {};
- this.html5 = {
- usingFlash: null
- };
- this.flash = {};
- this.ignoreFlash = this.html5Only = !1;
- var o, u = this,
- a = null,
- f = null,
- l, c = navigator.userAgent,
- h = e.location.href.toString(),
- p = document,
- d, v, m, y, b = [],
- w = !1,
- E = !1,
- S = !1,
- x = !1,
- T = !1,
- N, C, L, A, O, M, _, D, P, H, B, j, F, I, q, R, U, z, W, X, V, $, J, K, Q, G, Y = null,
- Z = null,
- et, tt, nt, rt, it, st, ot = !1,
- ut = !1,
- at, ft, lt, ct = 0,
- ht = null,
- pt, dt = [],
- vt, mt = null,
- gt, yt, bt, wt, Et, St, xt, Tt, Nt = Array.prototype.slice,
- Ct = !1,
- kt, Lt, At, Ot, Mt, _t, Dt = 0,
- Pt = c.match(/(ipad|iphone|ipod)/i),
- Ht = c.match(/android/i),
- Bt = c.match(/msie/i),
- jt = c.match(/webkit/i),
- Ft = c.match(/safari/i) && !c.match(/chrome/i),
- It = c.match(/opera/i),
- qt = c.match(/(mobile|pre\/|xoom)/i) || Pt || Ht,
- Rt = !h.match(/usehtml5audio/i) && !h.match(/sm2\-ignorebadua/i) && Ft && !c.match(/silk/i) && c.match(/OS X 10_6_([3-7])/i),
- Ut = p.hasFocus !== t ? p.hasFocus() : null,
- zt = Ft && (p.hasFocus === t || !p.hasFocus()),
- Wt = !zt,
- Xt = /(mp3|mp4|mpa|m4a|m4b)/i,
- Vt = p.location ? p.location.protocol.match(/http/i) : null,
- $t = !Vt ? "http://" : "",
- Jt = /^\s*audio\/(?:x-)?(?:mpeg4|aac|flv|mov|mp4||m4v|m4a|m4b|mp4v|3gp|3g2)\s*(?:$|;)/i,
- Kt = "mpeg4 aac flv mov mp4 m4v f4v m4a m4b mp4v 3gp 3g2".split(" "),
- Qt = RegExp("\\.(" + Kt.join("|") + ")(\\?.*)?$", "i");
- this.mimePattern = /^\s*audio\/(?:x-)?(?:mp(?:eg|3))\s*(?:$|;)/i;
- this.useAltURL = !Vt;
- var Gt;
- try {
- Gt = Audio !== t && (It && opera !== t && 10 > opera.version() ? new Audio(null) : new Audio).canPlayType !== t
- } catch (Yt) {
- Gt = !1
- }
- this.hasHTML5 = Gt;
- this.setup = function(e) {
- var n = !u.url;
- e !== t && S && mt && u.ok();
- L(e);
- e && (n && z && e.url !== t && u.beginDelayedInit(), !z && e.url !== t && "complete" === p.readyState && setTimeout(R, 1));
- return u
- };
- this.supported = this.ok = function() {
- return mt ? S && !x : u.useHTML5Audio && u.hasHTML5
- };
- this.getMovie = function(t) {
- return l(t) || p[t] || e[t]
- };
- this.createSound = function(e, n) {
- function r() {
- i = rt(i);
- u.sounds[i.id] = new o(i);
- u.soundIDs.push(i.id);
- return u.sounds[i.id]
- }
- var i, s = null;
- if (!S || !u.ok()) return !1;
- n !== t && (e = {
- id: e,
- url: n
- });
- i = C(e);
- i.url = pt(i.url);
- void 0 === i.id && (i.id = u.setupOptions.idPrefix + Dt++);
- if (st(i.id, !0)) return u.sounds[i.id];
- if (yt(i)) s = r(), s._setup_html5(i);
- else {
- if (u.html5Only || u.html5.usingFlash && i.url && i.url.match(/data\:/i)) return r();
- 8 < y && null === i.isMovieStar && (i.isMovieStar = !(!i.serverURL && !(i.type && i.type.match(Jt) || i.url && i.url.match(Qt))));
- i = it(i, void 0);
- s = r();
- 8 === y ? f._createSound(i.id, i.loops || 1, i.usePolicyFile) : (f._createSound(i.id, i.url, i.usePeakData, i.useWaveformData, i.useEQData, i.isMovieStar, i.isMovieStar ? i.bufferTime : !1, i.loops || 1, i.serverURL, i.duration || null, i.autoPlay, !0, i.autoLoad, i.usePolicyFile), i.serverURL || (s.connected = !0, i.onconnect && i.onconnect.apply(s)));
- !i.serverURL && (i.autoLoad || i.autoPlay) && s.load(i)
- }!i.serverURL && i.autoPlay && s.play();
- return s
- };
- this.destroySound = function(e, t) {
- if (!st(e)) return !1;
- var n = u.sounds[e],
- r;
- n._iO = {};
- n.stop();
- n.unload();
- for (r = 0; r < u.soundIDs.length; r++)
- if (u.soundIDs[r] === e) {
- u.soundIDs.splice(r, 1);
- break
- }
- t || n.destruct(!0);
- delete u.sounds[e];
- return !0
- };
- this.load = function(e, t) {
- return !st(e) ? !1 : u.sounds[e].load(t)
- };
- this.unload = function(e) {
- return !st(e) ? !1 : u.sounds[e].unload()
- };
- this.onposition = this.onPosition = function(e, t, n, r) {
- return !st(e) ? !1 : u.sounds[e].onposition(t, n, r)
- };
- this.clearOnPosition = function(e, t, n) {
- return !st(e) ? !1 : u.sounds[e].clearOnPosition(t, n)
- };
- this.start = this.play = function(e, t) {
- var n = null,
- r = t && !(t instanceof Object);
- if (!S || !u.ok()) return !1;
- if (st(e, r)) r && (t = {
- url: t
- });
- else {
- if (!r) return !1;
- r && (t = {
- url: t
- });
- t && t.url && (t.id = e, n = u.createSound(t).play())
- }
- null === n && (n = u.sounds[e].play(t));
- return n
- };
- this.setPosition = function(e, t) {
- return !st(e) ? !1 : u.sounds[e].setPosition(t)
- };
- this.stop = function(e) {
- return !st(e) ? !1 : u.sounds[e].stop()
- };
- this.stopAll = function() {
- for (var e in u.sounds) u.sounds.hasOwnProperty(e) && u.sounds[e].stop()
- };
- this.pause = function(e) {
- return !st(e) ? !1 : u.sounds[e].pause()
- };
- this.pauseAll = function() {
- var e;
- for (e = u.soundIDs.length - 1; 0 <= e; e--) u.sounds[u.soundIDs[e]].pause()
- };
- this.resume = function(e) {
- return !st(e) ? !1 : u.sounds[e].resume()
- };
- this.resumeAll = function() {
- var e;
- for (e = u.soundIDs.length - 1; 0 <= e; e--) u.sounds[u.soundIDs[e]].resume()
- };
- this.togglePause = function(e) {
- return !st(e) ? !1 : u.sounds[e].togglePause()
- };
- this.setPan = function(e, t) {
- return !st(e) ? !1 : u.sounds[e].setPan(t)
- };
- this.setVolume = function(e, t) {
- return !st(e) ? !1 : u.sounds[e].setVolume(t)
- };
- this.mute = function(e) {
- var t = 0;
- e instanceof String && (e = null);
- if (e) return !st(e) ? !1 : u.sounds[e].mute();
- for (t = u.soundIDs.length - 1; 0 <= t; t--) u.sounds[u.soundIDs[t]].mute();
- return u.muted = !0
- };
- this.muteAll = function() {
- u.mute()
- };
- this.unmute = function(e) {
- e instanceof String && (e = null);
- if (e) return !st(e) ? !1 : u.sounds[e].unmute();
- for (e = u.soundIDs.length - 1; 0 <= e; e--) u.sounds[u.soundIDs[e]].unmute();
- u.muted = !1;
- return !0
- };
- this.unmuteAll = function() {
- u.unmute()
- };
- this.toggleMute = function(e) {
- return !st(e) ? !1 : u.sounds[e].toggleMute()
- };
- this.getMemoryUse = function() {
- var e = 0;
- f && 8 !== y && (e = parseInt(f._getMemoryUse(), 10));
- return e
- };
- this.disable = function(n) {
- var r;
- n === t && (n = !1);
- if (x) return !1;
- x = !0;
- for (r = u.soundIDs.length - 1; 0 <= r; r--) K(u.sounds[u.soundIDs[r]]);
- N(n);
- Tt.remove(e, "load", _);
- return !0
- };
- this.canPlayMIME = function(e) {
- var t;
- u.hasHTML5 && (t = bt({
- type: e
- }));
- !t && mt && (t = e && u.ok() ? !!(8 < y && e.match(Jt) || e.match(u.mimePattern)) : null);
- return t
- };
- this.canPlayURL = function(e) {
- var t;
- u.hasHTML5 && (t = bt({
- url: e
- }));
- !t && mt && (t = e && u.ok() ? !!e.match(u.filePattern) : null);
- return t
- };
- this.canPlayLink = function(e) {
- return e.type !== t && e.type && u.canPlayMIME(e.type) ? !0 : u.canPlayURL(e.href)
- };
- this.getSoundById = function(e, t) {
- return !e ? null : u.sounds[e]
- };
- this.onready = function(t, n) {
- if ("function" === typeof t) n || (n = e), O("onready", t, n), M();
- else throw et("needFunction", "onready");
- return !0
- };
- this.ontimeout = function(t, n) {
- if ("function" === typeof t) n || (n = e), O("ontimeout", t, n), M({
- type: "ontimeout"
- });
- else throw et("needFunction", "ontimeout");
- return !0
- };
- this._wD = this._writeDebug = function(e, t) {
- return !0
- };
- this._debug = function() {};
- this.reboot = function(t, n) {
- var r, i, s;
- for (r = u.soundIDs.length - 1; 0 <= r; r--) u.sounds[u.soundIDs[r]].destruct();
- if (f) try {
- Bt && (Z = f.innerHTML), Y = f.parentNode.removeChild(f)
- } catch (o) {}
- Z = Y = mt = f = null;
- u.enabled = z = S = ot = ut = w = E = x = Ct = u.swfLoaded = !1;
- u.soundIDs = [];
- u.sounds = {};
- Dt = 0;
- if (t) b = [];
- else
- for (r in b)
- if (b.hasOwnProperty(r)) {
- i = 0;
- for (s = b[r].length; i < s; i++) b[r][i].fired = !1
- }
- u.html5 = {
- usingFlash: null
- };
- u.flash = {};
- u.html5Only = !1;
- u.ignoreFlash = !1;
- e.setTimeout(function() {
- q();
- n || u.beginDelayedInit()
- }, 20);
- return u
- };
- this.reset = function() {
- return u.reboot(!0, !0)
- };
- this.getMoviePercent = function() {
- return f && "PercentLoaded" in f ? f.PercentLoaded() : null
- };
- this.beginDelayedInit = function() {
- T = !0;
- R();
- setTimeout(function() {
- if (ut) return !1;
- X();
- I();
- return ut = !0
- }, 20);
- D()
- };
- this.destruct = function() {
- u.disable(!0)
- };
- o = function(e) {
- var n, r, i = this,
- s, o, l, c, h, p, d = !1,
- v = [],
- m = 0,
- g, b, w = null,
- E;
- r = n = null;
- this.sID = this.id = e.id;
- this.url = e.url;
- this._iO = this.instanceOptions = this.options = C(e);
- this.pan = this.options.pan;
- this.volume = this.options.volume;
- this.isHTML5 = !1;
- this._a = null;
- E = this.url ? !1 : !0;
- this.id3 = {};
- this._debug = function() {};
- this.load = function(e) {
- var n = null,
- r;
- e !== t ? i._iO = C(e, i.options) : (e = i.options, i._iO = e, w && w !== i.url && (i._iO.url = i.url, i.url = null));
- i._iO.url || (i._iO.url = i.url);
- i._iO.url = pt(i._iO.url);
- r = i.instanceOptions = i._iO;
- if (!r.url && !i.url) return i;
- if (r.url === i.url && 0 !== i.readyState && 2 !== i.readyState) return 3 === i.readyState && r.onload && _t(i, function() {
- r.onload.apply(i, [!!i.duration])
- }), i;
- i.loaded = !1;
- i.readyState = 1;
- i.playState = 0;
- i.id3 = {};
- if (yt(r)) n = i._setup_html5(r), n._called_load || (i._html5_canplay = !1, i.url !== r.url && (i._a.src = r.url, i.setPosition(0)), i._a.autobuffer = "auto", i._a.preload = "auto", i._a._called_load = !0);
- else {
- if (u.html5Only || i._iO.url && i._iO.url.match(/data\:/i)) return i;
- try {
- i.isHTML5 = !1, i._iO = it(rt(r)), r = i._iO, 8 === y ? f._load(i.id, r.url, r.stream, r.autoPlay, r.usePolicyFile) : f._load(i.id, r.url, !!r.stream, !!r.autoPlay, r.loops || 1, !!r.autoLoad, r.usePolicyFile)
- } catch (s) {
- V({
- type: "SMSOUND_LOAD_JS_EXCEPTION",
- fatal: !0
- })
- }
- }
- i.url = r.url;
- return i
- };
- this.unload = function() {
- 0 !== i.readyState && (i.isHTML5 ? (c(), i._a && (i._a.pause(), w = Et(i._a))) : 8 === y ? f._unload(i.id, "about:blank") : f._unload(i.id), s());
- return i
- };
- this.destruct = function(e) {
- i.isHTML5 ? (c(), i._a && (i._a.pause(), Et(i._a), Ct || l(), i._a._s = null, i._a = null)) : (i._iO.onfailure = null, f._destroySound(i.id));
- e || u.destroySound(i.id, !0)
- };
- this.start = this.play = function(e, n) {
- var r, s, o, a, l;
- s = !0;
- s = null;
- n = n === t ? !0 : n;
- e || (e = {});
- i.url && (i._iO.url = i.url);
- i._iO = C(i._iO, i.options);
- i._iO = C(e, i._iO);
- i._iO.url = pt(i._iO.url);
- i.instanceOptions = i._iO;
- if (!i.isHTML5 && i._iO.serverURL && !i.connected) return i.getAutoPlay() || i.setAutoPlay(!0), i;
- yt(i._iO) && (i._setup_html5(i._iO), h());
- 1 === i.playState && !i.paused && (r = i._iO.multiShot, r || (i.isHTML5 && i.setPosition(i._iO.position), s = i));
- if (null !== s) return s;
- e.url && e.url !== i.url && (!i.readyState && !i.isHTML5 && 8 === y && E ? E = !1 : i.load(i._iO));
- i.loaded || (0 === i.readyState ? (!i.isHTML5 && !u.html5Only ? (i._iO.autoPlay = !0, i.load(i._iO)) : i.isHTML5 ? i.load(i._iO) : s = i, i.instanceOptions = i._iO) : 2 === i.readyState && (s = i));
- if (null !== s) return s;
- !i.isHTML5 && 9 === y && 0 < i.position && i.position === i.duration && (e.position = 0);
- if (i.paused && 0 <= i.position && (!i._iO.serverURL || 0 < i.position)) i.resume();
- else {
- i._iO = C(e, i._iO);
- if (null !== i._iO.from && null !== i._iO.to && 0 === i.instanceCount && 0 === i.playState && !i._iO.serverURL) {
- r = function() {
- i._iO = C(e, i._iO);
- i.play(i._iO)
- };
- if (i.isHTML5 && !i._html5_canplay) i.load({
- _oncanplay: r
- }), s = !1;
- else if (!i.isHTML5 && !i.loaded && (!i.readyState || 2 !== i.readyState)) i.load({
- onload: r
- }), s = !1;
- if (null !== s) return s;
- i._iO = b()
- }(!i.instanceCount || i._iO.multiShotEvents || i.isHTML5 && i._iO.multiShot && !Ct || !i.isHTML5 && 8 < y && !i.getAutoPlay()) && i.instanceCount++;
- i._iO.onposition && 0 === i.playState && p(i);
- i.playState = 1;
- i.paused = !1;
- i.position = i._iO.position !== t && !isNaN(i._iO.position) ? i._iO.position : 0;
- i.isHTML5 || (i._iO = it(rt(i._iO)));
- i._iO.onplay && n && (i._iO.onplay.apply(i), d = !0);
- i.setVolume(i._iO.volume, !0);
- i.setPan(i._iO.pan, !0);
- i.isHTML5 ? 2 > i.instanceCount ? (h(), s = i._setup_html5(), i.setPosition(i._iO.position), s.play()) : (o = new Audio(i._iO.url), a = function() {
- Tt.remove(o, "ended", a);
- i._onfinish(i);
- Et(o);
- o = null
- }, l = function() {
- Tt.remove(o, "canplay", l);
- try {
- o.currentTime = i._iO.position / 1e3
- } catch (e) {}
- o.play()
- }, Tt.add(o, "ended", a), void 0 !== i._iO.volume && (o.volume = Math.max(0, Math.min(1, i._iO.volume / 100))), i.muted && (o.muted = !0), i._iO.position ? Tt.add(o, "canplay", l) : o.play()) : (s = f._start(i.id, i._iO.loops || 1, 9 === y ? i.position : i.position / 1e3, i._iO.multiShot || !1), 9 === y && !s && i._iO.onplayerror && i._iO.onplayerror.apply(i))
- }
- return i
- };
- this.stop = function(e) {
- var t = i._iO;
- 1 === i.playState && (i._onbufferchange(0), i._resetOnPosition(0), i.paused = !1, i.isHTML5 || (i.playState = 0), g(), t.to && i.clearOnPosition(t.to), i.isHTML5 ? i._a && (e = i.position, i.setPosition(0), i.position = e, i._a.pause(), i.playState = 0, i._onTimer(), c()) : (f._stop(i.id, e), t.serverURL && i.unload()), i.instanceCount = 0, i._iO = {}, t.onstop && t.onstop.apply(i));
- return i
- };
- this.setAutoPlay = function(e) {
- i._iO.autoPlay = e;
- i.isHTML5 || (f._setAutoPlay(i.id, e), e && !i.instanceCount && 1 === i.readyState && i.instanceCount++)
- };
- this.getAutoPlay = function() {
- return i._iO.autoPlay
- };
- this.setPosition = function(e) {
- e === t && (e = 0);
- var n = i.isHTML5 ? Math.max(e, 0) : Math.min(i.duration || i._iO.duration, Math.max(e, 0));
- i.position = n;
- e = i.position / 1e3;
- i._resetOnPosition(i.position);
- i._iO.position = n;
- if (i.isHTML5) {
- if (i._a) {
- if (i._html5_canplay) {
- if (i._a.currentTime !== e) try {
- i._a.currentTime = e, (0 === i.playState || i.paused) && i._a.pause()
- } catch (r) {}
- } else if (e) return i;
- i.paused && i._onTimer(!0)
- }
- } else e = 9 === y ? i.position : e, i.readyState && 2 !== i.readyState && f._setPosition(i.id, e, i.paused || !i.playState, i._iO.multiShot);
- return i
- };
- this.pause = function(e) {
- if (i.paused || 0 === i.playState && 1 !== i.readyState) return i;
- i.paused = !0;
- i.isHTML5 ? (i._setup_html5().pause(), c()) : (e || e === t) && f._pause(i.id, i._iO.multiShot);
- i._iO.onpause && i._iO.onpause.apply(i);
- return i
- };
- this.resume = function() {
- var e = i._iO;
- if (!i.paused) return i;
- i.paused = !1;
- i.playState = 1;
- i.isHTML5 ? (i._setup_html5().play(), h()) : (e.isMovieStar && !e.serverURL && i.setPosition(i.position), f._pause(i.id, e.multiShot));
- !d && e.onplay ? (e.onplay.apply(i), d = !0) : e.onresume && e.onresume.apply(i);
- return i
- };
- this.togglePause = function() {
- if (0 === i.playState) return i.play({
- position: 9 === y && !i.isHTML5 ? i.position : i.position / 1e3
- }), i;
- i.paused ? i.resume() : i.pause();
- return i
- };
- this.setPan = function(e, n) {
- e === t && (e = 0);
- n === t && (n = !1);
- i.isHTML5 || f._setPan(i.id, e);
- i._iO.pan = e;
- n || (i.pan = e, i.options.pan = e);
- return i
- };
- this.setVolume = function(e, n) {
- e === t && (e = 100);
- n === t && (n = !1);
- i.isHTML5 ? i._a && (u.muted && !i.muted && (i.muted = !0, i._a.muted = !0), i._a.volume = Math.max(0, Math.min(1, e / 100))) : f._setVolume(i.id, u.muted && !i.muted || i.muted ? 0 : e);
- i._iO.volume = e;
- n || (i.volume = e, i.options.volume = e);
- return i
- };
- this.mute = function() {
- i.muted = !0;
- i.isHTML5 ? i._a && (i._a.muted = !0) : f._setVolume(i.id, 0);
- return i
- };
- this.unmute = function() {
- i.muted = !1;
- var e = i._iO.volume !== t;
- i.isHTML5 ? i._a && (i._a.muted = !1) : f._setVolume(i.id, e ? i._iO.volume : i.options.volume);
- return i
- };
- this.toggleMute = function() {
- return i.muted ? i.unmute() : i.mute()
- };
- this.onposition = this.onPosition = function(e, n, r) {
- v.push({
- position: parseInt(e, 10),
- method: n,
- scope: r !== t ? r : i,
- fired: !1
- });
- return i
- };
- this.clearOnPosition = function(e, t) {
- var n;
- e = parseInt(e, 10);
- if (isNaN(e)) return !1;
- for (n = 0; n < v.length; n++)
- if (e === v[n].position && (!t || t === v[n].method)) v[n].fired && m--, v.splice(n, 1)
- };
- this._processOnPosition = function() {
- var e, t;
- e = v.length;
- if (!e || !i.playState || m >= e) return !1;
- for (e -= 1; 0 <= e; e--) t = v[e], !t.fired && i.position >= t.position && (t.fired = !0, m++, t.method.apply(t.scope, [t.position]));
- return !0
- };
- this._resetOnPosition = function(e) {
- var t, n;
- t = v.length;
- if (!t) return !1;
- for (t -= 1; 0 <= t; t--) n = v[t], n.fired && e <= n.position && (n.fired = !1, m--);
- return !0
- };
- b = function() {
- var e = i._iO,
- t = e.from,
- n = e.to,
- r, s;
- s = function() {
- i.clearOnPosition(n, s);
- i.stop()
- };
- r = function() {
- if (null !== n && !isNaN(n)) i.onPosition(n, s)
- };
- null !== t && !isNaN(t) && (e.position = t, e.multiShot = !1, r());
- return e
- };
- p = function() {
- var e, t = i._iO.onposition;
- if (t)
- for (e in t)
- if (t.hasOwnProperty(e)) i.onPosition(parseInt(e, 10), t[e])
- };
- g = function() {
- var e, t = i._iO.onposition;
- if (t)
- for (e in t) t.hasOwnProperty(e) && i.clearOnPosition(parseInt(e, 10))
- };
- h = function() {
- i.isHTML5 && at(i)
- };
- c = function() {
- i.isHTML5 && ft(i)
- };
- s = function(e) {
- e || (v = [], m = 0);
- d = !1;
- i._hasTimer = null;
- i._a = null;
- i._html5_canplay = !1;
- i.bytesLoaded = null;
- i.bytesTotal = null;
- i.duration = i._iO && i._iO.duration ? i._iO.duration : null;
- i.durationEstimate = null;
- i.buffered = [];
- i.eqData = [];
- i.eqData.left = [];
- i.eqData.right = [];
- i.failures = 0;
- i.isBuffering = !1;
- i.instanceOptions = {};
- i.instanceCount = 0;
- i.loaded = !1;
- i.metadata = {};
- i.readyState = 0;
- i.muted = !1;
- i.paused = !1;
- i.peakData = {
- left: 0,
- right: 0
- };
- i.waveformData = {
- left: [],
- right: []
- };
- i.playState = 0;
- i.position = null;
- i.id3 = {}
- };
- s();
- this._onTimer = function(e) {
- var t, s = !1,
- o = {};
- if (i._hasTimer || e) {
- if (i._a && (e || (0 < i.playState || 1 === i.readyState) && !i.paused)) t = i._get_html5_duration(), t !== n && (n = t, i.duration = t, s = !0), i.durationEstimate = i.duration, t = 1e3 * i._a.currentTime || 0, t !== r && (r = t, s = !0), (s || e) && i._whileplaying(t, o, o, o, o);
- return s
- }
- };
- this._get_html5_duration = function() {
- var e = i._iO;
- return (e = i._a && i._a.duration ? 1e3 * i._a.duration : e && e.duration ? e.duration : null) && !isNaN(e) && Infinity !== e ? e : null
- };
- this._apply_loop = function(e, t) {
- e.loop = 1 < t ? "loop" : ""
- };
- this._setup_html5 = function(e) {
- e = C(i._iO, e);
- var t = Ct ? a : i._a,
- n = decodeURI(e.url),
- r;
- Ct ? n === decodeURI(kt) && (r = !0) : n === decodeURI(w) && (r = !0);
- if (t) {
- if (t._s)
- if (Ct) t._s && t._s.playState && !r && t._s.stop();
- else if (!Ct && n === decodeURI(w)) return i._apply_loop(t, e.loops), t;
- r || (w && s(!1), t.src = e.url, kt = w = i.url = e.url, t._called_load = !1)
- } else e.autoLoad || e.autoPlay ? (i._a = new Audio(e.url), i._a.load()) : i._a = It && 10 > opera.version() ? new Audio(null) : new Audio, t = i._a, t._called_load = !1, Ct && (a = t);
- i.isHTML5 = !0;
- i._a = t;
- t._s = i;
- o();
- i._apply_loop(t, e.loops);
- e.autoLoad || e.autoPlay ? i.load() : (t.autobuffer = !1, t.preload = "auto");
- return t
- };
- o = function() {
- if (i._a._added_events) return !1;
- var e;
- i._a._added_events = !0;
- for (e in Mt) Mt.hasOwnProperty(e) && i._a && i._a.addEventListener(e, Mt[e], !1);
- return !0
- };
- l = function() {
- var e;
- i._a._added_events = !1;
- for (e in Mt) Mt.hasOwnProperty(e) && i._a && i._a.removeEventListener(e, Mt[e], !1)
- };
- this._onload = function(e) {
- var t = !!e || !i.isHTML5 && 8 === y && i.duration;
- i.loaded = t;
- i.readyState = t ? 3 : 2;
- i._onbufferchange(0);
- i._iO.onload && _t(i, function() {
- i._iO.onload.apply(i, [t])
- });
- return !0
- };
- this._onbufferchange = function(e) {
- if (0 === i.playState || e && i.isBuffering || !e && !i.isBuffering) return !1;
- i.isBuffering = 1 === e;
- i._iO.onbufferchange && i._iO.onbufferchange.apply(i);
- return !0
- };
- this._onsuspend = function() {
- i._iO.onsuspend && i._iO.onsuspend.apply(i);
- return !0
- };
- this._onfailure = function(e, t, n) {
- i.failures++;
- if (i._iO.onfailure && 1 === i.failures) i._iO.onfailure(i, e, t, n)
- };
- this._onfinish = function() {
- var e = i._iO.onfinish;
- i._onbufferchange(0);
- i._resetOnPosition(0);
- i.instanceCount && (i.instanceCount--, i.instanceCount || (g(), i.playState = 0, i.paused = !1, i.instanceCount = 0, i.instanceOptions = {}, i._iO = {}, c(), i.isHTML5 && (i.position = 0)), (!i.instanceCount || i._iO.multiShotEvents) && e && _t(i, function() {
- e.apply(i)
- }))
- };
- this._whileloading = function(e, t, n, r) {
- var s = i._iO;
- i.bytesLoaded = e;
- i.bytesTotal = t;
- i.duration = Math.floor(n);
- i.bufferLength = r;
- i.durationEstimate = !i.isHTML5 && !s.isMovieStar ? s.duration ? i.duration > s.duration ? i.duration : s.duration : parseInt(i.bytesTotal / i.bytesLoaded * i.duration, 10) : i.duration;
- i.isHTML5 || (i.buffered = [{
- start: 0,
- end: i.duration
- }]);
- (3 !== i.readyState || i.isHTML5) && s.whileloading && s.whileloading.apply(i)
- };
- this._whileplaying = function(e, n, r, s, o) {
- var u = i._iO;
- if (isNaN(e) || null === e) return !1;
- i.position = Math.max(0, e);
- i._processOnPosition();
- !i.isHTML5 && 8 < y && (u.usePeakData && n !== t && n && (i.peakData = {
- left: n.leftPeak,
- right: n.rightPeak
- }), u.useWaveformData && r !== t && r && (i.waveformData = {
- left: r.split(","),
- right: s.split(",")
- }), u.useEQData && o !== t && o && o.leftEQ && (e = o.leftEQ.split(","), i.eqData = e, i.eqData.left = e, o.rightEQ !== t && o.rightEQ && (i.eqData.right = o.rightEQ.split(","))));
- 1 === i.playState && (!i.isHTML5 && 8 === y && !i.position && i.isBuffering && i._onbufferchange(0), u.whileplaying && u.whileplaying.apply(i));
- return !0
- };
- this._oncaptiondata = function(e) {
- i.captiondata = e;
- i._iO.oncaptiondata && i._iO.oncaptiondata.apply(i, [e])
- };
- this._onmetadata = function(e, t) {
- var n = {},
- r, s;
- r = 0;
- for (s = e.length; r < s; r++) n[e[r]] = t[r];
- i.metadata = n;
- i._iO.onmetadata && i._iO.onmetadata.apply(i)
- };
- this._onid3 = function(e, t) {
- var n = [],
- r, s;
- r = 0;
- for (s = e.length; r < s; r++) n[e[r]] = t[r];
- i.id3 = C(i.id3, n);
- i._iO.onid3 && i._iO.onid3.apply(i)
- };
- this._onconnect = function(e) {
- e = 1 === e;
- if (i.connected = e) i.failures = 0, st(i.id) && (i.getAutoPlay() ? i.play(t, i.getAutoPlay()) : i._iO.autoLoad && i.load()), i._iO.onconnect && i._iO.onconnect.apply(i, [e])
- };
- this._ondataerror = function(e) {
- 0 < i.playState && i._iO.ondataerror && i._iO.ondataerror.apply(i)
- }
- };
- W = function() {
- return p.body || p.getElementsByTagName("div")[0]
- };
- l = function(e) {
- return p.getElementById(e)
- };
- C = function(e, n) {
- var r = e || {},
- i, s;
- i = n === t ? u.defaultOptions : n;
- for (s in i) i.hasOwnProperty(s) && r[s] === t && (r[s] = "object" !== typeof i[s] || null === i[s] ? i[s] : C(r[s], i[s]));
- return r
- };
- _t = function(t, n) {
- !t.isHTML5 && 8 === y ? e.setTimeout(n, 0) : n()
- };
- A = {
- onready: 1,
- ontimeout: 1,
- defaultOptions: 1,
- flash9Options: 1,
- movieStarOptions: 1
- };
- L = function(e, n) {
- var r, i = !0,
- s = n !== t,
- o = u.setupOptions;
- for (r in e)
- if (e.hasOwnProperty(r))
- if ("object" !== typeof e[r] || null === e[r] || e[r] instanceof Array || e[r] instanceof RegExp) s && A[n] !== t ? u[n][r] = e[r] : o[r] !== t ? (u.setupOptions[r] = e[r], u[r] = e[r]) : A[r] === t ? i = !1 : u[r] instanceof Function ? u[r].apply(u, e[r] instanceof Array ? e[r] : [e[r]]) : u[r] = e[r];
- else if (A[r] === t) i = !1;
- else return L(e[r], r);
- return i
- };
- Tt = function() {
- function t(e) {
- e = Nt.call(e);
- var t = e.length;
- r ? (e[1] = "on" + e[1], 3 < t && e.pop()) : 3 === t && e.push(!1);
- return e
- }
- function n(e, t) {
- var n = e.shift(),
- s = [i[t]];
- if (r) n[s](e[0], e[1]);
- else n[s].apply(n, e)
- }
- var r = e.attachEvent,
- i = {
- add: r ? "attachEvent" : "addEventListener",
- remove: r ? "detachEvent" : "removeEventListener"
- };
- return {
- add: function() {
- n(t(arguments), "add")
- },
- remove: function() {
- n(t(arguments), "remove")
- }
- }
- }();
- Mt = {
- abort: s(function() {}),
- canplay: s(function() {
- var e = this._s,
- n;
- if (e._html5_canplay) return !0;
- e._html5_canplay = !0;
- e._onbufferchange(0);
- n = e._iO.position !== t && !isNaN(e._iO.position) ? e._iO.position / 1e3 : null;
- if (e.position && this.currentTime !== n) try {
- this.currentTime = n
- } catch (r) {}
- e._iO._oncanplay && e._iO._oncanplay()
- }),
- canplaythrough: s(function() {
- var e = this._s;
- e.loaded || (e._onbufferchange(0), e._whileloading(e.bytesLoaded, e.bytesTotal, e._get_html5_duration()), e._onload(!0))
- }),
- ended: s(function() {
- this._s._onfinish()
- }),
- error: s(function() {
- this._s._onload(!1)
- }),
- loadeddata: s(function() {
- var e = this._s;
- !e._loaded && !Ft && (e.duration = e._get_html5_duration())
- }),
- loadedmetadata: s(function() {}),
- loadstart: s(function() {
- this._s._onbufferchange(1)
- }),
- play: s(function() {
- this._s._onbufferchange(0)
- }),
- playing: s(function() {
- this._s._onbufferchange(0)
- }),
- progress: s(function(e) {
- var t = this._s,
- n, r, i = 0,
- i = e.target.buffered;
- n = e.loaded || 0;
- var s = e.total || 1;
- t.buffered = [];
- if (i && i.length) {
- n = 0;
- for (r = i.length; n < r; n++) t.buffered.push({
- start: 1e3 * i.start(n),
- end: 1e3 * i.end(n)
- });
- i = 1e3 * (i.end(0) - i.start(0));
- n = Math.min(1, i / (1e3 * e.target.duration))
- }
- isNaN(n) || (t._onbufferchange(0), t._whileloading(n, s, t._get_html5_duration()), n && s && n === s && Mt.canplaythrough.call(this, e))
- }),
- ratechange: s(function() {}),
- suspend: s(function(e) {
- var t = this._s;
- Mt.progress.call(this, e);
- t._onsuspend()
- }),
- stalled: s(function() {}),
- timeupdate: s(function() {
- this._s._onTimer()
- }),
- waiting: s(function() {
- this._s._onbufferchange(1)
- })
- };
- yt = function(e) {
- return !e || !e.type && !e.url && !e.serverURL ? !1 : e.serverURL || e.type && i(e.type) ? !1 : e.type ? bt({
- type: e.type
- }) : bt({
- url: e.url
- }) || u.html5Only || e.url.match(/data\:/i)
- };
- Et = function(e) {
- var t;
- e && (t = Ft ? "about:blank" : u.html5.canPlayType("audio/wav") ? "data:audio/wave;base64,/UklGRiYAAABXQVZFZm10IBAAAAABAAEARKwAAIhYAQACABAAZGF0YQIAAAD//w==" : "about:blank", e.src = t, void 0 !== e._called_unload && (e._called_load = !1));
- Ct && (kt = null);
- return t
- };
- bt = function(e) {
- if (!u.useHTML5Audio || !u.hasHTML5) return !1;
- var n = e.url || null;
- e = e.type || null;
- var r = u.audioFormats,
- s;
- if (e && u.html5[e] !== t) return u.html5[e] && !i(e);
- if (!wt) {
- wt = [];
- for (s in r) r.hasOwnProperty(s) && (wt.push(s), r[s].related && (wt = wt.concat(r[s].related)));
- wt = RegExp("\\.(" + wt.join("|") + ")(\\?.*)?$", "i")
- }
- s = n ? n.toLowerCase().match(wt) : null;
- !s || !s.length ? e && (n = e.indexOf(";"), s = (-1 !== n ? e.substr(0, n) : e).substr(6)) : s = s[1];
- s && u.html5[s] !== t ? n = u.html5[s] && !i(s) : (e = "audio/" + s, n = u.html5.canPlayType({
- type: e
- }), n = (u.html5[s] = n) && u.html5[e] && !i(e));
- return n
- };
- xt = function() {
- function e(e) {
- var t, r = t = !1;
- if (!n || "function" !== typeof n.canPlayType) return t;
- if (e instanceof Array) {
- a = 0;
- for (t = e.length; a < t; a++)
- if (u.html5[e[a]] || n.canPlayType(e[a]).match(u.html5Test)) r = !0, u.html5[e[a]] = !0, u.flash[e[a]] = !!e[a].match(Xt);
- t = r
- } else e = n && "function" === typeof n.canPlayType ? n.canPlayType(e) : !1, t = !(!e || !e.match(u.html5Test));
- return t
- }
- if (!u.useHTML5Audio || !u.hasHTML5) return mt = u.html5.usingFlash = !0, !1;
- var n = Audio !== t ? It && 10 > opera.version() ? new Audio(null) : new Audio : null,
- r, i, s = {},
- o, a;
- o = u.audioFormats;
- for (r in o)
- if (o.hasOwnProperty(r) && (i = "audio/" + r, s[r] = e(o[r].type), s[i] = s[r], r.match(Xt) ? (u.flash[r] = !0, u.flash[i] = !0) : (u.flash[r] = !1, u.flash[i] = !1), o[r] && o[r].related))
- for (a = o[r].related.length - 1; 0 <= a; a--) s["audio/" + o[r].related[a]] = s[r], u.html5[o[r].related[a]] = s[r], u.flash[o[r].related[a]] = s[r];
- s.canPlayType = n ? e : null;
- u.html5 = C(u.html5, s);
- u.html5.usingFlash = gt();
- mt = u.html5.usingFlash;
- return !0
- };
- F = {};
- et = function() {};
- rt = function(e) {
- 8 === y && 1 < e.loops && e.stream && (e.stream = !1);
- return e
- };
- it = function(e, t) {
- if (e && !e.usePolicyFile && (e.onid3 || e.usePeakData || e.useWaveformData || e.useEQData)) e.usePolicyFile = !0;
- return e
- };
- d = function() {
- return !1
- };
- K = function(e) {
- for (var t in e) e.hasOwnProperty(t) && "function" === typeof e[t] && (e[t] = d)
- };
- Q = function(e) {
- e === t && (e = !1);
- (x || e) && u.disable(e)
- };
- G = function(e) {
- var t = null;
- if (e)
- if (e.match(/\.swf(\?.*)?$/i)) {
- if (t = e.substr(e.toLowerCase().lastIndexOf(".swf?") + 4)) return e
- } else e.lastIndexOf("/") !== e.length - 1 && (e += "/");
- e = (e && -1 !== e.lastIndexOf("/") ? e.substr(0, e.lastIndexOf("/") + 1) : "./") + u.movieURL;
- u.noSWFCache && (e += "?ts=" + (new Date).getTime());
- return e
- };
- B = function() {
- y = parseInt(u.flashVersion, 10);
- 8 !== y && 9 !== y && (u.flashVersion = y = 8);
- var e = u.debugMode || u.debugFlash ? "_debug.swf" : ".swf";
- u.useHTML5Audio && !u.html5Only && u.audioFormats.mp4.required && 9 > y && (u.flashVersion = y = 9);
- u.version = u.versionNumber + (u.html5Only ? " (HTML5-only mode)" : 9 === y ? " (AS3/Flash 9)" : " (AS2/Flash 8)");
- 8 < y ? (u.defaultOptions = C(u.defaultOptions, u.flash9Options), u.features.buffering = !0, u.defaultOptions = C(u.defaultOptions, u.movieStarOptions), u.filePatterns.flash9 = RegExp("\\.(mp3|" + Kt.join("|") + ")(\\?.*)?$", "i"), u.features.movieStar = !0) : u.features.movieStar = !1;
- u.filePattern = u.filePatterns[8 !== y ? "flash9" : "flash8"];
- u.movieURL = (8 === y ? "soundmanager2.swf" : "soundmanager2_flash9.swf").replace(".swf", e);
- u.features.peakData = u.features.waveformData = u.features.eqData = 8 < y
- };
- $ = function(e, t) {
- if (!f) return !1;
- f._setPolling(e, t)
- };
- J = function() {};
- st = this.getSoundById;
- nt = function() {
- var e = [];
- u.debugMode && e.push("sm2_debug");
- u.debugFlash && e.push("flash_debug");
- u.useHighPerformance && e.push("high_performance");
- return e.join(" ")
- };
- tt = function() {
- et("fbHandler");
- var e = u.getMoviePercent(),
- t = {
- type: "FLASHBLOCK"
- };
- if (u.html5Only) return !1;
- u.ok() ? u.oMC && (u.oMC.className = [nt(), "movieContainer", "swf_loaded" + (u.didFlashBlock ? " swf_unblocked" : "")].join(" ")) : (mt && (u.oMC.className = nt() + " movieContainer " + (null === e ? "swf_timedout" : "swf_error")), u.didFlashBlock = !0, M({
- type: "ontimeout",
- ignoreInit: !0,
- error: t
- }), V(t))
- };
- O = function(e, n, r) {
- b[e] === t && (b[e] = []);
- b[e].push({
- method: n,
- scope: r || null,
- fired: !1
- })
- };
- M = function(e) {
- e || (e = {
- type: u.ok() ? "onready" : "ontimeout"
- });
- if (!S && e && !e.ignoreInit || "ontimeout" === e.type && (u.ok() || x && !e.ignoreInit)) return !1;
- var t = {
- success: e && e.ignoreInit ? u.ok() : !x
- },
- n = e && e.type ? b[e.type] || [] : [],
- r = [],
- i, t = [t],
- s = mt && !u.ok();
- e.error && (t[0].error = e.error);
- e = 0;
- for (i = n.length; e < i; e++) !0 !== n[e].fired && r.push(n[e]);
- if (r.length) {
- e = 0;
- for (i = r.length; e < i; e++) r[e].scope ? r[e].method.apply(r[e].scope, t) : r[e].method.apply(this, t), s || (r[e].fired = !0)
- }
- return !0
- };
- _ = function() {
- e.setTimeout(function() {
- u.useFlashBlock && tt();
- M();
- "function" === typeof u.onload && u.onload.apply(e);
- u.waitForWindowLoad && Tt.add(e, "load", _)
- }, 1)
- };
- At = function() {
- if (Lt !== t) return Lt;
- var n = !1,
- r = navigator,
- i = r.plugins,
- s, o = e.ActiveXObject;
- if (i && i.length)(r = r.mimeTypes) && r["application/x-shockwave-flash"] && r["application/x-shockwave-flash"].enabledPlugin && r["application/x-shockwave-flash"].enabledPlugin.description && (n = !0);
- else if (o !== t && !c.match(/MSAppHost/i)) {
- try {
- s = new o("ShockwaveFlash.ShockwaveFlash")
- } catch (u) {
- s = null
- }
- n = !!s
- }
- return Lt = n
- };
- gt = function() {
- var e, t, n = u.audioFormats;
- if (Pt && c.match(/os (1|2|3_0|3_1)/i)) u.hasHTML5 = !1, u.html5Only = !0, u.oMC && (u.oMC.style.display = "none");
- else if (u.useHTML5Audio && (!u.html5 || !u.html5.canPlayType)) u.hasHTML5 = !1;
- if (u.useHTML5Audio && u.hasHTML5)
- for (t in vt = !0, n)
- if (n.hasOwnProperty(t) && n[t].required)
- if (u.html5.canPlayType(n[t].type)) {
- if (u.preferFlash && (u.flash[t] || u.flash[n[t].type])) e = !0
- } else vt = !1, e = !0;
- u.ignoreFlash && (e = !1, vt = !0);
- u.html5Only = u.hasHTML5 && u.useHTML5Audio && !e;
- return !u.html5Only
- };
- pt = function(e) {
- var t, n, r = 0;
- if (e instanceof Array) {
- t = 0;
- for (n = e.length; t < n; t++)
- if (e[t] instanceof Object) {
- if (u.canPlayMIME(e[t].type)) {
- r = t;
- break
- }
- } else if (u.canPlayURL(e[t])) {
- r = t;
- break
- }
- e[r].url && (e[r] = e[r].url);
- e = e[r]
- }
- return e
- };
- at = function(e) {
- e._hasTimer || (e._hasTimer = !0, !qt && u.html5PollingInterval && (null === ht && 0 === ct && (ht = setInterval(lt, u.html5PollingInterval)), ct++))
- };
- ft = function(e) {
- e._hasTimer && (e._hasTimer = !1, !qt && u.html5PollingInterval && ct--)
- };
- lt = function() {
- var e;
- if (null !== ht && !ct) return clearInterval(ht), ht = null, !1;
- for (e = u.soundIDs.length - 1; 0 <= e; e--) u.sounds[u.soundIDs[e]].isHTML5 && u.sounds[u.soundIDs[e]]._hasTimer && u.sounds[u.soundIDs[e]]._onTimer()
- };
- V = function(n) {
- n = n !== t ? n : {};
- "function" === typeof u.onerror && u.onerror.apply(e, [{
- type: n.type !== t ? n.type : null
- }]);
- n.fatal !== t && n.fatal && u.disable()
- };
- Ot = function() {
- if (!Rt || !At()) return !1;
- var e = u.audioFormats,
- t, n;
- for (n in e)
- if (e.hasOwnProperty(n) && ("mp3" === n || "mp4" === n))
- if (u.html5[n] = !1, e[n] && e[n].related)
- for (t = e[n].related.length - 1; 0 <= t; t--) u.html5[e[n].related[t]] = !1
- };
- this._setSandboxType = function(e) {};
- this._externalInterfaceOK = function(e) {
- if (u.swfLoaded) return !1;
- u.swfLoaded = !0;
- zt = !1;
- Rt && Ot();
- setTimeout(m, Bt ? 100 : 1)
- };
- X = function(e, n) {
- function r(e, t) {
- return '<param name="' + e + '" value="' + t + '" />'
- }
- if (w && E) return !1;
- if (u.html5Only) return B(), u.oMC = l(u.movieID), m(), E = w = !0, !1;
- var i = n || u.url,
- s = u.altURL || i,
- o = W(),
- a = nt(),
- f = null,
- f = p.getElementsByTagName("html")[0],
- h, d, v, f = f && f.dir && f.dir.match(/rtl/i);
- e = e === t ? u.id : e;
- B();
- u.url = G(Vt ? i : s);
- n = u.url;
- u.wmode = !u.wmode && u.useHighPerformance ? "transparent" : u.wmode;
- if (null !== u.wmode && (c.match(/msie 8/i) || !Bt && !u.useHighPerformance) && navigator.platform.match(/win32|win64/i)) dt.push(F.spcWmode), u.wmode = null;
- o = {
- name: e,
- id: e,
- src: n,
- quality: "high",
- allowScriptAccess: u.allowScriptAccess,
- bgcolor: u.bgColor,
- pluginspage: $t + "www.macromedia.com/go/getflashplayer",
- title: "JS/Flash audio component (SoundManager 2)",
- type: "application/x-shockwave-flash",
- wmode: u.wmode,
- hasPriority: "true"
- };
- u.debugFlash && (o.FlashVars = "debug=1");
- u.wmode || delete o.wmode;
- if (Bt) i = p.createElement("div"), d = ['<object id="' + e + '" data="' + n + '" type="' + o.type + '" title="' + o.title + '" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="' + $t + 'download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0">', r("movie", n), r("AllowScriptAccess", u.allowScriptAccess), r("quality", o.quality), u.wmode ? r("wmode", u.wmode) : "", r("bgcolor", u.bgColor), r("hasPriority", "true"), u.debugFlash ? r("FlashVars", o.FlashVars) : "", "</object>"].join("");
- else
- for (h in i = p.createElement("embed"), o) o.hasOwnProperty(h) && i.setAttribute(h, o[h]);
- J();
- a = nt();
- if (o = W())
- if (u.oMC = l(u.movieID) || p.createElement("div"), u.oMC.id) v = u.oMC.className, u.oMC.className = (v ? v + " " : "movieContainer") + (a ? " " + a : ""), u.oMC.appendChild(i), Bt && (h = u.oMC.appendChild(p.createElement("div")), h.className = "sm2-object-box", h.innerHTML = d), E = !0;
- else {
- u.oMC.id = u.movieID;
- u.oMC.className = "movieContainer " + a;
- h = a = null;
- u.useFlashBlock || (u.useHighPerformance ? a = {
- position: "fixed",
- width: "8px",
- height: "8px",
- bottom: "0px",
- left: "0px",
- overflow: "hidden"
- } : (a = {
- position: "absolute",
- width: "6px",
- height: "6px",
- top: "-9999px",
- left: "-9999px"
- }, f && (a.left = Math.abs(parseInt(a.left, 10)) + "px")));
- jt && (u.oMC.style.zIndex = 1e4);
- if (!u.debugFlash)
- for (v in a) a.hasOwnProperty(v) && (u.oMC.style[v] = a[v]);
- try {
- Bt || u.oMC.appendChild(i), o.appendChild(u.oMC), Bt && (h = u.oMC.appendChild(p.createElement("div")), h.className = "sm2-object-box", h.innerHTML = d), E = !0
- } catch (g) {
- throw Error(et("domError") + " \n" + g.toString())
- }
- }
- return w = !0
- };
- I = function() {
- if (u.html5Only) return X(), !1;
- if (f || !u.url) return !1;
- f = u.getMovie(u.id);
- f || (Y ? (Bt ? u.oMC.innerHTML = Z : u.oMC.appendChild(Y), Y = null, w = !0) : X(u.id, u.url), f = u.getMovie(u.id));
- "function" === typeof u.oninitmovie && setTimeout(u.oninitmovie, 1);
- return !0
- };
- D = function() {
- setTimeout(P, 1e3)
- };
- H = function() {
- e.setTimeout(function() {
- u.setup({
- preferFlash: !1
- }).reboot();
- u.didFlashBlock = !0;
- u.beginDelayedInit()
- }, 1)
- };
- P = function() {
- var t, n = !1;
- if (!u.url || ot) return !1;
- ot = !0;
- Tt.remove(e, "load", D);
- if (Lt && zt && !Ut) return !1;
- S || (t = u.getMoviePercent(), 0 < t && 100 > t && (n = !0));
- setTimeout(function() {
- t = u.getMoviePercent();
- if (n) return ot = !1, e.setTimeout(D, 1), !1;
- !S && Wt && (null === t ? u.useFlashBlock || 0 === u.flashLoadTimeout ? u.useFlashBlock && tt() : !u.useFlashBlock && vt ? H() : M({
- type: "ontimeout",
- ignoreInit: !0,
- error: {
- type: "INIT_FLASHBLOCK"
- }
- }) : 0 !== u.flashLoadTimeout && (!u.useFlashBlock && vt ? H() : Q(!0)))
- }, u.flashLoadTimeout)
- };
- j = function() {
- if (Ut || !zt) return Tt.remove(e, "focus", j), !0;
- Ut = Wt = !0;
- ot = !1;
- D();
- Tt.remove(e, "focus", j);
- return !0
- };
- N = function(t) {
- if (S) return !1;
- if (u.html5Only) return S = !0, _(), !0;
- var n = !0,
- r;
- if (!u.useFlashBlock || !u.flashLoadTimeout || u.getMoviePercent()) S = !0;
- r = {
- type: !Lt && mt ? "NO_FLASH" : "INIT_TIMEOUT"
- };
- if (x || t) u.useFlashBlock && u.oMC && (u.oMC.className = nt() + " " + (null === u.getMoviePercent() ? "swf_timedout" : "swf_error")), M({
- type: "ontimeout",
- error: r,
- ignoreInit: !0
- }), V(r), n = !1;
- x || (u.waitForWindowLoad && !T ? Tt.add(e, "load", _) : _());
- return n
- };
- v = function() {
- var e, n = u.setupOptions;
- for (e in n) n.hasOwnProperty(e) && (u[e] === t ? u[e] = n[e] : u[e] !== n[e] && (u.setupOptions[e] = u[e]))
- };
- m = function() {
- if (S) return !1;
- if (u.html5Only) return S || (Tt.remove(e, "load", u.beginDelayedInit), u.enabled = !0, N()), !0;
- I();
- try {
- f._externalInterfaceTest(!1), $(!0, u.flashPollingInterval || (u.useHighPerformance ? 10 : 50)), u.debugMode || f._disableDebug(), u.enabled = !0, u.html5Only || Tt.add(e, "unload", d)
- } catch (t) {
- return V({
- type: "JS_TO_FLASH_EXCEPTION",
- fatal: !0
- }), Q(!0), N(), !1
- }
- N();
- Tt.remove(e, "load", u.beginDelayedInit);
- return !0
- };
- R = function() {
- if (z) return !1;
- z = !0;
- v();
- J();
- !Lt && u.hasHTML5 && u.setup({
- useHTML5Audio: !0,
- preferFlash: !1
- });
- xt();
- !Lt && mt && (dt.push(F.needFlash), u.setup({
- flashLoadTimeout: 1
- }));
- p.removeEventListener && p.removeEventListener("DOMContentLoaded", R, !1);
- I();
- return !0
- };
- St = function() {
- "complete" === p.readyState && (R(), p.detachEvent("onreadystatechange", St));
- return !0
- };
- U = function() {
- T = !0;
- Tt.remove(e, "load", U)
- };
- q = function() {
- if (qt && (u.setupOptions.useHTML5Audio = !0, u.setupOptions.preferFlash = !1, Pt || Ht && !c.match(/android\s2\.3/i))) Pt && (u.ignoreFlash = !0), Ct = !0
- };
- q();
- At();
- Tt.add(e, "focus", j);
- Tt.add(e, "load", D);
- Tt.add(e, "load", U);
- p.addEventListener ? p.addEventListener("DOMContentLoaded", R, !1) : p.attachEvent ? p.attachEvent("onreadystatechange", St) : V({
- type: "NO_DOM2_EVENTS",
- fatal: !0
- })
- }
- var r = null;
- if (void 0 === e.SM2_DEFER || !SM2_DEFER) r = new n;
- e.SoundManager = n;
- e.soundManager = r
- })(window);
- jQuery.fn.center = function() {
- this.css("top", Math.max(0, ($(window).innerHeight() - this.height()) / 2 + $(window).scrollTop()) + "px");
- if (this.css("width") >= $(window).innerWidth()) {
- $("#graybox").css("left", "0px")
- } else {
- this.css("margin-left", "-" + this.width() / 2 + "px")
- }
- return this
- };
- $(document).ready(function() {
- initGraybox()
- });
- (function(e, t, n) {
- "use strict";
- var r, i, s, o, u, a, f, l, c, h, p, d, v, m, g, y, b, w, E, S, x, T, N, C, k, L, A, O, M, _, D;
- N = {
- paneClass: "nano-pane",
- sliderClass: "nano-slider",
- contentClass: "nano-content",
- iOSNativeScrolling: false,
- preventPageScrolling: false,
- disableResize: false,
- alwaysVisible: false,
- flashDelay: 1500,
- sliderMinHeight: 20,
- sliderMaxHeight: null,
- documentContext: null,
- windowContext: null
- };
- w = "scrollbar";
- b = "scroll";
- c = "mousedown";
- h = "mouseenter";
- p = "mousemove";
- v = "mousewheel";
- d = "mouseup";
- y = "resize";
- u = "drag";
- a = "enter";
- S = "up";
- g = "panedown";
- s = "DOMMouseScroll";
- o = "down";
- x = "wheel";
- f = "keydown";
- l = "keyup";
- E = "touchmove";
- r = t.navigator.appName === "Microsoft Internet Explorer" && /msie 7./i.test(t.navigator.appVersion) && t.ActiveXObject;
- i = null;
- A = t.requestAnimationFrame;
- T = t.cancelAnimationFrame;
- M = n.createElement("div").style;
- D = function() {
- var e, t, n, r, i, s;
- r = ["t", "webkitT", "MozT", "msT", "OT"];
- for (e = i = 0, s = r.length; i < s; e = ++i) {
- n = r[e];
- t = r[e] + "ransform";
- if (t in M) {
- return r[e].substr(0, r[e].length - 1)
- }
- }
- return false
- }();
- _ = function(e) {
- if (D === false) {
- return false
- }
- if (D === "") {
- return e
- }
- return D + e.charAt(0).toUpperCase() + e.substr(1)
- };
- O = _("transform");
- k = O !== false;
- C = function() {
- var e, t, r;
- e = n.createElement("div");
- t = e.style;
- t.position = "absolute";
- t.width = "100px";
- t.height = "100px";
- t.overflow = b;
- t.top = "-9999px";
- n.body.appendChild(e);
- r = e.offsetWidth - e.clientWidth;
- n.body.removeChild(e);
- return r
- };
- L = function() {
- var e, n, r;
- n = t.navigator.userAgent;
- e = /(?=.+Mac OS X)(?=.+Firefox)/.test(n);
- if (!e) {
- return false
- }
- r = /Firefox\/\d{2}\./.exec(n);
- if (r) {
- r = r[0].replace(/\D+/g, "")
- }
- return e && +r > 23
- };
- m = function() {
- function f(r, s) {
- this.el = r;
- this.options = s;
- i || (i = C());
- this.$el = e(this.el);
- this.doc = e(this.options.documentContext || n);
- this.win = e(this.options.windowContext || t);
- this.body = this.doc.find("body");
- this.$content = this.$el.children("." + s.contentClass);
- this.$content.attr("tabindex", this.options.tabIndex || 0);
- this.content = this.$content[0];
- this.previousPosition = 0;
- if (this.options.iOSNativeScrolling && this.el.style.WebkitOverflowScrolling != null) {
- this.nativeScrolling()
- } else {
- this.generate()
- }
- this.createEvents();
- this.addEvents();
- this.reset()
- }
- f.prototype.preventScrolling = function(e, t) {
- if (!this.isActive) {
- return
- }
- if (e.type === s) {
- if (t === o && e.originalEvent.detail > 0 || t === S && e.originalEvent.detail < 0) {
- e.preventDefault()
- }
- } else if (e.type === v) {
- if (!e.originalEvent || !e.originalEvent.wheelDelta) {
- return
- }
- if (t === o && e.originalEvent.wheelDelta < 0 || t === S && e.originalEvent.wheelDelta > 0) {
- e.preventDefault()
- }
- }
- };
- f.prototype.nativeScrolling = function() {
- this.$content.css({
- WebkitOverflowScrolling: "touch"
- });
- this.iOSNativeScrolling = true;
- this.isActive = true
- };
- f.prototype.updateScrollValues = function() {
- var e, t;
- e = this.content;
- this.maxScrollTop = e.scrollHeight - e.clientHeight;
- this.prevScrollTop = this.contentScrollTop || 0;
- this.contentScrollTop = e.scrollTop;
- t = this.contentScrollTop > this.previousPosition ? "down" : this.contentScrollTop < this.previousPosition ? "up" : "same";
- this.previousPosition = this.contentScrollTop;
- if (t !== "same") {
- this.$el.trigger("update", {
- position: this.contentScrollTop,
- maximum: this.maxScrollTop,
- direction: t
- })
- }
- if (!this.iOSNativeScrolling) {
- this.maxSliderTop = this.paneHeight - this.sliderHeight;
- this.sliderTop = this.maxScrollTop === 0 ? 0 : this.contentScrollTop * this.maxSliderTop / this.maxScrollTop
- }
- };
- f.prototype.setOnScrollStyles = function() {
- var e;
- if (k) {
- e = {};
- e[O] = "translate(0, " + this.sliderTop + "px)"
- } else {
- e = {
- top: this.sliderTop
- }
- }
- if (A) {
- if (T && this.scrollRAF) {
- T(this.scrollRAF)
- }
- this.scrollRAF = A(function(t) {
- return function() {
- t.scrollRAF = null;
- return t.slider.css(e)
- }
- }(this))
- } else {
- this.slider.css(e)
- }
- };
- f.prototype.createEvents = function() {
- this.events = {
- down: function(e) {
- return function(t) {
- e.isBeingDragged = true;
- e.offsetY = t.pageY - e.slider.offset().top;
- if (!e.slider.is(t.target)) {
- e.offsetY = 0
- }
- e.pane.addClass("active");
- e.doc.bind(p, e.events[u]).bind(d, e.events[S]);
- e.body.bind(h, e.events[a]);
- return false
- }
- }(this),
- drag: function(e) {
- return function(t) {
- e.sliderY = t.pageY - e.$el.offset().top - e.paneTop - (e.offsetY || e.sliderHeight * .5);
- e.scroll();
- if (e.contentScrollTop >= e.maxScrollTop && e.prevScrollTop !== e.maxScrollTop) {
- e.$el.trigger("scrollend")
- } else if (e.contentScrollTop === 0 && e.prevScrollTop !== 0) {
- e.$el.trigger("scrolltop")
- }
- return false
- }
- }(this),
- up: function(e) {
- return function(t) {
- e.isBeingDragged = false;
- e.pane.removeClass("active");
- e.doc.unbind(p, e.events[u]).unbind(d, e.events[S]);
- e.body.unbind(h, e.events[a]);
- return false
- }
- }(this),
- resize: function(e) {
- return function(t) {
- e.reset()
- }
- }(this),
- panedown: function(e) {
- return function(t) {
- e.sliderY = (t.offsetY || t.originalEvent.layerY) - e.sliderHeight * .5;
- e.scroll();
- e.events.down(t);
- return false
- }
- }(this),
- scroll: function(e) {
- return function(t) {
- e.updateScrollValues();
- if (e.isBeingDragged) {
- return
- }
- if (!e.iOSNativeScrolling) {
- e.sliderY = e.sliderTop;
- e.setOnScrollStyles()
- }
- if (t == null) {
- return
- }
- if (e.contentScrollTop >= e.maxScrollTop) {
- if (e.options.preventPageScrolling) {
- e.preventScrolling(t, o)
- }
- if (e.prevScrollTop !== e.maxScrollTop) {
- e.$el.trigger("scrollend")
- }
- } else if (e.contentScrollTop === 0) {
- if (e.options.preventPageScrolling) {
- e.preventScrolling(t, S)
- }
- if (e.prevScrollTop !== 0) {
- e.$el.trigger("scrolltop")
- }
- }
- }
- }(this),
- wheel: function(e) {
- return function(t) {
- var n;
- if (t == null) {
- return
- }
- n = t.delta || t.wheelDelta || t.originalEvent && t.originalEvent.wheelDelta || -t.detail || t.originalEvent && -t.originalEvent.detail;
- if (n) {
- e.sliderY += -n / 3
- }
- e.scroll();
- return false
- }
- }(this),
- enter: function(e) {
- return function(t) {
- var n;
- if (!e.isBeingDragged) {
- return
- }
- if ((t.buttons || t.which) !== 1) {
- return (n = e.events)[S].apply(n, arguments)
- }
- }
- }(this)
- }
- };
- f.prototype.addEvents = function() {
- var e;
- this.removeEvents();
- e = this.events;
- if (!this.options.disableResize) {
- this.win.bind(y, e[y])
- }
- if (!this.iOSNativeScrolling) {
- this.slider.bind(c, e[o]);
- this.pane.bind(c, e[g]).bind("" + v + " " + s, e[x])
- }
- this.$content.bind("" + b + " " + v + " " + s + " " + E, e[b])
- };
- f.prototype.removeEvents = function() {
- var e;
- e = this.events;
- this.win.unbind(y, e[y]);
- if (!this.iOSNativeScrolling) {
- this.slider.unbind();
- this.pane.unbind()
- }
- this.$content.unbind("" + b + " " + v + " " + s + " " + E, e[b])
- };
- f.prototype.generate = function() {
- var e, n, r, s, o, u, a;
- s = this.options;
- u = s.paneClass, a = s.sliderClass, e = s.contentClass;
- if (!(o = this.$el.children("." + u)).length && !o.children("." + a).length) {
- this.$el.append('<div class="' + u + '"><div class="' + a + '" /></div>')
- }
- this.pane = this.$el.children("." + u);
- this.slider = this.pane.find("." + a);
- if (i === 0 && L()) {
- r = t.getComputedStyle(this.content, null).getPropertyValue("padding-right").replace(/[^0-9.]+/g, "");
- n = {
- right: -14,
- paddingRight: +r + 14
- }
- } else if (i) {
- n = {
- right: -i
- };
- this.$el.addClass("has-scrollbar")
- }
- if (n != null) {
- this.$content.css(n)
- }
- return this
- };
- f.prototype.restore = function() {
- this.stopped = false;
- if (!this.iOSNativeScrolling) {
- this.pane.show()
- }
- this.addEvents()
- };
- f.prototype.reset = function() {
- var e, t, n, s, o, u, a, f, l, c, h, p;
- if (this.iOSNativeScrolling) {
- this.contentHeight = this.content.scrollHeight;
- return
- }
- if (!this.$el.find("." + this.options.paneClass).length) {
- this.generate().stop()
- }
- if (this.stopped) {
- this.restore()
- }
- e = this.content;
- s = e.style;
- o = s.overflowY;
- if (r) {
- this.$content.css({
- height: this.$content.height()
- })
- }
- t = e.scrollHeight + i;
- c = parseInt(this.$el.css("max-height"), 10);
- if (c > 0) {
- this.$el.height("");
- this.$el.height(e.scrollHeight > c ? c : e.scrollHeight)
- }
- a = this.pane.outerHeight(false);
- l = parseInt(this.pane.css("top"), 10);
- u = parseInt(this.pane.css("bottom"), 10);
- f = a + l + u;
- p = Math.round(f / t * f);
- if (p < this.options.sliderMinHeight) {
- p = this.options.sliderMinHeight
- } else if (this.options.sliderMaxHeight != null && p > this.options.sliderMaxHeight) {
- p = this.options.sliderMaxHeight
- }
- if (o === b && s.overflowX !== b) {
- p += i
- }
- this.maxSliderTop = f - p;
- this.contentHeight = t;
- this.paneHeight = a;
- this.paneOuterHeight = f;
- this.sliderHeight = p;
- this.paneTop = l;
- this.slider.height(p);
- this.events.scroll();
- this.pane.show();
- this.isActive = true;
- if (e.scrollHeight === e.clientHeight || this.pane.outerHeight(true) >= e.scrollHeight && o !== b) {
- this.pane.hide();
- this.isActive = false
- } else if (this.el.clientHeight === e.scrollHeight && o === b) {
- this.slider.hide()
- } else {
- this.slider.show()
- }
- this.pane.css({
- opacity: this.options.alwaysVisible ? 1 : "",
- visibility: this.options.alwaysVisible ? "visible" : ""
- });
- n = this.$content.css("position");
- if (n === "static" || n === "relative") {
- h = parseInt(this.$content.css("right"), 10);
- if (h) {
- this.$content.css({
- right: "",
- marginRight: h
- })
- }
- }
- return this
- };
- f.prototype.scroll = function() {
- if (!this.isActive) {
- return
- }
- this.sliderY = Math.max(0, this.sliderY);
- this.sliderY = Math.min(this.maxSliderTop, this.sliderY);
- this.$content.scrollTop(this.maxScrollTop * this.sliderY / this.maxSliderTop);
- if (!this.iOSNativeScrolling) {
- this.updateScrollValues();
- this.setOnScrollStyles()
- }
- return this
- };
- f.prototype.scrollBottom = function(e) {
- if (!this.isActive) {
- return
- }
- this.$content.scrollTop(this.contentHeight - this.$content.height() - e).trigger(v);
- this.stop().restore();
- return this
- };
- f.prototype.scrollTop = function(e) {
- if (!this.isActive) {
- return
- }
- this.$content.scrollTop(+e).trigger(v);
- this.stop().restore();
- return this
- };
- f.prototype.scrollTo = function(e) {
- if (!this.isActive) {
- return
- }
- this.scrollTop(this.$el.find(e).get(0).offsetTop);
- return this
- };
- f.prototype.stop = function() {
- if (T && this.scrollRAF) {
- T(this.scrollRAF);
- this.scrollRAF = null
- }
- this.stopped = true;
- this.removeEvents();
- if (!this.iOSNativeScrolling) {
- this.pane.hide()
- }
- return this
- };
- f.prototype.destroy = function() {
- if (!this.stopped) {
- this.stop()
- }
- if (!this.iOSNativeScrolling && this.pane.length) {
- this.pane.remove()
- }
- if (r) {
- this.$content.height("")
- }
- this.$content.removeAttr("tabindex");
- if (this.$el.hasClass("has-scrollbar")) {
- this.$el.removeClass("has-scrollbar");
- this.$content.css({
- right: ""
- })
- }
- return this
- };
- f.prototype.flash = function() {
- if (this.iOSNativeScrolling) {
- return
- }
- if (!this.isActive) {
- return
- }
- this.reset();
- this.pane.addClass("flashed");
- setTimeout(function(e) {
- return function() {
- e.pane.removeClass("flashed")
- }
- }(this), this.options.flashDelay);
- return this
- };
- return f
- }();
- e.fn.nanoScroller = function(t) {
- return this.each(function() {
- var n, r;
- if (!(r = this.nanoscroller)) {
- n = e.extend({}, N, t);
- this.nanoscroller = r = new m(this, n)
- }
- if (t && typeof t === "object") {
- e.extend(r.options, t);
- if (t.scrollBottom != null) {
- return r.scrollBottom(t.scrollBottom)
- }
- if (t.scrollTop != null) {
- return r.scrollTop(t.scrollTop)
- }
- if (t.scrollTo) {
- return r.scrollTo(t.scrollTo)
- }
- if (t.scroll === "bottom") {
- return r.scrollBottom(0)
- }
- if (t.scroll === "top") {
- return r.scrollTop(0)
- }
- if (t.scroll && t.scroll instanceof e) {
- return r.scrollTo(t.scroll)
- }
- if (t.stop) {
- return r.stop()
- }
- if (t.destroy) {
- return r.destroy()
- }
- if (t.flash) {
- return r.flash()
- }
- }
- return r.reset()
- })
- };
- e.fn.nanoScroller.Constructor = m
- })(jQuery, window, document);
- (function(e) {
- "use strict";
- if (typeof define === "function" && define.amd) {
- define(e)
- } else if (typeof module != "undefined" && typeof module.exports != "undefined") {
- module.exports = e()
- } else {
- window["Sortable"] = e()
- }
- })(function() {
- "use strict";
- function S(e, t) {
- this.el = e;
- this.options = t = t || {};
- var n = {
- group: Math.random(),
- store: null,
- handle: null,
- draggable: e.children[0] && e.children[0].nodeName || (/[uo]l/i.test(e.nodeName) ? "li" : "*"),
- ghostClass: "sortable-ghost",
- ignore: "a, img",
- filter: null
- };
- for (var r in n) {
- t[r] = t[r] || n[r]
- }
- y.forEach(function(n) {
- t[n] = x(this, t[n] || b);
- C(e, n.substr(2).toLowerCase(), t[n])
- });
- e[l] = t.group;
- for (var i in this) {
- if (i.charAt(0) === "_") {
- this[i] = x(this, this[i])
- }
- }
- C(e, "mousedown", this._onTapStart);
- C(e, "touchstart", this._onTapStart);
- d && C(e, "selectstart", this._onTapStart);
- C(e, "dragover", this._onDragOver);
- C(e, "dragenter", this._onDragOver);
- E.push(this._onDragOver);
- t.store && this.sort(t.store.get(this))
- }
- function x(e, t) {
- var n = w.call(arguments, 2);
- return t.bind ? t.bind.apply(t, [e].concat(n)) : function() {
- return t.apply(e, n.concat(w.call(arguments)))
- }
- }
- function T(e, t, n) {
- if (t === "*") {
- return e
- } else if (e) {
- n = n || h;
- t = t.split(".");
- var r = t.shift().toUpperCase(),
- i = new RegExp("\\s(" + t.join("|") + ")\\s", "g");
- do {
- if ((r === "" || e.nodeName == r) && (!t.length || ((" " + e.className + " ").match(i) || []).length == t.length)) {
- return e
- }
- } while (e !== n && (e = e.parentNode))
- }
- return null
- }
- function N(e) {
- e.dataTransfer.dropEffect = "move";
- e.preventDefault()
- }
- function C(e, t, n) {
- e.addEventListener(t, n, false)
- }
- function k(e, t, n) {
- e.removeEventListener(t, n, false)
- }
- function L(e, t, n) {
- if (e) {
- if (e.classList) {
- e.classList[n ? "add" : "remove"](t)
- } else {
- var r = (" " + e.className + " ").replace(/\s+/g, " ").replace(" " + t + " ", "");
- e.className = r + (n ? " " + t : "")
- }
- }
- }
- function A(e, t, n) {
- if (e && e.style) {
- if (n === void 0) {
- if (h.defaultView && h.defaultView.getComputedStyle) {
- n = h.defaultView.getComputedStyle(e, "")
- } else if (e.currentStyle) {
- n = e.currentStyle
- }
- return t === void 0 ? n : n[t]
- } else {
- e.style[t] = n + (typeof n === "string" ? "" : "px")
- }
- }
- }
- function O(e, t, n) {
- if (e) {
- var r = e.getElementsByTagName(t),
- i = 0,
- s = r.length;
- if (n) {
- for (; i < s; i++) {
- n(r[i], i)
- }
- }
- return r
- }
- return []
- }
- function M(e) {
- return e.draggable = false
- }
- function _() {
- v = false
- }
- function D(e, t) {
- var n = e.lastElementChild.getBoundingClientRect();
- return t.clientY - (n.top + n.height) > 5
- }
- function P(e) {
- var t = e.tagName + e.className + e.src + e.href + e.textContent,
- n = t.length,
- r = 0;
- while (n--) {
- r += t.charCodeAt(n)
- }
- return r.toString(36)
- }
- var e, t, n, r, i, s, o, u, a, f, l = "Sortable" + (new Date).getTime(),
- c = window,
- h = c.document,
- p = c.parseInt,
- d = !!h.createElement("div").dragDrop,
- v = false,
- m = function(e, t) {
- var n = h.createEvent("Event");
- n.initEvent(e, true, true);
- n.item = t;
- return n
- },
- g = function(e, t, n) {
- e.dispatchEvent(m(t, n || e))
- },
- y = "onAdd onUpdate onRemove onStart onEnd onFilter".split(" "),
- b = function() {},
- w = [].slice,
- E = [];
- S.prototype = {
- constructor: S,
- _applyEffects: function() {
- L(e, this.options.ghostClass, true)
- },
- _onTapStart: function(t) {
- var i = t.touches && t.touches[0],
- s = (i || t).target,
- o = this.options,
- f = this.el,
- l = o.filter;
- if (typeof l === "function" && l.call(this, s, this)) {
- g(f, "filter", s);
- return
- } else if (l) {
- l = l.split(",").filter(function(e) {
- return T(s, e.trim(), f)
- });
- if (l.length) {
- g(f, "filter", s);
- return
- }
- }
- if (o.handle) {
- s = T(s, o.handle, f)
- }
- s = T(s, o.draggable, f);
- if (s && t.type == "selectstart") {
- if (s.tagName != "A" && s.tagName != "IMG") {
- s.dragDrop()
- }
- }
- if (s && !e && s.parentNode === f) {
- a = t;
- n = this.el;
- e = s;
- r = e.nextSibling;
- u = this.options.group;
- e.draggable = true;
- o.ignore.split(",").forEach(function(e) {
- O(s, e.trim(), M)
- });
- if (i) {
- a = {
- target: s,
- clientX: i.clientX,
- clientY: i.clientY
- };
- this._onDragStart(a, true);
- t.preventDefault()
- }
- C(h, "mouseup", this._onDrop);
- C(h, "touchend", this._onDrop);
- C(h, "touchcancel", this._onDrop);
- C(this.el, "dragstart", this._onDragStart);
- C(this.el, "dragend", this._onDrop);
- C(h, "dragover", N);
- try {
- if (h.selection) {
- h.selection.empty()
- } else {
- window.getSelection().removeAllRanges()
- }
- } catch (c) {}
- g(e, "start")
- }
- },
- _emulateDragOver: function() {
- if (f) {
- A(t, "display", "none");
- var e = h.elementFromPoint(f.clientX, f.clientY),
- n = e,
- r = this.options.group,
- i = E.length;
- if (n) {
- do {
- if (n[l] === r) {
- while (i--) {
- E[i]({
- clientX: f.clientX,
- clientY: f.clientY,
- target: e,
- rootEl: n
- })
- }
- break
- }
- e = n
- } while (n = n.parentNode)
- }
- A(t, "display", "")
- }
- },
- _onTouchMove: function(e) {
- if (a) {
- var n = e.touches[0],
- r = n.clientX - a.clientX,
- i = n.clientY - a.clientY,
- s = "translate3d(" + r + "px," + i + "px,0)";
- f = n;
- A(t, "webkitTransform", s);
- A(t, "mozTransform", s);
- A(t, "msTransform", s);
- A(t, "transform", s);
- e.preventDefault()
- }
- },
- _onDragStart: function(r, i) {
- var s = r.dataTransfer;
- this._offUpEvents();
- if (i) {
- var o = e.getBoundingClientRect(),
- u = A(e),
- a;
- t = e.cloneNode(true);
- A(t, "top", o.top - p(u.marginTop, 10));
- A(t, "left", o.left - p(u.marginLeft, 10));
- A(t, "width", o.width);
- A(t, "height", o.height);
- A(t, "opacity", "0.8");
- A(t, "position", "fixed");
- A(t, "zIndex", "100000");
- n.appendChild(t);
- a = t.getBoundingClientRect();
- A(t, "width", o.width * 2 - a.width);
- A(t, "height", o.height * 2 - a.height);
- C(h, "touchmove", this._onTouchMove);
- C(h, "touchend", this._onDrop);
- C(h, "touchcancel", this._onDrop);
- this._loopId = setInterval(this._emulateDragOver, 150)
- } else {
- s.effectAllowed = "move";
- s.setData("Text", e.textContent);
- C(h, "drop", this._onDrop)
- }
- setTimeout(this._applyEffects)
- },
- _onDragOver: function(n) {
- if (!window.sortableLastTime) {
- window.sortableLastTime = (new Date).getTime()
- }
- var r = 50;
- var a = (new Date).getTime();
- if (a - sortableLastTime >= r) {
- sortableLastTime = a;
- if (!v && u === this.options.group && (n.rootEl === void 0 || n.rootEl === this.el)) {
- var f = this.el,
- c = T(n.target, this.options.draggable, f);
- if (f.children.length === 0 || f.children[0] === t || f === n.target && D(f, n)) {
- f.appendChild(e)
- } else if (c && c !== e && c.parentNode[l] !== void 0) {
- if (i !== c) {
- i = c;
- s = A(c);
- o = c.getBoundingClientRect()
- }
- var h = o,
- p = h.right - h.left,
- d = h.bottom - h.top,
- m = /left|right|inline/.test(s.cssFloat + s.display),
- g = c.offsetWidth > e.offsetWidth,
- y = c.offsetHeight > e.offsetHeight,
- b = (m ? (n.clientX - h.left) / p : (n.clientY - h.top) / d) > .5,
- w = c.nextElementSibling,
- E;
- v = true;
- setTimeout(_, 30);
- if (m) {
- E = c.previousElementSibling === e && !g || b && g
- } else {
- E = w !== e && !y || b && y
- }
- if (E && !w) {
- f.appendChild(e)
- } else {
- c.parentNode.insertBefore(e, E ? w : c)
- }
- var S = h.bottom,
- x = this.el.clientHeight,
- N = 15;
- var C = x - N,
- k = x + N;
- if (S >= C && S <= k) {
- this.el.scrollTop = this.el.scrollTop + d
- }
- if (h.top < N + 10) {
- if (this.el.scrollTop > 0) this.el.scrollTop = this.el.scrollTop - d
- }
- }
- }
- }
- },
- _offUpEvents: function() {
- k(h, "mouseup", this._onDrop);
- k(h, "touchmove", this._onTouchMove);
- k(h, "touchend", this._onDrop);
- k(h, "touchcancel", this._onDrop)
- },
- _onDrop: function(o) {
- clearInterval(this._loopId);
- k(h, "drop", this._onDrop);
- k(h, "dragover", N);
- k(this.el, "dragend", this._onDrop);
- k(this.el, "dragstart", this._onDragStart);
- k(this.el, "selectstart", this._onTapStart);
- this._offUpEvents();
- if (o) {
- o.preventDefault();
- o.stopPropagation();
- if (t) {
- t.parentNode.removeChild(t)
- }
- if (e) {
- M(e);
- L(e, this.options.ghostClass, false);
- if (!n.contains(e)) {
- g(n, "remove", e);
- g(e, "add")
- } else if (e.nextSibling !== r) {
- g(e, "update")
- }
- g(e, "end")
- }
- n = e = t = r = a = f = i = s = u = null;
- this.options.store && this.options.store.set(this)
- }
- },
- toArray: function() {
- var e = [],
- t, n = this.el.children,
- r = 0,
- i = n.length;
- for (; r < i; r++) {
- t = n[r];
- e.push(t.getAttribute("data-id") || P(t))
- }
- return e
- },
- sort: function(e) {
- var t = {},
- n = this.el;
- this.toArray().forEach(function(e, r) {
- t[e] = n.children[r]
- });
- e.forEach(function(e) {
- if (t[e]) {
- n.removeChild(t[e]);
- n.appendChild(t[e])
- }
- })
- },
- closest: function(e, t) {
- return T(e, t || this.options.draggable, this.el)
- },
- destroy: function() {
- var e = this.el,
- t = this.options;
- y.forEach(function(n) {
- k(e, n.substr(2).toLowerCase(), t[n])
- });
- k(e, "mousedown", this._onTapStart);
- k(e, "touchstart", this._onTapStart);
- k(e, "selectstart", this._onTapStart);
- k(e, "dragover", this._onDragOver);
- k(e, "dragenter", this._onDragOver);
- Array.prototype.forEach.call(e.querySelectorAll("[draggable]"), function(e) {
- e.removeAttribute("draggable")
- });
- E.splice(E.indexOf(this._onDragOver), 1);
- this._onDrop();
- this.el = null
- }
- };
- S.utils = {
- on: C,
- off: k,
- css: A,
- find: O,
- bind: x,
- closest: T,
- toggleClass: L,
- createEvent: m,
- dispatchEvent: g
- };
- S.version = "0.5.0";
- return S
- });
- (function(e) {
- function t(t) {
- var n = t || window.event,
- r = [].slice.call(arguments, 1),
- i = 0,
- s = true,
- o = 0,
- u = 0;
- t = e.event.fix(n);
- t.type = "mousewheel";
- if (n.wheelDelta) {
- i = n.wheelDelta / 120
- }
- if (n.detail) {
- i = -n.detail / 3
- }
- u = i;
- if (n.axis !== undefined && n.axis === n.HORIZONTAL_AXIS) {
- u = 0;
- o = -1 * i
- }
- if (n.wheelDeltaY !== undefined) {
- u = n.wheelDeltaY / 120
- }
- if (n.wheelDeltaX !== undefined) {
- o = -1 * n.wheelDeltaX / 120
- }
- r.unshift(t, i, o, u);
- return (e.event.dispatch || e.event.handle).apply(this, r)
- }
- var n = ["DOMMouseScroll", "mousewheel"];
- if (e.event.fixHooks) {
- for (var r = n.length; r;) {
- e.event.fixHooks[n[--r]] = e.event.mouseHooks
- }
- }
- e.event.special.mousewheel = {
- setup: function() {
- if (this.addEventListener) {
- for (var e = n.length; e;) {
- this.addEventListener(n[--e], t, false)
- }
- } else {
- this.onmousewheel = t
- }
- },
- teardown: function() {
- if (this.removeEventListener) {
- for (var e = n.length; e;) {
- this.removeEventListener(n[--e], t, false)
- }
- } else {
- this.onmousewheel = null
- }
- }
- };
- e.fn.extend({
- mousewheel: function(e) {
- return e ? this.bind("mousewheel", e) : this.trigger("mousewheel")
- },
- unmousewheel: function(e) {
- return this.unbind("mousewheel", e)
- }
- })
- })(jQuery);
- (function() {
- function e() {
- var e = false;
- if ("localStorage" in window) {
- try {
- window.localStorage.setItem("_tmptest", "tmpval");
- e = true;
- window.localStorage.removeItem("_tmptest")
- } catch (n) {}
- }
- if (e) {
- try {
- if (window.localStorage) {
- E = window.localStorage;
- T = "localStorage";
- k = E.jStorage_update
- }
- } catch (s) {}
- } else if ("globalStorage" in window) {
- try {
- if (window.globalStorage) {
- E = window.globalStorage[window.location.hostname];
- T = "globalStorage";
- k = E.jStorage_update
- }
- } catch (o) {}
- } else {
- S = document.createElement("link");
- if (S.addBehavior) {
- S.style.behavior = "url(#default#userData)";
- document.getElementsByTagName("head")[0].appendChild(S);
- try {
- S.load("jStorage")
- } catch (u) {
- S.setAttribute("jStorage", "{}");
- S.save("jStorage");
- S.load("jStorage")
- }
- var f = "{}";
- try {
- f = S.getAttribute("jStorage")
- } catch (l) {}
- try {
- k = S.getAttribute("jStorage_update")
- } catch (p) {}
- E.jStorage = f;
- T = "userDataBehavior"
- } else {
- S = null;
- return
- }
- }
- a();
- c();
- t("local");
- t("session");
- r();
- h();
- if ("addEventListener" in window) {
- window.addEventListener("pageshow", function(e) {
- if (e.persisted) {
- i()
- }
- }, false)
- }
- }
- function t(e, n) {
- function r() {
- if (e != "session") {
- return
- }
- try {
- f = b.parse(window.name || "{}")
- } catch (t) {
- f = {}
- }
- }
- function i() {
- if (e != "session") {
- return
- }
- window.name = b.stringify(f)
- }
- var s = false,
- o = 0,
- u, a, f = {};
- var l = Math.random();
- if (!n && typeof window[e + "Storage"] != "undefined") {
- return
- }
- if (e == "local" && window.globalStorage) {
- localStorage = window.globalStorage[window.location.hostname];
- return
- }
- if (T != "userDataBehavior") {
- return
- }
- if (n && window[e + "Storage"] && window[e + "Storage"].parentNode) {
- window[e + "Storage"].parentNode.removeChild(window[e + "Storage"])
- }
- a = document.createElement("button");
- document.getElementsByTagName("head")[0].appendChild(a);
- if (e == "local") {
- f = w
- } else if (e == "session") {
- r()
- }
- for (u in f) {
- if (f.hasOwnProperty(u) && u != "__jstorage_meta" && u != "length" && typeof f[u] != "undefined") {
- if (!(u in a)) {
- o++
- }
- a[u] = f[u]
- }
- }
- a.length = o;
- a.key = function(e) {
- var t = 0,
- n;
- r();
- for (n in f) {
- if (f.hasOwnProperty(n) && n != "__jstorage_meta" && n != "length" && typeof f[n] != "undefined") {
- if (t == e) {
- return n
- }
- t++
- }
- }
- };
- a.getItem = function(t) {
- r();
- if (e == "session") {
- return f[t]
- }
- return y.jStorage.get(t)
- };
- a.setItem = function(e, t) {
- if (typeof t == "undefined") {
- return
- }
- a[e] = (t || "").toString()
- };
- a.removeItem = function(t) {
- if (e == "local") {
- return y.jStorage.deleteKey(t)
- }
- a[t] = undefined;
- s = true;
- if (t in a) {
- a.removeAttribute(t)
- }
- s = false
- };
- a.clear = function() {
- if (e == "session") {
- window.name = "";
- t("session", true);
- return
- }
- y.jStorage.flush()
- };
- if (e == "local") {
- D = function(e, t) {
- if (e == "length") {
- return
- }
- s = true;
- if (typeof t == "undefined") {
- if (e in a) {
- o--;
- a.removeAttribute(e)
- }
- } else {
- if (!(e in a)) {
- o++
- }
- a[e] = (t || "").toString()
- }
- a.length = o;
- s = false
- }
- }
- a.attachEvent("onpropertychange", function(t) {
- if (t.propertyName == "length") {
- return
- }
- if (s || t.propertyName == "length") {
- return
- }
- if (e == "local") {
- if (!(t.propertyName in f) && typeof a[t.propertyName] != "undefined") {
- o++
- }
- } else if (e == "session") {
- r();
- if (typeof a[t.propertyName] != "undefined" && !(t.propertyName in f)) {
- f[t.propertyName] = a[t.propertyName];
- o++
- } else if (typeof a[t.propertyName] == "undefined" && t.propertyName in f) {
- delete f[t.propertyName];
- o--
- } else {
- f[t.propertyName] = a[t.propertyName]
- }
- i();
- a.length = o;
- return
- }
- y.jStorage.set(t.propertyName, a[t.propertyName]);
- a.length = o
- });
- window[e + "Storage"] = a
- }
- function n() {
- var e = "{}";
- if (T == "userDataBehavior") {
- S.load("jStorage");
- try {
- e = S.getAttribute("jStorage")
- } catch (t) {}
- try {
- k = S.getAttribute("jStorage_update")
- } catch (n) {}
- E.jStorage = e
- }
- a();
- c();
- h()
- }
- function r() {
- if (T == "localStorage" || T == "globalStorage") {
- if ("addEventListener" in window) {
- window.addEventListener("storage", i, false)
- } else {
- document.attachEvent("onstorage", i)
- }
- } else if (T == "userDataBehavior") {
- setInterval(i, 1e3)
- }
- }
- function i() {
- var e;
- clearTimeout(C);
- C = setTimeout(function() {
- if (T == "localStorage" || T == "globalStorage") {
- e = E.jStorage_update
- } else if (T == "userDataBehavior") {
- S.load("jStorage");
- try {
- e = S.getAttribute("jStorage_update")
- } catch (t) {}
- }
- if (e && e != k) {
- k = e;
- s()
- }
- }, 25)
- }
- function s() {
- var e = b.parse(b.stringify(w.__jstorage_meta.CRC32)),
- t;
- n();
- t = b.parse(b.stringify(w.__jstorage_meta.CRC32));
- var r, i = [],
- s = [];
- for (r in e) {
- if (e.hasOwnProperty(r)) {
- if (!t[r]) {
- s.push(r);
- continue
- }
- if (e[r] != t[r]) {
- i.push(r)
- }
- }
- }
- for (r in t) {
- if (t.hasOwnProperty(r)) {
- if (!e[r]) {
- i.push(r)
- }
- }
- }
- o(i, "updated");
- o(s, "deleted")
- }
- function o(e, t) {
- e = [].concat(e || []);
- if (t == "flushed") {
- e = [];
- for (var n in N) {
- if (N.hasOwnProperty(n)) {
- e.push(n)
- }
- }
- t = "deleted"
- }
- for (var r = 0, i = e.length; r < i; r++) {
- if (N[e[r]]) {
- for (var s = 0, o = N[e[r]].length; s < o; s++) {
- N[e[r]][s](e[r], t)
- }
- }
- }
- }
- function u() {
- var e = (+(new Date)).toString();
- if (T == "localStorage" || T == "globalStorage") {
- E.jStorage_update = e
- } else if (T == "userDataBehavior") {
- S.setAttribute("jStorage_update", e);
- S.save("jStorage")
- }
- i()
- }
- function a() {
- if (E.jStorage) {
- try {
- w = b.parse(String(E.jStorage))
- } catch (e) {
- E.jStorage = "{}"
- }
- } else {
- E.jStorage = "{}"
- }
- x = E.jStorage ? String(E.jStorage).length : 0;
- if (!w.__jstorage_meta) {
- w.__jstorage_meta = {}
- }
- if (!w.__jstorage_meta.CRC32) {
- w.__jstorage_meta.CRC32 = {}
- }
- }
- function f() {
- d();
- try {
- E.jStorage = b.stringify(w);
- if (S) {
- S.setAttribute("jStorage", E.jStorage);
- S.save("jStorage")
- }
- x = E.jStorage ? String(E.jStorage).length : 0
- } catch (e) {}
- }
- function l(e) {
- if (!e || typeof e != "string" && typeof e != "number") {
- throw new TypeError("Key name must be string or numeric")
- }
- if (e == "__jstorage_meta") {
- throw new TypeError("Reserved key name")
- }
- return true
- }
- function c() {
- var e, t, n, r, i = Infinity,
- s = false,
- a = [];
- clearTimeout(O);
- if (!w.__jstorage_meta || typeof w.__jstorage_meta.TTL != "object") {
- return
- }
- e = +(new Date);
- n = w.__jstorage_meta.TTL;
- r = w.__jstorage_meta.CRC32;
- for (t in n) {
- if (n.hasOwnProperty(t)) {
- if (n[t] <= e) {
- delete n[t];
- delete r[t];
- delete w[t];
- s = true;
- a.push(t)
- } else if (n[t] < i) {
- i = n[t]
- }
- }
- }
- if (i != Infinity) {
- O = setTimeout(c, i - e)
- }
- if (s) {
- f();
- u();
- o(a, "deleted")
- }
- }
- function h() {
- if (!w.__jstorage_meta.PubSub) {
- return
- }
- var e, t = A;
- for (var n = len = w.__jstorage_meta.PubSub.length - 1; n >= 0; n--) {
- e = w.__jstorage_meta.PubSub[n];
- if (e[0] > A) {
- t = e[0];
- p(e[1], e[2])
- }
- }
- A = t
- }
- function p(e, t) {
- if (L[e]) {
- for (var n = 0, r = L[e].length; n < r; n++) {
- L[e][n](e, b.parse(b.stringify(t)))
- }
- }
- }
- function d() {
- if (!w.__jstorage_meta.PubSub) {
- return
- }
- var e = +(new Date) - 2e3;
- for (var t = 0, n = w.__jstorage_meta.PubSub.length; t < n; t++) {
- if (w.__jstorage_meta.PubSub[t][0] <= e) {
- w.__jstorage_meta.PubSub.splice(t, w.__jstorage_meta.PubSub.length - t);
- break
- }
- }
- if (!w.__jstorage_meta.PubSub.length) {
- delete w.__jstorage_meta.PubSub
- }
- }
- function v(e, t) {
- if (!w.__jstorage_meta) {
- w.__jstorage_meta = {}
- }
- if (!w.__jstorage_meta.PubSub) {
- w.__jstorage_meta.PubSub = []
- }
- w.__jstorage_meta.PubSub.unshift([+(new Date), e, t]);
- f();
- u()
- }
- function m(e, t) {
- t = t || 0;
- var n = 0,
- r = 0;
- t = t ^ -1;
- for (var i = 0, s = e.length; i < s; i++) {
- n = (t ^ e.charCodeAt(i)) & 255;
- r = "0x" + M.substr(n * 9, 8);
- t = t >>> 8 ^ r
- }
- return t ^ -1
- }
- var g = "0.3.0",
- y = window.jQuery || window.$ || (window.$ = {}),
- b = {
- parse: window.JSON && (window.JSON.parse || window.JSON.decode) || String.prototype.evalJSON && function(e) {
- return String(e).evalJSON()
- } || y.parseJSON || y.evalJSON,
- stringify: Object.toJSON || window.JSON && (window.JSON.stringify || window.JSON.encode) || y.toJSON
- };
- if (!b.parse || !b.stringify) {
- throw new Error("No JSON support found, include //cdnjs.cloudflare.com/ajax/libs/json2/20110223/json2.js to page")
- }
- var w = {},
- E = {
- jStorage: "{}"
- },
- S = null,
- x = 0,
- T = false,
- N = {},
- C = false,
- k = 0,
- L = {},
- A = +(new Date),
- O, M = "00000000 77073096 EE0E612C 990951BA 076DC419 706AF48F E963A535 9E6495A3 " + "0EDB8832 79DCB8A4 E0D5E91E 97D2D988 09B64C2B 7EB17CBD E7B82D07 90BF1D91 1DB71064 " + "6AB020F2 F3B97148 84BE41DE 1ADAD47D 6DDDE4EB F4D4B551 83D385C7 136C9856 646BA8C0 " + "FD62F97A 8A65C9EC 14015C4F 63066CD9 FA0F3D63 8D080DF5 3B6E20C8 4C69105E D56041E4 " + "A2677172 3C03E4D1 4B04D447 D20D85FD A50AB56B 35B5A8FA 42B2986C DBBBC9D6 ACBCF940 " + "32D86CE3 45DF5C75 DCD60DCF ABD13D59 26D930AC 51DE003A C8D75180 BFD06116 21B4F4B5 " + "56B3C423 CFBA9599 B8BDA50F 2802B89E 5F058808 C60CD9B2 B10BE924 2F6F7C87 58684C11 " + "C1611DAB B6662D3D 76DC4190 01DB7106 98D220BC EFD5102A 71B18589 06B6B51F 9FBFE4A5 " + "E8B8D433 7807C9A2 0F00F934 9609A88E E10E9818 7F6A0DBB 086D3D2D 91646C97 E6635C01 " + "6B6B51F4 1C6C6162 856530D8 F262004E 6C0695ED 1B01A57B 8208F4C1 F50FC457 65B0D9C6 " + "12B7E950 8BBEB8EA FCB9887C 62DD1DDF 15DA2D49 8CD37CF3 FBD44C65 4DB26158 3AB551CE " + "A3BC0074 D4BB30E2 4ADFA541 3DD895D7 A4D1C46D D3D6F4FB 4369E96A 346ED9FC AD678846 " + "DA60B8D0 44042D73 33031DE5 AA0A4C5F DD0D7CC9 5005713C 270241AA BE0B1010 C90C2086 " + "5768B525 206F85B3 B966D409 CE61E49F 5EDEF90E 29D9C998 B0D09822 C7D7A8B4 59B33D17 " + "2EB40D81 B7BD5C3B C0BA6CAD EDB88320 9ABFB3B6 03B6E20C 74B1D29A EAD54739 9DD277AF " + "04DB2615 73DC1683 E3630B12 94643B84 0D6D6A3E 7A6A5AA8 E40ECF0B 9309FF9D 0A00AE27 " + "7D079EB1 F00F9344 8708A3D2 1E01F268 6906C2FE F762575D 806567CB 196C3671 6E6B06E7 " + "FED41B76 89D32BE0 10DA7A5A 67DD4ACC F9B9DF6F 8EBEEFF9 17B7BE43 60B08ED5 D6D6A3E8 " + "A1D1937E 38D8C2C4 4FDFF252 D1BB67F1 A6BC5767 3FB506DD 48B2364B D80D2BDA AF0A1B4C " + "36034AF6 41047A60 DF60EFC3 A867DF55 316E8EEF 4669BE79 CB61B38C BC66831A 256FD2A0 " + "5268E236 CC0C7795 BB0B4703 220216B9 5505262F C5BA3BBE B2BD0B28 2BB45A92 5CB36A04 " + "C2D7FFA7 B5D0CF31 2CD99E8B 5BDEAE1D 9B64C2B0 EC63F226 756AA39C 026D930A 9C0906A9 " + "EB0E363F 72076785 05005713 95BF4A82 E2B87A14 7BB12BAE 0CB61B38 92D28E9B E5D5BE0D " + "7CDCEFB7 0BDBDF21 86D3D2D4 F1D4E242 68DDB3F8 1FDA836E 81BE16CD F6B9265B 6FB077E1 " + "18B74777 88085AE6 FF0F6A70 66063BCA 11010B5C 8F659EFF F862AE69 616BFFD3 166CCF45 " + "A00AE278 D70DD2EE 4E048354 3903B3C2 A7672661 D06016F7 4969474D 3E6E77DB AED16A4A " + "D9D65ADC 40DF0B66 37D83BF0 A9BCAE53 DEBB9EC5 47B2CF7F 30B5FFE9 BDBDF21C CABAC28A " + "53B39330 24B4A3A6 BAD03605 CDD70693 54DE5729 23D967BF B3667A2E C4614AB8 5D681B02 " + "2A6F2B94 B40BBE37 C30C8EA1 5A05DF1B 2D02EF8D",
- _ = {
- isXML: function(e) {
- var t = (e ? e.ownerDocument || e : 0).documentElement;
- return t ? t.nodeName !== "HTML" : false
- },
- encode: function(e) {
- if (!this.isXML(e)) {
- return false
- }
- try {
- return (new XMLSerializer).serializeToString(e)
- } catch (t) {
- try {
- return e.xml
- } catch (n) {}
- }
- return false
- },
- decode: function(e) {
- var t = "DOMParser" in window && (new DOMParser).parseFromString || window.ActiveXObject && function(e) {
- var t = new ActiveXObject("Microsoft.XMLDOM");
- t.async = "false";
- t.loadXML(e);
- return t
- },
- n;
- if (!t) {
- return false
- }
- n = t.call("DOMParser" in window && new DOMParser || window, e, "text/xml");
- return this.isXML(n) ? n : false
- }
- },
- D = function() {};
- y.jStorage = {
- version: g,
- set: function(e, t, n) {
- l(e);
- n = n || {};
- if (typeof t == "undefined") {
- this.deleteKey(e);
- return t
- }
- if (_.isXML(t)) {
- t = {
- _is_xml: true,
- xml: _.encode(t)
- }
- } else if (typeof t == "function") {
- return undefined
- } else if (t && typeof t == "object") {
- t = b.parse(b.stringify(t))
- }
- w[e] = t;
- w.__jstorage_meta.CRC32[e] = m(b.stringify(t));
- this.setTTL(e, n.TTL || 0);
- D(e, t);
- o(e, "updated");
- return t
- },
- get: function(e, t) {
- l(e);
- if (e in w) {
- if (w[e] && typeof w[e] == "object" && w[e]._is_xml && w[e]._is_xml) {
- return _.decode(w[e].xml)
- } else {
- return w[e]
- }
- }
- return typeof t == "undefined" ? null : t
- },
- deleteKey: function(e) {
- l(e);
- if (e in w) {
- delete w[e];
- if (typeof w.__jstorage_meta.TTL == "object" && e in w.__jstorage_meta.TTL) {
- delete w.__jstorage_meta.TTL[e]
- }
- delete w.__jstorage_meta.CRC32[e];
- D(e, undefined);
- f();
- u();
- o(e, "deleted");
- return true
- }
- return false
- },
- setTTL: function(e, t) {
- var n = +(new Date);
- l(e);
- t = Number(t) || 0;
- if (e in w) {
- if (!w.__jstorage_meta.TTL) {
- w.__jstorage_meta.TTL = {}
- }
- if (t > 0) {
- w.__jstorage_meta.TTL[e] = n + t
- } else {
- delete w.__jstorage_meta.TTL[e]
- }
- f();
- c();
- u();
- return true
- }
- return false
- },
- getTTL: function(e) {
- var t = +(new Date),
- n;
- l(e);
- if (e in w && w.__jstorage_meta.TTL && w.__jstorage_meta.TTL[e]) {
- n = w.__jstorage_meta.TTL[e] - t;
- return n || 0
- }
- return 0
- },
- flush: function() {
- w = {
- __jstorage_meta: {
- CRC32: {}
- }
- };
- t("local", true);
- f();
- u();
- o(null, "flushed");
- return true
- },
- storageObj: function() {
- function e() {}
- e.prototype = w;
- return new e
- },
- index: function() {
- var e = [],
- t;
- for (t in w) {
- if (w.hasOwnProperty(t) && t != "__jstorage_meta") {
- e.push(t)
- }
- }
- return e
- },
- storageSize: function() {
- return x
- },
- currentBackend: function() {
- return T
- },
- storageAvailable: function() {
- return !!T
- },
- listenKeyChange: function(e, t) {
- l(e);
- if (!N[e]) {
- N[e] = []
- }
- N[e].push(t)
- },
- stopListening: function(e, t) {
- l(e);
- if (!N[e]) {
- return
- }
- if (!t) {
- delete N[e];
- return
- }
- for (var n = N[e].length - 1; n >= 0; n--) {
- if (N[e][n] == t) {
- N[e].splice(n, 1)
- }
- }
- },
- subscribe: function(e, t) {
- e = (e || "").toString();
- if (!e) {
- throw new TypeError("Channel not defined")
- }
- if (!L[e]) {
- L[e] = []
- }
- L[e].push(t)
- },
- publish: function(e, t) {
- e = (e || "").toString();
- if (!e) {
- throw new TypeError("Channel not defined")
- }
- v(e, t)
- },
- reInit: function() {
- n()
- }
- };
- e()
- })();
- jQuery.fn.extend({
- everyTime: function(e, t, n, r) {
- return this.each(function() {
- jQuery.timer.add(this, e, t, n, r)
- })
- },
- oneTime: function(e, t, n) {
- return this.each(function() {
- jQuery.timer.add(this, e, t, n, 1)
- })
- },
- stopTime: function(e, t) {
- return this.each(function() {
- jQuery.timer.remove(this, e, t)
- })
- }
- });
- jQuery.extend({
- timer: {
- global: [],
- guid: 1,
- dataKey: "jQuery.timer",
- regex: /^([0-9]+(?:\.[0-9]*)?)\s*(.*s)?$/,
- powers: {
- ms: 1,
- cs: 10,
- ds: 100,
- s: 1e3,
- das: 1e4,
- hs: 1e5,
- ks: 1e6
- },
- timeParse: function(e) {
- if (e == undefined || e == null) return null;
- var t = this.regex.exec(jQuery.trim(e.toString()));
- return t[2] ? parseFloat(t[1]) * (this.powers[t[2]] || 1) : e
- },
- add: function(e, t, n, r, i) {
- var s = 0;
- if (jQuery.isFunction(n)) {
- i || (i = r);
- r = n;
- n = t
- }
- t = jQuery.timer.timeParse(t);
- if (!(typeof t != "number" || isNaN(t) || t < 0)) {
- if (typeof i != "number" || isNaN(i) || i < 0) i = 0;
- i = i || 0;
- var o = jQuery.data(e, this.dataKey) || jQuery.data(e, this.dataKey, {});
- o[n] || (o[n] = {});
- r.timerID = r.timerID || this.guid++;
- var u = function() {
- if (++s > i && i !== 0 || r.call(e, s) === false) jQuery.timer.remove(e, n, r)
- };
- u.timerID = r.timerID;
- o[n][r.timerID] || (o[n][r.timerID] = window.setInterval(u, t));
- this.global.push(e)
- }
- },
- remove: function(e, t, n) {
- var r = jQuery.data(e, this.dataKey),
- i;
- if (r) {
- if (t) {
- if (r[t]) {
- if (n) {
- if (n.timerID) {
- window.clearInterval(r[t][n.timerID]);
- delete r[t][n.timerID]
- }
- } else
- for (n in r[t]) {
- window.clearInterval(r[t][n]);
- delete r[t][n]
- }
- for (i in r[t]) break;
- if (!i) {
- i = null;
- delete r[t]
- }
- }
- } else
- for (t in r) this.remove(e, t, n);
- for (i in r) break;
- i || jQuery.removeData(e, this.dataKey)
- }
- }
- }
- });
- jQuery(window).bind("unload", function() {
- jQuery.each(jQuery.timer.global, function(e, t) {
- jQuery.timer.remove(t)
- })
- });
- (function(e, t) {
- "use strict";
- var n = e.History = e.History || {},
- r = e.jQuery;
- if (typeof n.Adapter != "undefined") throw new Error("History.js Adapter has already been loaded...");
- n.Adapter = {
- bind: function(e, t, n) {
- r(e).bind(t, n)
- },
- trigger: function(e, t, n) {
- r(e).trigger(t, n)
- },
- extractEventData: function(e, n, r) {
- var i = n && n.originalEvent && n.originalEvent[e] || r && r[e] || t;
- return i
- },
- onDomLoad: function(e) {
- r(e)
- }
- }, typeof n.init != "undefined" && n.init()
- })(window);
- (function(e, t) {
- "use strict";
- var n = e.console || t,
- r = e.document,
- i = e.navigator,
- s = e.sessionStorage || false,
- o = e.setTimeout,
- u = e.clearTimeout,
- a = e.setInterval,
- f = e.clearInterval,
- l = e.JSON,
- c = e.alert,
- h = e.History = e.History || {},
- p = e.history;
- l.stringify = l.stringify || l.encode;
- l.parse = l.parse || l.decode;
- if (typeof h.init !== "undefined") {
- throw new Error("History.js Core has already been loaded...")
- }
- h.init = function() {
- if (typeof h.Adapter === "undefined") {
- return false
- }
- if (typeof h.initCore !== "undefined") {
- h.initCore()
- }
- if (typeof h.initHtml4 !== "undefined") {
- h.initHtml4()
- }
- return true
- };
- h.initCore = function() {
- if (typeof h.initCore.initialized !== "undefined") {
- return false
- } else {
- h.initCore.initialized = true
- }
- h.options = h.options || {};
- h.options.hashChangeInterval = h.options.hashChangeInterval || 100;
- h.options.safariPollInterval = h.options.safariPollInterval || 500;
- h.options.doubleCheckInterval = h.options.doubleCheckInterval || 500;
- h.options.storeInterval = h.options.storeInterval || 1e3;
- h.options.busyDelay = h.options.busyDelay || 250;
- h.options.debug = h.options.debug || false;
- h.options.initialTitle = h.options.initialTitle || r.title;
- h.intervalList = [];
- h.clearAllIntervals = function() {
- var e, t = h.intervalList;
- if (typeof t !== "undefined" && t !== null) {
- for (e = 0; e < t.length; e++) {
- f(t[e])
- }
- h.intervalList = null
- }
- };
- h.debug = function() {
- if (h.options.debug || false) {
- h.log.apply(h, arguments)
- }
- };
- h.log = function() {
- var e = !(typeof n === "undefined" || typeof n.log === "undefined" || typeof n.log.apply === "undefined"),
- t = r.getElementById("log"),
- i, s, o, u, a;
- if (e) {
- u = Array.prototype.slice.call(arguments);
- i = u.shift();
- if (typeof n.debug !== "undefined") {
- n.debug.apply(n, [i, u])
- } else {
- n.log.apply(n, [i, u])
- }
- } else {
- i = "\n" + arguments[0] + "\n"
- }
- for (s = 1, o = arguments.length; s < o; ++s) {
- a = arguments[s];
- if (typeof a === "object" && typeof l !== "undefined") {
- try {
- a = l.stringify(a)
- } catch (f) {}
- }
- i += "\n" + a + "\n"
- }
- if (t) {
- t.value += i + "\n-----\n";
- t.scrollTop = t.scrollHeight - t.clientHeight
- } else if (!e) {
- c(i)
- }
- return true
- };
- h.getInternetExplorerMajorVersion = function() {
- var e = h.getInternetExplorerMajorVersion.cached = typeof h.getInternetExplorerMajorVersion.cached !== "undefined" ? h.getInternetExplorerMajorVersion.cached : function() {
- var e = 3,
- t = r.createElement("div"),
- n = t.getElementsByTagName("i");
- while ((t.innerHTML = "<!--[if gt IE " + ++e + "]><i></i><![endif]-->") && n[0]) {}
- return e > 4 ? e : false
- }();
- return e
- };
- h.isInternetExplorer = function() {
- var e = h.isInternetExplorer.cached = typeof h.isInternetExplorer.cached !== "undefined" ? h.isInternetExplorer.cached : Boolean(h.getInternetExplorerMajorVersion());
- return e
- };
- h.emulated = {
- pushState: !Boolean(e.history && e.history.pushState && e.history.replaceState && !(/ Mobile\/([1-7][a-z]|(8([abcde]|f(1[0-8]))))/i.test(i.userAgent) || /AppleWebKit\/5([0-2]|3[0-2])/i.test(i.userAgent))),
- hashChange: Boolean(!("onhashchange" in e || "onhashchange" in r) || h.isInternetExplorer() && h.getInternetExplorerMajorVersion() < 8)
- };
- h.enabled = !h.emulated.pushState;
- h.bugs = {
- setHash: Boolean(!h.emulated.pushState && i.vendor === "Apple Computer, Inc." && /AppleWebKit\/5([0-2]|3[0-3])/.test(i.userAgent)),
- safariPoll: Boolean(!h.emulated.pushState && i.vendor === "Apple Computer, Inc." && /AppleWebKit\/5([0-2]|3[0-3])/.test(i.userAgent)),
- ieDoubleCheck: Boolean(h.isInternetExplorer() && h.getInternetExplorerMajorVersion() < 8),
- hashEscape: Boolean(h.isInternetExplorer() && h.getInternetExplorerMajorVersion() < 7)
- };
- h.isEmptyObject = function(e) {
- for (var t in e) {
- return false
- }
- return true
- };
- h.cloneObject = function(e) {
- var t, n;
- if (e) {
- t = l.stringify(e);
- n = l.parse(t)
- } else {
- n = {}
- }
- return n
- };
- h.getRootUrl = function() {
- var e = r.location.protocol + "//" + (r.location.hostname || r.location.host);
- if (r.location.port || false) {
- e += ":" + r.location.port
- }
- e += "/";
- return e
- };
- h.getBaseHref = function() {
- var e = r.getElementsByTagName("base"),
- t = null,
- n = "";
- if (e.length === 1) {
- t = e[0];
- n = t.href.replace(/[^\/]+$/, "")
- }
- n = n.replace(/\/+$/, "");
- if (n) n += "/";
- return n
- };
- h.getBaseUrl = function() {
- var e = h.getBaseHref() || h.getBasePageUrl() || h.getRootUrl();
- return e
- };
- h.getPageUrl = function() {
- var e = h.getState(false, false),
- t = (e || {}).url || r.location.href,
- n;
- n = t.replace(/\/+$/, "").replace(/[^\/]+$/, function(e, t, n) {
- return /\./.test(e) ? e : e + "/"
- });
- return n
- };
- h.getBasePageUrl = function() {
- var e = r.location.href.replace(/[#\?].*/, "").replace(/[^\/]+$/, function(e, t, n) {
- return /[^\/]$/.test(e) ? "" : e
- }).replace(/\/+$/, "") + "/";
- return e
- };
- h.getFullUrl = function(e, t) {
- var n = e,
- r = e.substring(0, 1);
- t = typeof t === "undefined" ? true : t;
- if (/[a-z]+\:\/\//.test(e)) {} else if (r === "/") {
- n = h.getRootUrl() + e.replace(/^\/+/, "")
- } else if (r === "#") {
- n = h.getPageUrl().replace(/#.*/, "") + e
- } else if (r === "?") {
- n = h.getPageUrl().replace(/[\?#].*/, "") + e
- } else {
- if (t) {
- n = h.getBaseUrl() + e.replace(/^(\.\/)+/, "")
- } else {
- n = h.getBasePageUrl() + e.replace(/^(\.\/)+/, "")
- }
- }
- return n.replace(/\#$/, "")
- };
- h.getShortUrl = function(e) {
- var t = e,
- n = h.getBaseUrl(),
- r = h.getRootUrl();
- if (h.emulated.pushState) {
- t = t.replace(n, "")
- }
- t = t.replace(r, "/");
- if (h.isTraditionalAnchor(t)) {
- t = "./" + t
- }
- t = t.replace(/^(\.\/)+/g, "./").replace(/\#$/, "");
- return t
- };
- h.store = {};
- h.idToState = h.idToState || {};
- h.stateToId = h.stateToId || {};
- h.urlToId = h.urlToId || {};
- h.storedStates = h.storedStates || [];
- h.savedStates = h.savedStates || [];
- h.normalizeStore = function() {
- h.store.idToState = h.store.idToState || {};
- h.store.urlToId = h.store.urlToId || {};
- h.store.stateToId = h.store.stateToId || {}
- };
- h.getState = function(e, t) {
- if (typeof e === "undefined") {
- e = true
- }
- if (typeof t === "undefined") {
- t = true
- }
- var n = h.getLastSavedState();
- if (!n && t) {
- n = h.createStateObject()
- }
- if (e) {
- n = h.cloneObject(n);
- n.url = n.cleanUrl || n.url
- }
- return n
- };
- h.getIdByState = function(e) {
- var t = h.extractId(e.url),
- n;
- if (!t) {
- n = h.getStateString(e);
- if (typeof h.stateToId[n] !== "undefined") {
- t = h.stateToId[n]
- } else if (typeof h.store.stateToId[n] !== "undefined") {
- t = h.store.stateToId[n]
- } else {
- while (true) {
- t = (new Date).getTime() + String(Math.random()).replace(/\D/g, "");
- if (typeof h.idToState[t] === "undefined" && typeof h.store.idToState[t] === "undefined") {
- break
- }
- }
- h.stateToId[n] = t;
- h.idToState[t] = e
- }
- }
- return t
- };
- h.normalizeState = function(e) {
- var t, n;
- if (!e || typeof e !== "object") {
- e = {}
- }
- if (typeof e.normalized !== "undefined") {
- return e
- }
- if (!e.data || typeof e.data !== "object") {
- e.data = {}
- }
- t = {};
- t.normalized = true;
- t.title = e.title || "";
- t.url = h.getFullUrl(h.unescapeString(e.url || r.location.href));
- t.hash = h.getShortUrl(t.url);
- t.data = h.cloneObject(e.data);
- t.id = h.getIdByState(t);
- t.cleanUrl = t.url.replace(/\??\&_suid.*/, "");
- t.url = t.cleanUrl;
- n = !h.isEmptyObject(t.data);
- if (t.title || n) {
- t.hash = h.getShortUrl(t.url).replace(/\??\&_suid.*/, "");
- if (!/\?/.test(t.hash)) {
- t.hash += "?"
- }
- t.hash += "&_suid=" + t.id
- }
- t.hashedUrl = h.getFullUrl(t.hash);
- if ((h.emulated.pushState || h.bugs.safariPoll) && h.hasUrlDuplicate(t)) {
- t.url = t.hashedUrl
- }
- return t
- };
- h.createStateObject = function(e, t, n) {
- var r = {
- data: e,
- title: t,
- url: n
- };
- r = h.normalizeState(r);
- return r
- };
- h.getStateById = function(e) {
- e = String(e);
- var n = h.idToState[e] || h.store.idToState[e] || t;
- return n
- };
- h.getStateString = function(e) {
- var t, n, r;
- t = h.normalizeState(e);
- n = {
- data: t.data,
- title: e.title,
- url: e.url
- };
- r = l.stringify(n);
- return r
- };
- h.getStateId = function(e) {
- var t, n;
- t = h.normalizeState(e);
- n = t.id;
- return n
- };
- h.getHashByState = function(e) {
- var t, n;
- t = h.normalizeState(e);
- n = t.hash;
- return n
- };
- h.extractId = function(e) {
- var t, n, r;
- n = /(.*)\&_suid=([0-9]+)$/.exec(e);
- r = n ? n[1] || e : e;
- t = n ? String(n[2] || "") : "";
- return t || false
- };
- h.isTraditionalAnchor = function(e) {
- var t = !/[\/\?\.]/.test(e);
- return t
- };
- h.extractState = function(e, t) {
- var n = null,
- r, i;
- t = t || false;
- r = h.extractId(e);
- if (r) {
- n = h.getStateById(r)
- }
- if (!n) {
- i = h.getFullUrl(e);
- r = h.getIdByUrl(i) || false;
- if (r) {
- n = h.getStateById(r)
- }
- if (!n && t && !h.isTraditionalAnchor(e)) {
- n = h.createStateObject(null, null, i)
- }
- }
- return n
- };
- h.getIdByUrl = function(e) {
- var n = h.urlToId[e] || h.store.urlToId[e] || t;
- return n
- };
- h.getLastSavedState = function() {
- return h.savedStates[h.savedStates.length - 1] || t
- };
- h.getLastStoredState = function() {
- return h.storedStates[h.storedStates.length - 1] || t
- };
- h.hasUrlDuplicate = function(e) {
- var t = false,
- n;
- n = h.extractState(e.url);
- t = n && n.id !== e.id;
- return t
- };
- h.storeState = function(e) {
- h.urlToId[e.url] = e.id;
- h.storedStates.push(h.cloneObject(e));
- return e
- };
- h.isLastSavedState = function(e) {
- var t = false,
- n, r, i;
- if (h.savedStates.length) {
- n = e.id;
- r = h.getLastSavedState();
- i = r.id;
- t = n === i
- }
- return t
- };
- h.saveState = function(e) {
- if (h.isLastSavedState(e)) {
- return false
- }
- h.savedStates.push(h.cloneObject(e));
- return true
- };
- h.getStateByIndex = function(e) {
- var t = null;
- if (typeof e === "undefined") {
- t = h.savedStates[h.savedStates.length - 1]
- } else if (e < 0) {
- t = h.savedStates[h.savedStates.length + e]
- } else {
- t = h.savedStates[e]
- }
- return t
- };
- h.getHash = function() {
- var e = h.unescapeHash(r.location.hash);
- return e
- };
- h.unescapeString = function(t) {
- var n = t,
- r;
- while (true) {
- r = e.unescape(n);
- if (r === n) {
- break
- }
- n = r
- }
- return n
- };
- h.unescapeHash = function(e) {
- var t = h.normalizeHash(e);
- t = h.unescapeString(t);
- return t
- };
- h.normalizeHash = function(e) {
- var t = e.replace(/[^#]*#/, "").replace(/#.*/, "");
- return t
- };
- h.setHash = function(e, t) {
- var n, i, s;
- if (t !== false && h.busy()) {
- h.pushQueue({
- scope: h,
- callback: h.setHash,
- args: arguments,
- queue: t
- });
- return false
- }
- n = h.escapeHash(e);
- h.busy(true);
- i = h.extractState(e, true);
- if (i && !h.emulated.pushState) {
- h.pushState(i.data, i.title, i.url, false)
- } else if (r.location.hash !== n) {
- if (h.bugs.setHash) {
- s = h.getPageUrl();
- h.pushState(null, null, s + "#" + n, false)
- } else {
- r.location.hash = n
- }
- }
- return h
- };
- h.escapeHash = function(t) {
- var n = h.normalizeHash(t);
- n = e.escape(n);
- if (!h.bugs.hashEscape) {
- n = n.replace(/\%21/g, "!").replace(/\%26/g, "&").replace(/\%3D/g, "=").replace(/\%3F/g, "?")
- }
- return n
- };
- h.getHashByUrl = function(e) {
- var t = String(e).replace(/([^#]*)#?([^#]*)#?(.*)/, "$2");
- t = h.unescapeHash(t);
- return t
- };
- h.setTitle = function(e) {
- var t = e.title,
- n;
- if (!t) {
- n = h.getStateByIndex(0);
- if (n && n.url === e.url) {
- t = n.title || h.options.initialTitle
- }
- }
- try {
- r.getElementsByTagName("title")[0].innerHTML = t.replace("<", "<").replace(">", ">").replace(" & ", " & ")
- } catch (i) {}
- r.title = t;
- return h
- };
- h.queues = [];
- h.busy = function(e) {
- if (typeof e !== "undefined") {
- h.busy.flag = e
- } else if (typeof h.busy.flag === "undefined") {
- h.busy.flag = false
- }
- if (!h.busy.flag) {
- u(h.busy.timeout);
- var t = function() {
- var e, n, r;
- if (h.busy.flag) return;
- for (e = h.queues.length - 1; e >= 0; --e) {
- n = h.queues[e];
- if (n.length === 0) continue;
- r = n.shift();
- h.fireQueueItem(r);
- h.busy.timeout = o(t, h.options.busyDelay)
- }
- };
- h.busy.timeout = o(t, h.options.busyDelay)
- }
- return h.busy.flag
- };
- h.busy.flag = false;
- h.fireQueueItem = function(e) {
- return e.callback.apply(e.scope || h, e.args || [])
- };
- h.pushQueue = function(e) {
- h.queues[e.queue || 0] = h.queues[e.queue || 0] || [];
- h.queues[e.queue || 0].push(e);
- return h
- };
- h.queue = function(e, t) {
- if (typeof e === "function") {
- e = {
- callback: e
- }
- }
- if (typeof t !== "undefined") {
- e.queue = t
- }
- if (h.busy()) {
- h.pushQueue(e)
- } else {
- h.fireQueueItem(e)
- }
- return h
- };
- h.clearQueue = function() {
- h.busy.flag = false;
- h.queues = [];
- return h
- };
- h.stateChanged = false;
- h.doubleChecker = false;
- h.doubleCheckComplete = function() {
- h.stateChanged = true;
- h.doubleCheckClear();
- return h
- };
- h.doubleCheckClear = function() {
- if (h.doubleChecker) {
- u(h.doubleChecker);
- h.doubleChecker = false
- }
- return h
- };
- h.doubleCheck = function(e) {
- h.stateChanged = false;
- h.doubleCheckClear();
- if (h.bugs.ieDoubleCheck) {
- h.doubleChecker = o(function() {
- h.doubleCheckClear();
- if (!h.stateChanged) {
- e()
- }
- return true
- }, h.options.doubleCheckInterval)
- }
- return h
- };
- h.safariStatePoll = function() {
- var t = h.extractState(r.location.href),
- n;
- if (!h.isLastSavedState(t)) {
- n = t
- } else {
- return
- }
- if (!n) {
- n = h.createStateObject()
- }
- h.Adapter.trigger(e, "popstate");
- return h
- };
- h.back = function(e) {
- if (e !== false && h.busy()) {
- h.pushQueue({
- scope: h,
- callback: h.back,
- args: arguments,
- queue: e
- });
- return false
- }
- h.busy(true);
- h.doubleCheck(function() {
- h.back(false)
- });
- p.go(-1);
- return true
- };
- h.forward = function(e) {
- if (e !== false && h.busy()) {
- h.pushQueue({
- scope: h,
- callback: h.forward,
- args: arguments,
- queue: e
- });
- return false
- }
- h.busy(true);
- h.doubleCheck(function() {
- h.forward(false)
- });
- p.go(1);
- return true
- };
- h.go = function(e, t) {
- var n;
- if (e > 0) {
- for (n = 1; n <= e; ++n) {
- h.forward(t)
- }
- } else if (e < 0) {
- for (n = -1; n >= e; --n) {
- h.back(t)
- }
- } else {
- throw new Error("History.go: History.go requires a positive or negative integer passed.")
- }
- return h
- };
- if (h.emulated.pushState) {
- var d = function() {};
- h.pushState = h.pushState || d;
- h.replaceState = h.replaceState || d
- } else {
- h.onPopState = function(t, n) {
- var i = false,
- s = false,
- o, u;
- h.doubleCheckComplete();
- o = h.getHash();
- if (o) {
- u = h.extractState(o || r.location.href, true);
- if (u) {
- h.replaceState(u.data, u.title, u.url, false)
- } else {
- h.Adapter.trigger(e, "anchorchange");
- h.busy(false)
- }
- h.expectedStateId = false;
- return false
- }
- i = h.Adapter.extractEventData("state", t, n) || false;
- if (i) {
- s = h.getStateById(i)
- } else if (h.expectedStateId) {
- s = h.getStateById(h.expectedStateId)
- } else {
- s = h.extractState(r.location.href)
- }
- if (!s) {
- s = h.createStateObject(null, null, r.location.href)
- }
- h.expectedStateId = false;
- if (h.isLastSavedState(s)) {
- h.busy(false);
- return false
- }
- h.storeState(s);
- h.saveState(s);
- h.setTitle(s);
- h.Adapter.trigger(e, "statechange");
- h.busy(false);
- return true
- };
- h.Adapter.bind(e, "popstate", h.onPopState);
- h.pushState = function(t, n, r, i) {
- if (h.getHashByUrl(r) && h.emulated.pushState) {
- throw new Error("History.js does not support states with fragement-identifiers (hashes/anchors).")
- }
- if (i !== false && h.busy()) {
- h.pushQueue({
- scope: h,
- callback: h.pushState,
- args: arguments,
- queue: i
- });
- return false
- }
- h.busy(true);
- var s = h.createStateObject(t, n, r);
- if (h.isLastSavedState(s)) {
- h.busy(false)
- } else {
- h.storeState(s);
- h.expectedStateId = s.id;
- p.pushState(s.id, s.title, r);
- h.Adapter.trigger(e, "popstate")
- }
- return true
- };
- h.replaceState = function(t, n, r, i) {
- if (h.getHashByUrl(r) && h.emulated.pushState) {
- throw new Error("History.js does not support states with fragement-identifiers (hashes/anchors).")
- }
- if (i !== false && h.busy()) {
- h.pushQueue({
- scope: h,
- callback: h.replaceState,
- args: arguments,
- queue: i
- });
- return false
- }
- h.busy(true);
- var s = h.createStateObject(t, n, r);
- if (h.isLastSavedState(s)) {
- h.busy(false)
- } else {
- h.storeState(s);
- h.expectedStateId = s.id;
- p.replaceState(s.id, s.title, s.url);
- h.Adapter.trigger(e, "popstate")
- }
- return true
- }
- }
- if (s) {
- try {
- h.store = l.parse(s.getItem("History.store")) || {}
- } catch (v) {
- h.store = {}
- }
- h.normalizeStore()
- } else {
- h.store = {};
- h.normalizeStore()
- }
- h.Adapter.bind(e, "beforeunload", h.clearAllIntervals);
- h.Adapter.bind(e, "unload", h.clearAllIntervals);
- h.saveState(h.storeState(h.extractState(r.location.href, true)));
- if (s) {
- h.onUnload = function() {
- var e, t;
- try {
- e = l.parse(s.getItem("History.store")) || {}
- } catch (n) {
- e = {}
- }
- e.idToState = e.idToState || {};
- e.urlToId = e.urlToId || {};
- e.stateToId = e.stateToId || {};
- for (t in h.idToState) {
- if (!h.idToState.hasOwnProperty(t)) {
- continue
- }
- e.idToState[t] = h.idToState[t]
- }
- for (t in h.urlToId) {
- if (!h.urlToId.hasOwnProperty(t)) {
- continue
- }
- e.urlToId[t] = h.urlToId[t]
- }
- for (t in h.stateToId) {
- if (!h.stateToId.hasOwnProperty(t)) {
- continue
- }
- e.stateToId[t] = h.stateToId[t]
- }
- h.store = e;
- h.normalizeStore();
- s.setItem("History.store", l.stringify(e))
- };
- h.intervalList.push(a(h.onUnload, h.options.storeInterval));
- h.Adapter.bind(e, "beforeunload", h.onUnload);
- h.Adapter.bind(e, "unload", h.onUnload)
- }
- if (!h.emulated.pushState) {
- if (h.bugs.safariPoll) {
- h.intervalList.push(a(h.safariStatePoll, h.options.safariPollInterval))
- }
- if (i.vendor === "Apple Computer, Inc." || (i.appCodeName || "") === "Mozilla") {
- h.Adapter.bind(e, "hashchange", function() {
- h.Adapter.trigger(e, "popstate")
- });
- if (h.getHash()) {
- h.Adapter.onDomLoad(function() {
- h.Adapter.trigger(e, "hashchange")
- })
- }
- }
- }
- };
- h.init()
- })(window);
- (function(e, t) {
- var n = e.History,
- r = e.jQuery,
- i = e.document;
- if (!n.enabled) {
- return false
- }
- r(function() {
- var t = "#xx1,#content,article:first,.article:first,.post:first",
- s = r(t).filter(":first"),
- o = s.get(0),
- u = r("#menu,#nav,nav:first,.nav:first").filter(":first"),
- a = "active selected current youarehere",
- f = ".active,.selected,.current,.youarehere",
- l = "> li,> ul > li",
- c = r(i.body),
- h = n.getRootUrl(),
- p = {
- duration: 800,
- easing: "swing"
- };
- if (s.length === 0) {
- s = c
- }
- r.expr[":"].internal = function(e, t, n, i) {
- var s = r(e),
- o = s.attr("href") || "",
- u;
- u = o.substring(0, h.length) === h || o.indexOf(":") === -1;
- return u
- };
- var d = function(e) {
- var t = String(e).replace(/<\!DOCTYPE[^>]*>/i, "").replace(/<(html|head|body|title|meta|script)([\s\>])/gi, '<div class="document-$1"$2').replace(/<\/(html|head|body|title|meta|script)\>/gi, "</div>");
- return t
- };
- r.fn.ajaxify = function() {
- var t = r(this);
- t.find("a:internal:not(.no-ajaxy)").click(function(t) {
- var s = r(this),
- o = s.attr("href"),
- u = s.attr("title") || null;
- if (t.which == 2 || t.metaKey) {
- return true
- }
- e.custom_ref = i.location.href;
- n.pushState(null, u, o);
- t.preventDefault();
- return false
- });
- return t
- };
- c.ajaxify();
- r(e).bind("statechange", function() {
- var p = n.getState(),
- v = e.location.href;
- relativeUrl = v.replace(h, "");
- c.addClass("loading");
- s.animate({
- opacity: .7
- }, 100);
- r.ajax({
- url: v,
- complete: function(n) {
- var h = r(d(n.responseText)),
- p = h.find(".document-body:first"),
- m = p.find(t).filter(":first"),
- g, y, b;
- b = m.find(".document-script");
- if (b.length) {
- b.detach()
- }
- y = m.html() || h.html();
- if (!y) {
- i.location.href = v;
- return false
- }
- g = u.find(l);
- g.filter(f).removeClass(a);
- g = g.has('a[href^="' + relativeUrl + '"],a[href^="/' + relativeUrl + '"],a[href^="' + v + '"]');
- if (g.length === 1) {
- g.addClass(a)
- }
- s.stop(true, true);
- s.html(y).ajaxify().css("opacity", 100).show();
- i.title = h.find(".document-title:first").text();
- try {
- i.getElementsByTagName("title")[0].innerHTML = i.title.replace("<", "<").replace(">", ">").replace(" & ", " & ")
- } catch (w) {}
- b.each(function() {
- var e = r(this),
- t = e.text(),
- n = i.createElement("script");
- n.appendChild(i.createTextNode(t));
- o.appendChild(n)
- });
- c.removeClass("loading");
- gettune.history();
- if (typeof e.pageTracker !== "undefined") {
- e.pageTracker._trackPageview(relativeUrl)
- }
- r("div.nano").nanoScroller({
- stop: true
- }).nanoScroller()
- }
- })
- })
- })
- })(window);
- var SM = soundManager,
- player = null;
- jQuery(document).ready(function() {
- player = new Player;
- player.init()
- });
- jQuery(document).ready(function() {
- gettune = new GetTune;
- gettune.init()
- })
Add Comment
Please, Sign In to add comment