﻿var DataMap = null;
var oOutput = null;
var LastHighlightedTbl = null;
var NumPerPage = 5;
var CurrentPage = 1;
var isReady = false;


function Initialize(){
	GoogleAnalytics()
	var HTML = $get("divList").innerHTML
	oOutput = $get("divOutput");
	DataClear();
	Resize();
	window.onresize = Resize;
	isReady = true;

}

function ShowFirst(){
	
	DataMap = parent.MemberData;
	if (!DataMap) 
	{
		setTimeout("ShowFirst()",1000);
		return; // No Data yet
	}
	var Member = new MemberInfo(DataMap,0);
	ShowDetail(0,TRIM(Member.Source),Member.SysUserID); 
	//parent.ContentFrame.location.href=CreateNoCookieURL("MemberDetail.aspx?N=" + N + "&S=" + Source + "&Id=" + SysID) ;

}

function DataClear(){	
	var isFrench = "fr-ca"==$get("hLanguageCode").value;
	parent.MemberData = null;
	oOutput.innerHTML=(isFrench) ? "Recherche..." : "Searching...Please wait";	
	$get("tdBegCount").innerText="";
	$get("tdEndCount").innerText = "";
	$get("tdTotalCount").innerText = "";
	CurrentPage=1;
}

function Resize(){
	// If the user resizes the window this will resize all the layers
	var Height = GetScreenHeight()-50;
	var Width =  GetScreenWidth();
	var oDiv = $get("divList");
	NumPerPage = 	Math.floor(Height/65);
	oOutput.style.width = Width + "px";	
	oOutput.style.height = Height + "px";

	$get("divNavBottom").style.top = (Height+25) + "px"
	
	DataRefresh();
}



function DataRefresh(){
	var isFrench = "fr-ca"==$get("hLanguageCode").value;

	var oDiv = $get("divList");
	var HTML=new Sys.StringBuilder("");	

	DataMap = parent.MemberData;
	if ((!isReady)||(!DataMap)){
		setTimeout("DataRefresh()",100);
		return;
	}


	if (DataMap==" ") 
	{
		oOutput.innerHTML								= "<table style='margin-top:10px;margin-left:10px;'><tr><td>To find your agent, enter his/her </td><td rowspan='3' valign='middle'><img src='FCIQ/Images/icon_go-over.gif'></td></tr><tr><td>first, last or office name and click the</td></tr><tr><td>button to begin your search.</td></tr></table>";
		if (isFrench) oOutput.innerHTML = "<table style='margin-top:10px;margin-left:20px;'><tr><td colspan='2'>Pour trouver votre agent, entrez</td></tr><tr><td>son prénom, son nom ou </td><td rowspan='3' valign='middle' align='left'><img src='FCIQ/Images/icon_go-over.gif'>&nbsp;&nbsp;&nbsp;</td></tr><tr><td>son bureau et cliquez sur</td></tr><tr><td>pour débuter la recherche.</td></tr></table>";
		
		parent.Priority = "LastName,FirstName"; 
		SetCriteria("ddlSort",parent.Priority)

		
		return;	
	}
	
	var ddlPg = $get("PageNum")
	var NPages  = 1+ Math.ceil(DataMap.length / NumPerPage)
	if (CurrentPage>NPages) CurrentPage=1;
	if (ddlPg) {
		while (ddlPg.options.length) ddlPg.remove(0);
		for (var i=1;i<NPages; i++) {
			ddlPg.options.add(new Option(i,i));
		}
		if (ddlPg.options.length>0) {
			ddlPg.options[Math.min(ddlPg.options.length,Math.max(1,CurrentPage))-1].selected = true; 
		} else {CurrentPage=0;}
	}
	var Start = Math.max(0,(CurrentPage-1) * NumPerPage);
	var End = Math.min(Start+NumPerPage,DataMap.length);

	for (var N=Start; N<End; N++){
		var Member = new MemberInfo(DataMap,N);
		var Num = N+1;
		var ThisHTML = oDiv.innerHTML;

		var DetailURL = "Javascript:ShowDetail("+N + ",'" + TRIM(Member.Source) + "','" + Member.SysUserID + "')"
		ThisHTML=ThisHTML.replace(/_new/gi,"");


		ThisHTML=ThisHTML.replace(/_new/gi,"");
		ThisHTML=ThisHTML.replace(/{N}/g,N)
		ThisHTML=ThisHTML.replace("{N+1}",N+1)

		ThisHTML=ThisHTML.replace("{Name}",Member.AgentName)
		ThisHTML=ThisHTML.replace("{LongName}",Member.AgentName)
		ThisHTML=ThisHTML.replace("{Phone}",Member.Phone)
		ThisHTML=ThisHTML.replace("{OfficeName}",Member.OfficeName);
		ThisHTML=ThisHTML.replace("{Email}",Member.EmailAddress)
		ThisHTML=ThisHTML.replace("{Email}",Member.EmailAddress)

		var Photo = "../icons/Clear.gif"
		if (0<Member.Photo.length) {
			Photo = Member.Photo;
			ThisHTML=ThisHTML.replace("{Border}","1");
		} else {
			Photo = "../images/agent_sans_photo_127X150.gif" 
			ThisHTML=ThisHTML.replace("{Border}","1")
			ThisHTML = ThisHTML.replace("105px","165px");
		} 
		ThisHTML=ThisHTML.replace("{ImageURL}",Photo)
		ThisHTML=ThisHTML.replace("%7BImageURL%7D",Photo)
		ThisHTML=ThisHTML.replace(/{MemberDetailURL}/g,""+DetailURL)
		ThisHTML=ThisHTML.replace(/%7BMemberDetailURL%7D/g,""+DetailURL)		
		
		ThisHTML=ThisHTML.replace("{SysID}",Member.SysUserID);
		ThisHTML=ThisHTML.replace("{Source}",Member.Source);
		HTML.append(ThisHTML);
	
	}
	oOutput.innerHTML = HTML.toString();

	if (parent.isDataOverflow && (End == DataMap.length)) {
		var Ten = "Warning</b>: display limited to " + End + " agents"
		var Tfr = "Attention</b> : l'affichage est limitée à " + End + " noms"
		HTML.append ("&nbsp;&nbsp;<b style='color:red'>" + ((isFrench) ? Tfr : Ten) );		
	}
	if (DataMap.length==0)HTML.append("&nbsp;&nbsp;" + ((isFrench) ? "Rien à afficher" : "Nothing to display"));
	
	oOutput.innerHTML = HTML.toString();
	$get("tdBegCount").innerText= Start+1;
	$get("tdEndCount").innerText = End;
	$get("tdTotalCount").innerText = CommaFmt(DataMap.length);

	//setTimeout("ShowFirst()",200);

}

function ShowDetail(N,Source,SysID){
	parent.ContentFrame.location.href=CreateNoCookieURL("MemberDetail.aspx?N=" + N + "&S=" + Source + "&Id=" + SysID) ;
}	
	
function fnSearchSort(Field){
	parent.Priority = Field;
	DataClear();
	parent.Search();
	ShowFirst()
}
		
function Next(Dir){
	CurrentPage = CurrentPage + Dir;
	var MaxPage = Math.ceil(DataMap.length/NumPerPage);
	CurrentPage = Math.min(Math.max(1,CurrentPage),MaxPage);
	DataRefresh();
}

function Print(){

	var whnd = window.open(CreateNoCookieURL("MemberListPrint.aspx"),"printwindow","width=680,height=500;");
}

function Move(pg){
	if (pg<0) return;
	CurrentPage = pg;
	setTimeout("Next(0)",50);
}

function HighlightTbl(evt){
	var oTbl = null;
	var eType = null;

	if (window.event){
		oTbl = window.event.srcElement;
		eType = window.event.type;
	} else {
		oTbl = evt.target;
		eType = evt.type;
	}
	
	var SiteCode = $get("hSiteCode").value;	
	if(LastHighlightedTbl)
	{
		switch (SiteCode)
		{
			case "FCIQ": LastHighlightedTbl.style.backgroundColor="#efefef";	break;
			default:LastHighlightedTbl.style.backgroundColor= "white"; break;
		}
	}
			
	while (oTbl && oTbl.tagName.toUpperCase()!='TABLE')	oTbl = oTbl.parentNode;

	switch (eType){
		case "mouseover": 
			switch (SiteCode)
						{
							case "FCIQ": oTbl.style.backgroundColor= "#eedfd6";	break;
							default:oTbl.style.backgroundColor= "#ffecec"; break;
						}
		
			LastHighlightedTbl = oTbl;
			break;
			
		case "mouseout": 
			switch (SiteCode)
						{
							case "FCIQ": oTbl.style.backgroundColor= "#efefef";	break;
							default:oTbl.style.backgroundColor= "white"; break;
						}
						//LastHighlightedTbl = null;
						break;
		default: alert("Missing EventType Arg for HighlightTbl: " + eType);
	}

 }   