﻿var ContentFrame = null;
var MenuFrame = null;
var oContent = null;
var oMenu = null;
var Priority = "NewID()"; // Random
var Max = 999;
var isSearching = false;
var isDataOverflow = false;
var OfficeName = "";
var FirstName = "";
var LastName = "";
var CityName = "";
var Catg = "";
var MemberData = null;
var SrchName = "";
var MapAddr = "";
var OfficeCode = "";

function Initialize()
{
	GoogleAnalytics()

	eval($get("hInitCode").value); // load values into JS variables
	ContentFrame = window.frames["Content"] 
	MenuFrame = window.frames["Menu"];
	
	oContent = $get("Content")
	oMenu = $get("Menu");

	Resize();
	window.onresize = Resize;
	
	Search(); 
}

function Resize()
{
	var h = Math.max(75,GetScreenHeight() - 80);
	var w = Math.min(GetScreenWidth()-100,350);
	var ContentWidth = GetScreenWidth()-(w+6);

	oContent.style.left = w + "px";	
	oContent.style.height = h + "px";
	oContent.style.width = ContentWidth + "px";

	oMenu.style.height = (h-83) + "px";
	oMenu.style.width = w + "px";


	var oNav = $get("divNav");
	oNav.style.width = w + "px";

	if(ContentFrame.Resize) ContentFrame.Resize(); // Trigger refresh of child frame.
	if(MenuFrame.Resize) MenuFrame.Resize(); // Trigger refresh of child frame.
}

function Update(oInput)
{
	eval(oInput.name + "=oInput.value");
	Search();
}

function UpdateCatg(Val)
{
	Catg = Val;
	Search();
}

function Search()
{
	var Source = $get("hSource").value;
	if (Source == "HHI") {
		MapCoord = "89,-179,-89,179";
		Max = 1999
	}
	if (isSearching) return; // don't jam up with multiple searches at once.
	DisplayStatus("Searching...");
	isSearching=true;
	MenuFrame.DataClear();
	GoogleAnalytics("Search");
	MyAjaxService.MemberSearch(
				Max,
				MapCoord,
				Source,
				Priority, 
				OfficeName,
				FirstName,
				LastName,
				CityName,
				Catg,
				OfficeCode,
				SearchCallBack, 
				FailedCallback
	);
}

function SearchCallBack(Data)
{
	isSearching = false;
	if (MemberData==Data)	return;

	MemberData = Data;
	isDataOverflow = (Data.length==Max);
	DisplayStatus("");
	DisplayMsg ("Retrieved " + (Data.length) + " Matches");

	if (Data.length<10){
		if (""==(OfficeName+FirstName+LastName)){
			// Keep setting a wider MapCoord until we find a reasonable number of agents
			var aCoord = MapCoord.split(",")
			MapCoord =(parseFloat(aCoord[0])+ .1)+ "," + 
								(parseFloat(aCoord[1])- .1)+ "," +
								(parseFloat(aCoord[2])- .1)+ "," +
								(parseFloat(aCoord[3])+ .1);
			// Keep looking until we have zoomed out beyond 5 degrees
			if (5>Math.abs(aCoord[0]-aCoord[2])) {
				DisplayStatus("too few, trying again");
				setTimeout("Search()",50);
				return;
			}
		}
	}
	if(ContentFrame && ContentFrame.DataRefresh) ContentFrame.DataRefresh();
	if(MenuFrame && MenuFrame.DataRefresh) MenuFrame.DataRefresh();
}

function DisplayMsg(Text)
{
	$get("tdFeedBack").innerHTML = Text;
}

function DisplayStatus(Text)
{
	$get("tdStatus").innerHTML = Text;
}
