Current File : //home/mdkeenpw/www/wp-content/plugins/cargo/bt_grid_tweak.js |
(function( $ ) {
window.bt_min_item_width = 250;
window.bt_packery_tweak = function( $this, type ) {
if ( ( navigator.userAgent.match( /iPhone/i ) ) || ( navigator.userAgent.match( /iPod/i ) ) || ( navigator.userAgent.match( /iPad/i ) ) ) {
appleMobileDevice = true;
} else {
appleMobileDevice = false;
}
if ( type == 'classic' ) {
//$this.packery( 'destroy' );
bt_packery_tweak1( $this );
$this.packery();
bt_packery_tweak3( $this );
bt_packery_tweak1( $this );
$this.packery();
bt_packery_tweak3( $this );
} else {
if ( appleMobileDevice ) {
$this.packery();
$this.packery( 'destroy' );
bt_packery_ttweak1( $this );
$this.packery({
itemSelector: '.gridItem',
columnWidth: '.gridSizer',
gutter: 0,
percentPosition: true,
transitionDuration: 0,
isResizeBound: false
});
bt_packery_ttweak3( $this );
} else {
bt_packery_ttweak1( $this );
$this.packery();
bt_packery_ttweak3( $this );
}
}
}
var bt_packery_tweak1 = function( $this ) {
$this.find( '.btMediaBox' ).each(function() {
if ( $( this ).attr( 'data-hw' ) != undefined ) {
$( this ).height( $( this ).outerWidth() * $( this ).attr( 'data-hw' ) );
}
});
var container_w = $this.width();
var col = $this.data( 'col' );
var grid_sizer_w = $this.find( '.gridSizer' ).width();
if ( container_w < 2 * window.bt_min_item_width ) {
$this.find( '.gridSizer, .gridItem' ).each(function() {
$( this ).css( 'width', '100%' );
if ( grid_sizer_w > 0 ) {
var new_w = parseInt( $( this ).css( 'width' ) );
if ( 1 * new_w > container_w ) new_w = new_w - 1;
$( this ).width( new_w );
}
});
} else if ( container_w < 3 * window.bt_min_item_width ) {
$this.find( '.gridSizer, .gridItem' ).each(function() {
$( this ).css( 'width', '50%' );
if ( grid_sizer_w > 0 ) {
var new_w = parseInt( $( this ).css( 'width' ) );
if ( 2 * new_w > container_w ) new_w = new_w - 1;
$( this ).width( new_w );
}
});
} else if ( container_w < 4 * window.bt_min_item_width ) {
$this.find( '.gridSizer, .gridItem' ).each(function() {
$( this ).css( 'width', '33.333333333%' );
if ( grid_sizer_w > 0 ) {
var new_w = parseInt( $( this ).css( 'width' ) );
if ( 3 * new_w > container_w ) new_w = new_w - 1;
$( this ).width( new_w );
}
});
} else if ( container_w < 5 * window.bt_min_item_width && col > 4 ) {
$this.find( '.gridSizer, .gridItem' ).each(function() {
$( this ).css( 'width', '25%' );
if ( grid_sizer_w > 0 ) {
var new_w = parseInt( $( this ).css( 'width' ) );
if ( 4 * new_w > container_w ) new_w = new_w - 1;
$( this ).width( new_w );
}
});
} else if ( container_w < 6 * window.bt_min_item_width && col > 5 ) {
$this.find( '.gridSizer, .gridItem' ).each(function() {
$( this ).css( 'width', '20%' );
if ( grid_sizer_w > 0 ) {
var new_w = parseInt( $( this ).css( 'width' ) );
if ( 5 * new_w > container_w ) new_w = new_w - 1;
$( this ).width( new_w );
}
});
} else {
$this.find( '.gridSizer, .gridItem' ).each(function() {
if ( col == '3' ) {
$( this ).css( 'width', '33.333333333%' );
} else if ( col == '4' ) {
$( this ).css( 'width', '25%' );
} else if ( col == '5' ) {
$( this ).css( 'width', '20%' );
} else if ( col == '6' ) {
$( this ).css( 'width', '16.666666667%' );
}
if ( grid_sizer_w > 0 ) {
var new_w = parseInt( $( this ).css( 'width' ) );
if ( col * new_w > container_w ) new_w = new_w - 1;
$( this ).width( new_w );
}
});
}
}
var bt_packery_tweak2 = function( $this ) {
var container_w = $( this ).width();
var grid_sizer_w = $( this ).find( '.gridSizer' ).width();
$( this ).find( '.gridItem' ).each(function() {
var l = $( this ).css( 'left' );
var m = parseFloat( l ) / grid_sizer_w;
$( this ).css( 'left', Math.round( m ) * Math.floor( grid_sizer_w ) );
var w = $( this ).css( 'width' );
m = parseFloat( w ) / grid_sizer_w;
$( this ).width( Math.round( m ) * Math.floor( grid_sizer_w ) );
});
}
var bt_packery_tweak3 = function( $this ) {
var container_w = $( this ).width();
$( this ).find( '.gridItem' ).each(function() {
var l = $( this ).css( 'left' );
var w = $( this ).width();
var d = container_w - ( parseInt( l ) + w );
if ( Math.abs( d ) < 15 ) {
$( this ).width( parseInt( w ) + d );
}
});
}
var bt_packery_ttweak1 = function( $this ) {
var container_w = $this.width();
var col = $this.data( 'col' );
var grid_sizer_w = $this.find( '.gridSizer' ).width();
var new_w = 0;
if ( container_w < 2 * window.bt_min_item_width ) {
$this.find( '.gridSizer, .gridItem.bt11, .gridItem.bt12' ).each(function() {
$( this ).css( 'width', '100%' );
if ( grid_sizer_w > 0 ) {
new_w = parseInt( $( this ).css( 'width' ) );
if ( 1 * new_w > container_w ) new_w = new_w - 1;
$( this ).width( new_w );
}
$( this ).innerHeight( $( this ).width() );
if ( $( this ).hasClass( 'bt12' ) ) {
$( this ).innerHeight( $( this ).width() * 2 );
}
if ( $( this ).hasClass( 'gridSizer' ) ) {
$( this ).innerHeight( 0 );
}
});
$this.find( '.gridItem.bt21, .gridItem.bt22' ).each(function() {
$( this ).width( new_w );
$( this ).innerHeight( $( this ).width() );
if ( $( this ).hasClass( 'bt21' ) ) {
$( this ).innerHeight( grid_sizer_w * .5 );
} else if ( $( this ).hasClass( 'bt22' ) ) {
$( this ).innerHeight( grid_sizer_w );
}
});
} else if ( container_w < 3 * window.bt_min_item_width ) {
$this.find( '.gridSizer, .gridItem.bt11, .gridItem.bt12' ).each(function() {
$( this ).css( 'width', '50%' );
if ( grid_sizer_w > 0 ) {
new_w = parseInt( $( this ).css( 'width' ) );
if ( 2 * new_w > container_w ) new_w = new_w - 1;
$( this ).width( new_w );
}
$( this ).innerHeight( $( this ).width() );
if ( $( this ).hasClass( 'bt12' ) ) {
$( this ).innerHeight( $( this ).width() * 2 );
}
if ( $( this ).hasClass( 'gridSizer' ) ) {
$( this ).innerHeight( 0 );
}
});
$this.find( '.gridItem.bt21, .gridItem.bt22' ).each(function() {
$( this ).width( new_w * 2 );
$( this ).innerHeight( $( this ).width() );
if ( $( this ).hasClass( 'bt21' ) ) {
$( this ).innerHeight( grid_sizer_w );
} else if ( $( this ).hasClass( 'bt22' ) ) {
$( this ).innerHeight( grid_sizer_w * 2 );
}
});
} else if ( container_w < 4 * window.bt_min_item_width ) {
$this.find( '.gridSizer, .gridItem.bt11, .gridItem.bt12' ).each(function() {
$( this ).css( 'width', '33.333333333%' );
if ( grid_sizer_w > 0 ) {
new_w = parseInt( $( this ).css( 'width' ) );
if ( 3 * new_w > container_w ) new_w = new_w - 1;
$( this ).width( new_w );
}
$( this ).innerHeight( $( this ).width() );
if ( $( this ).hasClass( 'bt12' ) ) {
$( this ).innerHeight( $( this ).width() * 2 );
}
if ( $( this ).hasClass( 'gridSizer' ) ) {
$( this ).innerHeight( 0 );
}
});
$this.find( '.gridItem.bt21, .gridItem.bt22' ).each(function() {
$( this ).width( new_w * 2 );
$( this ).innerHeight( $( this ).width() );
if ( $( this ).hasClass( 'bt21' ) ) {
$( this ).innerHeight( grid_sizer_w );
} else if ( $( this ).hasClass( 'bt22' ) ) {
$( this ).innerHeight( grid_sizer_w * 2 );
}
});
} else if ( container_w < 5 * window.bt_min_item_width && col > 4 ) {
$this.find( '.gridSizer, .gridItem.bt11, .gridItem.bt12' ).each(function() {
$( this ).css( 'width', '25%' );
if ( grid_sizer_w > 0 ) {
new_w = parseInt( $( this ).css( 'width' ) );
if ( 4 * new_w > container_w ) new_w = new_w - 1;
$( this ).width( new_w );
}
$( this ).innerHeight( $( this ).width() );
if ( $( this ).hasClass( 'bt12' ) ) {
$( this ).innerHeight( $( this ).width() * 2 );
}
if ( $( this ).hasClass( 'gridSizer' ) ) {
$( this ).innerHeight( 0 );
}
});
$this.find( '.gridItem.bt21, .gridItem.bt22' ).each(function() {
$( this ).width( new_w * 2 );
$( this ).innerHeight( $( this ).width() );
if ( $( this ).hasClass( 'bt21' ) ) {
$( this ).innerHeight( grid_sizer_w );
} else if ( $( this ).hasClass( 'bt22' ) ) {
$( this ).innerHeight( grid_sizer_w * 2 );
}
});
} else if ( container_w < 6 * window.bt_min_item_width && col > 5 ) {
$this.find( '.gridSizer, .gridItem.bt11, .gridItem.bt12' ).each(function() {
$( this ).css( 'width', '20%' );
if ( grid_sizer_w > 0 ) {
new_w = parseInt( $( this ).css( 'width' ) );
if ( 5 * new_w > container_w ) new_w = new_w - 1;
$( this ).width( new_w );
}
$( this ).innerHeight( $( this ).width() );
if ( $( this ).hasClass( 'bt12' ) ) {
$( this ).innerHeight( $( this ).width() * 2 );
}
if ( $( this ).hasClass( 'gridSizer' ) ) {
$( this ).innerHeight( 0 );
}
});
$this.find( '.gridItem.bt21, .gridItem.bt22' ).each(function() {
$( this ).width( new_w * 2 );
$( this ).innerHeight( $( this ).width() );
if ( $( this ).hasClass( 'bt21' ) ) {
$( this ).innerHeight( grid_sizer_w );
} else if ( $( this ).hasClass( 'bt22' ) ) {
$( this ).innerHeight( grid_sizer_w * 2 );
}
});
} else {
$this.find( '.gridSizer, .gridItem.bt11, .gridItem.bt12' ).each(function() {
if ( col == '3' ) {
$( this ).css( 'width', '33.333333333%' );
} else if ( col == '4' ) {
$( this ).css( 'width', '25%' );
} else if ( col == '5' ) {
$( this ).css( 'width', '20%' );
} else if ( col == '6' ) {
$( this ).css( 'width', '16.666666667%' );
}
if ( grid_sizer_w > 0 ) {
new_w = parseInt( $( this ).css( 'width' ) );
if ( col * new_w > container_w ) new_w = new_w - 1;
$( this ).width( new_w );
}
$( this ).innerHeight( $( this ).width() );
if ( $( this ).hasClass( 'bt12' ) ) {
$( this ).innerHeight( $( this ).width() * 2 );
}
if ( $( this ).hasClass( 'gridSizer' ) ) {
$( this ).innerHeight( 0 );
}
});
$this.find( '.gridItem.bt21, .gridItem.bt22' ).each(function() {
$( this ).width( new_w * 2 );
$( this ).innerHeight( $( this ).width() );
if ( $( this ).hasClass( 'bt21' ) ) {
$( this ).innerHeight( grid_sizer_w );
} else if ( $( this ).hasClass( 'bt22' ) ) {
$( this ).innerHeight( grid_sizer_w * 2 );
}
if ( $( this ).hasClass( 'gridSizer' ) ) {
$( this ).innerHeight( 0 );
}
});
}
}
var bt_packery_ttweak2 = function( $this ) {
var container_w = $this.width();
var grid_sizer_w = $this.find( '.gridSizer' ).width();
$this.find( '.gridItem' ).each(function() {
var l = $( this ).css( 'left' );
var m = parseFloat( l ) / grid_sizer_w;
$( this ).css( 'left', Math.round( m ) * Math.floor( grid_sizer_w ) );
if ( container_w > 480 ) {
var t = $( this ).css( 'top' );
m = parseFloat( t ) / grid_sizer_w;
$( this ).css( 'top', Math.round( m ) * Math.floor( grid_sizer_w ) );
}
var w = $( this ).css( 'width' );
m = parseFloat( w ) / grid_sizer_w;
$( this ).width( Math.round( m ) * Math.floor( grid_sizer_w ) );
});
}
var bt_packery_ttweak3 = function( $this ) {
var container_w = $this.width();
$this.find( '.gridItem' ).each(function() {
var new_l = parseFloat( $( this ).css( 'left' ) );
new_l = Math.round( new_l );
$( this ).css( 'left', new_l + 'px' );
var w = $( this ).width();
var d = container_w - ( new_l + w );
if ( Math.abs( d ) < 15 ) {
$( this ).width( parseInt( w ) + d );
}
});
}
})( jQuery );