

/*
  author:   Michael Eichelsdoerfer, www.michael-eichelsdoerfer.de
  version:  1.2
  date:     2010-03-08
  client:   BayernSPD, www.bayernspd.de
  about:    JavaScript content module;
            file is generated dynamically via XSLT;

            "classical" DOM scripting (no JavaScript framework used);
            requirements: HTML container, CSS file; see configuration;

  version history:
    1.2     2010-03-08: added escaping of quotes for "titel" element;
    1.1     2008-05-20; added support for 'style' parameter;
    1.0     2008-04-11; initial public version;

  example usage (XHTML snippet, URL inlcuding optional parameters):
--------------------------------------------------------------------------------
<script type="text/javascript" charset="utf-8" src="http://bayernspd.de/news-module-1/?limit=20&amp;width=300&amp;align=right"></script>
<div id="bayernspdnews-container"></div>
--------------------------------------------------------------------------------

  url parameters:
    - [limit] (optional): limits the number of entries to be displayed
                          value may be any number (maximum is defined by server side data source);
    - [width] (optional): see corresponding CSS file;
    - [align] (optional): see corresponding CSS file;
    - [style] (optional): see corresponding CSS file;
    - [linkstyle] (optional): see corresponding CSS file;
    'width', 'align', 'style' and 'linkstyle' params will be included in the CSS loading URL (var cssFile) if not NULL;
*/

// configuration
var containerId = 'bayernspdnews-container';
var newsId = 'bayernspdnews';
var headerId = 'bayernspdnews-header';
var itemClass = 'bayernspdnews-item';


var cssFile = 'http://bayernspd.de/newsmodul-css/?width=160&style=compact';


function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
      oldonload();
      }
      func();
    }
  }
}

function linkControl() {
  if (!document.getElementById) return false;
  if (!document.getElementsByTagName) return false;
  var container = document.getElementById(containerId)
  var links = container.getElementsByTagName("a");
  for (var i=0; i<links.length; i++) {
    links[i].target = "_blank";
  }
}

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(cssFile);

function generateNews() {

  var container = document.getElementById(containerId);
  var news = document.createElement("div");
  news.setAttribute("id", newsId);

  // create header
  var newsHeader = document.createElement("p");
  newsHeader.setAttribute("id", headerId);
  var newsHeaderInner = document.createElement("strong");
  newsHeader.appendChild(newsHeaderInner);
  var newsHeaderText = document.createTextNode("BayernSPD News");
  newsHeaderInner.appendChild(newsHeaderText);

  // create list and list items
  var newsList = document.createElement("ul");



  var newsListItem = document.createElement("li");
  newsListItem.setAttribute("class", itemClass);
  var newsListItemLink = document.createElement("a");
  newsListItemLink.setAttribute("href", "http://bayernspd.de/news/pronold-thilo-sarrazin-passt-nicht-ins-menschenbild-der-spd/");
  newsListItem.appendChild(newsListItemLink);
  newsListItemLink.innerHTML = "Pronold: Thilo Sarrazin passt nicht ins Menschenbild der SPD";
  newsList.appendChild(newsListItem);



  var newsListItem = document.createElement("li");
  newsListItem.setAttribute("class", itemClass);
  var newsListItemLink = document.createElement("a");
  newsListItemLink.setAttribute("href", "http://bayernspd.de/news/zwei-millionen-kilogramm-hochradioaktiver-muell-zusaetzlich-fuer-bayern/");
  newsListItem.appendChild(newsListItemLink);
  newsListItemLink.innerHTML = "Zwei Millionen Kilogramm hochradioaktiver M&uuml;ll zus&auml;tzlich f&uuml;r Bayern";
  newsList.appendChild(newsListItem);



  var newsListItem = document.createElement("li");
  newsListItem.setAttribute("class", itemClass);
  var newsListItemLink = document.createElement("a");
  newsListItemLink.setAttribute("href", "http://bayernspd.de/news/spd-hochschulsprecherin-zacharias-studierende-sind-opfer-des-koalitionsstreits/");
  newsListItem.appendChild(newsListItemLink);
  newsListItemLink.innerHTML = "SPD-Hochschulsprecherin Zacharias: Studierende sind Opfer des Koalitionsstreits";
  newsList.appendChild(newsListItem);



  var newsListItem = document.createElement("li");
  newsListItem.setAttribute("class", itemClass);
  var newsListItemLink = document.createElement("a");
  newsListItemLink.setAttribute("href", "http://bayernspd.de/news/petra-ernstberger-nord-und-ostbayern-regionalfoerderung-des-bundes-droht-das-aus/");
  newsListItem.appendChild(newsListItemLink);
  newsListItemLink.innerHTML = "Petra Ernstberger: Nord- und Ostbayern - Regionalf&ouml;rderung des Bundes droht das Aus!";
  newsList.appendChild(newsListItem);



  var newsListItem = document.createElement("li");
  newsListItem.setAttribute("class", itemClass);
  var newsListItemLink = document.createElement("a");
  newsListItemLink.setAttribute("href", "http://bayernspd.de/news/bildungspolitikerin-karin-pranghofer-fordert-rechtsanspruch-auf-ganztagsschulplatz-ausbau-geht-in-bayern-zu-langsam-voran/");
  newsListItem.appendChild(newsListItemLink);
  newsListItemLink.innerHTML = "Bildungspolitikerin Karin Pranghofer fordert Rechtsanspruch auf Ganztagsschulplatz - Ausbau geht in Bayern zu langsam voran";
  newsList.appendChild(newsListItem);



  var newsListItem = document.createElement("li");
  newsListItem.setAttribute("class", itemClass);
  var newsListItemLink = document.createElement("a");
  newsListItemLink.setAttribute("href", "http://bayernspd.de/news/kohnen-bayerns-jugendlichen-perspektiven-bieten/");
  newsListItem.appendChild(newsListItemLink);
  newsListItemLink.innerHTML = "Kohnen: Bayerns Jugendlichen Perspektiven bieten";
  newsList.appendChild(newsListItem);



  var newsListItem = document.createElement("li");
  newsListItem.setAttribute("class", itemClass);
  var newsListItemLink = document.createElement("a");
  newsListItemLink.setAttribute("href", "http://bayernspd.de/news/franz-maget-erhaelt-wenzel-jaksch-preis/");
  newsListItem.appendChild(newsListItemLink);
  newsListItemLink.innerHTML = "Franz Maget erh&auml;lt Wenzel-Jaksch-Preis";
  newsList.appendChild(newsListItem);



  var newsListItem = document.createElement("li");
  newsListItem.setAttribute("class", itemClass);
  var newsListItemLink = document.createElement("a");
  newsListItemLink.setAttribute("href", "http://bayernspd.de/news/spd-rechtspolitiker-arnold-zum-beschaeftigtendatenschutz-fuer-echten-arbeitnehmerschutz-reichen-die-regelungen-nicht-aus/");
  newsListItem.appendChild(newsListItemLink);
  newsListItemLink.innerHTML = "SPD-Rechtspolitiker Arnold zum Besch&auml;ftigtendatenschutz: F&uuml;r echten Arbeitnehmerschutz reichen die Regelungen nicht aus";
  newsList.appendChild(newsListItem);



  news.appendChild(newsList);
  container.appendChild(newsHeader);
  container.appendChild(news);
}

// load events
addLoadEvent(function(){
  generateNews();
  linkControl();
});

