﻿// Author: Kris
// Project: C:\code\RealosophyDotCom\RealosophyV2\
// Path: C:\code\RealosophyDotCom\RealosophyV2\javascripts
// Lines: 186
// Creation date: 8/30/2008 10:11 PM
// Last modified: 9/15/2009 11:37 PM

// JScript File
var map = null ;
var currLocation;  // Holds the last searched location in LatLong Format
var currentAddress;
var FoundPoint;  
var mySearchWell;
var coldIcon;
var hotIcon;
var lastSearchParam = null;
var reasons = [];
var icons = [];
var searchKeywords;
var defaultCentrePoint = null;

// Register our namespaces
Type.registerNamespace("Realosophy");
Type.registerNamespace("Realosophy.Web");
Type.registerNamespace("Realosophy.Web.Client");

// Define the IconType Enum
Realosophy.Web.Client.IconType = function(){};
Realosophy.Web.Client.IconType.prototype =
{
  Entertainment: 0,
  Health: 1,
  House: 2,
  Neighbourhoods: 3,
  School: 4,
  Shopping: 5,
  Starbucks: 6,
  TimHortons: 7
};
Realosophy.Web.Client.IconType.registerEnum("Realosophy.Web.Client.IconType");

// Define the SearchParam Enum
Realosophy.Web.Client.SearchParam = function(){};
Realosophy.Web.Client.SearchParam.prototype =
{
  Header: 0,
  DOMElementName: 1,
  QueryString: 2,
  Icon: 3,
  FormatterFunc: 4
};
Realosophy.Web.Client.SearchParam.registerEnum("Realosophy.Web.Client.SearchParam");

// Define the POIOptions Class
Realosophy.Web.Client.POIOptions = function(header, domElementName, queryString, icon) 
{
  this._header = header;
  this._domElementName = domElementName;
  this._queryString = queryString;
  this._icon = icon;
};

Realosophy.Web.Client.POIOptions.prototype =
{
  get_Header: function(){
    return this._header;
  },
  
  get_DOMElementName: function(){
    return this._domElementName;
  },
  
  get_QueryString: function(){
    return this._queryString;
  },
  
  get_Icon: function(){
    return this._icon;
  },
  
  get_FormatterFunc: function(){
    return this._formatterFunc;
  },
  
  set_FormatterFunc: function(value){
    this._formatterFunc = value;
  },
  
  get_ShowHeader: function(){
    return this._showHeader;
  },

  set_ShowHeader: function(value){
    this._showHeader = value;
  },
    
  dispose: function(){
  }
};
Realosophy.Web.Client.POIOptions.registerClass("Realosophy.Web.Client.POIOptions", null, Sys.IDisposable);

function RealUnload()
{
  var myMapDiv = $get("MapContainer");
  if( myMapDiv == null )
    return ;

  // Clear the icons
  for(var i=0, length=icons.length; i < length; i++){
    delete icons[i];
  }
  
  if( mySearchWell )
    mySearchWell.dispose();
  
  try
  {
    delete the_transitrouteloader;
  }catch(err)
  {
    RealSystem.trace(err);
  }

  google.maps.Unload();
}

// Set the default click button for the "Search" Button
function fnTrapKD(comboBox, eventArgs) {
  var keynum;

  if(window.event) // IE
  {
    keynum = eventArgs.keyCode;
  }
  else if(eventArgs.which) // Netscape/Firefox/Opera
  {
    keynum = eventArgs.which;
  }  

  if (keynum == Sys.UI.Key.enter) {
    eventArgs.returnValue=false;
    eventArgs.cancel = true;
    gotoNeighbourhood(comboBox);
  }
}

function gotoNeighbourhood(formElement)
{
  var value = formElement.GetText();
  RealSystem.trace(value);
  
  if(value == "") return;  // Don't do anything when there is no search criteria
  
  var relativeUrl = RealSystem.resolveClientUrl("~/NeighbourhoodProfile.aspx?city=Toronto&district=" + RealSystem.URLEncode( value ));
  window.location = relativeUrl ;
}

/// <summary>
/// Fn trap KD elem
/// </summary>
function fnTrapKDSecSchool(searchToken, eventArgs) {
  var keynum;

  if (window.event) // IE
  {
    keynum = eventArgs.keyCode;
  }
  else if (eventArgs.which) // Netscape/Firefox/Opera
  {
    keynum = eventArgs.which;
  }

  if (keynum == Sys.UI.Key.enter) {
    eventArgs.returnValue = false;
    eventArgs.cancel = true;
    gotoSchoolProfile(searchToken);
  }
} // fnTrapKDElem(comboBox, eventArgs)

/// <summary>
/// Goto Secondary school
/// </summary>
function gotoSchoolProfile(searchType, schoolName) {
  if (schoolName == "") return;  // Don't do anything when there is no search criteria

  var relativeUrl;
  if (searchType == 1) // Elementary
    relativeUrl = RealSystem.resolveClientUrl("~/SchoolProfile.aspx?SchoolType="+ searchType + "&SchoolName=" + schoolName);
  else
    relativeUrl = RealSystem.resolveClientUrl("~/SecondarySchoolProfile.aspx?SchoolType=" + searchType + "&SchoolName=" + schoolName);
    
  window.location = relativeUrl;
} // gotoSecondarySchool(formElement)

// Set the default click button for the "Search" Button
function fnTrapKDSchoolSearch(eventArgs) {
  var keynum;

  if (window.event) // IE
  {
    keynum = eventArgs.keyCode;
  }
  else if (eventArgs.which) // Netscape/Firefox/Opera
  {
    keynum = eventArgs.which;
  }

  if (keynum == Sys.UI.Key.enter) {
    eventArgs.returnValue = false;
    eventArgs.cancel = true;
    searchSchools();
  }
}