/*!
 * jCarousel - Riding carousels with jQuery
 *   http://sorgalla.com/jcarousel/
 *
 * Copyright (c) 2006 Jan Sorgalla (http://sorgalla.com)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 *
 * Built on top of the jQuery library
 *   http://jquery.com
 *
 * Inspired by the "Carousel Component" by Bill Scott
 *   http://billwscott.com/carousel/
 */

(function(g){var q={vertical:!1,rtl:!1,start:1,offset:1,size:null,scroll:3,visible:null,animation:"normal",easing:"swing",auto:0,wrap:null,initCallback:null,setupCallback:null,reloadCallback:null,itemLoadCallback:null,itemFirstInCallback:null,itemFirstOutCallback:null,itemLastInCallback:null,itemLastOutCallback:null,itemVisibleInCallback:null,itemVisibleOutCallback:null,animationStepCallback:null,buttonNextHTML:"<div></div>",buttonPrevHTML:"<div></div>",buttonNextEvent:"click",buttonPrevEvent:"click", buttonNextCallback:null,buttonPrevCallback:null,itemFallbackDimension:null},m=!1;g(window).bind("load.jcarousel",function(){m=!0});g.jcarousel=function(a,c){this.options=g.extend({},q,c||{});this.autoStopped=this.locked=!1;this.buttonPrevState=this.buttonNextState=this.buttonPrev=this.buttonNext=this.list=this.clip=this.container=null;if(!c||c.rtl===void 0)this.options.rtl=(g(a).attr("dir")||g("html").attr("dir")||"").toLowerCase()=="rtl";this.wh=!this.options.vertical?"width":"height";this.lt=!this.options.vertical? this.options.rtl?"right":"left":"top";for(var b="",d=a.className.split(" "),f=0;f<d.length;f++)if(d[f].indexOf("jcarousel-skin")!=-1){g(a).removeClass(d[f]);b=d[f];break}a.nodeName.toUpperCase()=="UL"||a.nodeName.toUpperCase()=="OL"?(this.list=g(a),this.clip=this.list.parents(".jcarousel-clip"),this.container=this.list.parents(".jcarousel-container")):(this.container=g(a),this.list=this.container.find("ul,ol").eq(0),this.clip=this.container.find(".jcarousel-clip"));if(this.clip.size()===0)this.clip= this.list.wrap("<div></div>").parent();if(this.container.size()===0)this.container=this.clip.wrap("<div></div>").parent();b!==""&&this.container.parent()[0].className.indexOf("jcarousel-skin")==-1&&this.container.wrap('<div class=" '+b+'"></div>');this.buttonPrev=g(".jcarousel-prev",this.container);if(this.buttonPrev.size()===0&&this.options.buttonPrevHTML!==null)this.buttonPrev=g(this.options.buttonPrevHTML).appendTo(this.container);this.buttonPrev.addClass(this.className("jcarousel-prev"));this.buttonNext= g(".jcarousel-next",this.container);if(this.buttonNext.size()===0&&this.options.buttonNextHTML!==null)this.buttonNext=g(this.options.buttonNextHTML).appendTo(this.container);this.buttonNext.addClass(this.className("jcarousel-next"));this.clip.addClass(this.className("jcarousel-clip")).css({position:"relative"});this.list.addClass(this.className("jcarousel-list")).css({overflow:"hidden",position:"relative",top:0,margin:0,padding:0}).css(this.options.rtl?"right":"left",0);this.container.addClass(this.className("jcarousel-container")).css({position:"relative"}); !this.options.vertical&&this.options.rtl&&this.container.addClass("jcarousel-direction-rtl").attr("dir","rtl");var j=this.options.visible!==null?Math.ceil(this.clipping()/this.options.visible):null,b=this.list.children("li"),e=this;if(b.size()>0){var h=0,i=this.options.offset;b.each(function(){e.format(this,i++);h+=e.dimension(this,j)});this.list.css(this.wh,h+100+"px");if(!c||c.size===void 0)this.options.size=b.size()}this.container.css("display","block");this.buttonNext.css("display","block");this.buttonPrev.css("display", "block");this.funcNext=function(){e.next()};this.funcPrev=function(){e.prev()};this.funcResize=function(){e.resizeTimer&&clearTimeout(e.resizeTimer);e.resizeTimer=setTimeout(function(){e.reload()},100)};this.options.initCallback!==null&&this.options.initCallback(this,"init");!m&&g.browser.safari?(this.buttons(!1,!1),g(window).bind("load.jcarousel",function(){e.setup()})):this.setup()};var f=g.jcarousel;f.fn=f.prototype={jcarousel:"0.2.8"};f.fn.extend=f.extend=g.extend;f.fn.extend({setup:function(){this.prevLast= this.prevFirst=this.last=this.first=null;this.animating=!1;this.tail=this.resizeTimer=this.timer=null;this.inTail=!1;if(!this.locked){this.list.css(this.lt,this.pos(this.options.offset)+"px");var a=this.pos(this.options.start,!0);this.prevFirst=this.prevLast=null;this.animate(a,!1);g(window).unbind("resize.jcarousel",this.funcResize).bind("resize.jcarousel",this.funcResize);this.options.setupCallback!==null&&this.options.setupCallback(this)}},reset:function(){this.list.empty();this.list.css(this.lt, "0px");this.list.css(this.wh,"10px");this.options.initCallback!==null&&this.options.initCallback(this,"reset");this.setup()},reload:function(){this.tail!==null&&this.inTail&&this.list.css(this.lt,f.intval(this.list.css(this.lt))+this.tail);this.tail=null;this.inTail=!1;this.options.reloadCallback!==null&&this.options.reloadCallback(this);if(this.options.visible!==null){var a=this,c=Math.ceil(this.clipping()/this.options.visible),b=0,d=0;this.list.children("li").each(function(f){b+=a.dimension(this, c);f+1<a.first&&(d=b)});this.list.css(this.wh,b+"px");this.list.css(this.lt,-d+"px")}this.scroll(this.first,!1)},lock:function(){this.locked=!0;this.buttons()},unlock:function(){this.locked=!1;this.buttons()},size:function(a){if(a!==void 0)this.options.size=a,this.locked||this.buttons();return this.options.size},has:function(a,c){if(c===void 0||!c)c=a;if(this.options.size!==null&&c>this.options.size)c=this.options.size;for(var b=a;b<=c;b++){var d=this.get(b);if(!d.length||d.hasClass("jcarousel-item-placeholder"))return!1}return!0}, get:function(a){return g(">.jcarousel-item-"+a,this.list)},add:function(a,c){var b=this.get(a),d=0,p=g(c);if(b.length===0)for(var j,e=f.intval(a),b=this.create(a);;){if(j=this.get(--e),e<=0||j.length){e<=0?this.list.prepend(b):j.after(b);break}}else d=this.dimension(b);p.get(0).nodeName.toUpperCase()=="LI"?(b.replaceWith(p),b=p):b.empty().append(c);this.format(b.removeClass(this.className("jcarousel-item-placeholder")),a);p=this.options.visible!==null?Math.ceil(this.clipping()/this.options.visible): null;d=this.dimension(b,p)-d;a>0&&a<this.first&&this.list.css(this.lt,f.intval(this.list.css(this.lt))-d+"px");this.list.css(this.wh,f.intval(this.list.css(this.wh))+d+"px");return b},remove:function(a){var c=this.get(a);if(c.length&&!(a>=this.first&&a<=this.last)){var b=this.dimension(c);a<this.first&&this.list.css(this.lt,f.intval(this.list.css(this.lt))+b+"px");c.remove();this.list.css(this.wh,f.intval(this.list.css(this.wh))-b+"px")}},next:function(){this.tail!==null&&!this.inTail?this.scrollTail(!1): this.scroll((this.options.wrap=="both"||this.options.wrap=="last")&&this.options.size!==null&&this.last==this.options.size?1:this.first+this.options.scroll)},prev:function(){this.tail!==null&&this.inTail?this.scrollTail(!0):this.scroll((this.options.wrap=="both"||this.options.wrap=="first")&&this.options.size!==null&&this.first==1?this.options.size:this.first-this.options.scroll)},scrollTail:function(a){if(!this.locked&&!this.animating&&this.tail){this.pauseAuto();var c=f.intval(this.list.css(this.lt)), c=!a?c-this.tail:c+this.tail;this.inTail=!a;this.prevFirst=this.first;this.prevLast=this.last;this.animate(c)}},scroll:function(a,c){!this.locked&&!this.animating&&(this.pauseAuto(),this.animate(this.pos(a),c))},pos:function(a,c){var b=f.intval(this.list.css(this.lt));if(this.locked||this.animating)return b;this.options.wrap!="circular"&&(a=a<1?1:this.options.size&&a>this.options.size?this.options.size:a);for(var d=this.first>a,g=this.options.wrap!="circular"&&this.first<=1?1:this.first,j=d?this.get(g): this.get(this.last),e=d?g:g-1,h=null,i=0,k=!1,l=0;d?--e>=a:++e<a;){h=this.get(e);k=!h.length;if(h.length===0&&(h=this.create(e).addClass(this.className("jcarousel-item-placeholder")),j[d?"before":"after"](h),this.first!==null&&this.options.wrap=="circular"&&this.options.size!==null&&(e<=0||e>this.options.size)))j=this.get(this.index(e)),j.length&&(h=this.add(e,j.clone(!0)));j=h;l=this.dimension(h);k&&(i+=l);if(this.first!==null&&(this.options.wrap=="circular"||e>=1&&(this.options.size===null||e<= this.options.size)))b=d?b+l:b-l}for(var g=this.clipping(),m=[],o=0,n=0,j=this.get(a-1),e=a;++o;){h=this.get(e);k=!h.length;if(h.length===0){h=this.create(e).addClass(this.className("jcarousel-item-placeholder"));if(j.length===0)this.list.prepend(h);else j[d?"before":"after"](h);if(this.first!==null&&this.options.wrap=="circular"&&this.options.size!==null&&(e<=0||e>this.options.size))j=this.get(this.index(e)),j.length&&(h=this.add(e,j.clone(!0)))}j=h;l=this.dimension(h);if(l===0)throw Error("jCarousel: No width/height set for items. This will cause an infinite loop. Aborting..."); this.options.wrap!="circular"&&this.options.size!==null&&e>this.options.size?m.push(h):k&&(i+=l);n+=l;if(n>=g)break;e++}for(h=0;h<m.length;h++)m[h].remove();i>0&&(this.list.css(this.wh,this.dimension(this.list)+i+"px"),d&&(b-=i,this.list.css(this.lt,f.intval(this.list.css(this.lt))-i+"px")));i=a+o-1;if(this.options.wrap!="circular"&&this.options.size&&i>this.options.size)i=this.options.size;if(e>i){o=0;e=i;for(n=0;++o;){h=this.get(e--);if(!h.length)break;n+=this.dimension(h);if(n>=g)break}}e=i-o+ 1;this.options.wrap!="circular"&&e<1&&(e=1);if(this.inTail&&d)b+=this.tail,this.inTail=!1;this.tail=null;if(this.options.wrap!="circular"&&i==this.options.size&&i-o+1>=1&&(d=f.intval(this.get(i).css(!this.options.vertical?"marginRight":"marginBottom")),n-d>g))this.tail=n-g-d;if(c&&a===this.options.size&&this.tail)b-=this.tail,this.inTail=!0;for(;a-- >e;)b+=this.dimension(this.get(a));this.prevFirst=this.first;this.prevLast=this.last;this.first=e;this.last=i;return b},animate:function(a,c){if(!this.locked&& !this.animating){this.animating=!0;var b=this,d=function(){b.animating=!1;a===0&&b.list.css(b.lt,0);!b.autoStopped&&(b.options.wrap=="circular"||b.options.wrap=="both"||b.options.wrap=="last"||b.options.size===null||b.last<b.options.size||b.last==b.options.size&&b.tail!==null&&!b.inTail)&&b.startAuto();b.buttons();b.notify("onAfterAnimation");if(b.options.wrap=="circular"&&b.options.size!==null)for(var c=b.prevFirst;c<=b.prevLast;c++)c!==null&&!(c>=b.first&&c<=b.last)&&(c<1||c>b.options.size)&&b.remove(c)}; this.notify("onBeforeAnimation");if(!this.options.animation||c===!1)this.list.css(this.lt,a+"px"),d();else{var f=!this.options.vertical?this.options.rtl?{right:a}:{left:a}:{top:a},d={duration:this.options.animation,easing:this.options.easing,complete:d};if(g.isFunction(this.options.animationStepCallback))d.step=this.options.animationStepCallback;this.list.animate(f,d)}}},startAuto:function(a){if(a!==void 0)this.options.auto=a;if(this.options.auto===0)return this.stopAuto();if(this.timer===null){this.autoStopped= !1;var c=this;this.timer=window.setTimeout(function(){c.next()},this.options.auto*1E3)}},stopAuto:function(){this.pauseAuto();this.autoStopped=!0},pauseAuto:function(){if(this.timer!==null)window.clearTimeout(this.timer),this.timer=null},buttons:function(a,c){if(a==null&&(a=!this.locked&&this.options.size!==0&&(this.options.wrap&&this.options.wrap!="first"||this.options.size===null||this.last<this.options.size),!this.locked&&(!this.options.wrap||this.options.wrap=="first")&&this.options.size!==null&& this.last>=this.options.size))a=this.tail!==null&&!this.inTail;if(c==null&&(c=!this.locked&&this.options.size!==0&&(this.options.wrap&&this.options.wrap!="last"||this.first>1),!this.locked&&(!this.options.wrap||this.options.wrap=="last")&&this.options.size!==null&&this.first==1))c=this.tail!==null&&this.inTail;var b=this;this.buttonNext.size()>0?(this.buttonNext.unbind(this.options.buttonNextEvent+".jcarousel",this.funcNext),a&&this.buttonNext.bind(this.options.buttonNextEvent+".jcarousel",this.funcNext), this.buttonNext[a?"removeClass":"addClass"](this.className("jcarousel-next-disabled")).attr("disabled",a?!1:!0),this.options.buttonNextCallback!==null&&this.buttonNext.data("jcarouselstate")!=a&&this.buttonNext.each(function(){b.options.buttonNextCallback(b,this,a)}).data("jcarouselstate",a)):this.options.buttonNextCallback!==null&&this.buttonNextState!=a&&this.options.buttonNextCallback(b,null,a);this.buttonPrev.size()>0?(this.buttonPrev.unbind(this.options.buttonPrevEvent+".jcarousel",this.funcPrev), c&&this.buttonPrev.bind(this.options.buttonPrevEvent+".jcarousel",this.funcPrev),this.buttonPrev[c?"removeClass":"addClass"](this.className("jcarousel-prev-disabled")).attr("disabled",c?!1:!0),this.options.buttonPrevCallback!==null&&this.buttonPrev.data("jcarouselstate")!=c&&this.buttonPrev.each(function(){b.options.buttonPrevCallback(b,this,c)}).data("jcarouselstate",c)):this.options.buttonPrevCallback!==null&&this.buttonPrevState!=c&&this.options.buttonPrevCallback(b,null,c);this.buttonNextState= a;this.buttonPrevState=c},notify:function(a){var c=this.prevFirst===null?"init":this.prevFirst<this.first?"next":"prev";this.callback("itemLoadCallback",a,c);this.prevFirst!==this.first&&(this.callback("itemFirstInCallback",a,c,this.first),this.callback("itemFirstOutCallback",a,c,this.prevFirst));this.prevLast!==this.last&&(this.callback("itemLastInCallback",a,c,this.last),this.callback("itemLastOutCallback",a,c,this.prevLast));this.callback("itemVisibleInCallback",a,c,this.first,this.last,this.prevFirst, this.prevLast);this.callback("itemVisibleOutCallback",a,c,this.prevFirst,this.prevLast,this.first,this.last)},callback:function(a,c,b,d,f,j,e){if(!(this.options[a]==null||typeof this.options[a]!="object"&&c!="onAfterAnimation")){var h=typeof this.options[a]=="object"?this.options[a][c]:this.options[a];if(g.isFunction(h)){var i=this;if(d===void 0)h(i,b,c);else if(f===void 0)this.get(d).each(function(){h(i,this,d,b,c)});else for(var a=function(a){i.get(a).each(function(){h(i,this,a,b,c)})},k=d;k<=f;k++)k!== null&&!(k>=j&&k<=e)&&a(k)}}},create:function(a){return this.format("<li></li>",a)},format:function(a,c){for(var a=g(a),b=a.get(0).className.split(" "),d=0;d<b.length;d++)b[d].indexOf("jcarousel-")!=-1&&a.removeClass(b[d]);a.addClass(this.className("jcarousel-item")).addClass(this.className("jcarousel-item-"+c)).css({"float":this.options.rtl?"right":"left","list-style":"none"}).attr("jcarouselindex",c);return a},className:function(a){return a+" "+a+(!this.options.vertical?"-horizontal":"-vertical")}, dimension:function(a,c){var b=g(a);if(c==null)return!this.options.vertical?b.outerWidth(!0)||f.intval(this.options.itemFallbackDimension):b.outerHeight(!0)||f.intval(this.options.itemFallbackDimension);else{var d=!this.options.vertical?c-f.intval(b.css("marginLeft"))-f.intval(b.css("marginRight")):c-f.intval(b.css("marginTop"))-f.intval(b.css("marginBottom"));g(b).css(this.wh,d+"px");return this.dimension(b)}},clipping:function(){return!this.options.vertical?this.clip[0].offsetWidth-f.intval(this.clip.css("borderLeftWidth"))- f.intval(this.clip.css("borderRightWidth")):this.clip[0].offsetHeight-f.intval(this.clip.css("borderTopWidth"))-f.intval(this.clip.css("borderBottomWidth"))},index:function(a,c){if(c==null)c=this.options.size;return Math.round(((a-1)/c-Math.floor((a-1)/c))*c)+1}});f.extend({defaults:function(a){return g.extend(q,a||{})},intval:function(a){a=parseInt(a,10);return isNaN(a)?0:a},windowLoaded:function(){m=!0}});g.fn.jcarousel=function(a){if(typeof a=="string"){var c=g(this).data("jcarousel"),b=Array.prototype.slice.call(arguments, 1);return c[a].apply(c,b)}else return this.each(function(){var b=g(this).data("jcarousel");b?(a&&g.extend(b.options,a),b.reload()):g(this).data("jcarousel",new f(this,a))})}})(jQuery);


/*-----------------------------------------------------------------------
  * A bridge between iPad and iPhone touch events and jquery draggable, sortable etc. mouse interactions.
  * @author Oleg Slobodskoi
----------------------------------------------------------------------- */

        /iPad|iPhone/.test( navigator.userAgent ) && (function( $ ) {
    
            var proto =  $.ui.mouse.prototype,
                _mouseInit = proto._mouseInit;
    
            $.extend( proto, {
                _mouseInit: function() {
                    this.element
                        .bind( "touchstart." + this.widgetName, $.proxy( this, "_touchStart" ) );

                    _mouseInit.apply( this, arguments );
                },
        
                _touchStart: function( event ) {
                    if ( event.originalEvent.targetTouches.length != 1 ) {
                        return false;
                    }
    
                    this.element
                        .bind( "touchmove." + this.widgetName, $.proxy( this, "_touchMove" ) )
                        .bind( "touchend." + this.widgetName, $.proxy( this, "_touchEnd" ) );

                    this._modifyEvent( event );

                    this._mouseDown( event );

                    return false;           
                },
        
                _touchMove: function( event ) {
                    this._modifyEvent( event );
                    this._mouseMove( event );   
                },
        
                _touchEnd: function( event ) {
                    this.element
                        .unbind( "touchmove." + this.widgetName )
                        .unbind( "touchend." + this.widgetName );
                    this._mouseUp( event ); 
                },
        
                _modifyEvent: function( event ) {
                    event.which = 1;
                    var target = event.originalEvent.targetTouches[0];
                    event.pageX = target.clientX;
                    event.pageY = target.clientY;
                }
        
            });

        })( jQuery );


/*-----------------------------------------------------------------------
  FLIPBOOK CINEMAGRAPH
----------------------------------------------------------------------- */

/* Flipbook Plugin for jQuery
 * Author  :   Jon Raasch
 * Website :   http://jonraasch.com/blog/jquery-flipbook-movies
 * Contact :   jr@jonraasch.com
 * Version :   0.1
 *
 * Copyright (c)2008 Jon Raasch. All rights reserved.
 * Released under FreeBSD License, see readme.txt
 * Do not remove the above copyright notice or text
 *
 *
 * Usage :
 *
 * Place this HTML anywhere on your page: 
 
    <div id="flipbook">
    Loading ...<br />
    <a href="http://jonraasch.com/blog/jquery-flipbook-movies">
    jQuery Flipbook</a>
    </div>

 * 
 * Then include this bit of Javascript to pull images from the directory
 * "images/":
 
     <script type="text/javascript">
     $(function() {
        Flipbook.init( 'images/' ); 
     });
     </script>
 
 *
 */


var Flipbook = {
    obj          : {},
    frameRate    : 8,
    fadeSpeed    : 0,
    ajaxPhp      : 'flipbook.php',
    frames       : $('<div></div>'),
    imageCount   : 0,
    loadedImages : 0,
    isBuilt      : 0,
    loadingAjax  : 0,
    
    init : function( source ) {
        Flipbook.obj.wrapper  = $('.motion #gallery-image div article.cinemagraph');
        
        if ( typeof( source ) == 'undefined' ) Flipbook.startFlipping();
        else {
            Flipbook.processSource( source );
            
            Flipbook.isBuilt = 1;
            
            // if the images loaded faster than we were able to set the isBuilt variable, we make sure to start the flipbook here...just a failsafe
            if ( Flipbook.imageCount == Flipbook.loadedImages && !Flipbook.loadingAjax ) Flipbook.startFlipping();
        }
    },
    
    processSource : function( source ) {
        if ( typeof( source ) == 'string' ) source = [ source ];
        for ( var i = 0; i < source.length; i++ ) {
            if ( !Flipbook.isImage( source[i] ) ) Flipbook.addDirectory( source[i] );
        }
    },
    
    isImage : function( source ) {
        var theExt = source.substr( source.length - 4 );
        if ( theExt == '.jpg' || theExt == '.png' || theExt == '.gif' || theExt == '.bmp' ) {
            Flipbook.imageCount++;
       
            // append an image with this source, adding to the loaded images variable once the image is loaded in the browser

            var img = new Image();
            $img = $(img);
            if ( Flipbook.imageCount == 1 ) $img.addClass('active bananas');
            
            $img.load( function() {
                Flipbook.loadedImages++;
                
                // if all images are processed and imageCount == loadedImages and not currently loading any AJAX, start Flipping 
                if ( Flipbook.isBuilt && Flipbook.imageCount == Flipbook.loadedImages && !Flipbook.loadingAjax) Flipbook.startFlipping();
                
            }) . attr('src', source ) . appendTo( Flipbook.frames );
            
            

            return 1;
        }
        else return 0;
    },
    
    addDirectory : function( dir ) {
        Flipbook.loadingAjax++;
        $.ajax({
            type    : 'POST',
            url     : Flipbook.ajaxPhp,
            data    : 'dir=' + dir,
            cache   : false,
            success : function(html) {                
                if ( html ) {
                    Flipbook.loadingAjax--;
                    
                    if ( html != 'empty.dir' ) {
                        var newSource = html.split(',');
                        Flipbook.processSource( newSource );
                    }
                }
            }
        });
    },
    
    startFlipping : function() {        
        // if the flipbook built dynamically, set the flipbook html here, otherwise leave what was on page
        var framesHTML = Flipbook.frames.html();
        if ( framesHTML.length ) Flipbook.obj.wrapper.html( framesHTML );
        
        Flipbook.obj.theFirst = $(':first', Flipbook.obj.wrapper);
        
        $active = $('.active', Flipbook.obj.wrapper);
        if ( !$active.length ) $active = $(':last', Flipbook.obj.wrapper);
        
        Flipbook.obj.active = $active;
        
        Flipbook.play = setInterval( "Flipbook.slideSwitch()", Math.floor( 1000 / Flipbook.frameRate ) );
    },
    
    slideSwitch : function() {
        var $active = Flipbook.obj.active;
    
        var $next =  $active.next().length ? $active.next()
            : Flipbook.obj.theFirst;
    
        if ( Flipbook.fadeSpeed ) {
            $active.addClass('last-active');
            
            $next.css({opacity: 0.0})
                .addClass('active')
                .animate({opacity: 1.0}, Flipbook.fadeSpeed, function() {
                    $active.removeClass('active last-active');
                });
        }
        else {
            $next.addClass('active');
            $active.removeClass('active');
        }
        
        Flipbook.obj.active = $next;
    }

}

/*-----------------------------------------------------------------------
  RESIZE FUNCTION BASED ON BROWSER RESOLUTION
----------------------------------------------------------------------- */
        
        function resizeHomeImage(){
            var pageHeight = $(window).height();
            var divHeight = pageHeight;
            var pageWidth = $(window).width();
            var divWidth = pageWidth;
    
            $('#homePhotographs').css({'height' : divHeight + 'px'});
          
            
        }
        
        
        
        function resize(pageWidth){
            
            if ( pageWidth < 320 ) {resizeGallery320();} else if ( pageWidth < 480 ){resizeGallery480();} else if ( pageWidth < 768 ){resizeGallery768();} else if ( pageWidth < 959 ){resizeGallery959();} else {resizeGallery();}
            

            
        }
        
        
        function resizeGallery() {
            var pageHeight = $(window).height();
            var divHeight = pageHeight - 315;
            var pageWidth = $(window).width();
            var divWidth = pageWidth - 335;
    
            $('#gallery-image div').css({'height' : divHeight + 'px' , 'width' : divWidth + 'px' });
            $('#gallery-thumbs').css({'width' : divWidth + 0 + 'px' });

            $('#slider, #gallery-navigation').css({'width' : divWidth - 40 + 'px' });
           
        }


        function resizeGallery959() {
            var pageHeight = $(window).height();
            var divHeight = pageHeight - 315;
            var pageWidth = $(window).width();
            var divWidth = pageWidth - 275;
    
             $('#gallery-image div').css({'height' : divHeight + 'px' , 'width' : divWidth + 'px' });
                $('#gallery-thumbs').css({'width' : divWidth + 'px' });

                $('#slider, #gallery-navigation').css({'width' : divWidth - 40 + 'px' });
        }

        function resizeGallery768() {
            var pageHeight = $(window).height();
            var divHeight = pageHeight - 490;
            var pageWidth = $(window).width();
            var divWidth = pageWidth - 0;
    
             $('#gallery-image div').css({'height' : divHeight - 40 + 'px' , 'width' : divWidth - 25 + 'px' });
                $('#gallery-thumbs').css({'width' : divWidth - 25 + 'px' });

                $('#slider, #gallery-navigation').css({'width' : divWidth - 65 + 'px' });
        }

        function resizeGallery480() {
            var pageHeight = $(window).height();
            var divHeight = pageHeight - 290;
            var pageWidth = $(window).width();
            var divWidth = pageWidth - 20;
    
             $('#gallery-image div').css({'height' : divHeight + 170 + 'px' , 'width' : divWidth - 20 + 'px' });
                $('#gallery-thumbs').css({'width' : divWidth - 20  + 'px' });

                $('#slider, #gallery-navigation').css({'width' : divWidth - 60 + 'px' });
        }

        function resizeGallery320() {
            var pageHeight = $(window).height();
            var divHeight = pageHeight - 290;
            var pageWidth = $(window).width();
            var divWidth = pageWidth - 20;
    
            $('#gallery-image div').css({'height' : divHeight + 'px' , 'width' : divWidth + 'px' });
            $('#gallery-thumbs').css({'width' : divWidth + 'px' });
        }
        
/*-----------------------------------------------------------------------
  Pull Large Image
----------------------------------------------------------------------- */

         function pullLargeImage(image_id){
                $.ajax({
                  url: "/gallery/pull_large_image",
                  data: "image_id=" + image_id,
                  success: function(a){
                    $('#gallery-image div').find('img').fadeOut(200, function(){

                        $('#gallery-image div').empty();

                        $('#gallery-image div').append(a);
                        $('#gallery-image div img').animate({'display': 'block', opacity: 1, 'left': '0'}, 2000, 'easeOutExpo' );
                        $('#gallery-image div img').removeAttr('width');
                        $('#gallery-image div img').removeAttr('height');
                
                    });
                  }
                });
            }
            
/*-----------------------------------------------------------------------
  Pull Large Motion Image/Cinemagraph
----------------------------------------------------------------------- */

         function pullVideo(video_id){
                $.ajax({
                  url: "/gallery/pull_video",
                  data: "video_id=" + video_id,
                  success: function(a){
                    $('#gallery-image div').find('article').fadeOut(200, function(){

                        $('#gallery-image div').empty();

                        $('#gallery-image div').append(a);
                        
                        // wait for all images to load before showing them so cinemagraphs don't flash
                        $(window).load(
                                function() {
                                     //   $('#gallery-image div article.cinemagraph').css('opacity', 1);
                                        $('#gallery-image div').find('article').animate({'display': 'block', opacity: 1, 'left': '0'}, 2000, 'easeOutExpo' );
                                }
                            );
                        


                    });
                  }
                });
            }
            





