var browser = {
    isIE:     !!(window.attachEvent && !window.opera),
    isOpera:  !!window.opera,
    isWebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1,
    isGecko:  navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('KHTML') == -1,
    isMobileSafari: !!navigator.userAgent.match(/Apple.*Mobile.*Safari/)
};

Function.prototype = 
	
	{
		/** 
		 * Конвертируем строку агрументов в массив
		 *
		 * @return array
		*/
		Arguments2Array : function( arguments ) {

			var results = new Array( );
		
			for ( var i = 0, length = arguments.length; i < length; i++ ) {
				results.push( arguments[i] );
			}
		
		    return results;
		
		},
		
		/** 
		 * Bind с event
		 *
		 * @param arguments object		Аргументы
		 * @return function
		*/
		bindWithEvent : function( object ) {

			var _method = this, argv = this.Arguments2Array( arguments );
			argv.shift();
		
			return function( event ) {
				return _method.apply( object, [event || window.event].concat(argv) );
			}
		
		},
		
		/** 
		 * Bind без event
		 *
		 * @param arguments object		Аргументы
		 * @return function
		*/
		bind : function( object ) {

			var _method = this;
		
			return function( ) {
				return _method.apply( object, arguments );
			}
		
		}

	}

