function pad (number, length) {
	var n = ""+number;
	var len = (typeof(length) != "undefined") ? length : 2;
	
	return (n.length >= len) ? n : pad("0"+n, length);
}

var last_field;
var loading = '<img src="/images/action/loading.gif" alt="Loading..." />';

function ShowCalendarOnclick(sender, day, fieldName)
{
	
	// remember what the last field was so we can use it later
	last_field = fieldName;
	// check for finish button, if so, set invalid_before_date to the day of start date
	var invalid_before = '';
	if (fieldName == "end_date") {
		invalid_before = $('start_date').value;
	}
	
	new Ajax.Request('/inc/ajax/ajax.php', {
		method: 'get',
		parameters: {
			action: 'get_cal_popup',
			date: $(fieldName).value,
			field: fieldName,
			invalid_before: invalid_before
		},
		onSuccess: function (r) {
			var cal = $("div_cal");
			cal.style.display = "block";
			cal.style.width	= "200px";
			cal.style.height ="300px";
			if(fieldName == "end_date")
			{
				cal.style.margin = "55 0 0 0";
			}
			else
			{
				cal.style.margin = "0";
			}
			cal.innerHTML = r.responseText;
			
			
			
		}
	});
}
function update_calendar (sender) {
	var month = pad(parseInt($('cal_month').value)+1, 2);
	var year = $('cal_year').value;
	
	// check for finish button, if so, set invalid_before_date to the day of start date
	var invalid_before = 0;
	if (last_field == "end_date") {
		invalid_before = $('start_date').value;
	}
	
	new Ajax.Request('/inc/ajax/ajax.php', {
		method: 'get',
		parameters: {
			action: 'get_cal_popup',
			date: year+'-'+month+'-01',
			field: last_field,
			invalid_before: invalid_before
		},
		onSuccess: function (r) {
			var cal = $("div_cal");
			cal.innerHTML = r.responseText;
		}
	});	
}
function SelectDate(sender, day, fieldName)
{
	var date = day.split('-');
	var d = date[2];
	var m = date[1];
	var y = date[0];
	$(fieldName).value = y+"-"+pad(m)+"-"+pad(d);
	display_date_from_hidden("display_"+fieldName, fieldName);
	$("div_cal").style.display = "none";
	
	update_day_count();
}
function display_date_from_hidden (display, hidden) {
	if ($(hidden).value == "") {
		$(display).innerHTML = "";
		return;
	}
	
	var days = new Array("Sun", "Mon", "Tus", "Wen", "Thur", "Fri", "Sat");
	var months = new Array("Jan", "Feb", "Mar", "Apr", "May", "June", "July", "Aug", "Sep", "Oct", "Nov", "Dec")

	var date = $(hidden).value.split('-');
	var d = date[2];
	var m = parseInt(date[1], 10)-1;
	var y = date[0];

	var date = new Date(); //months[m]+" "+d+", "+y);
	date.setFullYear(y);
	date.setMonth(m, d);
	//$(display).innerHTML = days[(date.getDay()+11)%7]+" "+date.getDate()+" "+months[(date.getMonth()+11)%12]+", "+date.getFullYear();
	$(display).innerHTML = days[date.getDay()]+" "+date.getDate()+" "+months[date.getMonth()]+", "+date.getFullYear();
}
function count_days_between (start, end) {
	start = $(start).value;
	end = $(end).value;
	
	return date_2_days(end) - date_2_days(start);	
}
function date_2_days (date) {
	var ONE_DAY = 1000 * 60 * 60 * 24;
	
	date = date.split('-');
	var d = date[2];
	var m = parseInt(date[1])-1;
	var y = date[0];
	
	var date = new Date(y, m, d);
	
	date = date.getTime();
	
	return Math.round(date / ONE_DAY);
}
function update_day_count () {
	
	var days = 1+count_days_between('start_date', 'end_date');
	if (days < 1) {
		$('end_date').value = $('start_date').value;
		display_date_from_hidden('display_end_date', 'end_date');
		days = 1;
	}
	//$('number_of_days').value = days;
	//$("display_number_of_days").innerHTML = days;
}

function close_calendar () {
	$("div_cal").style.display = "none";
}

/*function btn_date_onclick (sender)
{	
	switch (sender.getAttribute("name"))
	{
		case "btn_date":
			var cal = new CalendarPopup("popup_calendar");
			var callback = "setDateDisplay";
			var date = $("start_date");
			break;
	}
	cal.showNavigationDropdowns();
	cal.setReturnFunction(callback);
	cal.select(date,'btn-date','dd-MM-YYYY'); 	
	return false;
	}
	function setDateDisplay (y, m, d) {	
		g("date").value = y+"-"+pad(m)+"-"+pad(d);
		//alert(y+"/"+m+"/"+d);
		var days = new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");
		var months = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December")
	
		var date = new Date(y, m, d, 0, 0, 0, 0);
		g("date_display").innerHTML = days[(date.getDay()+11)%7]+" "+date.getDate()+" "+months[(date.getMonth()+11)%12]+", "+date.getFullYear();
}*/

