
function calendarUpdateSel(id, stamp)
{
	var y = stamp.substring(0, 4);
	var m = stamp.substring(4, 6);//.replace('0','');
	var d = stamp.substring(6, 8);
	
	$('#'+id+' select.day').attr('value', d)
	$('#'+id+' select.month').attr('value', m)
	$('#'+id+' select.year').attr('value', y)
	
	calendarSetStamp(id, stamp)
	return false
}
function calendarUpdateCal(id, base, stamp)
{
	$.get(base+'ajaxcal/1/'+stamp,
		function(data){
			$('#'+id+' div.calendar_table').empty().append(data);
			calendarCheckStamp(id);
			calendarSetFunc(id, base, stamp);
	  }
	);
}

function calendarGetStamp(id)
{
	var new_stamp = 
	y =	$('#'+id+' select.year').attr('value'); 
	y = y == undefined ? '' : y;
	m =	$('#'+id+' select.month').attr('value');
	m = m == undefined ? '' : m;
	d = $('#'+id+' select.day').attr('value');
	d = d == undefined ? '' : d;
	new_stamp = y && m ? y+m+d : false;
	return new_stamp
}

function calendarSetStamp(id, stamp)
{
	$('#'+id+' table.calendar a.selected').removeClass('selected');
	$('#'+id+' table.calendar a[@rel='+stamp+']').addClass('selected');
}

function calendarCheckStamp(id)
{
	max = $('#'+id+' table.calendar a[@rev=max]').attr('rel').substring(6, 8);
	cur = $('#'+id+' select.day').attr('value')
	if(cur != undefined)
	{
		if(max < cur) $('#'+id+' select.day').attr('value', max);
	}
}

function calendarSetup(id, base, stamp)
{
	calendarUpdateCal(id, base, stamp);

	$('#'+id+' select.day').change(
		function() {
			calendarCheckStamp(id)
			var new_stamp = calendarGetStamp(id);
			if(new_stamp != false)
			{
				if(new_stamp.length >= 6) window.location.href = base+new_stamp
			}
			$(this).blur();
			return true;
		}
	);

	$('#'+id+' select.month, #'+id+' select.year').change(
		function() {
			var new_stamp = calendarGetStamp(id)
			if(new_stamp != false)
			{
				if(new_stamp.length >= 6) window.location.href = base+new_stamp
			}
			$(this).blur();
			return true;
		}
	);
		
	return
}

function calendarSetFunc(id, base, stamp)
{
	$('#'+id+' table.calendar th a').click(
		function() {
			stamp = $(this).attr('rel');
			day = $('#'+id+' select.day').attr('value') ;
			if(stamp.length <=6 && day != undefined) stamp += day;
			calendarSetup(id, base, stamp);
			calendarUpdateSel(id, stamp);
			return false;
		}
	);
	
	$('#'+id+' table.calendar td a').click(
		function() {
			stamp = $(this).attr('rel');
			calendarUpdateSel(id, stamp);
			if($(this).attr('href') != '#')
			{
				return true;
			}
			else
			{
				$(this).blur();
				return false;
			}
		}
	);
	return
}
