// JScript source code

	YAHOO.namespace("example.calendar");

	YAHOO.example.calendar.init = function(sInstArg) {
	
		var sInstance = sInstArg;
		var objCal;
	
		function handleSelect(type,args,obj) {
			
			var dates = args[0]; 
			var date = dates[0];
			var month = date[1], day = date[2], year = date[0];
			
			var MoveMonth = document.getElementById("idMoveMonth" + sInstance);
			var MoveDay = document.getElementById("idMoveDay" + sInstance);
			var MoveYear = document.getElementById("idMoveYear" + sInstance);
	        var MoveDate = document.getElementById("idMoveDate");
	       if((MoveMonth == null) && (MoveDay == null))
	       {
	            document.getElementById("idMoveDate").value = (month + '/' + day + '/' + year);
	       }
	       else
	       {
	      		for (var d=0;d<MoveDay.options.length;d++) {				
						if (MoveDay.options[d].value == day) {
							MoveDay.selectedIndex = d;
							break;
						}
					}
					for (var m=0;m<MoveMonth.options.length;m++) {				
						if (MoveMonth.options[m].value == month) {
							MoveMonth.selectedIndex = m;
							break;
						}
					}
			}
				if (MoveYear && MoveYear.type == 'select-one') {
					for (var i=0;i<MoveYear.options.length;i++) {
						if (MoveYear.options[i].value == year) {
							MoveYear.selectedIndex = i;
							break;
						}
					}
				}
			
			obj.hide();
		}
		function updateCal() {
		    var MoveMonth = document.getElementById("idMoveMonth" + sInstance);
			var MoveDay = document.getElementById("idMoveDay" + sInstance);
			var MoveYear = document.getElementById("idMoveYear" + sInstance);
			var month, day, year;
			var cDay = new Date();
			var bDateValid = true;
			
			if((MoveMonth == null) && (MoveDay == null) && (MoveYear == null) )
	       	{	
	       	    var MoveDate = document.getElementById("idMoveDate");
				var newMoveDate =  new Date(MoveDate.value);
				if ((MoveDate.value == "month/day/year") || (isNaN(newMoveDate.getTime())))
				{
					newMoveDate = new Date();
					newMoveDate.setTime(newMoveDate.getTime() + 14*24*60*60*1000);					
				}
				month = newMoveDate.getMonth() + 1;
				day = newMoveDate.getDate();
			}
		    else
		    {
				month = parseInt(MoveMonth.options[MoveMonth.selectedIndex].value); 
				day = parseInt(MoveDay.options[MoveDay.selectedIndex].value);
			}
			if (MoveYear && MoveYear.type == 'select-one')
				year = parseInt(MoveYear.options[MoveYear.selectedIndex].value);
			else
			{	if (month < (cDay.getMonth() + 1) )
				{
					year = parseInt(cDay.getFullYear() + 1);
				}
				else{
					year = parseInt(cDay.getFullYear());
				}
			}
			
			
			if (! isNaN(month) && ! isNaN(day) && ! isNaN(year)) {
				var date = month + "/" + day + "/" + year;
			    if (bDateValid)
				    objCal.select(date);
				objCal.cfg.setProperty("pagedate", month + "/" + year);
				objCal.render();
			}
			
		}
		
		var dt= new Date();
		
		// Move mindate
		var MoveMinDate= dt.getMonth() + 1 + "/" + dt.getDate() + "/" + dt.getFullYear(); 
	
		// Move max date	
		dt.setMonth(dt.getMonth() + 6);
		var MoveMaxDate = dt.getMonth() + 1 + "/" + dt.getDate() + "/" + dt.getFullYear();
		
		YAHOO.example.calendar.cal2 = new YAHOO.widget.Calendar("cal2" + sInstance,"cal2Container" + sInstance, 
																	{ mindate:MoveMinDate,
																	  maxdate:MoveMaxDate,close:true});
		YAHOO.example.calendar.cal2.selectEvent.subscribe(handleSelect, YAHOO.example.calendar.cal2, true);
		
		//YAHOO.example.calendar.cal2.render();

		// Listener to show the 1-up Calendar when the button is clicked
		YAHOO.util.Event.addListener("idMoveDate", "click", YAHOO.example.calendar.cal2.show, YAHOO.example.calendar.cal2, true);
		YAHOO.util.Event.addListener("ShowCalendar" + sInstance, "click", YAHOO.example.calendar.cal2.show, YAHOO.example.calendar.cal2, true);
		YAHOO.util.Event.addListener(["idMoveMonth" + sInstance, "idMoveDay" + sInstance, "idMoveYear" + sInstance, "idMoveDate" + sInstance], "change", updateCal);
		objCal = YAHOO.example.calendar.cal2;
		updateCal();
	}


	function initCal1() 
	{	YAHOO.example.calendar.init("");
	}
	
	YAHOO.util.Event.onDOMReady(initCal1);
	
