port = null;

function getPort() {
  if (!port) {
    port = chrome.extension.connect();
    port.onMessage.addListener(function(msg, port) {
      updateTextArea(msg);
    });
   }
  return port;
}

function updateTextArea(msg) {
  if(msg) {
    var element = document.getElementById(msg.id);
    if(element) {
      element.value = msg.text;
    }
  }
}

function findTextAreas() {
  var result = null;
  // Find the body text area
  result = document.getElementsByTagName('textarea');
  //result = document.getElementsByName('body');
  
  if(result && result[0]) {
    getPort().postMessage({text: result[0].value, id: result[0].id});
  }
}

findTextAreas();

