if(!iQ.Ajax){alert('iQAjax.js Not Loaded');};
if(!iQ.Utils){alert('iQUtils.js Not Loaded');};
YAHOO.util.Event.addListener(window,"load",function(){doPageLoad()});
var arrPoints = new Array(1);
var bMapLoading = false;
var bListLoading = false;
function doPageLoad(){
var MapOptions ={};
MapOptions.DivID = 'iQ_VEMap';
MapOptions.MapType = 'default';
MapOptions.Lat = 0;
MapOptions.Lon = 0;
MapOptions.ZoomLevel = 10;
MapOptions.Recenter = true;
MapOptions.OnChangeCallBack = '';
doInitMap(MapOptions);
doGetMapOffices();
}
function doGetOffices(){
iQ.Utils.doShowProcessing();
bListLoading = true;
var _Ajax = new iQ.Ajax();
_Ajax.CFCMethod = 'getOffices';
_Ajax.URL = '/websvc/Offices.cfc';
_Ajax.Params ={Params:'{"OfficeID_List":"CBGAB01,CBGAB02","FindNearAddress":"' + iQ.Utils.getFieldValue('FindNearForm','FindNearAddress') + '","FindNearLatLon":"' + iQ.Utils.getFieldValue('FindNearForm','FindNearLatLon') + '"}'};
_Ajax.CallbackHandler = "onGetOffices";
_Ajax.Send();
}
function onGetOffices(ret){
var jsonData = ret;
if(jsonData.TOTALROWCOUNT != 0){
var objList = iQ.Utils.getBrowserObject('iQ_Offices_List');
objList.innerHTML = jsonData.HTML;
}
bListLoading = false;
if(!bMapLoading){
iQ.Utils.doHideProcessing();
}
}
function doGetMapOffices(){
iQ.Utils.doShowProcessing();
bMapLoading = true;
var _Ajax = new iQ.Ajax();
_Ajax.CFCMethod = 'getOffices';
_Ajax.URL = '/websvc/Offices.cfc';
_Ajax.Params ={Params:'{"ReturnType":"Recordset","OfficeID_List":"CBGAB01,CBGAB02","FindNearAddress":"' + iQ.Utils.getFieldValue('FindNearForm','FindNearAddress') + '","FindNearLatLon":"' + iQ.Utils.getFieldValue('FindNearForm','FindNearLatLon') + '"}'};
_Ajax.CallbackHandler = "onGetMapOffices";
_Ajax.Send();
}
function onGetMapOffices(ret){
var jsonData = ret;
var jsonCols = new Object();
//first - find my columns
for(var i = 0;i < jsonData.RECORDSET.COLUMNS.length;i++){
jsonCols[jsonData.RECORDSET.COLUMNS[i]] = i;
}
for(i=0;i < jsonData.RECORDSET.DATA.length;i++){
var obj = new iQMapPoint();
obj.DBTable = "Offices";
obj.KeyField = "OfficeID";
obj.KeyData = jsonData.RECORDSET.DATA[i][jsonCols["OFFICEID"]];
obj.Lat = jsonData.RECORDSET.DATA[i][jsonCols["LAT"]];
obj.Lon = jsonData.RECORDSET.DATA[i][jsonCols["LON"]];
obj.Address = jsonData.RECORDSET.DATA[i][jsonCols["OFFICEADDRESS"]] + "," + jsonData.RECORDSET.DATA[i][jsonCols["OFFICECITY"]] + "," + jsonData.RECORDSET.DATA[i][jsonCols["OFFICESTATE"]] + " " + jsonData.RECORDSET.DATA[i][jsonCols["OFFICEZIP"]];
obj.CustomIcon = '
';
obj.CustomIconOver = '';
obj.Contents = '' + jsonData.RECORDSET.DATA[i][jsonCols["OFFICENAME"]] + '
' + jsonData.RECORDSET.DATA[i][jsonCols["OFFICEADDRESS"]] + '
' + jsonData.RECORDSET.DATA[i][jsonCols["OFFICECITY"]] + ',' + jsonData.RECORDSET.DATA[i][jsonCols["OFFICESTATE"]] + ' ' + jsonData.RECORDSET.DATA[i][jsonCols["OFFICEZIP"]] + '
' + jsonData.RECORDSET.DATA[i][jsonCols["OFFICEPHONE"]] + '';
arrPoints[i] = obj;
}
doLoadMap(arrPoints);
bMapLoading = false;
if(!bListLoading){
iQ.Utils.doHideProcessing();
}
}
function doFindNear(sAction){
if(iQ.Utils.getFieldValue('FindNearForm','FindNear') == ''){
iQ.Utils.doMessagePanel('Message','The value you entered is invalid.');
return false;
}
if(sAction == 'clear'){
var objClear = iQ.Utils.getBrowserObject('iQ_ClearFindNearAddress');
objClear.style.visibility = 'hidden';
objClear.style.display = 'none';
iQ.Utils.SetCookie('FindNear','',0);
iQ.Utils.setFieldValue('FindNearForm','FindNear','');
iQ.Utils.SetCookie('FindNearAddress','',0);
iQ.Utils.setFieldValue('FindNearForm','FindNearAddress','');
iQ.Utils.SetCookie('FindNearLatLon','',0);
iQ.Utils.setFieldValue('FindNearForm','FindNearLatLon','');
doGetOffices();
doGetMapOffices();
}else{
iQ.Utils.doShowProcessing();
getGeoData();
}
//we return false so the form does not submit;
return false;
}
function getGeoData(){
var _Ajax = new iQ.Ajax();
_Ajax.CFCMethod = 'Geocode';
_Ajax.URL = '/websvc/GoogleGeocode.cfc';
_Ajax.Params ={"Address":iQ.Utils.getFieldValue('FindNearForm','FindNear')};
_Ajax.CallbackHandler = "onGeoData";
_Ajax.Send();
}
function onGeoData(ret){
// ZipCode level or Greater
if(ret.ACCURACY >= 5){
iQ.Utils.SetCookie('FindNear',iQ.Utils.getFieldValue('FindNearForm','FindNear'),365);
iQ.Utils.SetCookie('FindNearAddress',ret.ADDRESS,365);
iQ.Utils.setFieldValue('FindNearForm','FindNearAddress',ret.ADDRESS);
iQ.Utils.SetCookie('FindNearLatLon',ret.LATITUDE + "," + ret.LONGITUDE,365);
iQ.Utils.setFieldValue('FindNearForm','FindNearLatLon',ret.LATITUDE + "," + ret.LONGITUDE);
var objClear = iQ.Utils.getBrowserObject('iQ_ClearFindNearAddress');
objClear.style.visibility = 'visible';
objClear.style.display = '';
doGetOffices();
doGetMapOffices();
}else{
bMapLoading = false;
bListLoading = false;
iQ.Utils.doHideProcessing();
iQ.Utils.doMessagePanel('Message','We could not find a valid match for the address you entered. Please confirm the address and try again.');
}
}
function doInfoButtons(InfoBox,Action){
var InfoPopUp = iQ.Utils.getBrowserObject(InfoBox).style;
//var ImageFade = iQ.Utils.getBrowserObject(Image);
if (Action == 'On'){
InfoPopUp.visibility='visible';
InfoPopUp.display = 'block';
}
else{
InfoPopUp.visibility='hidden';
InfoPopUp.display = 'none';
}
}