var MenuBalloon = new Class({
	initialize: function(menu) {		
		this.menu = $(menu);
		
		this.menu.getElements('li').each(function(item){
			item.addEvent('mouseover', function(){ this.mouseOver(item); }.bind(this));
			item.addEvent('mouseout', function(){ this.mouseOut(item); }.bind(this));
		}.bind(this));
		
		this.current = this.menu.getElement('li.current');
		if(this.current) this.setCurrent(this.current);
	},
	setCurrent: function(el) {
		var divC = new Element('div').addClass('c-balloon');
		var widthCenter = el.clientWidth;
		var bgPos = (widthCenter-390)/2; //максимальная ширина центральной части
		divC.setStyles({
			width: widthCenter+'px',
			'background-position': bgPos+'px'
		});
		var divR  = new Element('div').addClass('r-balloon');
		var divL  = new Element('div').addClass('l-balloon');
		this.back = new Element('li').addClass('back').adopt(divL,divR,divC).injectInside(this.menu);
		this.back.setStyles({
			left: (el.offsetLeft-(divR.clientWidth+divL.clientWidth+divL.offsetLeft))+'px', // ширины левого и правого полукруга + padding-left
			width: (el.offsetWidth+(divR.clientWidth+divL.clientWidth))+'px'  // ширины левого и правого полукруга

		});
	/*	this.current.getElement('a').setStyles({ color: '#FFF',	'text-shadow': 'rgba(0,0,0,0.25)' }); */
	},
	mouseOver: function(el) {
		if (!Modernizr.borderradius) {
			if (el != this.current || !$defined(this.current)) {
				this.shadow = new Element('li').addClass('background').adopt(new Element('div').addClass('left')).injectInside(this.menu);
				this.shadow.setStyles({left: (el.offsetLeft-24)+'px', width: (el.offsetWidth+15)+'px', top: 2+'px'});
			}
		}
	},
	mouseOut: function(el) {
		if (!Modernizr.borderradius) {
			if (el != this.current || !$defined(this.current)) {
				this.shadow.remove();
			}
		}
	}
});

var DigitBalloon = new Class({
	initialize: function(paginator) {
		this.paginator = $(paginator),
		this.current = this.paginator.getElement('li.thispage');
		if(this.current) this.setCurrent(this.current);
	},
	setCurrent: function(el) {
		var divL = new Element('div').addClass('l-digit');
		var divC = new Element('div').addClass('c-digit');
		var divR = new Element('div').addClass('r-digit');
		var widthBalloon = el.clientWidth - (divR.clientWidth+divL.clientWidth);
		if(widthBalloon > 0 ) {
			divC.setStyles({
				width: widthBalloon + 'px'
			});
		};
		this.back = new Element('li').addClass('back').adopt(divL,divC,divR).injectInside(this.paginator);
		this.back.setStyles({
			left: (el.offsetLeft-(divR.clientWidth+divL.clientWidth)) + 'px',
			width: (divC.clientWidth+divL.clientWidth+divR.clientWidth)+'px'  // ширины левого и правого полукруга
		});
	}
});

