/********************************************************************
  ================ FORM ELEMENTS AND NAMES ================
  name      - element - description
  ------------------------------------------------------------
  frmTG     - form  - contains all elements to be sumitted
  hidURLType    - hidden  - hidden text field to hole URL type (i.e. Lev1=, Orig=)
  hidLev1     - hidden  - hidden text field to hold lev1 variable (i.e. lyon)
  hidLev1Seled  - hidden  - hidden text field to hold Lev1Seled variable (i.e. SAC0PLA)
  hidLev2Seled  - hidden  - hidden text field to hold Lev2Seled variable (i.e. SAC0PLA95678)
  
  cbo + pL1Label  - select  - lev1 selected (i.e. SAC0PLA)
  cbo + pL2Label  - select  - lev2 selected (i.e. SAC0PLA95678)
  cboPropType   - select  - property type selected (i.e. value=01>Single Family Homes)
  cboMinPrng    - select  - min. price range selected
  cboMaxPrng    - select  - max. price range selected
  
  hidChartSrc   - hidden  - hidden name of chart source (less report#, CYM and '.jpg')
*/
// 10-22-03 - Add optional field drop down selection list
// module level variables

// Changed Selection Limit to 15 to allow for more L2 Selections
// TLP 8/17/2006
//var m_LocSelectLimit = 15;
var m_LocSelectLimit = 16;

var m_CurrentReportNumber="01";
var m_CurrentReportOne="01";
var m_CurrentReportFive="05";
var m_CurrentReportSix="06";
var m_CurrentReportSeven="07";
var m_SelectedCBOName;
var m_flgDirty = false;
var m_LastY;
var m_DEBUG = true;
var m_ChartTyp = ".png"
var m_Delim;

var m_flgPending = true;
// local variables to hold report titles
var m_strReport1;  // report one can alternate between variations (1A, 1B, 1C, 1D)
var m_strReport3;
var m_strReport5;  // report five can alternate between variations (5A, 5B, 5C, 5D)
var m_strReport6;  // report six can alternate between variations (6A, 6B)
var m_strReport7;  // report seven can alternate between variations (7A, 7B)
// variations of report #01
var m_strReport1A;
var m_strReport1B;
var m_strReport1C;
var m_strReport1D;
var m_strReport1E;
var m_strReport1F;
var m_strReport1G;
var m_strReport1H;
var m_strReport1I;
var m_strReport1J;
var m_strReport1K;
// variations of report #05
var m_strReport5A;
var m_strReport5B;
var m_strReport5C;
var m_strReport5D;
// variations of report #06
var m_strReport6A;
var m_strReport6B;
// variations of report #07
var m_strReport7A;
var m_strReport7B;
var m_strReport7C;
var m_strReport7D;

// data used for summary table
var dataLoaded=false;
var arrCYM;
var arrSale;
var arrNew;
var arrSold;
var arrPending;
var arrSQFT;
var arrDOM;
var arrSPLPPct;
var arrCDOM;
var arrSPOrigLP;
var arrActAvg;
var arrSldAvg;
var arrMedian;
var quarterlyReport;
var yearAgoSplit;
//-->

var xmlhttp=false;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
// JScript gives us Conditional compilation, we can cope with old IE versions.
// and security blocked creation of the objects.
 try {
  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
 } catch (e) {
  try {
   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  } catch (E) {
   xmlhttp = false;
  }
 }
@end @*/
if (!xmlhttp && typeof XMLHttpRequest!='undefined')
{
	try
	{
		xmlhttp = new XMLHttpRequest();
	}
	catch (e)
	{
		xmlhttp=false;
	}
}
if (!xmlhttp && window.createRequest)
{
	try
	{
		xmlhttp = window.createRequest();
	}
	catch (e)
	{
		xmlhttp=false;
	}
}

function loadSummaryTableData(prmCYM, prmForSale, prmNewListing, prmSold, prmPending, prmSQFT, prmDOM, prmSPLPPct, prmCDOM, prmSPOrigLP, prmActAvg, prmSldAvg, prmMedian)
{
    arrCYM = prmCYM.split('|');
    arrSale = prmForSale.split('|');
    arrNew = prmNewListing.split('|');
    arrSold = prmSold.split('|');
    arrPending = prmPending.split('|');
    arrSQFT = prmSQFT.split('|');
    arrDOM = prmDOM.split('|');
    arrSPLPPct = prmSPLPPct.split('|');
    arrCDOM = prmCDOM.split('|');
    arrSPOrigLP = prmSPOrigLP.split('|');
    arrActAvg = prmActAvg.split('|');
    arrSldAvg = prmSldAvg.split('|');
    arrMedian = prmMedian.split('|');
    
    dataLoaded = true;
	SetQuarterly()
    
    // call function to load relevant summary table
    switch (document.frmTG.hidCurnChartNum.value) {
    case "1B" :
    case "1C" :
    case "1D" :
    case "1E" :
    case "1F" :
    case "1G" :
    case "1H" :
    case "1I" :
    case "1J" :
    case "1K" :
    case "01" : changeSummaryTableForSale(document.frmTG.hidCurnChartNum.value); break;
    case "03" : changeSummaryTableSQFT(); break;
    case "5A" : changeSummaryTableDOM('5A'); break;    
    case "5B" : changeSummaryTableDOM('5B'); break;
    case "5C" : changeSummaryTableDOM('5C'); break;
    case "5D" : changeSummaryTableDOM('5D'); break;    
    case "05" : changeSummaryTableDOM('05'); break;
    case "6A" :     
    case "6B" : changeSummaryTableMedianPrice(); break;
    case "06" : changeSummaryTableAveragePrice(); break;
    case "7C" : changeSummaryTableInventory('7C'); break;
    case "7D" : changeSummaryTableInventory('7D'); break;
    case "7A" : changeSummaryTableInventory('7B'); break;
    case "7B" : changeSummaryTableInventory('7B'); break;
    case "07" : changeSummaryTableInventory('07'); break;
    }
}

function changeSummaryTableForSale(report) {
    document.getElementById('CSTable').innerHTML = '';
    document.getElementById('CSTable').innerHTML = buildSummaryTableForSale(report);
}
    
function changeSummaryTableSQFT() {
    document.getElementById('CSTable').innerHTML = '';
    document.getElementById('CSTable').innerHTML = buildSummaryTableSQFT();
}
    
function changeSummaryTableDOM(report) {
    document.getElementById('CSTable').innerHTML = '';
    document.getElementById('CSTable').innerHTML = buildSummaryTableDOM(report);
}
    
function changeSummaryTableAveragePrice() {
    document.getElementById('CSTable').innerHTML = '';
    document.getElementById('CSTable').innerHTML = buildSummaryTableAveragePrice();
}
    
function changeSummaryTableMedianPrice() {
    document.getElementById('CSTable').innerHTML = '';
    document.getElementById('CSTable').innerHTML = buildSummaryTableMedianPrice();
}
    
function changeSummaryTableInventory(report) {
    document.getElementById('CSTable').innerHTML = '';
    document.getElementById('CSTable').innerHTML = buildSummaryTableInventory(report);
}
    
function arrowImage(change) {
		//Strip % off
	if (change.indexOf('% ') != -1)
    { change = change.replace('% ', ''); } 
		
    if (change > 0) {
    return "<IMG SRC='/images/Up.gif' HEIGHT=15 ALT='' BORDER='0' class='arrow'>" }
    else if (change < 0) {
    return "<IMG SRC='/images/Down.gif' HEIGHT=15 ALT='' BORDER='0' class='arrow'>" }
    else { return "" }
}

function classUporDown(change) {
		//Strip % off
	if (change.indexOf('% ') != -1)
    { change = change.replace('% ', ''); } 
		
    if (change > 0) {
    return "<span class='up'>" }
    else if (change < 0) {
    return "<span class='down'>" }
    else { return "" }
}
    
function getMonthShortName(month){
    switch (month) {
    case 1: return "Jan"
    case 2: return "Feb"
    case 3: return "Mar"
    case 4: return "Apr"
    case 5: return "May"
    case 6: return "June"
    case 7: return "July"
    case 8: return "Aug"
    case 9: return "Sep"
    case 10: return "Oct"
    case 11: return "Nov"
    case 12: return "Dec"
    }
}
    
function getTimeSpan(months) {
	if (quarterlyReport == "false") {
    switch (months) {
    case 25: return "2 years"
    case 37: return "3 years"
    case 49: return "4 years"
    case 61: return "5 years"
    default: return months + " months"
    } }
	else {
		switch (months) {
    case 25: return "6 years"
		case 29: return "7 years"
		case 33: return "8 years"
    case 37: return "9 years"
		case 41: return "10 years"
		case 45: return "11 years"
    case 49: return "12 years"
		case 53: return "13 years"
		case 57: return "14 years"
    case 61: return "15 years"
    default: return months + " months"	
		} }
}

function formatCurrency(num) {
  num = num.toString().replace(/\$|\,/g,'');
  if(isNaN(num))
  num = "0";
  sign = (num == (num = Math.abs(num)));
  num = Math.floor(num*100+0.50000000001);
  num = Math.floor(num/100).toString();
  for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
  num = num.substring(0,num.length-(4*i+3))+','+
  num.substring(num.length-(4*i+3));
  return (((sign)?'':'-') + '$' + num);
}

function FormatNumber(num,decimalNum,bolLeadingZero,bolParens,bolCommas)
/**********************************************************************
  IN:
    NUM - the number to format
    decimalNum - the number of decimal places to format the number to
    bolLeadingZero - true / false - display a leading zero for
                    numbers between -1 and 1
    bolParens - true / false - use parenthesis around negative numbers
    bolCommas - put commas as number separators.
 
  RETVAL:
    The formatted number!
 **********************************************************************/
{ 
  if (isNaN(parseInt(num))) return "NaN";

  var tmpNum = num;
  var iSign = num < 0 ? -1 : 1;   // Get sign of number
  
  // Adjust number so only the specified number of numbers after
  // the decimal point are shown.
  tmpNum *= Math.pow(10,decimalNum);
  tmpNum = Math.round(Math.abs(tmpNum))
  tmpNum /= Math.pow(10,decimalNum);
  tmpNum *= iSign;          // Readjust for sign
  
  
  // Create a string object to do our formatting on
  var tmpNumStr = new String(tmpNum);

  // See if we need to strip out the leading zero or not.
  if (!bolLeadingZero && num < 1 && num > -1 && num != 0)
    if (num > 0)
      tmpNumStr = tmpNumStr.substring(1,tmpNumStr.length);
    else
      tmpNumStr = "-" + tmpNumStr.substring(2,tmpNumStr.length);
    
  // See if we need to put in the commas
  if (bolCommas && (num >= 1000 || num <= -1000)) {
    var iStart = tmpNumStr.indexOf(".");
    if (iStart < 0)
      iStart = tmpNumStr.length;

    iStart -= 3;
    while (iStart >= 1) {
      tmpNumStr = tmpNumStr.substring(0,iStart) + "," + tmpNumStr.substring(iStart,tmpNumStr.length)
      iStart -= 3;
    }   
  }

  // See if we need to use parenthesis
  if (bolParens && num < 0)
    tmpNumStr = "(" + tmpNumStr.substring(1,tmpNumStr.length) + ")";

  return tmpNumStr;   // Return our formatted string!
}

function SetQuarterly() {
	if (document.frmTG.hidNoOfMon.value > 74) {
		quarterlyReport = "true"; }
	else {
		quarterlyReport = "false"; }
	
	if (quarterlyReport == "true") {
		yearAgoSplit = 5; }
	else {
		yearAgoSplit = 13; }
}

function buildSummaryTableForSale(report) {
    var maxMonths;
    var html;
    
    var Sale1Month;
    var Sale1Year;
    var SaleCurrent;
    var Sale3;
    var Sale4;
    var New1Month;
    var New1Year;
    var NewCurrent;
    var New3;
    var New4;
    var Sold1Month;
    var Sold1Year;
    var SoldCurrent;
    var Sold3;
    var Sold4;
    var Pending1Month;
    var Pending1Year;
    var PendingCurrent;
    var Pending3;
    var changeSale1;
    var changeSale2;
    var changeSaleMonth;
    var changeNew1;
    var changeNew2;
    var changeNewMonth;
    var changeSold1;
    var changeSold2;
    var changeSoldMonth;
    var changePending1;
    var changePending2;
    var changePendingMonth;
    var splitCYMcurrent;
    var splitCYMyear;
    var splitCYM3;
    var splitCYMmonth;
    var currentMonth;
    var yearAgoMonth;
    var Month3;
    var lastMonth;
	
	var html1;
	var html2;

    maxMonths = arrSale.length;
    
    if (maxMonths > 13) {
        Sale1Year = arrSale[maxMonths - yearAgoSplit];
        New1Year = arrNew[maxMonths - yearAgoSplit];
        Sold1Year = arrSold[maxMonths - yearAgoSplit];
        Pending1Year = arrPending[maxMonths - yearAgoSplit];
        splitCYMyear = arrCYM[maxMonths - yearAgoSplit].split('/'); }
    else {
        Sale1Year = arrSale[0];
        New1Year = arrNew[0];
        Sold1Year = arrSold[0];
        Pending1Year = arrPending[0];
        splitCYMyear = arrCYM[0].split('/'); }
    
    SaleCurrent = arrSale[maxMonths - 1];
    NewCurrent = arrNew[maxMonths - 1];
    SoldCurrent = arrSold[maxMonths - 1];
    PendingCurrent = arrPending[maxMonths - 1];
    
    Sale1Month = arrSale[maxMonths - 2];
    New1Month = arrNew[maxMonths - 2];
    Sold1Month = arrSold[maxMonths - 2];
    Pending1Month = arrPending[maxMonths - 2];
    
    changeSale1 = ((SaleCurrent - Sale1Year) / Sale1Year) * 100;
    //Round to 1 decimal places
    changeSale1 = Math.round(changeSale1*Math.pow(10,1))/Math.pow(10,1);
		if (isFinite(changeSale1) == false) {changeSale1 = "n/a"; } else {changeSale1 = changeSale1 + "% ";}
    
    changeSaleMonth = ((SaleCurrent - Sale1Month) / Sale1Month) * 100;
    changeSaleMonth = Math.round(changeSaleMonth*Math.pow(10,1))/Math.pow(10,1);
		if (isFinite(changeSaleMonth) == false) {changeSaleMonth = "n/a"; } else {changeSaleMonth = changeSaleMonth + "% ";}
    
    changeNew1 = ((NewCurrent - New1Year) / New1Year) * 100;
    //Round to 1 decimal places
    changeNew1 = Math.round(changeNew1*Math.pow(10,1))/Math.pow(10,1);
		if (isFinite(changeNew1) == false) {changeNew1 = "n/a"; } else {changeNew1 = changeNew1 + "% ";}
    
    changeNewMonth = ((NewCurrent - New1Month) / New1Month) * 100;
    changeNewMonth = Math.round(changeNewMonth*Math.pow(10,1))/Math.pow(10,1);
		if (isFinite(changeNewMonth) == false) {changeNewMonth = "n/a"; } else {changeNewMonth = changeNewMonth + "% ";}

    changeSold1 = ((SoldCurrent - Sold1Year) / Sold1Year) * 100;
    changeSold1 = Math.round(changeSold1*Math.pow(10,1))/Math.pow(10,1);
		if (isFinite(changeSold1) == false) {changeSold1 = "n/a"; } else {changeSold1 = changeSold1 + "% ";}
    
    changeSoldMonth = ((SoldCurrent - Sold1Month) / Sold1Month) * 100;
    changeSoldMonth = Math.round(changeSoldMonth*Math.pow(10,1))/Math.pow(10,1);
		if (isFinite(changeSoldMonth) == false) {changeSoldMonth = "n/a"; } else {changeSoldMonth = changeSoldMonth + "% ";}
    
    changePending1 = ((PendingCurrent - Pending1Year) / Pending1Year) * 100;
    changePending1 = Math.round(changePending1*Math.pow(10,1))/Math.pow(10,1);
		if (isFinite(changePending1) == false) {changePending1 = "n/a"; } else {changePending1 = changePending1 + "% ";}
    
    changePendingMonth = ((PendingCurrent - Pending1Month) / Pending1Month) * 100;
    changePendingMonth = Math.round(changePendingMonth*Math.pow(10,1))/Math.pow(10,1);
		if (isFinite(changePendingMonth) == false) {changePendingMonth = "n/a"; } else {changePendingMonth = changePendingMonth + "% ";}
    
    splitCYMcurrent = arrCYM[maxMonths - 1].split('/');
    splitCYMmonth = arrCYM[maxMonths - 2].split('/');
    splitCYM3 = arrCYM[0].split('/');
   
    currentMonth = getMonthShortName(parseInt(splitCYMcurrent[0])) + ' ' + splitCYMcurrent[1];
    yearAgoMonth = getMonthShortName(parseInt(splitCYMyear[0])) + ' ' + splitCYMyear[1];
    Month3 = getMonthShortName(parseInt(splitCYM3[0])) + ' ' + splitCYM3[1];
    lastMonth = getMonthShortName(parseInt(splitCYMmonth[0])) + ' ' + splitCYMmonth[1];

    html = "<table width='100%' style='font-family: Verdana; font-size: 10px;'><tr>";
    html = html + "<td align='left'><a href='http://www.trendgraphix.com/'><img src='images/TrendGraphixLogo.png' alt='TrendGraphix' border='0'/></a></td>";
	html = html + "<td align='right'>1 Month Summary: " ;

    if (maxMonths > 13) {
        Sale3 = arrSale[0];
        changeSale2 = ((SaleCurrent - Sale3) / Sale3) * 100;
        changeSale2 = Math.round(changeSale2*Math.pow(10,1))/Math.pow(10,1);
				if (isFinite(changeSale2) == false) {changeSale2 = "n/a"; } else {changeSale2 = changeSale2 + "% ";}

        New3 = arrNew[0];
        changeNew2 = ((NewCurrent - New3) / New3) * 100;
        changeNew2 = Math.round(changeNew2*Math.pow(10,1))/Math.pow(10,1);
			    if (isFinite(changeNew2) == false) {changeNew2 = "n/a"; } else {changeNew2 = changeNew2 + "% ";}
        
        Sold3 = arrSold[0];
        changeSold2 = ((SoldCurrent - Sold3) / Sold3) * 100;
        changeSold2 = Math.round(changeSold2*Math.pow(10,1))/Math.pow(10,1);
				if (isFinite(changeSold2) == false) {changeSold2 = "n/a"; } else {changeSold2 = changeSold2 + "% ";}
        
        Pending3 = arrPending[0];
        changePending2 = ((PendingCurrent - Pending3) / Pending3) * 100;
        changePending2 = Math.round(changePending2*Math.pow(10,1))/Math.pow(10,1);
				if (isFinite(changePending2) == false) {changePending2 = "n/a"; } else {changePending2 = changePending2 + "% ";}
			
		html1 = "1 Year Summary: " ;
		html2 = getTimeSpan(maxMonths) + " Summary: "; 
		
		if (report == '01' || report == '1B' || report == '1C' || report == '1E' || report == '1F' || report == '1G' || report == '1H')
		{ 
		  html = html + "<span class='label'><b>For Sale</b></span> " + classUporDown(changeSaleMonth) + arrowImage(changeSaleMonth) + changeSaleMonth + "</span>  ";
		  html1 = html1 + "<span class='label'><b>For Sale</b></span> " + classUporDown(changeSale1) + arrowImage(changeSale1) + changeSale1 + "</span>  ";
		  html2 = html2 + "<span class='label'><b>For Sale</b></span> " + classUporDown(changeSale2) + arrowImage(changeSale2) + changeSale2 + "</span>  ";
		}
		if (report == '1E' || report == '1F' || report == '1G' || report == '1H')
		{
  		  html = html + "<span class='label'>  |  <b>New Listing</b></span> " + classUporDown(changeNewMonth) + arrowImage(changeNewMonth) + changeNewMonth + "</span>  ";
		  html1 = html1 + "<span class='label'>  |  <b>New Listing</b></span> " + classUporDown(changeNew1) + arrowImage(changeNew1) + changeNew1 + "</span>  ";
		  html2 = html2 + "<span class='label'>  |  <b>New Listing</b></span> " + classUporDown(changeNew2) + arrowImage(changeNew2) + changeNew2 + "</span>  ";
		}
		if (report == '1I' || report == '1J'  || report == '1K')
		{
  		  html = html + "<span class='label'><b>New Listing</b></span> " + classUporDown(changeNewMonth) + arrowImage(changeNewMonth) + changeNewMonth + "</span>  ";
		  html1 = html1 + "<span class='label'><b>New Listing</b></span> " + classUporDown(changeNew1) + arrowImage(changeNew1) + changeNew1 + "</span>  ";
		  html2 = html2 + "<span class='label'><b>New Listing</b></span> " + classUporDown(changeNew2) + arrowImage(changeNew2) + changeNew2 + "</span>  ";
		}
		if (report == '01' || report == '1B' || report == '1E' || report == '1G' || report == '1I' || report == '1J')
		{ 
  		  html = html + "<span class='label'>  |  <b>Sold</b></span> " + classUporDown(changeSoldMonth) + arrowImage(changeSoldMonth) + changeSoldMonth + "</span>  " ;
		  html1 = html1 + "<span class='label'>  |  <b>Sold</b></span> " + classUporDown(changeSold1) + arrowImage(changeSold1) + changeSold1 + "</span>  " ;
		  html2 = html2 + "<span class='label'>  |  <b>Sold</b></span> " + classUporDown(changeSold2) + arrowImage(changeSold2) + changeSold2 + "</span>  "; 
		}
		if (report == '1D')
		{ 
  		  html = html + "<span class='label'><b>Sold</b></span> " + classUporDown(changeSoldMonth) + arrowImage(changeSoldMonth) + changeSoldMonth + "</span>  " ;
		  html1 = html1 + "<span class='label'><b>Sold</b></span> " + classUporDown(changeSold1) + arrowImage(changeSold1) + changeSold1 + "</span>  " ;
		  html2 = html2 + "<span class='label'><b>Sold</b></span> " + classUporDown(changeSold2) + arrowImage(changeSold2) + changeSold2 + "</span>  "; 
		}
		if (report == '1B' || report == '1C' || report == '1D' || report == '1E' || report == '1H' || report == '1I' || report == '1K') 
		{ 
  		  html = html + "<span class='label'>  |  <b>Pended</b></span> " + classUporDown(changePendingMonth) + arrowImage(changePendingMonth) + changePendingMonth + "</span>  ";
		  html1 = html1 + "<span class='label'>  |  <b>Pended</b></span> " + classUporDown(changePending1) + arrowImage(changePending1) + changePending1 + "</span>  ";
		  html2 = html2 + "<span class='label'>  |  <b>Pended</b></span> " + classUporDown(changePending2) + arrowImage(changePending2) + changePending2 + "</span>  ";
		}
		
		html = html + "<br/>" + html1 + "<br/>" + html2 + "</td></tr></table>";

    }
    else 
	{
		if (maxMonths == 13)
		{ html1 = "1 Year Summary: " ;	}
		else
		{ html1 = maxMonths + " Monts Summary: "; }
		
		if (report == '01' || report == '1B' || report == '1C' || report == '1E' || report == '1F' || report == '1G' || report == '1H')
		{ 
		  html = html + "<span class='label'><b>For Sale</b></span> " + classUporDown(changeSaleMonth) + arrowImage(changeSaleMonth) + changeSaleMonth + "</span>  ";
		  html1 = html1 + "<span class='label'><b>For Sale</b></span> " + classUporDown(changeSale1) + arrowImage(changeSale1) + changeSale1 + "</span>  ";
		}
		if (report == '1E' || report == '1F' || report == '1G' || report == '1H')
		{
  		  html = html + "<span class='label'>  |  <b>New Listing</b></span> " + classUporDown(changeNewMonth) + arrowImage(changeNewMonth) + changeNewMonth + "</span>  ";
		  html1 = html1 + "<span class='label'>  |  <b>New Listing</b></span> " + classUporDown(changeNew1) + arrowImage(changeNew1) + changeNew1 + "</span>  ";
		}
		if (report == '1I' || report == '1J' || report == '1K')
		{
  		  html = html + "<span class='label'><b>New Listing</b></span> " + classUporDown(changeNewMonth) + arrowImage(changeNewMonth) + changeNewMonth + "</span>  ";
		  html1 = html1 + "<span class='label'><b>New Listing</b></span> " + classUporDown(changeNew1) + arrowImage(changeNew1) + changeNew1 + "</span>  ";
		}
		if (report == '01' || report == '1B' || report == '1E' || report == '1G' || report == '1I' || report == '1J')
		{ 
  		  html = html + "<span class='label'>  |  <b>Sold</b></span> " + classUporDown(changeSoldMonth) + arrowImage(changeSoldMonth) + changeSoldMonth + "</span>  " ;
		  html1 = html1 + "<span class='label'>  |  <b>Sold</b></span> " + classUporDown(changeSold1) + arrowImage(changeSold1) + changeSold1 + "</span>  " ;
		}
		if (report == '1D')
		{ 
  		  html = html + "<span class='label'><b>Sold</b></span> " + classUporDown(changeSoldMonth) + arrowImage(changeSoldMonth) + changeSoldMonth + "</span>  " ;
		  html1 = html1 + "<span class='label'><b>Sold</b></span> " + classUporDown(changeSold1) + arrowImage(changeSold1) + changeSold1 + "</span>  " ;
		}
		if (report == '1B' || report == '1C' || report == '1D' || report == '1E' || report == '1H' || report == '1I' || report == '1K')
		{ 
  		  html = html + "<span class='label'>  |  <b>Pended</b></span> " + classUporDown(changePendingMonth) + arrowImage(changePendingMonth) + changePendingMonth + "</span>  ";
		  html1 = html1 + "<span class='label'>  |  <b>Pended</b></span> " + classUporDown(changePending1) + arrowImage(changePending1) + changePending1 + "</span>  ";
		}
		
		html = html + "<br/>" + html1 + "</td></tr></table>";

    }
    return html;
}

function buildSummaryTableSQFT() {
    var maxMonths;
    var html;
    
    var avgSqftCurrent;
    var avgSqft1Year;
    var avgSqft3;
    var avgSqft1Month;
    var changeAvgSqft1;
    var changeAvgSqft2;
    var changeAvgSqftMonth;
    var currentMonth;
    var yearAgoMonth;
    var Month3;
    var lastMonth;
	
	maxMonths = arrSale.length;
    
    if (maxMonths > 13) {
        avgSqft1Year = arrSQFT[maxMonths - yearAgoSplit]; 
        splitCYMyear = arrCYM[maxMonths - yearAgoSplit].split('/'); }
    else { 
        avgSqft1Year = arrSQFT[0]; 
        splitCYMyear = arrCYM[0].split('/'); }
    
    splitCYMcurrent = arrCYM[maxMonths - 1].split('/');
    splitCYMmonth = arrCYM[maxMonths - 2].split('/');
    splitCYM3 = arrCYM[0].split('/');
    
    avgSqftCurrent = arrSQFT[maxMonths - 1];
    avgSqft1Month = arrSQFT[maxMonths - 2];
    
    changeAvgSqft1 = ((avgSqftCurrent - avgSqft1Year) / avgSqft1Year) * 100;
    changeAvgSqft1 = Math.round(changeAvgSqft1*Math.pow(10,1))/Math.pow(10,1);
		if (isFinite(changeAvgSqft1) == false) {changeAvgSqft1 = "n/a"; } else {changeAvgSqft1 = changeAvgSqft1 + "% ";}
    
    changeAvgSqftMonth = ((avgSqftCurrent - avgSqft1Month) / avgSqft1Month) * 100;
    changeAvgSqftMonth = Math.round(changeAvgSqftMonth*Math.pow(10,1))/Math.pow(10,1);
		if (isFinite(changeAvgSqftMonth) == false) {changeAvgSqftMonth = "n/a"; } else {changeAvgSqftMonth = changeAvgSqftMonth + "% ";}
    
    currentMonth = getMonthShortName(parseInt(splitCYMcurrent[0])) + ' ' + splitCYMcurrent[1];
    yearAgoMonth = getMonthShortName(parseInt(splitCYMyear[0])) + ' ' + splitCYMyear[1];
    Month3 = getMonthShortName(parseInt(splitCYM3[0])) + ' ' + splitCYM3[1];
    lastMonth = getMonthShortName(parseInt(splitCYMmonth[0])) + ' ' + splitCYMmonth[1];

    html = "<table width='100%' style='font-family: Verdana; font-size: 10px;'><tr>";
    html = html + "<td align='left'><a href='http://www.trendgraphix.com/'><img src='images/TrendGraphixLogo.png' alt='TrendGraphix' border='0'/></a></td>";
	html = html + "<td align='right'>1 Month Summary: <span class='label'><b>Avg. Sq. Ft. Price</b></span> " + classUporDown(changeAvgSqftMonth) + arrowImage(changeAvgSqftMonth) + changeAvgSqftMonth + "</span>  ";

    if (maxMonths > 13) {
        avgSqft3 = arrSQFT[0];
        changeAvgSqft2 = ((avgSqftCurrent - avgSqft3) / avgSqft3) * 100;
        changeAvgSqft2 = Math.round(changeAvgSqft2*Math.pow(10,1))/Math.pow(10,1);
				if (isFinite(changeAvgSqft2) == false) {changeAvgSqft2 = "n/a"; } else {changeAvgSqft2 = changeAvgSqft2 + "% ";}
        
		html1 = "1 Year Summary: <span class='label'><b>Avg. Sq. Ft. Price</b></span> " + classUporDown(changeAvgSqft1) + arrowImage(changeAvgSqft1) + changeAvgSqft1 + "</span>  ";
		html2 = getTimeSpan(maxMonths) + " Summary: <span class='label'><b>Avg. Sq. Ft. Price</b></span> " + classUporDown(changeAvgSqft2) + arrowImage(changeAvgSqft2) + changeAvgSqft2 + "</span>  "; 
		html = html + "<br/>" + html1 + "<br/>" + html2 + "</td></tr></table>";
    }
    else {
        if (maxMonths == 13) 
		{ html1 = "1 Year Summary: <span class='label'><b>Avg. Sq. Ft. Price</b></span> " + classUporDown(changeAvgSqft1) + arrowImage(changeAvgSqft1) + changeAvgSqft1 + "</span>  ";	}
        else 
		{ html1 = maxMonths + " Months Summary: <span class='label'><b>Avg. Sq. Ft. Price</b></span> " + classUporDown(changeAvgSqft1) + arrowImage(changeAvgSqft1) + changeAvgSqft1 + "</span>  "; }
		html = html + "<br/>" + html1 + "</td></tr></table>";
    }
    return html;
}

function buildSummaryTableDOM(report) {
    var maxMonths;
    var html;
    
    var avgDOMCurrent;
    var avgDOM1Year;
    var avgDOM3;
    var avgDOM1Month;
    var changeAvgDOM1;
    var changeAvgDOM2;
    var changeAvgDOMmonth;
    var SPLPDiffCurrent;
    var SPLPDiff1Year;
    var SPLPDiff3;
    var SPLPDiff1Month;
    var changeSPLPDiff1;
    var changeSPLPDiff2;
    var changeSPLPDiffMonth;
    var avgCDOMCurrent;
    var avgCDOM1Year;
    var avgCDOM3;
    var avgCDOM1Month;
    var changeAvgCDOM1;
    var changeAvgCDOM2;
    var changeAvgCDOMmonth;
    var SPOrigLPDiffCurrent;
    var SPOrigLPDiff1Year;
    var SPOrigLPDiff3;
    var SPOrigLPDiff1Month;
    var changeSPOrigLPDiff1;
    var changeSPOrigLPDiff2;
    var changeSPOrigLPDiffMonth;
	
	var avgDOM1MonHtml;
	var avgCDO1MonMHtml;
	var SPLPDiff1MonHtml;
	var SPOrigLPDiff1MonHtml;
	
	var avgDOM1YrHtml;
	var avgCDO1YrMHtml;
	var SPLPDiff1YrHtml;
	var SPOrigLPDiff1YrHtml;

	var avgDOMMaxMonHtml;
	var avgCDOMMaxMonMHtml;
	var SPLPDiffMaxMonHtml;
	var SPOrigLPDiffMaxMonHtml;
	
	var html1;
	var html2;
	    
    maxMonths = arrSale.length;

    if (maxMonths > 13) {
        avgDOM1Year = arrDOM[maxMonths - yearAgoSplit]; 
        SPLPDiff1Year = arrSPLPPct[maxMonths - yearAgoSplit]; 
        avgCDOM1Year = arrCDOM[maxMonths - yearAgoSplit]; 
        SPOrigLPDiff1Year = arrSPOrigLP[maxMonths - yearAgoSplit]; 
        splitCYMyear = arrCYM[maxMonths - yearAgoSplit].split('/'); }
    else { 
        avgDOM1Year = arrDOM[0]; 
        SPLPDiff1Year = arrSPLPPct[0]; 
        avgCDOM1Year = arrCDOM[0]; 
        SPOrigLPDiff1Year = arrSPOrigLP[0]; 
        splitCYMyear = arrCYM[0].split('/'); }
        
    splitCYMcurrent = arrCYM[maxMonths - 1].split('/');
    splitCYMmonth = arrCYM[maxMonths - 2].split('/');
    splitCYM3 = arrCYM[0].split('/');
    
    avgDOMCurrent = arrDOM[maxMonths - 1];
    SPLPDiffCurrent = arrSPLPPct[maxMonths - 1]; 
    avgCDOMCurrent = arrCDOM[maxMonths - 1]; 
    SPOrigLPDiffCurrent = arrSPOrigLP[maxMonths - 1];
    
    avgDOM1Month = arrDOM[maxMonths - 2];
    SPLPDiff1Month = arrSPLPPct[maxMonths - 2]; 
    avgCDOM1Month = arrCDOM[maxMonths - 2]; 
    SPOrigLPDiff1Month = arrSPOrigLP[maxMonths - 2];
    
    if (avgCDOMCurrent.indexOf('</string>') != -1)
    { avgCDOMCurrent = avgCDOMCurrent.replace('</string>', ''); } 
    
    changeAvgDOM1 = ((avgDOMCurrent - avgDOM1Year) / avgDOM1Year) * 100;
    changeAvgDOM1 = Math.round(changeAvgDOM1*Math.pow(10,1))/Math.pow(10,1);
		if (isFinite(changeAvgDOM1) == false) {changeAvgDOM1 = "n/a"; } else {changeAvgDOM1 = changeAvgDOM1 + "% ";}
    
    changeAvgDOMmonth = ((avgDOMCurrent - avgDOM1Month) / avgDOM1Month) * 100;
    changeAvgDOMmonth = Math.round(changeAvgDOMmonth*Math.pow(10,1))/Math.pow(10,1);
		if (isFinite(changeAvgDOMmonth) == false) {changeAvgDOMmonth = "n/a"; } else {changeAvgDOMmonth = changeAvgDOMmonth + "% ";}
    
    changeSPLPDiff1 = ((SPLPDiffCurrent - SPLPDiff1Year) / SPLPDiff1Year) * 100;
    changeSPLPDiff1 = Math.round(changeSPLPDiff1*Math.pow(10,1))/Math.pow(10,1);
		if (isFinite(changeSPLPDiff1) == false) {changeSPLPDiff1 = "n/a"; } else {changeSPLPDiff1 = changeSPLPDiff1 + "% ";}
    
    changeSPLPDiffMonth = ((SPLPDiffCurrent - SPLPDiff1Month) / SPLPDiff1Month) * 100;
    changeSPLPDiffMonth = Math.round(changeSPLPDiffMonth*Math.pow(10,1))/Math.pow(10,1);
		if (isFinite(changeSPLPDiffMonth) == false) {changeSPLPDiffMonth = "n/a"; } else {changeSPLPDiffMonth = changeSPLPDiffMonth + "% ";}
    
    changeAvgCDOM1 = ((avgCDOMCurrent - avgCDOM1Year) / avgCDOM1Year) * 100;
    changeAvgCDOM1 = Math.round(changeAvgCDOM1*Math.pow(10,1))/Math.pow(10,1);
		if (isFinite(changeAvgCDOM1) == false) {changeAvgCDOM1 = "n/a"; } else {changeAvgCDOM1 = changeAvgCDOM1 + "% ";}
    
    changeAvgCDOMmonth = ((avgCDOMCurrent - avgCDOM1Month) / avgCDOM1Month) * 100;
    changeAvgCDOMmonth = Math.round(changeAvgCDOMmonth*Math.pow(10,1))/Math.pow(10,1);
		if (isFinite(changeAvgCDOMmonth) == false) {changeAvgCDOMmonth = "n/a"; } else {changeAvgCDOMmonth = changeAvgCDOMmonth + "% ";}
    
    changeSPOrigLPDiff1 = ((SPOrigLPDiffCurrent - SPOrigLPDiff1Year) / SPOrigLPDiff1Year) * 100;
    changeSPOrigLPDiff1 = Math.round(changeSPOrigLPDiff1*Math.pow(10,1))/Math.pow(10,1);
		if (isFinite(changeSPOrigLPDiff1) == false) {changeSPOrigLPDiff1 = "n/a"; } else {changeSPOrigLPDiff1 = changeSPOrigLPDiff1 + "% ";}
    
    changeSPOrigLPDiffMonth = ((SPOrigLPDiffCurrent - SPOrigLPDiff1Month) / SPOrigLPDiff1Month) * 100;
    changeSPOrigLPDiffMonth = Math.round(changeSPOrigLPDiffMonth*Math.pow(10,1))/Math.pow(10,1);
		if (isFinite(changeSPOrigLPDiffMonth) == false) {changeSPOrigLPDiffMonth = "n/a"; } else {changeSPOrigLPDiffMonth = changeSPOrigLPDiffMonth + "% ";}
    
    currentMonth = getMonthShortName(parseInt(splitCYMcurrent[0])) + ' ' + splitCYMcurrent[1];
    yearAgoMonth = getMonthShortName(parseInt(splitCYMyear[0])) + ' ' + splitCYMyear[1];
    Month3 = getMonthShortName(parseInt(splitCYM3[0])) + ' ' + splitCYM3[1];
    lastMonth = getMonthShortName(parseInt(splitCYMmonth[0])) + ' ' + splitCYMmonth[1];

    html = "<table width='100%' style='font-family: Verdana; font-size: 10px;'><tr>";
    html = html + "<td align='left'><a href='http://www.trendgraphix.com/'><img src='images/TrendGraphixLogo.png' alt='TrendGraphix' border='0'/></a></td>";
	html = html + "<td align='right'>1 Month Summary: ";
        
    if (maxMonths > 13) {
        avgDOM3 = arrDOM[0];
        changeAvgDOM2 = ((avgDOMCurrent - avgDOM3) / avgDOM3) * 100;
        changeAvgDOM2 = Math.round(changeAvgDOM2*Math.pow(10,1))/Math.pow(10,1);
				if (isFinite(changeAvgDOM2) == false) {changeAvgDOM2 = "n/a"; } else {changeAvgDOM2 = changeAvgDOM2 + "% ";}
        
        SPLPDiff3 = arrSPLPPct[0];
        changeSPLPDiff2 = ((SPLPDiffCurrent - SPLPDiff3) / SPLPDiff3) * 100;
        changeSPLPDiff2 = Math.round(changeSPLPDiff2*Math.pow(10,1))/Math.pow(10,1);
				if (isFinite(changeSPLPDiff2) == false) {changeSPLPDiff2 = "n/a"; } else {changeSPLPDiff2 = changeSPLPDiff2 + "% ";}
        
        avgCDOM3 = arrCDOM[0];
        changeAvgCDOM2 = ((avgCDOMCurrent - avgCDOM3) / avgCDOM3) * 100;
        changeAvgCDOM2 = Math.round(changeAvgCDOM2*Math.pow(10,1))/Math.pow(10,1);
				if (isFinite(changeAvgCDOM2) == false) {changeAvgCDOM2 = "n/a"; } else {changeAvgCDOM2 = changeAvgCDOM2 + "% ";}
        
        SPOrigLPDiff3 = arrSPOrigLP[0];
        changeSPOrigLPDiff2 = ((SPOrigLPDiffCurrent - SPOrigLPDiff3) / SPOrigLPDiff3) * 100;
        changeSPOrigLPDiff2 = Math.round(changeSPOrigLPDiff2*Math.pow(10,1))/Math.pow(10,1);
				if (isFinite(changeSPOrigLPDiff2) == false) {changeSPOrigLPDiff2 = "n/a"; } else {changeSPOrigLPDiff2 = changeSPOrigLPDiff2 + "% ";}

		html1 = "1 Year Summary: " ;
		html2 = getTimeSpan(maxMonths) + " Summary: "; 
        
        if (report == '5B' || report == '05')
        { 
		  html = html + "<span class='label'><b>Avg. DOM</b></span> " + classUporDown(changeAvgDOMmonth) + arrowImage(changeAvgDOMmonth) + changeAvgDOMmonth + "</span>  ";
		  html1 = html1 + "<span class='label'><b>Avg. DOM</b></span> " + classUporDown(changeAvgDOM1) + arrowImage(changeAvgDOM1) + changeAvgDOM1 + "</span>  ";
		  html2 = html2 + "<span class='label'><b>Avg. DOM</b></span> " + classUporDown(changeAvgDOM2) + arrowImage(changeAvgDOM2) + changeAvgDOM2 + "</span>  ";
		}  
        if (report == '5C' || report == '5D')
        { 
		  html = html + "<span class='label'><b>Avg. CDOM</b></span> " + classUporDown(changeAvgCDOMmonth) + arrowImage(changeAvgCDOMmonth) + changeAvgCDOMmonth + "</span>  ";
		  html1 = html1 + "<span class='label'><b>Avg. CDOM</b></span> " + classUporDown(changeAvgCDOM1) + arrowImage(changeAvgCDOM1) + changeAvgCDOM1 + "</span>  ";
		  html2 = html2 + "<span class='label'><b>Avg. CDOM</b></span> " + classUporDown(changeAvgCDOM2) + arrowImage(changeAvgCDOM2) + changeAvgCDOM2 + "</span>  ";
		}
        if (report == '5C' || report == '05')
        { 
		  html = html + "<span class='label'>  |  <b>SP/LP %</b></span> " + classUporDown(changeSPLPDiffMonth) + arrowImage(changeSPLPDiffMonth) + changeSPLPDiffMonth + "</span>  ";
		  html1 = html1 + "<span class='label'>  |  <b>SP/LP %</b></span> " + classUporDown(changeSPLPDiff1) + arrowImage(changeSPLPDiff1) + changeSPLPDiff1 + "</span>  ";
		  html2 = html2 + "<span class='label'>  |  <b>SP/LP %</b></span> " + classUporDown(changeSPLPDiff2) + arrowImage(changeSPLPDiff2) + changeSPLPDiff2 + "</span>  ";
		}
        if (report == '5B' || report == '5D')
        { 
		  html = html + "<span class='label'>  |  <b>SP/Orig LP %</b></span> " + classUporDown(changeSPOrigLPDiffMonth) + arrowImage(changeSPOrigLPDiffMonth) + changeSPOrigLPDiffMonth + "</span>  ";
		  html1 = html1 + "<span class='label'>  |  <b>SP/Orig LP %</b></span> " + classUporDown(changeSPOrigLPDiff1) + arrowImage(changeSPOrigLPDiff1) + changeSPOrigLPDiff1 + "</span>  ";
		  html2 = html2 + "<span class='label'>  |  <b>SP/Orig LP %</b></span> " + classUporDown(changeSPOrigLPDiff2) + arrowImage(changeSPOrigLPDiff2) + changeSPOrigLPDiff2 + "</span>  ";
		}
        html = html + "<br/>" + html1 + "<br/>" + html2 + "</td></tr></table>";
    }
    else 
	{
		if (maxMonths == 13)
		{ html1 = "1 Year Summary: " ;	}
		else
		{ html1 = maxMonths + " Monts Summary: "; }
		
        if (report == '5B' || report == '05')
        { 
		  html = html + "<span class='label'><b>Avg. DOM</b></span> " + classUporDown(changeAvgDOMmonth) + arrowImage(changeAvgDOMmonth) + changeAvgDOMmonth + "</span>  ";
		  html1 = html1 + "<span class='label'><b>Avg. DOM</b></span> " + classUporDown(changeAvgDOM1) + arrowImage(changeAvgDOM1) + changeAvgDOM1 + "</span>  ";
		}  
        if (report == '5C' || report == '5D')
        { 
		  html = html + "<span class='label'><b>Avg. CDOM</b></span> " + classUporDown(changeAvgCDOMmonth) + arrowImage(changeAvgCDOMmonth) + changeAvgCDOMmonth + "</span>  ";
		  html1 = html1 + "<span class='label'><b>Avg. CDOM</b></span> " + classUporDown(changeAvgCDOM1) + arrowImage(changeAvgCDOM1) + changeAvgCDOM1 + "</span>  ";
		}
        if (report == '5C' || report == '05')
        { 
		  html = html + "<span class='label'>  |  <b>SP/LP %</b></span> " + classUporDown(changeSPLPDiffMonth) + arrowImage(changeSPLPDiffMonth) + changeSPLPDiffMonth + "</span>  ";
		  html1 = html1 + "<span class='label'>  |  <b>SP/LP %</b></span> " + classUporDown(changeSPLPDiff1) + arrowImage(changeSPLPDiff1) + changeSPLPDiff1 + "</span>  ";
		}
        if (report == '5B' || report == '5D')
        { 
		  html = html + "<span class='label'>  |  <b>SP/Orig LP %</b></span> " + classUporDown(changeSPOrigLPDiffMonth) + arrowImage(changeSPOrigLPDiffMonth) + changeSPOrigLPDiffMonth + "</span>  ";
		  html1 = html1 + "<span class='label'>  |  <b>SP/Orig LP %</b></span> " + classUporDown(changeSPOrigLPDiff1) + arrowImage(changeSPOrigLPDiff1) + changeSPOrigLPDiff1 + "</span>  ";
		}
		html = html + "<br/>" + html1 + "</td></tr></table>";
    }
    return html;
}

function buildSummaryTableAveragePrice() {
    var maxMonths;
    var html;
    
    var avgActiveCurrent;
    var avgActive1Year;
    var avgActive3;
    var avgActive1Month;
    var avgSoldCurrent;
    var avgSold1Year;
    var avgSold3;
    var avgSold1Month;
    var changeAvgActive1;
    var changeAvgActive2;
    var changeAvgActiveMonth;
    var changeAvgSold1;
    var changeAvgSold2;
    var changeAvgSoldMonth;
        
    maxMonths = arrSale.length;
    
    if (maxMonths > 13) {
        avgActive1Year = arrActAvg[maxMonths - yearAgoSplit]; 
        avgSold1Year = arrSldAvg[maxMonths - yearAgoSplit]; 
        splitCYMyear = arrCYM[maxMonths - yearAgoSplit].split('/'); }
    else { 
        avgActive1Year = arrActAvg[0]; 
        avgSold1Year = arrSldAvg[0]; 
        splitCYMyear = arrCYM[0].split('/'); }
        
    splitCYMcurrent = arrCYM[maxMonths - 1].split('/');
    splitCYMmonth = arrCYM[maxMonths - 2].split('/');
    splitCYM3 = arrCYM[0].split('/');
    
    avgActiveCurrent = arrActAvg[maxMonths - 1];
    avgSoldCurrent = arrSldAvg[maxMonths - 1]; 
    
    avgActive1Month = arrActAvg[maxMonths - 2];
    avgSold1Month = arrSldAvg[maxMonths - 2]; 
    
    changeAvgActive1 = ((avgActiveCurrent - avgActive1Year) / avgActive1Year) * 100;
    changeAvgActive1 = Math.round(changeAvgActive1*Math.pow(10,1))/Math.pow(10,1);
		if (isFinite(changeAvgActive1) == false) {changeAvgActive1 = "n/a"; } else {changeAvgActive1 = changeAvgActive1 + "% ";}
    
    changeAvgActiveMonth = ((avgActiveCurrent - avgActive1Month) / avgActive1Month) * 100;
    changeAvgActiveMonth = Math.round(changeAvgActiveMonth*Math.pow(10,1))/Math.pow(10,1);
		if (isFinite(changeAvgActiveMonth) == false) {changeAvgActiveMonth = "n/a"; } else {changeAvgActiveMonth = changeAvgActiveMonth + "% ";}
    
    changeAvgSold1 = ((avgSoldCurrent - avgSold1Year) / avgSold1Year) * 100;
    changeAvgSold1 = Math.round(changeAvgSold1*Math.pow(10,1))/Math.pow(10,1);
		if (isFinite(changeAvgSold1) == false) {changeAvgSold1 = "n/a"; } else {changeAvgSold1 = changeAvgSold1 + "% ";}
    
    changeAvgSoldMonth = ((avgSoldCurrent - avgSold1Month) / avgSold1Month) * 100;
    changeAvgSoldMonth = Math.round(changeAvgSoldMonth*Math.pow(10,1))/Math.pow(10,1);
		if (isFinite(changeAvgSoldMonth) == false) {changeAvgSoldMonth = "n/a"; } else {changeAvgSoldMonth = changeAvgSoldMonth + "% ";}
    
    currentMonth = getMonthShortName(parseInt(splitCYMcurrent[0])) + ' ' + splitCYMcurrent[1];
    yearAgoMonth = getMonthShortName(parseInt(splitCYMyear[0])) + ' ' + splitCYMyear[1];
    Month3 = getMonthShortName(parseInt(splitCYM3[0])) + ' ' + splitCYM3[1];
    lastMonth = getMonthShortName(parseInt(splitCYMmonth[0])) + ' ' + splitCYMmonth[1];
    
    html = "<table width='100%' style='font-family: Verdana; font-size: 10px;'><tr>";
    html = html + "<td align='left'><a href='http://www.trendgraphix.com/'><img src='images/TrendGraphixLogo.png' alt='TrendGraphix' border='0'/></a></td>";
	html = html + "<td align='right'>1 Month Summary: <span class='label'><b>Avg. Active Price</b></span> " + classUporDown(changeAvgActiveMonth) + arrowImage(changeAvgActiveMonth) + changeAvgActiveMonth + "</span>  ";
	html = html + "<span class='label'>  |  <b>Avg. Sold Price</b></span> " + classUporDown(changeAvgSoldMonth) + arrowImage(changeAvgSoldMonth) + changeAvgSoldMonth + "</span><br/>";

    if (maxMonths > 13) {
        avgActive3 = arrActAvg[0];
        changeAvgActive2 = ((avgActiveCurrent - avgActive3) / avgActive3) * 100;
        changeAvgActive2 = Math.round(changeAvgActive2*Math.pow(10,1))/Math.pow(10,1);
				if (isFinite(changeAvgActive2) == false) {changeAvgActive2 = "n/a"; } else {changeAvgActive2 = changeAvgActive2 + "% ";}
        
        avgSold3 = arrSldAvg[0];
        changeAvgSold2 = ((avgSoldCurrent - avgSold3) / avgSold3) * 100;
        changeAvgSold2 = Math.round(changeAvgSold2*Math.pow(10,1))/Math.pow(10,1);
				if (isFinite(changeAvgSold2) == false) {changeAvgSold2 = "n/a"; } else {changeAvgSold2 = changeAvgSold2 + "% ";}
        
		html = html + "1 Year Summary: <span class='label'><b>Avg. Active Price</b></span> " + classUporDown(changeAvgActive1) + arrowImage(changeAvgActive1) + changeAvgActive1 + "</span>  ";
		html = html + "<span class='label'>  |  <b>Avg. Sold Price</b></span> " + classUporDown(changeAvgSold1) + arrowImage(changeAvgSold1) + changeAvgSold1 + "</span><br/>";

		html = html + getTimeSpan(maxMonths) + " Summary: <span class='label'><b>Avg. Active Price</b></span> " + classUporDown(changeAvgActive2) + arrowImage(changeAvgActive2) + changeAvgActive2 + "</span>  ";
		html = html + "<span class='label'>  |  <b>Avg. Sold Price</b></span> " + classUporDown(changeAvgSold2) + arrowImage(changeAvgSold2) + changeAvgSold2 + "</span><br/>";

		html = html + "</td></tr></table>";
    }
    else {
        if (maxMonths == 13) 
		{ 
		  html = html + "1 Year Summary: <span class='label'><b>Avg. Active Price</b></span> " + classUporDown(changeAvgActive1) + arrowImage(changeAvgActive1) + changeAvgActive1 + "</span>  ";
		}
        else 
		{ 
		  html = html + maxMonths + " Summary: <span class='label'><b>Avg. Active Price</b></span> " + classUporDown(changeAvgActive1) + arrowImage(changeAvgActive1) + changeAvgActive1 + "</span>  ";
		}

		html = html + "<span class='label'>  |  <b>Avg. Sold Price</b></span> " + classUporDown(changeAvgSold1) + arrowImage(changeAvgSold1) + changeAvgSold1 + "</span><br/>";
		html = html + "</td></tr></table>";
    }
    return html;
}

function buildSummaryTableMedianPrice() {
    var maxMonths;
    var html;
    
    var medianPriceCurrent;
    var medianPrice1Year;
    var medianPrice3;
    var medianPrice1Month;
    var changeMedianPrice1;
    var changeMedianPrice2;
    var changeMedianPriceMonth;
    
    maxMonths = arrSale.length;
    
    if (maxMonths > 13) {
        medianPrice1Year = arrMedian[maxMonths - yearAgoSplit]; 
        splitCYMyear = arrCYM[maxMonths - yearAgoSplit].split('/'); }
    else { 
        medianPrice1Year = arrMedian[0]; 
        splitCYMyear = arrCYM[0].split('/'); }
    
    splitCYMcurrent = arrCYM[maxMonths - 1].split('/');
    splitCYMmonth = arrCYM[maxMonths - 2].split('/');
    splitCYM3 = arrCYM[0].split('/');
    
    medianPriceCurrent = arrMedian[maxMonths - 1];
    medianPrice1Month = arrMedian[maxMonths - 2];
    
    changeMedianPrice1 = ((medianPriceCurrent - medianPrice1Year) / medianPrice1Year) * 100;
    changeMedianPrice1 = Math.round(changeMedianPrice1*Math.pow(10,1))/Math.pow(10,1);
		if (isFinite(changeMedianPrice1) == false) {changeMedianPrice1 = "n/a"; } else {changeMedianPrice1 = changeMedianPrice1 + "% ";}
    
    changeMedianPriceMonth = ((medianPriceCurrent - medianPrice1Month) / medianPrice1Month) * 100;
    changeMedianPriceMonth = Math.round(changeMedianPriceMonth*Math.pow(10,1))/Math.pow(10,1);
		if (isFinite(changeMedianPriceMonth) == false) {changeMedianPriceMonth = "n/a"; } else {changeMedianPriceMonth = changeMedianPriceMonth + "% ";}
    
    currentMonth = getMonthShortName(parseInt(splitCYMcurrent[0])) + ' ' + splitCYMcurrent[1];
    yearAgoMonth = getMonthShortName(parseInt(splitCYMyear[0])) + ' ' + splitCYMyear[1];
    Month3 = getMonthShortName(parseInt(splitCYM3[0])) + ' ' + splitCYM3[1];
    lastMonth = getMonthShortName(parseInt(splitCYMmonth[0])) + ' ' + splitCYMmonth[1];

    html = "<table width='100%' style='font-family: Verdana; font-size: 10px;'><tr>";
    html = html + "<td align='left'><a href='http://www.trendgraphix.com/'><img src='images/TrendGraphixLogo.png' alt='TrendGraphix' border='0'/></a></td>";
	html = html + "<td align='right'>1 Month Summary: <span class='label'><b>Median Price</b></span> " + classUporDown(changeMedianPriceMonth) + arrowImage(changeMedianPriceMonth) + changeMedianPriceMonth + "</span></br>";

    if (maxMonths > 13) {
        medianPrice3 = arrMedian[0];
        changeMedianPrice2 = ((medianPriceCurrent - medianPrice3) / medianPrice3) * 100;
        changeMedianPrice2 = Math.round(changeMedianPrice2*Math.pow(10,1))/Math.pow(10,1);
				if (isFinite(changeMedianPrice2) == false) {changeMedianPrice2 = "n/a"; } else {changeMedianPrice2 = changeMedianPrice2 + "% ";}
        
		html = html + "1 Year Summary: <span class='label'><b>Median Price</b></span> " + classUporDown(changeMedianPrice1) + arrowImage(changeMedianPrice1) + changeMedianPrice1 + "</span></br>";
		html = html + getTimeSpan(maxMonths) + " Summary: <span class='label'><b>Median Price</b></span> " + classUporDown(changeMedianPrice2) + arrowImage(changeMedianPrice2) + changeMedianPrice2 + "</span>";
		html = html + "</td></tr></table>";
    }
    else {
        if (maxMonths == 13) 
		{ html = html + "1 Year Summary: <span class='label'><b>Median Price</b></span> " + classUporDown(changeMedianPrice1) + arrowImage(changeMedianPrice1) + changeMedianPrice1 + "</span>"; }
        else 
		{ html = html + maxMonths + " Months Summary: <span class='label'><b>Median Price</b></span> " + classUporDown(changeMedianPrice1) + arrowImage(changeMedianPrice1) + changeMedianPrice1 + "</span>"; }
        
		html = html + "</td></tr></table>";
    }
    return html;
}

function buildSummaryTableInventory(report) {
    var maxMonths;
    var html;
    var market;
    
	var inventory;
    var inventoryCloseCurrent;
    var inventoryClose1Year;
    var inventoryClose3;
    var inventoryClose1Month;
    var changeInventoryClose;
    var changeInventoryClose2;
    var changeInventoryCloseMonth;
    
    var inventoryPendCurrent;
    var inventoryPend1Year;
    var inventoryPend3;
    var inventoryPend1Month;
    var changeInventoryPend;
    var changeInventoryPend2;
    var changeInventoryPendMonth;
    
    var Absorption;
    var AbsorptionCloseCurrent;
    var AbsorptionClose1Year;
    var AbsorptionClose3;
    var AbsorptionClose1Month;
    var changeAbsorptionClose;
    var changeAbsorptionClose2;
    var changeAbsorptionCloseMonth;
    
    var AbsorptionPendCurrent;
    var AbsorptionPend1Year;
    var AbsorptionPend3;
    var AbsorptionPend1Month;
    var changeAbsorptionPend;
    var changeAbsorptionPend2;
    var changeAbsorptionPendMonth;

    maxMonths = arrSale.length;

   	html = "<table width='100%' style='font-family: Verdana; font-size: 10px;'><tr>";
  	html = html + "<td align='left'><a href='http://www.trendgraphix.com/'><img src='images/TrendGraphixLogo.png' alt='TrendGraphix' border='0'/></a></td>";
	if ((report == '7C') || (report == '7D')) 
	{ 

      if (maxMonths > 13) {
        AbsorptionClose1Year = (arrSold[maxMonths - yearAgoSplit] / arrSale[maxMonths - yearAgoSplit] * 100);
        AbsorptionPend1Year = (arrPending[maxMonths - yearAgoSplit] / arrSale[maxMonths - yearAgoSplit]  * 100);
        if (arrSale[maxMonths - yearAgoSplit] == 0)
	    { 
		  AbsorptionClose1Year = arrSold[maxMonths - yearAgoSplit]; 
    	  AbsorptionPend1Year = arrPending[maxMonths - yearAgoSplit]; 
		}
        splitCYMyear = arrCYM[maxMonths - yearAgoSplit].split('/'); }
      else { 
        AbsorptionClose1Year = (arrSold[0] / arrSale[0]  * 100);
        AbsorptionPend1Year = (arrPending[0] / arrSale[0]  * 100);
        if (arrSale[0] == 0) 
		{ 
		  AbsorptionClose1Year = arrSold[0]; 
		  AbsorptionPend1Year = arrPending[0]; 
		}
        splitCYMyear = arrCYM[0].split('/');  }
    
      splitCYMcurrent = arrCYM[maxMonths - 1].split('/');
      splitCYMmonth = arrCYM[maxMonths - 2].split('/');
      splitCYM3 = arrCYM[0].split('/');
    
      AbsorptionCloseCurrent = (arrSold[maxMonths - 1] / arrSale[maxMonths - 1]  * 100);
      AbsorptionPendCurrent = (arrPending[maxMonths - 1] / arrSale[maxMonths - 1]  * 100);
      if (arrSale[maxMonths - 1] == 0) 
	  { 
	    AbsorptionCloseCurrent = arrSold[maxMonths - 1];
        AbsorptionPendCurrent = arrPending[maxMonths - 1]; 
	  }
    
      AbsorptionClose1Month = (arrSold[maxMonths - 2] / arrSale[maxMonths - 2]  * 100);
      AbsorptionPend1Month = (arrPending[maxMonths - 2] / arrSale[maxMonths - 2]  * 100);
      if (arrSale[maxMonths - 2] == 0) 
	  { 
	    AbsorptionClose1Month = arrSold[maxMonths - 2];
        AbsorptionPend1Month = arrPending[maxMonths - 2]; 
	  }
    
      AbsorptionCloseCurrent = Math.round(AbsorptionCloseCurrent*Math.pow(10,1))/Math.pow(10,1);
      AbsorptionPendCurrent = Math.round(AbsorptionPendCurrent*Math.pow(10,1))/Math.pow(10,1);
      AbsorptionClose1Year = Math.round(AbsorptionClose1Year*Math.pow(10,1))/Math.pow(10,1);
      AbsorptionPend1Year = Math.round(AbsorptionPend1Year*Math.pow(10,1))/Math.pow(10,1);
      AbsorptionClose1Month = Math.round(AbsorptionClose1Month*Math.pow(10,1))/Math.pow(10,1);
      AbsorptionPend1Month = Math.round(AbsorptionPend1Month*Math.pow(10,1))/Math.pow(10,1);
    
      if (isNaN(AbsorptionCloseCurrent)) { AbsorptionCloseCurrent = 0;}
      if (isNaN(AbsorptionPendCurrent)) { AbsorptionPendCurrent = 0;}
      if (isNaN(AbsorptionClose1Year)) { AbsorptionClose1Year = 0;}
      if (isNaN(AbsorptionPend1Year)) { AbsorptionPend1Year = 0;}
      if (isNaN(AbsorptionClose1Month)) { AbsorptionClose1Month = 0;}
      if (isNaN(AbsorptionPend1Month)) { AbsorptionPend1Month = 0;}
    
      changeAbsorptionClose = ((AbsorptionCloseCurrent - AbsorptionClose1Year) / AbsorptionClose1Year) * 100;
      changeAbsorptionClose = Math.round(changeAbsorptionClose*Math.pow(10,1))/Math.pow(10,1);
      if (isFinite(changeAbsorptionClose) == false) {changeAbsorptionClose = "n/a"; } else {changeAbsorptionClose = changeAbsorptionClose + "% ";}

      changeAbsorptionCloseMonth = ((AbsorptionCloseCurrent - AbsorptionClose1Month) / AbsorptionClose1Month) * 100;
      changeAbsorptionCloseMonth = Math.round(changeAbsorptionCloseMonth*Math.pow(10,1))/Math.pow(10,1);
      if (isFinite(changeAbsorptionCloseMonth) == false) {changeAbsorptionCloseMonth = "n/a"; } else {changeAbsorptionCloseMonth = changeAbsorptionCloseMonth + "% ";}

      changeAbsorptionPend = ((AbsorptionPendCurrent - AbsorptionPend1Year) / AbsorptionPend1Year) * 100;
      changeAbsorptionPend = Math.round(changeAbsorptionPend*Math.pow(10,1))/Math.pow(10,1);
      if (isFinite(changeAbsorptionPend) == false) {changeAbsorptionPend = "n/a"; } else {changeAbsorptionPend = changeAbsorptionPend + "% ";}
    
      changeAbsorptionPendMonth = ((AbsorptionPendCurrent - AbsorptionPend1Month) / AbsorptionPend1Month) * 100;
      changeAbsorptionPendMonth = Math.round(changeAbsorptionPendMonth*Math.pow(10,1))/Math.pow(10,1);
      if (isFinite(changeAbsorptionPendMonth) == false) {changeAbsorptionPendMonth = "n/a"; } else {changeAbsorptionPendMonth = changeAbsorptionPendMonth + "% ";}
    
      currentMonth = getMonthShortName(parseInt(splitCYMcurrent[0])) + ' ' + splitCYMcurrent[1];
      yearAgoMonth = getMonthShortName(parseInt(splitCYMyear[0])) + ' ' + splitCYMyear[1];
      Month3 = getMonthShortName(parseInt(splitCYM3[0])) + ' ' + splitCYM3[1];
      lastMonth = getMonthShortName(parseInt(splitCYMmonth[0])) + ' ' + splitCYMmonth[1];

      if (maxMonths > 13) {
        AbsorptionClose3 = (arrSold[0] / arrSale[0]  * 100);
        if (arrSale[0] == 0) { AbsorptionClose3 = arrSold[0]; }
        AbsorptionClose3 = Math.round(AbsorptionClose3*Math.pow(10,1))/Math.pow(10,1);
      if (isNaN(AbsorptionClose3)) { AbsorptionClose3 = 0;}
        changeAbsorptionClose2 = ((AbsorptionCloseCurrent - AbsorptionClose3) / AbsorptionClose3) * 100;
        changeAbsorptionClose2 = Math.round(changeAbsorptionClose2*Math.pow(10,1))/Math.pow(10,1);
      if (isFinite(changeAbsorptionClose2) == false) {changeAbsorptionClose2 = "n/a"; } else {changeAbsorptionClose2 = changeAbsorptionClose2 + "% ";}
        
        AbsorptionPend3 = (arrPending[0] / arrSale[0]  * 100);
        if (arrSale[0] == 0) { AbsorptionPend3 = arrPending[0]; }
        AbsorptionPend3 = Math.round(AbsorptionPend3*Math.pow(10,1))/Math.pow(10,1);
      if (isNaN(AbsorptionPend3)) { AbsorptionPend3 = 0;}
        changeAbsorptionPend2 = ((AbsorptionPendCurrent - AbsorptionPend3) / AbsorptionPend3) * 100;
        changeAbsorptionPend2 = Math.round(changeAbsorptionPend2*Math.pow(10,1))/Math.pow(10,1);
      if (isFinite(changeAbsorptionPend2) == false) {changeAbsorptionPend2 = "n/a"; } else {changeAbsorptionPend2 = changeAbsorptionPend2 + "% ";}

        if (report == '7C')
        { 
		  html = html + "<td align='right'>1 Month Summary: <span class='label'><b>Absorption Rate (Closed Sales)</b></span> " + classUporDown(changeAbsorptionCloseMonth) + arrowImage(changeAbsorptionCloseMonth) + changeAbsorptionCloseMonth + "</span></br>";
		  html = html + "1 Year Summary: <span class='label'><b>Absorption Rate (Closed Sales)</b></span> " + classUporDown(changeAbsorptionClose) + arrowImage(changeAbsorptionClose) + changeAbsorptionClose + "</span></br>";
		  html = html + getTimeSpan(maxMonths) + " Summary: <span class='label'><b>Absorption Rate (Closed Sales)</b></span> " + classUporDown(changeAbsorptionClose2) + arrowImage(changeAbsorptionClose2) + changeAbsorptionClose2 + "</span></br>";
		}
        if (report == '7D')
		{
		  html = html + "<td align='right'>1 Month Summary: <span class='label'><b>Absorption Rate (Pended Sales)</b></span> " + classUporDown(changeAbsorptionPendMonth) + arrowImage(changeAbsorptionPendMonth) + changeAbsorptionPendMonth + "</span></br>";
		  html = html + "1 Year Summary: <span class='label'><b>Absorption Rate (Pended Sales)</b></span> " + classUporDown(changeAbsorptionPend) + arrowImage(changeAbsorptionPend) + changeAbsorptionPend + "</span></br>";
		  html = html + getTimeSpan(maxMonths) + " Summary: <span class='label'><b>Absorption Rate (Pended Sales)</b></span> " + classUporDown(changeAbsorptionPend2) + arrowImage(changeAbsorptionPend2) + changeAbsorptionPend2 + "</span></br>";
		}
		html = html + "</td></tr></table>";
      }
      else {
        if (report == '7C')
        { 
		  html = html + "<td align='right'>1 Month Summary: <span class='label'><b>Absorption Rate (Closed Sales)</b></span> " + classUporDown(changeAbsorptionCloseMonth) + arrowImage(changeAbsorptionCloseMonth) + changeAbsorptionCloseMonth + "</span></br>";
          if (maxMonths == 13) 
		  { html = html + "1 Year Summary: <span class='label'><b>Absorption Rate (Closed Sales)</b></span> " + classUporDown(changeAbsorptionClose) + arrowImage(changeAbsorptionClose) + changeAbsorptionClose + "</span></br>"; }
          else 
		  { html = html +  maxMonths + " Summary:  <span class='label'><b>Absorption Rate (Closed Sales)</b></span> " + classUporDown(changeAbsorptionClose) + arrowImage(changeAbsorptionClose) + changeAbsorptionClose + "</span></br>"; }
		}
        if (report == '7D')
        { 
		  html = html + "<td align='right'>1 Month Summary: <span class='label'><b>Absorption Rate (Pended Sales)</b></span> " + classUporDown(changeAbsorptionPendMonth) + arrowImage(changeAbsorptionPendMonth) + changeAbsorptionPendMonth + "</span></br>";
          if (maxMonths == 13) 
		  { html = html + "1 Year Summary: <span class='label'><b>Absorption Rate (Pended Sales)</b></span> " + classUporDown(changeAbsorptionPend) + arrowImage(changeAbsorptionPend) + changeAbsorptionPend + "</span></br>"; }
          else 
		  { html = html +  maxMonths + " Summary:  <span class='label'><b>Absorption Rate (Pended Sales)</b></span> " + classUporDown(changeAbsorptionPend) + arrowImage(changeAbsorptionPend) + changeAbsorptionPend + "</span></br>"; }
		}
		html = html + "</td></tr></table>";
      }
	}
	else
	{
      maxMonths = arrSale.length;
    
      if (maxMonths > 13) {
        inventoryClose1Year = (arrSale[maxMonths - yearAgoSplit] / arrSold[maxMonths - yearAgoSplit]); 
        inventoryPend1Year = (arrSale[maxMonths - yearAgoSplit] / arrPending[maxMonths - yearAgoSplit]); 
        if (arrSold[maxMonths - yearAgoSplit] == 0) { inventoryClose1Year = arrSale[maxMonths - yearAgoSplit]; }
        if (arrPending[maxMonths - yearAgoSplit] == 0) { inventoryPend1Year = arrSale[maxMonths - yearAgoSplit]; }
        splitCYMyear = arrCYM[maxMonths - yearAgoSplit].split('/'); }
      else { 
        inventoryClose1Year = (arrSale[0] / arrSold[0]); 
        inventoryPend1Year = (arrSale[0] / arrPending[0]); 
        if (arrSold[0] == 0) { inventoryClose1Year = arrSale[0]; }
        if (arrPending[0] == 0) { inventoryPend1Year = arrSale[0]; }
        splitCYMyear = arrCYM[0].split('/');  }
    
      splitCYMcurrent = arrCYM[maxMonths - 1].split('/');
      splitCYMmonth = arrCYM[maxMonths - 2].split('/');
      splitCYM3 = arrCYM[0].split('/');
    
      inventoryCloseCurrent = (arrSale[maxMonths - 1] / arrSold[maxMonths - 1]);
      inventoryPendCurrent = (arrSale[maxMonths - 1] / arrPending[maxMonths - 1]);
      if (arrSold[maxMonths - 1] == 0) { inventoryCloseCurrent = arrSale[maxMonths - 1]; }
      if (arrPending[maxMonths - 1] == 0) { inventoryPendCurrent = arrSale[maxMonths - 1]; }
    
      inventoryClose1Month = (arrSale[maxMonths - 2] / arrSold[maxMonths - 2]);
      inventoryPend1Month = (arrSale[maxMonths - 2] / arrPending[maxMonths - 2]);
      if (arrSold[maxMonths - 2] == 0) { inventoryClose1Month = arrSale[maxMonths - 2]; }
      if (arrPending[maxMonths - 2] == 0) { inventoryPend1Month = arrSale[maxMonths - 2]; }
    
      inventoryCloseCurrent = Math.round(inventoryCloseCurrent*Math.pow(10,1))/Math.pow(10,1);
      inventoryPendCurrent = Math.round(inventoryPendCurrent*Math.pow(10,1))/Math.pow(10,1);
      inventoryClose1Year = Math.round(inventoryClose1Year*Math.pow(10,1))/Math.pow(10,1);
      inventoryPend1Year = Math.round(inventoryPend1Year*Math.pow(10,1))/Math.pow(10,1);
      inventoryClose1Month = Math.round(inventoryClose1Month*Math.pow(10,1))/Math.pow(10,1);
      inventoryPend1Month = Math.round(inventoryPend1Month*Math.pow(10,1))/Math.pow(10,1);
    
      if (isNaN(inventoryCloseCurrent)) { inventoryCloseCurrent = 0;}
      if (isNaN(inventoryPendCurrent)) { inventoryPendCurrent = 0;}
      if (isNaN(inventoryClose1Year)) { inventoryClose1Year = 0;}
      if (isNaN(inventoryPend1Year)) { inventoryPend1Year = 0;}
      if (isNaN(inventoryClose1Month)) { inventoryClose1Month = 0;}
      if (isNaN(inventoryPend1Month)) { inventoryPend1Month = 0;}
    
      changeInventoryClose = ((inventoryCloseCurrent - inventoryClose1Year) / inventoryClose1Year) * 100;
      changeInventoryClose = Math.round(changeInventoryClose*Math.pow(10,1))/Math.pow(10,1);
		if (isFinite(changeInventoryClose) == false) {changeInventoryClose = "n/a"; } else {changeInventoryClose = changeInventoryClose + "% ";}

      changeInventoryCloseMonth = ((inventoryCloseCurrent - inventoryClose1Month) / inventoryClose1Month) * 100;
      changeInventoryCloseMonth = Math.round(changeInventoryCloseMonth*Math.pow(10,1))/Math.pow(10,1);
		if (isFinite(changeInventoryCloseMonth) == false) {changeInventoryCloseMonth = "n/a"; } else {changeInventoryCloseMonth = changeInventoryCloseMonth + "% ";}

      changeInventoryPend = ((inventoryPendCurrent - inventoryPend1Year) / inventoryPend1Year) * 100;
      changeInventoryPend = Math.round(changeInventoryPend*Math.pow(10,1))/Math.pow(10,1);
		if (isFinite(changeInventoryPend) == false) {changeInventoryPend = "n/a"; } else {changeInventoryPend = changeInventoryPend + "% ";}
    
      changeInventoryPendMonth = ((inventoryPendCurrent - inventoryPend1Month) / inventoryPend1Month) * 100;
      changeInventoryPendMonth = Math.round(changeInventoryPendMonth*Math.pow(10,1))/Math.pow(10,1);
		if (isFinite(changeInventoryPendMonth) == false) {changeInventoryPendMonth = "n/a"; } else {changeInventoryPendMonth = changeInventoryPendMonth + "% ";}
    
      currentMonth = getMonthShortName(parseInt(splitCYMcurrent[0])) + ' ' + splitCYMcurrent[1];
      yearAgoMonth = getMonthShortName(parseInt(splitCYMyear[0])) + ' ' + splitCYMyear[1];
      Month3 = getMonthShortName(parseInt(splitCYM3[0])) + ' ' + splitCYM3[1];
      lastMonth = getMonthShortName(parseInt(splitCYMmonth[0])) + ' ' + splitCYMmonth[1];

      if (maxMonths > 13) {
        inventoryClose3 = (arrSale[0] / arrSold[0]);
        if (arrSold[0] == 0) { inventoryClose3 = arrSale[0]; }
        inventoryClose3 = Math.round(inventoryClose3*Math.pow(10,1))/Math.pow(10,1);
				if (isNaN(inventoryClose3)) { inventoryClose3 = 0;}
        changeInventoryClose2 = ((inventoryCloseCurrent - inventoryClose3) / inventoryClose3) * 100;
        changeInventoryClose2 = Math.round(changeInventoryClose2*Math.pow(10,1))/Math.pow(10,1);
				if (isFinite(changeInventoryClose2) == false) {changeInventoryClose2 = "n/a"; } else {changeInventoryClose2 = changeInventoryClose2 + "% ";}
        
        inventoryPend3 = (arrSale[0] / arrPending[0]);
        if (arrPending[0] == 0) { inventoryPend3 = arrSale[0]; }
        inventoryPend3 = Math.round(inventoryPend3*Math.pow(10,1))/Math.pow(10,1);
				if (isNaN(inventoryPend3)) { inventoryPend3 = 0;}
        changeInventoryPend2 = ((inventoryPendCurrent - inventoryPend3) / inventoryPend3) * 100;
        changeInventoryPend2 = Math.round(changeInventoryPend2*Math.pow(10,1))/Math.pow(10,1);
				if (isFinite(changeInventoryPend2) == false) {changeInventoryPend2 = "n/a"; } else {changeInventoryPend2 = changeInventoryPend2 + "% ";}
        
        if (report == '07')
        { 
		  html = html + "<td align='right'>1 Month Summary: <span class='label'><b>Months of Inventory (Closed Sales)</b></span> " + classUporDown(changeInventoryCloseMonth) + arrowImage(changeInventoryCloseMonth) + changeInventoryCloseMonth + "</span></br>";
		  html = html + "1 Year Summary: <span class='label'><b>Months of Inventory (Closed Sales)</b></span> " + classUporDown(changeInventoryClose) + arrowImage(changeInventoryClose) + changeInventoryClose + "</span></br>";
		  html = html + getTimeSpan(maxMonths) + " Summary: <span class='label'><b>Months of Inventory (Closed Sales)</b></span> " + classUporDown(changeInventoryClose2) + arrowImage(changeInventoryClose2) + changeInventoryClose2 + "</span></br>";
		}
        if (report == '7B')
		{
		  html = html + "<td align='right'>1 Month Summary: <span class='label'><b>Months of Inventory (Pended Sales)</b></span> " + classUporDown(changeInventoryPendMonth) + arrowImage(changeInventoryPendMonth) + changeInventoryPendMonth + "</span></br>";
		  html = html + "1 Year Summary: <span class='label'><b>Months of Inventory (Pended Sales)</b></span> " + classUporDown(changeInventoryPend) + arrowImage(changeInventoryPend) + changeInventoryPend + "</span></br>";
		  html = html + getTimeSpan(maxMonths) + " Summary: <span class='label'><b>Months of Inventory (Pended Sales)</b></span> " + classUporDown(changeInventoryPend2) + arrowImage(changeInventoryPend2) + changeInventoryPend2 + "</span></br>";
		}
		html = html + "</td></tr></table>";
      }
      else {
        if (report == '07')
        { 
		  html = html + "<td align='right'>1 Month Summary: <span class='label'><b>Months of Inventory (Closed Sales)</b></span> " + classUporDown(changeInventoryCloseMonth) + arrowImage(changeInventoryCloseMonth) + changeInventoryCloseMonth + "</span></br>";
          if (maxMonths == 13) 
		  { html = html + "1 Year Summary: <span class='label'><b>Months of Inventory (Closed Sales)</b></span> " + classUporDown(changeInventoryClose) + arrowImage(changeInventoryClose) + changeInventoryClose + "</span></br>"; }
          else 
		  { html = html +  maxMonths + " Summary:  <span class='label'><b>Months of Inventory (Closed Sales)</b></span> " + classUporDown(changeInventoryClose) + arrowImage(changeInventoryClose) + changeInventoryClose + "</span></br>"; }
		}
        if (report == '7B')
        { 
		  html = html + "<td align='right'>1 Month Summary: <span class='label'><b>Months of Inventory (Pended Sales)</b></span> " + classUporDown(changeInventoryPendMonth) + arrowImage(changeInventoryPendMonth) + changeInventoryPendMonth + "</span></br>";
          if (maxMonths == 13) 
		  { html = html + "1 Year Summary: <span class='label'><b>Months of Inventory (Pended Sales)</b></span> " + classUporDown(changeInventoryPend) + arrowImage(changeInventoryPend) + changeInventoryPend + "</span></br>"; }
          else 
		  { html = html +  maxMonths + " Summary:  <span class='label'><b>Months of Inventory (Pended Sales)</b></span> " + classUporDown(changeInventoryPend) + arrowImage(changeInventoryPend) + changeInventoryPend + "</span></br>"; }
		}
		html = html + "</td></tr></table>";
      }
	}
    return html;
}
