/** 
 * Делаем для всех объектов возможность расширения
 *
 * @param object object		Объект который будет прикреплен к базовому
*/
Object.prototype.ExtendAjax = function ( object, replaceOldProp ) {
	
	for ( var property in object ) {
	
		if ( replaceOldProp || !this[ property ] ) {
			this[ property ] = object[ property ];
		}

	}
	
}


Function.prototype.ExtendAjax (
	{
		
		/** 
		 * Bind без event
		 *
		 * @param arguments object		Аргументы
		 * @return function
		*/
		bindAjax : function( object ) {

			var _method = this;
		
			return function( ) {
				return _method.apply( object, arguments );
			}
		
		}

	}

);


Array.prototype.ExtendAjax(

	{
		EachHash : function ( handler ) {
			
			for ( var item in this ) {
			
				if ( typeof ( this[item] ) == "string" &&  typeof ( item ) == "string" ) {
					handler( this[item], item );
				}
					
			}

		}

	}

);
