$.fn.stickyfloat = function(options, lockBottom) {
	var $obj= this;
	var first = true;	
	
	if ($obj.parent().offset()) {
		var opts 				= $.extend({ offsetY: 0, duration: 200, lockBottom:true }, options);
		var position = parseInt($(window).height()+$(document).scrollTop()-15);
		var padding_from_bottom = parseInt($(document).height()-$('#footer').height());
		
		if (first) {
			// check left position
			var left_position = parseInt(($(window).width()-$('#main-construct-con').width())/2);

			if (!$.browser.msie) {
				$obj.css('left',left_position);
			} else if ( $.browser.msie && $.browser.version <= '7.0') {
				$obj.css('left',0);
			} else {
				$obj.css('left',left_position);
			}
			if ( position < padding_from_bottom ) {
				$obj.css('bottom',opts.offsetY);
				$obj.css('position','fixed');
			} else {
				$obj.css('bottom','');
			}
			check();
			first = false;
		}
		
		$(window).scroll(function () { 
			$obj.stop();
			position = parseInt($(window).height()+$(document).scrollTop()-15);
			padding_from_bottom = parseInt($(document).height()-$('#footer').height());
			if ( position >= padding_from_bottom ) {
				$obj.css('position','static');
				$obj.css('bottom',$('#footer').height());
			} else if (position < padding_from_bottom )  {
				$obj.css('position','fixed');
				$obj.css('bottom',opts.offsetY);
				$obj.css('top','');
			}
			check();
		});
	}
	
	function check()
	{
		//console.log (position +" "+ padding_from_bottom);
		if ( position < padding_from_bottom) {
			$('#footer-top').hover(function() {
				$(this).animate({
					bottom: 0,
					position: ''
				}, {
					queue: false,
					duration: 400
				});		
			}, function() {
				$(this).animate({
					bottom: opts.offsetY,
					position: ''
				}, {
					queue: false,
					duration: 400
				});		
			});
		} else {
			$('#footer-top').hover(function() {
			}, function() {
			});
		}		
	}
};
