

/*
  author:   Michael Eichelsdoerfer, www.michael-eichelsdoerfer.de
  version:  1.4.1
  date:     2011-11-05
  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.4.1   2011-11-05; using network-path reference to load CSS file;
    1.4     2010-11-10: added advanced logic for url-params
    1.3     2010-10-28: renamed global variables to be more "unique";
    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 bayernspdNewsCssFile) if not NULL;
*/

// configuration
var bayernspdNewsContainerId = 'bayernspdnews-container';
var bayernspdNewsHeaderId    = 'bayernspdnews-header';
var bayernspdNewsContentId   = 'bayernspdnews-content';
var bayernspdNewsItemClass   = 'bayernspdnews-item';


var bayernspdNewsCssFile = '//bayernspd.de/newsmodul-css/';


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

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

function bayernspdNewsLoadCssFile(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);
}
bayernspdNewsLoadCssFile(bayernspdNewsCssFile);

function bayernspdNewsGenerate() {

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

  // create header
  var newsHeader = document.createElement("p");
  newsHeader.setAttribute("id", bayernspdNewsHeaderId);
  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", bayernspdNewsItemClass);
  var newsListItemLink = document.createElement("a");
  newsListItemLink.setAttribute("href", "http://bayernspd.de/news/der-wunsch-nach-brennender-geduld-europa-amerika-und-der-arabische-fruehling/");
  newsListItem.appendChild(newsListItemLink);
  newsListItemLink.innerHTML = "Der Wunsch nach 'brennender' Geduld: Europa, Amerika und der 'arabische Fr&uuml;hling'";
  newsList.appendChild(newsListItem);



  var newsListItem = document.createElement("li");
  newsListItem.setAttribute("class", bayernspdNewsItemClass);
  var newsListItemLink = document.createElement("a");
  newsListItemLink.setAttribute("href", "http://bayernspd.de/news/inklusion-staatsregierung-erledigt-ihre-aufgaben-nicht/");
  newsListItem.appendChild(newsListItemLink);
  newsListItemLink.innerHTML = "Inklusion: Staatsregierung erledigt ihre Aufgaben nicht ";
  newsList.appendChild(newsListItem);



  var newsListItem = document.createElement("li");
  newsListItem.setAttribute("class", bayernspdNewsItemClass);
  var newsListItemLink = document.createElement("a");
  newsListItemLink.setAttribute("href", "http://bayernspd.de/news/europa-setzt-zeichen-jahr-des-aktiven-alterns/");
  newsListItem.appendChild(newsListItemLink);
  newsListItemLink.innerHTML = "Europa setzt Zeichen &ndash; Jahr des aktiven Alterns";
  newsList.appendChild(newsListItem);



  var newsListItem = document.createElement("li");
  newsListItem.setAttribute("class", bayernspdNewsItemClass);
  var newsListItemLink = document.createElement("a");
  newsListItemLink.setAttribute("href", "http://bayernspd.de/news/halbleib-wirft-soeder-mehrfach-falschaussagen-vor-sie-wollen-die-menschen-in-bayern-fuer-dumm-verkaufen/");
  newsListItem.appendChild(newsListItemLink);
  newsListItemLink.innerHTML = "Halbleib wirft S&ouml;der mehrfach Falschaussagen vor: Sie wollen die Menschen in Bayern f&uuml;r dumm verkaufen";
  newsList.appendChild(newsListItem);



  var newsListItem = document.createElement("li");
  newsListItem.setAttribute("class", bayernspdNewsItemClass);
  var newsListItemLink = document.createElement("a");
  newsListItemLink.setAttribute("href", "http://bayernspd.de/news/martin-burkert-militaerreformen-mit-einem-masterplan-konversion-abfedern/");
  newsListItem.appendChild(newsListItemLink);
  newsListItemLink.innerHTML = "Martin Burkert: Milit&auml;rreformen mit einem Masterplan Konversion abfedern";
  newsList.appendChild(newsListItem);



  var newsListItem = document.createElement("li");
  newsListItem.setAttribute("class", bayernspdNewsItemClass);
  var newsListItemLink = document.createElement("a");
  newsListItemLink.setAttribute("href", "http://bayernspd.de/news/neonazi-morde-spd-fordert-sonderermittler/");
  newsListItem.appendChild(newsListItemLink);
  newsListItemLink.innerHTML = "Neonazi-Morde: SPD fordert Sonderermittler";
  newsList.appendChild(newsListItem);



  var newsListItem = document.createElement("li");
  newsListItem.setAttribute("class", bayernspdNewsItemClass);
  var newsListItemLink = document.createElement("a");
  newsListItemLink.setAttribute("href", "http://bayernspd.de/news/natascha-kohnen-harderthauer-sollte-kritik-aus-bruessel-ernst-nehmen/");
  newsListItem.appendChild(newsListItemLink);
  newsListItemLink.innerHTML = "Natascha Kohnen: Harderthauer sollte Kritik aus Br&uuml;ssel ernst nehmen";
  newsList.appendChild(newsListItem);



  var newsListItem = document.createElement("li");
  newsListItem.setAttribute("class", bayernspdNewsItemClass);
  var newsListItemLink = document.createElement("a");
  newsListItemLink.setAttribute("href", "http://bayernspd.de/news/flexible-grundschulen-brauchen-mehr-personal-und-ein-gutes-konzept/");
  newsListItem.appendChild(newsListItemLink);
  newsListItemLink.innerHTML = "Flexible Grundschulen brauchen mehr Personal und ein gutes Konzept";
  newsList.appendChild(newsListItem);



  var newsListItem = document.createElement("li");
  newsListItem.setAttribute("class", bayernspdNewsItemClass);
  var newsListItemLink = document.createElement("a");
  newsListItemLink.setAttribute("href", "http://bayernspd.de/news/spd-verkehrssprecher-thomas-beyer-fordert-eigenes-landesprogramm-fuer-mehr-barrierefreie-bahnhoefe/");
  newsListItem.appendChild(newsListItemLink);
  newsListItemLink.innerHTML = "SPD-Verkehrssprecher Thomas Beyer fordert eigenes Landesprogramm f&uuml;r mehr barrierefreie Bahnh&ouml;fe ";
  newsList.appendChild(newsListItem);



  var newsListItem = document.createElement("li");
  newsListItem.setAttribute("class", bayernspdNewsItemClass);
  var newsListItemLink = document.createElement("a");
  newsListItemLink.setAttribute("href", "http://bayernspd.de/news/arbeitsmarktzahlen-spd-kritisiert-zunahme-atypischer-beschaeftigungsverhaeltnisse/");
  newsListItem.appendChild(newsListItemLink);
  newsListItemLink.innerHTML = "Arbeitsmarktzahlen: SPD kritisiert Zunahme atypischer Besch&auml;ftigungsverh&auml;ltnisse ";
  newsList.appendChild(newsListItem);



  var newsListItem = document.createElement("li");
  newsListItem.setAttribute("class", bayernspdNewsItemClass);
  var newsListItemLink = document.createElement("a");
  newsListItemLink.setAttribute("href", "http://bayernspd.de/news/virtuelle-kinderecke-der-eu-jetzt-online/");
  newsListItem.appendChild(newsListItemLink);
  newsListItemLink.innerHTML = "Virtuelle Kinderecke der EU jetzt online";
  newsList.appendChild(newsListItem);



  var newsListItem = document.createElement("li");
  newsListItem.setAttribute("class", bayernspdNewsItemClass);
  var newsListItemLink = document.createElement("a");
  newsListItemLink.setAttribute("href", "http://bayernspd.de/news/natascha-kohnen-gratuliert-michael-goeth-zur-wahl-als-buergermeister-in-sulzbach-rosenberg/");
  newsListItem.appendChild(newsListItemLink);
  newsListItemLink.innerHTML = "Natascha Kohnen gratuliert Michael G&ouml;th zur Wahl als B&uuml;rgermeister in Sulzbach-Rosenberg";
  newsList.appendChild(newsListItem);



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

// load events
addLoadEvent(function(){
  bayernspdNewsGenerate();
  bayernspdNewsLinkControl();
});


