var xml = false;
var insertPointID = "widgetScript";

//domain holen
oScript = document.getElementById("widgetScript");
var domain = oScript.getAttribute("src").split("/news");
domain = domain[0];

//news laden
var script = document.createElement("script");
script.type = "text/javascript";
document.getElementsByTagName("head")[0].appendChild(script);
try {
  script.src = domain + "/news.widget.get.script?exclude=" + exclude;
} catch (err) {
  script.src = domain + "/news.widget.get.script";
}
//auf news warten
var waiting;
waiting = window.setInterval("waitForData()",200);

//grundgeruest
buildWidget();

function waitForData() {
  if(xml){ 
    window.clearInterval(waiting);
    updateWidget();
  }
}

function updateWidget(){
  var Monat = new Array("Januar", "Februar", "M&auml;rz", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
  var xmlDoc;

  //xml string in dom baum laden
  //ie
  if (window.ActiveXObject)
    {
      xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
      xmlDoc.async = "false";
      xmlDoc.loadXML(xml);
    }
  //mozilla, firefox, opera, etc.
  else if (document.implementation && document.implementation.createDocument)
    {
      var parser = new DOMParser();
      xmlDoc = parser.parseFromString(xml,"text/xml");
    }

  channel = xmlDoc.getElementsByTagName('channel');
  ctitle = channel[0].getElementsByTagName('title')[0].childNodes[0].nodeValue;
  cdomain = channel[0].getElementsByTagName('link')[0].childNodes[0].nodeValue;

  if (ctitle.substring(0,8) == 'News von')
    ctitle = '<b>powered by</b> '+ctitle.substring(9);

  invedaBanner = document.getElementById('invedaBanner');
  invedaBanner.innerHTML='<a class="newsWidgetLinkSmall" style="color:'+fontColor+';"  href="'+cdomain+'">'+ctitle+'</a>';

  newsItems = xmlDoc.getElementsByTagName('item')
  newsCount = newsItems.length;
  
  //anzahl der anzuzeigenden news
  if(newsCount < itemCount)
    widgetNewsCount = newsCount;
  else
    widgetNewsCount = itemCount;
    
  insertPoint = document.getElementById('newsWidgetList');
  //eintraege erstellen
  for(i=1; i<=widgetNewsCount; i++){
    //listenelement
    entry = document.createElement('div');
    //entry.setAttribute('class', 'newsWidgetListEntry');
    entry.style.paddingLeft = '4px';
    entry.style.paddingRight = '4px';
    entry.style.paddingTop = '2px';
    entry.style.paddingBottom = '2px';

    if (i==1 && shadow) {
      entry.style.backgroundImage  = 'url('+domain+'/skins/images/verlag/default/box_shadow.gif)';
      entry.style.backgroundRepeat = 'repeat-x';
      entry.style.paddingTop = '5px';
    }

    if (i%2==0)
      entry.style.backgroundColor = '#F6F6F6';


    //entry.setAttribute('id', 'newsWidgetListEntry_'+i);
    //das letzte element braucht keinen rahmen
    if(i != widgetNewsCount)
      entry.style.borderBottom = '1px dotted '+borderColor2;
      
    //titel
    titleText = newsItems[i].getElementsByTagName('title')[0].childNodes[0].nodeValue;
    linkHref = newsItems[i].getElementsByTagName('link')[0].childNodes[0].nodeValue;
    title = document.createElement('div');
    title.style.fontWeight = 'bold';

    title.innerHTML='<a class="newsWidgetLink" style="color:'+linkColor+';font-weight:bold;" target="_blank" href="'+linkHref+'">'+titleText+'</a>';
    
    entry.appendChild(title);
    
    //datum
    dateSpan = document.createElement('div');
    dateSpan.setAttribute('class', 'newsWidgetListEntryDate');
    dateSpan.style.fontSize = '10px';
    dateSpan.style.lineHeight = '12px';

    date = newsItems[i].getElementsByTagName('pubDate')[0].childNodes[0].nodeValue;
    newsDate = new Date(date);
    dateStr = newsDate.getDate() + ". " +Monat[newsDate.getMonth()]+" "+newsDate.getFullYear()
    dateSpan.innerHTML = dateStr;

    entry.appendChild(dateSpan);
   
    insertPoint.appendChild(entry);
  }
  
  animation = document.getElementById('newsWidgetLoadingAnimation');
  if(animation){
    animation.parentNode.removeChild(animation);
  }
}

function buildWidget(){

  theWidget = document.createElement('div');
  theWidget.setAttribute('id', 'newsWidget');
  if(!normalBorder)
    theWidget.setAttribute('class', 'newsWidgetContent');
  theWidget.style.backgroundColor = bgColor1;
  theWidget.style.border = '1px solid '+borderColor1;
  theWidget.style.width = widgetWidth;
  theWidget.style.color = fontColor;
  theWidget.style.overflow = "hidden";

  caption = document.createElement('div');
  caption.setAttribute('class', 'widgetCaption');
  // IE6 versteht css nicht über setAttribute, sondern nur über style
  //caption.setAttribute('style', 'padding:2px;line-height:30px;font-size:12px;font-weight:bold;border-bottom:1px solid '+borderColor3+';');
    caption.style.height = '23px';
    caption.style.overflow = 'hidden';
    caption.style.padding = '3px 5px';
    caption.style.lineHeight = '30px';
    caption.style.fontSize = '12px';
    caption.style.fontWeight = 'bold';
    caption.style.borderBottom = '1px solid '+borderColor3;

  caption.innerHTML='<img id="newsWidgetLoadingAnimation" height="20px" align="right" src="'+domain+'/skins/icons/ajax_loading.gif" style="margin:3px;"/><a href="'+domain+'/news.widget.config.html" target="_blank" class="vfboteLink" style="color:'+fontColor+';"><img height="25px" align="left" src="'+domain+'/skins/images/verlag/default/logo_widget.gif" style="margin-right:5px;"/>News-Ticker</a>';
  theWidget.appendChild(caption);

  widgetList = document.createElement('div');
  widgetList.setAttribute('id', 'newsWidgetList');
  if(!normalBorder)
    widgetList.setAttribute('class', 'newsWidgetListContent');
  //widgetList.style.border = '1px solid '+bgColor2;
  widgetList.style.backgroundColor = bgColor2;
  theWidget.appendChild(widgetList);
  
  // die listeneintraege kommen dann spaeter durch updateWidget....

  invedaBanner = document.createElement('div');
  invedaBanner.setAttribute('class', 'invedaBanner');
  invedaBanner.setAttribute('id', 'invedaBanner');
  // siehe oben ;)
  //invedaBanner.setAttribute('style', 'border-top:1px solid #777;padding:2px 5px 2px 5px;');
    invedaBanner.style.borderTop = '1px solid #777';
    invedaBanner.style.padding = '2px 5px 2px 5px';
  invedaBanner.style.backgroundColor = bgColor3;
 
  theWidget.appendChild(invedaBanner);

  insertPoint = document.getElementById(insertPointID).parentNode;
  insertPoint.appendChild(theWidget);
}

