<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" />
<head itemscope itemtype="http://schema.org/Article">
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <meta itemprop="name" content="Document Freedom Day">
  <meta itemprop="description" content="Join with us as we celebrate Document Freedom Day">
  <meta itemprop="image" content="http://www.openoffice.org/download/images/aoo-logo-100x100.png">
  <meta property="og:title" content="Join with us as we celebrate Document Freedom Day" /> 
  <meta property="og:description" content="Join with us as we celebrate Document Freedom Day" />  
  <meta property="og:image" content="http://www.openoffice.org/download/images/aoo-logo-100x100.png" />
  <title>Document Freedom Day</title>

  <script>
    function shareFacebook() {
      // _gaq.push(['_trackEvent','social', 'dfd', 'facebook']); 
      window.open('https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fwww.openoffice.org%2Fdownload%2F','_blank','toolbar=0,status=0,width=580,height=325');	
    }
    function shareTwitter(){
      // _gaq.push(['_trackEvent','social', 'dfd', 'twitter']); 
      window.open('https://twitter.com/intent/tweet?url=http%3A%2F%2Fwww.openoffice.org%2Fdownload%2F&text=Join+the+OpenOffice+revolution%2C+the+free+office+productivity+suite+with+over+100+million+trusted+downloads.','_blank','toolbar=0,status=0,width=580,height=325');
    }
    function shareGooglePlus(){
      // _gaq.push(['_trackEvent','social', 'dfd', 'google+']); 
      window.open('https://plus.google.com/share?url=http%3A%2F%2Fwww.openoffice.org%2Fdownload%2F','_blank','toolbar=0,status=0,width=580,height=325');
    }
  </script>
</head>

<body>
	
    <p>
    <a>Please tell your friends about Document Freedom Day</a>
    <a href="javascript:shareFacebook();"><img src='/images/logo-facebook-32.png'/></a>
    <a href="javascript:shareTwitter();"><img src='/images/logo-twitter-32.png'/></a>
    <a href="javascript:shareGooglePlus();"><img src='/images/logo-googleplus-32.png' /></a>	 
    </p>
</body>
</html>

