﻿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 SecLanguageReq = "";
var MemberData = null;
var SrchName = "";
var MapAddr = "";
var OfficeCode = "";
var Site = "ZZZ";
var ZipCode = "";
var MapCoord = "";


function Initialize()
{
	//FixNoCookieLinks();
	GoogleAnalytics()

	eval($get("hInitCode").value); // load values into JS variables
	Site = $get("hSiteCode").value;

	ContentFrame = window.frames["Content"] 
	MenuFrame = window.frames["Menu"];
	
	oContent = $get("Content")
	oMenu = $get("Menu");

	Resize();
	window.onresize = Resize;	
	
	if (Site=='FCIQ') 
	{
		MemberData = " "; // Marker to signal that special message needs to be displayed for FCIQ
		return; // Skip initial search so no data is displayed.
	}
	Search();
	iPad_Lock();
	 
}

function Resize()
{
	var h = Math.max(75,GetScreenHeight() - 80);
	
	var w = Math.min(GetScreenWidth()-100,350);
	
	if (Site=="FCIQ") {
		w = Math.min(GetScreenWidth()-100,325);
		h += 80;
		}
	if (Site=="SND") {
		h += 73;
	}
	var ContentWidth = GetScreenWidth()-(w+6);

	oContent.style.left = w + "px";	
	oContent.style.height = h + "px";
	oContent.style.width = ContentWidth + "px";

	oMenu.style.height = (h-86) + "px";
	oMenu.style.width = w + "px";
	

	var oNav = $get("divNav");
	oNav.style.width = w + "px";

	
	if (isFrameReady("ContentFrame.Resize")) ContentFrame.Resize(); // Trigger refresh of child frame.
	if(isFrameReady("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("hSiteCode").value;
	switch (Source){
	case "HHI":
		MapCoord = "89,-179,-89,179";
		Max = 1999;
		break;
	case "DFW":
		Catg = "D";
		break;
	case "FCIQ":
		MapCoord = "89,-179,-89,179";
		break;
	case "SND":
		MapCoord = "89,-179,-89,179";
		break;
	default: break;
	}

	// Have to have a map coord and if you are in listview you don't have one.
	if (MapCoord=="") MapCoord="89,-179,-89,179";
	
	if (isSearching) return; // don't jam up with multiple searches at once.
	DisplayStatus(Translate("Searching...","Recherche..."));
	isSearching=true;
	MenuFrame.DataClear();
	GoogleAnalytics("Search");

	MyAjaxService.MemberSearch(
				Max,
				MapCoord,
				Source,
				Priority, 
				OfficeName,
				FirstName,
				LastName,
				CityName,
				ZipCode,
				Catg,
				SecLanguageReq,
				OfficeCode,
				SearchCallBack, 
				FailedCallback
	);
}

function SearchCallBack(Data)
{
	isSearching = false;
	if (MemberData==Data)	return;

	MemberData = Data;
	isDataOverflow = (Data.length==Max);
	DisplayStatus("");
	var Msg = Translate("Retrieved ","") + (Data.length) + Translate(" matches"," résultats");
	DisplayMsg (Msg);

	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(Translate("too few, trying again","recherche à nouveau"));
				setTimeout("Search()",50);
				return;
			}
			MapCoord = "89,-179,-89,179"; // reset to the whole US
			setTimeout("Search()", 50);
			return;
		}
	}
	if(isFrameReady("ContentFrame.DataRefresh")) ContentFrame.DataRefresh();
	if(isFrameReady("MenuFrame.DataRefresh")) MenuFrame.DataRefresh();
}

function DisplayMsg(Text)
{
	$get("tdFeedBack").innerHTML = Text;
}

function DisplayStatus(Text)
{
	var oFld = $get("tdStatus")
	if (oFld) oFld.innerHTML = Text;
}

