var $j = jQuery.noConflict(); // -------------------------- // LOAD THE COMMON FUNCTIONS // -------------------------- $j(document).ready(function(){ //thb_preload('.preload img'); thb_filter(); thb_filter_blog(); thb_gotop('a.gotop'); thb_position(); thb_width(); thb_overlay(':not(#slideshow ul li) > a:has(img)'); thb_horz_carousel(); thb_tab(); thb_accordion(); thb_slideContent(); //thb_slide_overlay('#slideshow a'); }); // ----------------------------------------- // FUNCTIONS // ----------------------------------------- // ----------------------------------------- // SLIDE // ----------------------------------------- function thb_slideContent(){ container = '.slide_container'; trigger = '.slide_trigger'; $j(container).hide().css({ opacity : 0 }); $j(trigger).click(function(){ $j(this).toggleClass("active").next().toggleClass("active").fadeSliderToggle(); return false; }); } // ----------------------------------------- // TAB // ----------------------------------------- function thb_tab() { tabcontainer = '.horz-tabs'; tabcontent = '.tab-content'; tabnav = '.t-nav'; activeclass = 'active'; $j(tabcontent).hide(); var tabs = $j(tabcontainer); tabs.each(function(index, tab) { $j(tab).find("li").first().addClass(activeclass); $j(tab).find(tabcontent).first().show(); $j(tab).find("li").click(function() { $j(tab).find("li."+activeclass).removeClass(activeclass); $j(this).addClass(activeclass); $j(tab).find(tabcontent).hide(); var activeTab = $j(this).find("a").attr("href"); $j(activeTab).fadeIn(); return false; }); }); } // ----------------------------------------- // ACCORDION // ----------------------------------------- function thb_accordion() { // Containers and triggers main_container = '.acc_container'; sub_container = '.acc_container_sub'; main_trigger = '.acc_trigger'; sub_trigger = '.acc_trigger_sub'; $j(main_container).hide(); $j(main_trigger +":first").addClass('open').next().show(); $j(main_trigger).click(function(){ if( $j(this).next().is(':hidden') ) { openAccordion(this, main_trigger, sub_trigger); } else { closeAccordion(this, main_trigger, sub_trigger); } return false; }); $j(sub_container).hide(); $j(sub_trigger).click(function(){ if( $j(this).next().is(':hidden') ) { $j(this).nextUntil(main_trigger, sub_trigger).removeClass('sub_open').next().slideUp(); $j(this).toggleClass('sub_open').next().slideDown(); } else { $j(this).next().slideUp(); $j(this).removeClass('sub_open'); } return false; }); } function openAccordion(element, main_trigger, sub_trigger) { closeAccordion($j(element).prevAll(main_trigger), main_trigger, sub_trigger); closeAccordion($j(element).nextAll(main_trigger), main_trigger, sub_trigger); $j(element).addClass('open'); $j(element).next().slideDown(); } function closeAccordion(elements, main_trigger, sub_trigger) { $j(elements).each(function(index, element) { $j(element).next().slideUp(); $j(element).removeClass('open'); $j(element).nextUntil(main_trigger, sub_trigger).trigger('click'); }); } // ----------------------------------------- // CUSTOM PRELOAD // ----------------------------------------- function thb_preload(selector, parameters) { var params = { delay: 250, transition: 350, easing: 'linear' }; $j.extend(params, parameters); $j(selector).each(function() { var image = $j(this); image.css({visibility:'hidden', opacity: 0, display:'block'}); image.wrap(''); image.one("load", function(evt) { $j(this).delay(params.delay).css({visibility:'visible'}).animate({opacity: 1}, params.transition, params.easing, function() { $j(this).unwrap(''); thb_overlay(image); }); }).each(function() { if(this.complete) $j(this).trigger("load"); }); }); } // ----------------------------------------- // CUSTOM SLIDER // ----------------------------------------- function thb_slide_imgload(){ $j('#new-slider img').css({opacity: 0}); $j('#new-slider img').one('load', function() { $j(this).delay(250).animate({opacity:1}, 350); }).each(function() { if(this.complete) $j(this).trigger('load'); }); } function thb_slide_controls(){ $j('#slide-controls a').css({ opacity: 0 }); $j('#slideshow').hover(function(){ $j('#slide-controls a').animate({ opacity : 1 },200); }, function(){ $j('#slide-controls a').animate({ opacity : 0 },200); }); } // ----------------------------------------- // NAVIGATION AUTO POSITIONING // ----------------------------------------- function thb_position(){ var msie6 = $j.browser == 'msie' && $j.browser.version < 7; if (!msie6) { var top = $j('#main-nav').offset().top - parseFloat($j('#main-nav').css('margin-top').replace(/auto/, 0)); $j(window).scroll(function (event) { var y = $j(this).scrollTop(); if (y >= top) { $j('#main-nav').addClass('fixed'); } else { $j('#main-nav').removeClass('fixed'); } }); } } function thb_width(){ function resize(){ var browserwidth = $j(window).width(); if ((browserwidth) < '1070'){ $j('div.post-date').addClass('inner'); } else { $j('div.post-date').removeClass('inner'); } } resize(); $j(window).resize(function() { resize(); }); } // ----------------------------------------- // HORIZONTAL CAROUSEL // ----------------------------------------- function thb_horz_carousel(){ // Lastest works slideshow $j('.horz-carousel').cycle({ fx: 'scrollHorz', easing: 'easeInOutQuad', speed: 'slow', timeout: 0, next: '#arr-next', prev: '#arr-prev' }); } // ----------------------------------------- // FANCY BOX SETTINGS // ----------------------------------------- function thb_fancy(selector){ $j(selector).fancybox(); } // ----------------------------------------- // FANCY BOX GALLERY // ----------------------------------------- function thb_gallery(selector) { var images = $j(selector); images.each(function(index, item) { $j(item).attr("rel", "gallery"); }); } // ----------------------------------------- // OVERLAY // ----------------------------------------- function thb_slide_overlay(selector) { $j('').prependTo(selector); $j('.overlay').css({opacity : 0}); $j(selector).hover(function(){ if($j.browser.msie){ $j('.overlay',this).stop().animate({ opacity : .1},280); } else { $j('.overlay',this).stop().animate({ opacity : .2},280); } }, function(){ $j('.overlay',this).stop().animate({ opacity : 0},150); }); } function thb_overlay(selector) { var image = selector; if(typeof(selector) == "string") image = $j(selector); // IE FIX if($j.browser.msie){ image.hover(function(){ $j(this).stop().animate({opacity : .6},150); }, function(){ $j(this).stop().animate({opacity : 1},280); }); } // img overlay image.hover(function(){ $j(this).stop().animate({opacity : 0.8},150); }, function(){ $j(this).stop().animate({opacity : 1},280); }); } // ----------------------------------------- // BLOG FILTER // ----------------------------------------- function thb_filter_blog() { $j('#filter ul a').click(function() { $j(this).css('outline','none'); $j('#filter ul .current').removeClass('current'); $j(this).parent().addClass('current'); // var filterVal = $j(this).text().toLowerCase().replace(/ /gi,'-'); // filterVal = thb_normalizeAccents(filterVal); var filterVal = $j(this).attr("href").replace("#", ""); if(filterVal == 'all-posts') { $j("#postlist").fadeOut("fast", function() { $j('#postlist ul li.hidden').fadeIn('normal', function() { $j(this).removeClass('hidden'); }); $j(this).fadeIn("normal"); }); } else { $j("#postlist").fadeOut("fast", function() { $j('#postlist ul li').each(function() { if(!$j(this).hasClass(filterVal)) { $j(this).hide().addClass('hidden'); } else { $j(this).show().removeClass('hidden'); } }); $j(this).fadeIn("normal"); }) } return false; }); $j('#filter ul a.now').click(); //$j("#filter ul li.current a").trigger('click'); } // ----------------------------------------- // PORTFOLIO WORKS FILTER // ----------------------------------------- function thb_filter() { $j('#filter ul a').click(function() { $j(this).css('outline','none'); $j('#filter ul .current').removeClass('current'); $j(this).parent().addClass('current'); // var filterVal = $j(this).text().toLowerCase().replace(/ /gi,'-'); // filterVal = thb_normalizeAccents(filterVal); var filterVal = $j(this).attr("href").replace("#", ""); if(filterVal == 'all-works') { $j("#worklist").fadeOut("fast", function() { $j('#worklist ul li.hidden').fadeIn('normal', function() { $j(this) .removeClass('hidden') .addClass('shown'); }); $j(this).fadeIn("normal"); }); } else { $j("#worklist").fadeOut("fast", function() { $j('#worklist ul li').each(function() { if(!$j(this).hasClass(filterVal)) { $j(this).hide() .addClass('hidden') .removeClass('shown'); } else { $j(this).show() .removeClass('hidden') .addClass('shown'); } }); $j(this).fadeIn("normal"); }) } return false; }); $j('#filter ul a.now').click(); //$j("#filter ul li.current a").trigger('click'); } function thb_normalizeAccents(str) { var s=str; var rExps=[ /[\xC0-\xC2]/g, /[\xE0-\xE2]/g, /[\xC8-\xCA]/g, /[\xE8-\xEB]/g, /[\xCC-\xCE]/g, /[\xEC-\xEE]/g, /[\xD2-\xD4]/g, /[\xF2-\xF4]/g, /[\xD9-\xDB]/g, /[\xF9-\xFB]/g ]; var repChar=['A','a','E','e','I','i','O','o','U','u']; for(var i=0; i