//------------------------------------------
// i-Tab
// © 2007 Kim & Dean - All Rights Reserved
// Written By:  Dean
//------------------------------------------

var itab_cal_mdays     = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
var itab_cjump_curop   = 100;
var itab_cjump_fading  = 0;
var itab_cjump_speed   = 4;
var itab_cjump_process = false;
var itab_cjump_loaded  = false;
var itab_cjump_items   = new Array('prev', 'cur', 'next');

function itab_cal_jump_day(dd, cid, m, d, y)
{
	if (itab_cal_leap_year(y))
	{
		itab_cal_mdays[1] = 29;
	}

	var md = itab_cal_mdays[m-1];
	if (dd == 1)
	{
		d = d+1;
		if (d > md)
		{
			d = 1;
			m = m+1;

			if (m > 12)
			{
				m = 1;
				y = y+1;
			}
		}
	}
	else if (dd == -1)
	{
		d = d-1;
		if (d < 1)
		{
			m = m-1;
			d = itab_cal_mday[m-1];

			if (m < 1)
			{
				m = 12;
				y = y-1;
				d = itab_cal_mday[m-1];
			}
		}
	}

	window.location = ipb_var_base_url+'act=calendar&cal_id='+cid+'&code=showday&y='+y+'&m='+m+'&d='+d;
	return false;
}

function itab_cal_leap_year(y)
{
	if (y %400 == 0 || (y %4 == 0 && y %100 != 0))
	{
		return true;
	}

	return false;
}

function itab_cjump_initiate()
{
	var a = itab_cjump_items;
	for (var i=0; i<a.length; i++)
	{
		o = my_getbyid('itab-cjump-item-'+a[i]);
		if (o)
		{
			d = my_getbyid('itab-calendar-cjump-'+a[i]);
			if (d)
			{
				x = d.getElementsByTagName('span');
				for (var j=0; j<x.length; j++)
				{
					if (x[j].id != '' && x[j].id == 'mname')
					{
						o.innerHTML = x[j].innerHTML;
						break;
					}
				}
			}

			o.onclick     = itab_cal_display_cjump;
			o.onmouseover = itab_cjump_item_over;
			o.onmouseout  = itab_cjump_item_out;
		}
	}

	itab_cal_display_cjump('cur', true);
}

function itab_cjump_item_over(e)
{
	if (this.disabled)
	{
		return;
	}

	this.className = 'cal-jump-over';
}

function itab_cjump_item_out(e)
{
	if (this.disabled)
	{
		return;
	}

	if (this.id == 'itab-cjump-item-'+itab_cjump_cur)
	{
		this.className = 'cal-jump-cur';
	}
	else
	{
		this.className = 'cal-jump';
	}
}

function itab_cal_display_cjump(e, m)
{
	if (itab_cjump_process == true)
	{
		return false;
	}

	if (this.disabled)
	{
		return;
	}

	try
	{
		if (m == true)
		{
			c = e;
		}
		else
		{
			c = this.id.replace('itab-cjump-item-', '');
		}

		itab_cjump_cur     = (c == 'prev' || c == 'next' || c == 'cur') ? c : 'cur';
		itab_cjump_data    = my_getbyid('itab-calendar-cjump-'+itab_cjump_cur);
		itab_cjump_display = my_getbyid('itab-calendar-cjump-display');
		itab_cjump_process = true;
		itab_cjump_curop   = 100;

		itab_cjump_fancy_start();
		itab_cjump_update_items();

		if (itab_cjump_loaded != true)
		{
			itab_cjump_loaded = true;
		}
	}

	catch(e)
	{
		alert('We are having problems. Please contact Dean to report issues with this feature.'+"\n\n"+e);
	}

	return false;
}

function itab_cjump_update_items()
{
	for (var i=0; i<itab_cjump_items.length; i++)
	{
		o = my_getbyid('itab-cjump-item-'+itab_cjump_items[i]);
		if (o)
		{
			o.className       = 'cal-jump';
			o.disabled        = false;
			o.style['cursor'] = 'pointer';
		}
	}

	o = my_getbyid('itab-cjump-item-'+itab_cjump_cur);
	if (o)
	{
		o.className       = 'cal-jump-cur';
		o.disabled        = true;
		o.style['cursor'] = 'default';
	}
}

function itab_cjump_fancy_start()
{
	if (!itab_cjump_process)
	{
		return false;
	}

	if (itab_cjump_loaded)
	{
		itab_cjump_curop = 100;
		itab_cjump_fancy_fade();
	}
	else
	{
		itab_cjump_curop = 0;
		itab_cjump_fancy_switch();
	}
}

function itab_cjump_fancy_fade()
{
	if (!itab_cjump_process)
	{
		return false;
	}

	var o = itab_cjump_display;
	var d = itab_cjump_data;
	var p = d.parentNode;

	itab_cjump_curop = (itab_cjump_speed > 1) ? itab_cjump_curop-itab_cjump_speed : itab_cjump_curop-1;
	p.style.filter   = 'alpha(opacity='+itab_cjump_curop+')';
	p.style.opacity  = Math.max(0.01, itab_cjump_curop/100);

	if (itab_ie7)
	{
		d.style.filter = p.style.filter;
	}

	if (itab_cjump_curop > 0)
	{
		setTimeout("itab_cjump_fancy_fade()", itab_cjump_fading);
	}
	else
	{
		setTimeout("itab_cjump_fancy_switch()", itab_cjump_fading);
	}
}

function itab_cjump_fancy_switch()
{
	if (!itab_cjump_process)
	{
		return false;
	}

	var d = itab_cjump_data;
	var o = itab_cjump_display;

	o.innerHTML = d.innerHTML;
	setTimeout("itab_cjump_fancy_display()", itab_cjump_fading);
}

function itab_cjump_fancy_display()
{
	if (!itab_cjump_process)
	{
		return false;
	}

	var o = itab_cjump_display;
	var d = itab_cjump_data;
	var p = d.parentNode;

	itab_cjump_curop = (itab_cjump_speed > 1) ? itab_cjump_curop+itab_cjump_speed : itab_cjump_curop+1;
	p.style.filter   = 'alpha(opacity='+itab_cjump_curop+')';
	p.style.opacity  = Math.max(0.01, itab_cjump_curop/100);

	if (itab_ie7)
	{
		d.style.filter = p.style.filter;
	}

	if (itab_cjump_curop < 100)
	{
		setTimeout("itab_cjump_fancy_display()", itab_cjump_fading);
	}
	else
	{
		itab_cjump_fancy_finish();
	}
}

function itab_cjump_fancy_finish()
{
	itab_cjump_data    = null;
	itab_cjump_process = false;

	var p = itab_cjump_display.parentNode;
	itab_cjump_curop++;
	p.style.filter  = 'alpha(opacity=100)';
	p.style.opacity = Math.max(0.01, 1);

	if (itab_ie7)
	{
		d.style.filter = p.style.filter;
	}
}