/*
 * Robin Calendar (c) Doberman 2007
 * for calendar class
*/

var vanha = new Object();
var valitut = new Array();
var maalaa = false;
var abbralku = 0;
var abbrviime = 0;
var startDate = '';
var endDate = '';
var targetDate = 'start';

function selectedDate()
{
	if($('#'+targetDate).val()) return $('#'+targetDate).val().replace(" ", "%20"); else return '';
}

function updateDate(start, end)
{
	if(start) $('#'+targetDate).val(start);
	if(targetDate != 'end' && end && $('#end')) $('#end').val(end);
}

function updateClock()
{
	if($('#hour').val())
	{
		time = dd($('#hour').val())+':'+dd($('#min').val());
		if(startDate) startDateCheck = startDate+' '+time; else startDateCheck = '';
		if(endDate) endDateCheck = endDate+' '+time; else endDateCheck = '';
		updateDate(startDateCheck, endDateCheck);
	}
}

function dateSelect(e, elem)
{
	switch(e.type)
	{
		case 'mousedown':
			for(var i in valitut)
			{
				vanha = valitut[i];
				vanha.className = vanha.vanhaClassName;
				delete(valitut[i]);
			}
			elem.vanhaClassName = elem.className;
			elem.className = elem.className+'_act';

			valitut[parseInt(elem.abbr)] = elem;
			abbralku = parseInt(elem.abbr);
			abbrviime = parseInt(elem.abbr);

			startDate = elem.id;
			endDate = '';
			if($('#hour').val()) var time = dd($('#hour').val())+':'+dd($('#min').val());
			else var time = '';
			updateDate(startDate+' '+time, endDate);
			maalaa = true;
		break;
		case 'mouseup':
			maalaa = false;
			if($('#hour').val()) var time = dd($('#hour').val())+':'+dd($('#min').val());
			else var time = '';
			if(parseInt(abbralku) != parseInt(elem.abbr))
			{
				if(parseInt(abbralku) < parseInt(elem.abbr))
				{
					//startDate = startDate;
					endDate = elem.id;
					updateDate(startDate+' '+time, endDate+' '+time);
				}
				else
				{
					startDate = elem.id;
					endDate = valitut[parseInt(abbralku)].id;
					updateDate(startDate+' '+time, endDate+' '+time);
				}
			}
			else if(targetDate != 'end')
			{
				//startDate = startDate;
				//endDate = '';
				//updateDate(startDate+' '+time, endDate);
				$('#end').val('');
			}
			abbralku = 0;
			abbrviime = 0;
		break;
		case 'mouseover':
			if(maalaa)
			{
				if(!valitut[parseInt(elem.abbr)])
				{

					elem.vanhaClassName = elem.className;
					elem.className = elem.className + '_act';
					valitut[parseInt(elem.abbr)] = elem;

					if
					(
						parseInt(abbrviime) != (parseInt(elem.abbr)+1) &&
						parseInt(abbrviime) != (parseInt(elem.abbr)-1)
					)
					{
						if(parseInt(abbrviime) < parseInt(elem.abbr))
						{
							for(n=parseInt(abbrviime); n<parseInt(elem.abbr); n++)
							{
								abbrviime = parseInt(n);
								$('td[@abbr='+n+']').mouseover();
							}
						}
						else if(parseInt(abbrviime) > parseInt(elem.abbr))
						{
							for(n=parseInt(abbrviime); n>parseInt(elem.abbr); n--)
							{
								abbrviime = parseInt(n);
								$('td[@abbr='+n+']').mouseover();
							}
						}
					}
					else
					{
						abbrviime = parseInt(elem.abbr);
					}
				}
				if(!$.browser.msie) $('#clearSelection').focus(); else if($('#hour').val()) $('#hour').focus(); // noTextPaint
			}
		break;
	}
	return false;
}