

/*
  author:   Michael Eichelsdoerfer, www.michael-eichelsdoerfer.de
  version:  1.3
  date:     2009-06-09
  client:   BayernSPD, www.bayernspd.de
  about:    JavaScript content module;
            file is generated dynamically via XSLT;
            JavaScript writes a countdown element;;

            requirements: HTML container, CSS file; see configuration;

  version history:
    1.3     2009-06-09; changed for "Bundestagswahl 2009";
    1.2     2008-11-03; changed for "Europawahl 2009";
    1.1     2008-09-25; added support for lift-off (changing generated text node);
    1.0     2008-07-22; initial public version;

  example usage (XHTML snippet, URL inlcuding optional parameters):
--------------------------------------------------------------------------------
<script type="text/javascript" src="http://bayernspd.de/workspace/js/countdownmodul/jquery.min.js"></script>
<script type="text/javascript" src="http://bayernspd.de/workspace/js/countdownmodul/jquery.countdown.min.js"></script>
<script type="text/javascript" src="http://bayernspd.de/workspace/js/countdownmodul/jquery.countdown-de.js"></script>
<script type="text/javascript" src="http://bayernspd.de/countdownmodul?width=360&amp;align=right" charset="utf-8"></script>
<div id="bayernspdcountdown-container"></div>
--------------------------------------------------------------------------------

  url parameters:
    - [width] (optional): see corresponding CSS file;
    - [align] (optional): see corresponding CSS file;
    'width' and 'align' params will be included in the CSS loading URL (var cssFile) if not NULL;
*/

// configuration
var counterContainerId = 'bayernspdcountdown-container';
var counterHeaderId = 'bayernspdcountdown-header';
var counterCountdownId = 'bayernspdcountdown';
var counterTextId = 'bayernspdcountdown-text';


var counterCssFile1 = 'http://bayernspd.de/countdownmodul-css/';

var counterCssFile2 = 'http://bayernspd.de/workspace/js/countdownmodul/jquery.countdown.css';


function loadCssFile(url) {
  if (!document.getElementsByTagName) return false;
  var fileref=document.createElement("link");
  fileref.setAttribute("rel", "stylesheet");
  fileref.setAttribute("type", "text/css");
  fileref.setAttribute("href", url);
  document.getElementsByTagName("head")[0].appendChild(fileref);
}
loadCssFile(counterCssFile1);
loadCssFile(counterCssFile2);

function generateCountdown() {

  var container = document.getElementById(counterContainerId);
  var countdown = document.createElement("div");
  var countdownText = document.createElement("div");
  countdown.setAttribute("id", counterCountdownId);
  countdownText.setAttribute("id", counterTextId);

  // create header
  var countdownHeader = document.createElement("p");
  countdownHeader.setAttribute("id", counterHeaderId);
  var countdownHeaderInner = document.createElement("strong");
  countdownHeader.appendChild(countdownHeaderInner);
  var countdownHeaderText = document.createTextNode("Wahl-Countdown");
  countdownHeaderInner.appendChild(countdownHeaderText);
  
  // create countdown
  var countdownContent = document.createElement("p");
  var countdownContentText = document.createTextNode("(Der Live-Countdown erfordert JavaScript.)");
  countdownContent.appendChild(countdownContentText);  
  countdown.appendChild(countdownContent);
  
  // create countdown text



  var countdownTextText = document.createTextNode("Die Bundestagswahl ist entschieden.");

  

  countdownText.appendChild(countdownTextText);

  // init countdown (jquery)
  var liftoffTime = new Date(2009, 8, 27, 18, 00, 00);
  $(function() {
    $(countdown).countdown({until: liftoffTime, onExpiry: liftOff});
    function liftOff() {
      $(countdownText).text('Die Bundestagswahl ist entschieden.');
    }
  });

  // add everything to container
  container.appendChild(countdownHeader);
  container.appendChild(countdown);
  container.appendChild(countdownText);

}

// load (via jquery)
$(generateCountdown);

