(function($){
	
	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.overlay = function () {
		return {
			show: function ()
			{
				$('#overlay').hide().css({
					width: $(document).width(),
					height: $(document).height(),
					display: 'block'
				});
			},
			hide: function () {
				$('#overlay').hide();
			}
		};
	}();
	
	EYE.notifier = function(){
		var el, messages = 0, timer = false, available = false,
			hide = function() {
				messages --;
				$('div.noteItem:last', el).remove();
				if (messages > 0) {
					setTimeout(hide, 3000);
				} else {
					timer = false;
				}
			},
			scrll = function(){
				if (messages > 0) {
					$(el).css('top', (window.pageYOffset || document.documentElement.scrollTop || 0));
				}
			};
		return {
			init: function(){
				if ((el = document.getElementById('notifier'))) {
					available = true;
					$(window).bind('scroll', scrll);
				}
			},
			show: function(msg){
				if (available) {
					$(el).prepend('<div class="noteItem">' + msg + '</div>');
					messages++;
					scrll();
					if (timer === false) {
						timer = setTimeout(hide, 3000);
					}
				}
			}
		};
	}();
	EYE.register(EYE.notifier.init, 'init');
	
	EYE.tellafriend = function () {
		var inited = false,
			show = function () {
				this.blur();
				var par = $(this);
				var pos = par.offset();
				var tar = $('#tellafriend');
				tar.show()
					.css({
						left: pos.left + par.get(0).offsetWidth - tar.get(0).offsetWidth,
						top: pos.top + par.get(0).offsetHeight - tar.get(0).offsetHeight + 150
					});
				EYE.overlay.show();
				return false;
			},
			hide = function (ev) {
				this.blur();
				if (!$(this).is('.answer_no')) {
					EYE.localOverlay.show($('#tellafriend').get(0));
					$('#tellafriend p:last').hide();
					$.ajax({
						type: 'POST',
						data: $.param({
							plugin: 'tellafriend',
							name: $('#tellName').val(),
							email: $('#tellEmail').val(),
							fname: $('#tellFriendName').val(),
							femail: $('#tellFriendEmail').val(),
							message: $('#tellMessage').val(),
							url: currentURL
						}),
						complete: function(){
							EYE.localOverlay.hide();
						},
						success: function(xmlResponse){
							var responseErros = $('errorResponse', xmlResponse);
							if (responseErros.size() > 0) {
								EYE.notifier.show(responseErros.text());
								$('#tellafriend p:last').show();
							}
							else {
								hide2();
							}
						},
						url: '/ajaxserver.php'
					});
				}
				else {
					hide2();
				}
				return false;
			},
			hide2 = function () {
				$('#tellafriend').hide();
				$('#tellName, #tellEmail, #tellFriendName, #tellFriendEmail, #tellMessage').val('');
				$('#tellafriend p:last').show();
				EYE.overlay.hide();
			};
		return {
			init: function(){
				if (inited == false) {
					inited = true;
					$(".sendToFriend").bind('click', show);
					$('#tellafriend a').bind('click', hide);
				}
			}
		};
	}();
	EYE.register(EYE.tellafriend.init, 'init');
	
	$(document).ready(
		function(){
			Cufon.replace('div#leftFilters h2, div#topCart h3, div#topCart h4', {hover: true, fontFamily: 'turnb'});
			Cufon.replace('div.rightSideBoxContent h3, div.greenBox h3, div.relatedProducts h3, form.productForm p.submit button', {fontFamily: 'turnb'});
			
			$("a[rel='gallery']").colorbox({slideshow:false, height:"95%"});
			
			$('#searchQuery').bind('focus',
				function(){
					elem = $(this);
					if(elem.val() == searchDefault){
						elem.val('');
					}
				}
			).bind('blur',
				function(){
					if(elem.val() == ''){
						elem.val(searchDefault);
					}
				}
			);
			
			var loginUserDefault = $('#login_username').val();
			$('#login_username').bind('focus',
				function(){
					elem = $(this);
					if(elem.val() == loginUserDefault){
						elem.val('');
					}
				}
			).bind('blur',
				function(){
					elem = $(this);
					if(elem.val() == ''){
						elem.val(loginUserDefault);
					}
				}
			);
			
			var loginPassDefault = $('#login_password').val();
			$('#login_password').bind('focus',
				function(){
					elem = $(this);
					if(elem.val() == loginPassDefault){
						elem.val('');
					}
				}
			).bind('blur',
				function(){
					elem = $(this);
					if(elem.val() == ''){
						elem.val('');
					}
				}
			);
		}
	);
})(jQuery);
