(function($){
	EYE.mainNavigation = function() {
		var evEnter = function(){
				if (active.size() == 1) {
					active.removeClass('active');
				}
				$(this).addClass('active');
			},
			evLeave = function(){
				$(this).removeClass('active');
				if (active.size() == 1) {
					active.addClass('active');
				}
			},
			inited = false,
			active = false;
		return {
			init: function(){
				if (inited === false) {
					inited = true;
					$('#mainMenu>li')
						.bind('mouseenter', evEnter)
						.bind('mouseleave', evLeave);
					active = $('#mainMenu>li.active');
					$('#contentWriter a.mceEYEPhoto, #articlePhotos a').fancybox();
				}
			}
		};
	}();
	EYE.register(EYE.mainNavigation.init, 'init');
	
	EYE.slideshow = function () {
		var inited = false,
			current = 0,
			timer = null,
			imgs,
			goTo = function (ev) {
				clearTimeout(timer);
				if (ev) {
					this.blur();
					if (this.id == 'slideshowRight') {
						current ++;
					} else {
						current --;
					}
				} else {
					current ++;
				}
				if (current < 0) {
					current = imgs.size() -1;
				} else if (current == imgs.size()) {
					current = 0;
				}
				show();
				return false;
			},
			show = function() {
				imgs.hide().eq(current).show();
				$('#slideshow a').show();
				if (current == 0) {
					$('#slideshow a:first').hide();
				} else if (current == imgs.size() -1) {
					$('#slideshow a:last').hide();
				}
				timer =setTimeout(goTo, 5000);
			};
		return {
			init: function () {
				if (inited === false) {
					inited = true;
					if (document.getElementById('slideshow')) {
						imgs = $('#slideshow img').hide();
						$('#slideshow a').bind('click', goTo);
						show();
					}
				}
			}
		};
	}();
	EYE.register(EYE.slideshow.init, 'init');
	
	EYE.localOverlay = function (){
		var inited = false;
		return {
			init: function (){
				if (inited == false) {
					inited = true;
					$('#localOverlay').css('opacity', 0.8);
				}
			},
			show: function (el) {
				var offset = $(el).offset();
				$('#localOverlay').css({
					top: offset.top,
					left: offset.left,
					width: el.offsetWidth,
					height: el.offsetHeight,
					display: 'block'
				});
			},
			hide: function (el) {
				$('#localOverlay').hide();
			}
		};
	}();
	EYE.register(EYE.localOverlay.init, 'init');
	
	EYE.newsletter = function() {
		var inited = false,
			initValue,
			focus = function () {
				if (this.value == initValue) {
					this.value = '';
				}
			},
			blur = function () {
				if (this.value == '') {
					this.value = initValue;
				}
			},
			hide = function () {
				$('#newsletterTooltip').hide(400);
			},
			subscribe = function () {
				var email = $('#newsletter input');
				this.blur();
				if (email.val() == '' || email.val() == initValue) {
					email.focus();
				} else {
					EYE.localOverlay.show($('#newsletter').get(0));
					$.ajax({
						type: 'POST',
						data: $.param({
							plugin: 'subscribe',
							email: email.val()
						}),
						complete: function(){
							EYE.localOverlay.hide();
						},
						success: function(xmlResponse){
							var responseErros = $('errorResponse', xmlResponse);
							if (responseErros.size() > 0) {
								var offset = email.offset();
								var tooltip = $('#newsletterTooltip').show();
								tooltip
									.find('div')
										.html(responseErros.text())
										.end()
									.css({
										top: offset.top - tooltip.get(0).offsetHeight,
										left: offset.left
									});
							} else {
								var offset = email.offset();
								var tooltip = $('#newsletterTooltip').show();
								tooltip
									.find('div')
										.html($(xmlResponse).text())
										.end()
									.css({
										top: offset.top - tooltip.get(0).offsetHeight,
										left: offset.left
									});
							}
							setTimeout(hide, 2000);
						},
						url: '/ajaxserver.php'
					});
				}
				return false;
			};
		return {
			init: function () {
				if (inited === false) {
					inited = true;
					initValue = $('#newsletter input')
						.bind('focus', focus)
						.bind('blur', blur)
						.val();
					$('#newsletter button').bind('click', subscribe);
				}
			}
		};
	}();
	EYE.register(EYE.newsletter.init, 'init');
	EYE.register(function(){
		Cufon.replace('#sideMenu h3,#recentNews h3,#homepageLeft h1,#homepageRight h2, #newsletter h4, #contentWriter h1');
	}, 'init');
})(jQuery);