function btnSubmitReviewClicked(a, b, c, d) {
    var e = location.protocol + "//" + location.host;
    var f = document.createElement("form");
    f.setAttribute("method", "post");
    f.setAttribute("action", a);
    f.setAttribute("id", "CRST");
    f.setAttribute("target", "_blank");
    var g = document.createElement("input");
    g.setAttribute("type", "hidden");
    g.setAttribute("name", "sn");
    g.setAttribute("value", b);
    f.appendChild(g);
    var h = document.createElement("input");
    h.setAttribute("type", "hidden");
    h.setAttribute("name", "rreg");
    h.setAttribute("value", c);
    f.appendChild(h);
    var i = document.createElement("input");
    i.setAttribute("type", "hidden");
    if (!isOrgType) i.setAttribute("name", "sisln");
    else i.setAttribute("name", "soid");
    i.setAttribute("value", d);
    f.appendChild(i);
    document.body.appendChild(f);
    f.submit();
    return false
}
function injectHTML(a) {
    if ($("#ctr").length != 0) {
        $("#ctr").removeData()
    } else $("body").append(str);
    $("#ldlcont").removeClass("error").addClass("text");
    $("#imgLogo").attr("src", img);
    $("#imgLogo").attr("title", alt);
    $("#imgLogo").unbind("click"); // Enhancements - added on 10/24/2011
    $("#imgLogo").bind("click", function (d) {
    	if (alt == "Lawyers.com") window.open('http://www.lawyers.com');
    	else window.open('http://www.martindale.com')
    }); // Enhancements - ends here
    $("#imgLaw").bind("error", function (a) {
        if (isOrgType) $("#" + imgLawId).attr("src", hosturl + "Images/firmprofile_no_photo.png");
        else $("#" + imgLawId).attr("src", hosturl + "/Images/sublawyer_results_nophoto.png");
        $("#imgLaw").unbind("error")
    })
}
function closeToolTip(a) {
    document.getElementById("ctr").style.display = "none";
    return false
}
function showToolTip(a, b, c, d, e, f) {
    // Check if client specific Provider Id or APi Key exists
    if( e != undefined )
        PID = e;
    if (f != undefined)
        KEY = f;            
    if (c.toLowerCase().indexOf("organization") != -1) isOrgType = true;
    else isOrgType = false;
    img = d == 1 || d == undefined ? hosturl + "Images/lawyer_logo.png" : hosturl + "Images/martindale_logo.png";
    alt = d == 1 || d == undefined ? "Lawyers.com" : "Martindale.com";
    injectHTML(b);
    var e;
    var f = document.getElementById("ctr");
    var g = document.getElementById("b_tip");
    var h = 193;
    var i;
    newWidth = newHeight = 0;
    e = document.getElementById(f.id);
    f.style.top = $(a).position().top - h / 2 + "px";
    f.style.left = $(a).position().left + a.offsetWidth + 20 + "px";
    prfCode = d;
    GetPopupdata(b, c)
}
function ResizedSize(a, b) {
    var c = 0;
    var d = 0;
    var e = 0;
    d = parseFloat(maxWidth) / parseFloat(a);
    e = parseFloat(maxHeight) / parseFloat(b);
    if (e < 1 || d < 1) {
        if (e < d) c = e;
        else c = d
    } else {
        c = 1
    }
    newWidth = parseInt(a * c);
    newHeight = parseInt(b * c)
}
function getRatingBarImageName(a) {
    var b = hosturl + "Images/";
    if (a == null) return b + "ratings_bar_small_0_0.png";
    var c = parseFloat(a);
    if (c == 0) b += "ratings_bar_small_0_0.png";
    else if (c > 0 && c <= parseFloat("0.3")) b += "ratings_bar_small_0_1.png";
    else if (c > .3 && c <= parseFloat("0.6")) b += "ratings_bar_small_0_2.png";
    else if (c > .6 && c <= parseFloat("0.9")) b += "ratings_bar_small_0_3.png";
    if (c == 1) b += "ratings_bar_small_1_0.png";
    else if (c > 1 && c <= parseFloat("1.3")) b += "ratings_bar_small_1_1.png";
    else if (c > 1.3 && c <= parseFloat("1.6")) b += "ratings_bar_small_1_2.png";
    else if (c > 1.6 && c <= parseFloat("1.9")) b += "ratings_bar_small_1_3.png";
    else if (c == 2) b += "ratings_bar_small_2_0.png";
    else if (c > 2 && c <= parseFloat("2.3")) b += "ratings_bar_small_2_1.png";
    else if (c > 2.3 && c <= parseFloat("2.6")) b += "ratings_bar_small_2_2.png";
    else if (c > 2.6 && c <= parseFloat("2.9")) b += "ratings_bar_small_2_3.png";
    else if (c == 3) b += "ratings_bar_small_3_0.png";
    else if (c > 3 && c <= parseFloat("3.3")) b += "ratings_bar_small_3_1.png";
    else if (c > 3.3 && c <= parseFloat("3.6")) b += "ratings_bar_small_3_2.png";
    else if (c > 3.6 && c <= parseFloat("3.9")) b += "ratings_bar_small_3_3.png";
    else if (c == 4) b += "ratings_bar_small_4_0.png";
    else if (c > 4 && c <= parseFloat("4.3")) b += "ratings_bar_small_4_1.png";
    else if (c > 4.3 && c <= parseFloat("4.6")) b += "ratings_bar_small_4_2.png";
    else if (c > 4.6 && c <= parseFloat("4.9")) b += "ratings_bar_small_4_3.png";
    else if (c == 5) b += "ratings_bar_small_5_0.png";
    return b
}
function getMDCRatingBarImageName(a) {
    var b = hosturl + "Images/";
    if (a == null) return b + "ratings_mdc_bar_small_0_0.png";
    var c = parseFloat(a);
    if (c == 0) b += "ratings_mdc_bar_small_0_0.png";
    else if (c > 0 && c <= parseFloat("0.3")) b += "ratings_mdc_bar_small_0_1.png";
    else if (c > .3 && c <= parseFloat("0.6")) b += "ratings_mdc_bar_small_0_2.png";
    else if (c > .6 && c <= parseFloat("0.9")) b += "ratings_mdc_bar_small_0_3.png";
    if (c == 1) b += "ratings_mdc_bar_small_1_0.png";
    else if (c > 1 && c <= parseFloat("1.3")) b += "ratings_mdc_bar_small_1_1.png";
    else if (c > 1.3 && c <= parseFloat("1.6")) b += "ratings_mdc_bar_small_1_2.png";
    else if (c > 1.6 && c <= parseFloat("1.9")) b += "ratings_mdc_bar_small_1_3.png";
    else if (c == 2) b += "ratings_mdc_bar_small_2_0.png";
    else if (c > 2 && c <= parseFloat("2.3")) b += "ratings_mdc_bar_small_2_1.png";
    else if (c > 2.3 && c <= parseFloat("2.6")) b += "ratings_mdc_bar_small_2_2.png";
    else if (c > 2.6 && c <= parseFloat("2.9")) b += "ratings_mdc_bar_small_2_3.png";
    else if (c == 3) b += "ratings_mdc_bar_small_3_0.png";
    else if (c > 3 && c <= parseFloat("3.3")) b += "ratings_mdc_bar_small_3_1.png";
    else if (c > 3.3 && c <= parseFloat("3.6")) b += "ratings_mdc_bar_small_3_2.png";
    else if (c > 3.6 && c <= parseFloat("3.9")) b += "ratings_mdc_bar_small_3_3.png";
    else if (c == 4) b += "ratings_mdc_bar_small_4_0.png";
    else if (c > 4 && c <= parseFloat("4.3")) b += "ratings_mdc_bar_small_4_1.png";
    else if (c > 4.3 && c <= parseFloat("4.6")) b += "ratings_mdc_bar_small_4_2.png";
    else if (c > 4.6 && c <= parseFloat("4.9")) b += "ratings_mdc_bar_small_4_3.png";
    else if (c == 5) b += "ratings_mdc_bar_small_5_0.png";
    return b
}
function getMDCRatingBarImageStyle(a) {
    var b = "";
    if (a == null) return b;
    
}
function readAddress(a) {
    var b = building = city = state = country = "";
    var c;
    c = $(a).find("Addresses Address:first City").text();
    if (c != "") city = c;
    c = $(a).find("Addresses Address:first StateAbbrev").text();
    if (c != "") state = c;
    else {
        c = $(a).find("Addresses Address:first State").text();
        if (c != "") state = c
    }
    c = $(a).find("Addresses Address:first Country").text();
    if (c != null) country = c.replace(/\./g, "");
    c = city + ", " + state + " " + country;
    $("#lSt").text(c)
}
function readRatings(a) {
    var b;
    var c, d;
    $("#aCRBar").removeAttr("href");
    $("#aPRBar").removeAttr("href");
    if (!isOrgType) b = $(a).find("Ratings ClientReview Rating").text();
    else b = $(a).find("Ratings ClientReview Average").text();
    if (b != "") {
        c = b;
        if (prfCode == 1) document.getElementById(imgCRId).src = getRatingBarImageName(c); // Enhancements - added on 10/27/2011
        else document.getElementById(imgCRId).src = getMDCRatingBarImageName(c);
        $(lCRId).text("Client Rating " + c + " / 5.0")
    } else {
    	if (prfCode == 1) document.getElementById(imgCRId).src = getRatingBarImageName(null);
    	else document.getElementById(imgCRId).src = getMDCRatingBarImageName(null);
        $(lCRId).text("Not Yet Client Rated")
    }
    if (prfCode == 2) b = $(a).find("Urls Url:contains('Professional'):contains('Client'):contains('Rating') Address").text();
    else b = $(a).find("Urls Url:contains('Consumer'):contains('Client'):contains('Rating') Address").text();
    if (b != "") $("#aCRBar").attr("href", b);
    if (!isOrgType) b = $(a).find("Ratings PeerReview Rating").text();
    else b = $(a).find("Ratings PeerReview Average").text();
    if (b != "") {
        d = b;
        if (prfCode == 1) document.getElementById(imgPRId).src = getRatingBarImageName(d); // Enhancements - added on 10/27/2011
        else document.getElementById(imgPRId).src = getMDCRatingBarImageName(d);
        $(lPRId).text("Peer Rating " + d + " / 5.0")
    } else {
    	if (prfCode == 1) document.getElementById(imgPRId).src = getRatingBarImageName(null);
    	else document.getElementById(imgPRId).src = getMDCRatingBarImageName(null);
        $(lPRId).text("Not Yet Peer Rated")
    }
    if (prfCode == 2) b = $(a).find("Urls Url:contains('Professional'):contains('Peer'):contains('Rating') Address").text();
    else b = $(a).find("Urls Url:contains('Consumer'):contains('Peer'):contains('Rating') Address").text();
    if (b != "") $("#aPRBar").attr("href", b)
}
function formatPhone(a) {
    var b = /^(?:\+?1[-. ]?)?(?:\(?([0-9]{3})\)?[-. ]?)?([0-9]{3})[-. ]?([0-9]{4})$/;
    if (b.test(a)) {
        var c = a.match(b);
        var d = "";
        if (c[1]) {
            d += "(" + c[1] + ") "
        }
        d += c[2] + "-" + c[3];
        return d
    } else {
        return a
    }
}
function readCTN(a) {
    var b = $(a).find("Phones Phone:contains('Telephone'):first Number").text();
    if (b != "") {
        $("#lCTN").show();
        $("#lCTN").text(formatPhone(b))
    } else $("#lCTN").hide()
}
function readProfileImage(a) {
    var b = $(a).find("Image Address").text();
    if (b == null || b == "") {
        if (isOrgType) document.getElementById(imgLawId).src = hosturl + "Images/firmprofile_no_photo.png";
        else document.getElementById(imgLawId).src = hosturl + "Images/sublawyer_results_nophoto.png"
    } else document.getElementById(imgLawId).src = b;
    b = $(a).find("Image DisplayText").text();
    if (b != null) document.getElementById(imgLawId).title = b;
    b = $(a).find("Image Width").text();
    if (b != null) width = parseFloat(b);
    if (isNaN(width)) width = maxWidth;
    b = $(a).find("Image Height").text();
    if (b != null) height = parseFloat(b);
    if (isNaN(height)) height = maxHeight;
    ResizedSize(width, height);
    document.getElementById(imgLawId).width = newWidth;
    document.getElementById(imgLawId).height = newHeight
}
function showError(a) {
    $("#ldlcont").removeClass("text").addClass("error");
    $("#ldlcont").text(a)
}
function handleRequestChange() {
    if (xmlhttp.readyState == 4) {
        if (xmlhttp.status == "404") {
            $("#b_emp").show();
            showError(xmlhttp.statusText);
            return
        }
        data = xmlhttp.responseXML;
        loadWidget(data);
    }
}
function loadWidget(data) {
    if ($(data).find("ERRORINHANDLER") != null && $(data).find("ERRORINHANDLER").text() != "") {
        if ($(data).find("DESC") != null && $(data).find("DESC").text() != "") {
            $("#b_emp").show();
            showError($(data).find("DESC").text())
        }
        return
    } else {
        $(".b_mid").height("auto");
        var a = data;
        var b = "";
        var c = "";
        readProfileImage(a);
        if (!isOrgType) {
            c = $(data).find("FirstMi:first").text();
            if (c != "") c += " ";
            c += $(data).find("LastName:first").text()
        } else c = $(data).find("Name:first").text();
        if (c != "") b = c;
        $(nameLblId).text(b);
        if (!isOrgType) {
            c = $(data).find("PositionDescription:first").text();
            if (c != "") {
                if ($(data).find("OrganizationLocationName:first").text() != "") c += " at " + $(data).find("OrganizationLocationName:first").text();
                $("#lType").show();
                $("#lType").text(c);
                $("#lType").append("<BR/>")
            }
        } else {
            $("#lType").hide()
        }
        var f = ""; // Enhancements - added on 11/03/2011
        if (!isOrgType) f = $(data).find("Isln").text();
        else f = $(data).find("OrgId").text();
        $("#aSubmitReview").unbind("click");
	$("#aSubmitReview").bind("click", function () {
	    return btnSubmitReviewClicked(crstActionUrl, crstSN, reg, f)
    	}); // Enhancements - ends here
        readAddress(a);
        readCTN(a);
        readRatings(a);
        var d = "";
        var e = "";
        if (prfCode == 2) {
            c = $(data).find("Urls Url:contains('Professional'):contains('Contact Form') Address").text();
            d = $(data).find("Urls Url:contains('Professional'):contains('Profile') Address").text()            
        } else {
            c = $(data).find("Urls Url:contains('Consumer'):contains('Contact Form') Address").text();
            d = $(data).find("Urls Url:contains('Consumer'):contains('Profile') Address").text()
        }
        e = $(data).find("Website").text(); // Enhancements - added on 10/28/2011
        if (c != "") {
            document.getElementById(aprofileId).href = c;
            $("#aContUrl").show()
        } else {
            $("#aContUrl").hide()
        }
        if (c != "" && e != "") $("#lSep").show() // Enhancements - added on 10/28/2011
        else $("#lSep").hide()
        if (e != "") {
            document.getElementById(aWebsiteId).href = e;
            $("#aWebsite").show();
//            $("#aWebsite").unbind("click");
//	    $("#aWebsite").bind("click", function(a){
//	         StatsCollection('WIDGET_PROFILE', '', '123456', '', '', '', '', PID, '', '', e, '', '')
//            });
        } else {
            $("#aWebsite").hide()
        } // Enhancements - Ends here        
        $(nameLblId).attr("href", d);
        $("#aImgLaw").attr("href", d);
        $("#ctr").show();
        $(".f_l").show();
        $(".frm_cont").show();
        $("#b_tip_rating").show();
        $("#b_emp").hide();
        $(".b_bot_l").show();
        $(".b_bot_r").show()
    }
}
function getCORS(url, callback) {
    var xdr = new XDomainRequest();
    xdr.open("get", url);
    xdr.onload = function () {
        data = $.parseXML(this.responseText);
        callback(data);
    };
    xdr.onerror = function (e) {
        alert("Can't connect to the server.")
    };
    xdr.send();
}

function GetPopupdata(a, b) {
    var c = (new Date).getTime().toString();
    var s = '';
    if (PID != null && PID != "")
        s = ("ProviderId=" + PID);
    if (KEY != null && KEY != "") {
        if (s != "")
            s += "&";
        s += ("APIKey=" + KEY);
    }
    if (s != "")
        s += "&";
    var d = hosturl + "Handler.ashx?" + s + "id=" + a + "&Profiletype=" + b + "&Group=" + GRP + "&" + c;
    if (window.XMLHttpRequest) {
        xmlhttp = new XMLHttpRequest
    } else if (window.ActiveXObject) {
        try {
            xmlhttp = new ActiveXObject("Msxml2.XMLHTTP")
        } catch (e) {
            try {
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP")
            } catch (e) {
                xmlhttp = false
            }
        }
    }
    if (xmlhttp) {
        try {
            $("#ldlcont").text("Loading...");
            $("#ctr").show();
            $(".b_mid").height("135px");
            $(".f_l").hide();
            $("#b_tip_rating").hide();
            $(".frm_cont").hide();
            $("#b_emp").show();
            $(".b_bot_l").hide();
            $(".b_bot_r").hide();
            xmlhttp.open("GET", d, true);
            xmlhttp.onreadystatechange = handleRequestChange;
            xmlhttp.send(null)
        } catch (e) {
            if ($.browser.msie && window.XDomainRequest) {
                getCORS(d, loadWidget);
                return;                
            }
            alert("Can't connect to the server:\n" + e.toString())
        }
    }
}
var img = "";
var alt = "";
//var hosturl = "http://svcs.martindale.com/popupwidget/";
var hosturl = "http://cert2-svcs.martindale.com/popupwidget/";
var str = "<div id='ctr'><div id='b_tip' style='width: 373px;'><div class='b_top' style='background: url(\"" + hosturl + "Images/top_flyout.gif\") no-repeat bottom left;'></div>" + "<div class='b_mid_o' style='background: url(\"" + hosturl + "Images/mid_left_flyout.png\")'><div class='b_mid'>" + "<div id='b_tip_c'><div class='leftarrow'><img src='" + hosturl + "Images/arrow_png.png' border='0'></div>" + "<table class='f_l'><td class='imgAlign'><a id='aImgLaw' href=''><img id='imgLaw' src='' style='text-decoration:none;border: 0 none' /></a></td></table><div class='frm_cont'><a class='frmname' id='lblName' href='#'></a><BR/>" + "<label id='lType'></label><label id='lSt' style='color:#666666'></label><p></p><label id='lCTN' class='infophone' style='background: url(\"" + hosturl + "Images/phone.gif\") no-repeat scroll 0 0px transparent;display:none;background-position:left center'></label></div><div>" + "<a onclick='return closeToolTip(event);' href='#'><img style='border: medium none;float:right;padding-right:10px' src=\"" + hosturl + 'Images/close_btn.png">' + "</a></div><div id='b_emp' style='width:348;height:135px;'><table height='100%' width='100%'><tbody><tr valign='center'>" + "<td align='center' valign='center'><label id='ldlcont'>Loading...</label></td></tr></tbody></table></div></div><div id='b_tip_rating' style='margin-left: 0px'><div class='client_rating'>" + "<label class='rating' id='lCR'>Client Rating</label><a id='aCRBar'><img src='' id='imgCR' style='text-decoration: none; border: 0pt none;'  /></a><p style='float:left;padding-left:35px'><a id='aSubmitReview' href='#' style='text-decoration: none'>Submit a review</a></p>" + "</div><div class='peer_rating'><label class='rating' id='lPR'>Peer Rating</label><a id='aPRBar'><img src='' id='imgPR' style='text-decoration: none; border: 0pt none;' /></a></div></div></div></div>" + "<div class='b_bot' style='background: url(\"" + hosturl + "Images/btm_flyout.png\") no-repeat'><div class='b_bot_l'><div><div id='btm'><a href='#' id='aContUrl' style='padding-left:20px;background: url(\"" + hosturl + "Images/email_icon_v1.gif\") no-repeat scroll 0 0px transparent' target='_blank'>Email</a><label id='lSep' style='color: rgb(102, 102, 102);'> | </label><a href='#' id='aWebsite' style='padding-left:20px;background: url(\"" + hosturl + "Images/website.png\") no-repeat scroll 0 0px transparent' target='_blank'>Website</a></div></div></div>" + "<div class='b_bot_r'><img id='imgLogo' src='' title='' border='0' style='cursor:pointer' />" + "</div></div></div></div>";
var nameLblId = "#lblName";
var lCRId = "#lCR";
var lPRId = "#lPR";
var imgCRId = "imgCR";
var imgPRId = "imgPR";
var imgLawId = "imgLaw";
var aprofileId = "aContUrl";
var aWebsiteId = "aWebsite";
var newWidth, newHeight = 0;
var maxWidth = 75;
var maxHeight = 70;
var isOrgType = false;
var prfCode = "";
var crstActionUrl = "";
var crstSN = "";
var reg = "";
var PID = "";
var KEY = "";
var GRP = "basic";
if ($ != null && $ != undefined) {
    try {
        $("<link>").attr({
            href: hosturl + "callout.css",
            rel: "stylesheet",
            type: "text/css"
        }).appendTo("head"); 
        if ($.browser.msie && window.XDomainRequest) {
            // Use Microsoft XDR
            var xdr = new XDomainRequest();
            xdr.open("get", hosturl + "Handler.ashx");
            xdr.onload = function () {
                var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
                xmlDoc.async = "false";
                xmlDoc.loadXML(this.responseText);
                crstSN = xmlDoc.getElementsByTagName("CRST_SN_VALUE")[0].nodeTypedValue;
                reg = xmlDoc.getElementsByTagName("CRST_ANON_USER")[0].nodeTypedValue;
                crstActionUrl = xmlDoc.getElementsByTagName("CRST_URL")[0].nodeTypedValue;
            };
            xdr.send();
        }
        else {
            $.get(hosturl + "Handler.ashx", function (a) {
                if ($(a).find("CRST_SN_VALUE") != null && $(a).find("CRST_SN_VALUE") != undefined) crstSN = $(a).find("CRST_SN_VALUE").text();
                if ($(a).find("CRST_ANON_USER") != null && $(a).find("CRST_ANON_USER") != undefined) reg = $(a).find("CRST_ANON_USER").text();
                if ($(a).find("CRST_URL") != null && $(a).find("CRST_URL") != undefined) crstActionUrl = $(a).find("CRST_URL").text();
                return
            })
        }
    } catch (a) {}
}
