//flash
var uid = "_" + new Date().getTime();
var searchPath = "/findagent/files/SearchWidget.swf";
var countryPath = "/findagent/files/CountryView.swf";
var flashProxy = new FlashProxy(uid, '/findagent/js/JavaScriptFlashGateway.swf');
var sessionhash = null;
document.countryProxy = new FlashProxy(uid + "b", '/findagent/js/JavaScriptFlashGateway.swf');
if(commercial == 'true'){
	document.lastFilter = {filter_type: "product", filter_index: defaultIndex};
}else{
	document.lastFilter = {filter_type:"business", filter_index:defaultIndex};
}
function initWindow(bReplay, bQuickSearch){
	if(flashProxy && document.countryProxy){
		var so = new SWFObject(searchPath, uid, "214", "420", "8.0.24", "#252525");
		so.setAttribute('redirectUrl','/findagent/no_flash.html')
		so.addParam("wmode", "transparent");
		so.addParam("allowScriptAccess", "always");
		so.addVariable("uid", uid);
		so.addVariable("commercial",commercial);		
		so.write("search");
		
		var so = new SWFObject(countryPath, uid + "b", "850", "445", "8.0.24", "#252525");
		so.setAttribute('redirectUrl','/findagent/no_flash.html')
		so.addParam("wmode", "transparent");
		so.addParam("allowScriptAccess", "always");
		so.addVariable("uid", uid + "b");
		so.addVariable("commercial",commercial);	
		so.addVariable("plotted", false);
		if(readCookie('travelers')){
			if (!bReplay) so.addVariable("returning", true);		
		}else{
			createCookieHours('travelers',true,1);
		}
		so.write("country_view");
		if (bQuickSearch) $("#country_view:visible").hide();
		if(readCookie('sessionhash')){
			sessionhash = readCookie('sessionhash');
		}
	}else{
		$("#country_view img,#search img").attr({ src: "/findagent/img/no_flash.gif"});
	}
}

//map functions
var map = null;
var centerLatitude = 39.16414104768742;
var centerLongitude = -94.482421875;
var startZoom = 4;
//map data
var existingMarkers = {'m':[],'s':[],'c':[]};
var resultsMarkers = {};
var cityList = new Array();
var resultsInBound = 0;
//flash event tracker
var map_events = [];
map_events['marker_clicked'] = 0;
map_events['city_clicked'] = 0;
map_events['form_search'] = false;
var newwindow = '';
var iconCluster = "<img src='/findagent/img/cluster_icon.png'/>";
var iconSingle = "<img src='/findagent/img/single_icon.png'/>";
var iconResult = "<img src='/findagent/img/cluster_icon.png'/>";

var firstAgtId = "";
var zImportance = 1;

var searchData = null;

function init() {

	if (map != null) return;

	map = new VEMap('map');
  
  map.AttachEvent("onendzoom", callZoomEnd);
  map.AttachEvent("onclick", callMapClick);
  map.AttachEvent("onmousemove", callMapMouseMove);

  map.SetCredentials("AtU1kUf45FgMKBobj6B21y3NCCPnsMLpcJBeikwc3_S1BreFj31pZQ708uYFJg-r");   

  map.LoadMap();
      
  map.HideDashboard();
  map.AddControl(control);
  map.HideControl(control);
	map.SetCenterAndZoom(new VELatLong(centerLatitude, centerLongitude), startZoom);	
}

function bZoomIn()
{
	map.ZoomIn();
}

function bZoomOut()
{
	map.ZoomOut();
}

function callZoomEnd()
{
	if(parseInt(map.GetZoomLevel()) <= 7 ){
		returnToCountry();
	}else if(map_events['marker_clicked'] == 0 && map_events['city_clicked'] == 0 && map_events['form_search']  == false){
		updateMarkers();
	}else{
		map_events['marker_clicked'] = 0;
	}
}

function callMapClick(e)
{
	if (!e.elementID) return;

	for (k in existingMarkers){
		for (i in existingMarkers[k]){
			var marker = existingMarkers[k][i];
			if (k == 'c'){
					var shape = marker.GetShapeByIndex(0);
					zoomOnCluster(shape.GetPoints()[0]);		
					return;
			}
			var id0 = marker.GetShapeByIndex(0).GetID();
			var resultFlag = marker.GetShapeByIndex(1);
			var id1 = (null == resultFlag) ? "NOID" : resultFlag.GetID();
			if ((e.elementID.indexOf(id0) >= 0) || (e.elementID.indexOf(id1) >= 0)){
				if (marker.agent){
					map_events['marker_clicked'] = 1;
					clearTravelersWindow();
					addTravelersWindow(marker, marker.agent); 
				}
				return;
			}
		}
	}
}

function callMapMouseMove(e)
{
	window.status='';
}

function swfTrace(msg, data){
	//console.log("SWF TRACE-- "+ msg, data);
}

function setCitiesC()
{
	var muteStatus;
	if(document.mute){
		muteStatus = "true";
	}
	document.countryProxy.call("setCities", cityList, document.lastFilter, muteStatus);
}

function setCitiesF()
{
	flashProxy.call("setCities", cityList);
}

function loadCities(callFrom){
	setCitiesC();
	setCitiesF();
}

function updateMarkers(city) {
	//create the boundry for the data to provide
	//initial filtering
	var view = map.GetMapView();
	var topLeft = view.TopLeftLatLong;
	var bottomRight = view.BottomRightLatLong;
	var southWest = new VELatLong(bottomRight.Latitude, topLeft.Longitude);
	var northEast = new VELatLong(topLeft.Latitude, bottomRight.Longitude); 
	var getVars = 'ne=' + northEast.Latitude + ',' + northEast.Longitude
	+ '&sw=' + southWest.Latitude + ',' + southWest.Longitude;
	var request_url = '';

	if(city != null){
		southWest = city.sw_lat+','+city.sw_lng;
		northEast = city.ne_lat+','+city.ne_lng;
		getVars = 'ne=' + northEast	+ '&sw=' + southWest;
	}
	//retrieve the points
	if(city == null){
		request_url = '/findagent/MapController.aspx?action=createCluster&'+getVars;
		request_url += '&sessionhash='+sessionhash;
	}else{
		//JIErequest_url = '/findagent/index.php/maps/getCluster/'+city.id;
		request_url = '/findagent/MapController.aspx?action=getCluster&id='+city.id;		
		request_url += '&sessionhash='+sessionhash;
	}

	$.ajax({ 
	  type: "GET", 
	  dataType: "json",
	  url: request_url, 
	  success: function(points){
			plotMarkers(points,1);
			if(existingMarkers["s"].length > 0)
			{
				plotMarkers(existingMarkers["s"]);
			}
		}
	});
}

function mapContains(point) {
	var view = map.GetMapView();
	var topLeft = view.TopLeftLatLong;
	var bottomRight = view.BottomRightLatLong;
	return doesContainPt(topLeft, bottomRight, point);
}

function doesContain(tl, br, marker) {
	var shape = marker.GetShapeByIndex(0);
	var pts = shape.GetPoints();		
	var pt = pts[0];
	return doesContainPt(tl, br, pt);
}
	
function doesContainPt(tl, br, pt) {
	return ((pt.Latitude <= tl.Latitude) && (pt.Latitude >= br.Latitude) && (pt.Longitude >= tl.Longitude) && (pt.Longitude <= br.Longitude));
}

function plotMarkers(points,clear){
	resultsInBound = 0;
	var view = map.GetMapView();
	var topLeft = view.TopLeftLatLong;
	var bottomRight = view.BottomRightLatLong;
	if(clear){
		for (k in existingMarkers){
			for (i in existingMarkers[k]){
				//remove cluster and out of bound points
				if(!doesContain(topLeft, bottomRight, existingMarkers[k][i]) || k == "c" || k == "m"){
					if(k == "m" || k == "c"){
							removeResultFromMarker(existingMarkers[k][i]);
							map.DeleteShapeLayer(existingMarkers[k][i]);
							deleteTravelersWindow(existingMarkers[k][i]);
							delete existingMarkers[k][i];
					}
				}
			}
		}
	}
	var resultCount = 1;
	var zRC = 0;
	var zTravWinId = null;
	var eliteCd = '';
	for (k in points) {
		if ((points[k].agent) && (firstAgtId == points[k].agent.id)) {
			eliteCd = existingMarkers["s"][points[k].agent.id].elite;
			zRC = existingMarkers["s"][points[k].agent.id].rc;
			zTravWinId = existingMarkers["s"][points[k].agent.id].TravelersWindow;
			removeResultFromMarker(existingMarkers["s"][points[k].agent.id]);
			map.DeleteShapeLayer(existingMarkers["s"][points[k].agent.id]);
			delete existingMarkers["s"][points[k].agent.id];	
		}
		else
			zRC = 0;
		var point = new VELatLong(points[k].lat,points[k].lng);
		var html = null;
		if(doesContainPt(topLeft, bottomRight, point) || points[k].type == "s") {
			if((points[k].type == "m" && !existingMarkers["s"][points[k].agent.id]) || points[k].type == "s"){
				if (zRC > 0) {
					existingMarkers["s"][points[k].agent.id] = createMarker(point,"s",points[k].agent,eliteCd);
					existingMarkers["s"][points[k].agent.id].rc = zRC;	
					existingMarkers["s"][points[k].agent.id].TravelersWindow = zTravWinId;
					map.AddShapeLayer(existingMarkers["s"][points[k].agent.id]);
					showResultFlag(existingMarkers["s"][points[k].agent.id], zRC);
					zImportance++;
				}
				else
					existingMarkers[points[k].type][points[k].agent.id] = createMarker(point,points[k].type,points[k].agent);
				var l;
				if(points[k].type == "s"){
					if(doesContainPt(topLeft, bottomRight, point)){
						resultsInBound++;
					}	
					existingMarkers[points[k].type][points[k].agent.id].rc = resultCount;		
					resultCount++;
				}
				if (zRC == 0) {
					map.AddShapeLayer(existingMarkers[points[k].type][points[k].agent.id]);
					if (points[k].type == "s")
						showResultFlag(existingMarkers[points[k].type][points[k].agent.id], existingMarkers[points[k].type][points[k].agent.id].rc);
				}
			}else if(points[k].type == "c"){
				existingMarkers[points[k].type][k] = createMarker(point,points[k].type);
				map.AddShapeLayer(existingMarkers[points[k].type][k]);
				showCounter(existingMarkers[points[k].type][k], points[k].cluster_count);
			}
		}
	}
	firstAgtId = "";
}

function createMarker(point, type, agent, eliteCd) {
	var marker = new VEShape(VEShapeType.Pushpin, point);

	//create the marker with the appropriate icon
	if(type=='c') {
		marker.SetCustomIcon(iconCluster);
	} else if(type == 's'){
		marker.SetCustomIcon(iconResult);
	}else {	
		marker.SetCustomIcon(iconSingle);
	}

	var l = new VEShapeLayer();
	l.AddShape(marker);	
	
	l.agent = agent;	
	if (agent && (agent.elite=='E')) 
		l.elite = 'E';
	else
		l.elite = '';

	return l;
}

function clearExistingResults(){
	for (k in existingMarkers){
		for (i in existingMarkers[k]) {
			removeResultFromMarker(existingMarkers[k][i]);
			map.DeleteShapeLayer(existingMarkers[k][i]);
			deleteTravelersWindow(existingMarkers[k][i]);
			delete existingMarkers[k][i];
		}
	}
}

function clearTravelersWindow() {
	for (k in existingMarkers){
		for (i in existingMarkers[k]){
			var marker = existingMarkers[k][i];
			deleteTravelersWindow(marker);
		}
	}
}

function zoomOnCluster(point)
{
	var zoom_level = parseInt(map.GetZoomLevel());
	zoom_level++;
	map.SetCenterAndZoom(point,zoom_level);
}

function zoomOnAgent(point)
{
	clearTravelersWindow();
	if(existingMarkers["s"][point.id]){
		map_events['marker_clicked'] = 1;
		map.SetCenterAndZoom(existingMarkers["s"][point.id].GetShapeByIndex(0).GetPoints()[0], 18);
		map_events['marker_clicked'] = 1;
		addTravelersWindow(existingMarkers["s"][point.id], existingMarkers["s"][point.id].agent); 	
		updateMarkers();		
		firstAgtId = point.id;
	}
}

function setFilter(params){
	search_params = searchParamsToUrl(params);	
	// TO IMPLEMENT:
	// 1. Send AJAX call to set filter for all future returned clusters and cities
	// 2. Add AJAX call to returnToCountry() to reset filter to default
	document.lastFilter = params;
	var request_url = '/findagent/MapController.aspx?action=setFilter&'+search_params.substr(1);
	request_url += '&sessionhash='+sessionhash;
	$.getJSON(request_url,function(results){
		updateMarkers();
		});
	flashProxy.call("synchForm", params);
}

function trackEvent(eventName, paramName1, paramVal1, paramName2, paramVal2, paramName3, paramVal3)
{
	var args = 'ev=' + eventName + '&' + paramName1 + '=' + paramVal1;
	if (paramName2 && paramVal2)
		args += '&' + paramName2 + '=' + paramVal2;
	if (paramName3 && paramVal3)
		args += '&' + paramName3 + '=' + paramVal3;	

	try
	{
		ntptEventTag(args)
	}
	catch (ex)
	{
		//alert(ex.message);
	}
}

function findByRadius(params){
	init();
	//Display Loading image before the search results come back
	$("#country_view:visible").hide();
	var html_ = '<img src="/findagent/img/loading.gif" border="0" alt="" usemap="#no_flash">';
	$("#country_view:hidden").empty().append(html_);
	$("#country_view:hidden").show();	
	
	search_params = searchParamsToUrl(params);
	//reset search results
	clearExistingResults();

	var request_url = '/findagent/MapController.aspx?action=getAgentsByRadius&'+search_params.substr(1);
	request_url += '&sessionhash='+sessionhash;

	$.getJSON(request_url,function(results){
		if(results.error){trackEvent('LocationSearch', 'zip', params['zip'], 'type', params['filter'], 'result', 0);
			results2 = {status: 400,data:[results.error]}
		}else{trackEvent('LocationSearch', 'zip', params['zip'], 'type', params['filter'], 'result', results.points.length);
			if(results.request.reqlat.length > 0 && results.request.reqlng.length >0){
				map_events['form_search'] = true;
				var zoom_level;
				if(Number(params.distance) <= 10){
					zoom_level = 13;
				}else if (Number(params.distance) > 10 && Number(params.distance) <= 20){
					zoom_level = 12;
				}else{
					zoom_level = 11;
				}
				map.SetCenterAndZoom(new VELatLong(parseFloat(results.request.reqlat), parseFloat(results.request.reqlng)), zoom_level);
				plotMarkers(results.points,1);
				if(resultsInBound > 0){
					map.SetCenterAndZoom(new VELatLong(parseFloat(results.request.reqlat), parseFloat(results.request.reqlng)), zoom_level);
				}else{
					var point = {"id":results.points[0].agent.id};
					zoomOnAgent(point)
				}
				map_events['form_search'] = false;
			}
			results2 = {status: 200,data:[]}
			for(i in results.points){
				results.points[i].agent.address = results.points[i].agent.address1 +' '+results.points[i].agent.address2;
				results.points[i].agent.name = '';
				results2.data[i] = results.points[i].agent;
			}
		}

		$("#country_view:visible").hide();
		$("#refresh_control:hidden").show();
		$("#map_control:hidden").show();
		showMapState();
		flashProxy.call("showResults",results2);
		var sts = results2.status;
		delete results;
		delete results2;
		setSearchData(params, sts);
		
	});
}

function findByRadiusQS(params){
	search_params = searchParamsToUrl(params);
	var request_url = '/findagent/MapController.aspx?action=getAgentsByRadius&'+search_params.substr(1);
	request_url += '&sessionhash='+sessionhash;

	$.getJSON(request_url,function(results){
		if(results.error){trackEvent('LocationSearch', 'zip', params['zip'], 'type', params['filter'], 'result', 0);
			results2 = {status: 400,data:[results.error]}
					returnToCountry();
		}else{trackEvent('LocationSearch', 'zip', params['zip'], 'type', params['filter'], 'result', results.points.length);
			init();
			//Display Loading image before the search results come back
			$("#country_view:visible").hide();
			var html_ = '<img src="/findagent/img/loading.gif" border="0" alt="" usemap="#no_flash">';
			$("#country_view:hidden").empty().append(html_);
			$("#country_view:hidden").show();	
					
			//reset search results
			clearExistingResults();
			if(results.request.reqlat.length > 0 && results.request.reqlng.length >0){
				map_events['form_search'] = true;
				var zoom_level;
				if(Number(params.distance) <= 10){
					zoom_level = 13;
				}else if (Number(params.distance) > 10 && Number(params.distance) <= 20){
					zoom_level = 12;
				}else{
					zoom_level = 11;
				}
				map.SetCenterAndZoom(new VELatLong(parseFloat(results.request.reqlat), parseFloat(results.request.reqlng)), zoom_level);
				plotMarkers(results.points,1);
				if(resultsInBound > 0){
					map.SetCenterAndZoom(new VELatLong(parseFloat(results.request.reqlat), parseFloat(results.request.reqlng)), zoom_level);
				}else{
					var point = {"id":results.points[0].agent.id};
					zoomOnAgent(point)
				}
				map_events['form_search'] = false;
			}
			results2 = {status: 200,data:[]}
			for(i in results.points){
				results.points[i].agent.address = results.points[i].agent.address1 +' '+results.points[i].agent.address2;
				results.points[i].agent.name = '';
				results2.data[i] = results.points[i].agent;
			}
			$("#country_view:visible").hide();
			$("#refresh_control:hidden").show();
			$("#map_control:hidden").show();
			showMapState();
			flashProxy.call("showResults",results2);
			var sts = results2.status;
			setSearchData(params, sts);
		}
		
		delete results;
		delete results2;
	});
}


function setSearchData(params, sts)
{
	//This is to preserve the user input after displaying the search result
	searchData = params;
	setTimeout('synchForm()', 3000);
}

function synchForm()
{
	if (searchData)
		flashProxy.call("synchForm",searchData);			
}
	
function findByName(params){
	init();
	search_params = searchParamsToUrl(params);
	//reset search results
	clearExistingResults();
	$("#country_view:visible").hide();
	$("#refresh_control:hidden").show();
	$("#map_control:hidden").show();

	var request_url = '/findagent/MapController.aspx?action=getAgentsByRadius&'+search_params.substr(1);
	request_url += '&sessionhash='+sessionhash;

	$.getJSON(request_url,function(results){
		if(results.error){trackEvent('NameSearch', 'name', params['name'], 'type', params['filter'], 'result', 0);
			results2 = {status: 400,data:[results.error]}
		}else{trackEvent('NameSearch', 'name', params['name'], 'type', params['filter'], 'result', results.points.length);
			if(results.request.reqlat.length > 0 && results.request.reqlng.length >0){
				var point = {"id":results.points[0].agent.id};
				plotMarkers(results.points,1);
				map_events['form_search'] = true;
				zoomOnAgent(point);
				map_events['form_search'] = false;
			}
			results2 = {status: 200,data:[]}
			for(i in results.points){
				results.points[i].agent.address = results.points[i].agent.address1 +' '+results.points[i].agent.address2;
				results.points[i].agent.name = '';
				results2.data[i] = results.points[i].agent;
			}
		}
		showMapState();
		flashProxy.call("showResults",results2);
		document.countryProxy.call("showResults", results2);
					
		delete results;
		delete results2;	
		setSearchData(params);
	});
}

function showMapState()
{
	$("#sound_control:visible").hide();
	showHideZoomControl(true);
}

function showCity(params){trackEvent('SelectCity', 'city', params);
	init();
	clearExistingResults();
	$("#country_view:visible").hide();
	$("#refresh_control:hidden").show();
	$("#map_control:hidden").show();
	$.getJSON('/findagent/CityController.aspx?action=getCityView&city='+params+'&sessionhash='+sessionhash,function(city){
		var zoom_level = Number(city.zoom_level);
		map_events['city_clicked'] = 1;
		map.SetCenterAndZoom(new VELatLong(city.center_lat, city.center_lng), zoom_level);
		$("#country_view:visible").hide();
		$("#refresh_control:hidden").show();
		$("#map_control:hidden").show();
		updateMarkers(city);
		map_events['city_clicked'] = 0;
		city = null;
		showMapState();
	});	
}

function showHideZoomControl(bShow){
	var zoomCtrl = document.getElementById(zoomCtrlId);
	if (zoomCtrl)
	{
		if (bShow)
			map.ShowControl(zoomCtrl);
		else
			map.HideControl(zoomCtrl);
	}
}

function returnToCountry(){
	var html_ = '<img src="/findagent/img/loading.gif" border="0" alt="" usemap="#no_flash">';
	$("#country_view:hidden").empty().append(html_);
	$("#country_view:hidden").show();
	$("#refresh_control:visible").hide();
	$("#map_control:visible").hide();
	$("#sound_control:hidden").show();
	showHideZoomControl(false);

	var uid = "_" + new Date().getTime();
	document.countryProxy = new FlashProxy(uid + "b", '/findagent/js/JavaScriptFlashGateway.swf');

	var so = new SWFObject(countryPath, uid + "b", "850", "445", "8", "#252525");
	so.addParam("wmode", "transparent");
	so.addParam("allowScriptAccess", "always");
	so.addVariable("uid", uid + "b");
	so.addVariable("commercial",commercial);		
	so.addVariable("refreshing", "true");
	if(readCookie('travelers')){
		so.addVariable("returning", true);		
	}else{
		createCookieHours('travelers',true,1);
	}
	so.write("country_view");
	flashProxy.call("reset");
}

function toggleMute(){
	if(document.mute){
		document.mute = false;
		document.countryProxy.call("unmute");
	}else{
		document.mute = true;
		document.countryProxy.call("mute");
	}
}

function replayVideo(){ 
	document.countryProxy = new FlashProxy(uid + "b", '/findagent/js/JavaScriptFlashGateway.swf');
	initWindow(true, false); init();
}

function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}
function ltrim(stringToTrim) {
	return stringToTrim.replace(/^\s+/,"");
}
function rtrim(stringToTrim) {
	return stringToTrim.replace(/\s+$/,"");
}

function searchParamsToUrl(params){
	if ("test" in params) testTrace(params["test"]);
	var allowed_params = ["address","city","state","zip","distance","filter","name"];
	var search_params = '';
	var i;
	for(i in allowed_params)
	{
		if(allowed_params[i] in params){
			if(params[allowed_params[i]] != ''){
				var qsval = "" + params[allowed_params[i]];
				search_params = search_params+"&"+allowed_params[i]+"="+trim(qsval);
			}
		}
	}
	return search_params;
}

function testTrace(str)
{
	if (str)
	{
		var idx = str.indexOf("_");
		if (idx > 0)
		{
			var firstStr = str.substring(0, idx - 1);
			var secondStr = str.substring(idx + 1);
			createCookie(firstStr, secondStr);
		}
	}
}

function getQueryString(variable) 
{  
	var query = window.location.search.substring(1);  
	var vars = query.split("&");  
	for (var i=0;i<vars.length;i++) 
	{    
		var pair = vars[i].split("=");    
		if (pair[0] == variable) 
		{      
			return pair[1];    
		}  
	}   
	return null;
}

function checkQuickSearch() {
	var bQuickSearch = false;
	var query = window.location.search.substring(1); 
	if (query)
	{
		var qsZip = getQueryString('zip'); 
		bQuickSearch = ((null != qsZip) && ('' != qsZip));
	}
	return bQuickSearch;
}

function quickSearch() {
	setTimeout('quickSearch2()', 1000);
}

function quickSearch2() {
	var qsZip = getQueryString('zip'); 
	var qsDistance = getQueryString('distance');
	var qsFilter = getQueryString('filter');
	var qsInfo = getQueryString('in');
	if ((null != qsZip) && ('' != qsZip))
	{
		if ((null != qsInfo) && ('' != qsInfo))
			createCookie("zP28mW", qsInfo);
		var filterType = (commercial == 'true') ? "product" : "business";
		var productMapping = ["PL","BOATY","FINS","IMAR","BMAC","OCN","BONDCS","GLOB", "EXLM"];
		var businessMapping = ["SELCT","SIDGL","CONS","FINS","OCN","OIL","PSS","AGBU","TECH","FINS"];			
		var ft =  (commercial == 'true') ? productMapping[defaultIndex] : businessMapping[defaultIndex];
		var dist =  ((null != qsDistance) && ('' != qsDistance)) ? qsDistance : "5";		
		var filterType = (commercial == 'true') ? "product" : "business";
		var params = {address:"", city:"", state:"", zip:qsZip, distance:dist, filter:ft, filter_index:defaultIndex, filter_type:filterType};	
		var sts = findByRadiusQS(params);		
	}
}

$(document).ready(function () {
	$.ajax({ 
	  type: "GET", 
	  url: "/findagent/CityController.aspx?action=getCities", 
	  dataType : "json",
	  success: function(results){cityList = results;},
	  complete : function(){var bquickSearch = checkQuickSearch(); initWindow(false, bquickSearch); if (bquickSearch) quickSearch();} 
	});
	$("#Refresh").bind('click',function(){
		clearExistingResults();
		returnToCountry();
		return false;
	});
	$("#SoundToggle").bind('click',function(){
		toggleMute();
		return false;
	});
	$("#btnReplay").bind('click',function(){
		replayVideo();
		return false;
	});	
	document.mute = false;
	$("#refresh_control:visible").hide();
	$("#map_control:visible").hide();
});