(function($){	
	objCalendar = '';
	$('.calendar').live('mouseover',function(){
		$(this).css({
			'border':'1px solid #ccc',
			'cursor':'pointer'
		});
	});
	$('.calendar').live('mouseout',function(){
		$(this).css({
			'border':''
		});
	});
	$('.calendar').live('click',function(event){
		objCalendar = $($(this).prev());
		$(this).calendar(event);
	});
	jQuery.fn.calendar = function(event) {
		if ($('body').find('.calendar_layer').length==0) {
			$('body').append('<div class="calendar_layer">&nbsp;</div>');
			$('body').bind('click',function(event){
				var a = $(this);
				var x = 0;
				var obj = $(event.target);
				try {
					for (var i=0;i<=10;i++) {
						if (obj.hasClass('calendar_layer')==true) {
							x = 1;
						}
						obj = $(obj.parent());
					}					
				} catch(err) { }
				if (x==0) {
					$('.calendar_layer').fadeOut('fast');
				}
			});
			$(window).bind('scroll',function(event){
				$('.calendar_layer').fadeOut('fast');				
			});
			$('.layer_content').bind('scroll',function(){
				$('.calendar_layer').fadeOut('fast');				
			});
		}
		obj = $('.calendar_layer');
		var ctop = event.clientY+document.body.scrollTop;
		if (ctop+200>document.body.clientHeight) {
			ctop = event.clientY+document.body.scrollTop-200;
		}
		obj.css({
			'z-index':2000,
			'display':'none',
			'position':'absolute',
			'overflow':'none',
			'background-color':'white',
			'border':'2px solid black',
			'width':'200px',
			'height':'200px',
			'left':event.clientX+document.body.scrollLeft,
			'top':ctop
		});
		obj.fadeIn('fast',function(){
			var n = objCalendar.val();
			if (n!='') {
				n = n.split('-');
				var url = 'helper/calendar/index.php?month='+n[1]+'&year='+n[0];
			} else {
				var url = 'helper/calendar/index.php';
			}
			$(this).load(url);
		});
	}
})(jQuery);
