﻿var lossHistoryData = null;

function setupReportRootLinks() {
  $(".ClaimSearch").click(function (e) {
    e.preventDefault();
    showModalReport("/LossReports/Claims/ClaimStatus.aspx", "Search for Claim Status", 690, 500);
  });

  $(".ClosedClaimSearch").click(function (e) {
    e.preventDefault();
    showModalReport("/LossReports/Claims/ClosedClaims.aspx", "Search for Closed Claims", 690, 500);
  });

  $(".LossAnalysis").click(function (e) {
    e.preventDefault();
    showModalReport("/LossReports/LossAnalysis/ReportType.aspx", "Loss Analysis Report", 690, 700);
  });

  $(".CoopWCLA").click(function (e) {
    e.preventDefault();
    showModalReport("/LossReports/LossAnalysis/CoopWCLAReport.aspx", "System Loss Analysis Report", 720, 600);
  });

  $(".StateWCLA").click(function (e) {
    e.preventDefault();
    showModalReport("/LossReports/LossAnalysis/StateWCLAReport.aspx", "State Loss Analysis Report", 690, 600);
  });

  $(".LossHistory").click(function (e) {
    e.preventDefault();
    showModalReport("/LossReports/LossHistory/LossHistoryReport.aspx", "Loss History Report", 690, 600);
  });

  $(".ValueOfMembership").click(function (e) {
    e.preventDefault();
    showModalReport("/ValueOfMembership/Default.aspx", "Value Of Membership Report", 690, 600);
  });

  $(".OSHA300").live('click', function (e) {
    e.preventDefault();
    showModalReport("/LossReports/OSHA300.aspx", "OSHA 300 A Statistics", 690, 600);
  });

  $(".LossRatio").click(function (e) {
    e.preventDefault();
    showModalReport("/LossReports/LossRatio/Default.aspx", "Loss Ratio Report", 860, 600);
  });

  $(".LCAnalysis").click(function (e) {
    e.preventDefault();
    showModalReport("/LossReports/LossControlAnalysis/Default.aspx", "Loss Control Analysis Report", 700, 500);
  });

  $(".WCExpModReport").click(function (e) {
    e.preventDefault();
    showModalReport("/CustomReports/WCExpMod.aspx", "WC Experience Modification Report", 690, 600);
  });
}

function showModalReport(url, title, width, height)
{
  showLoading();
  $("#modalReportContent").remove();
  $("body").append("<div id=\"modalReportContent\" style=\"display: none;\"></div>");

  $("#modalReportContent").load(url, function()
  {
    hideLoading();

    $("#modalReportContent").dialog(
      { width: width, height: height, resizable: true, title: title, zindex: 9999999
      }
    );

    $("#modalReportContent").show();
  });

  return false;
}

function runLossAnalysisReport() 
{
  var fromYear = $("#FromYearTextBox").val();
  var toYear = $("#ToYearTextBox").val();
  showPopupWindowInBrowser("/LossReports/LossAnalysis/LossAnalysis.aspx?fromYear=" + fromYear + "&toYear=" + toYear, "claimReportInstructions", 650, 600);
}

function runLossAnalysisPresentationReport()
{
  var content = $('#reportMainContent');

  $("#reportContent").text("");
  showLoading();

  var fromYear = $("#FromYearTextBox").val();
  var toYear = $("#ToYearTextBox").val();

  $.ajax({
    url: "/LossReports/LossAnalysis/LAPresentation.aspx",
    cache: false,
    async: true, 
    data: {
      'fromYear': fromYear,
      'toYear': toYear
    },
    success: function(html)
    {
      hideLoading();
      content.hide();

      var reportContent = $("#modalReportContent");
      reportContent.html(html);
      reportContent.show();
    },
    error: function()
    {
      hideLoading();
      alert('There has been an error while trying to generate your report.  Please try again."');
      content.show();
    }
  });
}

function claimSearchSubmit(referrer)
{
  var content = $('#reportMainContent');

  var data;
  var firstName = '';
  var lastName = '';
  var claimNumber = '';

  if ($("#claimnumber").val() != '')
    claimNumber = $("#claimnumber").val();
  else
  {
    firstName = $("#firstname").val();
    lastName = $("#lastname").val();
  }

  if (claimNumber == '' && firstName == '' && lastName == '')
    return;

  // check for a correct claim number
  if (claimNumber != '' && validClaimNumber(claimNumber) == false)
  {
    alert('You must enter a valid claim number (i.e. 15 GC 00001)');
    return;
  }

  $("#reportContent").text("");
  showLoading();

  $.ajax({
    url: "/LossReports/Claims/ClaimDetail.aspx",
    data: {
      'referer': referrer,
      'firstname': firstName,
      'lastname': lastName,
      'claimnumber': claimNumber
    },
    cache: false,
    async: true,
    success: function(html)
    {
      hideLoading();
      content.hide();


      var reportContent = $("#reportContent");
      reportContent.append(html);
      reportContent.show();

      addNewSearchLink("reportTopNav", "New Search", "resetClaimSearch", reportContent, "reportMainContent", false);
      addPrinterFriendlyLink("reportTopNav", "printerFriendlyDiv", 690, 500);
    },
    error: function()
    {
      hideLoading();
      alert('There has been an error while trying to generate your report.  Please try again."');
      content.show();
    }
  });
}

function validClaimNumber(claimNumber)
{
  /*
  Claim number should be in a format of
  
  1. 2 digit State Code and a space
  2. 2 digit claim type (i.e. GC or WC)
  3. Sequence number
  
  example 15 GC 000001
  */

  // the minimum length this number can be is 7
  if (claimNumber.length < 7)
    return false;

  // we should only have 3 elements, i.e. don't include line number
  var items = claimNumber.toString().split(' ');
  if (items.length != 3)
    return false;

  // parse the data
  var stateCode = claimNumber.substr(0, 2);

  if (isNaN(stateCode))
    return false;

  var claimType = claimNumber.toString().substr(3, 2).trim();

  // after trimming spaces, we should have 2 digits still
  if (claimType.length != 2)
    return false;

  var seqNumber = claimNumber.substr(6);

  return true;
}

function displayClaimant(stateNum, sectionCode, sequenceNumber)
{
  var url = '/LossReports/Claims/ClaimantDetail.aspx';
  var title = 'Claim Details for Claim # ' + stateNum + ' ' + sectionCode + ' ' + sequenceNumber;

  // remove div for modal
  $("#modalInnerContent").remove();

  // add div for our modal
  var innerContent = $("<div>").attr({ id: "modalInnerContent" });
  innerContent.appendTo($("#modalContent"));

  // load our data for the modal dialog
  $.ajax({
    url: "/LossReports/Claims/ClaimantDetail.aspx",
    data: {
      'stateNum': stateNum,
      'sectionCode': sectionCode,
      'sequenceNumber': sequenceNumber
    },
    cache: false,
    async: true,
    success: function(html)
    {
      innerContent.html(html);

      innerContent.dialog(
      {
        height: 200,
        width: 380,
        title: title
      });
    }
  });
}

function stateWCLossAnalysis(addNewSearchButton)
{
  var content = $('#reportMainContent');

  var data;
  var radio = $("input[@name='seltype']:checked").val();
  var statenum = '';

  if (radio == 'coopstate')
    statenum = $("#statenum").val();
  else
    statenum = $("#StateDropDownList").val();

  var fromYear = $("#FromYearTextBox");
  var toYear = $("#ToYearTextBox");

  var year = parseInt(fromYear.val())

  if (fromYear.val().length != 4 || year == 0 || year < minYear || year > maxYear)
  {
    alert("Please enter a valid 4 digit year between " + minYear + " and " + maxYear)
    fromYear.focus();
    return false;
  }

  var year = parseInt(toYear.val())

  if (toYear.val().length != 4 || year == 0 || year < minYear || year > maxYear)
  {
    alert("Please enter a valid 4 digit year between " + minYear + " and " + maxYear)
    toYear.focus();
    return false;
  }

  content.hide();
  $("#reportContent").text("");
  showLoading();

  $.ajax({
    url: "/LossReports/LossAnalysis/StateWCLADetail.aspx",
    data: {
      'referer': 'LossHistory',
      'statenum': statenum,
      'fromyear': fromYear.val(),
      'toyear': toYear.val()
    },
    cache: false,
    async: true,
    success: function(html)
    {
      hideLoading();

      var reportContent = $("#reportContent");
      reportContent.append(html);
      reportContent.show();

      if (addNewSearchButton)
      {
        addNewSearchLink("reportTopNav", "New Search", "resetWCLossAnalysis", reportContent, "reportMainContent", false);
        addPrinterFriendlyLink("reportTopNav", "printerFriendlyDiv", 690, 700);
      }
    },
    error: function()
    {
      hideLoading();
      alert('There has been an error while trying to generate your report.  Please try again."');
      content.show();
    }
  });
}

function displayWCLossDetail(coopNum, statecode, fromdate, todate, losstype, losscodeid)
{
  var content = $('#WCMainContent');
  if (coopNum == '' && statecode == '' && fromdate == '' && todate == '' && losstype == '' && losscodeid == '')
    return;

  $("#WCReportContent").text("");
  showLoading();

  $.ajax({
    url: "/LossReports/LossAnalysis/WCLossDetail.aspx",
    data: {
      coopNum: coopNum,
      statecode: statecode,
      fromdate: fromdate,
      todate: todate,
      losstype: losstype,
      losscodeid: losscodeid
    },
    cache: false,
    async: true,
    success: function(html)
    {


      //addNewSearchLink("reportTopNav", "New Search", "resetWCLossAnalysis", reportContent, "reportMainContent", false);

      hideLoading();
      content.hide();
      $("#reportTopNav").hide();

      var reportContent = $("#WCReportContent");
      reportContent.append(html);
      reportContent.show();


      // remove the old button if it exists
      $("#backToWCLossDetail").remove();

      // add a back button image
      var img = $("<img>").attr(
          {
            id: "backToWCLossDetail-img",
            src: "../images/content/back.gif",
            style: "height: 16px; width: 16px; cursor: pointer;"
          });

      // make the image clear out the results data and show our search
      img.click(function()
      {
        $("#WCReportContent").html("");
        $("#backToWCLossDetail").remove();
        $("#reportContent").show();
        $("#reportTopNav").show();
        content.show();
        return false;
      });

      // add a button to clear the results and show the search
      var link = $("<a>").attr(
          {
            id: "backToWCLossDetail",
            href: ""
          });

      link.text("Back");

      // make the button clear out the results data and show our search
      link.click(function()
      {
        $("#WCReportContent").html("");
        $("#backToWCLossDetail").remove();
        $("#reportContent").show();
        $("#reportTopNav").show();
        content.show();
        return false;
      });

      $("#reportTopNav2").remove();

      var div = $("<div>").attr({ id: "reportTopNav2" });
      div.append(img);
      div.append(link);

      reportContent.prepend(div);
      addPrinterFriendlyLink("reportTopNav2", "printerFriendlyDiv2", 690, 700);
    },
    error: function()
    {
      hideLoading();
      alert('There has been an error while trying to lookup Loss Detail.  Please try again."');
      content.show();
    }
  });
}

function systemWCLossAnalysis(addNewSearchButton)
{
  var content = $('#reportMainContent');

  var data;
  var fromYear = $("#FromYearTextBox");
  var toYear = $("#ToYearTextBox");

  var year = parseInt(fromYear.val())

  if (fromYear.val().length != 4 || year == 0 || year < minYear || year > maxYear)
  {
    alert("Please enter a valid 4 digit year between " + minYear + " and " + maxYear)
    fromYear.focus();
    return false;
  }

  var year = parseInt(toYear.val())

  if (toYear.val().length != 4 || year == 0 || year < minYear || year > maxYear)
  {
    alert("Please enter a valid 4 digit year between " + minYear + " and " + maxYear)
    toYear.focus();
    return false;
  }

  content.hide();
  $("#reportContent").text("");
  showLoading();

  $.ajax({
    url: "/LossReports/LossAnalysis/CoopWCLADetail.aspx",
    data: {
      'referer': 'LossHistory',
      'fromyear': fromYear.val(),
      'toyear': toYear.val()
    },
    cache: false,
    async: true,
    success: function(html)
    {
      hideLoading();

      var reportContent = $("#reportContent");
      reportContent.append(html);
      reportContent.show();

      if (addNewSearchButton)
      {
        addNewSearchLink("reportTopNav", "New Search", "resetWCLossAnalysis", reportContent, "reportMainContent", false);
        addPrinterFriendlyLink("reportTopNav", "printerFriendlyDiv", 690, 700);
      }
    },
    error: function()
    {
      hideLoading();
      alert('There has been an error while trying to generate your report.  Please try again."');
      content.show();
    }
  });
}

function lossHistoryReport()
{
  var content = $('#reportMainContent');

  var coopNum = $("#coopnum").val();
  var datetype = $("input[name=datetype]:checked").val();
  var status = $('input[name=status]:checked').val();
  var type = $("input[name=type]:checked").val();
  var sort = $("input[name=sort]:checked").val();
  var showPayments = $("input[name=showpayments]:checked").val();

  var fromDate = $("#StartDate");
  var toDate = $("#EndDate");

  if (isDate(fromDate.val()) == false)
  {
    alert('You must enter a valid from date');
    fromDate.focus();
    return false;
  }
  if (isDate(toDate.val()) == false)
  {
    alert('You must enter a valid to date');
    toDate.focus();
    return false;
  }

  lossHistoryData = new Object();
  lossHistoryData.datetype = datetype;
  lossHistoryData.status = status;
  lossHistoryData.type = type;
  lossHistoryData.sort = sort;
  lossHistoryData.showPayments = showPayments;
  lossHistoryData.fromDate = fromDate.val();
  lossHistoryData.toDate = toDate.val();

  content.hide();
  $("#reportContent").text("");
  showLoading();

  $.ajax({
    url: "/LossReports/LossHistory/LossRecordReport.aspx",
    data: {
      'referer': 'LossHistory',
      'coopnum': coopNum,
      'datetype': datetype,
      'status': status,
      'type': type,
      'sort': sort,
      'showPayments': showPayments,
      'fromDate': fromDate.val(),
      'toDate': toDate.val()
    },
    cache: false,
    async: true,
    success: function (html) {
      hideLoading();
      var reportContent = $("#reportContent");
      reportContent.append(html);
      reportContent.show();

      addNewSearchLink("reportTopNav", "New Search", "resetLossHistory", reportContent, "reportMainContent", false);
      addPrinterFriendlyLink("reportTopNav", "printerFriendlyDiv", 690, 750);
      addExcelExportLink("reportTopNav", "excelDataDiv", "Export to Excel", exportLossHistoryToExcel);
    },
    error: function () {
      hideLoading();
      alert('There has been an error while trying to generate your report.  Please try again."');
      content.show();
    }
  });
}

function exportLossHistoryToExcel(e) {
  e.preventDefault();

  // setup our url
  var url = "LossHistory.Excel";

  url += '?datetype=' + lossHistoryData.datetype;
  url += '&coop_number=' + $("#coopnum").val();
  url += '&status=' + lossHistoryData.status;
  url += '&type=' + lossHistoryData.type;
  url += '&sort=' + lossHistoryData.sort;
  url += '&showPayments=' + lossHistoryData.showPayments;
  url += '&fromDate=' + lossHistoryData.fromDate;
  url += '&toDate=' + lossHistoryData.toDate;

  showPopupWindowInBrowser(url, 'LossHistory', 600, 500);
}

function valueOfMembershipReport() {
    var content = $('#reportMainContent');
    var coopNum = $("#coopnum").val();

    var ctrl = document.getElementById("Year1CurrencyEditor");
    if (ctrl != null) {
        var year1Amount = $("#Year1CurrencyEditor")[0].value;
        var year2Amount = $("#Year2CurrencyEditor")[0].value;
        var year3Amount = $("#Year3CurrencyEditor")[0].value;
        var year4Amount = $("#Year4CurrencyEditor")[0].value;
        var year5Amount = $("#Year5CurrencyEditor")[0].value;
        var year6Amount = $("#Year6CurrencyEditor")[0].value;
    }
    var statewideAmount = $("#StatewideCurrencyEditor")[0].value;


    content.hide();
    $("#reportContent").text("");
    showLoading();

    $.ajax({
        url: "/ValueOfMembership/ValueOfMembershipReport.aspx",
        data: {
            'referer': 'ValueOfMembership',
            'coopnum': coopNum,
            'year1amount': year1Amount,
            'year2amount': year2Amount,
            'year3amount': year3Amount,
            'year4amount': year4Amount,
            'year5amount': year5Amount,
            'year6amount': year6Amount,
            'statewide': statewideAmount
        },
        cache: false,
        async: true,
        success: function (html) {
            hideLoading();
            var reportContent = $("#reportContent");
            reportContent.append(html);
            reportContent.show();

            addNewSearchLink("reportTopNav", "Go Back", "resetLossHistory", reportContent, "reportMainContent", false);
            addPrinterFriendlyLink("reportTopNav", "printerFriendlyDiv",  690, 750);
        },
        error: function () {
            hideLoading();
            alert('There has been an error while trying to generate your report.  Please try again."');
            content.show();
        }
    });
}

function closedClaimsSubmit()
{
  var content = $('#reportMainContent');
  var type = $("input[name=type]:checked").val();
  var fromDate = $("#StartDate");
  var toDate = $("#EndDate");

  if (isDate(fromDate.val()) == false)
  {
    alert('You must enter a valid from date');
    fromDate.focus();
    return false;
  }
  if (isDate(toDate.val()) == false)
  {
    alert('You must enter a valid to date');
    toDate.focus();
    return false;
  }

  $("#reportContent").text("");
  showLoading();

  $.ajax({
    url: "/LossReports/Claims/ClosedClaimsDetail.aspx",
    data: {
      'type': type,
      'fromDate': fromDate.val(),
      'toDate': toDate.val()
    },
    cache: false,
    async: true,
    success: function(html)
    {
      hideLoading();
      content.hide();


      var reportContent = $("#reportContent");
      reportContent.append(html);
      reportContent.show();

      addNewSearchLink("reportTopNav", "New Search", "resetClosedClaim", reportContent, "reportMainContent", false);
      addPrinterFriendlyLink("reportTopNav", "printerFriendlyDiv", 690, 500);
    },
    error: function()
    {
      hideLoading();
      alert('There has been an error while trying to generate your report.  Please try again."');
      content.show();
    }
  });
}


function lossRatioReport()
{
  var content = $('#reportMainContent');

  var coopNum = '';
  var stateCode = '';
  var datetype = $("input[name=datetype]:checked").val();
  var polType = $("input[name=polType]:checked").val();

  var selType = $("input[@name='seltype']:checked").val();

  if (selType == 'state')
    stateCode = $("#StateDropDownList").val();
  else
    coopNum = $("#coopnum").val();

  var fromYear = $("#FromYearTextBox");
  var toYear = $("#ToYearTextBox");

  var year = parseInt(fromYear.val())

  if (fromYear.val().length != 4 || year == 0 || year < minYear || year > maxYear)
  {
    alert("Please enter a valid 4 digit year between " + minYear + " and " + maxYear)
    fromYear.focus();
    return false;
  }

  var year = parseInt(toYear.val())

  if (toYear.val().length != 4 || year == 0 || year < minYear || year > maxYear)
  {
    alert("Please enter a valid 4 digit year between " + minYear + " and " + maxYear)
    toYear.focus();
    return false;
  }

  content.hide();
  $("#reportContent").text("");
  showLoading();

  $.ajax({
    url: "/LossReports/LossRatio/LossRatioDetail.aspx",
    data: {
      'coopNum': coopNum,
      'stateCode': stateCode,
      'dateType': datetype,
      'polType': polType,
      'fromyear': fromYear.val(),
      'toyear': toYear.val()
    },
    cache: false,
    async: true,
    success: function(html)
    {
      hideLoading();
      var reportContent = $("#reportContent");
      reportContent.append(html);
      reportContent.show();

      addNewSearchLink("reportTopNav", "New Search", "resetLossRatio", reportContent, "reportMainContent", false);
      addPrinterFriendlyLink("reportTopNav", "printerFriendlyDiv", 860, 665);
    },
    error: function()
    {
      hideLoading();
      alert('There has been an error while trying to generate your report.  Please try again."');
      content.show();
    }
  });
}

function showLCAReport()
{
  var content = $('#reportMainContent');

  var coopNum = $("#coopnum").val();
  var fromDate = $("#StartDate");
  var toDate = $("#EndDate");

  if (isDate(fromDate.val()) == false)
  {
    alert('You must enter a valid from date');
    fromDate.focus();
    return false;
  }
  if (isDate(toDate.val()) == false)
  {
    alert('You must enter a valid to date');
    toDate.focus();
    return false;
  }

  content.hide();
  $("#reportContent").text("");
  showLoading();

  $.ajax({
    url: "/LossReports/LossControlAnalysis/Report.aspx",
    data: {
      'coopNum': coopNum,
      'fromDate': fromDate.val(),
      'toDate': toDate.val()
    },
    cache: false,
    async: true,
    success: function(html)
    {
      hideLoading();
      var reportContent = $("#reportContent");
      reportContent.append(html);
      reportContent.show();

      addNewSearchLink("reportTopNav", "New Search", "resetLCA", reportContent, "reportMainContent", false);
      addPrinterFriendlyLink("reportTopNav", "printerFriendlyDiv", 700, 550);
    },
    error: function()
    {
      hideLoading();
      alert('There has been an error while trying to generate your report.  Please try again."');
      content.show();
    }
  });
}


function displayLossDetail(coopNum, stateCode, fromDate, toDate, line)
{
  var content = $('#reportMainContent');

  if (coopNum == '' && stateCode == '' && fromDate == '' && toDate == '' && line == '')
    return;

  $("#reportContent").text("");
  showLoading();

  $.ajax({
    url: "/LossReports/LossAnalysis/LossDetail.aspx",
    data: {
      coopNum: coopNum,
      stateCode: stateCode,
      fromdate: fromDate,
      todate: toDate,
      line: line
    },
    cache: false,
    async: true,
    success: function(html)
    {
      hideLoading();
      content.hide();

      var reportContent = $("#reportContent");
      reportContent.append(html);
      reportContent.show();

      addNewSearchLink("reportTopNav", "Back to Loss Analysis Presentation", "backToPresentation", reportContent, "reportMainContent", true);
      addPrinterFriendlyLink("reportTopNav", "printerFriendlyDiv", 690, 500);
    },
    error: function()
    {
      hideLoading();
      alert('There has been an error while trying to generate your report.  Please try again."');
      content.show();
    }
  });
}


function addNewSearchLink(topNavId, linkText, linkId, reportContent, showDiv, backButton)
{
  // remove the old div
  $("#" + topNavId).remove();

  var div = $("<div>").attr({ id: topNavId });

  if (backButton)
  {
    // add a back button image
    var img = $("<img>").attr(
          {
            id: linkId + "-img",
            src: "../images/content/back.gif",
            style: "height: 16px; width: 16px; cursor: pointer;"
          });

    // make the image clear out the results data and show our search
    img.click(function()
    {
      reportContent.html("");
      $("#" + topNavId).remove();
      $("#" + showDiv).show();
      return false;
    });

    div.append(img);
  }

  // add a button to clear the results and show the search
  var link = $("<a>").attr(
          {
            id: linkId,
            href: ""
          });

  link.text(linkText);

  // make the button clear out the results data and show our search
  link.click(function()
  {
    reportContent.html("");
    $("#" + topNavId).remove();
    $("#" + showDiv).show();
    return false;
  });

  div.append(link);

  reportContent.prepend(div);
}

function addPrinterFriendlyLink(topNavId, divId, width, height)
{
  var topNavDiv = $("#" + topNavId);

  // add a printer image
  var img = $("<img>").attr(
          {
            id: "printerFriendly-img",
            src: "../images/content/print.gif",
            style: "cursor: pointer;"
          });

  // make the image clear out the results data and show our search
  img.click(function()
  {
    var html = $("#" + divId).html();

    showPrinterFriendlyReport(html, width, height);
    return false;
  });

  // add a button to clear the results and show the search
  var link = $("<a>").attr(
          {
            id: "printerFriendly",
            href: ""
          }
          );

  link.text("Print Friendly");

  // make the button clear out the results data and show our search
  link.click(function()
  {
    var html = $("#" + divId).html();

    showPrinterFriendlyReport(html, width, height);
    return false;
  });

  // add spacer
  topNavDiv.append("&nbsp;&nbsp;");

  // add image
  topNavDiv.append(img);

  // add spacer
  topNavDiv.append("&nbsp;");

  // add link
  topNavDiv.append(link);
}

function addExcelExportLink(topNavId, divId, linkText, exportFunction)
{
  var topNavDiv = $("#" + topNavId);

  // add an excel image
  var img = $("<img>").attr(
          {
            id: "excelExport-img",
            src: "../images/content/excelicon_18x18.png",
            style: "cursor: pointer;"
          });


  

  // make the image export
//  img.click(function()
//  {
//    exportToExcel(getLossHistoryHtmlForExcel(divId).html(), filename);
//    return false;
          //  });

  img.click(exportFunction);

  // add a button to clear the results and show the search
  var link = $("<a>").attr(
          {
            id: "printerFriendly",
            href: ""
          }
          );

  link.text(linkText);

  // make the button clear out the results data and show our search
//  link.click(function()
//  {
//    exportToExcel(getLossHistoryHtmlForExcel(divId).html(), filename);
//    return false;
//  });

  link.click(exportFunction);

  // add spacer
  topNavDiv.append("&nbsp;&nbsp;");

  // add image
  topNavDiv.append(img);

  // add spacer
  topNavDiv.append("&nbsp;");

  // add link
  topNavDiv.append(link);
}

function getLossHistoryHtmlForExcel(divId)
{
  var curDiv = $("#" + divId);

  // make a copy of this data so we don't change what we see
  $('#excelExportTmp').remove();
  var div = $('<div id="excelExportTmp"></div>').css('display', 'none').html(curDiv.html()).appendTo(document.body);
  
  // remove any data we dont want
  div.find('.excelExclude').remove();
  
  // remove text from links
  div = replaceLinksWithText(div);

  div.find('#.headerRow').append('<th>Description</th>');

  $('#excelExportTmp table').removeAttr('width');
  $('#excelExportTmp th').removeAttr('width');
  $('#excelExportTmp td').removeAttr('width');
  $('#excelExportTmp th').attr('nowrap', 'true');
  $('#excelExportTmp td').attr('nowrap', 'true');

  // we now need to move the description into its own table cell instead of a row
  $('#excelExportTmp .lossHistoryDesc').each(function()
  {
    var $this = $(this);
    // grab the row this is in
    var td = $this.parent();

    td.removeAttr('colspan');
    
    var row = $this.parent().parent();


    // append this to our previous row
    var prevSiv = row.prev();
    var t = prevSiv.html();
    var tdHtml = row.html();
    row.prev().append(row.html());
    row.remove();
  });
  return div;
}
