﻿

function ShowMembersDirectory()
{
    ShowExternalContentInModal('/fragments/content/MemberDirectory.htm');
}

function GetMemberNamesHtml(pBrokers)
{
    var myHtml = "";
    for (var i = 0; i < pBrokers.length; i++) {
        var myBrokerHtml = "<li class='broker' style='padding: 0 0 5px 0; cursor:pointer;' onclick='SetupMemberInfo(" + i + ");return false;'>@NAME</li>";
        myBrokerHtml = myBrokerHtml.replace(/@NAME/, pBrokers[i].Name);
        myHtml += myBrokerHtml;
    }
    return myHtml;
}

function SetupMemberInfo(pIndex)
{
    $("#brokerInfo").html(GetMemberInfoHtml(pIndex));
}

function GetMemberInfoHtml(pBroker)
{
    var myBroker = pBroker;
    var myBrokerHtml = "    <div>";
    myBrokerHtml += "           <div style='width:290px; height:120px; float:left; padding: 0 10px 0 10px; background-color:#fff; margin: 0 10px 0 0;'>";
    myBrokerHtml += "               <h3>@COMPANY</h3>";
    myBrokerHtml += "               <ul>";
    myBrokerHtml += "                   <li>@ADDRESS, @CITY,@STATE @ZIP</li>";
    myBrokerHtml += "                   <li><strong>Main contact</strong>: @NAME</li>";
    myBrokerHtml += "                   <li><strong>Phone</strong>: @PHONE</li>";
    myBrokerHtml += "                   <li><strong>Email</strong>: <a href='mailto:@EMAIL'>@EMAIL</a></li>";
    myBrokerHtml += "                   <li><strong>Web site</strong>: <a target='_blank' href='http://@WEBPAGE'>@WEBPAGE</a></li>";
    myBrokerHtml += "                   <li>Listings for this company: <a href='javascript:DisplayBrokerPropertyListingWhenLoaded(@BROKERID,\"B\");'>Buildings</a>&nbsp;|&nbsp;<a href='javascript:DisplayBrokerPropertyListingWhenLoaded(@BROKERID,\"S\");'>Sites</a></li>";
    myBrokerHtml += "               </ul>"
    myBrokerHtml += "           </div>";
    myBrokerHtml += "           <div style='float:left;'>";
    myBrokerHtml += "               <div style='float:none; width:150px; height:120px; background-color:#fff;'>";
    myBrokerHtml += "                   @LOGO";
    myBrokerHtml += "               </div>";
    myBrokerHtml += "           </div>";
    myBrokerHtml += "       </div>";
    myBrokerHtml = myBrokerHtml.replace(/@NAME/, myBroker.Name)
                .replace(/@COMPANY/, myBroker.Company)
                .replace(/@ADDRESS/, myBroker.Address)
                .replace(/@CITY/, myBroker.CityName)
                .replace(/@STATE/, myBroker.StateName)
                .replace(/@ZIP/, myBroker.Zipcode)
                .replace(/@PHONE/, myBroker.Phone == null ? "" : myBroker.Phone)
                .replace(/@EMAIL/g, myBroker.Email == null ? "" : myBroker.Email)
                .replace(/@WEBPAGE/g, myBroker.Webpage == null ? "" : myBroker.Webpage == "www." ? "" : myBroker.Webpage)
                .replace(/@BROKERID/g, myBroker.BrokerID)
                .replace(/@LOGO/, myBroker.LogoPath == null ? "<img src='/common/images/NoCompanyLogo.png'/>" : "<img width='150px' height='100px' src='" + myBroker.LogoPath + "'/>");

    return myBrokerHtml;
}
function LoadSuperBrokers()
{
    $("#superBrokersLoading").show();
    $("#superBrokerList").click(function (e)
    {
        var myTarget = $(e.target);
        var myBrokerData = myTarget.data('brokerData');
        var myBrokerInfoHtml = GetMemberInfoHtml(myBrokerData);
        $("#brokerInfo").html(myBrokerInfoHtml);
    });
    $.ajax({
        url: "/common/services/Members.asmx/GetSuperBrokers",
        type: "POST",
        data: "{'pToken':'" + _GISP_Theme + "'}",
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        success: function (msg)
        {
            $("#superBrokersLoading").hide();
            for (var i = 0; i < msg.d.length; i++) {
                var mySuperBroker = msg.d[i];
                var myHtml = $("<li class='superBroker'>" + mySuperBroker.Company + "</li>");
                //The following line stores broker information in the dom object using jQuery
                //Can be retrived later on
                myHtml.data('brokerData', mySuperBroker);
                $("#superBrokerList").append(myHtml);
            }
        },
        error: function (XMLHttpRequest, textStatus, errorThrown)
        {
            $("#superBrokersLoading").hide();
            $("#superBrokerList").html("There was an error loading the super broker list.");
        }
    });
}

function LoadCompanies()
{
    $("#companyList").html("");
    $("#companyList").click(function (e)
    {
        var myTarget = $(e.target);
        if (myTarget[0].nodeName.toLowerCase() == 'li') {
            LoadBrokersByCompanyName(myTarget.html());
        }
    });
    $("#companiesLoading").show();

    $.ajax({
        url: "/common/services/Members.asmx/GetCompanyNames",
        type: "POST",
        data: "{}",
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        success: function (msg)
        {
            $("#companiesLoading").hide();
            for (var i = 0; i < msg.d.length; i++) {
                var companyName = msg.d[i];
                var myHtml = "<li class='company'>" + companyName + "</li>";
                $("#companyList").append(myHtml);
            }
        },
        error: function (XMLHttpRequest, textStatus, errorThrown)
        {
            $("#companiesLoading").hide();
            $("#companyList").html("There was an error loading the company list.");
        }
    });

};

function LoadBrokersByCompanyName(pCompanyName)
{
    $("#brokersList li").remove();
    $("#brokerInfo").html("");
    $("#brokersList").click(function (e)
    {
        var myTarget = $(e.target);
        if (myTarget[0].nodeName.toLowerCase() == 'li') {
            var myBrokerData = myTarget.data("brokerData");
            var myBrokerHtml = GetMemberInfoHtml(myBrokerData);
            $("#brokerInfo").html(myBrokerHtml);
        }
    });
    $("#companyName").html(pCompanyName);
    $("#brokersLoading").show();
    $.ajax({
        url: "/common/services/Members.asmx/GetBrokersByCompanyName",
        type: "POST",
        data: "{'pCompanyName':'" + pCompanyName + "'}",
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        success: function (msg)
        {
            $("#brokersLoading").hide();
            $("#brokersList li").remove();
            for (var i = 0; i < msg.d.length; i++) {
                var myBroker = msg.d[i];
                var myHtml = "<li class='broker'>" + myBroker.Name + "</li>";
                $("#brokersList").append(myHtml);
                $("li:last", "#brokersList").data("brokerData", myBroker);
            }
            //If there's only one broker for this company, click it.
            if (msg.d.length == 1) {
                $("li:last", "#brokersList").click();
            }
        },
        error: function (XMLHttpRequest, textStatus, errorThrown)
        {
            $("#brokersLoading").hide();
            $("#brokersList").html("There was an error loading the brokers for " + pCompanyName);
        }
    });

};


