 /**\ \**/ /**\ \**/ /**\ \**/
/*+=========================+*/
/*| Prospect Portal Scripts |*/
/*+=========================+*/
 /**\ \**/ /**\ \**/ /**\ \**/


/* ------------------------- */
/*  Search                   */
/* ------------------------- */

function HandleEnterSearch(buttonid, e, text)
{
    var CharCode = e.keyCode? e.keyCode : e.charCode;
    if(CharCode == 13) {
        document.getElementById(buttonid).click();
        return false; 
    } else {
        return true;
    }
}


/*****************************/
/* Map Tab Control           */
/*****************************/

function clickProperties() {
    document.getElementById('SiteSearch').style.display='block';
    document.getElementById('CompanySearch').style.display='none';
    document.getElementById('DataSearch').style.display='none';
    
    document.getElementById('PropertiesOff').style.display='none';
    document.getElementById('CompaniesOff').style.display='block';
    document.getElementById('DataOff').style.display='block';
    
    document.getElementById('PropertiesOn').style.display='block';
    document.getElementById('CompaniesOn').style.display='none';
    document.getElementById('DataOn').style.display='none';
}
function hideProperties() {
    document.getElementById('SiteSearch').style.display='none';
    document.getElementById('CompanySearch').style.display='none';
    document.getElementById('DataSearch').style.display='none';
    
    document.getElementById('PropertiesOff').style.display='block';
    document.getElementById('CompaniesOff').style.display='block';
    document.getElementById('DataOff').style.display='block';
    
    document.getElementById('PropertiesOn').style.display='none';
    document.getElementById('CompaniesOn').style.display='none';
    document.getElementById('DataOn').style.display='none';
}

function clickCompanies() {
    document.getElementById('SiteSearch').style.display='none';
    document.getElementById('CompanySearch').style.display='block';
    document.getElementById('DataSearch').style.display='none';
    
    document.getElementById('PropertiesOff').style.display='block';
    document.getElementById('CompaniesOff').style.display='none';
    document.getElementById('DataOff').style.display='block';
    
    document.getElementById('PropertiesOn').style.display='none';
    document.getElementById('CompaniesOn').style.display='block';
    document.getElementById('DataOn').style.display='none';
}
function hideCompanies() {
    document.getElementById('SiteSearch').style.display='none';
    document.getElementById('CompanySearch').style.display='none';
    document.getElementById('DataSearch').style.display='none';
    
    document.getElementById('PropertiesOff').style.display='block';
    document.getElementById('CompaniesOff').style.display='block';
    document.getElementById('DataOff').style.display='block';
    
    document.getElementById('PropertiesOn').style.display='none';
    document.getElementById('CompaniesOn').style.display='none';
    document.getElementById('DataOn').style.display='none';
}

function clickData() {
    showData();
    showThematicLegend();
}
function showData() {
    document.getElementById('SiteSearch').style.display='none';
    document.getElementById('CompanySearch').style.display='none';
    document.getElementById('DataSearch').style.display='block';
    
    document.getElementById('PropertiesOff').style.display='block';
    document.getElementById('CompaniesOff').style.display='block';
    document.getElementById('DataOff').style.display='none';
    
    document.getElementById('PropertiesOn').style.display='none';
    document.getElementById('CompaniesOn').style.display='none';
    document.getElementById('DataOn').style.display='block';
}
function hideData() {
    hideDataFix();
}
function hideDataFix() {
    document.getElementById('SiteSearch').style.display='none';
    document.getElementById('CompanySearch').style.display='none';
    document.getElementById('DataSearch').style.display='none';
    
    document.getElementById('PropertiesOff').style.display='block';
    document.getElementById('CompaniesOff').style.display='block';
    document.getElementById('DataOff').style.display='block';
    
    document.getElementById('PropertiesOn').style.display='none';
    document.getElementById('CompaniesOn').style.display='none';
    document.getElementById('DataOn').style.display='none';
}




/*****************************/
/* Map Options Control       */
/*****************************/

function clickLegend() {
    if(document.getElementById('Legend').style.display=='block') {
        document.getElementById('Legend').style.display='none';
    } else {
        document.getElementById('Legend').style.display='block';
    }
}

function clickBaseMapOptions() {
    if(document.getElementById('BaseMapOptions').style.display=='block') {
        document.getElementById('BaseMapOptions').style.display='none';
    } else {
        document.getElementById('BaseMapOptions').style.display='block';
    }
}

function clickMapOverlays() {
    if(document.getElementById('MapOverlays').style.display=='block') {
        document.getElementById('MapOverlays').style.display='none';
    } else {
        document.getElementById('MapOverlays').style.display='block';
    }
}

function clickThematicLegend() {
    if(document.getElementById('ThematicLegend').style.display=='block') {
        hideThematicLegend();
        hideDataFix();
    } else {
        showThematicLegend();
        showData();
    }
}
function showThematicLegend() {        
    document.getElementById('ThematicLegend').style.display='block';
    index = document.getElementById('ctl00_ContentPlaceHolder1_SearchData').selectedIndex;
        
    document.getElementById('LegendRange1Value1').innerHTML = dataKML[index]['legend'][0][0];
    document.getElementById('LegendRange1Value2').innerHTML = dataKML[index]['legend'][0][1];
        
    document.getElementById('LegendRange2Value1').innerHTML = dataKML[index]['legend'][1][0];
    document.getElementById('LegendRange2Value2').innerHTML = dataKML[index]['legend'][1][1];
        
    document.getElementById('LegendRange3Value1').innerHTML = dataKML[index]['legend'][2][0];
    document.getElementById('LegendRange3Value2').innerHTML = dataKML[index]['legend'][2][1];
        
    document.getElementById('LegendRange4Value1').innerHTML = dataKML[index]['legend'][3][0];
    document.getElementById('LegendRange4Value2').innerHTML = dataKML[index]['legend'][3][1];
        
    document.getElementById('LegendRange5Value1').innerHTML = dataKML[index]['legend'][4][0];
    document.getElementById('LegendRange5Value2').innerHTML = dataKML[index]['legend'][4][1];
}
function hideThematicLegend() {
    document.getElementById('ThematicLegend').style.display='none';
}



/*****************************/
/* Map Control               */
/*****************************/

function clickThematic() {
    document.getElementById('OverlayThematicData').checked = true;
    toggleThematic();
}
function toggleThematic() {
    toggleKML(document.getElementById('ctl00_ContentPlaceHolder1_SearchData').selectedIndex);
    
    if(document.getElementById('OverlayThematicData').checked) {
        showThematicLegend();
        showData();
    }
}
function clickMap() {
    document.getElementById('OverlayThematicData').checked = false;
    toggleKML(document.getElementById('ctl00_ContentPlaceHolder1_SearchData').selectedIndex);
}
function clickThematicDownload() {
    downloadURL = dataKML[document.getElementById('ctl00_ContentPlaceHolder1_SearchData').selectedIndex]['download'];
    if(downloadURL.length > 0) {
        window.open(downloadURL);
    } else {
        alert("There is no download available for this data.");
    }
}

function clickMapView(Button, MapType) {
    switch(MapType) {
        case 'G_HYBRID_MAP':
            map.setMapType(G_HYBRID_MAP);
            break;
        case 'G_SATELLITE_MAP':
            map.setMapType(G_SATELLITE_MAP);
            break;
        case 'G_NORMAL_MAP':
            map.setMapType(G_NORMAL_MAP);
            break;
        case 'G_PHYSICAL_MAP':
            map.setMapType(G_PHYSICAL_MAP);
            break;
    }
}



/*****************************/
/* Search Field Control      */
/*****************************/

function clearPropertySearchFields() {
    
    // Checkboxes
    document.getElementById('ctl00_ContentPlaceHolder1_cbxPropertyLand').checked = false;
    document.getElementById('ctl00_ContentPlaceHolder1_cbxPropertyIndustrial').checked = false;
    document.getElementById('ctl00_ContentPlaceHolder1_cbxPropertyOffice').checked = false;
    document.getElementById('ctl00_ContentPlaceHolder1_cbxPropertyForSale').checked = false;
    document.getElementById('ctl00_ContentPlaceHolder1_cbxPropertyForLease').checked = false;
    
    // Textfields
    document.getElementById('ctl00_ContentPlaceHolder1_txtPropertyMinSize').value = "";
    document.getElementById('ctl00_ContentPlaceHolder1_txtPropertyMaxSize').value = "";
    document.getElementById('ctl00_ContentPlaceHolder1_txtPropertyMinPrice').value = "";
    document.getElementById('ctl00_ContentPlaceHolder1_txtPropertyMaxPrice').value = "";
    document.getElementById('ctl00_ContentPlaceHolder1_txtPropertyProperty').value = "";
    document.getElementById('ctl00_ContentPlaceHolder1_txtPropertyAddress').value = "";
    
    // Drop Downs
    document.getElementById('ctl00_ContentPlaceHolder1_ddPropertyCeilingHeight').selectedIndex = 0;
}

function clearAdvancedSearchFields() {

    // Checkboxes
    document.getElementById('ctl00_ContentPlaceHolder1_cbxPropertyForeignTradeZone').checked = false;
    document.getElementById('ctl00_ContentPlaceHolder1_cbxPropertyEconomicRevitalizationArea').checked = false;
    document.getElementById('ctl00_ContentPlaceHolder1_cbxPropertyEnterpriseZone').checked = false;
    document.getElementById('ctl00_ContentPlaceHolder1_cbxPropertyRailService').checked = false;
    
    // Textfields
    document.getElementById('ctl00_ContentPlaceHolder1_txtPropertyContiguousSpace').value = "";
    document.getElementById('ctl00_ContentPlaceHolder1_txtPropertyWithinStateHighway').value = "";
    document.getElementById('ctl00_ContentPlaceHolder1_txtPropertyWithinAirport').value = "";
    document.getElementById('ctl00_ContentPlaceHolder1_txtPropertyWithinInterState').value = "";
    document.getElementById('ctl00_ContentPlaceHolder1_txtPropertyDescription').value = "";
    
    // Drop Downs
    document.getElementById('ctl00_ContentPlaceHolder1_ddPropertyZoning').selectedIndex = 0;
    document.getElementById('ctl00_ContentPlaceHolder1_ddPropertyCounty').selectedIndex = 0;
}

function clearCompanySearchFields() {

    // Textfields
    document.getElementById('ctl00_ContentPlaceHolder1_txtCompanyNAICS').value = "";
    document.getElementById('ctl00_ContentPlaceHolder1_txtCompanyName').value = "";
    
    // Drop Downs
    document.getElementById('ctl00_ContentPlaceHolder1_ddCompanyIndustry').selectedIndex = 0;
    document.getElementById('ctl00_ContentPlaceHolder1_ddCompanyCounty').selectedIndex = 0;
    document.getElementById('ctl00_ContentPlaceHolder1_ddCompanyStaff').selectedIndex = 0;
    document.getElementById('ctl00_ContentPlaceHolder1_ddCompanyRevenue').selectedIndex = 0;
}



/*****************************/
/* Adv. Properties Control   */
/*****************************/

function clickAdvancedOptions() {
    document.getElementById('OpenAdvancedOptions').style.display='none';
    document.getElementById('AdvancedOptions').style.display='block';
    
    document.getElementById('ctl00_ContentPlaceHolder1_ppSearchType').value = "Advanced";
}
function clickBasicOptions() {
    document.getElementById('OpenAdvancedOptions').style.display='block';
    document.getElementById('AdvancedOptions').style.display='none';
    
    document.getElementById('ctl00_ContentPlaceHolder1_ppSearchType').value = "Basic";
}



/*****************************/
/* Search Data Control       */
/*****************************/

function clickSearch() {
    var MinSize = document.getElementById('ctl00_ContentPlaceHolder1_txtPropertyMinSize').value;
    var MaxSize = document.getElementById('ctl00_ContentPlaceHolder1_txtPropertyMaxSize').value;

    var MinPrice = document.getElementById('ctl00_ContentPlaceHolder1_txtPropertyMinPrice').value;
    var MaxPrice = document.getElementById('ctl00_ContentPlaceHolder1_txtPropertyMaxPrice').value;
        
    if (MinSize.length > 0 && MaxSize.length > 0 && parseFloat(MinSize) > parseFloat(MaxSize)) {
        alert("You have entered a minimum size that is higher than the maximum size.");
    } else if (MinPrice.length > 0 && MaxPrice.length > 0 && parseFloat(MinPrice) > parseFloat(MaxPrice)) {
        alert("You have entered a minimum price that is higher than the maximum price.");
    } else {
        document.getElementById('ctl00_ContentPlaceHolder1_ppPropertiesSearchButton').click();
    }
}



/*****************************/
/* Report Generator Control  */
/*****************************/

function clickReportGenerator() {
    document.getElementById('ReportGenerator').style.display='block';
    
    document.getElementById('ctl00_ContentPlaceHolder1_ppReportAddress').value = '';
    document.getElementById('ctl00_ContentPlaceHolder1_ppReportCity').value = '';
    document.getElementById('ctl00_ContentPlaceHolder1_ppReportState').value = '';
    document.getElementById('ctl00_ContentPlaceHolder1_ppReportZip').value = '';
    
    document.getElementById('ctl00_ContentPlaceHolder1_ppLatitude').value = '';
    document.getElementById('ctl00_ContentPlaceHolder1_ppLongitude').value = '';
    
    clearReportGeneratorValues();
}
function clickReportGeneratorClose() {
    document.getElementById('ReportGenerator').style.display='none';
}

function clickReportGeneratorContext(address, city, state, zip, lat, lon) {
    clickReportGenerator();
    document.getElementById('ctl00_ContentPlaceHolder1_ppReportAddress').value = address;
    document.getElementById('ctl00_ContentPlaceHolder1_ppReportCity').value = city;
    document.getElementById('ctl00_ContentPlaceHolder1_ppReportState').value = state;
    document.getElementById('ctl00_ContentPlaceHolder1_ppReportZip').value = zip;
    document.getElementById('ctl00_ContentPlaceHolder1_ppLatitude').value = lat;
    document.getElementById('ctl00_ContentPlaceHolder1_ppLongitude').value = lon;
    clickReportToStep2();
}
function clickReportGeneratorRepost() {
    clickReportGenerator();
    clickReportToStep2();
}

function clearReportGeneratorValues() {
    
//    document.getElementById('ctl00_ContentPlaceHolder1_ppReportCounty').click();
//    document.getElementById('ctl00_ContentPlaceHolder1_ppReportDemographic2').click();
    
    document.getElementById('ctl00_ContentPlaceHolder1_ppReportTitle').value = '';
    document.getElementById('ctl00_ContentPlaceHolder1_ppReportType')[0].selected;
}

function clickReportGeneratorDownload() {
    document.getElementById('ReportGenerator').style.display='block';

    switch(document.getElementById('ctl00_ContentPlaceHolder1_ppReportArea').value) {
        case "LatLon":
            setLatLonReportDownload();
            break;
        
        default:
            setAddressReport();
            break;
            
    }
    clearReportGeneratorValues();
    clickReportToDownload();
}

function clickReportToStep1() {
    document.getElementById('Step1').style.display='block';
    document.getElementById('Step2').style.display='none';
    document.getElementById('Step3').style.display='none';
    document.getElementById('Step4').style.display='none';
    document.getElementById('Download').style.display='none';
}

function clickReportToStep2() {
    document.getElementById('Step1').style.display='none';
    document.getElementById('Step2').style.display='block';
    document.getElementById('Step3').style.display='none';
    document.getElementById('Step4').style.display='none';
    document.getElementById('Download').style.display='none';
}
function clickReportCountyRadio() {
    document.getElementById('ctl00_ContentPlaceHolder1_ppGeographyRadius').disabled = true;
    document.getElementById('ctl00_ContentPlaceHolder1_ppGeographyDriveTime').disabled = true;
    document.getElementById('ctl00_ContentPlaceHolder1_ppReportUnits').disabled = true;
}
function clickReportDriveTimeRadio() {
    document.getElementById('ctl00_ContentPlaceHolder1_ppGeographyRadius').disabled = false;
    document.getElementById('ctl00_ContentPlaceHolder1_ppGeographyDriveTime').disabled = false;
    document.getElementById('ctl00_ContentPlaceHolder1_ppReportUnits').disabled = false;
    
    if(!document.getElementById('ctl00_ContentPlaceHolder1_ppGeographyRadius').checked &&
       !document.getElementById('ctl00_ContentPlaceHolder1_ppGeographyDriveTime').checked) {
        document.getElementById('ctl00_ContentPlaceHolder1_ppGeographyRadius').checked = true;
    }
}

function clickReportToStep3() {
    document.getElementById('Step1').style.display='none';
    document.getElementById('Step2').style.display='none';
    document.getElementById('Step3').style.display='block';
    document.getElementById('Step4').style.display='none';
    document.getElementById('Download').style.display='none';
}
function clickReportDemographicRadio() {
    document.getElementById('ctl00_ContentPlaceHolder1_ppDemographicExecutive').disabled = false;
    document.getElementById('ctl00_ContentPlaceHolder1_ppDemographicHousehold').disabled = false;
    document.getElementById('ctl00_ContentPlaceHolder1_ppDemographicTrend').disabled = false;
    
    document.getElementById('ctl00_ContentPlaceHolder1_ppBusinessEmployment').disabled = true;
    document.getElementById('ctl00_ContentPlaceHolder1_ppBusinessNAIC').disabled = true;
    document.getElementById('ctl00_ContentPlaceHolder1_ppBusinessNAICList').disabled = true;
    
    if(!document.getElementById('ctl00_ContentPlaceHolder1_ppDemographicExecutive').checked &&
       !document.getElementById('ctl00_ContentPlaceHolder1_ppDemographicHousehold').checked &&
       !document.getElementById('ctl00_ContentPlaceHolder1_ppDemographicTrend').checked) {
        document.getElementById('ctl00_ContentPlaceHolder1_ppDemographicExecutive').checked = true;
    }
}
function clickReportBusinessRadio() {
    document.getElementById('ctl00_ContentPlaceHolder1_ppDemographicExecutive').disabled = true;
    document.getElementById('ctl00_ContentPlaceHolder1_ppDemographicHousehold').disabled = true;
    document.getElementById('ctl00_ContentPlaceHolder1_ppDemographicTrend').disabled = true;
    
    document.getElementById('ctl00_ContentPlaceHolder1_ppBusinessEmployment').disabled = false;
    document.getElementById('ctl00_ContentPlaceHolder1_ppBusinessNAIC').disabled = false;
    document.getElementById('ctl00_ContentPlaceHolder1_ppBusinessNAICList').disabled = false;
    
    if(!document.getElementById('ctl00_ContentPlaceHolder1_ppBusinessList').checked &&
       !document.getElementById('ctl00_ContentPlaceHolder1_ppBusinessNAIC').checked) {
        document.getElementById('ctl00_ContentPlaceHolder1_ppBusinessList').checked = true;
    }
}

function clickReportToStep4() {
    document.getElementById('Step1').style.display='none';
    document.getElementById('Step2').style.display='none';
    document.getElementById('Step3').style.display='none';
    document.getElementById('Step4').style.display='block';
    document.getElementById('Download').style.display='none';
}

function clickReportToDownload() {
    document.getElementById('Step1').style.display='none';
    document.getElementById('Step2').style.display='none';
    document.getElementById('Step3').style.display='none';
    document.getElementById('Step4').style.display='none';
    document.getElementById('Download').style.display='block';
}

function clickReportCancel() {
    clickReportToStep1();
    clickReportGeneratorClose();
}
function setAddressReport() {
    document.getElementById('ctl00_ContentPlaceHolder1_ppReportArea').value = 'Address';

    document.getElementById('ReportGenerator').style.display='block';

    document.getElementById('ReportGeneratorAddress').style.display = 'block';
    document.getElementById('ReportGeneratorLatLon').style.display = 'none';
    document.getElementById('Step1Address').style.display = 'block';
    document.getElementById('Step1LatLon').style.display = 'none';
}
function setLatLonReport(lat, lon, locname) {
    document.getElementById('ctl00_ContentPlaceHolder1_ppReportArea').value = 'LatLon';

    document.getElementById('ReportGenerator').style.display='block';
    
    document.getElementById('ReportGeneratorAddress').style.display = 'none';
    document.getElementById('ReportGeneratorLatLon').style.display = 'block';
    document.getElementById('Step1Address').style.display = 'none';
    document.getElementById('Step1LatLon').style.display = 'block';
    
    if(lat != null) document.getElementById('ctl00_ContentPlaceHolder1_ppLatitude').value = lat;
    if(lon != null) document.getElementById('ctl00_ContentPlaceHolder1_ppLongitude').value = lon;
    if(locname != null && locname.length > 0) {
        document.getElementById('ctl00_ContentPlaceHolder1_ppLocname').value = locname;
    } else {
        document.getElementById('ctl00_ContentPlaceHolder1_ppLocname').value = 'Property or Business Name';
    }
        
    clickReportToStep2();
}
function setLatLonReportDownload() {
    document.getElementById('ReportGenerator').style.display='block';
    
    document.getElementById('ReportGeneratorAddress').style.display = 'none';
    document.getElementById('ReportGeneratorLatLon').style.display = 'block';
    document.getElementById('Step1Address').style.display = 'none';
    document.getElementById('Step1LatLon').style.display = 'block';
    
    clickReportToStep2()
}



/*****************************/
/* About this Tool Control   */
/*****************************/

function clickToolOpen() {
    document.getElementById('ToolTip').style.display='block';
}

function clickToolCancel() {
    document.getElementById('ToolTip').style.display='none';
}



/*****************************/
/* Incrementor Box Control   */
/*****************************/

function clickIncrementUp() {
    var ReportUnits = document.getElementById('ctl00_ContentPlaceHolder1_ppReportUnits');
    var UnitValue = parseFloat(ReportUnits.value);
    var StartValue = 10;
    var Iteration = 5;
    var End = 60;
    
    if(isNaN(UnitValue)) {
        ReportUnits.value = StartValue;
        UnitValue = StartValue;
    }
    
    if(UnitValue + Iteration <= End) {
        ReportUnits.value = parseFloat(UnitValue) + Iteration;
    } else if(UnitValue != End) {
        ReportUnits.value = End;
    }
}
function clickIncrementDown() {
    var ReportUnits = document.getElementById('ctl00_ContentPlaceHolder1_ppReportUnits');
    var UnitValue = parseFloat(ReportUnits.value);
    var StartValue = 10;
    var Iteration = 5;
    var Start = 0;
    
    if(isNaN(UnitValue)) {
        ReportUnits.value = StartValue;
        UnitValue = StartValue;
    }
    
    if(UnitValue - Iteration >= Start) {
        ReportUnits.value = parseFloat(UnitValue) - Iteration;
    } else if(UnitValue != Start) {
        ReportUnits.value = Start;
    }
}



/*****************************/
/* Search Page Control       */
/*****************************/

function pageGoTo(page) {
    document.getElementById("ctl00_ContentPlaceHolder1_ppGoTo").value = page;
    document.getElementById("ctl00_ContentPlaceHolder1_ppPageGoTo").click();
}




/*****************************/
/* Comparison Control        */
/*****************************/

function addCompare(box, id) {
    if(box.checked) {
    
        if(document.getElementById("ctl00_ContentPlaceHolder1_ppCompare1").value == id) {
            return true;
        } else if(document.getElementById("ctl00_ContentPlaceHolder1_ppCompare2").value == id) {
            return true;
        } else if(document.getElementById("ctl00_ContentPlaceHolder1_ppCompare3").value == id) {
            return true;
        }
    
        if(document.getElementById("ctl00_ContentPlaceHolder1_ppCompare1").value == "") {
            document.getElementById("ctl00_ContentPlaceHolder1_ppCompare1").value = id;
        } else if(document.getElementById("ctl00_ContentPlaceHolder1_ppCompare2").value == "") {
            document.getElementById("ctl00_ContentPlaceHolder1_ppCompare2").value = id;
        } else if(document.getElementById("ctl00_ContentPlaceHolder1_ppCompare3").value == "") {
            document.getElementById("ctl00_ContentPlaceHolder1_ppCompare3").value = id;
        } else {
            box.checked = false;
            return false;
        }
        
    } else {
    
        if(document.getElementById("ctl00_ContentPlaceHolder1_ppCompare1").value == id) {
            document.getElementById("ctl00_ContentPlaceHolder1_ppCompare1").value = "";
        } else if(document.getElementById("ctl00_ContentPlaceHolder1_ppCompare2").value == id) {
            document.getElementById("ctl00_ContentPlaceHolder1_ppCompare2").value = "";
        } else if(document.getElementById("ctl00_ContentPlaceHolder1_ppCompare3").value == id) {
            document.getElementById("ctl00_ContentPlaceHolder1_ppCompare3").value = "";
        }
    }
    
    return true;
}




/*****************************/
/* Image Gallery Control     */
/*****************************/

var viewingImage = 0;
var listImages = new Array();
function previousImage() {
    viewingImage--;
    if(viewingImage < 0) {
        viewingImage = listImages.length - 1;
    }
    if(viewingImage < 0) {
        viewingImage = 0;
    }
    
    gotoImage();
}
function nextImage() {
    viewingImage++;
    if(viewingImage > listImages.length - 1) {
        viewingImage = 0;
    }
    
    gotoImage();
}
function gotoImage() {
    document.getElementById('ctl00_ContentPlaceHolder1_ppDetailsLargeImage').src = listImages[viewingImage]['Path'];
    document.getElementById('Caption').innerText = listImages[viewingImage]['Caption'];
}
function openLarge() {
    window.open(listImages[viewingImage]['Larger'], "Large");
}



/* ------------------------- */
/*  XML Loading              */
/* ------------------------- */
// global flag
var isIE = false;
// global request and XML document objects
var req;
var xmlhttp;

function loadInSiteXML(url) {
    xmlhttp=null;
	// code for Mozilla, etc.
	if (window.XMLHttpRequest) {
		xmlhttp=new XMLHttpRequest();
	}
	// code for IE
	else if (window.ActiveXObject){
		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	if (xmlhttp!=null) {
		xmlhttp.onreadystatechange = processInSiteXML;
		xmlhttp.open("GET", url, true);
		xmlhttp.send(null);
	} else {
		alert("Your browser does not support XMLHTTP.");
	}
}

// handle onreadystatechange event of req object
function processInSiteXML() {
    // only if req shows "loaded"
    if (xmlhttp.readyState == 4) {
        // only if "OK"
        if (xmlhttp.status == 200) {
            parseInSiteXML();
         } else {
            alert("There was a problem retrieving the XML data:\n" + xmlhttp.statusText);
         }
    }
}



/*****************************/
/* My Files Control          */
/*****************************/

function parseInSiteXML() {
    var action = xmlhttp.responseXML.getElementsByTagName("action")[0].firstChild.data;
    var result = xmlhttp.responseXML.getElementsByTagName("result")[0].firstChild.data;
    
    switch(action) {
    
        case "addproperty":
            if(result == "Success") {
                alert("Property added to My Files");
                document.getElementById("fileProperties").innerHTML = document.getElementById("fileProperties").innerHTML*1 + 1;
            } else {
                alert(result);
            }
            break;
    
        case "removeproperty":
            if(result == "Success") {
                alert("Property removed from My Files");
                document.getElementById("fileProperties").innerHTML = document.getElementById("fileProperties").innerHTML*1 - 1;
            } else {
                alert(result);
            }
            break;
    
        case "addcompany":
            if(result == "Success") {
                alert("Company added to My Files");
                document.getElementById("fileCompanies").innerHTML = document.getElementById("fileCompanies").innerHTML*1 + 1;
            } else {
                alert(result);
            }
            break;
    
        case "removecompany":
            if(result == "Success") {
                alert("Company removed from My Files");
                document.getElementById("fileCompanies").innerHTML = document.getElementById("fileCompanies").innerHTML*1 - 1;
            } else {
                alert(result);
            }
            break;
    
        case "addreport":
            if(result == "Success") {
                document.getElementById("fileReports").innerHTML = document.getElementById("fileReports").innerHTML*1 + 1;
                document.getElementById("ppFileItMessage").innerHTML = "Your report has been added to your My Files.";
            } else {
                alert(result);
                document.getElementById("ppFileItMessage").innerHTML = "Your report has not been added to your My Files.";
            }
            break;
    
        case "removereport":
            if(result == "Success") {
                alert("Report removed from My Files");
                document.getElementById("fileReports").innerHTML = document.getElementById("fileReports").innerHTML*1 - 1;
            } else {
                alert(result);
            }
            break;
    }
}

var imgFileItEven = "/ProspectPortal/images/FileIt_Even.png";
var imgFileItOdd = "/ProspectPortal/images/FileIt_Odd.png";
var imgRemoveEven = "/ProspectPortal/images/Remove_Even.png";
var imgRemoveOdd = "/ProspectPortal/images/Remove_Odd.png";
function toggleFileIt(img, area, id) {
    if(img != null) {
        if(img.src.indexOf(imgFileItEven) > -1 || img.src.indexOf('AddToCart') > -1) {
            img.src = imgRemoveEven;
        } else if(img.src.indexOf(imgFileItOdd) > -1) {
            img.src = imgRemoveOdd;
        } else if(img.src.indexOf(imgRemoveEven) > -1) {
            img.src = imgFileItEven;
        } else {
            img.src = imgFileItOdd;
        }
    }
}
function clickFileIt(href, area, id) {
    var img = null;
    if(href != null) {
        img = href.getElementsByTagName('img')[0];
    }
    
    if(img == null || img.src.indexOf(imgFileItEven) > -1 || img.src.indexOf(imgFileItOdd) > -1 || img.src.indexOf('AddToCart') > -1) {
        loadInSiteXML('ajax.aspx?add' + area + '=' + id);
    } else {
        loadInSiteXML('ajax.aspx?remove' + area + '=' + id);
    }
    
    toggleFileIt(img, area, id);
}



/* ------------------------- */
/*  Google Street View       */
/* ------------------------- */

var panSV;
var panClient;

function showStreetView(lat, lon) {
    
    panClient = new GStreetviewClient();
    panClient.getNearestPanoramaLatLng(new GLatLng(lat, lon), processPanData);
    
}

function hideStreetView() {
    document.getElementById("StreetView").style.display = 'none';
}

function processPanData(latlon) {

    if(latlon == null) {
        alert('Street View not available at this location.');
        return 
    }
    
    var StreetViewer = document.getElementById("streetviewer");
    document.getElementById("StreetView").style.display = 'block';
    
    panoramaOptions = { latlng:latlon };
    panSV = new GStreetviewPanorama(StreetViewer, panoramaOptions);
    GEvent.addListener(panSV, "error", handleMapError);

}

function handleMapError(errorCode) {
    if(errorCode == 603) {
        document.getElementById("StreetView").style.display = 'none';
        alert("Error: Flash doesn't appear to be supported by your browser");
    }
}



/**************************************/
/* Transportation Calculator Control  */
/**************************************/

function clickTransportationCalculator() {
    $('#TransportationCalculator').show();
    
    try { $('#ctl00_ContentPlaceHolder1_ddlSelectionState').first().options[0].selected; } catch(e) { }
    try { $('#ctl00_ContentPlaceHolder1_ddlSelectionCity').first().options[0].selected; } catch(e) { }
    
    clickReportToStep1();
}
function clickTransportationCalculatorCancel() {
    $('#TransportationCalculator').hide();
}

function clickTransportationCalculatorToStep1() {
    $('#TCStep1').show();
    $('#TCStep2').hide();
    $('#TCStep3').hide();
    $('#TCStep4').hide();
}

function clickTransportationCalculatorToStep2() {
    $('#TCStep1').hide();
    $('#TCStep2').show();
    $('#TCStep3').hide();
    $('#TCStep4').hide();
}

function clickTransportationCalculatorToStep3() {
    $('#TCStep1').hide();
    $('#TCStep2').hide();
    $('#TCStep3').show();
    $('#TCStep4').hide();
}

function clickTransportationCalculatorToStep4() {
    $('#TCStep1').hide();
    $('#TCStep2').hide();
    $('#TCStep3').hide();
    $('#TCStep4').show();
}
function clickTransportationCalculated() {
    $('#TransportationCalculator').show();
    clickTransportationCalculatorToStep4();
}

var states_CitiesArray = new Array();

function checkCity(srcDD, dstDDID, hdnID) 
{
    dstDD = $('#ctl00_ContentPlaceHolder1_' + dstDDID)[0];
    var stateAbv = srcDD.options[srcDD.selectedIndex].value;
    dstDD.options.length = 0;
    
    if(stateAbv.length > 0) {
    
        if(states_CitiesArray[stateAbv] != null) {
            setCityDropdown(states_CitiesArray[stateAbv], dstDD);
        } else {
		    //alert("Need Data - Ajax Call");
		    states_CitiesArray[stateAbv] = null;
		    var citiesArray = new Array();
		    var citiesArray2 = new Array();
    		
		    $.ajax({
		        type: "POST",
		        url: "/ajax.aspx?GetCities=1&State=" + stateAbv,
		        dataType: "xml",
		        success: function(xmlResp)
		        {   
    	            var i = 0;			
			        $(xmlResp).find("city").each(function()
	                {
                       citiesArray2[i] = new Array(2);
                       citiesArray2[i][0] = $(this).find("cityname").first().text();
                       citiesArray2[i][1] = $(this).find("alteryxid").first().text();
		               i++;
		            });
		   	        states_CitiesArray[stateAbv] = citiesArray2;
		   	        setCityDropdown(citiesArray2, dstDD);
                    updateCity(dstDD, srcDD.id.replace('ctl00_ContentPlaceHolder1_',''), hdnID);
		        }
	        });
        }
    
    }
}
function setCityDropdown(citiesArray, cityddl)
{   
    for (i=0; i < citiesArray.length;i++)
    {
        opt = document.createElement("option");
        opt.text = citiesArray[i][0];
        opt.value = citiesArray[i][1];
        cityddl.options.add(opt);
    } 
}
function updateCity(cityDD, stateDDID, hdnID) {
    stateDD = $('#ctl00_ContentPlaceHolder1_' + stateDDID)[0];
    hdn = $('#ctl00_ContentPlaceHolder1_' + hdnID)[0];
    selectedIndex = (cityDD.selectedIndex > 0) ? cityDD.selectedIndex : 0;
    hdn.value = cityDD.options[selectedIndex].text + ', ' + stateDD.value;
}



function loadStateDropdowns(srcDDID, filterStates)
{
    srcDD = $('#ctl00_ContentPlaceHolder1_' + srcDDID)[0];
    
    if(srcDD.options.length == 0) {
        
        var states = [
        ['', ''],
        ['ALABAMA', 'AL'],
        ['ALASKA', 'AK'],
        ['ARIZONA',  'AZ'],
        ['ARKANSAS', 'AR'],
        ['CALIFORNIA',  'CA'],
        ['COLORADO',  'CO'],
        ['CONNECTICUT', 'CT'],
        ['DELAWARE', 'DE'],
        ['DISTRICT OF COLUMBIA', 'DC'],
        ['FLORIDA', 'FL'],
        ['GEORGIA', 'GA'],
        ['HAWAII', 'HI'],
        ['IDAHO', 'ID'],
        ['ILLINOIS', 'IL'],
        ['INDIANA', 'IN'],
        ['IOWA', 'IA'],
        ['KANSAS', 'KS'],
        ['KENTUCKY', 'KY'],
        ['LOUISIANA', 'LA'],
        ['MAINE', 'ME'],
        ['MARYLAND', 'MD'],
        ['MASSACHUSETTS', 'MA'],
        ['MICHIGAN', 'MI'],
        ['MINNESOTA', 'MN'],
        ['MISSISSIPPI', 'MS'],
        ['MISSOURI', 'MO'],
        ['MONTANA', 'MT'],
        ['NEBRASKA', 'NE'],
        ['NEVADA', 'NV'],
        ['NEW HAMPSHIRE', 'NH'],
        ['NEW JERSEY', 'NJ'],
        ['NEW MEXICO', 'NM'],
        ['NEW YORK', 'NY'],
        ['NORTH CAROLINA', 'NC'],
        ['NORTH DAKOTA', 'ND'],
        ['OHIO', 'OH'],
        ['OKLAHOMA', 'OK'],
        ['OREGON', 'OR'],
        ['PENNSYLVANIA', 'PA'],
        ['PUERTO RICO', 'PR'],
        ['RHODE ISLAND', 'RI'],
        ['SOUTH CAROLINA', 'SC'],
        ['SOUTH DAKOTA', 'SD'],
        ['TENNESSEE', 'TN'],
        ['TEXAS', 'TX'],
        ['UTAH', 'UT'],
        ['VERMONT', 'VT'],
        ['VIRGIN ISLANDS', 'VI'],
        ['VIRGINIA',  'VA'],
        ['WASHINGTON', 'WA'],
        ['WEST VIRGINIA', 'WV'],
        ['WISCONSIN', 'WI'],
        ['WYOMING', 'WY']
        ];
        
        filters = new Array();
        if(filterStates != null && filterStates.length > 0) {
            filters = filterStates.split(',');
        }
        
        for (i=0; i < states.length;i++)
        {
            add = true;
            
            if(filters.length > 0 && $.inArray(states[i][1], filters) == -1 && states[i][1].length > 0) {
                add = false;
            }
            
            if(add) {
                opt = document.createElement("option");
                opt.text = states[i][0];
                opt.value = states[i][1];
                
                srcDD.options.add(opt);
            }
        } 
    }
}






function addCommas(nStr)
{
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}
