function showMonthSelector(button, year)
{
  if(!year && (popup = document.getElementById('jumpMonthPopup')))
  { 
    document.body.removeChild(popup); 
    return false;
  }
  
  //if popup doesn't exist, create it.  else reuse it.
  if(!document.getElementById("jumpMonthPopup"))
  {
    buttonPos = findPos(button); // findPos(obj) is in DOMUtilities.js.  returns [left, top]
    
    //create a new popup:    
    var jumpMonthPopup = document.createElement('div');
    jumpMonthPopup.id = "jumpMonthPopup";
    jumpMonthPopup.className = "popup";
    jumpMonthPopup.style.left = buttonPos[0] + "px";
    jumpMonthPopup.zIndex = 100;
  }
  else var jumpMonthPopup = document.getElementById("jumpMonthPopup");
  
  var d = new Date();
  var thisMonth = d.getMonth(); // month index (0 to 11)
  var thisYear = d.getFullYear(); // 4-digit year
  var selectedYear = (year ? parseInt(year) : thisYear);
  var nextYear = selectedYear+1;
  var prevYear = selectedYear-1;
  var monthName = ["J a a a a n u a r y", 
                   "F e e e b r u a r y", 
                   "M a a a r r r c c h", 
                   "A a a a a a p r i l", 
                   "M a a a a a a a a y", 
                   "J u u u u u u u n e", 
                   "J u l y y y y y y y", 
                   "A u u u u u g u s t", 
                   "S e p t e m m b e r", 
                   "O c t o o o o b e r", 
                   "N o o o v e m b e r", 
                   "D e c e m m m b e r"];
  
  var monthLinks = "";
  var tempDate = new Date(); // the timestamp for the first day of the next month minus one unit (second).  Should be in PHP format (seconds).
  var timestamp;
  for(var i = 0; i < 12; i++)
  {
    nextMonthNum = i+2;
    tempDate.setTime(Date.parse(nextMonthNum + "/1/" + selectedYear + " 00:00:00"));
    tempDate.setTime(tempDate.getTime()-1);
    timestamp = Math.floor(tempDate.getTime()/1000);
    if(selectedYear == thisYear && i == thisMonth)
    {
      monthLinks += "<a class=\"current_month_link\" href=\"index.php?timestamp=" + timestamp + "\">" + monthName[i] + "</a><br>\n";
    }
    else
    {
      monthLinks += "<a class=\"month_link\" href=\"index.php?timestamp=" + timestamp + "\">" + monthName[i] + "</a><br>\n";
    }
  }
    
  jumpMonthPopup.innerHTML = "" +
  "<div class=\"popupHeader\">" + 
    "<a class=\"year_link\" href=\"#\" onclick=\"showMonthSelector(document.getElementById('"+button.id+"'), "+prevYear+"); return false;\">&lt;&lt;"+prevYear+"</a>" + 
    " <span class=\"selected_year\">"+selectedYear+"</span> " + 
    "<a class=\"year_link\" href=\"#\" onclick=\"showMonthSelector(document.getElementById('"+button.id+"'), "+nextYear+"); return false;\">"+nextYear+"&gt;&gt;</a>" + 
  "</div>" +
  "<div class=\"popupBody\">" + 
    monthLinks +
  "</div>";
  
  document.body.appendChild(jumpMonthPopup);
  
  if(document.body.offsetHeight - buttonPos[1] < 100)
  {
    jumpMonthPopup.style.top = buttonPos[1] - jumpMonthPopup.offsetHeight - 2 + "px";
  }
  else
  {
    jumpMonthPopup.style.top = buttonPos[1] + button.offsetHeight + 2 + "px";
  }
}

function showAddComment(post_id)
{
  open('/blog/add_comment.php?post_id='+post_id,'add_comment','width=570,height=538,resizable=1,scrollbars=1');
}

function validateCommentPost()
{
  if(!document.getElementById('name').value) 
  {
    alert('Please enter your name!'); 
    document.getElementById('name').focus(); 
    return false;
  } 
  if(document.getElementById('requested_followup_yes').checked && !validateEmail(document.getElementById('email').value)) 
  {
    alert('Your e-mail address isn\'t entered right... We need this in order to reply to you!'); 
    document.getElementById('email').focus(); 
    return false;
  } 
  if(document.getElementById('email').value && !validateEmail(document.getElementById('email').value)) 
  {
    alert('There\'s something wrong with your e-mail address...'); 
    document.getElementById('email').focus(); 
    return false;
  } 
  if(!document.getElementById('comment').value) 
  {
    alert('Please enter your comment!'); 
    document.getElementById('comment').focus(); 
    return false;
  } 
  if(!document.getElementById('validator').value) 
  {
    alert('Please retype the validation code!'); 
    document.getElementById('validator').focus(); 
    return false;
  }
  if(!curseFilter(document.getElementById('comment').value)) 
  {
    return false;
  }
  if(!curseFilter(document.getElementById('name').value)) 
  {
    return false;
  }
  return true;
}