function populateCitySelect( country ) {
  newcountry = country.replace(/ /g,'');
  if ( newcountry.length == 0 ) {
    document.theForm.Choice.length = 1;
    document.theForm.Choice.options[0] = new Option('Choose a country:');
    document.theForm.Choice.options[0].value = '';

    return;
  }

  newOptions = eval(newcountry+'Array');

  document.theForm.Choice.length = 1;
  document.theForm.Choice.options[0] = new Option('Choose a city :');
  document.theForm.Choice.options[0].value = '';

  document.theForm.Choice.options[0].selected = true;

  for ( i=0; i<newOptions.length; i++ ) {
    document.theForm.Choice.length++;
    thisEntry = newOptions[i];
    newOption = new Option( thisEntry );
    newOption.value = 'C' + thisEntry + ';' + country;
    document.theForm.Choice.options[i+1] = newOption;
  }
  if(newOptions.length == 1) document.theForm.Choice.options[1].selected = true;
}

var ArgentinaArray = new Array(
  "Bariloche",
  "Buenos Aires",
  "Cordoba",
  "El Calafate",
  "Esquel",
  "Gaiman",
  "Mendoza",
  "Salta",
  "Ushuaia"
);

var ArmeniaArray = new Array(
  "Yerevan"
);

var AustraliaArray = new Array(
  "Adelaide",
  "Airlie Beach",
  "Albany",
  "Alice Springs",
  "Atherton",
  "Ballarat",
  "Bright",
  "Brisbane",
  "Broken Hill",
  "Byron Bay",
  "Cairns",
  "Canberra",
  "Cape Tribulation",
  "Coffs Harbour",
  "Cooktown",
  "Darwin",
  "East Brisbane",
  "Forster",
  "Geeveston",
  "Gold Coast",
  "Hervey Bay",
  "Hobart",
  "Katherine",
  "Katoomba",
  "Kuranda",
  "Launceston",
  "Magnetic Island",
  "Melbourne",
  "Mission Beach",
  "Nambucca Heads",
  "Noosa",
  "Perth",
  "Peterborough",
  "Phillip Island",
  "Port Douglas",
  "Russell Island",
  "Stradbroke Island",
  "Surfers Paradise",
  "Sydney",
  "Tennant Creek",
  "Townsville",
  "Tweed Head",
  "Wangaratta"
);

var AustriaArray = new Array(
  "Ellmau",
  "Kitzbuehel",
  "Salzburg",
  "St Johann in Tirol",
  "Vienna"
);

var BahamasArray = new Array(
  "Nassau"
);

var BelgiumArray = new Array(
  "Antwerp",
  "Bruges",
  "Brussels",
  "Namur"
);

var BelizeArray = new Array(
  "San Ignacio,"
);

var BoliviaArray = new Array(
  "La Paz"
);

var BosniaAndHerzegovinaArray = new Array(
  "Sarajevo"
);

var BrazilArray = new Array(
  "Bahia",
  "Bonito",
  "Conde",
  "Cuiaba",
  "Fortaleza",
  "Ilheus",
  "Maceio",
  "Porto Seguro",
  "Rio de Janeiro",
  "Salvador"
);

var BulgariaArray = new Array(
  "Batak",
  "Gabrovo",
  "Plovdiv",
  "Sinemoretz",
  "Sofia",
  "Varna"
);

var CanadaArray = new Array(
  "Alert Bay, BC",
  "Banff",
  "Denman Island",
  "Fernie",
  "Invermere",
  "Kelowna",
  "Kimberley",
  "Nanaimo, BC",
  "Nelson",
  "Newfoundland",
  "Niagara Falls",
  "Prince Rupert, BC",
  "Toronto",
  "Vancouver",
  "Vernon",
  "Whitehorse"
);

var ChileArray = new Array(
  "Easter Island",
  "La Serena",
  "Pucon",
  "Puerto Montt",
  "Santiago",
  "Viña del Mar"
);

var ChinaArray = new Array(
  "Yunnan Province"
);

var ColombiaArray = new Array(
  "Bogota",
  "Bucaramanga",
  "Cartagena de Indias",
  "Medellin"
);

var CookIslandsArray = new Array(
  "rarotonga"
);

var CostaRicaArray = new Array(
  "Cahuita",
  "Guanacaste",
  "Jaco Beach",
  "Liberia",
  "Limon",
  "Manuel Antonio",
  "Playa Samara",
  "Puerto Viejo de Limon",
  "Quepos",
  "San Jose",
  "Santa Elena",
  "Tortuguero"
);

var CroatiaArray = new Array(
  "Baska Voda",
  "Dubrovnik",
  "Krilo Jesenice",
  "Podstrana",
  "Porec",
  "Rab",
  "Ston"
);

var CubaArray = new Array(
  "Ciudad de La Habana",
  "Havana"
);

var CyprusArray = new Array(
  "Ayia Marina",
  "Ayia-Napa",
  "Limassol"
);

var CzechRepublicArray = new Array(
  "Cesky Krumlov",
  "Prague"
);

var DenmarkArray = new Array(
  "Copenhagen"
);

var DominicanRepublicArray = new Array(
  "Cabarete",
  "Las Terrenas",
  "Santa Barbara de Samana",
  "Santo Domingo",
  "Sosua"
);

var EcuadorArray = new Array(
  "Montañita",
  "Quito"
);

var EgyptArray = new Array(
  "Cairo",
  "Nuweiba"
);

var ElSalvadorArray = new Array(
  "San Salvador"
);

var EnglandArray = new Array(
  "Bath",
  "Berwick on Tweed",
  "Birmingham",
  "Brighton",
  "Canterbury",
  "Liverpool",
  "London",
  "Manchester",
  "Newquay",
  "Norfolk",
  "Oxford",
  "Torquay",
  "Windermere",
  "York",
  "Yorkshire Dales"
);

var EstoniaArray = new Array(
  "Tallinn"
);

var FijiArray = new Array(
  "Coral Coast",
  "Lautoka",
  "Nadi",
  "Suva"
);

var FinlandArray = new Array(
  "Helsinki",
  "Tervola"
);

var FranceArray = new Array(
  "Bordeaux",
  "Cannes",
  "Carcassonne",
  "Marseille",
  "Nancy",
  "Nice",
  "Paris"
);

var FrenchPolynesiaArray = new Array(
  "Huahine",
  "Raiatea"
);

var GermanyArray = new Array(
  "Asendorf",
  "Augsburg/Dasing",
  "Berlin",
  "Bitburg",
  "Dresden",
  "Düsseldorf",
  "Frankfurt",
  "Munich",
  "Nuremberg",
  "Osnabrück"
);

var GreeceArray = new Array(
  "Aegina Island",
  "Athens",
  "Corfu",
  "Crete",
  "Heraklion",
  "Ios",
  "Ios Cyclades",
  "Kos",
  "Mithymna",
  "Naxos Island",
  "Rhodes",
  "Santorini",
  "Syros",
  "Volos",
  "Zakynthos"
);

var GuatemalaArray = new Array(
  "Antigua",
  "Guatemala City",
  "San Juan"
);

var HongKongArray = new Array(
  "Causeway Bay",
  "Central District",
  "Kowloon"
);

var HungaryArray = new Array(
  "Budapest"
);

var IcelandArray = new Array(
  "Djupivogur",
  "Reykjavik"
);

var IndiaArray = new Array(
  "Goa",
  "Jaipur",
  "Mumbai",
  "Nagpur",
  "Nawalgarh",
  "New Delhi",
  "Pune",
  "Puri",
  "Rajasthan",
  "Varanasi"
);

var IndonesiaArray = new Array(
  "Bali",
  "Kupang",
  "Kuta",
  "Senggigi Beach"
);

var IrelandArray = new Array(
  "Achill Island",
  "Aran Islands",
  "Belmullet",
  "Bere Island",
  "Cahersiveen",
  "Clare",
  "Cork",
  "Donegal",
  "Dublin",
  "Dunmanway",
  "Galway",
  "Glendalough",
  "Glengariff",
  "Kilkenny",
  "Killarney",
  "Limerick",
  "Meath",
  "Newgrange",
  "Offaly",
  "Schull",
  "Sligo",
  "Tipperary",
  "Tralee",
  "Westmeath",
  "Wexford",
  "Wicklow",
  "Youghal"
);

var IsraelArray = new Array(
  "Jerusalem",
  "Tel Aviv"
);

var ItalyArray = new Array(
  "Brindisi",
  "Certaldo",
  "Florence",
  "Isle of Capri",
  "Milan",
  "Naples",
  "Portoferraio",
  "Riomaggiore",
  "Rome",
  "Sicily",
  "Sienna",
  "Sorrento",
  "Taormina",
  "Venice",
  "Verona"
);

var JamaicaArray = new Array(
  "Montego Bay",
  "Negril",
  "Priory"
);

var JapanArray = new Array(
  "Tokyo"
);

var KenyaArray = new Array(
  "Nairobi"
);

var LatviaArray = new Array(
  "Riga"
);

var LithuaniaArray = new Array(
  "Kaunas",
  "Klaipeda",
  "Vilnius"
);

var MacauArray = new Array(
  "Macau"
);

var MalawiArray = new Array(
  "Matete Village"
);

var MalaysiaArray = new Array(
  "Borneo",
  "Kota Bharu",
  "Kota Kinabalu",
  "Kuala Lumpur",
  "Selangor"
);

var MaltaArray = new Array(
  "Bugibba",
  "Marsascala"
);

var MexicoArray = new Array(
  "Cabo San Lucas",
  "Cancun",
  "Chihuahua, Chih",
  "Contepec",
  "Cozumel, Quintana Roo",
  "Frontera Corozal",
  "Merida",
  "Mexico City",
  "Morelos",
  "Oaxaca",
  "Palenque",
  "Playa del Carmen",
  "Puerto Vallarta, Jalisco",
  "Queretaro",
  "Rosarito",
  "Sacbe",
  "San Miguel de Allende",
  "tula de allende hidalgo",
  "Tulum",
  "Valladolid",
  "Zacatecas"
);

var MongoliaArray = new Array(
  "Ulaanbaatar"
);

var MoroccoArray = new Array(
  "Rabat"
);

var MyanmarArray = new Array(
  "Yangon"
);

var NamibiaArray = new Array(
  "swakopmund",
  "Tsumeb",
  "Windhoek"
);

var NepalArray = new Array(
  "Bhaktapur",
  "Kathmandu",
  "Pokhara"
);

var NetherlandsArray = new Array(
  "Amsterdam",
  "Noordwijk",
  "Utrecht"
);

var NetherlandsAntillesArray = new Array(
  "St Maarten"
);

var NewZealandArray = new Array(
  "Auckland",
  "Christchurch",
  "Coromandel Peninsula",
  "Great Barrier Island",
  "Hamilton",
  "Helensville",
  "Kaikoura",
  "Methven",
  "Mt Ruapehu National Park",
  "Napier",
  "Nelson",
  "Ohakune",
  "Otago",
  "Paihia",
  "Picton",
  "Queenstown",
  "Rotorua",
  "Taihape",
  "Taupo",
  "Tauranga",
  "Waipara",
  "Wellington",
  "Whitianga"
);

var NicaraguaArray = new Array(
  "San Juan Del Sur"
);

var NorthernIrelandArray = new Array(
  "Armagh",
  "Ballycastle",
  "Belfast",
  "Bushmills",
  "Coleraine",
  "Derry",
  "Fermanagh",
  "Newcastle",
  "Omagh"
);

var NorwayArray = new Array(
  "Alesund",
  "Elverum",
  "Evje",
  "Oslo"
);

var PanamaArray = new Array(
  "David",
  "Panama City"
);

var ParaguayArray = new Array(
  "Asuncion"
);

var PeruArray = new Array(
  "Arequipa",
  "Cusco",
  "Lima",
  "Machu Picchu",
  "Trujillo"
);

var PhilippinesArray = new Array(
  "Makati",
  "Manila"
);

var PolandArray = new Array(
  "Krakow"
);

var PortugalArray = new Array(
  "lisbon",
  "Oeiras",
  "Sintra"
);

var PuertoRicoArray = new Array(
  "Isabel Segunda"
);

var RomaniaArray = new Array(
  "Bucharest"
);

var RussiaArray = new Array(
  "Irkutsk",
  "Moscow",
  "St Petersburg"
);

var SaintLuciaArray = new Array(
  "Castries"
);

var SamoaArray = new Array(
  "Apia"
);

var ScotlandArray = new Array(
  "Edinburgh",
  "Fort William",
  "Glasgow",
  "Glencoe",
  "Grantown-on-Spey",
  "Inverness",
  "Isle of Skye",
  "Oban",
  "Pitlochry",
  "Ross-shire",
  "St Andrews",
  "Stirling",
  "Stornoway",
  "Sutherland"
);

var SingaporeArray = new Array(
  "Singapore"
);

var SlovakiaArray = new Array(
  "Bratislava"
);

var SloveniaArray = new Array(
  "Ankaran",
  "Bled",
  "Ljubljana"
);

var SouthAfricaArray = new Array(
  "Ballito",
  "Bryanston",
  "Cape Town",
  "Cintsa",
  "Clarens",
  "Drakensberg",
  "Durban",
  "East London",
  "Eshowe",
  "Gingingdlovu",
  "Harkerville",
  "Hermanus",
  "Jeffreys Bay",
  "Johannesburg",
  "Knysna",
  "Kruger Park",
  "Kwambonambi",
  "Kwazulu-Natal",
  "Margate",
  "Mossel Bay",
  "Mpumalanga",
  "Nieu Bethesda",
  "Oudtshoorn",
  "Plettenberg Bay",
  "Port Edward",
  "Port Elizabeth",
  "Pretoria",
  "Rhodes",
  "Sedgefield",
  "Southern Drakensberg",
  "Stellenbosch",
  "Transkei",
  "Tswane",
  "Wilderness"
);

var SpainArray = new Array(
  "Ainsa (Huesca)",
  "Antequera",
  "Barcelona",
  "Bubion",
  "Burgos",
  "Calella",
  "Canary Islands",
  "Cangas de Onís",
  "Chulilla",
  "Cordoba",
  "Cullera",
  "El Puerto de Santa Maria",
  "Granada",
  "L'Estartit",
  "LLanes Asturias",
  "Lloseta",
  "Madrid",
  "Malaga",
  "Mallorca",
  "Palma de Mallorca",
  "San Sebastian",
  "Sitges",
  "Torremolinos",
  "Valencia",
  "Valladolid"
);

var SriLankaArray = new Array(
  "Colombo"
);

var SwazilandArray = new Array(
  "Hhohho",
  "Matsapha"
);

var SwedenArray = new Array(
  "Grebbestad",
  "Malmo",
  "Stockholm",
  "Sturko"
);

var SwitzerlandArray = new Array(
  "Bern",
  "Boltigen",
  "Geneva",
  "Gryon",
  "Interlaken",
  "Lauterbrunnen",
  "Lucerne"
);

var ThailandArray = new Array(
  "Bangkok",
  "Buriram",
  "Chiangmai",
  "Chiangrai",
  "Patong Beach",
  "Pattaya",
  "Phuket",
  "Rayong",
  "Suratthani"
);

var TrinidadandTobagoArray = new Array(
  "Crown Point",
  "Scarborough"
);

var TurkeyArray = new Array(
  "Antalya",
  "Cappadocia",
  "Fethiye",
  "Istanbul",
  "Izmir",
  "Kekova",
  "Koycegiz",
  "Kusadasi",
  "Marmaris",
  "Mugla",
  "Selcuk"
);

var UgandaArray = new Array(
  "Kabale"
);

var UruguayArray = new Array(
  "Atlántida",
  "Punta del Este"
);

var USAArray = new Array(
  "Arroyo Seco",
  "Austin",
  "Birmingham",
  "Boston",
  "California",
  "Chicago",
  "Chloride, AZ",
  "Cincinnati",
  "Eugene",
  "Fairbanks, AK",
  "Ft. Lauderdale",
  "Gainesville  FL",
  "Harvard",
  "Hawaii",
  "Homer",
  "Honolulu",
  "Huntington Beach",
  "Johannesburg",
  "Key West, FL",
  "Klamath",
  "Las Vegas",
  "Leadville",
  "Los Angeles",
  "Louisiana",
  "Ludlow, Vermont",
  "Maine",
  "Marthas Vineyard",
  "Miami",
  "Missoula",
  "Nampa",
  "New Orleans",
  "New York",
  "Nipomo, CA",
  "Petersburg, Ak",
  "Point Reyes Station",
  "Salt Lake City",
  "San Diego",
  "San Francisco",
  "Sanford FL",
  "Santa Monica",
  "Seattle",
  "St. Petersburg",
  "Tampa",
  "Texas",
  "Washington DC",
  "Wasilla"
);

var UzbekistanArray = new Array(
  "Tashkent"
);

var VenezuelaArray = new Array(
  " Trujillo",
  "Bejuma",
  "chichiriviche",
  "Margarita Island",
  "Merida"
);

var VietnamArray = new Array(
  "Da Nang",
  "Hanoi",
  "Ho Chi Minh",
  "Nha Trang",
  "Sapa"
);

var WalesArray = new Array(
  "Caernarfon",
  "Gwynned",
  "Pembs"
);

var ZimbabweArray = new Array(
  "Bulawayo",
  "Harare"
);

function makeValidDate() {
  year = document.theForm.selYear.options[ document.theForm.selYear.selectedIndex ].value;
  month = document.theForm.selMonth.options[ document.theForm.selMonth.selectedIndex ].value;
  day = document.theForm.selDay.options[ document.theForm.selDay.selectedIndex ].value;
  maxDay = 31;
  if ( month == 4 || month == 6 || month == 9 || month == 11 ) {
    maxDay = 30;
  } else if ( month == 2 ) {
    if ( year%100 != 0 && year%4 == 0 ) {
      maxDay = 28;
    } else {
      maxDay = 29;
    }
  }
  document.theForm.selDay.selectedIndex = Math.min(day, maxDay)-1;
}


function isBrowserSupp() {
// ****************************************************************
// *    Author: Geraldine Healy         Date:   25/08/1998
// *    Description: Checks if browser is Netscape 2.0 since the options 
// *                            array properties don't work with Netscape 2.0x
// ****************************************************************

    // Get the version of the browser
    version =  parseFloat( navigator.appVersion );

    if ( ( version >= 2.0 ) && ( version < 2.1 ) && ( navigator.appName.indexOf( "Netscape" ) != -1 ) ) {
        return false;
    }
    else {
        return true;
    }                  
}


function isLeapYear(yrStr)
{
// ****************************************************************
// *    Author: Geraldine Healy         Date:   25/08/1998
// *    Description:    Checks if Year selected is a leap year
// ****************************************************************
var leapYear=false;
// every fourth year is a leap year
if ((parseInt(yrStr, 10)%4) == 0)
        {
        leapYear=true;
        }
return leapYear;
}

function getDaysInMonth(mthIdx, YrStr)
// ****************************************************************
// *    Author: Geraldine Healy         Date:   25/08/1998
// *    Description:    Retrieves the number of days in a given month
// ****************************************************************
{
//Default number of days in a month is 31
var maxDays=31
// expect Feb. 
if (mthIdx==2) 
        {
        if (isLeapYear(YrStr))
                {
                maxDays=29;
                }
        else 
                {
                maxDays=28;
                }
        }
// All the rest of the months have 30 days
if (mthIdx==4 || mthIdx==6 || mthIdx==9 || mthIdx==11)
        {
        maxDays=30;
        }
return maxDays;
}


function adjustDate(mthIdx, Dt, Yr) 
// ****************************************************************
// *    Author: Geraldine Healy         Date:   25/08/1998
// *    Description:    Adjusts the format of the Date
// ****************************************************************
{
var value=0;            
var numDays=getDaysInMonth(mthIdx, Yr.options[Yr.options.selectedIndex].value);

if (mthIdx==2) 
        {
        if (Dt.options.selectedIndex < numDays)
                {
                return 0;
                }
        else 
                {
                //check for leap year
                Dt.options.selectedIndex=numDays;
                if (numDays==29)
                        {
                        return 99;
                        }
                else 
                        {
                        return 1;
                        }
                }
        }
if (Dt.options.selectedIndex < numDays)
        {
        value=0;
        }
else 
        {
        if (Dt.options.selectedIndex > numDays)
                {
                Dt.options.selectedIndex;
                value=3;
                }
        else 
                {
                //index is 31 or 30
                value=2;
                }
        }
return value;
}


function parseMonth(mth, inM)
// ****************************************************************
// *    Author: Geraldine Healy         Date:   25/08/1998
// *    Description:    Parses a string and returns a month value
// ****************************************************************
{
var i=1;
var retval =1;
for (i=1;i<=12;i++)
        {
        if (mth == inM.options[i].value)
                {
                retval=i;       
                break;
                }       
        }
        return retval;
}

function parseDay(day, inD)
// ****************************************************************
// *    Author: Geraldine Healy         Date:   25/08/1998
// *    Description:    Parses a string and returns a day value
// ****************************************************************
{
var i=1;
var retval =1;
for (i=1;i<=31;i++)
        {
        if (day == inD.options[i].value)
                {
                retval=i;       
                break;
                }       
        }
return retval;
}

function parseYear(year, inY)
// ****************************************************************
// *    Author: Geraldine Healy         Date:   25/08/1998
// *    Description:    Parses a string and returns a year value
// ****************************************************************
{
var retval=0;
var i=0;
     for (i=0; i<=5; i++)
     {
   
        if (year == inY.options[i].value)
                {
                retval=i;       
                break;
                }       
     }
return retval;
}

//Calendar Section

//calculation functions
function nextMonth(month)
// ****************************************************************
// *    Author: Geraldine Healy         Date:   25/08/1998
// *    Description:    Retrieves the next Month's value
// **************************************************************** 
{
if (month==12)
        {
        return 1;
        }
else
        {
        return (month+1);
        }
}


function prevMonth(month) 
// ****************************************************************
// *    Author: Geraldine Healy         Date:   25/08/1998
// *    Description:    Retrieves the previous Month's value
// ****************************************************************
{
var prevMonth = (month-1)
if (month==1)
        {
        prevMonth = 12;
        }
return prevMonth
}

function changeYear(direction,month,year)
// ****************************************************************
// *    Author: Geraldine Healy         Date:   25/08/1998
// *    Description:    Increments or decrements month when it goes
// *                                    past Jan or Dec
// ****************************************************************
{
var theYear = year
if (direction=="next")
        {
        if (month == 12)
                {
                theYear = (year+1)
                }
        }
if (direction=="prev")
        {
        if (month == 1)
                {
                theYear = (year-1)
                }
        }
return theYear
}


function createCalendar(month,year,io) 
// ****************************************************************
// *    Author: Geraldine Healy         Date:   25/08/1998
// *    Description:    //opens a new window for the calendar
// ****************************************************************
{
if (!isBrowserSupp())
        {
        alert("Your browser is outdated and does not support this feature")
        return;
        }
if (navigator.appVersion.indexOf("Mac",0) != -1) 
        {
        calendarWindow = window.open("","Calendar","width=210,height=230,resizable=no,scrollbars=no");
        } 
else 
        {
        calendarWindow = window.open("","Calendar","width=210,height=230,resizable=no,scrollbars=no");
        }
        var mthIdx = month.options.selectedIndex
        var mthVal = month.options[mthIdx].value
        var yearVal = year.options[year.options.selectedIndex].value
        //call the function to populate the window
        generateCalendar(calendarWindow,mthVal,yearVal,io)
}


//generates the meat of the calendar
function generateCalendar(target,month,year,io)
// ****************************************************************
// *    Author: Geraldine Healy         Date:   25/08/1998
// *    Description:    generates the contents of the calender window
// **************************************************************** 
{
if (!isBrowserSupp())
        {
        return;
        }
var monthName = new Array ("January","February","March","April","May","June","July","August","September","October","November","December")

//begin table for calendar
target.document.open()
calendar = "<html><head><title>Calendar</title><link rel='stylesheet' href='corestyle.css' type='text/css'></head><body bgcolor=ffffff link='#000080' leftmargin='0' topmargin='2' rightmargin='0' marginwidth='0' marginheight='2'><center>"
calendar +="<table border=0 cellspacing=0 cellpadding=4 width=200 style='border-left: 1px solid #000000; border-right: 1px solid #000000; border-top: 1px solid #000000;  border-bottom: 1px solid #000000'>"
calendar +="<tr valign=top>"

//The parseInt function parses the string argument as a signed decimal integer. 
var mthIdx = parseInt(month);
var endday = getDaysInMonth(mthIdx, year)

//month header
calendar +="<td colspan=7 align=center bgcolor=#ffff00 style='border-bottom: 1px solid #000000'>"
var index = (mthIdx-1)
calendar +="<b><font face='Helvetica,Arial,Futura' color=black>" + monthName[index] + " " + year + "</font></b></td></tr>"

//writes in the day of the week labels
calendar +="</tr><tr align=center>"
calendar +="<td width=10><font face='Helvetica,Arial,Futura' color='#ff0000'>&nbsp;<b>S</b></font></td>"
calendar +="<td width=10><font face='Helvetica,Arial,Futura' color='#000080'>&nbsp;<b>M</b></font></td>"
calendar +="<td width=10><font face='Helvetica,Arial,Futura' color='#000080'>&nbsp;<b>T</b></font></td>"
calendar +="<td width=10><font face='Helvetica,Arial,Futura' color='#000080'>&nbsp;<b>W</b></font></td>"
calendar +="<td width=10><font face='Helvetica,Arial,Futura' color='#000080'>&nbsp;<b>T</b></font></td>"
calendar +="<td width=10><font face='Helvetica,Arial,Futura' color='#000080'>&nbsp;<b>F</b></font></td>"
calendar +="<td width=10><font face='Helvetica,Arial,Futura' color='#ff0000'>&nbsp;<b>S</b></font></td>"
calendar +="</tr>"

wholeDate = month + "/01/" + year
thedate = new Date(wholeDate)
firstDay = thedate.getDay()

selectedmonth = mthIdx;
var today = new Date();
var thisyear = today.getYear() + 1900;
selectedyear = year

var lastDay = (endday + firstDay+1)
calendar +="<tr>"
for (var i = 1; i < lastDay; i++)
        {
        if (i <= firstDay)
                {
                // 'empty' boxes prior to first day
                calendar +="<td>&nbsp;</td>"
                }
        else 
                {
                // enter date number
                calendar +="<td align=center><a href='JavaScript:self.close();opener.closeCalendar"+io+"("+(i-firstDay) + ")'> "+(i-firstDay)+"</a></td>"
                }
        //must start new row after each week
        if (i % 7 == 0 &&  i != lastDay)
                {
                calendar +="</tr><tr>"
                }
        }
calendar +="</tr>"

//separator line
calendar +="<tr><td colspan=7 align=center width=200 style='border-bottom: 1px solid #000000'>&nbsp;</td></tr>"

//next month and previous month buttons
var goPrevMonth = prevMonth(mthIdx)
var goNextMonth = nextMonth(mthIdx)
var nextYear = changeYear("next",parseInt(month),parseInt(year))
var prevYear = changeYear("prev",parseInt(month),parseInt(year))

if(navigator.userAgent.indexOf('MSIE',0) != -1)
        {
        calendar +="<tr><td align=left colspan=3 bgcolor=#ffff00><a href='javascript:opener.generateCalendar(self,"+goPrevMonth+","+prevYear+",\""+io+"\")'>&lt;&lt; Prev</a></td>"
        calendar +="<td align=center colspan=1 bgcolor=#ffff00>&nbsp;</td>"
        calendar +="<td align=right colspan=3 bgcolor=#ffff00><a href='javascript:opener.generateCalendar(self,"+goNextMonth+","+nextYear+",\""+io+"\")'>Next &gt;&gt;</a></td></tr>"
        calendar +="</table></center></body></html>"
        target.document.close()
        }
else
        {
        calendar +="<form><tr><td align=left colspan=3 bgcolor=#ffff00><input type=button value=' < '"+"onClick='document.clear();opener.generateCalendar(opener.calendarWindow,"+goPrevMonth+","+prevYear+",\""+io+"\")'></td>"
        calendar +="<td align=center colspan=1 bgcolor=#ffff00>&nbsp;</td>"
        calendar +="<td align=right colspan=3 bgcolor=#ffff00><input type=button value=' > '"+"onClick='document.clear();opener.generateCalendar(opener.calendarWindow,"+goNextMonth+","+nextYear+",\""+io+"\")'></td></tr></form>"
        calendar +="</table></center></body></html>"
        }
target.document.write(calendar);
target.document.close() 
}

function closeCalendar(day) {
        var yrIdx = parseYear(selectedyear,document.theForm.selYear );

        // Decrement index for day and month, because code assumes 
        // that we have an extra defaultvalue at the start.
        document.theForm.selMonth.options.selectedIndex=selectedmonth-1;
        document.theForm.selYear.options.selectedIndex= yrIdx;
        document.theForm.selDay.options.selectedIndex=parseInt(day)-1;
}

