
var HELPEMCOOK_FRAME_RECIPELIST = 'divHmcRecipeList';

var JUMP_RECIPE_FINDER = 'RecipeFinder';
var JUMP_TIPS_TERMS = 'TipsTerms';
var JUMP_COOK_BYTHE_BOOK = 'CookByTheBook';
var JUMP_MAGAZINE_GUIDE = 'MagazineGuide';

function hmcArchiveEntry(argTitle,argPageUrl,argDescription,argKey) {
  this.title = argTitle;
  this.pageUrl = argPageUrl;
  this.description = argDescription;
  this.key = argKey;
}

var hmcArchiveList = null;
var hmcArchivePageTitle = null;

function hmcRecipeLink(argKey,argTitle) {
  this.recipeKey = argKey;
  this.recipeTitle = argTitle;
}

//########################################################################################
// Start Function
//########################################################################################
function helpmecookStart(argAppName) {
  globalGladstoneAppName = argAppName;
}

var hmcMainElement = null;
var hmcHeaderElement = null;
var hmcTitleElement = null;
var hmcArchiveLinkElement = null;
var hmcTrailElement = null;
var hmcContentElement = null;
var hmcContentFrame = null;
var hmcPageElement = null;
var hmcCurrentRecipeKey = null;
var hmcCurrentArchiveCode = null;
var hmcCurrentRecipeCategory = null;
var hmcCurrentContentElement = null;
 
function hmcStartMain() {
  var buf = '';

  // create the main div
  hmcMainElement = document.createElement('div');
  hmcMainElement.className = 'MainPage';
  document.body.appendChild(hmcMainElement);
  
  hmcHeaderElement = document.createElement('div');
  hmcHeaderElement.className = 'MainHeader';
  hmcHeaderElement.innerHTML = '<IMG SRC=\"/cwkpublic/public/images/helpmecook/small_logo_noborder.gif\" CLASS=\"MainLogo \">' +
                                                 '<SPAN CLASS=\"MainIssue\">Volume 7,<IMG BORDER=0 SRC="/cwkpublic/public/images/transpace.gif" WIDTH="10" HEIGHT="10">Issue 5</SPAN>' +
                                                 '<SPAN CLASS=\"MainDate\">Summer 2009</SPAN>' +
                                                 '<DIV ID="hmcNewsletterBannerDiv" CLASS=\"NewsletterLink\"><A HREF=\"javascript:hmcMainMenuClicked(\'newsletter\');\" class=\"RecipeFinderLink\">Sign-up</A> for our <SPAN STYLE="color:#FF0000;">FREE</span> Monthly Newsletter</DIV>' +
                                                 '<DIV CLASS=\"PrintViewLink\"><A HREF=\"javascript:hmcMainMenuClicked(\'printview\');\" class=\"RecipeFinderLink\">Printable View</A></DIV>' +
                                                 '<DIV CLASS=\"RecipeFinderLink\"><A HREF=\"javascript:hmcMainMenuClicked(\'recipefinder\');\" class=\"RecipeFinderLink\">Recipe Finder</A></DIV>' +
                                                 '<DIV CLASS=\"TableContentsLink\"><A HREF=\"javascript:hmcMainMenuClicked(\'toc\');\" class=\"RecipeFinderLink\">Table of Contents</A></DIV>';
  hmcMainElement.appendChild(hmcHeaderElement);
  
  hmcTrailElement = document.createElement('div');
  hmcTrailElement.className = 'MainTrail';
  hmcMainElement.appendChild(hmcTrailElement);

  hmcTitleElement = document.createElement('div');
  hmcTitleElement.className = 'MainTitle';
  hmcMainElement.appendChild(hmcTitleElement);
  hmcTitleElement.innerHTML = globalHmcCurrentIssueTitle;

  hmcArchiveLinkElement = document.createElement('div');
  hmcArchiveLinkElement.className = 'ArchiveLink';
  hmcMainElement.appendChild(hmcArchiveLinkElement);
  hmcArchiveLinkElement.innerHTML = '&nbsp;';

  hmcContentElement = document.createElement('div');
  hmcContentElement.className = 'MainContent';
  hmcMainElement.appendChild(hmcContentElement);

  hmcContentFrame = document.createElement('iframe');
  hmcContentFrame.id = 'hmcContentDisplayFrame';
  hmcContentFrame.name = 'hmcContentDisplayFrame';
  hmcContentFrame.className = 'MainContent';
  hmcContentFrame.frameBorder = 0;
  hmcContentElement.appendChild(hmcContentFrame);
  hmcContentFrame.src = globalHmcCurrentIssueBasePath + '/pages/whatsnew.html';

  hmcPageElement = document.createElement('div');
  hmcPageElement.className = 'MainContentPage';
  hmcPageElement.innerHTML = '';
  hmcMainElement.appendChild(hmcPageElement);
  
//  hmcResize();

  var p = new hmcTrailEntry(globalHmcCurrentIssueTitle,globalHmcCurrentIssueTitle, hmcBuilderHtmlPage );
  p.sourceUrl = globalHmcCurrentIssueBasePath + '/pages/whatsnew.html';
  p.displayElement = hmcContentElement;
  hmcTrailAdd(p);
  hmcBuildTrail();
  
}

function hmcGoToStartPage() {
  hmcClearTrail();
  var basePage = globalHmcCurrentIssueBasePath + '/pages/whatsnew.html';
  hmcSetFrameContent(basePage, globalHmcCurrentIssueTitle);
  hmcArchiveLinkElement.innerHTML = '&nbsp;';
  hmcBuildTrail();
}


function hmcBuilderHtmlPage(argTrailEntry) {
  hmcSetFrameContent(argTrailEntry.sourceUrl, argTrailEntry.pageTitle );
  if ( argTrailEntry.archiveLinkCode ) {
    hmcArchiveLinkElement.innerHTML = '<A HREF=\"javascript:hmcClickedArchiveLink(\'' + argTrailEntry.archiveLinkCode + '\');\" CLASS=\"ArchiveLink\">Archive</A>';
  } else {
    hmcArchiveLinkElement.innerHTML = '&nbsp;';
  }
  hmcBuildTrail();
}

function hmcBuilderRecipePage(argTrailEntry) {
  hmcClickedRecipe(argTrailEntry.recipeKey);
  hmcBuildTrail();
}

function hmcBuilderRecipeFinder(argTrailEntry) {
  hmcSetPageContent(hmcDisplayRecipeFinder(),'Recipe Finder',true);
  hmcBuildTrail();
}

function hmcBuilderRecipeList(argTrailEntry) {
  hmcSetPageContent(argTrailEntry.listBuffer,argTrailEntry.pageTitle,true);
  hmcBuildTrail();
}

function hmcBuilderArchiveList(argTrailEntry) {
  hmcArchiveBuildList();
}

function hmcBuilderArchivePage(argTrailEntry) {
  hmcSetFrameContent(argTrailEntry.sourceUrl, argTrailEntry.pageTitle );
  hmcArchiveLinkElement.innerHTML = '&nbsp;';
  hmcBuildTrail();
}

function hmcResize() {
  hmcHeaderElement.style.width = hmcMainElement.scrollWidth;
  hmcTitleElement.style.width = hmcMainElement.scrollWidth;
  hmcTrailElement.style.width = hmcMainElement.scrollWidth;
  hmcContentFrame.style.width = hmcMainElement.scrollWidth;
  hmcPageElement.style.width = hmcMainElement.scrollWidth - 10;
}

function hmcSetPageContent(argContent,argTitle,argShowSignUpLink) {
  hmcPageElement.innerHTML = argContent;
  hmcContentElement.style.display = 'none';
  hmcPageElement.style.display = 'block';
  hmcTitleElement.innerHTML = argTitle;
  hmcSetSignUpState(argShowSignUpLink);
}


function hmcSetFrameContent(argUrl,argTitle) {
  hmcContentFrame.src = argUrl;
  hmcTitleElement.innerHTML = argTitle;
  hmcContentElement.style.display = 'block';
  hmcPageElement.style.display = 'none';
  hmcSetSignUpState(true);
}

function hmcSetSignUpState(argShow) {
  var e = document.getElementById('hmcNewsletterBannerDiv');
  if ( e ) {
    if ( argShow ) {
      e.style.display = 'block';  // hide sign up link
    } else {
      e.style.display = 'none';  // show sign up link
    }
  }
}


function hmcMainMenuClicked(argSelectCode) {
  switch( argSelectCode ) {
    case 'recipefinder':
      hmcClearTrail();
      hmcSetPageContent( hmcDisplayRecipeFinder(), 'Recipe Finder', true);
      hmcArchiveLinkElement.innerHTML = '&nbsp;';
      var p = new hmcTrailEntry('Recipe Finder','Recipe Finder', hmcBuilderRecipeFinder );
      hmcTrailAdd(p);
      hmcBuildTrail();
      break;

    case 'toc':
  hmcClearTrail();
      hmcClickedContentLink('Table of Contents','Table of Contents', '/pages/toc.html');
      break;
      
    case 'newsletter':
  hmcClearTrail();
      hmcDisplaySubscriberForm();
      break;
    case 'printview':
      hmcOutputPrintablePage();
      break;
  }
}

function hmcClickedContentLink(argPageTitle,argTrailTitle,argNextContent,argArchiveLinkCode) {
  var p = new hmcTrailEntry(argTrailTitle,argPageTitle, hmcBuilderHtmlPage );
  p.sourceUrl = '/hmcui/public' + argNextContent;
  p.displayElement = hmcContentElement;
  p.archiveLinkCode = argArchiveLinkCode;
  hmcTrailAdd(p);
  hmcSetFrameContent(p.sourceUrl,argPageTitle);
  if ( argArchiveLinkCode ) {
    hmcArchiveLinkElement.innerHTML = '<A HREF=\"javascript:hmcClickedArchiveLink(\'' + argArchiveLinkCode + '\');\" CLASS=\"ArchiveLink\">Archive</A>';
  } else {
    hmcArchiveLinkElement.innerHTML = '&nbsp;';
  }
  hmcBuildTrail();
}

function hmcClickedTipTermTech(argPageName) {
  hmcClickedContentLink('Tips, Terms & Techniques', argPageName, '/pages/t3/' + argPageName + '.html', null);
}


//########################################################################################
// Archive Functions
//########################################################################################

function hmcClickedArchiveLink(argArchiveCode) {
  hmcCurrentArchiveCode = argArchiveCode;
  var reqData = '<hmc:archiveSearch sectionKey=\"' + argArchiveCode + '\" pageNumber=\"1\"  pageSize=\"20\" />';
  gladstoneServerSendRequest('100','Archive','SearchArchive',reqData,'Searching archive',hmcArchiveSearchResponse,null);
}

function hmcArchiveSearchResponse(argRequest) {

  hmcArchiveList = new Array();
  var d = argRequest.responseData;
  var entrylist = gladstoneXMLGetChildElementsByName(d,'hmc:archiveEntry');
  for( x=0; x < entrylist.length; x++ ) {
    var entry = entrylist[x];
    var title = gladstoneXMLGetChildElementValue(entry,'hmc:entryTitle');
    var key = gladstoneXMLGetChildElementValue(entry,'hmc:entryKey');
    var entryDesc = gladstoneXMLGetChildElementValue(entry,'hmc:description');
    var pageUrl = gladstoneXMLGetChildElementValue(entry,'hmc:pageUrl');
    hmcArchiveList.push( new hmcArchiveEntry(title,pageUrl,entryDesc,key) );
  }
  hmcArchivePageTitle = '';
  switch(hmcCurrentArchiveCode) {
    case 'entidea':
      hmcArchivePageTitle = 'Entertaining Ideas Archives';
      break;
    case 'sitk':
      hmcArchivePageTitle = 'Someone\'s in the Kitchen Archives';
      break;
  }
  var p = new hmcTrailEntry('Archives',hmcArchivePageTitle, hmcBuilderArchiveList );
  p.displayElement = hmcPageElement;
  hmcTrailAdd(p);
  hmcArchiveBuildList();
}


function hmcArchiveBuildList() {
  var buf = '<DIV CLASS=\"ArchiveList\">';
  buf += '<TABLE CELLSPACING=\"0px\" CELLPADDING=\"4px\" BORDER=0>';
  for( x=0; x < hmcArchiveList.length; x++ ) {
    var a = hmcArchiveList[x];
    buf += '<TR><TD CLASS=\"ArchiveListTitle\">' +
                 '<A HREF=\"javascript:hmcClickedArchiveEntry(\'' + x  + '\');\">' +  a.title + '</A></TD><TD class=\"ArchiveListDescription\">' + a.description + '</TD></TR>';
  }
  buf += '</TABLE></DIV>';
  
  hmcSetPageContent(buf,hmcArchivePageTitle,true);
  hmcArchiveLinkElement.innerHTML = '&nbsp;';
  hmcBuildTrail();
  
}

function hmcClickedArchiveEntry(argIndex) {
  var arch = hmcArchiveList[argIndex];
  var p = new hmcTrailEntry(arch.title,hmcArchivePageTitle, hmcBuilderArchivePage );
  p.sourceUrl = '/hmcui/public' + arch.pageUrl;
  p.displayElement = hmcContentElement;
  p.archiveLinkCode = null;
  hmcTrailAdd(p);
  hmcSetFrameContent(p.sourceUrl, hmcArchivePageTitle );
  hmcArchiveLinkElement.innerHTML = '&nbsp;';
  hmcBuildTrail();
}


//########################################################################################
// Newsletter Functions
//########################################################################################
function hmcDisplaySubscriberForm() {
 var buffer =  '<FORM ID="subscriberform" METHOD="POST">' +
                    '<TABLE BORDER=0 CELLPADDING=2 CELLSPACING=0>' +
                   '<TR><TD>&nbsp;</TD>' +
                   '<TD COLSPAN=2 ALIGN=CENTER CLASS=s10>Sign up today to receive monthly updates, entertaining ideas, recipes and tips - online for FREE!</TD><TD>&nbsp;</TD></TR>' +
                   '<TR><TD COLSPAN=4>&nbsp;</TD></TR><TR><TD COLSPAN=4 ALIGN=LEFT><U>Required Information:</U></TD></TR>' +
                   '<TR><TD>&nbsp;</TD><TD>Email Address:</TD><TD><INPUT TYPE=TEXT NAME="ema" SIZE=40 VALUE=""></TD><TD>&nbsp;</TD></TR>' +
                   '<TR><TD>&nbsp;</TD><TD>First Name:</TD><TD><INPUT TYPE=TEXT NAME="fnm" SIZE=30 VALUE=""></TD><TD>&nbsp;</TD></TR>' +
                   '<TR><TD>&nbsp;</TD><TD>Last Name:</TD><TD><INPUT TYPE=TEXT NAME="lnm" SIZE=30 VALUE=""></TD><TD>&nbsp;</TD></TR>' +
                   '<TR><TD>&nbsp;</TD><TD>Sex:</TD><TD><SELECT NAME="sex" size=1><OPTION VALUE="F">Female<OPTION VALUE="M">Male</SELECT></TD><TD>&nbsp;</TD></TR>' +
                   '<TR><TD>&nbsp;</TD><TD><TR><TD>&nbsp;</TD><TD WIDTH=100>Where did you learn about helpmecook.com?</TD><TD>' +
                      '<SELECT NAME="where" size=1>' +
                      '<OPTION VALUE="NON">Select<OPTION VALUE="WOM">By word of mouth from family or friend' +
                      '<OPTION VALUE="EML">From an email forwarded by family or friend<OPTION VALUE="SUN">By surfing the net<OPTION VALUE="MBA">Magazine - Bon Appetit' +
                      '<OPTION VALUE="MFW">Magazine - Food & Wine<OPTION VALUE="MHG">Magazine - House & Garden<OPTION VALUE="MTH">Magazine - Traditional Home' +
                      '<OPTION VALUE="MCH">Magazine - Country Home<OPTION VALUE="MGD">Magazine - Garden Design<OPTION VALUE="MTO">Magazine - This Old House' +
                      '<OPTION VALUE="MOT">Magazine - Other<OPTION VALUE="RAD">From a radio talk show<OPTION VALUE="BCA">Boston Center for Adult Education Course Catalog' +
                      '<OPTION VALUE="OTH">Other</SELECT></TD><TD>&nbsp;</TD></TR>' +
                      '<TR><TD>&nbsp;</TD></TR>' +
                      '<TR><TD COLSPAN=4 ALIGN=LEFT><U>Optional Information:</U></TD></TR>' +
                      '<TR><TD>&nbsp;</TD><TD>Age:</TD><TD><SELECT NAME="age" size=1><OPTION VALUE=0>Select<OPTION VALUE=1>Under 25<OPTION VALUE=2>25 - 40' +
                      '<OPTION VALUE=3>41 - 55<OPTION VALUE=4>Over 55</SELECT></TD><TD>&nbsp;</TD></TR>' +
                      '<TR><TD>&nbsp;</TD><TD>Income:</TD><TD><SELECT NAME="inc" size=1><OPTION VALUE=0>Select<OPTION VALUE=1>Under 40,000' +
                      '<OPTION VALUE=2>40,000 to 70,000<OPTION VALUE=3>71,000 to 100,000<OPTION VALUE=4>Over 100,000</SELECT></TD><TD>&nbsp;</TD></TR>' +
                      '<TR><TD COLSPAN=4>&nbsp;</TD></TR>' +
                      '<TR><TD>&nbsp;</TD><TD COLSPAN=2 ALIGN=CENTER CLASS="s8">If you are using any email filters, such as a spam blocker, make sure it is configured to accept emails from carroll@helpmecook.com</TD><TD>&nbsp;</TD></TR><TR><TD COLSPAN=4>&nbsp;</TD></TR>' +
                      '<TR><TD>&nbsp;</TD><TD COLSPAN=2 ALIGN=CENTER><BUTTON onclick="hmcClickedSubscriberSave();">SUBMIT</BUTTON></TD><TD>&nbsp;</TD></TR>' +
                      '<TR><TD COLSPAN=4>&nbsp;</TD></TR></TABLE></FORM>';

  hmcSetPageContent(buffer, 'Newsletter Subscription',false);
  hmcArchiveLinkElement.innerHTML = '&nbsp;';
  var p = new hmcTrailEntry('Newsletter SignUp','Newsletter SignUp', null);
  p.archiveLinkCode = null;
  hmcTrailAdd(p);
  hmcBuildTrail();
}

function hmcClickedSubscriberSave() {
  var frm = document.getElementById('subscriberform');
  if ( frm ) {
    var emailAddress = hmcGetFormTextValue(frm, 'ema');
    var firstName = hmcGetFormTextValue(frm,'fnm');
    var lastName = hmcGetFormTextValue(frm,'lnm');
    var sex = hmcGetFormSelectValue(frm,'sex');
    var ref = hmcGetFormSelectValue(frm,'where');
    var subage = hmcGetFormSelectValue(frm,'age');
    var inc = hmcGetFormSelectValue(frm,'inc');
    if ( !emailAddress ) {
      alert('You must enter an email address');
    } else if ( !firstName || !lastName ) {
      alert('You must enter a first and last name');
    } else {
      var reqData = '<hmc:subscriberAdd><hmc:emailAddress>' + emailAddress + '</hmc:emailAddress>' +
                           '<hmc:firstName>' + firstName + '</hmc:firstName>' +
                           '<hmc:lastName>' + lastName + '</hmc:lastName>' +
                           '<hmc:sex>' + sex + '</hmc:sex>' +
                           '<hmc:referrer>' + ref + '</hmc:referrer>' +
                           '<hmc:age>' + subage + '</hmc:age>' +
                           '<hmc:income>' + inc + '</hmc:income>' +
                           '</hmc:subscriberAdd>';
      gladstoneServerSendRequest('100','Subscriber','Add',reqData,'Adding subscriber',hmcSubscriberAddResponse,null);
    }
  }
}

function hmcSubscriberAddResponse(argRequest) {
  alert('You have been added to our newletter subscription database. Thank-you for subscribing');
  hmcGoToStartPage();
}

function hmcGetFormTextValue(argForm,argSelectName) {
  var s = hmcFindFormElementByName(argForm,argSelectName);
  return hmcTrim(s.value);
}


//*****************************************************************************
// Find the element with the specified name in the given form
//*****************************************************************************
function hmcFindFormElementByName(argForm, argElementName) {
  var i;
  for( i=0; i < argForm.elements.length; i++ ) {
    if ( argForm.elements[i].name == argElementName ) {
      return argForm.elements[i];
    }
  }
  return null;
}

function hmcGetFormSelectValue(argForm,argSelectName) {
  var s = hmcFindFormElementByName(argForm,argSelectName);
  return s.options[s.selectedIndex].value;
}


function hmcTrim(argText) {
  if ( (!argText) || (argText.length == 0) ) {
    return null;
  }
  var n;
  var startIndex = -1;
  var endIndex = 0;
  for( n=0; n < argText.length; n++ ) {
    if ( argText.charAt(n) != ' ' ) {
      startIndex = n;
      break;
    }
  }
  if ( startIndex == -1 ) {
    return null;
  }

  for( n=argText.length; n >= 0; n-- ) {
    if ( argText.charAt(n) != ' ' ) {
      endIndex = n;
      break;
    }
  }
  return argText.substring(startIndex,endIndex+1);
}


//########################################################################################
// Recipe Functions
//########################################################################################


function hmcClickedRecipe(argRecipeKey) {
  hmcCurrentRecipeKey = argRecipeKey;
  // build the request data
  var reqData = '<hmc:recipeKey>' + argRecipeKey + '</hmc:recipeKey>';
  gladstoneServerSendRequest('100','Recipe','ReadRecipe',reqData,'Retrieving recipe',hmcRecipeResponse,null);
}

function hmcRecipeResponse(argRequest) {

  var recipe = hmcRecipeParse(argRequest.responseData);

  var buf = hmcRecipeBuildDetailDisplay(recipe);
  
  hmcSetPageContent(buf, recipe.title,true);
  hmcArchiveLinkElement.innerHTML = '&nbsp;';

  var p = new hmcTrailEntry(recipe.title,recipe.title,hmcBuilderRecipePage );
  p.recipeKey = hmcCurrentRecipeKey;
  p.displayDetail = buf;
  hmcTrailAdd(p);
  hmcBuildTrail();
}



//****************************************************************************************
// Function: hmcDisplayRecipeFinder
// Output the recipe finder form
//****************************************************************************************
function hmcDisplayRecipeFinder() {

  var buffer = '<FORM ID=\"formRecipeFinder\" METHOD=\"POST\" CLASS=\"RecipeFinder\">';
  buffer += '<TABLE BORDER=\"0\" CELLPADDING=\"0\" CELLSPACING=\"2px\" WIDTH=\"100%\">';
  buffer += '<TR><TD ALIGN=CENTER>Select a Category</TD></TR>';
  buffer += '<TR><TD ALIGN=CENTER><SELECT ID=\"selectRecipeCategory\" SIZE=\"19\" CLASS=\"RecipeFinder\" onchange=\"hmcRecipeFinderSearch();\">' +
                 '<OPTION VALUE=\"21">Appetizers' +
                 '<OPTION VALUE=\"22">Beverages' +
                 '<OPTION VALUE=\"23">Breads/Baked Goods/Pizza' +
                 '<OPTION VALUE=\"36">Breakfast/Brunch' +
                 '<OPTION VALUE=\"40">Dairy' +
                 '<OPTION VALUE=\"34">Desserts' +
                 '<OPTION VALUE=\"28">Fish/Seafood' +
                 '<OPTION VALUE=\"37">Fruit' +
                 '<OPTION VALUE=\"29">Meats' +
                 '<OPTION VALUE=\"31">Pasta' +
                 '<OPTION VALUE=\"32">Potatoes' +
                 '<OPTION VALUE=\"30">Poultry' +
                 '<OPTION VALUE=\"25">Salads/Dressings/Infused Oils' +
                 '<OPTION VALUE=\"39">Sandwiches' +
                 '<OPTION VALUE=\"35">Sauces/Gravies' +
                 '<OPTION VALUE=\"24">Soups/Stews' +
                 '<OPTION VALUE=\"38">Stocks' +
                 '<OPTION VALUE=\"41">Tasteful Gift Ideas' +
                 '<OPTION VALUE=\"33">Vegetables/Side Dishes';
  buffer += '</SELECT></TD></TR></TABLE></FORM>';
  return buffer;
}


//****************************************************************************************
// Function: hmcSelectedRecipeCategory
// called when category selected from list
//****************************************************************************************
function hmcRecipeFinderSearch() {
  var selector = document.getElementById('selectRecipeCategory');
  var catKey = selector.options[selector.selectedIndex].value;
  hmcCurrentRecipeCategory = selector.options[selector.selectedIndex].text;
  if ( catKey != 0 ) {
    var reqData = '<hmc:recipeSearch categoryKey=\"' + catKey + '\" pageNumber=\"1\"  pageSize=\"20\" />';
    gladstoneServerSendRequest('100','Recipe','SearchRecipe',reqData,'Retrieving recipe',hmcRecipeSearchResponse,null);
  }
}


function hmcRecipeSearchResponse(argRequest) {
  var d = argRequest.responseData;
  var buf = '';
//  buf += '<DIV CLASS=\"RecipeList\">';
  buf += '<TABLE CELLSPACING=\"4px\" CELLPADDING=0 BORDER=0 WIDTH=\"100%\">';
  var rcplist = gladstoneXMLGetChildElementsByName(d,'hmc:recipeBrief');
    for( x=0; x < rcplist.length; x++ ) {
      var rcp = rcplist[x];
      var title = gladstoneXMLGetChildElementValue(rcp,'hmc:title');
      var key = gladstoneXMLGetChildElementValue(rcp,'hmc:recipeKey');
      buf += '<TR><TD CLASS=\"RecipeTitle\">' +
                 '<A HREF=\"javascript:hmcClickedRecipe(' + key + ');\">' +  title + '</A></TD></TR>'
    }
//  }
  buf += '</TABLE>';
  var pTitle = 'Recipes - Category <I>'  + hmcCurrentRecipeCategory + '</I>' ;
  hmcSetPageContent(buf, pTitle,true);
  var p = new hmcTrailEntry('Recipe List',pTitle, hmcBuilderRecipeList );
  p.displayDetail = buf;
  p.listBuffer = buf;
  hmcTrailAdd(p);
  hmcBuildTrail();
}


//########################################################################################
// Printing Functions
//########################################################################################
var hmcPrintWindow;
var hmcPrintBuffer;

function hmcOutputPrintablePage() {
  var trailEntry = hmcTrailGetCurrent();
  if ( (!trailEntry) || (!trailEntry.displayDetail && !trailEntry.sourceUrl)) {
    return;
  }
  var title = trailEntry.pageTitle;
  var detail = trailEntry.displayDetail;
  var buffer = '';
  buffer += '<HTML><HEAD><link rel=stylesheet type=\"text/css\" HREF=\"/hmcui/public/hmcstyle.css\" Title=\"Style\">';
  buffer += '<script  type=\"text/javascript\">\n';
  buffer += 'function hmcPrintPage() {\n';
  buffer += 'var pd = document.getElementById(\'hmcPrintLink\');\n';
  buffer += 'pd.style.display = \'none\';\n';
  buffer += 'window.print();\n';
  buffer += 'pd.style.display = \'block\';\n';
  buffer += '}</script></head>';
  buffer += '<body style="margin:10px; padding:0px; backgroundColor:#FFFFFF;">';
  buffer += '<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" width=\"100%\">';
  buffer += '<tr><td><IMG BORDER=0 SRC="/cwkpublic/public/images/transpace.gif" WIDTH="10px" HEIGHT="5px"></td></tr>';
  buffer += '<tr><td align=right><a id=\"hmcPrintLink\" href=\"javascript:hmcPrintPage();\">Print Page</a></td></tr>';
  buffer += '<tr><td><IMG BORDER=0 SRC="/cwkpublic/public/images/transpace.gif" WIDTH="10px" HEIGHT="5px"></td></tr>';
  buffer += '<tr><td align=left><IMG BORDER=0 SRC="/hmcui/public/images/hmc_logo.jpg"></td></tr>';
  buffer += '<tr><td><IMG BORDER=0 SRC="/cwkpublic/public/images/transpace.gif" WIDTH="10px" HEIGHT="5px"></td></tr>';
  buffer += '<tr><td align=\"center\" class=\"PrintPageTitle\">' + title + '</td></tr>';
  buffer += '<tr><td><IMG BORDER=0 SRC="/cwkpublic/public/images/transpace.gif" WIDTH="10px" HEIGHT="5px"></td></tr>';
  if ( trailEntry.displayDetail ) {
    buffer += '<tr><td>' + trailEntry.displayDetail + '</td></tr>';
  } else {
    var f = hmcContentDisplayFrame.document.getElementById('hmcContentDIV');
    if ( f ) {
      buffer += '<tr><td>' + f.innerHTML + '</td></tr>';
    }
  }
  buffer += '</table></BODY></HTML>';

  
  // open a new window
  hmcPrintBuffer = buffer;
  hmcPrintWindow = window.open('','hmcReportPrintableView','height=600,width=700,scrollbars,resizable,titlebar');
  setTimeout('hmcPrintWindowOpen();', 50);  // have to wait to make sure window opened
}


//*****************************************************************************
// hmcPrintWindowOpen
// Output the printable version in the new window
//*****************************************************************************
function hmcPrintWindowOpen() {
  hmcPrintWindow.document.write(hmcPrintBuffer);
  hmcPrintWindow.document.close();  
  hmcPrintWindow.focus();
}






