// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults
var QCron = new Object();
QCron.Wait = Class.create();
QCron.Wait.prototype = {
	initialize: function() {
		
	},
	show: function() {
		Element.show('spinner');
	},
	hide: function() {
		Element.hide('spinner');
	}
};
QCron.Wait.instance = new QCron.Wait();

function set_when(year, month, day, date_field, calendar) {
	if (month < 10) month = '0' + month;
	if (day < 10) day = '0' + day;
	$(date_field).value = year + '-' + month + '-' + day;
	$(calendar).up().hide();
}

var feedbackshowing = false;
var sendtofriendshowing = false;
function toggleFeedback() {
	var delta;
	if (feedbackshowing) {
		delta = 180;
		$('sendfeedbackform').reset();
	} else {
		delta = -180;
		if (sendtofriendshowing) {
			toggleSendtofriend();
		}
	}
	feedbackshowing = !feedbackshowing;
	new Effect.MoveBy('feedbackWindow', delta, 0, 'relative');
}
function toggleSendtofriend() {
	var delta;
	if (sendtofriendshowing) {
		delta = 180;
		$('sendtofriendform').reset();
	} else {
		delta = -180;
		if (feedbackshowing) {
			toggleFeedback();
		}
	}
	sendtofriendshowing = !sendtofriendshowing;
	new Effect.MoveBy('sendtofriendWindow', delta, 0, 'relative');
}

function showEffortEditPanel(div) {
	if (div.getStyle('display') == 'none') {
//		$('timesheet_entries').select('.effortBackground').invoke('hide');
		$$('.effortBackground').invoke('hide');
		new Effect.Appear(div, {duration:0.25});
    }
    	
	new Effect.Appear(div, {duration:0.25});
}

function hideEffortEditPanel(div) {
	var e = window.event;
	var tg = (window.event) ? e.srcElement : e.target;
	if (tg.nodeName != 'DIV') return;
	
	var reltg = (e.relatedTarget) ? e.relatedTarget : e.toElement;
		
	while (reltg != div.parentNode && reltg.nodeName != 'BODY') {
		reltg = reltg.parentNode;
	}
	if (reltg == div.parentNode) return;
	
	new Effect.Fade(div, {duration:0.25}); 
}