(function($){
	EYE.register(function(){
		$('#loginBoxContent')
			.find('input')
				.bind('blur', function() {
					var el = $(this).removeClass('focused');
					if (this.value == '') {
						this.value = el.attr('rel');
					}
				})
				.eq(0)
					.bind('focus', function() {
						$(this).addClass('focused');
						if (this.value == $(this).attr('rel')) {
							this.value = '';
						}
					}).end()
				.eq(1)
					.bind('focus', function() {
						$(this).addClass('focused');
						if (this.value == $(this).attr('rel')) {
							this.value = '';
						}
					}).end();
		if (typeof Calendar != 'undefined') {
			$('#contentHolder input.calendarField').each(
				function(){
					calId = $(this).attr('id');
					/*Calendar.setup({
						trigger    : calId,
						inputField : calId,
						dateFormat : "%Y-%m-%d %H:%M",
						showTime: 24,
						min: currentDate
					});*/
					Calendar.setup({
						trigger    : calId,
						inputField : calId,
						ifFormat : "%Y-%m-%d %H:%M",
						showsTime : true,
        				timeFormat : "24"
					});
				}
			);
		}
	}, 'init');
	
	EYE.menu = function() {
		var focused = false,
			mouseEnter = function() {
				if (focused === true) {
					$("#mainMenu>li.hover")
						.removeClass('hover')
						.find('input').trigger('blur');
				}
				$(this).addClass('hover');
			},
			mouseLeave = function() {
				if (focused != true) {
					$(this).removeClass('hover');
				}
			},
			focus = function() {
				focused = true;
			},
			blur = function() {
				focused = false;
				console.log($(this).closest('li').trigger('mouseleave'));
			};
		return {
			init: function() {
				$('#mainMenu>li:has(div)')
					.bind('mouseenter', mouseEnter)
					.bind('mouseleave', mouseLeave)
					.find('input')
						.bind('focus', focus)
						.bind('blur', blur);
			}
		};
	}();
	EYE.register(EYE.menu.init, 'init');
	
	EYE.uploadPhotos = function(){
		var maxInputs = 3,
			addField = function() {
				if (maxInputs > 0) {
					changeInputs(-1);
  					tmpid = Math.ceil(Math.random()*10000);
					$('#auctionPhotos').append('<p><label for="">Photo: </label><input class="textField" name="photo['+tmpid+']" type="file" />&nbsp;&nbsp;&nbsp;&nbsp;<a href="#" class="removePhotoField">delete</a></p>');
				}
				return false;
			},
			click = function(ev) {
				var trgtEl = $(ev.target).closest('a');
				if (trgtEl.size() > 0) {
					if (trgtEl.is('.removePhotoField')) {
						changeInputs(1);
						trgtEl.parent().remove();
						return false;
					} else if (trgtEl.is('.removeTmpImage')) {
				  		img = trgtEl.attr('rel');
				  		imgId = trgtEl.attr('id');
				  		$.ajax({
							type: "POST",
							url: "/ajaxserver.php",
							data: $.param({
								plugin: 'deleteTempImage',
								imgId: imgId,
								img: img
							}),
							success: function(){
								trgtEl.parent().remove();
								changeInputs(1);
							}
						 });
						 return false;
					} else if ('a.removeImage') {
						img = trgtEl.attr('rel');
						imgId = trgtEl.attr('id');
						$.ajax({
						type: "POST",
						url: "/ajaxserver.php",
						data: $.param({
								plugin: 'deleteImage',
								imgId: imgId,
								img: img
							}),
						success: function(){
							trgtEl.parent().remove();
							changeInputs(1);
						}
						});
						 return false;
					}
				}
			},
			changeInputs = function (dir) {
				maxInputs = Math.max(0,Math.min(8, maxInputs + dir));
				$('#addPhotoField').css('display', maxInputs == 0 ? 'none' : '');
			};
		return {
			init: function() {
				maxInputs -= $('#auctionPhotos input').size() + $('#uploadedPhotos img').size();
				$('#addPhotoField').bind('click', addField);
				$('#auctionPhotos, #uploadedPhotos').bind('click', click);
			}
		};
	}();
	EYE.register(EYE.uploadPhotos.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.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
					});
				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()
						}),
						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;
					$(".auctionMail").bind('click', show);
					$('#tellafriend a').bind('click', hide);
				}
			}
		};
	}();
	EYE.register(EYE.tellafriend.init, 'init');
			
})(jQuery);

$(document).ready(
	function(){		
		$("a[rel^='gallery']").fancybox();		
		
		$('#deleteAvatar').bind('click',
			function(){
				if(confirm('Are you sure you want delete?')){
					$.ajax({
					   type: "POST",
					   url: "/ajaxserver.php",
					   data: "plugin=deleteAvatar",
					   success: function(xml){
					     $('#existingAvatar').html($('success', xml));
					   }
					 });
				}
				return false;
			}
		);
		$('span.timeRemaining').each(
			function(){
				var dateParts = $(this).attr('rel').split(',');
				var dateObj = new Date(
					parseInt(dateParts[2], 10),
					parseInt(dateParts[0], 10)-1,
					parseInt(dateParts[1], 10),
					parseInt(dateParts[3], 10),
					parseInt(dateParts[4], 10),
					0
				);
				$(this).countdown({ until: dateObj, layout: timeRemainingFormat, serverSync: serverTime}); 
			}
		);
		$('#placeBid').bind('click', function(){
			var val = parseFloat($('#bid_value').val()) || 0;
			if (val != 0){
				$('#bid_value').val(val);
				return confirm(bidConfirm + ' ' + val + ' EURO?');
			}else{
				return alert(bidConfirmError);
			}
		});
		$('#placeAutoBid').bind('click', function(){
			var val = parseFloat($('#autobid_value').val()) || 0;
			if (val != 0){
				$('#autobid_value').val(val);
				return confirm(bidConfirm + ' ' + val + ' EURO?');
			}else{
				return alert(bidConfirmError);
			}
		});
	}
);

function serverTime() { 
    var time = null; 
    $.ajax({url: '/serverTime.php', 
        async: false, dataType: 'text', 
        success: function(text) { 
            time = new Date(text); 
        }, error: function(http, message, exc) { 
            time = new Date(); 
    }}); 
    return time; 
}