var picker;
function showPicker(par,pre_uri) {
	var name = par;
	var html = pre_uri+"monthn.htm";
	var yyyy = eval("window.document.forms[0]."+name+"_yyyy");
	var mm	 = eval("window.document.forms[0]."+name+"_mm");
	yyyy = (yyyy.selectedIndex == -1) ? (new Date()).getFullYear() - 20 : yyyy.options[yyyy.selectedIndex].value;
	mm   = (mm.selectedIndex == -1) ? (new Date()).getMonth()+1 : mm.options[mm.selectedIndex].value;
	
	window.document.forms[0].pickdate.value = yyyy+"-"+mm+"-01";
	window.document.forms[0].pickname.value = name;

	var strFeatures = "minimize=1,resizable=1,dependent=0,menubar=0,directories=0, location=0,status=0,scrollbars=0,toolbar=0,left="+(screen.width-300)+",top=120,height=225,width=180,screenY=80, screenX ="+(screen.width-300);
  if (!self.picker) {picker=window.open(html,"newwin",strFeatures);}
  else if (self.picker.closed) {picker=window.open(html,"newwin",strFeatures); }
  else {self.picker.close(); picker=window.open(html,"newwin",strFeatures);}
}


function getTargetDate(shift) {
	
	var strDate = window.opener.document.forms[0].pickdate.value;
	var arrDate = new Array();
	arrDate = strDate.split(/-/);
	arrDate[0] = parseInt(arrDate[0],10);
	arrDate[1] = parseInt(arrDate[1],10);
	dat = new Date(arrDate[0],(arrDate[1]-1+shift),1);
	
	if(shift != 0){
		mon = dat.getMonth()+1;
		mon = (mon<10)?"0"+mon:mon;
		year = dat.getFullYear();		
		window.opener.document.forms[0].pickdate.value = year+"-"+mon+"-"+"01";
		window.location ="monthn.htm";		
	}	
	return dat;
}

function dispDate(date,format){
	var str = "";
	var months  = name('monthFull');
	var dow     = name('dayFull');	
	var weekDay = dow[date.getDay()];
	var mon	    = months[date.getMonth()];
	var day	    = date.getDate();
	var year    = date.getFullYear(); 

	 switch (format){
	 	case 'full':
			str = weekDay + " "+ mon.substr(0,3) + ". " + day + "," + " " + year;
			break;
	 	case 'full_abr':
			str = weekDay.substr(0,3) + " "+ mon.substr(0,3) + ". " + day + "," + " " + year;
			break;			
		case 'month_year':		
			str = mon + " " + year;
			break;				 		
	 }
	
	document.write(str);
}

function name(par){
	var name;
	switch (par){
	case 'monthFull':
		name = new Array('January','February','March','April','May','June','July','August','September','October','November','December');
		break;

	case 'dayFull':
	   	 name = new Array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');
		break;
	}
	return name;
}

function lastDay(dat){
	var lastDay = 28;
	var mon = dat.getMonth();
	var year= dat.getFullYear();
	
	if ( (mon < 8 && (mon % 2 == 0 || mon == 7)) || (mon >= 8 && mon % 2 == 1)){
		lastDay = 31;	
	}
	else if (mon == 1){
		var nextMonth = (new Date(year,mon,lastDay+1)).getMonth(); 
		if (nextMonth == 1){lastDay++};		
	}
	else {
		lastDay = 30;
	}
	return lastDay;
}

function firstDow(dat){	
	return dat.getDay();
}

function setDate(dat){
	var curDate = getTargetDate(0); 
	var setYear = curDate.getFullYear();
	var setMonth= curDate.getMonth(); 
	var setDate = dat;
	var fname = window.opener.document.forms[0].pickname.value;
	
	var str = "window.opener.document.forms[0]."+fname;
	var month = eval(str+"_mm");		
	var date  = eval(str+"_dd");    
	var year  = eval(str+"_yyyy");
	month.selectedIndex = setMonth;
	
	for (var i=0;i<year.length;i++){
		if 	(year.options[i].value == setYear){
			year.selectedIndex = i;	
		}
	}	
	if (year.selectedIndex < 0){ year.selectedIndex = 0;};
	eval("window.opener."+fname+"_normalizeDate (month,date,year)");
	date.selectedIndex = setDate-1;
	
	eval("window.opener."+fname+"_updateHidden(month)");
	self.window.close();	
}

function zeroPad(n){
	n = parseInt(n,10);
	return (n<10)?'0'+n	: n;
}	