/**
 * Isotope v1.4.110721
 * An exquisite jQuery plugin for magical layouts
 * http://isotope.metafizzy.co
 *
 * Commercial use requires one-time license fee
 * http://metafizzy.co/#licenses
 *
 * Copyright 2011 David DeSandro / Metafizzy
 */
/*jshint curly: true, eqeqeq: true, forin: false, immed: false, newcap: true, noempty: true, undef: true */
/*global Modernizr: true */
(function(a,b,c){function f(a){var b=document.documentElement.style,c;if(typeof b[a]=="string")return a;a=d(a);for(var f=0,g=e.length;f<g;f++){c=e[f]+a;if(typeof b[c]=="string")return c}}function d(a){return a.charAt(0).toUpperCase()+a.slice(1)}var e="Moz Webkit Khtml O Ms".split(" "),g=f("transform"),h={csstransforms:function(){return!!g},csstransforms3d:function(){var a=!!f("perspective");if(a){var c=" -o- -moz- -ms- -webkit- -khtml- ".split(" "),d="@media ("+c.join("transform-3d),(")+"modernizr)",e=b("<style>"+d+"{#modernizr{height:3px}}"+"</style>").appendTo("head"),g=b('<div id="modernizr" />').appendTo("html");a=g.height()===3,g.remove(),e.remove()}return a},csstransitions:function(){return!!f("transitionProperty")}};if(a.Modernizr)for(var i in h)Modernizr.hasOwnProperty(i)||Modernizr.addTest(i,h[i]);else a.Modernizr=function(){var a={_version:"1.6ish: miniModernizr for Isotope"},c=" ",d,e;for(e in h)d=h[e](),a[e]=d,c+=" "+(d?"":"no-")+e;b("html").addClass(c);return a}();if(Modernizr.csstransforms){var j=Modernizr.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+") "}},k=function(a,c,d){var e=b.data(a,"isoTransform")||{},f={},h,i={},k;f[c]=d,b.extend(e,f);for(h in e)k=e[h],i[h]=j[h](k);var l=i.translate||"",m=i.scale||"",n=l+m;b.data(a,"isoTransform",e),a.style[g]=n};b.cssNumber.scale=!0,b.cssHooks.scale={set:function(a,b){k(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){k(a,"translate",b)},get:function(a,c){var d=b.data(a,"isoTransform");return d&&d.translate?d.translate:[0,0]}}}var l=b.event,m;l.special.smartresize={setup:function(){b(this).bind("resize",l.special.smartresize.handler)},teardown:function(){b(this).unbind("resize",l.special.smartresize.handler)},handler:function(a,b){var c=this,d=arguments;a.type="smartresize",m&&clearTimeout(m),m=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){this.element=b(c),this._create(a),this._init()};var n=["overflow","position","width","height"];b.Isotope.settings={resizable:!0,layoutMode:"masonry",containerClass:"isotope",itemClass:"isotope-item",hiddenClass:"isotope-hidden",hiddenStyle:Modernizr.csstransforms&&!b.browser.opera?{opacity:0,scale:.001}:{opacity:0},visibleStyle:Modernizr.csstransforms&&!b.browser.opera?{opacity:1,scale:1}:{opacity:1},animationEngine:b.browser.opera?"jquery":"best-available",animationOptions:{queue:!1,duration:800},sortBy:"original-order",sortAscending:!0,resizesContainer:!0,transformsEnabled:!0,itemPositionDataEnabled:!1},b.Isotope.prototype={_create:function(c){this.options=b.extend({},b.Isotope.settings,c),this.styleQueue=[],this.elemCount=0;var d=this.element[0].style;this.originalStyle={};for(var e=0,f=n.length;e<f;e++){var g=n[e];this.originalStyle[g]=d[g]||null}this.element.css({overflow:"hidden",position:"relative"}),this._updateAnimationEngine(),this._updateUsingTransforms();var h={"original-order":function(a,b){return b.elemCount},random:function(){return Math.random()}};this.options.getSortData=b.extend(this.options.getSortData,h),this.reloadItems();var i=b(document.createElement("div")).prependTo(this.element);this.offset=i.position(),i.remove();var j=this;setTimeout(function(){j.element.addClass(j.options.containerClass)},0),this.options.resizable&&b(a).bind("smartresize.isotope",function(){j.resize()})},_getAtoms:function(a){var b=this.options.itemSelector,c=b?a.filter(b).add(a.find(b)):a,d={position:"absolute"};this.usingTransforms&&(d.left=0,d.top=0),c.css(d).addClass(this.options.itemClass),this.updateSortData(c,!0);return c},_init:function(a){this.$filteredAtoms=this._filter(this.$allAtoms),this._sort(),this.reLayout(a)},option:function(a){if(b.isPlainObject(a)){this.options=b.extend(!0,this.options,a);var c;for(var e in a)c="_update"+d(e),this[c]&&this[c]()}},_updateAnimationEngine:function(){var a=this.options.animationEngine.toLowerCase().replace(/[ _\-]/g,"");switch(a){case"css":case"none":this.isUsingJQueryAnimation=!1;break;case"jquery":this.isUsingJQueryAnimation=!0;break;default:this.isUsingJQueryAnimation=!Modernizr.csstransitions}this._updateUsingTransforms()},_updateTransformsEnabled:function(){this._updateUsingTransforms()},_updateUsingTransforms:function(){this.usingTransforms=this.options.transformsEnabled&&Modernizr.csstransforms&&Modernizr.csstransitions&&!this.isUsingJQueryAnimation,this.getPositionStyles=this.usingTransforms?this._translate:this._positionAbs},_filter:function(a){var b=this.options.filter===""?"*":this.options.filter;if(!b)return a;var c=this.options.hiddenClass,d="."+c,e=a.filter(d),f=e;if(b!=="*"){f=e.filter(b);var g=a.not(d).not(b).addClass(c);this.styleQueue.push({$el:g,style:this.options.hiddenStyle})}this.styleQueue.push({$el:f,style:this.options.visibleStyle}),f.removeClass(c);return a.filter(b)},updateSortData:function(a,c){var d=this,e=this.options.getSortData,f,g;a.each(function(){f=b(this),g={};for(var a in e)g[a]=e[a](f,d);b.data(this,"isotope-sort-data",g),c&&d.elemCount++})},_sort:function(){var a=this.options.sortBy,b=this._getSorter,c=this.options.sortAscending?1:-1,d=function(d,e){var f=b(d,a),g=b(e,a);f===g&&a!=="original-order"&&(f=b(d,"original-order"),g=b(e,"original-order"));return(f>g?1:f<g?-1:0)*c};this.$filteredAtoms.sort(d)},_getSorter:function(a,c){return b.data(a,"isotope-sort-data")[c]},_translate:function(a,b){return{translate:[a,b]}},_positionAbs:function(a,b){return{left:a,top:b}},_pushPosition:function(a,b,c){b+=this.offset.left,c+=this.offset.top;var d=this.getPositionStyles(b,c);this.styleQueue.push({$el:a,style:d}),this.options.itemPositionDataEnabled&&a.data("isotope-item-position",{x:b,y:c})},layout:function(a,b){var c=this.options.layoutMode;this["_"+c+"Layout"](a);if(this.options.resizesContainer){var d=this["_"+c+"GetContainerSize"]();this.styleQueue.push({$el:this.element,style:d})}this._processStyleQueue(),b&&b.call(a),this.isLaidOut=!0},_processStyleQueue:function(){var a=this.isLaidOut?this.isUsingJQueryAnimation?"animate":"css":"css",c=this.options.animationOptions,d=this._isInserting&&this.isUsingJQueryAnimation,e;b.each(this.styleQueue,function(b,f){e=d&&f.$el.hasClass("no-transition")?"css":a,f.$el[e](f.style,c)}),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,!0);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._processStyleQueue(),delete c._isInserting,b&&b(a)},10)},reloadItems:function(){this.$allAtoms=this._getAtoms(this.element.children())},remove:function(a){this.$allAtoms=this.$allAtoms.not(a),this.$filteredAtoms=this.$filteredAtoms.not(a),a.remove()},shuffle:function(){this.updateSortData(this.$allAtoms),this.options.sortBy="random",this._sort(),this.reLayout()},destroy:function(){var c=this.usingTransforms;this.$allAtoms.removeClass(this.options.hiddenClass+" "+this.options.itemClass).each(function(){this.style.position=null,this.style.top=null,this.style.left=null,this.style.opacity=null,c&&(this.style[g]=null)});var d=this.element[0].style;for(var e=0,f=n.length;e<f;e++){var h=n[e];d[h]=this.originalStyle[h]}this.element.unbind(".isotope").removeClass(this.options.containerClass).removeData("isotope"),b(a).unbind(".isotope")},_getSegments:function(a){var b=this.options.layoutMode,c=a?"rowHeight":"columnWidth",e=a?"height":"width",f=a?"rows":"cols",g=this.element[e](),h,i=this.options[b]&&this.options[b][c]||this.$filteredAtoms["outer"+d(e)](!0)||g;h=Math.floor(g/i),h=Math.max(h,1),this[b][f]=h,this[b][c]=i},_checkIfSegmentsChanged:function(a){var b=this.options.layoutMode,c=a?"rows":"cols",d=this[b][c];this._getSegments(a);return 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;i<f;i++)h=d.colYs.slice(i,i+e),g[i]=Math.max.apply(Math,h);c._masonryPlaceBrick(a,g)}})},_masonryPlaceBrick:function(a,b){var c=Math.min.apply(Math,b),d=0;for(var e=0,f=b.length;e<f;e++)if(b[e]===c){d=e;break}var g=this.masonry.columnWidth*d,h=c;this._pushPosition(a,g,h);var i=c+a.outerHeight(!0),j=this.masonry.cols+1-f;for(e=0;e<j;e++)this.masonry.colYs[d+e]=i},_masonryGetContainerSize:function(){var a=Math.max.apply(Math,this.masonry.colYs);return{height:a}},_masonryResizeChanged:function(){return this._checkIfSegmentsChanged()},_fitRowsReset:function(){this.fitRows={x:0,y:0,height:0}},_fitRowsLayout:function(a){var c=this,d=this.element.width(),e=this.fitRows;a.each(function(){var a=b(this),f=a.outerWidth(!0),g=a.outerHeight(!0);e.x!==0&&f+e.x>d&&(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=~~(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;i<f;i++)h=d.rowXs.slice(i,i+e),g[i]=Math.max.apply(Math,h);c._masonryHorizontalPlaceBrick(a,g)}})},_masonryHorizontalPlaceBrick:function(a,b){var c=Math.min.apply(Math,b),d=0;for(var e=0,f=b.length;e<f;e++)if(b[e]===c){d=e;break}var g=c,h=this.masonryHorizontal.rowHeight*d;this._pushPosition(a,g,h);var i=c+a.outerWidth(!0),j=this.masonryHorizontal.rows+1-f;for(e=0;e<j;e++)this.masonryHorizontal.rowXs[d+e]=i},_masonryHorizontalGetContainerSize:function(){var a=Math.max.apply(Math,this.masonryHorizontal.rowXs);return{width:a}},_masonryHorizontalResizeChanged:function(){return this._checkIfSegmentsChanged(!0)},_fitColumnsReset:function(){this.fitColumns={x:0,y:0,width:0}},_fitColumnsLayout:function(a){var c=this,d=this.element.height(),e=this.fitColumns;a.each(function(){var a=b(this),f=a.outerWidth(!0),g=a.outerHeight(!0);e.y!==0&&g+e.y>d&&(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=~~(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){var b=this.find("img"),c=[],d=this,e=b.length;if(!b.length){a.call(this);return this}b.one("load error",function(){--e===0&&(e=b.length,b.one("load error",function(){--e===0&&a.call(d)}).each(function(){this.src=c.shift()}))}).each(function(){c.push(this.src),this.src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw=="});return this};var o=function(a){this.console&&console.error(a)};b.fn.isotope=function(a){if(typeof a=="string"){var c=Array.prototype.slice.call(arguments,1);this.each(function(){var d=b.data(this,"isotope");if(!d)o("cannot call methods on isotope prior to initialization; attempted to call method '"+a+"'");else{if(!b.isFunction(d[a])||a.charAt(0)==="_"){o("no such method '"+a+"' for isotope instance");return}d[a].apply(d,c)}})}else this.each(function(){var c=b.data(this,"isotope");c?(c.option(a),c._init()):b.data(this,"isotope",new b.Isotope(a,this))});return this}})(window,jQuery);

/**
 * jQuery.ScrollTo - Easy element scrolling using jQuery.
 * Copyright (c) 2007-2009 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
 * Dual licensed under MIT and GPL.
 * Date: 5/25/2009
 * @author Ariel Flesler
 * @version 1.4.2
 *
 * http://flesler.blogspot.com/2007/10/jqueryscrollto.html
 */
;(function(d){var k=d.scrollTo=function(a,i,e){d(window).scrollTo(a,i,e)};k.defaults={axis:'xy',duration:parseFloat(d.fn.jquery)>=1.3?0:1};k.window=function(a){return d(window)._scrollable()};d.fn._scrollable=function(){return this.map(function(){var a=this,i=!a.nodeName||d.inArray(a.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!i)return a;var e=(a.contentWindow||a).document||a.ownerDocument||a;return d.browser.safari||e.compatMode=='BackCompat'?e.body:e.documentElement})};d.fn.scrollTo=function(n,j,b){if(typeof j=='object'){b=j;j=0}if(typeof b=='function')b={onAfter:b};if(n=='max')n=9e9;b=d.extend({},k.defaults,b);j=j||b.speed||b.duration;b.queue=b.queue&&b.axis.length>1;if(b.queue)j/=2;b.offset=p(b.offset);b.over=p(b.over);return this._scrollable().each(function(){var q=this,r=d(q),f=n,s,g={},u=r.is('html,body');switch(typeof f){case'number':case'string':if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(f)){f=p(f);break}f=d(f,this);case'object':if(f.is||f.style)s=(f=d(f)).offset()}d.each(b.axis.split(''),function(a,i){var e=i=='x'?'Left':'Top',h=e.toLowerCase(),c='scroll'+e,l=q[c],m=k.max(q,i);if(s){g[c]=s[h]+(u?0:l-r.offset()[h]);if(b.margin){g[c]-=parseInt(f.css('margin'+e))||0;g[c]-=parseInt(f.css('border'+e+'Width'))||0}g[c]+=b.offset[h]||0;if(b.over[h])g[c]+=f[i=='x'?'width':'height']()*b.over[h]}else{var o=f[h];g[c]=o.slice&&o.slice(-1)=='%'?parseFloat(o)/100*m:o}if(/^\d+$/.test(g[c]))g[c]=g[c]<=0?0:Math.min(g[c],m);if(!a&&b.queue){if(l!=g[c])t(b.onAfterFirst);delete g[c]}});t(b.onAfter);function t(a){r.animate(g,j,b.easing,a&&function(){a.call(this,n,b)})}}).end()};k.max=function(a,i){var e=i=='x'?'Width':'Height',h='scroll'+e;if(!d(a).is('html,body'))return a[h]-d(a)[e.toLowerCase()]();var c='client'+e,l=a.ownerDocument.documentElement,m=a.ownerDocument.body;return Math.max(l[h],m[h])-Math.min(l[c],m[c])};function p(a){return typeof a=='object'?a:{top:a,left:a}}})(jQuery);

/*
 * jQuery.SerialScroll - Animated scrolling of series
 * Copyright (c) 2007-2009 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
 * Dual licensed under MIT and GPL.
 * Date: 06/14/2009
 * @author Ariel Flesler
 * @version 1.2.2
 * http://flesler.blogspot.com/2008/02/jqueryserialscroll.html
 */
;(function(a){var b=a.serialScroll=function(c){return a(window).serialScroll(c)};b.defaults={duration:1e3,axis:"x",event:"click",start:0,step:1,lock:!0,cycle:!0,constant:!0};a.fn.serialScroll=function(c){return this.each(function(){var t=a.extend({},b.defaults,c),s=t.event,i=t.step,r=t.lazy,e=t.target?this:document,u=a(t.target||this,e),p=u[0],m=t.items,h=t.start,g=t.interval,k=t.navigation,l;if(!r){m=d()}if(t.force){f({},h)}a(t.prev||[],e).bind(s,-i,q);a(t.next||[],e).bind(s,i,q);if(!p.ssbound){u.bind("prev.serialScroll",-i,q).bind("next.serialScroll",i,q).bind("goto.serialScroll",f)}if(g){u.bind("start.serialScroll",function(v){if(!g){o();g=!0;n()}}).bind("stop.serialScroll",function(){o();g=!1})}u.bind("notify.serialScroll",function(x,w){var v=j(w);if(v>-1){h=v}});p.ssbound=!0;if(t.jump){(r?u:d()).bind(s,function(v){f(v,j(v.target))})}if(k){k=a(k,e).bind(s,function(v){v.data=Math.round(d().length/k.length)*k.index(this);f(v,this)})}function q(v){v.data+=h;f(v,this)}function f(B,z){if(!isNaN(z)){B.data=z;z=p}var C=B.data,v,D=B.type,A=t.exclude?d().slice(0,-t.exclude):d(),y=A.length,w=A[C],x=t.duration;if(D){B.preventDefault()}if(g){o();l=setTimeout(n,t.interval)}if(!w){v=C<0?0:y-1;if(h!=v){C=v}else{if(!t.cycle){return}else{C=y-v-1}}w=A[C]}if(!w||t.lock&&u.is(":animated")||D&&t.onBefore&&t.onBefore(B,w,u,d(),C)===!1){return}if(t.stop){u.queue("fx",[]).stop()}if(t.constant){x=Math.abs(x/i*(h-C))}u.scrollTo(w,x,t).trigger("notify.serialScroll",[C])}function n(){u.trigger("next.serialScroll")}function o(){clearTimeout(l)}function d(){return a(m,p)}function j(w){if(!isNaN(w)){return w}var x=d(),v;while((v=x.index(w))==-1&&w!=p){w=w.parentNode}return v}})}})(jQuery);

/* Copyright (c) 2009 Brandon Aaron (http://brandonaaron.net)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 * Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers.
 * Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix.
 *
 * Version: 3.0.2
 * 
 * Requires: 1.2.2+
 */
(function(c){var a=["DOMMouseScroll","mousewheel"];c.event.special.mousewheel={setup:function(){if(this.addEventListener){for(var d=a.length;d;){this.addEventListener(a[--d],b,false)}}else{this.onmousewheel=b}},teardown:function(){if(this.removeEventListener){for(var d=a.length;d;){this.removeEventListener(a[--d],b,false)}}else{this.onmousewheel=null}}};c.fn.extend({mousewheel:function(d){return d?this.bind("mousewheel",d):this.trigger("mousewheel")},unmousewheel:function(d){return this.unbind("mousewheel",d)}});function b(f){var d=[].slice.call(arguments,1),g=0,e=true;f=c.event.fix(f||window.event);f.type="mousewheel";if(f.wheelDelta){g=f.wheelDelta/120}if(f.detail){g=-f.detail/3}d.unshift(f,g);return c.event.handle.apply(this,d)}})(jQuery);

/*!
jQuery Waypoints - v1.0.2
Copyright (c) 2011 Caleb Troughton
Dual licensed under the MIT license and GPL license.
https://github.com/imakewebthings/jquery-waypoints/blob/master/MIT-license.txt
https://github.com/imakewebthings/jquery-waypoints/blob/master/GPL-license.txt
*/
(function($,wp,wps,window,undefined){var $w=$(window),waypoints=[],oldScroll=-99999,didScroll=false,didResize=false,eventName="waypoint.reached",methods={init:function(f,options){this.each(function(){var $this=$(this),ndx=waypointIndex($this),base=ndx<0?$.fn[wp].defaults:waypoints[ndx].options,opts=$.extend({},base,options);opts.offset=opts.offset==="right-in-view"?function(){return $[wps]("viewportWidth")-$(this).outerWidth();}:opts.offset;if(ndx<0){waypoints.push({element:$this,offset:$this.offset().left,options:opts});}else{waypoints[ndx].options=opts;}f&&$this.bind(eventName,f);});$[wps]("refresh");return this;},remove:function(){return this.each(function(){var ndx=waypointIndex($(this));if(ndx>=0){waypoints.splice(ndx,1);}});},destroy:function(){return this.unbind(eventName)[wp]("remove");}};function waypointIndex(el){var i=waypoints.length-1;while(i>=0&&waypoints[i].element[0]!==el[0]){i-=1;}return i;}function triggerWaypoint(way,dir){way.element.trigger(eventName,dir);if(way.options.triggerOnce){way.element[wp]("destroy");}}function doScroll(){var newScroll=$w.scrollLeft(),isRight=newScroll>oldScroll,pointsHit=$.grep(waypoints,function(el,i){return isRight?(el.offset>oldScroll&&el.offset<=newScroll):(el.offset<=oldScroll&&el.offset>newScroll);});if(!oldScroll||!newScroll){$[wps]("refresh");}oldScroll=newScroll;if(!pointsHit.length){return;}if($[wps].settings.continuous){$.each(isRight?pointsHit:pointsHit.reverse(),function(i,point){triggerWaypoint(point,[isRight?"right":"left"]);});}else{triggerWaypoint(pointsHit[isRight?pointsHit.length-1:0],[isRight?"right":"left"]);}}$.fn[wp]=function(method){if(methods[method]){return methods[method].apply(this,Array.prototype.slice.call(arguments,1));}else{if(typeof method==="function"||!method){return methods.init.apply(this,arguments);}else{if(typeof method==="object"){return methods.init.apply(this,[null,method]);}else{$.error("Method "+method+" does not exist on jQuery"+wp);}}}};$.fn[wp].defaults={offset:0,triggerOnce:false};var jQMethods={refresh:function(){$.each(waypoints,function(i,o){var adjustment=0,oldOffset=o.offset;if(typeof o.options.offset==="function"){adjustment=o.options.offset.apply(o.element);}else{if(typeof o.options.offset==="string"){var amount=parseFloat(o.options.offset),adjustment=o.options.offset.indexOf("%")?Math.ceil($[wps]("viewportWidth")*(amount/100)):amount;}else{adjustment=o.options.offset;}}o.offset=o.element.offset().left-adjustment;if(oldScroll>oldOffset&&oldScroll<=o.offset){triggerWaypoint(o,["left"]);}else{if(oldScroll<oldOffset&&oldScroll>=o.offset){triggerWaypoint(o,["right"]);}}});waypoints.sort(function(a,b){return a.offset-b.offset;});},viewportWidth:function(){return(window.innerWidth?window.innerWidth:$w.width());},aggregate:function(){var points=$();$.each(waypoints,function(i,e){points=points.add(e.element);});return points;}};$[wps]=function(method){if(jQMethods[method]){return jQMethods[method].apply(this);}else{return jQMethods.aggregate();}};$[wps].settings={continuous:true,resizeThrottle:200,scrollThrottle:100};$w.scroll(function(){if(!didScroll){didScroll=true;window.setTimeout(function(){doScroll();didScroll=false;},$[wps].settings.scrollThrottle);}}).resize(function(){if(!didResize){didResize=true;window.setTimeout(function(){$[wps]("refresh");didResize=false;},$[wps].settings.resizeThrottle);}}).load(function(){$[wps]("refresh");doScroll();});})(jQuery,"waypoint","waypoints",this);

/*
 * jQuery replaceText - v1.1 - 11/21/2009
 * http://benalman.com/projects/jquery-replacetext-plugin/
 * 
 * Copyright (c) 2009 "Cowboy" Ben Alman
 * Dual licensed under the MIT and GPL licenses.
 * http://benalman.com/about/license/
 */
/* (function($){$.fn.replaceText=function(b,a,c){return this.each(function(){var f=this.firstChild,g,e,d=[];if(f){do{if(f.nodeType===3){g=f.nodeValue;e=g.replace(b,a);if(e!==g){if(!c&&/</.test(e)){$(f).before(e);d.push(f)}else{f.nodeValue=e}}}}while(f=f.nextSibling)}d.length&&$(d).remove()})}})(jQuery); */


(function($){


  var sirinaMenua = 270, $sirinaEkrana = $(window).width(), $visinaEkrana = $(window).height(), maliEkran = 660, $zadnji = $('#info-items p').last(), $waypointSelektori = $('#natjecaj, #natjecaj2, #izbor, #projekt, #projekt2, #izvedba, #realizacija, #projekt-info, #projekt-info2, #urbanizam, #analiza, #studija, #idejnorjesenje, #idejniprojekt, #glavniprojekt, #izvedbeniprojekt, #interijer'), $kondenziranoSakriveno = $("#main .vrsta, #main #info-items, #main .opis-slike"), $Target;
  

  
  function unistiFancybox() {
    $("a.fancyb").unbind('click'); 
    $("a.fancyb").click(function(e) {
      e.preventDefault();
    });
  }

  function waypointi() {
    $waypointSelektori.waypoint({ offset: sirinaMenua });
    $waypointSelektori.waypoint(function(event, direction) {
      var $active = $(this);
      if (direction === "left") {
        $active = $active.prevAll('.vrsta');
      }
      $('.kvadratic-active').removeClass('kvadratic-active');
      $('a[href=#'+$active.attr('id')+']').addClass('kvadratic-active');
    });
  }
  function uKondenzirano(){
    $kondenziranoSakriveno.hide();
    $('#kvadratic-kondenzirano').addClass('kvadratic-kondenzirano-active');
    $("#main").addClass('kondenzirano').isotope('reLayout', function(){
      $(window).scrollLeft(0);
      $waypointSelektori.waypoint('remove');
      $('.kvadratic-active').removeClass('kvadratic-active');
      
      $("a.fancyb").fancybox({
        'overlayShow'	:	false,
        'padding' : 35
      });
    });
  }
  function uNekondenzirano(){
    $kondenziranoSakriveno.show();
    $('#kvadratic-kondenzirano').removeClass('kvadratic-kondenzirano-active');  //zapravo treba remove i obrnuto
    $("#main").removeClass('kondenzirano').isotope('reLayout', function(){
      $(window).scrollLeft(0);
      waypointi();
    });
    unistiFancybox(); 
  }

  function radoviUSiroko(){
    $('a#radovi-kondenzirano').removeClass('kvadratic-kondenzirano-active');
    $('a#radovi-siroko').addClass('kvadratic-siroko-active');
    $("#isotope-container").removeClass('kondenzirano').addClass('siroko').isotope('reLayout', function(){
      $(window).scrollLeft(0);
      $waypointSelektori.waypoint('remove');
      $('.kvadratic-active').removeClass('kvadratic-active');
    });
  }
  function radoviUKondenzirano(){
    $('a#radovi-siroko').removeClass('kvadratic-siroko-active');
    $('a#radovi-kondenzirano').addClass('kvadratic-kondenzirano-active');
    $("#isotope-container").removeClass('siroko').addClass('kondenzirano').isotope('reLayout', function(){
      $(window).scrollLeft(0);
      $waypointSelektori.waypoint('remove');
      $('.kvadratic-active').removeClass('kvadratic-active');
    });
  }
// komentirat 
/*
  function udaljenost(cilj){
    var trenutnaPozicija = $('body').scrollLeft();
    var pozicijaElementa =  $(cilj).offset().left;
    var distanca = pozicijaElementa - trenutnaPozicija - sirinaMenua;
    return distanca;
  }
*/

  function skroler(){
    /* var vrijeme = Math.abs(udaljenost($Target)*3+3000); */
    $.scrollTo($Target, 800, {
      offset: -sirinaMenua/*,
      onAfter: function () {
        $('#cloud1').animate({
          opacity: 0
        },
            300);
      }*/
    });
  }
  

// ZA PREGLED SVIH PROJEKATA
$('#isotope-container').isotope({
  itemSelector : '.isotope-item',
  layoutMode : 'fitColumns',
  transformsEnabled: false,
  animationEngine : 'css',  //ako stavim css nece radit scroll u FFoxu
  filter: filterParam
}).queue(function() {
  $("#isotope-container.kondenzirano .isotope-item-img").hover(function() {
    $(".isotope-item").toggleClass('isotope-item-wide');
  });
});
  
    
 /*  $("#isotope-container .isotope-item").addClass('isotope-item-wide'); */

  $('a#radovi-siroko').click(function (event) {
    radoviUSiroko();
    event.preventDefault();
  });
  $('a#radovi-kondenzirano').click(function (event) {
    radoviUKondenzirano();
    event.preventDefault();
  });

  
  $("#isotope-container").css('paddingRight', ($sirinaEkrana - sirinaMenua ));
/*  $('#nav .sec-nav-right a, #namjena').click(function(event){
    var selector = $(this).attr('data-filter');
    $('#isotope-container').isotope({ filter: selector });
    event.preventDefault();
  });*/

  $('a.scroll').click(function(event) {
    $Target = this.hash;
    if ($("#main").hasClass('kondenzirano')){
      uNekondenzirano();
      skroler();
    }
    else{ skroler(); }
    event.preventDefault();
  });

// ZA POJEDINE PROJEKTE I TEKSTOVE
  $zadnji.css('marginRight', ($sirinaEkrana - $zadnji.width() - sirinaMenua - 2 ));
  $("#o-nama-container .zadnji").css('marginRight', ($sirinaEkrana - 296 - sirinaMenua - 448 ));
  $("#kontakt-container .zadnji").css('marginRight', ($sirinaEkrana - 296 - sirinaMenua - 389 ));
  
  (function(){
    $('#main').isotope({
      itemSelector: '.vrsta, .odrezi, p, h3',
      layoutMode: 'fitColumns',
      transformsEnabled: false,
      animationEngine: 'css'
    });
    waypointi();
  })();
  
  (function(){
    $('#o-nama-container').isotope({
      itemSelector: 'p, .razbij, h2, .vrsta',
      layoutMode: 'fitColumns',
      transformsEnabled: false,
      animationEngine: 'css'
    });
  })();
  
  $('#kontakt-container').isotope({
    itemSelector: '.stupac',
    layoutMode: 'fitColumns',
    transformsEnabled: false,
    animationEngine: 'css'
  });
  
  
  //ako je ekran mali napravit isotope relayout nakon sta se ucitaju slike da se dobro rasporede
  if ($visinaEkrana <= maliEkran) {
    $('#main').imagesLoaded( function(){
      $(this).isotope( 'reLayout' );
      waypointi();
    });
  }
  
  $("SELECT").change( function() {
    window.location = $(this).val();
  } );


  $('a#kvadratic-kondenzirano').click(function (event) {
    if ($("#main").hasClass('kondenzirano')){ uNekondenzirano(); }
    else{ uKondenzirano(); }
    event.preventDefault();
  });

  // DA SE MOZE SKROLAT HORIZONTALNO MISEM - html selektor za FF a body za Webkit

  $('html, body').mousewheel(function (event, delta) {
    this.scrollLeft -= (delta * 30);
  });
  
  /* var hovered = false; */


  /*
$("#mainselection select").hover(function() {
  	$('html, body').unbind("mousewheel");
  }, function() {
  	$('html, body').mousewheel(function (event, delta) {
      this.scrollLeft -= (delta * 30);
    });
  });
*/

  $("#mainselection select").focus(function() {
  	$('html, body').unbind("mousewheel");
  });
  $("#mainselection select").blur(function() {
  	$('html, body').mousewheel(function (event, delta) {
      this.scrollLeft -= (delta * 30);
    });
  });
  
  $("input.potrazi").focus(function() {
    $("#sisea-search-form").animate({
      width: '300px'
    }, 900, function() {
      $("input.potrazi").animate({
        width: '269px'
      }, 1, function() {
        // Animation complete.
      }); 
    });
  });

  $("input.potrazi").blur(function() {
    $(this).animate({
      width: '69px'
    }, 1, function() {
      $("#sisea-search-form").animate({
        width: '100px'
      }, 900, function() {
        // Animation complete.
      }); 
    });
  });
  
  
  $("#site-search-results").hover(function() {
  	$('html, body').unbind("mousewheel");
  }, function() {
  	$('html, body').mousewheel(function (event, delta) {
      this.scrollLeft -= (delta * 30);
    });
  });
  
/*
  $('html, body').bind("mousewheel", function() {
  	if (hovered === true) {
  		return false;
  	}
  });
*/


// horizontalna navigacija strelicama pojedinacni rad
  $('body#pojedinacni').serialScroll({
		items:'a.fancyb img, #projekt-info, #projekt-info2',
		prev:'body#pojedinacni #livo',
		next:'body#pojedinacni #desno',
		offset:-sirinaMenua, //when scrolling to photo, stop 230 before reaching it (from the left)
		axis:'x',
		duration:1200,
		cycle:false //don't pull back once you reach the end
	});
	
// horizontalna navigacija strelicama svi radovi
  $('body#svi').serialScroll({
		items:'.isotope-item-img',
		prev:'body#svi #livo',
		next:'body#svi #desno',
		offset:-sirinaMenua,
		step:4,
		cycle:false //don't pull back once you reach the end
	});
// horizontalna navigacija strelicama "kontakt"
  $('body#ko').serialScroll({
		items:'.stupac',
		prev:'body#ko #livo',
		next:'body#ko #desno',
		offset:-sirinaMenua,
		step:1,
		cycle:false //don't pull back once you reach the end
	});
	
// horizontalna navigacija strelicama "O nama"
	$('body#mi #desno').click(function(){
		$.scrollTo('+=404px', 800, { offset: -sirinaMenua });
	});
	$('body#mi #livo').click(function(){
		$.scrollTo('-=404px', 800, { offset: -sirinaMenua });
	});
	
  unistiFancybox();
  



// FILTRIRANJE===========================================================================================

//Daje vrijednost tag parmetra iz URLa stranice pojedinog projekta. Svrha je dalje filtriranje linkova u dropdownu i oznacavanje aktivne kategorije u menuu.
function getTagParam(){
  var _url = document.URL;
  var indeks = _url.indexOf("tag=");
  if(indeks != -1){
    var tagParam = _url.slice(indeks + 4);
    return tagParam;
  } else {
    return null; 
  }
}

//filtrira dropdown menu po vrijednost "tag" parmetra iz URLa, stranica pojedinog projekta
function dropdownFilter(){
  var tagParam = getTagParam();
  if (tagParam != null) {
    $("#mainselection option").each(function() {
      if (!($(this).hasClass(tagParam))) { $(this).remove(); } 
    });
    $("#mainselection option").each(function() {
      var oldValue = $(this).attr("value");
      $(this).attr("value", oldValue + '&tag=' + tagParam); 
    });
  } 
}

dropdownFilter();

// Dodjeljuje parametar kategorije linkovima nakon filtriranja na stranici popisa projekata
function parametriLinkova(selector){
$("a.isotope-item-link").each(function() {
    var stariLink = $(this).attr("href");
    var indeks = stariLink.indexOf("&tag");
    if(indeks!= -1){
      var _href = stariLink.substring(0,indeks);
      $(this).attr("href", _href + '&tag=' + selector);
    } else {
      $(this).attr("href", stariLink + '&tag=' + selector);
    }
      
  });
}

// Filtriranje isotope-itema na stranici popisa projekata
var $filtri = $('#svi .sec-nav-right li a');
$filtri.click(function(event){
  $(window).scrollLeft(0);
  var selector = $(this).attr('data-filter');
  $filtri.removeClass('current trokutic');
  $(this).addClass('current trokutic');
  $('#isotope-container').isotope({ filter: "." + selector });
  
  event.preventDefault();
  parametriLinkova(selector);
});

// Oznacavanje (trokuticem) aktivne kategorije u menuu i inicijalni filter
var pocetniParam = getTagParam();
if (pocetniParam != null){
  var filterParam = "." + pocetniParam;
  $('#isotope-container').isotope({ filter: filterParam });
  parametriLinkova(pocetniParam);
  $('#filters a' + filterParam).addClass('current trokutic');
  $('#filters-rad a' + filterParam).addClass('current trokutic');
}

$(window).load(function() {
  $('.flexslider').flexslider({
    animation: "slide",
    slideshowSpeed: 1001,
    slideToStart: -1,
    animationDuration: 2680,
    pauseOnAction: false,
    controlsContainer: "#flexslider-container",
    directionNav: false,
    controlNav: false
  });
});


// AJAX SEARCH
$("#sisea-search-form").submit(function () {//Handle submission
  $("#site-search-results").load("/search-landing.html",$("#sisea-search-form").serialize()).show();//Load results from our landing resource, show the container
});

$("#sisea-search-form input").keyup(function() {//Live search functionality
  if(this.value.length > 2) {//User types more than 2 characters in our search field
    $("#site-search-results").load("/search-landing.html",$("#sisea-search-form").serialize()).show();//Load search results from our landing resource and show the container
  }
  else {
    $("#site-search-results").hide();//If not more than 2 characters typed, make sure the results container is hidden (CSS display:none;)
  }
});


// hide search results if clicked outside "#site-search-results" box
$('body').click(function() {
    $("#site-search-results").fadeOut();
});
// don't hide search results if clicked inside "#site-search-results" box




$(".search-vise").live("click", function(){ $('#sisea-search-form').submit(); });


})(this.jQuery);
