var defaultMinDate = null;
var defaultMaxDate = null;

var opcoes = {
	// Set defaults
	clearText: 'Limpar',
	closeText: 'Fechar',
	prevText: '&lt; Ant.',
	nextText: 'Pr&oacute;x. &gt;',
	currentText: 'Hoje',
	dayNames: ['Dom','Seg','Ter','Qua','Qui','Sex','S&aacute;b'],
	monthNames: ['Janeiro','Fevereiro','Mar&ccedil;o','Abril','Maio','Junho',
		'Julho','Agosto','Setembro','Outubro','Novembro','Dezembro'],
	dateFormat: 'DMY/',
	showOtherMonths: false,
	minDate: null,
	maxDate: null,
	changeMonth: true,
	changeYear: true,
	firstDay: 0,
	closeAtTop: true,
	hideIfNoPrevNext: false,
	customDate: null,
	speed: 250,
	fieldSettings: customRange
}

function customRange(input) {
	range = 5;
	return {yearRange: '-' + range + ':+' + range, 
			minDate: (input.id == 'dTo' ? getDate($('#dFrom')) : (input.id == 'dEntregaPrevista' ? getDate($('#dRemessa')) : (input.id == 'dEntregaRealizada' ? getDate($('#dEntregaPrevista')) : (input.id == 'dAte' ? getDate($('#dDe')) : defaultMinDate ) ))), 
		maxDate: (input.id == 'dFrom' ? getDate($('#dTo')) : (input.id == 'dRemessa' ? getDate($('#dEntregaPrevista')) : (input.id == 'dEntregaPrevista' ? getDate($('#dEntregaRealizada')) : (input.id == 'dDe' ? getDate($('#dAte')) : defaultMinDate ) )))	};
}

function getDate(value) {
	fields = value.val().split('/');
	return (fields.length < 3 ? null :
		new Date(parseInt(fields[2], 10), parseInt(fields[1], 10) - 1, parseInt(fields[0], 10)));
}

$(document).ready(function () {
	popUpCal.setDefaults(opcoes);
	$('.calendarRange').calendar({autoPopUp: 'both', buttonImageOnly: true, 
		buttonImage: '../script/jquery/images/calendar.gif', buttonText: 'Calend&aacute;rio'});
	$('.calendarRange').calendar();
});
