Файл: IPBMafia.ru_IPB_3.4.6_Final_Rus _Nulled/board/upload/public/ipc_blocks/core.js
Строк: 197
<?php
if( typeof(_ccsjQ) == 'undefined' )
{
var _ccsjQ = jQuery.noConflict();
}
(function($){
$.ccs = {
//----------------------------------------------
// $.ccs.register method; based on jQuery UI
//----------------------------------------------
register: function( widget, base, obj, short){
var bits = widget.split('.');
var namespace = bits[0];
var name = bits[1];
if( obj && !short ){
short = obj;
obj = base;
base = $.ccsBase;
} else if( !obj && !short ){
obj = base;
base = $.ccsBase;
}
$[ namespace ] = $[ namespace ] || {};
if( $[ namespace ][ name ] ){
return;
}
$[ namespace ][ name ] = function( options, element){
if( arguments.length ){
this._instantiate( options, element );
}
};
var newBase = new base();
newBase.options = $.extend( true, {}, newBase.options );
$[ namespace ][ name ].prototype = $.extend( true, newBase, obj );
if( !short ){
short = namespace + name;
}
$.ccs.bridge( short, $[ namespace ][ name ] );
},
//----------------------------------------------
// $.ccs.bridge method; taken from jQuery UI
//
// jQuery UI Widget 1.8.16
//
// Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
// Dual licensed under the MIT or GPL Version 2 licenses.
// http://jquery.org/license
//
// http://docs.jquery.com/UI/Widget
//----------------------------------------------
bridge: function( name, object ) {
$.fn[ name ] = function( options ) {
var isMethodCall = typeof options === "string",
args = Array.prototype.slice.call( arguments, 1 ),
returnValue = this;
// allow multiple hashes to be passed on init
options = !isMethodCall && args.length ?
$.extend.apply( null, [ true, options ].concat(args) ) :
options;
// prevent calls to internal methods
if ( isMethodCall && options.charAt( 0 ) === "_" ) {
return returnValue;
}
if ( isMethodCall ) {
this.each(function() {
var instance = $.data( this, name ),
methodValue = instance && $.isFunction( instance[options] ) ?
instance[ options ].apply( instance, args ) :
instance;
if ( methodValue !== instance && methodValue !== undefined ) {
returnValue = methodValue;
return false;
}
});
} else {
this.each(function() {
var instance = $.data( this, name );
if ( instance ) {
instance.option( options || {} )._init();
} else {
$.data( this, name, new object( options, this ) );
}
});
}
return returnValue;
};
},
util: {
//----------------------------------------------
// Fits an image (or other box) inside a bigger box
//----------------------------------------------
fitImage: function( imageDims, boxDims ){
var newSize = {},
aspect = imageDims['w'] / imageDims['h'];
if( (imageDims['w'] <= boxDims['w']) || (imageDims['h'] <= boxDims['h']) ){
return {'w': imageDims['w'], 'h': imageDims['h']};
}
newSize['w'] = boxDims['w'];
newSize['h'] = newSize['w'] / aspect;
if( newSize['h'] < boxDims['h'] ){
newSize['h'] = boxDims['h'];
newSize['w'] = newSize['h'] * aspect;
}
return {
'w': newSize['w'],
'h': newSize['h'],
'l': Math.ceil( ( boxDims['w'] - newSize['w'] ) / 2 ),
't': Math.ceil( ( boxDims['h'] - newSize['h'] ) / 2 )
};
}
}
};
//----------------------------------------------
// Base object for ccs widgets
//----------------------------------------------
$.ccsBase = function( options, element ){
if( arguments.length ){
this._instantiate( options, element );
}
};
$.ccsBase.prototype = {
name: 'ccsWidget',
options: { },
//----------------------------------------------
// Called when widget is instantiated
//----------------------------------------------
_instantiate: function( options, element ){
$.data( element, this.name, this );
this.element = $(element);
this.options = $.extend( true, {}, this.options, options );
this._init();
},
//----------------------------------------------
// Called after initial setup
//----------------------------------------------
_init: function(){},
//----------------------------------------------
// Getter/setter for options
//----------------------------------------------
option: function( key, value )
{
if( $.isPlainObject( key ) ){
this.options = $.extend(true, this.options, key);
} else if( key && typeof value === 'undefined' ) {
return this.options[ key ];
} else {
this.options[ key ] = value;
}
return this;
}
};
})(_ccsjQ);
if( typeof(jsDebug) == 'undefined' )
{
var jsDebug = false;
}
var Debug = {
write: function( text ){
if( jsDebug && window.console ){
console.log( text );
}
},
dir: function( values ){
if( jsDebug && window.console ){
console.dir( values );
}
}
};
?>