');options.open = true; // assume an immediate open}$this.each(function () {$.data(this, colorbox, $.extend(, $.data(this, colorbox) || defaults, options));$(this).addClass(boxElement);});autoOpen = options.open;if ($.isFunction(autoOpen)) {autoOpen = autoOpen.call($this);}if (autoOpen) {launch($this[0]);}return $this;};// Initialize ColorBox: store common calculations, preload the interface graphics, append the html.// This preps colorbox for a speedy open when clicked, and lightens the burdon on the browser by only// having to run once, instead of each time colorbox is opened.publicMethod.init = function () {// Create & Append jQuery Objects$window = $(window);$box = $div().attr({id: colorbox, 'class': isIE ? prefix + (isIE6 ? 'IE6' : 'IE') : ''});$overlay = $div("Overlay", isIE6 ? 'position:absolute' : '').hide();$wrap = $div("Wrapper");$content = $div("Content").append($loaded = $div("LoadedContent", 'width:0; height:0; overflow:hidden'),$loadingOverlay = $div("LoadingOverlay").add($div("LoadingGraphic")),$title = $div("Title"),$current = $div("Current"),$next = $div("Next"),$prev = $div("Previous"),$slideshow = $div("Slideshow").bind(event_open, slideshow),$close = $div("Close"));$wrap.append( // The 3x3 Grid that makes up ColorBox$div().append($div("TopLeft"),$topBorder = $div("TopCenter"),$div("TopRight")),$div(false, 'clear:left').append($leftBorder = $div("MiddleLeft"),$content,$rightBorder = $div("MiddleRight")),$div(false, 'clear:left').append($div("BottomLeft"),$bottomBorder = $div("BottomCenter"),$div("BottomRight"))).children().children().css({'float': 'left'});$loadingBay = $div(false, 'position:absolute; width:9999px; visibility:hidden; display:none');$('body').prepend($overlay, $box.append($wrap, $loadingBay));$content.children().hover(function () {$(this).addClass('hover');}, function () {$(this).removeClass('hover');}).addClass('hover');// Cache values needed for size calculationsinterfaceHeight = $topBorder.height() + $bottomBorder.height() + $content.outerHeight(true) - $content.height();//Subtraction needed for IE6interfaceWidth = $leftBorder.width() + $rightBorder.width() + $content.outerWidth(true) - $content.width();loadedHeight = $loaded.outerHeight(true);loadedWidth = $loaded.outerWidth(true);// Setting padding to remove the need to do size conversions during the animation step.$box.css({"padding-bottom": interfaceHeight, "padding-right": interfaceWidth}).hide();// Setup button events.$next.click(function () {publicMethod.next();});$prev.click(function () {publicMethod.prev();});$close.click(function () {publicMethod.close();});$groupControls = $next.add($prev).add($current).add($slideshow);// Adding the 'hover' class allowed the browser to load the hover-state// background graphics. The class can now can be removed.$content.children().removeClass('hover');$('.' + boxElement).live('click', function (e) {// checks to see if it was a non-left mouse-click and for clicks modified with ctrl, shift, or alt.if (!((e.button !== 0 && typeof e.button !== 'undefined') || e.ctrlKey || e.shiftKey || e.altKey)) {e.preventDefault();launch(this);}});$overlay.click(function () {if (settings.overlayClose) {publicMethod.close();}});// Set Navigation Key Bindings$(document).bind('keydown.' + prefix, function (e) {var key = e.keyCode;if (open && settings.escKey && key === 27) {e.preventDefault();publicMethod.close();}if (open && settings.arrowKey && $related[1]) {if (key === 37) {e.preventDefault();$prev.click();} else if (key === 39) {e.preventDefault();$next.click();}}});};publicMethod.remove = function () {$box.add($overlay).remove();$('.' + boxElement).die('click').removeData(colorbox).removeClass(boxElement);};publicMethod.position = function (speed, loadedCallback) {varanimate_speed,// keeps the top and left positions within the browser's viewport.posTop = Math.max(document.documentElement.clientHeight - settings.h - loadedHeight - interfaceHeight, 0) / 2 + $window.scrollTop(),posLeft = Math.max($window.width() - settings.w - loadedWidth - interfaceWidth, 0) / 2 + $window.scrollLeft();// setting the speed to 0 to reduce the delay between same-sized content.animate_speed = ($box.width() === settings.w + loadedWidth && $box.height() === settings.h + loadedHeight) ? 0 : speed;// this gives the wrapper plenty of breathing room so it's floated contents can move around smoothly,// but it has to be shrank down around the size of div#colorbox when it's done. If not,// it can invoke an obscure IE bug when using iframes.$wrap[0].style.width = $wrap[0].style.height = "9999px";function modalDimensions(that) {// loading overlay height has to be explicitly set for IE6.$topBorder[0].style.width = $bottomBorder[0].style.width = $content[0].style.width = that.style.width;$loadingOverlay[0].style.height = $loadingOverlay[1].style.height = $content[0].style.height = $leftBorder[0].style.height = $rightBorder[0].style.height = that.style.height;}$box.dequeue().animate({width: settings.w + loadedWidth, height: settings.h + loadedHeight, top: posTop, left: posLeft}, {duration: animate_speed,complete: function () {modalDimensions(this);active = false;// shrink the wrapper down to exactly the size of colorbox to avoid a bug in IE's iframe implementation.$wrap[0].style.width = (settings.w + loadedWidth + interfaceWidth) + "px";$wrap[0].style.height = (settings.h + loadedHeight + interfaceHeight) + "px";if (loadedCallback) {loadedCallback();}},step: function () {modalDimensions(this);}});};publicMethod.resize = function (options) {if (open) {options = options || ;if (options.width) {settings.w = setSize(options.width, 'x') - loadedWidth - interfaceWidth;}if (options.innerWidth) {settings.w = setSize(options.innerWidth, 'x');}$loaded.css({width: settings.w});if (options.height) {settings.h = setSize(options.height, 'y') - loadedHeight - interfaceHeight;}if (options.innerHeight) {settings.h = setSize(options.innerHeight, 'y');}if (!options.innerHeight && !options.height) { var $child = $loaded.wrapInner("").children(); // temporary wrapper to get an accurate estimate of just how high the total content should be.settings.h = $child.height();$child.replaceWith($child.children()); // ditch the temporary wrapper div used in height calculation}$loaded.css({height: settings.h});publicMethod.position(settings.transition === "none" ? 0 : settings.speed);}};publicMethod.prep = function (object) {if (!open) {return;}var speed = settings.transition === "none" ? 0 : settings.speed;$window.unbind('resize.' + prefix);$loaded.remove();$loaded = $div('LoadedContent').html(object);function getWidth() {settings.w = settings.w || $loaded.width();settings.w = settings.mw && settings.mw < settings.w ? settings.mw : settings.w;return settings.w;}function getHeight() {settings.h = settings.h || $loaded.height();settings.h = settings.mh && settings.mh < settings.h ? settings.mh : settings.h;return settings.h;}$loaded.hide().appendTo($loadingBay.show())// content has to be appended to the DOM for accurate size calculations..css({width: getWidth(), overflow: settings.scrolling ? 'auto' : 'hidden'}).css({height: getHeight()})// sets the height independently from the width in case the new width influences the value of height..prependTo($content);$loadingBay.hide();// floating the IMG removes the bottom line-height and fixed a problem where IE miscalculates the width of the parent element as 100% of the document width.//$(photo).css({'float': 'none', marginLeft: 'auto', marginRight: 'auto'});$(photo).css({'float': 'none'});// Hides SELECT elements in IE6 because they would otherwise sit on top of the overlay.if (isIE6) {$('select').not($box.find('select')).filter(function () {return this.style.visibility !== 'hidden';}).css({'visibility': 'hidden'}).one(event_cleanup, function () {this.style.visibility = 'inherit';});}function setPosition(s) {publicMethod.position(s, function () {var prev, prevSrc, next, nextSrc, total = $related.length, iframe, complete;if (!open) {return;}complete = function () {$loadingOverlay.hide();trigger(event_complete, settings.onComplete);};if (isIE) {//This fadeIn helps the bicubic resampling to kick-in.if (photo) {$loaded.fadeIn(100);}}$title.html(settings.title).add($loaded).show();if (total > 1) { // handle groupingif (typeof settings.current === "string") {$current.html(settings.current.replace(/\{current\}/, index + 1).replace(/\{total\}/, total)).show();}$next[(settings.loop || index < total - 1) ? "show" : "hide"]().html(settings.next);$prev[(settings.loop || index) ? "show" : "hide"]().html(settings.previous);prev = index ? $related[index - 1] : $related[total - 1];next = index < total - 1 ? $related[index + 1] : $related[0];if (settings.slideshow) {$slideshow.show();}// Preloads images within a rel groupif (settings.preloading) {nextSrc = $.data(next, colorbox).href || next.href;prevSrc = $.data(prev, colorbox).href || prev.href;nextSrc = $.isFunction(nextSrc) ? nextSrc.call(next) : nextSrc;prevSrc = $.isFunction(prevSrc) ? prevSrc.call(prev) : prevSrc;if (isImage(nextSrc)) {$(' ')[0].src = nextSrc;}if (isImage(prevSrc)) {$(' ')[0].src = prevSrc;}}} else {$groupControls.hide();}if (settings.iframe) {iframe = $('').addClass(prefix + 'Iframe')[0];if (settings.fastIframe) {complete();} else {$(iframe).load(complete);}iframe.name = prefix + (+new Date());iframe.src = settings.href;if (!settings.scrolling) {iframe.scrolling = "no";}if (isIE) {iframe.frameBorder=0;iframe.allowTransparency = "true";}$(iframe).appendTo($loaded).one(event_purge, function () {iframe.src = "//about:blank";});} else {complete();}if (settings.transition === 'fade') {$box.fadeTo(speed, 1, function () {$box[0].style.filter = "";});} else {$box[0].style.filter = "";}$window.bind('resize.' + prefix, function () {publicMethod.position(0);});});}if (settings.transition === 'fade') {$box.fadeTo(speed, 0, function () {setPosition(0);});} else {setPosition(speed);}};publicMethod.load = function (launched) {var href, setResize, prep = publicMethod.prep;active = true;photo = false;element = $related[index];if (!launched) {process($.extend(settings, $.data(element, colorbox)));}trigger(event_purge);trigger(event_load, settings.onLoad);settings.h = settings.height ?setSize(settings.height, 'y') - loadedHeight - interfaceHeight :settings.innerHeight && setSize(settings.innerHeight, 'y');settings.w = settings.width ?setSize(settings.width, 'x') - loadedWidth - interfaceWidth :settings.innerWidth && setSize(settings.innerWidth, 'x');// Sets the minimum dimensions for use in image scalingsettings.mw = settings.w;settings.mh = settings.h;// Re-evaluate the minimum width and height based on maxWidth and maxHeight values.// If the width or height exceed the maxWidth or maxHeight, use the maximum values instead.if (settings.maxWidth) {settings.mw = setSize(settings.maxWidth, 'x') - loadedWidth - interfaceWidth;settings.mw = settings.w && settings.w < settings.mw ? settings.w : settings.mw;}if (settings.maxHeight) {settings.mh = setSize(settings.maxHeight, 'y') - loadedHeight - interfaceHeight;settings.mh = settings.h && settings.h < settings.mh ? settings.h : settings.mh;}href = settings.href;$loadingOverlay.show();if (settings.inline) {// Inserts an empty placeholder where inline content is being pulled from.// An event is bound to put inline content back when ColorBox closes or loads new content.$div().hide().insertBefore($(href)[0]).one(event_purge, function () {$(this).replaceWith($loaded.children());});prep($(href));} else if (settings.iframe) {// IFrame element won't be added to the DOM until it is ready to be displayed,// to avoid problems with DOM-ready JS that might be trying to run in that iframe.prep(" ");} else if (settings.html) {prep(settings.html);} else if (isImage(href)) {$(photo = new Image()).addClass(prefix + 'Photo').error(function () {settings.title = false;prep($div('Error').text('This image could not be loaded'));}).load(function () {var percent;photo.onload = null; //stops animated gifs from firing the onload repeatedly.if (settings.scalePhotos) {setResize = function () {photo.height -= photo.height * percent;photo.width -= photo.width * percent; };if (settings.mw && photo.width > settings.mw) {percent = (photo.width - settings.mw) / photo.width;setResize();}if (settings.mh && photo.height > settings.mh) {percent = (photo.height - settings.mh) / photo.height;setResize();}}if (settings.h) {photo.style.marginTop = Math.max(settings.h - photo.height, 0) / 2 + 'px';}if ($related[1] && (index < $related.length - 1 || settings.loop)) {photo.style.cursor = 'pointer';photo.onclick = function () {publicMethod.next();};}if (isIE) {photo.style.msInterpolationMode = 'bicubic';}setTimeout(function () { // A pause because Chrome will sometimes report a 0 by 0 size otherwise.prep(photo);}, 1);});setTimeout(function () { // A pause because Opera 10.6+ will sometimes not run the onload function otherwise.photo.src = href;}, 1);} else if (href) {$loadingBay.load(href, function (data, status, xhr) {prep(status === 'error' ? $div('Error').text('Request unsuccessful: ' + xhr.statusText) : $(this).contents());});}};// Navigates to the next page/image in a set.publicMethod.next = function () {if (!active && $related[1] && (index < $related.length - 1 || settings.loop)) {index = index < $related.length - 1 ? index + 1 : 0;publicMethod.load();}};publicMethod.prev = function () {if (!active && $related[1] && (index || settings.loop)) {index = index ? index - 1 : $related.length - 1;publicMethod.load();}};// Note: to use this within an iframe use the following format: parent.$.fn.colorbox.close();publicMethod.close = function () {if (open && !closing) {closing = true;open = false;trigger(event_cleanup, settings.onCleanup);$window.unbind('.' + prefix + ' .' + event_ie6);$overlay.fadeTo(200, 0);$box.stop().fadeTo(300, 0, function () {$box.add($overlay).css({'opacity': 1, cursor: 'auto'}).hide();trigger(event_purge);$loaded.remove();setTimeout(function () {closing = false;trigger(event_closed, settings.onClosed);}, 1);});}};// A method for fetching the current element ColorBox is referencing.// returns a jQuery object.publicMethod.element = function () {return $(element);};publicMethod.settings = defaults;// Initializes ColorBox when the DOM has loaded$(publicMethod.init);}(jQuery, document, this));$(document).ready(function(){$('.postbody img').slideDown(1, function(){if($(this).height() > 120){$(this).replaceWith(' ');}});$(".postbody a[href]").filter(function() {return /\.(gif|png|jpg|jpeg|bmp)$/i.test(this.href);}).attr('rel','imgbaivong');});$(document).ready(function(){$("a[rel='imgbaivong']").colorbox({slideshow:true});});">| Thống Kê |  | Tổng số bài viết đã gửi vào diễn đàn là 802 Diễn Đàn hiện có 175 thành viên Chúng ta cùng chào mừng thành viên mới đăng ký: kenguoita | Hiện có 2 người đang truy cập Diễn Đàn, gồm: 0 Thành viên, 0 Thành viên ẩn danh và 2 Khách viếng thăm Số người truy cập cùng lúc nhiều nhất là 12 người, vào ngày Sun Jul 04, 2010 2:52 am
Các thành viên đang truy cập: Không
| No users have a birthday today Users with a birthday within the next 7 days: minhngoc (23), piyo243 (23) | Già làng | Mod | Class mod | Member |
 | Bài viết mới | |  | Không có bài viết mới | |  | Diễn Đàn đã bị khoá |
 | |