/**
* ****************************************************************************
* 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
*/