
/**
* Date picker code below this point;
* TODO: Este código apenas funciona no NS6 (Firefox) e IE5+ !!!
*/

function xcLoadContentsToIFrame(pageURL) {

	document.getElementById("frameData").src = pageURL;

}

function xcLoadContentsToDiv(aCalendarId) {

	var containerDiv = document.getElementById(aCalendarId + 'Cal');
	var calendarToolTipId = aCalendarId + 'TT';

	// Resize tooltip;
	document.getElementById(calendarToolTipId).style.height = 'auto';
	document.getElementById(calendarToolTipId).style.width = 'auto';

	// Transferir o conteudo do iframe para a div;
	containerDiv.innerHTML = window.frames["frameData"].document.body.innerHTML;

}

var blankCalendarId = 'datePickerDiv';
var datepickerPoolId = 'datepickerPool';

function xcCreatDatePicker(aParentObject, aEvent, aContentsURL, aRedirectURL, aDateInputId) {

	var idCurrentCalendar = aParentObject.id + 'Cal';

	//Criar uma DIV temporaria para o calendario;
	if(document.getElementById(idCurrentCalendar) == null) {

		var calendarPool = document.getElementById(datepickerPoolId);
		var blankCalendar = document.getElementById(blankCalendarId);

		var currentCalendar = blankCalendar.cloneNode(1);
		currentCalendar.id = idCurrentCalendar;

		//Adicionar a "div" á pool de calendarios;
		calendarPool.appendChild(currentCalendar);

	}

	if(aContentsURL.indexOf('?') == -1) {
		aContentsURL += '?';
	}else{
		aContentsURL += '&';
	}

	var urlToLoad = aContentsURL + 'datepickerid=' + aParentObject.id;

	if (typeof(aRedirectURL) != 'undefined')
	{
		urlToLoad = urlToLoad + '&redirect_url=' + aRedirectURL;
	}

	if (typeof(aDateInputId) != 'undefined')
	{
		urlToLoad = urlToLoad + '&date_input_id=' + aDateInputId;
	}

	//Carregar o conteudo da tooltip;
	xcLoadContentsToIFrame(urlToLoad);

	// Criar a tooltip;
	domTT_activate(aParentObject, aEvent, 'caption', aParentObject.title, 'content', document.getElementById(idCurrentCalendar), 'type', 'sticky', 'draggable', true, 'id', (aParentObject.id + 'TT'), 'closeLink', document.getElementById('ttCloseButton'), 'closeAction', 'destroy');

	return false;
}

function xcSetNewDate(aTooltipId, aInputId, aYear, aMonth, aDay) {

	var dateInputField = document.getElementById(aInputId);

	dateInputField.value = aDay +'-'+aMonth+'-'+aYear;

	domTT_close(aTooltipId);
}

function xcSetDate(aYear, aMonth, aDay, aUrl) {

	if ((typeof(aUrl) != 'undefined')&&(aUrl != '')) {

		if(aUrl.indexOf('?') == -1) {
			aUrl += '?';
		}else{
			aUrl += '&';
		}

		parent.location.href = aUrl + 'y=' + aYear + '&m=' + aMonth + '&d=' + aDay;

	}

}

function xcSetDateMonth(aYear, aMonth, aUrl) {

	if ((typeof(aUrl) != 'undefined')&&(aUrl != '')) {

		if(aUrl.indexOf('?') == -1) {
			aUrl += '?';
		}else{
			aUrl += '&';
		}

		parent.location.href = aUrl + 'y=' + aYear + '&m=' + aMonth;

	}

}


function xcCreatDateSwaper(aParentObject, aEvent, aContentsURL, aYear, aMonth, aDay, aType) {

	var idCurrentCalendar = aParentObject.id + 'Cal';

	//Criar uma DIV temporaria para o calendario;
	if(document.getElementById(idCurrentCalendar) == null) {

		var calendarPool = document.getElementById(datepickerPoolId);
		var blankCalendar = document.getElementById(blankCalendarId);

		var currentCalendar = blankCalendar.cloneNode(1);
		currentCalendar.id = idCurrentCalendar;

		//Adicionar a "div" á pool de calendarios;
		calendarPool.appendChild(currentCalendar);

	}

	if(aContentsURL.indexOf('?') == -1) {
		aContentsURL += '?';
	}else{
		aContentsURL += '&';
	}

	var urlToLoad = aContentsURL + 'datepickerid=' + aParentObject.id;

	//a data especifica do momento
	if (typeof(aYear) != 'undefined')
	{
		urlToLoad = urlToLoad + '&y=' + aYear;
	}
	if (typeof(aMonth) != 'undefined')
	{
		urlToLoad = urlToLoad + '&m=' + aMonth;
	}
	if (typeof(aDay) != 'undefined')
	{
		urlToLoad = urlToLoad + '&d=' + aDay;
	}
	if (typeof(aType) != 'undefined')
	{
		urlToLoad = urlToLoad + '&type=' + aType;
	}

	//Carregar o conteudo da tooltip;
	xcLoadContentsToIFrame(urlToLoad);

	// Criar a tooltip;
	domTT_activate(aParentObject, aEvent, 'caption', aParentObject.title, 'content', document.getElementById(idCurrentCalendar), 'type', 'sticky', 'draggable', true, 'id', (aParentObject.id + 'TT'), 'closeLink', document.getElementById('ttCloseButton'), 'closeAction', 'destroy');

	return false;
}

function xcSwapDate(aTooltipId, aYear, aMonth, aDay, aType){

	if(typeof(document.create) != 'undefined'){
		
		document.create["datainicio[day]"].value = aDay;
		document.create["datainicio[month]"].value = aMonth;
		document.create["datainicio[year]"].value = aYear;
	}
	else if(typeof(document.manut) != 'undefined'){
		
		if(aType == 'begin'){
			document.manut["datainicio[day]"].value = aDay;
			document.manut["datainicio[month]"].value = aMonth;
			document.manut["datainicio[year]"].value = aYear;
		}
		
		document.manut["datafim[day]"].value = aDay;
		document.manut["datafim[month]"].value = aMonth;
		document.manut["datafim[year]"].value = aYear;	
	}
	else{ //document.search
		if(aType == 'begin'){
			document.search["datainicio[day]"].value = aDay;
			document.search["datainicio[month]"].value = aMonth;
			document.search["datainicio[year]"].value = aYear;
		}else{
			document.search["datafim[day]"].value = aDay;
			document.search["datafim[month]"].value = aMonth;
			document.search["datafim[year]"].value = aYear;	
		}
	}
	
	domTT_close(aTooltipId);
}
