(function(jQuery) {

	jQuery.fn.popupcal = function() {
		var urlmode = 'pathinfo';
		var limited = 0;
		jQuery(this).each(function () {
			// options
			var distance = 10;
			var time = 250;
			var hideDelay = 500;

			var hideDelayTimer = null;

			// tracker
			var beingShown = false;
			var shown = false;

			var trigger = jQuery(this);
			var popup = '';
			//alert(this.nextSibling.tagName);
			if (this.nextSibling.nodeType == '1') {
				popup = jQuery(this.nextSibling.firstChild);
			} else {
				popup = jQuery(this.nextSibling.nextSibling.firstChild);
			}
			if (jQuery.browser.msie) {
				//popup.get(0).style.removeAttribute('filter');
				//popup.css('visibility', 'visible');
			}
			popup.css('opacity', 0);

			// set the mouseover and mouseout on both element
			jQuery([trigger.get(0), popup.get(0)]).mouseover(function () {
				// stops the hide event if we move from the trigger to the popup element
				if (hideDelayTimer) clearTimeout(hideDelayTimer);

				//if (jQuery.browser.msie) {
					//popup.css('visibility', 'hidden');
				//	popup.get(0).style.removeAttribute('filter');
				//} else {
				//}

				// don't trigger the animation again if we're being shown, or already visible
				if (beingShown || shown) {
					return;
				} else {
					beingShown = true;
					// reset position of popup box
					//alert(this.tagName);
					popup.css({
						'bottom': 0,
						'left': -76,
						'display': 'block' // brings the popup back in to view
					})
					// (we're using chaining on the popup) now animate it's opacity and position
					.animate({
						'bottom': '+=' + distance + 'px',
						'opacity': 1
					}, time, 'swing', function() {
						// once the animation is complete, set the tracker variables
						beingShown = false;
						shown = true;
					});
				}
			}).mouseout(function () {
				// reset the timer if we get fired again - avoids double animations
				if (hideDelayTimer) clearTimeout(hideDelayTimer);

				// store the timer so that it can be cleared in the mouseover if required
				hideDelayTimer = setTimeout(function () {
					hideDelayTimer = null;
					popup.animate({
						bottom: '-=' + distance + 'px',
						opacity: 0
					}, time, 'swing', function () {
						//if (jQuery.browser.msie) {
						//	popup.get(0).style.removeAttribute('filter');
						//}
						// once the animate is complete, set the tracker variables
						shown = false;
						// hide the popup entirely after the effect (opacity alone doesn't do the job)
						popup.css('display', 'none');
					});
				}, hideDelay);
			});

		});

		jQuery('a.prevmonth, a.nextmonth').click(function () {
			var href = this.href;
			var query = href.split('?')[1];
			if (urlmode == 'pathinfo') {
				var paramref = href.split('/');
				var paramcheck = paramref.length;
				var blogid = paramref[paramcheck-2];
				var archive = paramref[paramcheck-1];
				var category = '';
				if (limited) {
					blogid = paramref[paramcheck-4];
					archive = paramref[paramcheck-3];
					//var catid = paramref[paramcheck-1];
					category = '&catid='+limited;
				}
				query = 'blogid='+blogid+'&archive='+archive+category;
			}
			var cal = 'http://www.ichiro.to/?action=plugin&name=Popupcal&'+query;
			//var cal = 'http://www.ichiro.to/common/action.php?action=plugin&name=Popupcal&'+query;
			//alert(cal);
			jQuery('#cal').load(cal,{},function() {
				jQuery('.date_has_event').popupcal();
			});
			return false;
		});

	};

})(jQuery);

jQuery(function(jQuery){
	//jQuery('#sidebar .content').prepend('<h3 class="calendarhead">Calendar</h3><div id="cal"></div>');
	//jQuery('#sidebar .contents').prepend('<h3 class="calendarhead">Calendar</h3>');
	var cal = 'http://www.ichiro.to/?action=plugin&name=Popupcal';
	//var cal = 'http://www.ichiro.to/common/action.php?action=plugin&name=Popupcal';
	var params = {
		time: 1178424149, 
		blogid: 1, 
		catid: 0, 
		useextlib: 1 
	};
	jQuery('#cal').load(cal,params,function() {
		jQuery(this).css({'backgroundImage':'none'});
		jQuery('.date_has_event').popupcal();
	});
});
