/** * **************************************************************************** * Bootstrap * **************************************************************************** */ (function($) { $(document).ready(function() { // Remove every empty paragraph from the page thbRemoveEmptyParagraphs(); }); })(jQuery); /** * Remove every empty paragraph from the page */ function thbRemoveEmptyParagraphs() { jQuery('p') .filter(function() { return jQuery.trim(jQuery(this).html()) === '' }) .remove(); } /** * **************************************************************************** * THB add/remove class on hover * * $(".myelement").hoverClass("classname"); * **************************************************************************** */ (function($) { $.fn.hoverClass = function(c) { return this.each(function(){ $(this).hover( function() { $(this).addClass(c); }, function() { $(this).removeClass(c); } ); }); }; })(jQuery); /** * **************************************************************************** * THB menu * * $("#menu-container").menu(); * **************************************************************************** */ (function($) { $.fn.menu = function(params) { // Parameters // -------------------------------------------------------------------- var settings = { 'speed': 350, 'easing': 'linear', 'showCallback': function() {}, 'hideCallback': function() {} }; // Parameters $.extend(settings, params); // Menu instance // -------------------------------------------------------------------- var instance = { showSubMenu: function(subMenu) { subMenu .stop(true, true) .fadeIn(settings.speed, settings.easing, function() { settings.showCallback(); }); }, hideSubMenu: function(subMenu) { subMenu .stop(true, true) .fadeOut(settings.speed / 2, settings.easing, function() { settings.hideCallback(); }); } }; return this.each(function() { var menuContainer = $(this), menu = menuContainer.find("> ul"), menuItems = menu.find("> li"), subMenuItems = menuItems.find('li').andSelf(); menuItems.each(function() { var subMenu = $(this).find('> ul'); if( subMenu.length ) { subMenu.css({ display: 'none' }); } }); // Binding events subMenuItems.each(function() { var item = $(this), subMenu = item.find("> ul"); if( subMenu.length ) { item .find('> a') .addClass('w-sub'); item .mouseenter(function() { instance.showSubMenu(subMenu); }) .mouseleave(function() { instance.hideSubMenu(subMenu); }); } }); }); } })(jQuery); /** * **************************************************************************** * THB go top * * $(".gotop").gotop(); * **************************************************************************** */ (function($) { $.fn.gotop = function(params) { var settings = { 'speed': 350, 'easing': 'linear' }; // Parameters $.extend(settings, params); return this.each(function(index, button) { button = $(button); button .click(function() { $('html, body').animate({ scrollTop: 0 }, settings.speed, settings.easing); return false; }); }); } })(jQuery); /** * **************************************************************************** * THB image preload * * $(".preload").preload(); * **************************************************************************** */ (function($) { $.fn.preload = function(params) { var settings = { 'image_delay': 350, 'image_transition': 350, 'image_easing': 'linear', 'loaded_slides': 0 }; // Parameters $.extend(settings, params); return this.each(function(index, preload) { preload = $(preload); // Images // ---------------------------------------------------------------- var images = preload.find("img"); images.each(function(j, image) { var image = $(image); image.css({ "visibility": "hidden", "opacity": 0 }); // Image URL var src = image.attr("src"); // The loading action var sequence = settings.sequenced ? index : 1; image .attr("src", "") .one("load", function() { image.css("visibility", "visible"); image.delay(settings.image_delay * sequence).animate({ "opacity": 1 }, settings.image_transition, settings.image_easing, function() { preload.css("background-image", "none"); image.css("filter", "none"); settings.loaded_slides++; if( settings.loaded_slides == images.length ) { $(window).trigger('resize'); } }); }) .attr("src", src); if(image.get(0).complete) $(this).trigger("load"); }); }); } })(jQuery); /** * **************************************************************************** * THB full background image * * $.fullBackground(); * **************************************************************************** */ (function($) { $.fullBackground = function(parameters) { // Parameters // -------------------------------------------------------------------- var p = $.extend({ speed: 500, easing: 'linear', backgroundContainerId: 'background_slider', slideClass: 'slide', slideLoadedClass: 'slide_loaded', height: 0, offsetHeight: 'center' // 'center', 'top', 'bottom' }, parameters); // Full background instance // -------------------------------------------------------------------- var instance = { // Window dimensions w_width: 0, w_height: 0, // Slides dimensions width: 0, height: 0, offsetTop: 0, offsetLeft: 0, // Canvas support canvas_support: false, // Container container: $("#" + p.backgroundContainerId), // Slides slides: $("#" + p.backgroundContainerId).find("." + p.slideClass), // Check for canvas support checkCanvasSupport: function () { var canvas = document.createElement("canvas"); // instance.canvas_support = !!(canvas.getContext && canvas.getContext('2d')); if( instance.canvas_support ) $("body").addClass("canvas"); }, // Window resize windowResize: function() { setTimeout(function() { instance.slides.each(function(i, slide) { slide = $(slide); instance.slideResize(slide); }); }, 10); }, // Calculate image dimensions calculateDimensions: function(imgObj) { var w_ratio = instance.w_width / instance.w_height, img_height = imgObj.height, img_width = imgObj.width, img_ratio = img_width / img_height; if( w_ratio < img_ratio ) { // The window is smaller than the image instance.height = instance.w_height; instance.width = (instance.w_height/img_height) * img_width; } else { instance.height = (instance.w_width/img_width) * img_height; instance.width = instance.w_width; } instance.offsetTop = (instance.height - instance.w_height) / -2; instance.offsetLeft = (instance.width - instance.w_width) / -2; if( p.offsetHeight == 'top' ) instance.offsetTop = 0; if( p.offsetHeight == 'bottom' ) { instance.offsetTop = instance.w_height - instance.height; } }, // Slide loading slideLoad: function(slide) { var img = slide.find("img"); var src = img.attr("src"); img.attr("src", ""); img .one("load", function() { instance.slideRender(slide); }) .attr("src", src) .mousedown(function() { return false; }); }, // Slide render slideRender: function(slide) { var img = slide.find("img"), canvas = slide.find("canvas"); var imgObj = img.get(0); instance.calculateDimensions(imgObj); var obj = img; if( instance.canvas_support ) obj = canvas; if( instance.canvas_support ) { var ctx = canvas.get(0).getContext('2d'); ctx.drawImage(imgObj, instance.offsetLeft, instance.offsetTop, instance.width, instance.height); } else { var shiftLeft = (instance.width - instance.w_width) / 2 * -1, shiftTop = (instance.height - instance.w_height) / 2 * -1; if( p.offsetHeight == 'top' ) { shiftTop = 0; } if( p.offsetHeight == 'bottom' ) { shiftTop = instance.w_height - instance.height; } img .css({ height: instance.height, width: instance.width, "max-width": "none", position: "relative", left: shiftLeft, top: shiftTop }); } if( !slide.hasClass(p.slideLoadedClass) ) { obj .css({ visibility: 'visible', opacity: 0 }) .stop() .animate({ opacity: 1 }, p.speed, p.easing, function() { slide.addClass(p.slideLoadedClass); }); } }, // Get the slide type getSlideType: function(slide) { if( slide.hasClass("slide_type_picture") ) return "picture"; else if( slide.hasClass("slide_type_video") ) return "video"; else return "html"; }, // Slide resize slideResize: function(slide) { // Getting the viewport's dimension right on iOS instance.w_width = instance.container.width(); instance.w_height = instance.container.height(); // Slide type var type = instance.getSlideType(slide); if( type == "video" ) { var iframe = slide.find("iframe"); var object = slide.find("object"); if( iframe.length > 0 ) { iframe .attr({ height: instance.w_height, width: instance.w_width }); } if( object.length > 0 ) { object .attr({ height: instance.w_height, width: instance.w_width }); } } else { if( instance.canvas_support ) { var canvas = slide.find("canvas"); if( canvas.length == 0 ) { canvas = $(''); canvas .css({ opacity: 0 }) .appendTo(slide); } else canvas .attr({ height: instance.w_height, width: instance.w_width }); } } if( !slide.hasClass(p.slideLoadedClass) ) instance.slideLoad(slide); else instance.slideRender(slide); } }; // Bindings // -------------------------------------------------------------------- $(window) .resize(function() { instance.windowResize(); }); window.onorientationchange = function() { instance.windowResize(); } // Boot // -------------------------------------------------------------------- instance.checkCanvasSupport(); $(window).trigger("resize"); } })(jQuery); /** * Isotope v1.5.19 * An exquisite jQuery plugin for magical layouts * http://isotope.metafizzy.co * * Commercial use requires one-time license fee * http://metafizzy.co/#licenses * * Copyright 2012 David DeSandro / Metafizzy */ (function(a,b,c){"use strict";var d=a.document,e=a.Modernizr,f=function(a){return a.charAt(0).toUpperCase()+a.slice(1)},g="Moz Webkit O Ms".split(" "),h=function(a){var b=d.documentElement.style,c;if(typeof b[a]=="string")return a;a=f(a);for(var e=0,h=g.length;e"+d+"{#modernizr{height:3px}}"+"").appendTo("head"),f=b('
').appendTo("html");a=f.height()===3,f.remove(),e.remove()}return a},csstransitions:function(){return!!j}},l;if(e)for(l in k)e.hasOwnProperty(l)||e.addTest(l,k[l]);else{e=a.Modernizr={_version:"1.6ish: miniModernizr for Isotope"};var m=" ",n;for(l in k)n=k[l](),e[l]=n,m+=" "+(n?"":"no-")+l;b("html").addClass(m)}if(e.csstransforms){var o=e.csstransforms3d?{translate:function(a){return"translate3d("+a[0]+"px, "+a[1]+"px, 0) "},scale:function(a){return"scale3d("+a+", "+a+", 1) "}}:{translate:function(a){return"translate("+a[0]+"px, "+a[1]+"px) "},scale:function(a){return"scale("+a+") "}},p=function(a,c,d){var e=b.data(a,"isoTransform")||{},f={},g,h={},j;f[c]=d,b.extend(e,f);for(g in e)j=e[g],h[g]=o[g](j);var k=h.translate||"",l=h.scale||"",m=k+l;b.data(a,"isoTransform",e),a.style[i]=m};b.cssNumber.scale=!0,b.cssHooks.scale={set:function(a,b){p(a,"scale",b)},get:function(a,c){var d=b.data(a,"isoTransform");return d&&d.scale?d.scale:1}},b.fx.step.scale=function(a){b.cssHooks.scale.set(a.elem,a.now+a.unit)},b.cssNumber.translate=!0,b.cssHooks.translate={set:function(a,b){p(a,"translate",b)},get:function(a,c){var d=b.data(a,"isoTransform");return d&&d.translate?d.translate:[0,0]}}}var q,r;e.csstransitions&&(q={WebkitTransitionProperty:"webkitTransitionEnd",MozTransitionProperty:"transitionend",OTransitionProperty:"oTransitionEnd",transitionProperty:"transitionEnd"}[j],r=h("transitionDuration"));var s=b.event,t;s.special.smartresize={setup:function(){b(this).bind("resize",s.special.smartresize.handler)},teardown:function(){b(this).unbind("resize",s.special.smartresize.handler)},handler:function(a,b){var c=this,d=arguments;a.type="smartresize",t&&clearTimeout(t),t=setTimeout(function(){jQuery.event.handle.apply(c,d)},b==="execAsap"?0:100)}},b.fn.smartresize=function(a){return a?this.bind("smartresize",a):this.trigger("smartresize",["execAsap"])},b.Isotope=function(a,c,d){this.element=b(c),this._create(a),this._init(d)};var u=["width","height"],v=b(a);b.Isotope.settings={resizable:!0,layoutMode:"masonry",containerClass:"isotope",itemClass:"isotope-item",hiddenClass:"isotope-hidden",hiddenStyle:{opacity:0,scale:.001},visibleStyle:{opacity:1,scale:1},containerStyle:{position:"relative",overflow:"hidden"},animationEngine:"best-available",animationOptions:{queue:!1,duration:800},sortBy:"original-order",sortAscending:!0,resizesContainer:!0,transformsEnabled:!b.browser.opera,itemPositionDataEnabled:!1},b.Isotope.prototype={_create:function(a){this.options=b.extend({},b.Isotope.settings,a),this.styleQueue=[],this.elemCount=0;var c=this.element[0].style;this.originalStyle={};var d=u.slice(0);for(var e in this.options.containerStyle)d.push(e);for(var f=0,g=d.length;fg?1:f0&&(i=function(a,b){b.$el[d](b.style,f).one(q,k)},j=!1)}}b.each(this.styleQueue,i),j&&k(),this.styleQueue=[]},resize:function(){this["_"+this.options.layoutMode+"ResizeChanged"]()&&this.reLayout()},reLayout:function(a){this["_"+this.options.layoutMode+"Reset"](),this.layout(this.$filteredAtoms,a)},addItems:function(a,b){var c=this._getAtoms(a);this.$allAtoms=this.$allAtoms.add(c),b&&b(c)},insert:function(a,b){this.element.append(a);var c=this;this.addItems(a,function(a){var d=c._filter(a);c._addHideAppended(d),c._sort(),c.reLayout(),c._revealAppended(d,b)})},appended:function(a,b){var c=this;this.addItems(a,function(a){c._addHideAppended(a),c.layout(a),c._revealAppended(a,b)})},_addHideAppended:function(a){this.$filteredAtoms=this.$filteredAtoms.add(a),a.addClass("no-transition"),this._isInserting=!0,this.styleQueue.push({$el:a,style:this.options.hiddenStyle})},_revealAppended:function(a,b){var c=this;setTimeout(function(){a.removeClass("no-transition"),c.styleQueue.push({$el:a,style:c.options.visibleStyle}),c._isInserting=!1,c._processStyleQueue(a,b)},10)},reloadItems:function(){this.$allAtoms=this._getAtoms(this.element.children())},remove:function(a,b){var c=this,d=function(){c.$allAtoms=c.$allAtoms.not(a),a.remove(),b&&b.call(c.element)};a.filter(":not(."+this.options.hiddenClass+")").length?(this.styleQueue.push({$el:a,style:this.options.hiddenStyle}),this.$filteredAtoms=this.$filteredAtoms.not(a),this._sort(),this.reLayout(d)):d()},shuffle:function(a){this.updateSortData(this.$allAtoms),this.options.sortBy="random",this._sort(),this.reLayout(a)},destroy:function(){var a=this.usingTransforms,b=this.options;this.$allAtoms.removeClass(b.hiddenClass+" "+b.itemClass).each(function(){var b=this.style;b.position="",b.top="",b.left="",b.opacity="",a&&(b[i]="")});var c=this.element[0].style;for(var d in this.originalStyle)c[d]=this.originalStyle[d];this.element.unbind(".isotope").undelegate("."+b.hiddenClass,"click").removeClass(b.containerClass).removeData("isotope"),v.unbind(".isotope")},_getSegments:function(a){var b=this.options.layoutMode,c=a?"rowHeight":"columnWidth",d=a?"height":"width",e=a?"rows":"cols",g=this.element[d](),h,i=this.options[b]&&this.options[b][c]||this.$filteredAtoms["outer"+f(d)](!0)||g;h=Math.floor(g/i),h=Math.max(h,1),this[b][e]=h,this[b][c]=i},_checkIfSegmentsChanged:function(a){var b=this.options.layoutMode,c=a?"rows":"cols",d=this[b][c];return this._getSegments(a),this[b][c]!==d},_masonryReset:function(){this.masonry={},this._getSegments();var a=this.masonry.cols;this.masonry.colYs=[];while(a--)this.masonry.colYs.push(0)},_masonryLayout:function(a){var c=this,d=c.masonry;a.each(function(){var a=b(this),e=Math.ceil(a.outerWidth(!0)/d.columnWidth);e=Math.min(e,d.cols);if(e===1)c._masonryPlaceBrick(a,d.colYs);else{var f=d.cols+1-e,g=[],h,i;for(i=0;id&&(e.x=0,e.y=e.height),c._pushPosition(a,e.x,e.y),e.height=Math.max(e.y+g,e.height),e.x+=f})},_fitRowsGetContainerSize:function(){return{height:this.fitRows.height}},_fitRowsResizeChanged:function(){return!0},_cellsByRowReset:function(){this.cellsByRow={index:0},this._getSegments(),this._getSegments(!0)},_cellsByRowLayout:function(a){var c=this,d=this.cellsByRow;a.each(function(){var a=b(this),e=d.index%d.cols,f=Math.floor(d.index/d.cols),g=(e+.5)*d.columnWidth-a.outerWidth(!0)/2,h=(f+.5)*d.rowHeight-a.outerHeight(!0)/2;c._pushPosition(a,g,h),d.index++})},_cellsByRowGetContainerSize:function(){return{height:Math.ceil(this.$filteredAtoms.length/this.cellsByRow.cols)*this.cellsByRow.rowHeight+this.offset.top}},_cellsByRowResizeChanged:function(){return this._checkIfSegmentsChanged()},_straightDownReset:function(){this.straightDown={y:0}},_straightDownLayout:function(a){var c=this;a.each(function(a){var d=b(this);c._pushPosition(d,0,c.straightDown.y),c.straightDown.y+=d.outerHeight(!0)})},_straightDownGetContainerSize:function(){return{height:this.straightDown.y}},_straightDownResizeChanged:function(){return!0},_masonryHorizontalReset:function(){this.masonryHorizontal={},this._getSegments(!0);var a=this.masonryHorizontal.rows;this.masonryHorizontal.rowXs=[];while(a--)this.masonryHorizontal.rowXs.push(0)},_masonryHorizontalLayout:function(a){var c=this,d=c.masonryHorizontal;a.each(function(){var a=b(this),e=Math.ceil(a.outerHeight(!0)/d.rowHeight);e=Math.min(e,d.rows);if(e===1)c._masonryHorizontalPlaceBrick(a,d.rowXs);else{var f=d.rows+1-e,g=[],h,i;for(i=0;id&&(e.x=e.width,e.y=0),c._pushPosition(a,e.x,e.y),e.width=Math.max(e.x+f,e.width),e.y+=g})},_fitColumnsGetContainerSize:function(){return{width:this.fitColumns.width}},_fitColumnsResizeChanged:function(){return!0},_cellsByColumnReset:function(){this.cellsByColumn={index:0},this._getSegments(),this._getSegments(!0)},_cellsByColumnLayout:function(a){var c=this,d=this.cellsByColumn;a.each(function(){var a=b(this),e=Math.floor(d.index/d.rows),f=d.index%d.rows,g=(e+.5)*d.columnWidth-a.outerWidth(!0)/2,h=(f+.5)*d.rowHeight-a.outerHeight(!0)/2;c._pushPosition(a,g,h),d.index++})},_cellsByColumnGetContainerSize:function(){return{width:Math.ceil(this.$filteredAtoms.length/this.cellsByColumn.rows)*this.cellsByColumn.columnWidth}},_cellsByColumnResizeChanged:function(){return this._checkIfSegmentsChanged(!0)},_straightAcrossReset:function(){this.straightAcross={x:0}},_straightAcrossLayout:function(a){var c=this;a.each(function(a){var d=b(this);c._pushPosition(d,c.straightAcross.x,0),c.straightAcross.x+=d.outerWidth(!0)})},_straightAcrossGetContainerSize:function(){return{width:this.straightAcross.x}},_straightAcrossResizeChanged:function(){return!0}},b.fn.imagesLoaded=function(a){function h(){a.call(c,d)}function i(a){var c=a.target;c.src!==f&&b.inArray(c,g)===-1&&(g.push(c),--e<=0&&(setTimeout(h),d.unbind(".imagesLoaded",i)))}var c=this,d=c.find("img").add(c.filter("img")),e=d.length,f="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==",g=[];return e||h(),d.bind("load.imagesLoaded error.imagesLoaded",i).each(function(){var a=this.src;this.src=f,this.src=a}),c};var w=function(b){a.console&&a.console.error(b)};b.fn.isotope=function(a,c){if(typeof a=="string"){var d=Array.prototype.slice.call(arguments,1);this.each(function(){var c=b.data(this,"isotope");if(!c){w("cannot call methods on isotope prior to initialization; attempted to call method '"+a+"'");return}if(!b.isFunction(c[a])||a.charAt(0)==="_"){w("no such method '"+a+"' for isotope instance");return}c[a].apply(c,d)})}else this.each(function(){var d=b.data(this,"isotope");d?(d.option(a),d._init(c)):b.data(this,"isotope",new b.Isotope(a,this,c))});return this}})(window,jQuery); /** * **************************************************************************** * THB Isotope * * $.THB_Isotope({ * filter: '#filter', itemsContainer: '#worklist', itemsClass: '.item', pagContainer: '.portfolio-nav', useAJAX: true * }) * **************************************************************************** */ (function($) { $.THB_Isotope = function(params, ipar) { var items_loading = false; // Isotope elements // -------------------------------------------------------------------- var elements = { filter: '#thb-isotope-filter', itemsContainer: '#thb-isotope-container', itemsClass: '.item', pagContainer: '#thb-isotope-pagination', useAJAX: false }; $.extend(elements, params); var isotopeFilter = $(elements.filter), itemsContainer = $(elements.itemsContainer), items = $(elements.itemsClass), pagContainer = $(elements.pagContainer), useFilter = isotopeFilter.length > 0, useNav = pagContainer.length > 0; // Isotope params // -------------------------------------------------------------------- var isotopeParams = { itemSelector: elements.items, layoutMode: 'fitRows', animationOptions: { duration: 250, easing: 'linear', queue: false } } $.extend(isotopeParams, ipar); // Body classes // -------------------------------------------------------------------- if( !useFilter ) $('body').addClass('isotope-no-filter'); // Loading Isotope // -------------------------------------------------------------------- var instance = { init: function() { itemsContainer.imagesLoaded(function() { setTimeout(function() { itemsContainer.isotope(isotopeParams); if( useFilter ) { instance.filterDisplay(); } if( useNav ) { instance.attachNavigationEvents(); } $(window).trigger('resize'); }, 10); if( items.preload ) { items.preload(); } $(window).trigger('resize'); }); }, attachFilterEvents: function() { isotopeFilter.find('a') .live('dblclick', function( event ) { $(this).trigger('click'); return false; }) .live('click', function( event ) { isotopeFilter.find(".current").removeClass("current"); $(this).parent("li").addClass("current"); if( elements.useAJAX ) { if( !items_loading ) { items_loading = true; var href = $(this).attr("href"); instance.refreshPage(href); } } else { var href = $(this).attr('data-term-slug'); var options = {}; if( href != 'all' ) options.filter = "."+href; else options.filter = elements.itemsClass; itemsContainer.isotope(options); } return false; }); }, attachNavigationEvents: function() { pagContainer.find('a') .live('dblclick', function( event ) { $(this).trigger('click'); return false; }) .live('click', function( event ) { if( elements.useAJAX && !items_loading) { items_loading = true; var href = $(this).attr("href"); pagContainer.find(".current").removeClass("current"); $(this).parent().addClass("current"); instance.refreshPage(href); return false; } return true; }); }, filterDisplay: function() { if( !elements.useAJAX ) { isotopeFilter.find('a').each(function() { var href = $(this).attr('data-term-slug'); if( href != 'all' && $(elements.itemsClass + "." + href).length == 0 ) { $(this).parent().remove(); } }); } instance.attachFilterEvents(); isotopeFilter .css({ opacity: 0, visibility: 'visible' }) .delay(1000) .animate({ opacity: 1 }, 250); }, loadItems: function(href) { if( isotopeFilter != null ) { isotopeFilter.find(".loader").addClass("loading"); } $.get(href, function(data) { data = "
" + data + "
"; var html = $( $(data).find(elements.itemsContainer).html() ); html = html.filter(function() { return this.nodeType == 1; }); html.imagesLoaded(function() { setTimeout(function() { if( useNav ) { var navigation = $(data).find(elements.pagContainer).html(); pagContainer.html(navigation); } itemsContainer.isotope( 'insert', html ); do_gallery(); items = $(elements.itemsClass); if( items.preload ) { items.preload(); } if( useFilter ) { isotopeFilter.find(".loader").removeClass("loading"); } items_loading = false; }, 10) }); }); }, refreshPage: function(href) { items = $(elements.itemsClass); itemsContainer.isotope( 'remove', items ); instance.loadItems(href); } } // Firing up Isotope // -------------------------------------------------------------------- instance.init(); } })(jQuery); /** * **************************************************************************** * THB toggle * * $(".toggle").toggle(); * **************************************************************************** */ (function($) { $.fn.toggle = function(parameters) { var parameters = jQuery.extend( { speed: '500', easing: 'linear', contentClass: 'slide_container', activeClass: 'open', openedByDefaultClass: 'default_open' }, parameters); $("."+parameters.contentClass).hide(); return this.each(function(i,e) { var item = $(e); item.click(function() { $(this) .toggleClass(parameters.activeClass) .next() .toggleClass(parameters.activeClass) .slideToggle(parameters.speed, parameters.easing); return false; }); if(item.hasClass(parameters.openedByDefaultClass)) item.trigger("click"); }); } })(jQuery); /** * **************************************************************************** * THB tabs * * $(".tabs_container").tabs(); * **************************************************************************** */ (function($) { $.fn.tabs = function(parameters) { var parameters = jQuery.extend( { speed: '500', easing: 'linear', contentClass: 'tab-content', navigationClass: 't-nav', activeClass: 'active', contentActiveClass: 'content-active' }, parameters); return this.each(function(i,e) { var tabs = $(e); var navigation = tabs.find("."+parameters.navigationClass); var items = navigation.children(); items.first().addClass(parameters.activeClass); var contents = tabs.find("."+parameters.contentClass+":eq(0)").addClass(parameters.contentActiveClass); items.each(function(j, item) { var item = $(item); item.find("a").click(function() { var a = $(this); if(item.hasClass(parameters.activeClass)) return false; items.removeClass(parameters.activeClass); item.addClass(parameters.activeClass); var contents = tabs.find("."+parameters.contentClass), activeTab = a.attr("href"); // if( tabs.hasClass('vertical') ) { // contents.hide(parameters.speed, parameters.easing); // $(activeTab).show(parameters.speed, parameters.easing); // } // else { contents.slideUp(parameters.speed, parameters.easing); $(activeTab).slideDown(parameters.speed, parameters.easing); // } return false; }); }); }); } })(jQuery); /** * **************************************************************************** * THB accordion * * $(".accordion_container").accordion(); * **************************************************************************** */ (function($) { $.fn.accordion = function(parameters) { var parameters = jQuery.extend( { speed: '500', easing: 'linear', itemClass: 'acc_item', contentClass: 'acc_container', titleClass: 'acc_trigger', openClass: 'open', firstElementOpenedByDefaultClass: 'first_element_opened', firstElementOpenedByDefault: false }, parameters); return this.each(function(i,e) { var accordion = $j(e); var items = accordion.children("."+parameters.itemClass); items.each(function(j,item) { var item = $j(item); var title = item.find("."+parameters.titleClass); title.click(function() { var parent = $j(this).parent("."+parameters.itemClass); items.not(parent).find("."+parameters.contentClass).slideUp(parameters.speed, parameters.easing); items.not(parent).find("."+parameters.titleClass).removeClass(parameters.openClass); var content = parent.find("."+parameters.contentClass); if(content.css("display") == "none") { parent.find("."+parameters.contentClass).slideDown(parameters.speed, parameters.easing); $j(this).addClass(parameters.openClass); } else { parent.find("."+parameters.contentClass).slideUp(parameters.speed, parameters.easing); $j(this).removeClass(parameters.openClass); } return false; }); if( j==0 && ((parameters.firstElementOpenedByDefault) || accordion.hasClass(parameters.firstElementOpenedByDefaultClass)) ) title.trigger("click"); }); }); } })(jQuery); /** * **************************************************************************** * THB map * * $(".map").gmap(); * **************************************************************************** */ (function($) { $.fn.gmap = function() { this.each(function(i, mapElement) { var myLatlng = []; var address = []; // Data var data_latlong = $j(mapElement).attr("data-latlong"); var data_latlong_split = data_latlong.split(","); var data_lat = data_latlong_split[0]; var data_long = data_latlong_split[1]; var data_zoom = $j(mapElement).attr("data-zoom"); var data_address = $j(mapElement).attr("data-address"); var data_height = $j(mapElement).attr("data-height"); var data_width = $j(mapElement).attr("data-width"); myLatlng.push(new google.maps.LatLng(data_lat, data_long)); var myOptions = { zoom: parseInt(data_zoom), mapTypeControl: false, streetViewControl: false, scrollwheel: false, zoomControlOptions: { style: google.maps.ZoomControlStyle.SMALL }, center: myLatlng[0], mapTypeId: google.maps.MapTypeId.ROADMAP } var map = new google.maps.Map(mapElement, myOptions); var num_markers = myLatlng.length; var infowindow = new google.maps.InfoWindow({ content: "" }); if( data_address != '' ) address.push(data_address); var marker_title = (address.length > 0) ? address[0] : ""; var marker = new google.maps.Marker({ position: myLatlng[0], map: map, title: marker_title, animation: google.maps.Animation.DROP }); google.maps.event.addListener(marker, 'click', function() { infowindow.close(); infowindow.setContent("

"+this.title+"

"); infowindow.open(map, this); }); $j(mapElement).css({ height: data_height, width: data_width }); var center; function calculateCenter() { center = map.getCenter(); } google.maps.event.addDomListener(map, 'idle', function() { calculateCenter(); }); google.maps.event.addDomListener(window, 'resize', function() { map.setCenter(center); }); }); } })(jQuery); /* FILE ARCHIVED ON 02:13:16 Dec 21, 2014 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 11:18:21 Apr 10, 2019. JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). */ /* playback timings (ms): LoadShardBlock: 34.291 (3) esindex: 0.01 captures_list: 65.099 CDXLines.iter: 12.687 (3) PetaboxLoader3.datanode: 54.128 (4) exclusion.robots: 0.343 exclusion.robots.policy: 0.326 RedisCDXSource: 14.342 PetaboxLoader3.resolve: 45.006 load_resource: 86.999 ********************************************** * Bootstrap * **************************************************************************** */ (function($) { $(document).ready(function() { // Remove every empty paragraph from the page thbRemoveEmptyParagraphs(); }); })(jQuery); /** * Remove every empty paragraph from the page */ function thbRemoveEmptyParagraphs() { jQuery('p') .filter(function() { return jQuery.trim(jQuery(this).html()) === '' }) .remove(); } /** * **************************************************************************** * THB add/remove class on hover * * $(".myelement").hoverClass("classname"); * **************************************************************************** */ (function($) { $.fn.hoverClass = function(c) { return this.each(function(){ $(this).hover( function() { $(this).addClass(c); }, function() { $(this).removeClass(c); } ); }); }; })(jQuery); /** * **************************************************************************** * THB menu * * $("#menu-container").menu(); * **************************************************************************** */ (function($) { $.fn.menu = function(params) { // Parameters // -------------------------------------------------------------------- var settings = { 'speed': 350, 'easing': 'linear', 'showCallback': function() {}, 'hideCallback': function() {} }; // Parameters $.extend(settings, params); // Menu instance // -------------------------------------------------------------------- var instance = { showSubMenu: function(subMenu) { subMenu .stop(true, true) .fadeIn(settings.speed, settings.easing, function() { settings.showCallback(); }); }, hideSubMenu: function(subMenu) { subMenu .stop(true, true) .fadeOut(settings.speed / 2, settings.easing, function() { settings.hideCallback(); }); } }; return this.each(function() { var menuContainer = $(this), menu = menuContainer.find("> ul"), menuItems = menu.find("> li"), subMenuItems = menuItems.find('li').andSelf(); menuItems.each(function() { var subMenu = $(this).find('> ul'); if( subMenu.length ) { subMenu.css({ display: 'none' }); } }); // Binding events subMenuItems.each(function() { var item = $(this), subMenu = item.find("> ul"); if( subMenu.length ) { item .find('> a') .addClass('w-sub'); item .mouseenter(function() { instance.showSubMenu(subMenu); }) .mouseleave(function() { instance.hideSubMenu(subMenu); }); } }); }); } })(jQuery); /** * **************************************************************************** * THB go top * * $(".gotop").gotop(); * **************************************************************************** */ (function($) { $.fn.gotop = function(params) { var settings = { 'speed': 350, 'easing': 'linear' }; // Parameters $.extend(settings, params); return this.each(function(index, button) { button = $(button); button .click(function() { $('html, body').animate({ scrollTop: 0 }, settings.speed, settings.easing); return false; }); }); } })(jQuery); /** * **************************************************************************** * THB image preload * * $(".preload").preload(); * **************************************************************************** */ (function($) { $.fn.preload = function(params) { var settings = { 'image_delay': 350, 'image_transition': 350, 'image_easing': 'linear', 'loaded_slides': 0 }; // Parameters $.extend(settings, params); return this.each(function(index, preload) { preload = $(preload); // Images // ---------------------------------------------------------------- var images = preload.find("img"); images.each(function(j, image) { var image = $(image); image.css({ "visibility": "hidden", "opacity": 0 }); // Image URL var src = image.attr("src"); // The loading action var sequence = settings.sequenced ? index : 1; image .attr("src", "") .one("load", function() { image.css("visibility", "visible"); image.delay(settings.image_delay * sequence).animate({ "opacity": 1 }, settings.image_transition, settings.image_easing, function() { preload.css("background-image", "none"); image.css("filter", "none"); settings.loaded_slides++; if( settings.loaded_slides == images.length ) { $(window).trigger('resize'); } }); }) .attr("src", src); if(image.get(0).complete) $(this).trigger("load"); }); }); } })(jQuery); /** * **************************************************************************** * THB full background image * * $.fullBackground(); * **************************************************************************** */ (function($) { $.fullBackground = function(parameters) { // Parameters // -------------------------------------------------------------------- var p = $.extend({ speed: 500, easing: 'linear', backgroundContainerId: 'background_slider', slideClass: 'slide', slideLoadedClass: 'slide_loaded', height: 0, offsetHeight: 'center' // 'center', 'top', 'bottom' }, parameters); // Full background instance // -------------------------------------------------------------------- var instance = { // Window dimensions w_width: 0, w_height: 0, // Slides dimensions width: 0, height: 0, offsetTop: 0, offsetLeft: 0, // Canvas support canvas_support: false, // Container container: $("#" + p.backgroundContainerId), // Slides slides: $("#" + p.backgroundContainerId).find("." + p.slideClass), // Check for canvas support checkCanvasSupport: function () { var canvas = document.createElement("canvas"); // instance.canvas_support = !!(canvas.getContext && canvas.getContext('2d')); if( instance.canvas_support ) $("body").addClass("canvas"); }, // Window resize windowResize: function() { setTimeout(function() { instance.slides.each(function(i, slide) { slide = $(slide); instance.slideResize(slide); }); }, 10); }, // Calculate image dimensions calculateDimensions: function(imgObj) { var w_ratio = instance.w_width / instance.w_height, img_height = imgObj.height, img_width = imgObj.width, img_ratio = img_width / img_height; if( w_ratio < img_ratio ) { // The window is smaller than the image instance.height = instance.w_height; instance.width = (instance.w_height/img_height) * img_width; } else { instance.height = (instance.w_width/img_width) * img_height; instance.width = instance.w_width; } instance.offsetTop = (instance.height - instance.w_height) / -2; instance.offsetLeft = (instance.width - instance.w_width) / -2; if( p.offsetHeight == 'top' ) instance.offsetTop = 0; if( p.offsetHeight == 'bottom' ) { instance.offsetTop = instance.w_height - instance.height; } }, // Slide loading slideLoad: function(slide) { var img = slide.find("img"); var src = img.attr("src"); img.attr("src", ""); img .one("load", function() { instance.slideRender(slide); }) .attr("src", src) .mousedown(function() { return false; }); }, // Slide render slideRender: function(slide) { var img = slide.find("img"), canvas = slide.find("canvas"); var imgObj = img.get(0); instance.calculateDimensions(imgObj); var obj = img; if( instance.canvas_support ) obj = canvas; if( instance.canvas_support ) { var ctx = canvas.get(0).getContext('2d'); ctx.drawImage(imgObj, instance.offsetLeft, instance.offsetTop, instance.width, instance.height); } else { var shiftLeft = (instance.width - instance.w_width) / 2 * -1, shiftTop = (instance.height - instance.w_height) / 2 * -1; if( p.offsetHeight == 'top' ) { shiftTop = 0; } if( p.offsetHeight == 'bottom' ) { shiftTop = instance.w_height - instance.height; } img .css({ height: instance.height, width: instance.width, "max-width": "none", position: "relative", left: shiftLeft, top: shiftTop }); } if( !slide.hasClass(p.slideLoadedClass) ) { obj .css({ visibility: 'visible', opacity: 0 }) .stop() .animate({ opacity: 1 }, p.speed, p.easing, function() { slide.addClass(p.slideLoadedClass); }); } }, // Get the slide type getSlideType: function(slide) { if( slide.hasClass("slide_type_picture") ) return "picture"; else if( slide.hasClass("slide_type_video") ) return "video"; else return "html"; }, // Slide resize slideResize: function(slide) { // Getting the viewport's dimension right on iOS instance.w_width = instance.container.width(); instance.w_height = instance.container.height(); // Slide type var type = instance.getSlideType(slide); if( type == "video" ) { var iframe = slide.find("iframe"); var object = slide.find("object"); if( iframe.length > 0 ) { iframe .attr({ height: instance.w_height, width: instance.w_width }); } if( object.length > 0 ) { object .attr({ height: instance.w_height, width: instance.w_width }); } } else { if( instance.canvas_support ) { var canvas = slide.find("canvas"); if( canvas.length == 0 ) { canvas = $(''); canvas .css({ opacity: 0 }) .appendTo(slide); } else canvas .attr({ height: instance.w_height, width: instance.w_width }); } } if( !slide.hasClass(p.slideLoadedClass) ) instance.slideLoad(slide); else instance.slideRender(slide); } }; // Bindings // -------------------------------------------------------------------- $(window) .resize(function() { instance.windowResize(); }); window.onorientationchange = function() { instance.windowResize(); } // Boot // -------------------------------------------------------------------- instance.checkCanvasSupport(); $(window).trigger("resize"); } })(jQuery); /** * Isotope v1.5.19 * An exquisite jQuery plugin for magical layouts * http://isotope.metafizzy.co * * Commercial use requires one-time license fee * http://metafizzy.co/#licenses * * Copyright 2012 David DeSandro / Metafizzy */ (function(a,b,c){"use strict";var d=a.document,e=a.Modernizr,f=function(a){return a.charAt(0).toUpperCase()+a.slice(1)},g="Moz Webkit O Ms".split(" "),h=function(a){var b=d.documentElement.style,c;if(typeof b[a]=="string")return a;a=f(a);for(var e=0,h=g.length;e"+d+"{#modernizr{height:3px}}"+"").appendTo("head"),f=b('
').appendTo("html");a=f.height()===3,f.remove(),e.remove()}return a},csstransitions:function(){return!!j}},l;if(e)for(l in k)e.hasOwnProperty(l)||e.addTest(l,k[l]);else{e=a.Modernizr={_version:"1.6ish: miniModernizr for Isotope"};var m=" ",n;for(l in k)n=k[l](),e[l]=n,m+=" "+(n?"":"no-")+l;b("html").addClass(m)}if(e.csstransforms){var o=e.csstransforms3d?{translate:function(a){return"translate3d("+a[0]+"px, "+a[1]+"px, 0) "},scale:function(a){return"scale3d("+a+", "+a+", 1) "}}:{translate:function(a){return"translate("+a[0]+"px, "+a[1]+"px) "},scale:function(a){return"scale("+a+") "}},p=function(a,c,d){var e=b.data(a,"isoTransform")||{},f={},g,h={},j;f[c]=d,b.extend(e,f);for(g in e)j=e[g],h[g]=o[g](j);var k=h.translate||"",l=h.scale||"",m=k+l;b.data(a,"isoTransform",e),a.style[i]=m};b.cssNumber.scale=!0,b.cssHooks.scale={set:function(a,b){p(a,"scale",b)},get:function(a,c){var d=b.data(a,"isoTransform");return d&&d.scale?d.scale:1}},b.fx.step.scale=function(a){b.cssHooks.scale.set(a.elem,a.now+a.unit)},b.cssNumber.translate=!0,b.cssHooks.translate={set:function(a,b){p(a,"translate",b)},get:function(a,c){var d=b.data(a,"isoTransform");return d&&d.translate?d.translate:[0,0]}}}var q,r;e.csstransitions&&(q={WebkitTransitionProperty:"webkitTransitionEnd",MozTransitionProperty:"transitionend",OTransitionProperty:"oTransitionEnd",transitionProperty:"transitionEnd"}[j],r=h("transitionDuration"));var s=b.event,t;s.special.smartresize={setup:function(){b(this).bind("resize",s.special.smartresize.handler)},teardown:function(){b(this).unbind("resize",s.special.smartresize.handler)},handler:function(a,b){var c=this,d=arguments;a.type="smartresize",t&&clearTimeout(t),t=setTimeout(function(){jQuery.event.handle.apply(c,d)},b==="execAsap"?0:100)}},b.fn.smartresize=function(a){return a?this.bind("smartresize",a):this.trigger("smartresize",["execAsap"])},b.Isotope=function(a,c,d){this.element=b(c),this._create(a),this._init(d)};var u=["width","height"],v=b(a);b.Isotope.settings={resizable:!0,layoutMode:"masonry",containerClass:"isotope",itemClass:"isotope-item",hiddenClass:"isotope-hidden",hiddenStyle:{opacity:0,scale:.001},visibleStyle:{opacity:1,scale:1},containerStyle:{position:"relative",overflow:"hidden"},animationEngine:"best-available",animationOptions:{queue:!1,duration:800},sortBy:"original-order",sortAscending:!0,resizesContainer:!0,transformsEnabled:!b.browser.opera,itemPositionDataEnabled:!1},b.Isotope.prototype={_create:function(a){this.options=b.extend({},b.Isotope.settings,a),this.styleQueue=[],this.elemCount=0;var c=this.element[0].style;this.originalStyle={};var d=u.slice(0);for(var e in this.options.containerStyle)d.push(e);for(var f=0,g=d.length;fg?1:f0&&(i=function(a,b){b.$el[d](b.style,f).one(q,k)},j=!1)}}b.each(this.styleQueue,i),j&&k(),this.styleQueue=[]},resize:function(){this["_"+this.options.layoutMode+"ResizeChanged"]()&&this.reLayout()},reLayout:function(a){this["_"+this.options.layoutMode+"Reset"](),this.layout(this.$filteredAtoms,a)},addItems:function(a,b){var c=this._getAtoms(a);this.$allAtoms=this.$allAtoms.add(c),b&&b(c)},insert:function(a,b){this.element.append(a);var c=this;this.addItems(a,function(a){var d=c._filter(a);c._addHideAppended(d),c._sort(),c.reLayout(),c._revealAppended(d,b)})},appended:function(a,b){var c=this;this.addItems(a,function(a){c._addHideAppended(a),c.layout(a),c._revealAppended(a,b)})},_addHideAppended:function(a){this.$filteredAtoms=this.$filteredAtoms.add(a),a.addClass("no-transition"),this._isInserting=!0,this.styleQueue.push({$el:a,style:this.options.hiddenStyle})},_revealAppended:function(a,b){var c=this;setTimeout(function(){a.removeClass("no-transition"),c.styleQueue.push({$el:a,style:c.options.visibleStyle}),c._isInserting=!1,c._processStyleQueue(a,b)},10)},reloadItems:function(){this.$allAtoms=this._getAtoms(this.element.children())},remove:function(a,b){var c=this,d=function(){c.$allAtoms=c.$allAtoms.not(a),a.remove(),b&&b.call(c.element)};a.filter(":not(."+this.options.hiddenClass+")").length?(this.styleQueue.push({$el:a,style:this.options.hiddenStyle}),this.$filteredAtoms=this.$filteredAtoms.not(a),this._sort(),this.reLayout(d)):d()},shuffle:function(a){this.updateSortData(this.$allAtoms),this.options.sortBy="random",this._sort(),this.reLayout(a)},destroy:function(){var a=this.usingTransforms,b=this.options;this.$allAtoms.removeClass(b.hiddenClass+" "+b.itemClass).each(function(){var b=this.style;b.position="",b.top="",b.left="",b.opacity="",a&&(b[i]="")});var c=this.element[0].style;for(var d in this.originalStyle)c[d]=this.originalStyle[d];this.element.unbind(".isotope").undelegate("."+b.hiddenClass,"click").removeClass(b.containerClass).removeData("isotope"),v.unbind(".isotope")},_getSegments:function(a){var b=this.options.layoutMode,c=a?"rowHeight":"columnWidth",d=a?"height":"width",e=a?"rows":"cols",g=this.element[d](),h,i=this.options[b]&&this.options[b][c]||this.$filteredAtoms["outer"+f(d)](!0)||g;h=Math.floor(g/i),h=Math.max(h,1),this[b][e]=h,this[b][c]=i},_checkIfSegmentsChanged:function(a){var b=this.options.layoutMode,c=a?"rows":"cols",d=this[b][c];return this._getSegments(a),this[b][c]!==d},_masonryReset:function(){this.masonry={},this._getSegments();var a=this.masonry.cols;this.masonry.colYs=[];while(a--)this.masonry.colYs.push(0)},_masonryLayout:function(a){var c=this,d=c.masonry;a.each(function(){var a=b(this),e=Math.ceil(a.outerWidth(!0)/d.columnWidth);e=Math.min(e,d.cols);if(e===1)c._masonryPlaceBrick(a,d.colYs);else{var f=d.cols+1-e,g=[],h,i;for(i=0;id&&(e.x=0,e.y=e.height),c._pushPosition(a,e.x,e.y),e.height=Math.max(e.y+g,e.height),e.x+=f})},_fitRowsGetContainerSize:function(){return{height:this.fitRows.height}},_fitRowsResizeChanged:function(){return!0},_cellsByRowReset:function(){this.cellsByRow={index:0},this._getSegments(),this._getSegments(!0)},_cellsByRowLayout:function(a){var c=this,d=this.cellsByRow;a.each(function(){var a=b(this),e=d.index%d.cols,f=Math.floor(d.index/d.cols),g=(e+.5)*d.columnWidth-a.outerWidth(!0)/2,h=(f+.5)*d.rowHeight-a.outerHeight(!0)/2;c._pushPosition(a,g,h),d.index++})},_cellsByRowGetContainerSize:function(){return{height:Math.ceil(this.$filteredAtoms.length/this.cellsByRow.cols)*this.cellsByRow.rowHeight+this.offset.top}},_cellsByRowResizeChanged:function(){return this._checkIfSegmentsChanged()},_straightDownReset:function(){this.straightDown={y:0}},_straightDownLayout:function(a){var c=this;a.each(function(a){var d=b(this);c._pushPosition(d,0,c.straightDown.y),c.straightDown.y+=d.outerHeight(!0)})},_straightDownGetContainerSize:function(){return{height:this.straightDown.y}},_straightDownResizeChanged:function(){return!0},_masonryHorizontalReset:function(){this.masonryHorizontal={},this._getSegments(!0);var a=this.masonryHorizontal.rows;this.masonryHorizontal.rowXs=[];while(a--)this.masonryHorizontal.rowXs.push(0)},_masonryHorizontalLayout:function(a){var c=this,d=c.masonryHorizontal;a.each(function(){var a=b(this),e=Math.ceil(a.outerHeight(!0)/d.rowHeight);e=Math.min(e,d.rows);if(e===1)c._masonryHorizontalPlaceBrick(a,d.rowXs);else{var f=d.rows+1-e,g=[],h,i;for(i=0;id&&(e.x=e.width,e.y=0),c._pushPosition(a,e.x,e.y),e.width=Math.max(e.x+f,e.width),e.y+=g})},_fitColumnsGetContainerSize:function(){return{width:this.fitColumns.width}},_fitColumnsResizeChanged:function(){return!0},_cellsByColumnReset:function(){this.cellsByColumn={index:0},this._getSegments(),this._getSegments(!0)},_cellsByColumnLayout:function(a){var c=this,d=this.cellsByColumn;a.each(function(){var a=b(this),e=Math.floor(d.index/d.rows),f=d.index%d.rows,g=(e+.5)*d.columnWidth-a.outerWidth(!0)/2,h=(f+.5)*d.rowHeight-a.outerHeight(!0)/2;c._pushPosition(a,g,h),d.index++})},_cellsByColumnGetContainerSize:function(){return{width:Math.ceil(this.$filteredAtoms.length/this.cellsByColumn.rows)*this.cellsByColumn.columnWidth}},_cellsByColumnResizeChanged:function(){return this._checkIfSegmentsChanged(!0)},_straightAcrossReset:function(){this.straightAcross={x:0}},_straightAcrossLayout:function(a){var c=this;a.each(function(a){var d=b(this);c._pushPosition(d,c.straightAcross.x,0),c.straightAcross.x+=d.outerWidth(!0)})},_straightAcrossGetContainerSize:function(){return{width:this.straightAcross.x}},_straightAcrossResizeChanged:function(){return!0}},b.fn.imagesLoaded=function(a){function h(){a.call(c,d)}function i(a){var c=a.target;c.src!==f&&b.inArray(c,g)===-1&&(g.push(c),--e<=0&&(setTimeout(h),d.unbind(".imagesLoaded",i)))}var c=this,d=c.find("img").add(c.filter("img")),e=d.length,f="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==",g=[];return e||h(),d.bind("load.imagesLoaded error.imagesLoaded",i).each(function(){var a=this.src;this.src=f,this.src=a}),c};var w=function(b){a.console&&a.console.error(b)};b.fn.isotope=function(a,c){if(typeof a=="string"){var d=Array.prototype.slice.call(arguments,1);this.each(function(){var c=b.data(this,"isotope");if(!c){w("cannot call methods on isotope prior to initialization; attempted to call method '"+a+"'");return}if(!b.isFunction(c[a])||a.charAt(0)==="_"){w("no such method '"+a+"' for isotope instance");return}c[a].apply(c,d)})}else this.each(function(){var d=b.data(this,"isotope");d?(d.option(a),d._init(c)):b.data(this,"isotope",new b.Isotope(a,this,c))});return this}})(window,jQuery); /** * **************************************************************************** * THB Isotope * * $.THB_Isotope({ * filter: '#filter', itemsContainer: '#worklist', itemsClass: '.item', pagContainer: '.portfolio-nav', useAJAX: true * }) * **************************************************************************** */ (function($) { $.THB_Isotope = function(params, ipar) { var items_loading = false; // Isotope elements // -------------------------------------------------------------------- var elements = { filter: '#thb-isotope-filter', itemsContainer: '#thb-isotope-container', itemsClass: '.item', pagContainer: '#thb-isotope-pagination', useAJAX: false }; $.extend(elements, params); var isotopeFilter = $(elements.filter), itemsContainer = $(elements.itemsContainer), items = $(elements.itemsClass), pagContainer = $(elements.pagContainer), useFilter = isotopeFilter.length > 0, useNav = pagContainer.length > 0; // Isotope params // -------------------------------------------------------------------- var isotopeParams = { itemSelector: elements.items, layoutMode: 'fitRows', animationOptions: { duration: 250, easing: 'linear', queue: false } } $.extend(isotopeParams, ipar); // Body classes // -------------------------------------------------------------------- if( !useFilter ) $('body').addClass('isotope-no-filter'); // Loading Isotope // -------------------------------------------------------------------- var instance = { init: function() { itemsContainer.imagesLoaded(function() { setTimeout(function() { itemsContainer.isotope(isotopeParams); if( useFilter ) { instance.filterDisplay(); } if( useNav ) { instance.attachNavigationEvents(); } $(window).trigger('resize'); }, 10); if( items.preload ) { items.preload(); } $(window).trigger('resize'); }); }, attachFilterEvents: function() { isotopeFilter.find('a') .live('dblclick', function( event ) { $(this).trigger('click'); return false; }) .live('click', function( event ) { isotopeFilter.find(".current").removeClass("current"); $(this).parent("li").addClass("current"); if( elements.useAJAX ) { if( !items_loading ) { items_loading = true; var href = $(this).attr("href"); instance.refreshPage(href); } } else { var href = $(this).attr('data-term-slug'); var options = {}; if( href != 'all' ) options.filter = "."+href; else options.filter = elements.itemsClass; itemsContainer.isotope(options); } return false; }); }, attachNavigationEvents: function() { pagContainer.find('a') .live('dblclick', function( event ) { $(this).trigger('click'); return false; }) .live('click', function( event ) { if( elements.useAJAX && !items_loading) { items_loading = true; var href = $(this).attr("href"); pagContainer.find(".current").removeClass("current"); $(this).parent().addClass("current"); instance.refreshPage(href); return false; } return true; }); }, filterDisplay: function() { if( !elements.useAJAX ) { isotopeFilter.find('a').each(function() { var href = $(this).attr('data-term-slug'); if( href != 'all' && $(elements.itemsClass + "." + href).length == 0 ) { $(this).parent().remove(); } }); } instance.attachFilterEvents(); isotopeFilter .css({ opacity: 0, visibility: 'visible' }) .delay(1000) .animate({ opacity: 1 }, 250); }, loadItems: function(href) { if( isotopeFilter != null ) { isotopeFilter.find(".loader").addClass("loading"); } $.get(href, function(data) { data = "
" + data + "
"; var html = $( $(data).find(elements.itemsContainer).html() ); html = html.filter(function() { return this.nodeType == 1; }); html.imagesLoaded(function() { setTimeout(function() { if( useNav ) { var navigation = $(data).find(elements.pagContainer).html(); pagContainer.html(navigation); } itemsContainer.isotope( 'insert', html ); do_gallery(); items = $(elements.itemsClass); if( items.preload ) { items.preload(); } if( useFilter ) { isotopeFilter.find(".loader").removeClass("loading"); } items_loading = false; }, 10) }); }); }, refreshPage: function(href) { items = $(elements.itemsClass); itemsContainer.isotope( 'remove', items ); instance.loadItems(href); } } // Firing up Isotope // -------------------------------------------------------------------- instance.init(); } })(jQuery); /** * **************************************************************************** * THB toggle * * $(".toggle").toggle(); * **************************************************************************** */ (function($) { $.fn.toggle = function(parameters) { var parameters = jQuery.extend( { speed: '500', easing: 'linear', contentClass: 'slide_container', activeClass: 'open', openedByDefaultClass: 'default_open' }, parameters); $("."+parameters.contentClass).hide(); return this.each(function(i,e) { var item = $(e); item.click(function() { $(this) .toggleClass(parameters.activeClass) .next() .toggleClass(parameters.activeClass) .slideToggle(parameters.speed, parameters.easing); return false; }); if(item.hasClass(parameters.openedByDefaultClass)) item.trigger("click"); }); } })(jQuery); /** * **************************************************************************** * THB tabs * * $(".tabs_container").tabs(); * **************************************************************************** */ (function($) { $.fn.tabs = function(parameters) { var parameters = jQuery.extend( { speed: '500', easing: 'linear', contentClass: 'tab-content', navigationClass: 't-nav', activeClass: 'active', contentActiveClass: 'content-active' }, parameters); return this.each(function(i,e) { var tabs = $(e); var navigation = tabs.find("."+parameters.navigationClass); var items = navigation.children(); items.first().addClass(parameters.activeClass); var contents = tabs.find("."+parameters.contentClass+":eq(0)").addClass(parameters.contentActiveClass); items.each(function(j, item) { var item = $(item); item.find("a").click(function() { var a = $(this); if(item.hasClass(parameters.activeClass)) return false; items.removeClass(parameters.activeClass); item.addClass(parameters.activeClass); var contents = tabs.find("."+parameters.contentClass), activeTab = a.attr("href"); // if( tabs.hasClass('vertical') ) { // contents.hide(parameters.speed, parameters.easing); // $(activeTab).show(parameters.speed, parameters.easing); // } // else { contents.slideUp(parameters.speed, parameters.easing); $(activeTab).slideDown(parameters.speed, parameters.easing); // } return false; }); }); }); } })(jQuery); /** * **************************************************************************** * THB accordion * * $(".accordion_container").accordion(); * **************************************************************************** */ (function($) { $.fn.accordion = function(parameters) { var parameters = jQuery.extend( { speed: '500', easing: 'linear', itemClass: 'acc_item', contentClass: 'acc_container', titleClass: 'acc_trigger', openClass: 'open', firstElementOpenedByDefaultClass: 'first_element_opened', firstElementOpenedByDefault: false }, parameters); return this.each(function(i,e) { var accordion = $j(e); var items = accordion.children("."+parameters.itemClass); items.each(function(j,item) { var item = $j(item); var title = item.find("."+parameters.titleClass); title.click(function() { var parent = $j(this).parent("."+parameters.itemClass); items.not(parent).find("."+parameters.contentClass).slideUp(parameters.speed, parameters.easing); items.not(parent).find("."+parameters.titleClass).removeClass(parameters.openClass); var content = parent.find("."+parameters.contentClass); if(content.css("display") == "none") { parent.find("."+parameters.contentClass).slideDown(parameters.speed, parameters.easing); $j(this).addClass(parameters.openClass); } else { parent.find("."+parameters.contentClass).slideUp(parameters.speed, parameters.easing); $j(this).removeClass(parameters.openClass); } return false; }); if( j==0 && ((parameters.firstElementOpenedByDefault) || accordion.hasClass(parameters.firstElementOpenedByDefaultClass)) ) title.trigger("click"); }); }); } })(jQuery); /** * **************************************************************************** * THB map * * $(".map").gmap(); * **************************************************************************** */ (function($) { $.fn.gmap = function() { this.each(function(i, mapElement) { var myLatlng = []; var address = []; // Data var data_latlong = $j(mapElement).attr("data-latlong"); var data_latlong_split = data_latlong.split(","); var data_lat = data_latlong_split[0]; var data_long = data_latlong_split[1]; var data_zoom = $j(mapElement).attr("data-zoom"); var data_address = $j(mapElement).attr("data-address"); var data_height = $j(mapElement).attr("data-height"); var data_width = $j(mapElement).attr("data-width"); myLatlng.push(new google.maps.LatLng(data_lat, data_long)); var myOptions = { zoom: parseInt(data_zoom), mapTypeControl: false, streetViewControl: false, scrollwheel: false, zoomControlOptions: { style: google.maps.ZoomControlStyle.SMALL }, center: myLatlng[0], mapTypeId: google.maps.MapTypeId.ROADMAP } var map = new google.maps.Map(mapElement, myOptions); var num_markers = myLatlng.length; var infowindow = new google.maps.InfoWindow({ content: "" }); if( data_address != '' ) address.push(data_address); var marker_title = (address.length > 0) ? address[0] : ""; var marker = new google.maps.Marker({ position: myLatlng[0], map: map, title: marker_title, animation: google.maps.Animation.DROP }); google.maps.event.addListener(marker, 'click', function() { infowindow.close(); infowindow.setContent("

"+this.title+"

"); infowindow.open(map, this); }); $j(mapElement).css({ height: data_height, width: data_width }); var center; function calculateCenter() { center = map.getCenter(); } google.maps.event.addDomListener(map, 'idle', function() { calculateCenter(); }); google.maps.event.addDomListener(window, 'resize', function() { map.setCenter(center); }); }); } })(jQuery); /* FILE ARCHIVED ON 02:13:16 Dec 21, 2014 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 11:18:21 Apr 10, 2019. JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). */ /* playback timings (ms): LoadShardBlock: 34.291 (3) esindex: 0.01 captures_list: 65.099 CDXLines.iter: 12.687 (3) PetaboxLoader3.datanode: 54.128 (4) exclusion.robots: 0.343 exclusion.robots.policy: 0.326 RedisCDXSource: 14.342 PetaboxLoader3.resolve: 45.006 load_resource: 86.999 */