	monthsNames = Array( "", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ); 

	
	var dateObject    		= new Date();
	var thisMonth     		= dateObject.getMonth();
	var thisYear      		= dateObject.getFullYear();
	var curMonth      		= dateObject.getMonth ();
	var curDay        		= dateObject.getDate();
	var curYear        		= dateObject.getFullYear();

	


function daysPerMonth( month, year ) {
    days = 31;
    if (  ( month == 4 )||( month == 6 )||( month == 9 )||( month == 11 )  ) { 
        days = 30;
    } else if ( month == 2 ) {
        if (((( year % 100 ) == 0 ) && (( year % 400 ) == 0 )) || ((( year % 100 )!=0 ) && (( year % 4 ) == 0 ))) {
            days = 29;
        } else {
            days = 28;
        }
    }
    return days;
}


function monthBack( month, year ) {
    if ( month == 0 ) {
        curMonth = 11;
        curYear  = year - 1;  
        showCalendar("", curMonth, curYear);
                
    } else {
        curMonth = month - 1;
        curYear  = year;
        showCalendar("", curMonth, curYear);
    }
}

function monthForward( month, year ) {
    if ( month == 11 ) { 
        curMonth = 0;
        curYear  = year + 1;
        showCalendar("", curMonth, curYear, field_name);
    } else {
        curMonth = month + 1;
        curYear  = year;
        showCalendar("", curMonth, curYear, field_name);
    }
}

function yearBack( month, year ) {
    
	curMonth = month;
	curYear  = year - 1; 
	showCalendar("", curMonth, curYear, field_name);
}

function yearForward( month, year ) { 
    curMonth = month;
    curYear  = year + 1;
    showCalendar("", curMonth, curYear, field_name);
}


function getYear( year ) {
    retval = new String( year );
    retval = retval.slice ( 2, 4 );
    return retval;
}

function getMonth( month ) {
    month++;
    retval = new String( month );
    if ( retval < 10 ) {
        retval = "0" + retval;
    }
    return retval; 
}

function getDay( day ) {
    retval = new String( day );
    if ( retval < 10 ) {
        retval = "0" + retval;
    }
    return retval;
}

function createDaysTable(curDay, curMonth, curYear) {
    
	var today        		= new Date( curYear, curMonth, 1 );
	var today        		= today.getDay();	
	
	var daysTable = "";
    daysTable = daysTable + "<table width=65% cellpadding=0 cellspacing=0 border=1 background = 'calendertable.gif' bordercolor='black' style = 'border-bottom: 1px solid Black;border-top: 1px solid Black;border-left: 1px solid Black;border-right: 1px solid Black;'>\r\n";
    daysTable = daysTable + "    <tr>\r\n"; 
    daysTable = daysTable + "        <td align=center>\r\n";
    daysTable = daysTable + "            <table width=100% cellpadding=2 cellspacing=0 border=0>\r\n";
    daysTable = daysTable + "                <tr>\r\n";
    daysTable = daysTable + "                    <td align=left><span class=TextLabel><a href='javascript:monthBack(" + curMonth + "," + curYear + ")'><b> << </b></a>\r\n"; 
    daysTable = daysTable + "                    </td>\r\n";
    daysTable = daysTable + "                    <td align=center><span class=TextLabel><b>" + monthsNames[ curMonth + 1 ] + "</b>\r\n"; 
    daysTable = daysTable + "                    </td>\r\n";
    daysTable = daysTable + "                    <td align=right><span class=TextLabel><a href='javascript:monthForward(" + curMonth + "," + curYear + ")'><b> >> </b></a>\r\n"; 
    daysTable = daysTable + "                    </td>\r\n";
    daysTable = daysTable + "                </tr>\r\n";
    daysTable = daysTable + "            </table>\r\n"; 
    daysTable = daysTable + "        </td>\r\n";
    daysTable = daysTable + "    </tr>\r\n";
    daysTable = daysTable + "    <tr>\r\n";
    daysTable = daysTable + "        <td align=center>\r\n"; 
    daysTable = daysTable + "            <table width=100% cellpadding=2 cellspacing=0 border=0>\r\n";
    daysTable = daysTable + "                <tr>\r\n";
    daysTable = daysTable + "                    <td align=right><span class=DaysLabel><font color = 'red'><B>S&nbsp;</td>\r\n"; 
    daysTable = daysTable + "                    <td align=right><span class=DaysLabel><B>M&nbsp;</td>\r\n";
    daysTable = daysTable + "                    <td align=right><span class=DaysLabel><B>T&nbsp;</td>\r\n"; 
    daysTable = daysTable + "                    <td align=right><span class=DaysLabel><B>W&nbsp;</td>\r\n";
    daysTable = daysTable + "                    <td align=right><span class=DaysLabel><B>T&nbsp;</td>\r\n"; 
    daysTable = daysTable + "                    <td align=right><span class=DaysLabel><B>F&nbsp;</td>\r\n";
    daysTable = daysTable + "                    <td align=right><span class=DaysLabel><font color = 'red'><B>S&nbsp;</B></td>\r\n"; 
    daysTable = daysTable + "                </tr>\r\n";
    daysTable = daysTable + "                <tr>\r\n";

    var dayCounter    = 1;

    for ( x=0; x<today; x++ ) { 
        daysTable = daysTable + "                    <td></td>\r\n";
    }

    for ( x=today; x<7; x++ ) {
        var strDate = getMonth( curMonth ) + "/" + getDay( dayCounter ) + "/" + getYear( curYear ); 

        if (( dayCounter == curDay ) && ( curMonth == thisMonth ) && ( thisYear == curYear )) {
            daysTable = daysTable + "                    <td bgcolor = 'sienna' border = '1' class = 'tdborder' align=center>";
        }else {
	     	daysTable = daysTable + "                    <td align=center><small></b>";   
	    }

        
        
         if(x == 0 || x == 6) {
	        daysTable = daysTable + "<a href=# onclick=setDate(\'"+strDate+"\');> <font color = 'red'>" + dayCounter + 
            "</a></td>\r\n";
         }else {
	       	daysTable = daysTable + "<a href=# onclick=setDate(\'"+strDate+"\');>" + dayCounter + 
            "</a></td>\r\n";	         	
	     }                    
                
                
                
        dayCounter = dayCounter + 1;
    }

    for ( y=1; y<6; y++ ) {
        daysTable = daysTable + "                </tr>\r\n";
        daysTable = daysTable + "                <tr>\r\n"; 

        for ( z=0; z<7; z++ ) {
            var strDate = getMonth( curMonth ) + "/" + getDay( dayCounter ) + "/" + getYear( curYear );
            
            if ( dayCounter > daysPerMonth( curMonth + 1, curYear )) {
            	/// Don't display day counter because it exceeds days of month ///
	        }else {

	            if (( dayCounter == curDay ) && ( curMonth == thisMonth ) && ( thisYear == curYear )) {
		            daysTable = daysTable + "                    <td bgcolor = '#7988D5' border = '0' cellspacing = '0' cellpadding = '0' class = 'tdborder' align=center><span class=Numeric>";
		        }else {
			     	daysTable = daysTable + "                    <td align=center><span class=Numeric>";   
			    }
	            
	            if(z == 0 || z == 6) {
		            daysTable = daysTable + "<a href=# onclick=setDate(\'"+strDate+"\');> <font color = 'red'>" + dayCounter + 
	                    "</a></td>\r\n";
	         	}else {
		         	daysTable = daysTable + "<a href=# onclick=setDate(\'"+strDate+"\');>" + dayCounter + 
	                    "</a></td>\r\n";	         	
		        }  
	            dayCounter = dayCounter + 1;
            }
        }
        daysTable = daysTable + "                </tr>\r\n";
    }
    daysTable = daysTable + "            </table>\r\n";
    daysTable = daysTable + "        </td>\r\n";
    daysTable = daysTable + "    </tr>\r\n";
    daysTable = daysTable + "    <tr>\r\n"; 
    daysTable = daysTable + "        <td align=center>\r\n";
    daysTable = daysTable + "            <table width=100% cellpadding=2 cellspacing=0 border=0>\r\n";
    daysTable = daysTable + "                <tr>\r\n";
    daysTable = daysTable + "                    <td align=left><span class=TextLabel><a href='javascript:yearBack(" + curMonth + "," + curYear + ")'><b> << </b></a>\r\n"; 
    daysTable = daysTable + "                    </td>\r\n";
    daysTable = daysTable + "                    <td align=center><span class=TextLabel><b>" + curYear + "</b>\r\n"; 
    daysTable = daysTable + "                    </td>\r\n";
    daysTable = daysTable + "                    <td align=right><span class=TextLabel><a href='javascript:yearForward(" + curMonth + "," + curYear + ")'><b> >> </b></a>\r\n"; 
    daysTable = daysTable + "                    </td>\r\n";
    daysTable = daysTable + "                </tr>\r\n";
    daysTable = daysTable + "            </table>\r\n"; 
    daysTable = daysTable + "        </td>\r\n";
    daysTable = daysTable + "    </tr>\r\n";
    daysTable = daysTable + "</table>\r\n";
    return daysTable;
}




function getCalendar(curDay, curMonth, curYear) {
	
	var htmlBody  = "";
	htmlBody 	  = htmlBody + "<div align=center>\r\n";
	htmlBody 	  = htmlBody + createDaysTable(curDay, curMonth, curYear);
	
    return htmlBody;
}


var field_name = "";

function showCalendar(curDay, curMonth, curYear, fieldName) {
		
	field_name = fieldName;
	
	var dateObject    		= new Date();
	
	var thisDay        		= dateObject.getDate();
	var thisMonth      		= dateObject.getMonth ();
	var thisYear       		= dateObject.getFullYear();
	
	//divForm  = document.getElementById("fmstable");
	//divForm.style.display = "block";
	
	
	if(curDay   == "")   curDay   = parseInt(thisDay);
	if(curMonth == "")   curMonth = parseInt(thisMonth);
	if(curYear  == "")   curYear  = parseInt(thisYear);
		
	if(field_name == 'departure') {
		divEl 		= document.getElementById("calenderDivDep");
	}else {
		divEl 		= document.getElementById("calenderDivRet");
	}
	
	if(field_name == 'departure') {
		document.getElementById("calenderDivRet").style.display = "none";
	}else {
		document.getElementById("calenderDivDep").style.display = "none";
	}
	
	
    if( divEl ) {
        divEl.innerHTML = getCalendar(curDay, curMonth, curYear);
        divEl.style.display = "block";
    }    
}

var dateSelected = "";

function setDate(dateSeltd) { 
    if(field_name == "departure")
		document.ChooseCitiesForm.departure.value = dateSeltd; 
	else
		document.ChooseCitiesForm.arrival.value = dateSeltd; 	
    dateSelected = dateSeltd;
    
    if(field_name == 'departure')
		divEl = document.getElementById("calenderDivDep");
	else
		divEl = document.getElementById("calenderDivRet");
    if( divEl ) {
        divEl.innerHTML = "";
        divEl.style.display = "block";
        divEl.style.display = "none";
    }
    
}

function getDate()  { 
    return dateSelected;
}