// <span id="" onclick="getproduct('PHI',''',0);this.blur();" onmouseover="changeCursor(this.id,'pointer');this.style.color='red';" onmouseout="this.style.color='blue';" style="color:blue;" >

var Product_Source_3 = "tafs/";
var colors = new Array();
var category = new Array();
var categoryName = new Array();
var productID = new Array(); // Awips ID with extra tag so it can be retrieved
var productDP = new Array(); // Title
var productAW = new Array(); // Awips identifier (minus the PHI/PHL)
var productIDCat = new Array();
var ans = new String();
var cnt = 0;
colors.push("#fffafa");
colors.push("#fffafa");
colors.push("#fffafa");
colors.push("#fffafa");
colors.push("#fffafa");
colors.push("#fffafa");
colors.push("#fffafa");
colors.push("#fffafa");
colors.push("#fffafa");
colors.push("#fffafa");
colors.push("#fffafa");
colors.push("#fffafa");
//
// categories numbered 0 - 9 in this order
//
category.push("Forecasts, Discussion and Special Statements");
categoryName.push("Forecasts");
FORECAST = category.length - 1;
category.push("Severe Weather");
categoryName.push("Severe Weather");
SEVERE = category.length - 1;
category.push("Hydrology");
categoryName.push("Hydrology");
HYDRO = category.length - 1;
category.push("Special State Reports");
categoryName.push("State Reports");
STATE_REPORTS = category.length - 1;
category.push("Coastal and Marine");
categoryName.push("Coastal and Marine");
COASTAL_MARINE = category.length - 1;
category.push("Climate");
categoryName.push("Climate");
CLIMATE = category.length - 1;
category.push("Aviation");
categoryName.push("Aviation");
AVIATION = category.length - 1;
category.push("METAR and other raw data reports");
categoryName.push("Metar");
METAR = category.length - 1;
category.push("Fire Weather");
categoryName.push("Fire Weather");
FIRE_WX = category.length - 1;
category.push("Radar");
categoryName.push("Radar");
RADAR = category.length - 1;
//
// Forecasts
//
productID.push("getproduct('PHI','AFD',0);");
productDP.push("Area Forecast Discussion");
productIDCat.push(FORECAST);
productAW.push("AFD");
productID.push("getproduct('PHI','HWO',0);");
productDP.push("Hazardous Weather Outlook");
productIDCat.push(FORECAST);
productAW.push("HWO");
productID.push("getproduct('PHI','LSR',0);");
productDP.push("Local Storm Report");
productIDCat.push(FORECAST);
productAW.push("LSR");
productID.push("getproduct('PHI','NOW',0);");
productDP.push("Short Term Forecast");
productIDCat.push(FORECAST);
productAW.push("NOW");
productID.push("getproduct('PHI','NPW',0);");
productDP.push("Non-Precipitation Watch/Warning/Advisory");
productIDCat.push(FORECAST);
productAW.push("NPW");
productID.push("getproduct('PHI','PNS',0);");
productDP.push("Public Information Statement");
productIDCat.push(FORECAST);
productAW.push("PNS");
productID.push("getproduct('PHI','SPS',0);");
productDP.push("Special Weather Statement");
productIDCat.push(FORECAST);
productAW.push("SPS");
productID.push("getproduct('PHI','ZFP',0);");
productDP.push("Zone Forecast");
productIDCat.push(FORECAST);
productAW.push("ZFP");
productID.push("getproduct('PHI','AFM',0);");
productDP.push("Area Forecast Matrices");
productIDCat.push(FORECAST);
productAW.push("AFM");
productID.push("getproduct('PHI','PFM',0);");
productDP.push("Point Forecast Matrices");
productIDCat.push(FORECAST);
productAW.push("PFM");
productID.push("getproduct('PHI','CCF',0);");
productDP.push("Coded Cities Forecast");
productIDCat.push(FORECAST);
productAW.push("CCF");
productID.push("getproduct('PHI','AQA',0);");
productDP.push("Air Quality Alert");
productIDCat.push(FORECAST);
productAW.push("AQA");
//
// Severe
//
productID.push("getproduct('PHI','HLS',0);");
productDP.push("Hurricane Local Statement");
productIDCat.push(SEVERE);
productAW.push("HLS");
productID.push("getproduct('PHI','SVR',0);");
productDP.push("Severe Thunderstorm Warning");
productIDCat.push(SEVERE);
productAW.push("SVR");
productID.push("getproduct('PHI','SVS',0);");
productDP.push("Severe Weather Statement");
productIDCat.push(SEVERE);
productAW.push("SVS");
productID.push("getproduct('PHI','TOR',0);");
productDP.push("Tornado Warning");
productIDCat.push(SEVERE);
productAW.push("TOR");
productID.push("getproduct('PHI','WCN',0);");
productDP.push("Watch County Notification");
productIDCat.push(SEVERE);
productAW.push("WCN");
productID.push("getproduct('PHI','WSW',0);");
productDP.push("Winter Storm Watch/Warning/Advisory");
productIDCat.push(SEVERE);
productAW.push("WSW");
//
// State reports
//
productID.push("getproduct('PHI','RTP',0);");
productDP.push("Regional Temperature and Precipitation Table");
productIDCat.push(STATE_REPORTS);
productAW.push("RTPPHI");
productID.push("getproduct('PHI','RWR',0);");
productDP.push("Regional Weather Roundup");
productIDCat.push(STATE_REPORTS);
productAW.push("RWRPHI");
productID.push("getproduct('PHI','SFT',0);");
productDP.push("State Forecast (DE/NJ)");
productIDCat.push(STATE_REPORTS);
productAW.push("SFTPHI");
//
// Coastal and Marine
//
productID.push("getproduct('PHI','SMW',0);");
productDP.push("Special Marine Warning");
productIDCat.push(COASTAL_MARINE);
productAW.push("SMW");
productID.push("getproduct('PHI','SRF',0);");
productDP.push("Surf Zone Forecast");
productIDCat.push(COASTAL_MARINE);
productAW.push("SRF");
productID.push("getproduct('PHI','MWS',0);");
productDP.push("Marine Weather Statement");
productIDCat.push(COASTAL_MARINE);
productAW.push("MWS");
productID.push("getproduct('PHI','MWW',0);");
productDP.push("Marine Weather Warning");
productIDCat.push(COASTAL_MARINE);
productAW.push("MWW");
productID.push("getproduct('PHI','CWF',0);");
productDP.push("Coastal Waters Forecast");
productIDCat.push(COASTAL_MARINE);
productAW.push("CWF");
productID.push("getproduct('PHI','OMR',0);");
productDP.push("Coastal Observations");
productIDCat.push(COASTAL_MARINE);
productAW.push("OMR");
productID.push("getproduct('N02','OFF',0);");
productDP.push("Offshore Waters Forecast");
productIDCat.push(COASTAL_MARINE);
productAW.push("OFF");
productID.push("getproduct('54N','OPU',0);");
productDP.push("Daily Summary Point Pleasant");
productIDCat.push(COASTAL_MARINE);
productAW.push("OPU54N");
productID.push("getproduct('55N','OPU',0);");
productDP.push("Daily Summary Atlantic City Marina");
productIDCat.push(COASTAL_MARINE);
productAW.push("OPU55N");
productID.push("getproduct('56N','OPU',0);");
productDP.push("Daily Summary Keansburg");
productIDCat.push(COASTAL_MARINE);
productAW.push("OPU56N");
productID.push("getproduct('N78','OPU',0);");
productDP.push("Daily Summary Barnegat Light");
productIDCat.push(COASTAL_MARINE);
productAW.push("OPUN78");
productID.push("getproduct('NMK','OPU',0);");
productDP.push("Daily Summary Cape May Coast Guard");
productIDCat.push(COASTAL_MARINE);
productAW.push("OPUNMK");
productID.push("getproduct('PHI','CFW',0);");
productDP.push("Coastal/Lakeshore<BR />Hazard Message");
productIDCat.push(COASTAL_MARINE);
productAW.push("CFWPHI");
//
// Climate
//
productID.push("getproduct('ABE','CLI',0);");
productDP.push("ALLENTOWN,PA CLIMATE SUMMARY");
productIDCat.push(CLIMATE);
productAW.push("CLIABE");
productID.push("getproduct('ACY','CLI',0);");
productDP.push("ATLANTIC CITY CLIMATE SUMMARY");
productIDCat.push(CLIMATE);
productAW.push("CLIACY");
productID.push("getproduct('GED','CLI',0);");
productDP.push("GEORGETOWN,DE CLIMATE SUMMARY");
productIDCat.push(CLIMATE);
productAW.push("CLIGED");
productID.push("getproduct('ILG','CLI',0);");
productDP.push("WILMINGTON,DE CLIMATE SUMMARY");
productIDCat.push(CLIMATE);
productAW.push("CLIILG");
productID.push("getproduct('MPO','CLI',0);");
productDP.push("MOUNT POCONO CLIMATE SUMMARY");
productIDCat.push(CLIMATE);
productAW.push("CLIMPO");
productID.push("getproduct('PHL','CLI',0);");
productDP.push("PHILADELPHIA CLIMATE SUMMARY");
productIDCat.push(CLIMATE);
productAW.push("CLIPHL");
productID.push("getproduct('RDG','CLI',0);");
productDP.push("READING,PA CLIMATE SUMMARY");
productIDCat.push(CLIMATE);
productAW.push("CLIRDG");
productID.push("getproduct('TTN','CLI',0);");
productDP.push("TRENTON,NJ CLIMATE SUMMARY");
productIDCat.push(CLIMATE);
productAW.push("CLITTN");
productID.push("getproduct('ABE','CLM',0);");
productDP.push("LAST MONTHS CLIMATIC SUMMARY FOR ALLENTOWN,PA ");
productIDCat.push(CLIMATE);
productAW.push("CLMABE");
productID.push("getproduct('ACY','CLM',0);");
productDP.push("LAST MONTHS CLIMATIC SUMMARY FOR ATLANTIC CITY");
productIDCat.push(CLIMATE);
productAW.push("CLMACY");
productID.push("getproduct('GED','CLM',0);");
productDP.push("LAST MONTHS CLIMATIC SUMMARY FOR GEORGETOWN,DE");
productIDCat.push(CLIMATE);
productAW.push("CLMGED");
productID.push("getproduct('ILG','CLM',0);");
productDP.push("LAST MONTHS CLIMATIC SUMMARY FOR WILMINGTON,DE");
productIDCat.push(CLIMATE);
productAW.push("CLMILG");
productID.push("getproduct('MPO','CLM',0);");
productDP.push("LAST MONTHS CLIMATIC SUMMARY FOR MOUNT POCONO");
productIDCat.push(CLIMATE);
productAW.push("CLMMPO");
productID.push("getproduct('PHL','CLM',0);");
productDP.push("LAST MONTHS CLIMATIC SUMMARY FOR PHILADELPHIA");
productIDCat.push(CLIMATE);
productAW.push("CLMPHL");
productID.push("getproduct('RDG','CLM',0);");
productDP.push("LAST MONTHS CLIMATIC SUMMARY FOR READING,PA");
productIDCat.push(CLIMATE);
productAW.push("CLMRDG");
productID.push("getproduct('TTN','CLM',0);");
productDP.push("LAST MONTHS CLIMATIC SUMMARY FOR TRENTON,NJ");
productIDCat.push(CLIMATE);
productAW.push("CLMTTN");
productID.push("getproduct('ABE','RER',0);");
productDP.push("RECORD EVENT REPORT FOR ALLENTOWN,PA");
productIDCat.push(CLIMATE);
productAW.push("RERABE");
productID.push("getproduct('ACY','RER',0);");
productDP.push("RECORD EVENT REPORT FOR ATLANTIC CITY");
productIDCat.push(CLIMATE);
productAW.push("RERACY");
productID.push("getproduct('GED','RER',0);");
productDP.push("RECORD EVENT REPORT FOR GEORGETOWN,DE");
productIDCat.push(CLIMATE);
productAW.push("RERGED");
productID.push("getproduct('ILG','RER',0);");
productDP.push("RECORD EVENT REPORT FOR WILMINGTON,DE");
productIDCat.push(CLIMATE);
productAW.push("RERILG");
productID.push("getproduct('MPO','RER',0);");
productDP.push("RECORD EVENT REPORT FOR MOUNT POCONO");
productIDCat.push(CLIMATE);
productAW.push("RERMPO");
productID.push("getproduct('PHL','RER',0);");
productDP.push("RECORD EVENT REPORT FOR PHILADELPHIA");
productIDCat.push(CLIMATE);
productAW.push("RERPHL");
productID.push("getproduct('RDG','RER',0);");
productDP.push("RECORD EVENT REPORT FOR READING");
productIDCat.push(CLIMATE);
productAW.push("RERRDG");
productID.push("getproduct('TTN','RER',0);");
productDP.push("RECORD EVENT REPORT FOR TRENTON,NJ");
productIDCat.push(CLIMATE);
productAW.push("RERTTN");
//
// Aviation
//
productID.push("getproduct('ABE','TAF',0);");
productDP.push("TAFABE");
productIDCat.push(AVIATION);
productAW.push("TAFABE");
productID.push("getproduct('ACY','TAF',0);");
productDP.push("TAFACY");
productIDCat.push(AVIATION);
productAW.push("TAFACY");
productID.push("getproduct('ILG','TAF',0);");
productDP.push("TAFILG");
productIDCat.push(AVIATION);
productAW.push("TAFILG");
productID.push("getproduct('MIV','TAF',0);");
productDP.push("TAFMIV");
productIDCat.push(AVIATION);
productAW.push("TAFMIV");
productID.push("getproduct('PHL','TAF',0);");
productDP.push("TAFPHL");
productIDCat.push(AVIATION);
productAW.push("TAFPHL");
productID.push("getproduct('PNE','TAF',0);");
productDP.push("TAFPNE");
productIDCat.push(AVIATION);
productAW.push("TAFPNE");
productID.push("getproduct('RDG','TAF',0);");
productDP.push("TAFRDG");
productIDCat.push(AVIATION);
productAW.push("TAFRDG");
productID.push("getproduct('TTN','TAF',0);");
productDP.push("TAFTTN");
productIDCat.push(AVIATION);
productAW.push("TAFTTN");
//
// Metar
//
productID.push("getproduct('ABE','MTR',0);");
productDP.push("MTRABE");
productIDCat.push(METAR);
productAW.push("MTRABE");
productID.push("getproduct('ACY','MTR',0);");
productDP.push("MTRACY");
productIDCat.push(METAR);
productAW.push("MTRACY");
productID.push("getproduct('ABE','MSM',0);");
productDP.push("MSMABE");
productIDCat.push(METAR);
productAW.push("MSMABE");
productID.push("getproduct('ACY','MSM',0);");
productDP.push("MSMACY");
productIDCat.push(METAR);
productAW.push("MSMACY");
productID.push("getproduct('ABE','DSM',0);");
productDP.push("DSMABE");
productIDCat.push(METAR);
productAW.push("DSMABE");
productID.push("getproduct('ACY','DSM',0);");
productDP.push("DSMACY");
productIDCat.push(METAR);
productAW.push("DSMACY");
productID.push("getproduct('PHI','SCD',0);");
productDP.push("SCD");
productIDCat.push(METAR);
productAW.push("SCD");

//
// Fire Weather
//
productID.push("getproduct('PHI','FWF',0);");
productDP.push("Fire Weather Forecast");
productIDCat.push(FIRE_WX);
productAW.push("FWFPHI");
productID.push("getproduct('PHI','RFW',0);");
productDP.push("Red Flag Warning");
productIDCat.push(FIRE_WX);
productAW.push("RFWPHI");
productID.push("getproduct('PHI','FWS',0);");
productDP.push("Spot Forecast");
productIDCat.push(FIRE_WX);
productAW.push("FWSPHI");

//
// Radar
//
productID.push("getproduct('DIX','FTM',0);");
productDP.push("FTMDIX");
productIDCat.push(RADAR);
productAW.push("FTMDIX");

//
// Hydro
//
productID.push("getproduct('PHI','DGT',0);");
productDP.push("Drought Information<br />Statement");
productIDCat.push(HYDRO);
productAW.push("DGTPHI");
productID.push("getproduct('PHI','ESF',0);");
productDP.push("Winter/Spring<br />Flood Outlook");
productIDCat.push(HYDRO);
productAW.push("ESFPHI");
productID.push("getproduct('PHI','LCO',0);");
productDP.push("Cocorahs Precipitation Summary");
productIDCat.push(HYDRO);
productAW.push("LCOPHI");
productID.push("getproduct('PHI','RVS',0);");
productDP.push("Hydrologic Statement");
productIDCat.push(HYDRO);
productAW.push("RVSPHI");
productID.push("getproduct('PHI','RVA',0);");
productDP.push("Hydrologic Summary");
productIDCat.push(HYDRO);
productAW.push("RVAPHI");
productID.push("getproduct('PHI','FLS',0);");
productDP.push("Flood Statement");
productIDCat.push(HYDRO);
productAW.push("FLSPHI");
productID.push("getproduct('PHI','FFA',0);");
productDP.push("Flood Watch");
productIDCat.push(HYDRO);
productAW.push("FFAPHI");
productID.push("getproduct('PHI','FLW',0);");
productDP.push("Flood Warning");
productIDCat.push(HYDRO);
productAW.push("FLWPHI");
productID.push("getproduct('PHI','FFS',0);");
productDP.push("Flash Flood Statement");
productIDCat.push(HYDRO);
productAW.push("FFSPHI");
productID.push("getproduct('PHI','FFW',0);");
productDP.push("Flash Flood Warning");
productIDCat.push(HYDRO);
productAW.push("FFWPHI");
productID.push("getproduct('PHI','RVD',0);");
productDP.push("Daily River and Lake Summary");
productIDCat.push(HYDRO);
productAW.push("RVDPHI");
productID.push("getproduct('PHL','RR1',0);");
productDP.push("HYDROLOGIC OBSERVATIONS");
productIDCat.push(HYDRO);
productAW.push("RR1PHL");
productID.push("getproduct('PHI','RR2',0);");
productDP.push("Hydrology Meteorology Data Report Part 2");
productIDCat.push(HYDRO);
productAW.push("RR2PHI");
productID.push("getproduct('PHI','RR3',0);");
productDP.push("Hydrology Meteorology Data Report Part 3");
productIDCat.push(HYDRO);
productAW.push("RR3PHI");
productID.push("getproduct('PHI','RR4',0);");
productDP.push("Hydrology Meteorology Data Report Part 4");
productIDCat.push(HYDRO);
productAW.push("RR4PHI");
productID.push("getproduct('PHI','RR5',0);");
productDP.push("DAILY RIVER/RAINFALL REPORTS DELAWARE RIVER BASIN");
productIDCat.push(HYDRO);
productAW.push("RR5PHI");
productID.push("getproduct('ABE','RR7',0);");
productDP.push("Hydrology Meteorology Data Report Part 7");
productIDCat.push(HYDRO);
productAW.push("RR7ABE");
productID.push("getproduct('PHI','RR8',0);");
productDP.push("DAILY RIVER/RAINFALL REPORTS NEW JERSEY");
productIDCat.push(HYDRO);
productAW.push("RR8PHI");
productID.push("getproduct('PHI','RRA',0);");
productDP.push("RRAPHI");
productIDCat.push(HYDRO);
productAW.push("RRAPHI");

//
// Create the header and sidebar
// 
ans += '   <div class="dct">Please Check the Date and Time that the Product was Issued</div>';
ans += '<div style="text-align:center;margin:5px;font-size:9pt;">';
for( i=0; i < categoryName.length; i++ ){
  ans += '<a  class="smcat" href="#' + categoryName[i] + '">&nbsp;&nbsp;' + categoryName[i] + '&nbsp;&nbsp;</a>';
  if ( i == 3 )
    ans += '<br>';
  else
    if ( i != categoryName.length -1 )
      ans += '|';
}
ans += '</div>';

var maxcols = 3;
var colcnt;
//
// Start loop for each category
//
for( i=0; i < category.length;i++) {
  colcnt = 0;
  // category heading
  ans = ans + '<a name="' + categoryName[i] + '"></a>';
  ans = ans + '<table class="product_table" width="100%" bgcolor="' + colors[i] + '">';
  ans = ans + '<th class="pth" colspan="' + maxcols + '">';
  ans = ans + category[i] ;
  ans = ans + '<div class="topm"><a href="#top">';
  ans = ans + '<img src="images/topm.gif" alt="top of page" width="37" height="14" border="0">';
  ans = ans + '</a></div></th><tr>'
  //
  // run through all of the products in the current category
  //
  for ( j=0;  j < productIDCat.length-1; j++){
    if (productIDCat[j] == i) {
      ans = ans + '<td class="tdi" valign="middle" width="33%">';
      // link
      mscode = 'onmouseover="changeCursor(this.id,';
      mscode = mscode + "'pointer');this.style.color='red';";
      mscode = mscode + '" onmouseout="this.style.color=';
      mscode = mscode + "'blue';";
      mscode = mscode + '" style="color:blue;"';
      ans = ans + '<span onclick="this.blur();'+ productID[j] +'" class="tcat" id="' + productID[j] + '" ' + mscode  + ' >';
      // product description
      if (productDP[j] != productAW[j]) {
        ans = ans + productDP[j] + '<br>';
      }
      // awipsID
      ans = ans + '<span class="adi">' + productAW[j] + '</span>';
      // end
      ans = ans + '</span></td>';
      colcnt = colcnt + 1;
      if ((colcnt >= maxcols) && (j != productIDCat.length -1)) {
        colcnt = 0;
        ans = ans + '</tr><tr>';
      }
    }
  }
  ans = ans + '</tr></table>';
}// End loop for each category

ans += '<div style="font-weight:bold;text-align:center;">';
ans += '  <a class="cat" href="http://products.weather.gov/">National Catalogue of NWS Products</a>';
ans += '</div>';
document.write(ans);


