var active_button;

function share_toggle(button, defid, permalink, delicious) {
   var fold = document.getElementById('fold');
   var turn_on = button.className == "shareoff";

   document.forms['share'].defid.value = defid;
   document.getElementById('delicious_fold').href = delicious;

   if (turn_on) {
      button.className = "shareon";
      button.style.color = "white";
      fold.style.display = "";

      var def = button.parentNode.parentNode;
      def.appendChild(fold);

      if (active_button) {
         active_button.className = "shareoff";
         active_button.style.color = "";
      }

      active_button = button;
      document.getElementById('permalink').value = permalink;
      document.getElementById('share_status').innerHTML = 'We <a href="/privacy.php">won\'t</a> give out your address.';
   } else {
      button.className = "shareoff";
      button.style.color = "";
      fold.style.display = "none";

      active_button = null;
   }
}

var share_done;
var share_count;

function share_progress() {
   var share_status = document.getElementById('share_status');

   if (!share_done) {
      share_status.innerHTML = 'Sending';

      for (var i = 0; i < (share_count % 4); i++) {
         share_status.innerHTML += '.';
      }

      share_count++;
      setTimeout('share_progress()', 500);
   }
}

function share_send(form) {
   var share_status = document.getElementById('share_status');
   var req;

   try {
      if (window.XMLHttpRequest) {
         req = new XMLHttpRequest();
      } else if (window.ActiveXObject) {
         req = new ActiveXObject("Microsoft.XMLHTTP");
      }
   } catch (e) {
   }

   if (req) {
      req.onreadystatechange = function() {
         if (req.readyState == 4) {
            share_done = 1;
            share_status.innerHTML = req.responseText;
         }
      }

      share_done = 0;
      share_count = 3;
      share_progress();

      req.open("POST", "http://www.urbandictionary.com/share_send.php");
      req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
      req.send('from=' + encodeURIComponent(form.yours.value) + '&to=' + encodeURIComponent(form.theirs.value) + '&defid=' + encodeURIComponent(form.defid.value));
   }
}
