/*  Copyright Mihai Bazon, 2002, 2003  |  http://dynarch.com/mishoo/
 * ---------------------------------------------------------------------------
 * 
 * Modified by BBougie.net on October 6th 2008.
 * Modified the:	params.firstYear = tmpTodaysYear;  
 * 					params.lastYear = tmpTodaysYear + 4;
 *
 */
// $Id: calendar-setup.js,v 1.25 2005/03/07 09:51:33 mishoo Exp $
Calendar.setup = function(params) {

	var tmpTodaysDate = new Date();
	var tmpTodaysYear = tmpTodaysDate.getUTCFullYear();
	
	if (!params.name) return false;
	params.button = document.getElementById(params.name+"button");
	params.inputDay = document.getElementById(params.name+"day");
	params.inputMonth = document.getElementById(params.name+"month");
	params.inputYear = document.getElementById(params.name+"year");
	params.firstYear = tmpTodaysYear;
	params.lastYear = tmpTodaysYear + 4;
	params.daFormat = "%Y/%m/%d";
	params.align = "Tl";
	params.step = 1;
	if (!params.button || !params.inputDay || !params.inputMonth || !params.inputYear)
		return false;
	params.button.style.cursor = "pointer";

	function onSelect(cal, date) {
		var p = cal.params;
		var d = Date.parseDate(date, p.daFormat);
		var update = (cal.dateClicked);
		if (update && cal.dateClicked) {
			cal.callCloseHandler();
			p.inputDay.options[d.getDate()-1].selected = true;
			p.inputMonth.options[d.getMonth()].selected = true;
			p.inputYear.options[d.getFullYear()-p.firstYear].selected = true;
			if (p.inputDay.onchange) p.inputDay.onchange();
		}
	};

	function onClose(cal) {
		cal.hide();
	};

	params.button.onclick = function() {
		var cal = window.calendar;
		params.date = new Date(params.inputYear.value, params.inputMonth.value-1, params.inputDay.value);
		window.calendar = cal = new Calendar(1, params.date, onSelect, onClose);
		cal.showsTime = false;
		cal.weekNumbers = true;
		cal.showsOtherMonths = false;
		cal.yearStep = params.step;
		cal.setRange(params.firstYear, params.lastYear);
		cal.params = params;
		cal.setDateFormat(params.daFormat);
		cal.create();
		cal.refresh();
		cal.showAtElement(params.button, params.align);
		return false;
	};
};
