<!--

//===========================================================================
// CALENDAR FUNCTIONS 
//===========================================================================
	
var currMonth ;
var currYear ;
var calToday ;
var calDates = "" ;
var	calDtl	 = new Array ;

var calMonth = new Array(12) ;

	calMonth[0] = "January" ;	calMonth[1] = "February" ;	calMonth[2] = "March" ;
	calMonth[3] = "April" ;		calMonth[4] = "May" ;		calMonth[5] = "June" ;
	calMonth[6] = "July" ;		calMonth[7] = "August" ;	calMonth[8] = "September" ;
	calMonth[9] = "October" ;	calMonth[10] = "November" ;	calMonth[11] = "December" ;

//===========================================================================
function calNext( ) {
	document.getElementById("dateInfo").style.display = "none" ;
	document.getElementById("dateInfo").innerHTML = "" ;
	currMonth = currMonth + 1 ;
	if ( currMonth > 11 ) { currYear = currYear + 1 ; currMonth = 0 ; }
	calBuild( currYear, currMonth ) ;
}

//===========================================================================
function calPrev( ) {
	document.getElementById("dateInfo").style.display = "none" ;
	document.getElementById("dateInfo").innerHTML = "" ;
	currMonth = currMonth - 1 ;
	if ( currMonth < 0  ) { currYear = currYear - 1 ; currMonth = 11 ; }
	calBuild( currYear, currMonth	 ) ;
}

//===========================================================================
function calBuild( xy, xm ) {
	var mdat = calDays( xy,xm ) ;
	var marr = new Array ;
	marr = mdat.split(',') ;
	var mchk ;

	var cmon = 0 ;
	var tdcls ;

	var tbl = "" ;
	var row = "" ;

	var i ;
	var cday ;
	var	displayMonth = calMonth[xm] + " " + xy ;
	
	document.getElementById("calMonth").innerHTML = displayMonth ;
	
	tbl	+= '<table cellpadding=0 cellspacing=0 border=0 class="caldata">' + "\n" ;
	tbl	+= '<tr> <td class="calday">Su</td><td class="calday">Mo</td>' ;
	tbl += '<td class="calday">Tu</td><td class="calday">We</td><td class="calday">Th</td>' ;
	tbl += '<td class="calday">Fr</td><td class="calday">Sa</td> </tr>\n' ;

	cday = marr.shift( ) ;
	while ( cday ) {

	  for ( i=0 ; i<7 ; i++ ) {
	    if ( cday == 1 ) { cmon = ( cmon == 0 ) ? 1 : 0 ; }
	    if ( cmon == 1 )	{ row = row + calCell( xy,xm,cday ) ; }
	    else 		{ row = row + '<td class="cal" style="color:#CCCCCC;"> ' + cday + " </td> " ; }
	    cday = marr.shift( ) ;
	  }
	  tbl	+= "<tr>" + row + "</tr>\n" ;
	  row = "" ;
	}
	tbl	+= "</table>\n" ;

	document.getElementById("prcCalendar").innerHTML = tbl ;	
	document.getElementById("dateInfo").innerHTML = "" ;	
    }

//===========================================================================
    function calDays( xy, xm ) {
	var i ;
	var rval = "" ;
	var da	= new Array( ) ;

	var sy	= xy ;
	var sm	= xm + 1 ;

	if ( sm > 11 ) { sm = 0 ; sy = sy + 1 ; }

	var sx	= new Date( xy,xm,31 ) ;
	var edt = sx.getTime( ) ;
	sx	= new Date( xy,xm,1 ) ;
	sx.setHours(6) ;
	var ds	= sx.getTime( ) ;
	var dp	= sx.getDay( ) ;
	var dz	= ds - ( dp * 86400000 ) ;

	sx	= new Date( dz ) ;
	var sy	= sx.getFullYear( ) ;
	var sd	= sx.getDate( ) ;

	while ( dz < edt ) {
	    for ( i=0 ; i<7 ; i++ ) {
		da.push( sd ) ;
		dz = dz + 86400000 ;
			sx = new Date( dz ) ;
		sd = sx.getDate( ) ;
	    }
	}

	rval = da.join( ) ;
	return rval ;
    }

//===========================================================================
    function calCell( zy,zm,zd ) {
	var rval = "" ;
	var ztmp = "" ;
	var ztxt = "" ;
	var zarg = "" ;
	var zarr = new Array ;

	var tx = new Date() ;
	var ty = tx.getFullYear() ;
	var tm = tx.getMonth() ;
	var td = tx.getDate() ;

	var zx = new Date( zy, zm, zd ) ;
	var zc = fmtDate( zx ) ;

	var zmon = zm + 1 ;

	var zchk = "|" + zc + ";" ;
	var zloc = calDates.indexOf( zchk ) ;

	if ( zloc >= 0 ) {
	  ztmp = calDates.substr(zloc+1) ;
	  zloc = ztmp.indexOf( "|" ) ;
	  ztmp = ztmp.substr(0,zloc) ;
	  zarr = ztmp.split(";") ;

	  ztmp = zarr.shift() ;			// pick off date
	  ztxt = "" ;
	  ztmp = zarr.shift() ;			// save entry text
	  zarg = zarr.shift() ;			// save array element
	  
	  ztxt = "<br><a href=\"#\" class=\"caltxt\" onclick=\"calText(" + zarg + ")\"> " + ztmp +  " </a> " ;
	  ztmp = zarr.shift() ;
	  while ( ztmp ) {
	    zarg = zarr.shift() ;
	    ztxt += "<br><a href=\"#\" class=\"caltxt\" onclick=\"calText(" + zarg + ")\"> " + ztmp +  " </a> " ;
	    ztmp = zarr.shift() ;
	  }	
	}
	
	ztmp = "" ;
	rval = "<td class=\"cal\"> " + zd ;
	rval += ztxt ;
	rval += " </td> " ;

	return rval ;
    }

//===========================================================================
    function calText( zarg ) {
	document.getElementById("dateInfo").style.display="block";
	document.getElementById("dateInfo").innerHTML = calDtl[zarg] ;		
    }

//===========================================================================
    function calClear( ) {
	document.getElementById("dateInfo").style.display = "none" ;
	document.getElementById("dateInfo").innerHTML = "" ;
    }

//===========================================================================
    function fmtDate( zdt ) {
	var tdt	= new Date( zdt ) ;
	var rval = ( tdt.getFullYear() * 10000 ) + (( tdt.getMonth() + 1) * 100 ) + tdt.getDate() ;
	return rval ;
    }

//===========================================================================
    function retDate( zdt ) {
	var zyear = parseFloat( zdt.substr(0,4) ) ;
	var zmon  = parseFloat( zdt.substr(4,2) ) - 1 ;
	var zday  = parseFloat( zdt.substr(6,2) ) ;
	var zdat  = new Date( zyear, zmon, zday ) ;
	var rval  = zdat.getTime( ) ;
	return rval ;
    }

//-->

