/**
 * Плагин jQuery для создания плавающего виджета с кнопками.
 * Рассчитан на использование на страницах с фиксированной шириной.
 * Виджет будет появляться слева или справа от основного содержимого страницы. 
 * 
* fromCenter - расстояние от середины страницы до левого края виджета
 * fromTop - расстояние от виджета до верхней границы видимой части страницы
 * minTop - расстояние от виджета до начала страницы
 * location - размещение виджета (left или right)
 * 
 * Используются параметры следующим образом
 * $('#twitter_widget').floating_panel({
 *  		'fromCenter': 520,
 *  		'fromTop': 50,
 *  		'minTop': 200,
 *  		'location': 'left'
 *  	});
 *  
 *  Стаценко Владимир
 *  http://www.simplecoding.org/
 */

var floating_config = {
	'fromCenter': 580,
	'fromTop': 50,
	'minTop': 200,
	'location': 'left'
};
    	
(function($) {
    $.fn.floating_panel = function(settings) {
    	//значения по-умолчанию
    	//если пользователь указал свои параметры, то используем их
        if (settings) $.extend(floating_config, settings);

    	var element = $(this);
    	
    	var curWindow = $(window);
    	//рассчитываем смещение от левого края окна браузера
    	if ('left' == floating_config.location) {
    		var elementLeft = curWindow.width() / 2 - floating_config.fromCenter;
    	}
    	else {
    		var elementLeft = curWindow.width() / 2 + floating_config.fromCenter;
    	}
		element.css({'left':elementLeft});
    	updateElement();
    	
    	//изменяем положения виджета при прокрутке страницы 
    	curWindow.scroll(function() {
   			updateElement();
    	});
    	
    	function updateElement() {
    		//расстояние от начала страницы до верха её видимой части
    		var windowTop = curWindow.scrollTop();
    		if (windowTop + floating_config.fromTop < floating_config.minTop) {
    			//виджет нужно позиционировать абсолютно
    			if ('absolute' != element.css('position')) {
    				element.css('position', 'absolute');
    				element.css({'top':floating_config.minTop});
    			}
    		} else {
    			//позиционируем виджет фиксированно
				//ie6 не поддерживает фиксированное позиционирование
				if ($.browser.msie && $.browser.version.substr(0,1)<7) {
						element.css({'top': windowTop + floating_config.fromTop + "px"});
				}
				else {
	    			if ('fixed' != element.css('position')) {
	    				element.css('position', 'fixed');
	    				element.css({'top':floating_config.fromTop});
	    			}
				}
    		}
    	}
    };
})(jQuery);