  function charcount() {
	  
    var limitField = document.getElementById('status');
    var limitCount = document.getElementById('charcount');  
    var limitNum = 140;
    
    if (limitField.value.length > limitNum) {
	    
      limitField.value = limitField.value.substring(0, limitNum);
		
    } else {
	    
      limitCount.innerHTML = limitNum - limitField.value.length;
		
    }
	
  };
  
  if(document.getElementById('status')) {
	  
    document.getElementById('status').onkeydown = function () { charcount(); };
    document.getElementById('status').onkeyup = function () { charcount(); };
  
  }
  
  function load(url, callback) {

  var xhr;
		
  if(typeof XMLHttpRequest !== 'undefined') { xhr = new XMLHttpRequest(); }
  else {

    var versions = ["Microsoft.XmlHttp", 
		    "MSXML2.XmlHttp",
		    "MSXML2.XmlHttp.3.0", 
		    "MSXML2.XmlHttp.4.0",
		    "MSXML2.XmlHttp.5.0"];
			 
    for(var i = 0, len = versions.length; i < len; i++) {
	
      try {

        xhr = new ActiveXObject(versions[i]);
	break;
			 
      } catch(e) {}

    }
	
  }
		
  xhr.onreadystatechange = ensureReadiness;
		
  function ensureReadiness() {
			
    if(xhr.readyState < 4) {
				
      return;
			
    }
			
    if(xhr.status !== 200) {
				
      return;
	
    }

    if(xhr.readyState === 4) {
	    
      callback(xhr);

    }			
		
  }
		
  xhr.open('GET', url, true);
  xhr.send('');
	
  }
  
  function tweet() {
	
  load("inc/tweet.php?t=" + escape( document.getElementById('status').value ), function(xhr) {

    document.getElementById('status').value = xhr.responseText;
    charcount();
      
  });
	
  }
  
  if(document.getElementById('tweet')) { document.getElementById('tweet').onclick = function () { tweet(); }; }
    
