1/* ========================================================== 2 * bootstrap-twipsy.js v1.3.0 3 * http://twitter.github.com/bootstrap/javascript.html#twipsy 4 * Adapted from the original jQuery.tipsy by Jason Frame 5 * ========================================================== 6 * Copyright 2011 Twitter, Inc. 7 * 8 * Licensed under the Apache License, Version 2.0 (the "License"); 9 * you may not use this file except in compliance with the License. 10 * You may obtain a copy of the License at 11 * 12 * http://www.apache.org/licenses/LICENSE-2.0 13 * 14 * Unless required by applicable law or agreed to in writing, software 15 * distributed under the License is distributed on an "AS IS" BASIS, 16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 * See the License for the specific language governing permissions and 18 * limitations under the License. 19 * ========================================================== */ 20 21 22!function( $ ) { 23 24 /* CSS TRANSITION SUPPORT (https://gist.github.com/373874) 25 * ======================================================= */ 26 27 var transitionEnd 28 29 $(document).ready(function () { 30 31 $.support.transition = (function () { 32 var thisBody = document.body || document.documentElement 33 , thisStyle = thisBody.style 34 , support = thisStyle.transition !== undefined || thisStyle.WebkitTransition !== undefined || thisStyle.MozTransition !== undefined || thisStyle.MsTransition !== undefined || thisStyle.OTransition !== undefined 35 return support 36 })() 37 38 // set CSS transition event type 39 if ( $.support.transition ) { 40 transitionEnd = "TransitionEnd" 41 if ( $.browser.webkit ) { 42 transitionEnd = "webkitTransitionEnd" 43 } else if ( $.browser.mozilla ) { 44 transitionEnd = "transitionend" 45 } else if ( $.browser.opera ) { 46 transitionEnd = "oTransitionEnd" 47 } 48 } 49 50 }) 51 52 53 /* TWIPSY PUBLIC CLASS DEFINITION 54 * ============================== */ 55 56 var Twipsy = function ( element, options ) { 57 this.$element = $(element) 58 this.options = options 59 this.enabled = true 60 this.fixTitle() 61 } 62 63 Twipsy.prototype = { 64 65 show: function() { 66 var pos 67 , actualWidth 68 , actualHeight 69 , placement 70 , $tip 71 , tp 72 73 if (this.getTitle() && this.enabled) { 74 $tip = this.tip() 75 this.setContent() 76 77 if (this.options.animate) { 78 $tip.addClass('fade') 79 } 80 81 $tip 82 .remove() 83 .css({ top: 0, left: 0, display: 'block' }) 84 .prependTo(document.body) 85 86 pos = $.extend({}, this.$element.offset(), { 87 width: this.$element[0].offsetWidth 88 , height: this.$element[0].offsetHeight 89 }) 90 91 actualWidth = $tip[0].offsetWidth 92 actualHeight = $tip[0].offsetHeight 93 94 placement = maybeCall(this.options.placement, this, [ $tip[0], this.$element[0] ]) 95 96 switch (placement) { 97 case 'below': 98 tp = {top: pos.top + pos.height + this.options.offset, left: pos.left + pos.width / 2 - actualWidth / 2} 99 break 100 case 'above': 101 tp = {top: pos.top - actualHeight - this.options.offset, left: pos.left + pos.width / 2 - actualWidth / 2} 102 break 103 case 'left': 104 tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth - this.options.offset} 105 break 106 case 'right': 107 tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width + this.options.offset} 108 break 109 } 110 111 $tip 112 .css(tp) 113 .addClass(placement) 114 .addClass('in') 115 } 116 } 117 118 , setContent: function () { 119 var $tip = this.tip() 120 $tip.find('.twipsy-inner')[this.options.html ? 'html' : 'text'](this.getTitle()) 121 $tip[0].className = 'twipsy' 122 } 123 124 , hide: function() { 125 var that = this 126 , $tip = this.tip() 127 128 $tip.removeClass('in') 129 130 function removeElement () { 131 $tip.remove() 132 } 133 134 $.support.transition && this.$tip.hasClass('fade') ? 135 $tip.bind(transitionEnd, removeElement) : 136 removeElement() 137 } 138 139 , fixTitle: function() { 140 var $e = this.$element 141 if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') { 142 $e.attr('data-original-title', $e.attr('title') || '').removeAttr('title') 143 } 144 } 145 146 , getTitle: function() { 147 var title 148 , $e = this.$element 149 , o = this.options 150 151 this.fixTitle() 152 153 if (typeof o.title == 'string') { 154 title = $e.attr(o.title == 'title' ? 'data-original-title' : o.title) 155 } else if (typeof o.title == 'function') { 156 title = o.title.call($e[0]) 157 } 158 159 title = ('' + title).replace(/(^\s*|\s*$)/, "") 160 161 return title || o.fallback 162 } 163 164 , tip: function() { 165 if (!this.$tip) { 166 this.$tip = $('<div class="twipsy" />').html('<div class="twipsy-arrow"></div><div class="twipsy-inner"></div>') 167 } 168 return this.$tip 169 } 170 171 , validate: function() { 172 if (!this.$element[0].parentNode) { 173 this.hide() 174 this.$element = null 175 this.options = null 176 } 177 } 178 179 , enable: function() { 180 this.enabled = true 181 } 182 183 , disable: function() { 184 this.enabled = false 185 } 186 187 , toggleEnabled: function() { 188 this.enabled = !this.enabled 189 } 190 191 } 192 193 194 /* TWIPSY PRIVATE METHODS 195 * ====================== */ 196 197 function maybeCall ( thing, ctx, args ) { 198 return typeof thing == 'function' ? thing.apply(ctx, args) : thing 199 } 200 201 /* TWIPSY PLUGIN DEFINITION 202 * ======================== */ 203 204 $.fn.twipsy = function (options) { 205 $.fn.twipsy.initWith.call(this, options, Twipsy, 'twipsy') 206 return this 207 } 208 209 $.fn.twipsy.initWith = function (options, Constructor, name) { 210 var twipsy 211 , binder 212 , eventIn 213 , eventOut 214 215 if (options === true) { 216 return this.data(name) 217 } else if (typeof options == 'string') { 218 twipsy = this.data(name) 219 if (twipsy) { 220 twipsy[options]() 221 } 222 return this 223 } 224 225 options = $.extend({}, $.fn[name].defaults, options) 226 227 function get(ele) { 228 var twipsy = $.data(ele, name) 229 230 if (!twipsy) { 231 twipsy = new Constructor(ele, $.fn.twipsy.elementOptions(ele, options)) 232 $.data(ele, name, twipsy) 233 } 234 235 return twipsy 236 } 237 238 function enter() { 239 var twipsy = get(this) 240 twipsy.hoverState = 'in' 241 242 if (options.delayIn == 0) { 243 twipsy.show() 244 } else { 245 twipsy.fixTitle() 246 setTimeout(function() { 247 if (twipsy.hoverState == 'in') { 248 twipsy.show() 249 } 250 }, options.delayIn) 251 } 252 } 253 254 function leave() { 255 var twipsy = get(this) 256 twipsy.hoverState = 'out' 257 if (options.delayOut == 0) { 258 twipsy.hide() 259 } else { 260 setTimeout(function() { 261 if (twipsy.hoverState == 'out') { 262 twipsy.hide() 263 } 264 }, options.delayOut) 265 } 266 } 267 268 if (!options.live) { 269 this.each(function() { 270 get(this) 271 }) 272 } 273 274 if (options.trigger != 'manual') { 275 binder = options.live ? 'live' : 'bind' 276 eventIn = options.trigger == 'hover' ? 'mouseenter' : 'focus' 277 eventOut = options.trigger == 'hover' ? 'mouseleave' : 'blur' 278 this[binder](eventIn, enter)[binder](eventOut, leave) 279 } 280 281 return this 282 } 283 284 $.fn.twipsy.Twipsy = Twipsy 285 286 $.fn.twipsy.defaults = { 287 animate: true 288 , delayIn: 0 289 , delayOut: 0 290 , fallback: '' 291 , placement: 'above' 292 , html: false 293 , live: false 294 , offset: 0 295 , title: 'title' 296 , trigger: 'hover' 297 } 298 299 $.fn.twipsy.elementOptions = function(ele, options) { 300 return $.metadata ? $.extend({}, options, $(ele).metadata()) : options 301 } 302 303}( window.jQuery || window.ender ); 304 305/* ===========================================================
306 * bootstrap-popover.js v1.3.0 307 * http://twitter.github.com/bootstrap/javascript.html#popover 308 * =========================================================== 309 * Copyright 2011 Twitter, Inc. 310 * 311 * Licensed under the Apache License, Version 2.0 (the "License"); 312 * you may not use this file except in compliance with the License. 313 * You may obtain a copy of the License at 314 * 315 * http://www.apache.org/licenses/LICENSE-2.0 316 * 317 * Unless required by applicable law or agreed to in writing, software 318 * distributed under the License is distributed on an "AS IS" BASIS, 319 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 320 * See the License for the specific language governing permissions and 321 * limitations under the License. 322 * =========================================================== */ 323 324 325!function( $ ) { 326 327 var Popover = function ( element, options ) { 328 this.$element = $(element) 329 this.options = options 330 this.enabled = true 331 this.fixTitle() 332 } 333 334 /* NOTE: POPOVER EXTENDS BOOTSTRAP-TWIPSY.js 335 ========================================= */ 336 337 Popover.prototype = $.extend({}, $.fn.twipsy.Twipsy.prototype, { 338 339 setContent: function () { 340 var $tip = this.tip() 341 $tip.find('.content p')[this.options.html ? 'html' : 'text'](this.getContent()) 342 $tip[0].className = 'popover' 343 } 344 345 , getContent: function () { 346 var content 347 , $e = this.$element 348 , o = this.options 349 350 if (typeof this.options.content == 'string') { 351 content = $e.attr(o.content) 352 } else if (typeof this.options.content == 'function') { 353 content = this.options.content.call(this.$element[0]) 354 } 355 return content 356 } 357 358 , tip: function() { 359 if (!this.$tip) { 360 this.$tip = $('<div class="popover" />') 361 .html('<div class="arrow"></div><div class="inner"><div class="content"><p></p></div></div>') 362 } 363 return this.$tip 364 } 365 366 }) 367 368 369 /* POPOVER PLUGIN DEFINITION 370 * ======================= */ 371 372 $.fn.popover = function (options) { 373 if (typeof options == 'object') options = $.extend({}, $.fn.popover.defaults, options) 374 $.fn.twipsy.initWith.call(this, options, Popover, 'popover') 375 return this 376 } 377 378 $.fn.popover.defaults = $.extend({} , $.fn.twipsy.defaults, { content: 'data-content', placement: 'right'}) 379 380}( window.jQuery || window.ender ); 381 382/* ========================================================= 383 * bootstrap-modal.js v1.3.0 384 * http://twitter.github.com/bootstrap/javascript.html#modal 385 * ========================================================= 386 * Copyright 2011 Twitter, Inc. 387 * 388 * Licensed under the Apache License, Version 2.0 (the "License"); 389 * you may not use this file except in compliance with the License. 390 * You may obtain a copy of the License at 391 * 392 * http://www.apache.org/licenses/LICENSE-2.0 393 * 394 * Unless required by applicable law or agreed to in writing, software 395 * distributed under the License is distributed on an "AS IS" BASIS, 396 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 397 * See the License for the specific language governing permissions and 398 * limitations under the License. 399 * ========================================================= */ 400 401 402!function( $ ){ 403 404 /* CSS TRANSITION SUPPORT (https://gist.github.com/373874) 405 * ======================================================= */ 406 407 var transitionEnd 408 409 $(document).ready(function () { 410 411 $.support.transition = (function () { 412 var thisBody = document.body || document.documentElement 413 , thisStyle = thisBody.style 414 , support = thisStyle.transition !== undefined || thisStyle.WebkitTransition !== undefined || thisStyle.MozTransition !== undefined || thisStyle.MsTransition !== undefined || thisStyle.OTransition !== undefined 415 return support 416 })() 417 418 // set CSS transition event type 419 if ( $.support.transition ) { 420 transitionEnd = "TransitionEnd" 421 if ( $.browser.webkit ) { 422 transitionEnd = "webkitTransitionEnd" 423 } else if ( $.browser.mozilla ) { 424 transitionEnd = "transitionend" 425 } else if ( $.browser.opera ) { 426 transitionEnd = "oTransitionEnd" 427 } 428 } 429 430 }) 431 432 433 /* MODAL PUBLIC CLASS DEFINITION 434 * ============================= */ 435 436 var Modal = function ( content, options ) { 437 this.settings = $.extend({}, $.fn.modal.defaults, options) 438 this.$element = $(content) 439 .delegate('.close', 'click.modal', $.proxy(this.hide, this)) 440 441 if ( this.settings.show ) { 442 this.show() 443 } 444 445 return this 446 } 447 448 Modal.prototype = { 449 450 toggle: function () { 451 return this[!this.isShown ? 'show' : 'hide']() 452 } 453 454 , show: function () { 455 var that = this 456 this.isShown = true 457 this.$element.trigger('show') 458 459 escape.call(this) 460 backdrop.call(this, function () { 461 var transition = $.support.transition && that.$element.hasClass('fade') 462 463 that.$element 464 .appendTo(document.body) 465 .show() 466 467 if (transition) { 468 that.$element[0].offsetWidth // force reflow 469 } 470 471 that.$element 472 .addClass('in') 473 474 transition ? 475 that.$element.one(transitionEnd, function () { that.$element.trigger('shown') }) : 476 that.$element.trigger('shown') 477 478 }) 479 480 return this 481 } 482 483 , hide: function (e) { 484 e && e.preventDefault() 485 486 if ( !this.isShown ) { 487 return this 488 } 489 490 var that = this 491 this.isShown = false 492 493 escape.call(this) 494 495 this.$element 496 .trigger('hide') 497 .removeClass('in') 498 499 function removeElement () { 500 that.$element 501 .hide() 502 .trigger('hidden') 503 504 backdrop.call(that) 505 } 506 507 $.support.transition && this.$element.hasClass('fade') ? 508 this.$element.one(transitionEnd, removeElement) : 509 removeElement() 510 511 return this 512 } 513 514 } 515 516 517 /* MODAL PRIVATE METHODS 518 * ===================== */ 519 520 function backdrop ( callback ) { 521 var that = this 522 , animate = this.$element.hasClass('fade') ? 'fade' : '' 523 if ( this.isShown && this.settings.backdrop ) { 524 var doAnimate = $.support.transition && animate 525 526 this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />') 527 .appendTo(document.body) 528 529 if ( this.settings.backdrop != 'static' ) { 530 this.$backdrop.click($.proxy(this.hide, this)) 531 } 532 533 if ( doAnimate ) { 534 this.$backdrop[0].offsetWidth // force reflow 535 } 536 537 this.$backdrop.addClass('in') 538 539 doAnimate ? 540 this.$backdrop.one(transitionEnd, callback) : 541 callback() 542 543 } else if ( !this.isShown && this.$backdrop ) { 544 this.$backdrop.removeClass('in') 545 546 function removeElement() { 547 that.$backdrop.remove() 548 that.$backdrop = null 549 } 550 551 $.support.transition && this.$element.hasClass('fade')? 552 this.$backdrop.one(transitionEnd, removeElement) : 553 removeElement() 554 } else if ( callback ) { 555 callback() 556 } 557 } 558 559 function escape() { 560 var that = this 561 if ( this.isShown && this.settings.keyboard ) { 562 $(document).bind('keyup.modal', function ( e ) { 563 if ( e.which == 27 ) { 564 that.hide() 565 } 566 }) 567 } else if ( !this.isShown ) { 568 $(document).unbind('keyup.modal') 569 } 570 } 571 572 573 /* MODAL PLUGIN DEFINITION 574 * ======================= */ 575 576 $.fn.modal = function ( options ) { 577 var modal = this.data('modal') 578 579 if (!modal) { 580 581 if (typeof options == 'string') { 582 options = { 583 show: /show|toggle/.test(options) 584 } 585 } 586 587 return this.each(function () { 588 $(this).data('modal', new Modal(this, options)) 589 }) 590 } 591 592 if ( options === true ) { 593 return modal 594 } 595 596 if ( typeof options == 'string' ) { 597 modal[options]() 598 } else if ( modal ) {
599 modal.toggle() 600 } 601 602 return this 603 } 604 605 $.fn.modal.Modal = Modal 606 607 $.fn.modal.defaults = { 608 backdrop: false 609 , keyboard: false 610 , show: false 611 } 612 613 614 /* MODAL DATA- IMPLEMENTATION 615 * ========================== */ 616 617 $(document).ready(function () { 618 $('body').delegate('[data-controls-modal]', 'click', function (e) { 619 e.preventDefault() 620 var $this = $(this).data('show', true) 621 $('#' + $this.attr('data-controls-modal')).modal( $this.data() ) 622 }) 623 }) 624 625}( window.jQuery || window.ender ); 626 627/* ======================================================== 628 * bootstrap-tabs.js v1.4.0 629 * http://twitter.github.com/bootstrap/javascript.html#tabs 630 * ======================================================== 631 * Copyright 2011 Twitter, Inc. 632 * 633 * Licensed under the Apache License, Version 2.0 (the "License"); 634 * you may not use this file except in compliance with the License. 635 * You may obtain a copy of the License at 636 * 637 * http://www.apache.org/licenses/LICENSE-2.0 638 * 639 * Unless required by applicable law or agreed to in writing, software 640 * distributed under the License is distributed on an "AS IS" BASIS, 641 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 642 * See the License for the specific language governing permissions and 643 * limitations under the License. 644 * ======================================================== */ 645 646 647!function( $ ){ 648 649 "use strict" 650 651 function activate ( element, container ) { 652 container 653 .find('.active') 654 .removeClass('active') 655 .find('> .dropdown-menu > .active') 656 .removeClass('active') 657 658 element.addClass('active') 659 660 if ( element.parent('.dropdown-menu') ) { 661 element.closest('li.dropdown').addClass('active') 662 } 663 } 664 665 function tab( e ) { 666 var $this = $(this) 667 , $ul = $this.closest('ul:not(.dropdown-menu)') 668 , href = $this.attr('href') 669 , previous 670 , $href 671 672 if ( /^#\w+/.test(href) ) { 673 e.preventDefault() 674 675 if ( $this.parent('li').hasClass('active') ) { 676 return 677 } 678 679 previous = $ul.find('.active a').last()[0] 680 $href = $(href) 681 682 activate($this.parent('li'), $ul) 683 activate($href, $href.parents('.sn-tabs-container')) 684 685 $this.trigger({ 686 type: 'change' 687 , relatedTarget: previous 688 }) 689 } 690 } 691 692 693 /* TABS/PILLS PLUGIN DEFINITION 694 * ============================ */ 695 696 $.fn.tabs = $.fn.pills = function ( selector ) { 697 return this.each(function () { 698 $(this).delegate(selector || '.tabs li > a, .pills > li > a', 'click', tab) 699 }) 700 } 701 702 $(document).ready(function () { 703 $('body').tabs('ul[data-tabs] li > a, ul[data-pills] > li > a') 704 }) 705 706}( window.jQuery || window.ender ); 707 708/* ========================================================== 709 * bootstrap-alert.js v2.0.2 710 * http://twitter.github.com/bootstrap/javascript.html#alerts 711 * ========================================================== 712 * Copyright 2012 Twitter, Inc. 713 * 714 * Licensed under the Apache License, Version 2.0 (the "License"); 715 * you may not use this file except in compliance with the License. 716 * You may obtain a copy of the License at 717 * 718 * http://www.apache.org/licenses/LICENSE-2.0 719 * 720 * Unless required by applicable law or agreed to in writing, software 721 * distributed under the License is distributed on an "AS IS" BASIS, 722 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 723 * See the License for the specific language governing permissions and 724 * limitations under the License. 725 * ========================================================== */ 726 727 728!function( $ ){ 729 730 "use strict" 731 732 /* ALERT CLASS DEFINITION 733 * ====================== */ 734 735 var dismiss = '[data-dismiss="alert"]' 736 , Alert = function ( el ) { 737 $(el).delegate('click', dismiss, this.close) 738 } 739 740 Alert.prototype = { 741 742 constructor: Alert 743 744 , close: function ( e ) { 745 var $this = $(this) 746 , selector = $this.attr('data-target') 747 , $parent 748 749 if (!selector) { 750 selector = $this.attr('href') 751 selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 752 } 753 754 $parent = $(selector) 755 $parent.trigger('close') 756 757 e && e.preventDefault() 758 759 $parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent()) 760 761 $parent 762 .trigger('close') 763 .removeClass('in') 764 765 function removeElement() { 766 $parent 767 .trigger('closed') 768 .remove() 769 } 770 771 $.support.transition && $parent.hasClass('fade') ?
772 $parent.delegate($.support.transition.end, removeElement) : 773 removeElement() 774 } 775 776 } 777 778 779 /* ALERT PLUGIN DEFINITION 780 * ======================= */ 781 782 $.fn.alert = function ( option ) { 783 return this.each(function () { 784 var $this = $(this) 785 , data = $this.data('alert') 786 if (!data) $this.data('alert', (data = new Alert(this))) 787 if (typeof option == 'string') data[option].call($this) 788 }) 789 } 790 791 $.fn.alert.Constructor = Alert 792 793 794 /* ALERT DATA-API 795 * ============== */ 796 797 $(function () { 798 $('body').delegate('click.alert.data-api', dismiss, Alert.prototype.close) 799 }) 800 801}( window.jQuery ); 802 803$(function(){ 804 if($('.sn-tabs').length){ 805 $('.sn-tabs').tabs(); 806 } 807 808 $('.sn-item-list li:last').addClass('lastitem') 809 810 $('.zebra-striped tr:odd').addClass('odd') 811 812 $('.sn-sidebar .sn-userlist li:even').addClass('clear') 813 814 $('.slide h3').click(function(){ 815 var header = this; 816 $(this).next('dl').slideToggle(function(){ 817 if ( $(header).children('span').text() == "Ðàçâåðíóòü"){ 818 $(header).children('span').text("Ñâåðíóòü") 819 } 820 else{ 821 $(header).children('span').text("Ðàçâåðíóòü") 822 } 823 }); 824 }) 825 $('.snt-checkall').live('click', function() { 826 $(this).addClass('checked') 827 $('.sn-table, .checkedall, .tab_body.active').find('.snt-check input').attr('checked', true); 828 }); 829 $('.snt-checkall.checked').live('click',function() { 830 $(this).removeClass('checked') 831 $('.sn-table, .checkedall, .tab_body.active').find('.snt-check input').attr('checked', false); 832 }); 833}); 834 835 836
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.