var names     = new makeArray0('January','February','March','April','May','June','July','August','September','October','November','December');
var days      = new makeArray0(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
var dow       = new makeArray0('S','M','T','W','T','F','S');
var mm,yyyy;
var xlt,xrt,ytp,ybt,layer_name,first_time,mouse_pos,field_name
var l1
var today_dd,today_mm,today_yyyy

var evaluatorFunction = null;
var startYear = 1990;
var endYear = 2020;

document.writeln('<div id="l1" style="position:absolute;  visibility: hidden ;background-color: #CCCCCC; layer-background-color: #CCCCCC; left:279px; top:149px; width:170px; height:215px; z-index:1;  border: 1px solid #000000 " ></div>')

function show_cal() 
{
	
	var args=show_cal.arguments
	var ly_color="#CCCCCC"
	var left=0
	var top=0
	switch(args.length) {
	case 0:
	
		return true
		break;
	case 1:	
		field_name=args[0]
		left=Find_Left()
		top=Find_Top()
		break;
	case 2:
		field_name=args[0]
		left=args[1]
		top =Find_Top()
		break;
	case 3:
		field_name=args[0]
		left=args[1]
		top=args[2]
		break;
	case 4:
		field_name=args[0]
		left=args[1]
		top=args[2]
		ly_color=args[3]
		break;
		
		case 5:
			field_name=args[0];
			left=args[1];
			top=args[2];
			
			if(args[3] != null)
			{
				ly_color=args[3]
			}
	
			evaluatorFunction = args[4];
		break;
	
		/*Includes just start year*/
		case 6:
			field_name=args[0];
			left=args[1];
			top=args[2];
			
			if(args[3] != null)
			{
				ly_color=args[3]
			}
	
			evaluatorFunction = args[4];
	
			/*Start year*/
			if(!isNaN(args[5]))
			{
				startYear = args[5];
			}
		break;
		
		/*Includes start year and end year*/
		case 7:
			field_name=args[0];
			left=args[1];
			top=args[2];
			
			if(args[3] != null)
			{
				ly_color=args[3]
			}
	
			evaluatorFunction = args[4];
	
			/*Start year*/
			if(!isNaN(args[5]))
			{
				startYear = args[5];
			}
			
			/*End year*/
			if(!isNaN(args[6]))
			{
				endYear = args[6];
			}
		break;
	}	
	
	
	
	var dt=new Date();
	today_mm=dt.getMonth()+1
	today_dd=dt.getUTCDate()
	today_yyyy=dt.getUTCFullYear()
	myobj=MM_findObj('l1');
	myobj.style.left=left
	myobj.style.top=top
	myobj.style.background=ly_color
	MM_setTextOfLayer('l1','',Calendar(dt.getMonth(),dt.getUTCFullYear(),field_name,'l1'));
	MM_showHideLayers('l1','','show');
	first_time=1
	mouse_pos=true;
	/*if (navigator.appName == "Netscape") {
	  document.captureEvents(Event.CLICK);
	  myobj.captureEvents(Event.MOUSEOVER);
	  myobj.captureEvents(Event.MOUSEOUT);
	}
	*/
	document.onclick = printEvent;
	myobj.onmouseover=over;
	myobj.onmouseout=out;
}


function Find_Left() {
var l = screen.availWidth
return parseInt((l-150)/2)
}

function Find_Top() {
var l = screen.availHeight
return parseInt((l-250)/2)
}

function over() {
mouse_pos=false;
}

function out() {
mouse_pos=true;
}

function printEvent(e) {
if (first_time==1) { first_time=0 ; return }
if (mouse_pos) {
	if ( msieversion() >= 5.5 ) {
		MM_showHideLayers("l1",'','hide');
		document.onclick="";
	}
	mouse_pos=false;
	}
}

function Calendar(Month,Year,val,l) {
    var d=val; 
    var lay=l;
    var output = '';
    mm=Month;
    yyyy=Year;
    output += '<FORM NAME="form_'+l+'"><TABLE BORDER="1"><TR><TD ALIGN="center" WIDTH=180>';
    output += '<SELECT NAME=Month onChange=changeMonth("'+d+'","'+lay+'")>';

    for (month=0; month<12; month++) {
        if (month == Month) output += '<OPTION VALUE="' + month + '" SELECTED>' + names[month] + '</OPTION>';
        else                output += '<OPTION VALUE="' + month + '">'          + names[month] + '</OPTION>';
    }

    output += '</SELECT><SELECT NAME=Year onChange=changeYear("'+d+'","'+lay+'")>';

    for(year = startYear; year <= endYear; year++)
    {
        if (year == Year) output += '<OPTION VALUE="' + year + '" SELECTED>' + year + '</OPTION>';
        else              output += '<OPTION VALUE="' + year + '">'          + year + '</OPTION>';
    }

    output += '</SELECT></TD></TR><TR><TD ALIGN=CENTER COLSPAN=2>';

    firstDay = new Date(Year,Month,1);
    startDay = firstDay.getDay();

    if (((Year % 4 == 0) && (Year % 100 != 0)) || (Year % 400 == 0))
         days[1] = 29; 
    else
         days[1] = 28;

    output += '<TABLE CALLSPACING=0 CELLPADDING=0 BORDER=0 BORDERCOLORDARK="#000000" BORDERCOLORLIGHT="#000000"><TR>';

    for (i=0; i<7; i++)
        output += '<TD WIDTH=10 ALIGN=CENTER VALIGN=MIDDLE><FONT SIZE=-2 COLOR="#000000" FACE="ARIAL"><B>' + dow[i] +'</B></FONT></TD>';

    output += '</TR><TR ALIGN=CENTER VALIGN=MIDDLE>';

    var column = 0;
    var lastMonth = Month - 1;
    if (lastMonth == -1) lastMonth = 11;

    for (i=0; i<startDay; i++, column++)
        output += '<TD WIDTH=20 HEIGHT=20><FONT SIZE=-2 COLOR="#808080" FACE="ARIAL">' + (days[lastMonth]-startDay+i+1) + '</FONT></TD>';
    var mon=parseInt(mm)+1	

    for (i=1; i<=days[Month]; i++, column++) {

	output += "<TD WIDTH=20 HEIGHT=20"

	if ((i==today_dd) && (mon==today_mm) && (yyyy==today_yyyy)) { 
		output += "<TD WIDTH=20 HEIGHT=20 bgcolor=red ><A HREF=javascript:changeDay(" + i + ",'"+d+"','"+lay+"')><FONT SIZE=-2 FACE=ARIAL COLOR=#FFFFFF>" + i + "</FONT></A></TD>";
	} else {
		output += "<TD WIDTH=20 HEIGHT=20><A HREF=javascript:changeDay(" + i + ",'"+d+"','"+lay+"')><FONT SIZE=-2 FACE=ARIAL COLOR=#0000F>" + i + "</FONT></A></TD>";
}


        if (column == 6) {
            output += '</TR><TR ALIGN=CENTER VALIGN=MIDDLE>';
            column = -1;
        }
    }
    if (column > 0) {
        for (i=1; column<7; i++, column++)
            output +=  '<TD WIDTH=20 HEIGHT=20><FONT SIZE=-2 COLOR="#808080" FACE="ARIAL">' + i + '</FONT></TD>';
    }
	output += '</TR></TABLE></FORM></TD></TR><tr><td><table width=100%><tr><td align=center><a href=javascript:None("'+d+'")><font color="#0000F">None</font></a></td><td align=center><a href=javascript:MM_showHideLayers("l1","","hide")><font color="#0000F">Close</font></a></td></tr></table></td></tr></TABLE>'

    return output;
}

function None(d) {
var d = MM_findObj(d)	
d.value=""
MM_showHideLayers('l1','','hide');
document.onclick="";
}

function changeDay(day,d,layer) 
{
   var mon=parseInt(mm)+1
   if (mon<10) mon='0'+mon
   if (day<10) day='0'+day 
   var d = MM_findObj(d)	
  d.value=mon+'/'+day +'/'+ yyyy
  // d.value=yyyy+'-'+mon +'-'+ day
  
	if(evaluatorFunction != null)
	{
		eval(evaluatorFunction);
	}  
  
   MM_showHideLayers(layer,'','hide');
   document.onclick="";
}

function changeMonth(d,lay) {
    if ((obj=MM_findObj('form_'+lay))!=null) { mm=obj.Month.options[obj.Month.selectedIndex].value + ''; }
    var st=Calendar(mm,yyyy,d,lay)
    MM_setTextOfLayer(lay,'',st)
}

function changeYear(d,lay) {
   if ((obj=MM_findObj('form_'+lay))!=null) { yyyy=obj.Year.options[obj.Year.selectedIndex].value + ''; }
    var st=Calendar(mm,yyyy,d,lay)
    MM_setTextOfLayer(lay,'',st)
 }

function makeArray0() {
    for (i = 0; i<makeArray0.arguments.length; i++)
        this[i] = makeArray0.arguments[i];
}


function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}


function MM_showHideLayers() { //v3.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
    obj.visibility=v; }
}

function MM_setTextOfLayer(objName,x,value) { //v3.0
 document.getElementById(objName).innerHTML=value
}


// This function returns Internet Explorer's major version number,
// or 0 for others. It works by finding the "MSIE " string and
// extracting the version number following the space, up to the decimal
// point, ignoring the minor version number
function msieversion()
{
   var ua = window.navigator.userAgent
   var msie = ua.indexOf ( "MSIE " )
   if ( msie > 0 )      // If Internet Explorer, return version number
      //return parseInt (ua.substring (msie+5, ua.indexOf (".", msie )))
      return parseFloat (ua.substr(msie+5, 4))
   else                 // If another browser, return 0
      return 0

}
