Here is example automatic date changing in rich:calendar component. We add one month to user selected date
<rich:calendar showWeekDaysBar="false" showFooter="false" datePattern="MM/yyyy" required="true" id="startDate" ondateselected="if(event.rich.date!=null){event.rich.component.selectDate(event.rich.date.setMonth(event.rich.date.getMonth()+1));}" requiredMessage="#{msgs.simulatedTabReportingStartMonthisRequed}" value="#{simulationReportTabController.startDate}" > </rich:calendar>
svn co http://anonsvn.jboss.org/repos/richfaces/root
cd root mvn install -Dmaven.test.skip=true -P components,trunk
mvn eclipse:eclipse -Dmaven.test.skip=true -P components,trunk