// movingBlock v1.0.0

jQuery.fn.movingBlock = function(_options){    
	// defaults options	    
	var _options = jQuery.extend({
		holder:'div.wrapper',
		topDif:0,
		bottomDif:0,
		toEl:false,
		cssTop:'top',
		duration:350
	},_options);
	
    return this.each(function(){
		var _obj = $(this);
		var _holder = $(_options.holder);
		var _offset = _holder.offset();
		var _thisHeight = _obj.outerHeight();
		var _prop = _options.cssTop.toString();
		var _duration = _options.duration;
		var _defTop = parseInt(_obj.css(_prop));
		var _move = true, _height;
		
		_offset.top = _offset.top - _options.topDif + _defTop;
		_offset.bottom = _holder.innerHeight() - _options.bottomDif - _thisHeight - _defTop;
		
		if (_options.toEl) {
			_offset.bottom = $(_options.toEl).offset().top;
		}
		
		var _win = $(window);
		_win.scroll(function(){
			animateBlock()
		});
		_win.resize(function(){
			winResize();
			animateBlock()
		});
		winResize();
		function winResize(){
			if (window.innerHeight) _height = window.innerHeight;
			else _height = document.documentElement.clientHeight;
			if (_thisHeight >= _height) _move = false;
			else _move = true;
		}
		function animateBlock(){
			if (_move) {
				var _top = _win.scrollTop();
				var _dif = _top - _offset.top;
				if (_dif > 0) {
					if (_dif >= _offset.bottom - _defTop) _dif = _offset.bottom - _defTop;
					_obj.animate({'top':_dif+_defTop}, {duration:_duration, queue:false});
				} else {
					_obj.animate({'top':_defTop}, {duration:_duration, queue:false});
				}
			}
		}
    });
}

$(document).ready(function(){
	$('div.order').movingBlock({
		holder:'#wrapper',
		topDif:10,
		toEl:".box.pay",
		bottomDif:0,
		cssTop:'top',
		duration:300	
	});
});



