<!--
//v1.7
// Flash Player Version Detection
// Detect Client Browser type
// Copyright 2005-2008 Adobe Systems Incorporated.  All rights reserved.
var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
function ControlVersion()
{
	var version;
	var axo;
	var e;
	// NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry
	try {
		// version will be set for 7.X or greater players
		axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
		version = axo.GetVariable("$version");
	} catch (e) {
	}
	if (!version)
	{
		try {
			// version will be set for 6.X players only
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
			
			// installed player is some revision of 6.0
			// GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,
			// so we have to be careful. 
			
			// default to the first public version
			version = "WIN 6,0,21,0";
			// throws if AllowScripAccess does not exist (introduced in 6.0r47)		
			axo.AllowScriptAccess = "always";
			// safe to call for 6.0r47 or greater
			version = axo.GetVariable("$version");
		} catch (e) {
		}
	}
	if (!version)
	{
		try {
			// version will be set for 4.X or 5.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = axo.GetVariable("$version");
		} catch (e) {
		}
	}
	if (!version)
	{
		try {
			// version will be set for 3.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = "WIN 3,0,18,0";
		} catch (e) {
		}
	}
	if (!version)
	{
		try {
			// version will be set for 2.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			version = "WIN 2,0,0,11";
		} catch (e) {
			version = -1;
		}
	}
	
	return version;
}
// JavaScript helper required to detect Flash Player PlugIn version information
function GetSwfVer(){
	// NS/Opera version >= 3 check for Flash plugin in plugin array
	var flashVer = -1;
	
	if (navigator.plugins != null && navigator.plugins.length > 0) {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
			var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
			var descArray = flashDescription.split(" ");
			var tempArrayMajor = descArray[2].split(".");			
			var versionMajor = tempArrayMajor[0];
			var versionMinor = tempArrayMajor[1];
			var versionRevision = descArray[3];
			if (versionRevision == "") {
				versionRevision = descArray[4];
			}
			if (versionRevision[0] == "d") {
				versionRevision = versionRevision.substring(1);
			} else if (versionRevision[0] == "r") {
				versionRevision = versionRevision.substring(1);
				if (versionRevision.indexOf("d") > 0) {
					versionRevision = versionRevision.substring(0, versionRevision.indexOf("d"));
				}
			}
			var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
		}
	}
	// MSN/WebTV 2.6 supports Flash 4
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	// WebTV 2.5 supports Flash 3
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	// older WebTV supports Flash 2
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	else if ( isIE && isWin && !isOpera ) {
		flashVer = ControlVersion();
	}	
	return flashVer;
}
// When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)
{
	versionStr = GetSwfVer();
	if (versionStr == -1 ) {
		return false;
	} else if (versionStr != 0) {
		if(isIE && isWin && !isOpera) {
			// Given "WIN 2,0,0,11"
			tempArray         = versionStr.split(" "); 	// ["WIN", "2,0,0,11"]
			tempString        = tempArray[1];			// "2,0,0,11"
			versionArray      = tempString.split(",");	// ['2', '0', '0', '11']
		} else {
			versionArray      = versionStr.split(".");
		}
		var versionMajor      = versionArray[0];
		var versionMinor      = versionArray[1];
		var versionRevision   = versionArray[2];
        	// is the major.revision >= requested major.revision AND the minor version >= requested minor
		if (versionMajor > parseFloat(reqMajorVer)) {
			return true;
		} else if (versionMajor == parseFloat(reqMajorVer)) {
			if (versionMinor > parseFloat(reqMinorVer))
				return true;
			else if (versionMinor == parseFloat(reqMinorVer)) {
				if (versionRevision >= parseFloat(reqRevision))
					return true;
			}
		}
		return false;
	}
}
function AC_AddExtension(src, ext)
{
  if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?'); 
  else
    return src + ext;
}
function AC_Generateobj(objAttrs, params, embedAttrs) 
{ 
  var str = '';
  if (isIE && isWin && !isOpera)
  {
    str += '<object ';
    for (var i in objAttrs)
    {
      str += i + '="' + objAttrs[i] + '" ';
    }
    str += '>';
    for (var i in params)
    {
      str += '<param name="' + i + '" value="' + params[i] + '" /> ';
    }
    str += '</object>';
  }
  else
  {
    str += '<embed ';
    for (var i in embedAttrs)
    {
      str += i + '="' + embedAttrs[i] + '" ';
    }
    str += '> </embed>';
  }
  document.write(str);
}
function AC_FL_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}
function AC_SW_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
     , null
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}
function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();    
    switch (currArg){	
      case "classid":
        break;
      case "pluginspage":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "src":
      case "movie":	
        args[i+1] = AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblclick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "codebase":
      case "id":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "width":
      case "height":
      case "align":
      case "vspace": 
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  ret.objAttrs["classid"] = classid;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
}
// -->

//<![CDATA[
    <!--

    //set todays date
    Now = new Date();
    NowDay = Now.getDate();
    NowMonth = Now.getMonth();
    NowYear = Now.getYear();
    if (NowYear < 2000) NowYear += 1900; //for Netscape

    //function for returning how many days there are in a month including leap years
    function DaysInMonth(WhichMonth, WhichYear)
    {
    var DaysInMonth = 31;
    if (WhichMonth == "Apr" || WhichMonth == "Jun" || WhichMonth == "Sep" || WhichMonth == "Nov") DaysInMonth = 30;
    if (WhichMonth == "Feb" && (WhichYear/4) != Math.floor(WhichYear/4)) DaysInMonth = 28;
    if (WhichMonth == "Feb" && (WhichYear/4) == Math.floor(WhichYear/4)) DaysInMonth = 29;
    return DaysInMonth;
    }

    //function to change the available days in a months
    function ChangeOptionDays(Which)
    {
    DaysObject = eval("document.f1." + Which + "Day");
    MonthObject = eval("document.f1." + Which + "Month");
    YearObject = eval("document.f1." + Which + "Year");

    Month = MonthObject[MonthObject.selectedIndex].text;
    Year = YearObject[YearObject.selectedIndex].text;

    DaysForThisSelection = DaysInMonth(Month, Year);
    CurrentDaysInSelection = DaysObject.length;
    if (CurrentDaysInSelection > DaysForThisSelection)
    {
    for (i=0; i<(CurrentDaysInSelection-DaysForThisSelection); i++)
    {
      DaysObject.options[DaysObject.options.length - 1] = null
    }
    }
    if (DaysForThisSelection > CurrentDaysInSelection)
    {
    for (i=0; i<(DaysForThisSelection-CurrentDaysInSelection); i++)
    {
      NewOption = new Option(DaysObject.options.length + 1);
      DaysObject.add(NewOption);
    }
    }
    if (DaysObject.selectedIndex < 0) DaysObject.selectedIndex == 0;
    }

    //function to set options to today
    function SetToToday(Which)
    {
    DaysObject = eval("document.f1." + Which + "Day");
    MonthObject = eval("document.f1." + Which + "Month");
    YearObject = eval("document.f1." + Which + "Year");

    YearObject[0].selected = true;
    MonthObject[NowMonth].selected = true;

    ChangeOptionDays(Which);

    DaysObject[NowDay-1].selected = true;
    }

    //function to write option years plus x
    function WriteYearOptions(YearsAhead)
    {
    line = "";
    for (i=0; i<YearsAhead; i++)
    {
    line += "<OPTION>";
    line += NowYear + i;
    }
    return line;
    }
    //  End -->


    var a = new Array()
    var b = new Array()

    // ALBERTA CITIES
    a[0] = new Array(
    1, "CALGARY", 
    2, "COLD LAKE",
    3, "EDMONTON",
    4, "FORT MCMURRAY",
    5, "GRANDE PRAIRIE",
    6, "LLOYDMINSTER",
    7, "MEDICINE HAT",
    8, "RED DEER",
    9, "ST ALBERT");

    // BRITISH COLUMBIA CITIES
    a[1] = new Array(
    101, "FORT ST. JOHN",
    102, "KAMLOOPS",
    103, "KELOWNA",
    104, "PARKSVILLE",
    105, "PENTICTON",
    106, "PRINCE GEORGE", 
    107, "TERRACE",
    108, "VANCOUVER",
    109, "VERNON",
    110, "VICTORIA");

    // MANITOBA CITIES
    a[2] = new Array(
    201, "BRANDON",
    202, "THOMPSON",
    203, "WINNIPEG");
    // NEW BRUNSWICK CITIES
    a[3] = new Array(
    301, "FREDERICTON",
    302, "MONCTON",
    303, "ST. JOHN");

    // NEWFOUNDLAND CITIES
    a[4] = new Array(
    401, "GANDER",
    402, "GOOSE BAY",
    403, "ST. JOHN'S");

    // NOVA SCOTIA CITIES
    a[5] = new Array(
    501, "DARTMOUTH/HALIFAX",
    502, "MIDDLETON",
    503, "SYDNEY",
    504, "TRURO");  

    // NANAVUT CITIES
    a[6] = new Array(
    601, "CAMBRIDGE BAY",
    602, "IQALUIT");

    // N.W.T. CITIES
    a[7] = new Array(
    701, "YELLOWKNIFE");


    // ONTARIO  CITIES
    a[8] = new Array(
    801, "BARRIE",
    802, "HAMILTON",
    803, "KENORA",
    804, "KINGSTON",
    805, "KITCHENER",
    806, "LONDON",
    807, "MILTON",
    808, "NORTH BAY",
    809, "OAKVILLE",
    810, "ORILLIA",
    811, "OTTAWA",
    812, "PEMBROKE",
    813, "PETERBOROUGH",
    814, "SAULT STE. MARIE",
    815, "ST. CATHARINES",
    816, "SUDBURY",
    817, "THUNDER BAY",
    818, "TORONTO",
    819, "TRENTON",
    820, "WHITBY",
    821, "WINDSOR");  

    // P.E.I.  CITIES
    a[9] = new Array(
    901, "CHARLOTTETOWN");

    // QUEBEC  CITIES
    a[10] = new Array(
    1001, "BAIE COMEAU",
    1002, "CHICOUTIMI",
    1003, "HULL/OTTAWA",
    1004, "LAVAL",
    1005, "MONTREAL",
    1006, "QUEBEC CITY",
    1007, "RIMOUSKI",
    1008, "SHERBROOKE",
    1009, "TRACY",
    1010, "TROIS RIVIERES",  
    1011, "VAL D'OR");

    // SASKATCHEWAN CITIES
    a[11] = new Array(
    1101, "BATTLEFORD",
    1102, "MOOSE JAW",
    1103, "PRINCE ALBERT",
    1104, "REGINA",
    1105, "SASKATOON",
    1106, "SWIFT CURRENT",
    1107, "WEYBURN",
    1108, "YORKTON"
    );

    // YUKON CITIES
    a[12] = new Array(
    1201, "WHITEHORSE");

    function clearcombo(elem){
    var i;
    for (i = elem.options.length - 1; i >= 0; i--) elem.options[i] = null;
    elem.selectedIndex = -1;
    }
    function populatecombo2(elem, index){
    for (var i = 0; i < a[index].length; i= i + 2){
    elem.options[elem.options.length] = new Option(a[index][i + 1], a[index][i]);
    }
    }
    function populatecombo3(elem, index){
    if (b.length >= index){
    if (b[index]){
    for (var i = 0; i < b[index].length; i= i + 2){
    elem.options[elem.options.length] = new Option(b[index][i + 1], b[index][i]);
    }
    }
    else{
    elem.options[elem.options.length] = new Option("[none available]", 0);
    }
    }
    else{
    elem.options[elem.options.length] = new Option("[none available]", 0);
    }
    }
    function clickcombo1(elem){
    clearcombo(document.f1.combo2)
    clearcombo(document.f1.combo3)
    document.f1.text2.value = " "
    document.f1.text3.value = " "
    populatecombo2(document.f1.combo2, elem[elem.selectedIndex].value);
    return true;
    }
    function clickcombo2(elem){
    clearcombo(document.f1.combo3)
    document.f1.text2.value = " "
    document.f1.text3.value = " "
    populatecombo3(document.f1.combo3, elem[elem.selectedIndex].value);
    return true;
    }
    function onSelectOption(varItem) {
    if (varItem == "combo3") {
    document.all.item("text2").value = document.all.item(varItem).value;
    // document.f1.text2.value = document.f1(varItem).value;
    // document.f1.text2.value = document.combo3.value;
    // document.f1.text2.value = document.combo3.value;
    }
    }
    function PopulateTextbox()
    {
    // document.f1.text3.value = f1.combo3.text;
    f1.text3.value = f1.combo3.options(f1.combo3.selectedIndex).text;
    // document.f1.text3.value = f1.combo3.text;
    }

    function PopulateText2()
    {
    // document.f1.text2.value = f1.combo3.value;
    f1.text2.value = f1.combo3.options(f1.combo3.selectedIndex).text;
    // document.f1.text2.value = f1.combo3.value;
    }

    function BlankTextbox()
    {
    document.f1.text2.value = " "
    document.f1.text3.value = " "
    }
    function skip () { this.blur(); }
    function disableTextField (field) {
    if (document.all || document.getElementById) 
    field.disabled = true;
    else {
    field.oldOnFocus = field.onfocus;
    field.onfocus = skip;
    }
    }
    function enableTextField (field) {
    if (document.all || document.getElementById)
    field.disabled = false;
    else {
    field.onfocus = field.oldOnFocus;
    }
    }

    function validEmail(formField,fieldLabel,required)
    {
    var result = true;

    if (required && !validRequired(formField,fieldLabel))
    result = false;

    if (result && ((formField.value.length < 3) || !isEmailAddr(formField.value)) )
    {
    alert("Please enter a complete email address in the form: yourname@yourdomain.com");
    formField.focus();
    result = false;
    }

    return result;

    }

    function validRequired(formField,fieldLabel)
    {
    var result = true;

    if (formField.value == "")
    {
    alert('Please enter your "' + fieldLabel +'" ');
    formField.focus();
    result = false;
    }

    return result;
    }


    function validateForm(theForm)
    {
    // Customize these calls for your form

    // Start ------->
    // if (!checkCheckBox(this))
    // return false;

    if (!validRequired(theForm.firstName,"first name"))
    return false;

    if (!validRequired(theForm.lastName,"last name"))
    return false;

    if (!validRequired(theForm.email,"e-mail address"))
    return false;

    if (!validRequired(theForm.ocity,"your city of origin"))
    return false;

    if (!validRequired(theForm.oprovince,"province/state of origin"))
    return false;

    if (!validRequired(theForm.dcity,"city of destination"))
    return false;

    if (!validRequired(theForm.dprovince,"province/state of destination"))
    return false;
    }

    //]]>

