﻿/*
global.js
 
Heinrich-Böll-Stiftung Berlin,
<e-fork> Dresden, Germany
April 2011
 
nonverblaster.js: saved from <http://nonverbla.de/blog/2008/09/15/nonverblasterhover/>
This software is released under the Creative Commons License <http://creativecommons.org/licenses/by/2.0/de/>
November 2009
 
contentslider.js: Featured Content Slider script (c) Dynamic Drive DHTML code library: <http://www.dynamicdrive.com/>
saved from <http://www.dynamicdrive.com/dynamicindex17/featuredcontentslider.htm>
Juli 2008
*/
var pageLanguage = "en";
try { pageLanguage = strLanguage; } catch (e) { pageLanguage = "en"; }
 
/* begin nonverblaster.js */
window.onload = init;
 
var jsReady = false;
var flashMovie = "";
var nonverblasterClicked = false;
 
function init() {
    jsReady = true;
}
 
function getFlashMovie (movieName) {
    if (navigator.appName.indexOf("Microsoft") != -1) {
        return window[movieName];
    } else {
        return document[movieName];
    }
}
// broadcasts the actions to the player
function sendToNonverBlaster (value, _flashMovie) {
    if (_flashMovie)
        flashMovie = _flashMovie;
    getFlashMovie(flashMovie).sendToActionScript(value);
    try {
        if (eventTracker) {
            var arrValues = value.split("##");
            //alert("eventTracker(" + arrValues[2] + ")");
            eventTracker(arrValues[2]);
        }
    } catch (e) {}
}
 
function registerForJavaScriptCommunication (_flashMovie) {
    flashMovie = _flashMovie;
}
// Called if the Player was clicked
function nonverBlasterClickHandler() {
    nonverblasterClicked = true;
    //alert("nonverblasterClicked: " + nonverblasterClicked)
}
 
/* end nonverblaster.js */
/* begin contentslider.js */
 
var featuredcontentslider={
 
//3 variables below you can customize if desired:
ajaxloadingmsg: "<div style=\"margin: 20px 0 0 20px\"><img src=\"/images/navigation/loading.gif\" /> Fetching slider Contents. Please wait...</div>",
bustajaxcache: true, //bust caching of external ajax page after 1st request?
enablepersist: true, //persist to last content viewed when returning to page?
 
settingcaches: {}, //object to cache "setting" object of each script instance
 
jumpTo:function(fcsid, pagenumber){ //public function to go to a slide manually.
    this.turnpage(this.settingcaches[fcsid], pagenumber)
},
 
ajaxconnect:function(setting){
    var page_request = false
    if (window.ActiveXObject){ //Test for support for ActiveXObject in IE first (as XMLHttpRequest in IE7 is broken)
        try {
        page_request = new ActiveXObject("Msxml2.XMLHTTP")
        } 
        catch (e){
            try{
            page_request = new ActiveXObject("Microsoft.XMLHTTP")
            }
            catch (e){}
        }
    }
    else if (window.XMLHttpRequest) // if Mozilla, Safari etc
        page_request = new XMLHttpRequest()
    else
        return false
    var pageurl=setting.contentsource[1]
    page_request.onreadystatechange=function(){
        featuredcontentslider.ajaxpopulate(page_request, setting)
    }
    document.getElementById(setting.id).innerHTML=this.ajaxloadingmsg
    var bustcache=(!this.bustajaxcache)? "" : (pageurl.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()
    page_request.open('GET', pageurl+bustcache, true)
    page_request.send(null)
},
 
ajaxpopulate:function(page_request, setting){
    if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1)){
        document.getElementById(setting.id).innerHTML=page_request.responseText
        this.buildpaginate(setting)
    }
},
 
buildcontentdivs:function(setting){
    var alldivs=document.getElementById(setting.id).getElementsByTagName("div")
    for (var i=0; i<alldivs.length; i++){
        if (this.css(alldivs[i], "contentdiv", "check")){ //check for DIVs with class "contentdiv"
            setting.contentdivs.push(alldivs[i])
                alldivs[i].style.display="none" //collapse all content DIVs to begin with
        }
    }
},
 
buildpaginate:function(setting){
    this.buildcontentdivs(setting)
    var sliderdiv=document.getElementById(setting.id)
    var pdiv=document.getElementById("paginate-"+setting.id)
    var phtml=""
    var toc=setting.toc
    var nextprev=setting.nextprev
    if (typeof toc=="string" && toc!="markup" || typeof toc=="object"){
        for (var i=1; i<=setting.contentdivs.length; i++){
            phtml+='<a href="#'+i+'" class="toc">'+(typeof toc=="string"? toc.replace(/#increment/, i) : toc[i-1])+'</a> '
        }
        phtml=(nextprev[0]!=''? '<a href="#prev" class="prev">'+nextprev[0]+'</a> ' : '') + phtml + (nextprev[1]!=''? '<a href="#next" class="next">'+nextprev[1]+'</a>' : '')
        pdiv.innerHTML=phtml
    }
    var pdivlinks=pdiv.getElementsByTagName("a")
    var toclinkscount=0 //var to keep track of actual # of toc links
    for (var i=0; i<pdivlinks.length; i++){
        if (this.css(pdivlinks[i], "toc", "check")){
            if (toclinkscount>setting.contentdivs.length-1){ //if this toc link is out of range (user defined more toc links then there are contents)
                pdivlinks[i].style.display="none" //hide this toc link
                continue
            }
            pdivlinks[i].setAttribute("rel", ++toclinkscount) //store page number inside toc link
            pdivlinks[i][setting.revealtype]=function(){
                featuredcontentslider.turnpage(setting, this.getAttribute("rel"))
                return false
            }
            setting.toclinks.push(pdivlinks[i])
        }
        else if (this.css(pdivlinks[i], "prev", "check") || this.css(pdivlinks[i], "next", "check")){ //check for links with class "prev" or "next"
            pdivlinks[i].onclick=function(){
                featuredcontentslider.turnpage(setting, this.className)
                return false
            }
        }
    }
    this.turnpage(setting, setting.currentpage, true)
    if (setting.autorotate[0]){ //if auto rotate enabled
        pdiv[setting.revealtype]=function(){
            featuredcontentslider.cleartimer(setting, window["fcsautorun"+setting.id])
        }
        sliderdiv["onclick"]=function(){ //stop content slider when slides themselves are clicked on
            featuredcontentslider.cleartimer(setting, window["fcsautorun"+setting.id])
        }
        setting.autorotate[1]=setting.autorotate[1]+(1/setting.enablefade[1]*50) //add time to run fade animation (roughly) to delay between rotation
     this.autorotate(setting)
    }
},
 
urlparamselect:function(fcsid){
    var result=window.location.search.match(new RegExp(fcsid+"=(\\d+)", "i")) //check for "?featuredcontentsliderid=2" in URL
    return (result==null)? null : parseInt(RegExp.$1) //returns null or index, where index (int) is the selected tab's index
},
 
turnpage:function(setting, thepage, autocall){
    var currentpage=setting.currentpage //current page # before change
    var totalpages=setting.contentdivs.length
    var turntopage=(/prev/i.test(thepage))? currentpage-1 : (/next/i.test(thepage))? currentpage+1 : parseInt(thepage)
    turntopage=(turntopage<1)? totalpages : (turntopage>totalpages)? 1 : turntopage //test for out of bound and adjust
    if (turntopage==setting.currentpage && typeof autocall=="undefined") //if a pagination link is clicked on repeatedly
        return
    setting.currentpage=turntopage
    setting.contentdivs[turntopage-1].style.zIndex=++setting.topzindex
    this.cleartimer(setting, window["fcsfade"+setting.id])
    setting.cacheprevpage=setting.prevpage
    if (setting.enablefade[0]==true){
        setting.curopacity=0
        this.fadeup(setting)
    }
    if (setting.enablefade[0]==false){ //if fade is disabled, fire onChange event immediately (verus after fade is complete)
        setting.contentdivs[setting.prevpage-1].style.display="none" //collapse last content div shown (it was set to "block")
        setting.onChange(setting.prevpage, setting.currentpage)
    }
    setting.contentdivs[turntopage-1].style.visibility="visible"
    setting.contentdivs[turntopage-1].style.display="block"
    if (setting.prevpage<=setting.toclinks.length) //make sure pagination link exists (may not if manually defined via "markup", and user omitted)
        this.css(setting.toclinks[setting.prevpage-1], "selected", "remove")
    if (turntopage<=setting.toclinks.length) //make sure pagination link exists (may not if manually defined via "markup", and user omitted)
        this.css(setting.toclinks[turntopage-1], "selected", "add")
    setting.prevpage=turntopage
    if (this.enablepersist)
        this.setCookie("fcspersist"+setting.id, turntopage)
},
 
setopacity:function(setting, value){ //Sets the opacity of targetobject based on the passed in value setting (0 to 1 and in between)
    var targetobject=setting.contentdivs[setting.currentpage-1]
    try {
        if (targetobject.filters && targetobject.filters[0]){ //IE syntax
            if (typeof targetobject.filters[0].opacity=="number") //IE6
                targetobject.filters[0].opacity=value*100
            else //IE 5.5
                targetobject.style.filter="alpha(opacity="+value*100+")"
        }
    } catch (e) {}
    if (typeof targetobject.style.MozOpacity!="undefined") //Old Mozilla syntax
        targetobject.style.MozOpacity=value
    else if (typeof targetobject.style.opacity!="undefined") //Standard opacity syntax
        targetobject.style.opacity=value
    setting.curopacity=value
},
 
fadeup:function(setting){
    if (setting.curopacity<1){
        this.setopacity(setting, setting.curopacity+setting.enablefade[1])
        window["fcsfade"+setting.id]=setTimeout(function(){featuredcontentslider.fadeup(setting)}, 50)
    }
    else{ //when fade is complete
        if (setting.cacheprevpage!=setting.currentpage) //if previous content isn't the same as the current shown div (happens the first time the page loads/ script is run)
            setting.contentdivs[setting.cacheprevpage-1].style.display="none" //collapse last content div shown (it was set to "block")
        setting.onChange(setting.cacheprevpage, setting.currentpage)
    }
},
 
cleartimer:function(setting, timervar){
    if (typeof timervar!="undefined"){
        clearTimeout(timervar)
        clearInterval(timervar)
        if (setting.cacheprevpage!=setting.currentpage){ //if previous content isn't the same as the current shown div
            setting.contentdivs[setting.cacheprevpage-1].style.display="none"
        }
    }
},
 
css:function(el, targetclass, action){
    var needle=new RegExp("(^|\\s+)"+targetclass+"($|\\s+)", "ig")
    if (action=="check")
        return needle.test(el.className)
    else if (action=="remove")
        el.className=el.className.replace(needle, "")
    else if (action=="add")
        el.className+=" "+targetclass
},
 
autorotate:function(setting){
    window["fcsautorun"+setting.id]=setInterval(function(){featuredcontentslider.turnpage(setting, "next")}, setting.autorotate[1])
},
 
getCookie:function(Name){ 
    var re=new RegExp(Name+"=[^;]+", "i"); //construct RE to search for target name/value pair
    if (document.cookie.match(re)) //if cookie found
        return document.cookie.match(re)[0].split("=")[1] //return its value
    return null
},
 
setCookie:function(name, value){
    document.cookie = name+"="+value
},
 
 
init:function(setting){
    var persistedpage=this.getCookie("fcspersist"+setting.id) || 1
    var urlselectedpage=this.urlparamselect(setting.id) //returns null or index from: mypage.htm?featuredcontentsliderid=index
    this.settingcaches[setting.id]=setting //cache "setting" object
    setting.contentdivs=[]
    setting.toclinks=[]
    setting.topzindex=0
    setting.currentpage=urlselectedpage || ((this.enablepersist)? persistedpage : 1)
    setting.prevpage=setting.currentpage
    setting.revealtype="on"+(setting.revealtype || "click")
    setting.curopacity=0
    setting.onChange=setting.onChange || function(){}
    if (setting.contentsource[0]=="inline")
        this.buildpaginate(setting)
    if (setting.contentsource[0]=="ajax")
        this.ajaxconnect(setting)
}
}
 
/* end contentslider.js */
/* begin popups */
 
var ie;
var msgWin;
 
if (navigator.appName.indexOf("Explorer") > -1) {
    ie = navigator.appVersion.substring(0,1);
} else {
    ie = 0;
}
// Fenster oeffnen
function openPopup (url, w, h, t, l) {
    if (!url) { 
        url = "about:blank";
    }
    if (!w) { 
        w = "width=550";
    } else {
        w = "width=" + w;
    }
    if (!h) { 
        h = ",height=750";
    } else {
        h = ",height=" + h;
    }
    if (!t) { 
        t = ",top=30";
    } else {
        t = ",top=" + t;
    }
    if (!l) { 
        l = ",left=100";
    } else {
        l = ",left=" + l;
    }
    if (msgWin && (!msgWin.closed)) {
        msgWin.close();
        msgWin = "";
    }
    msgWin = window.open(url, "Popup", w + h + t + l + ",toolbar=no,locationbar=no,menubar=no,status=no,scrollbars=no,resizable=no,dependend=yes");
    if (!msgWin.closed) {
        msgWin.opener = self;
        msgWin.focus();
    }
}
// Fenster schließen
function closePopup () {
    if (ie == 0 || ie > 3 ) { // wenn nicht Explorer 3 oder älter oder wenn anderer Browser
        if (msgWin && (!msgWin.closed)) {
            msgWin.close();
        }
    }
}
/* end popups */
 
// Select - Boxen
function selectIntern (auswahl) {
    var strUrl;
    if (auswahl.selectedIndex != "0") {
        strUrl = auswahl[auswahl.selectedIndex].value;
        window.location.href = strUrl;
    }
}
function selectExtern (auswahl) {
    var strUrl, strParams;
    var strName = "Website";
    if (auswahl.selectedIndex != "0") {
        strParams = "width=780,height=468,resizable=yes,scrollbars=yes,menubar=yes,toolbar=yes,location=yes,status=yes";
        if (window.moveTo && screen) { 
            strParams += ",screenX=20,screenY=10";
        }
        strUrl = auswahl[auswahl.selectedIndex].value;
        if (msgWin && (!msgWin.closed)) {
            msgWin.close();
            msgWin = "";
        }
        msgWin =  window.open(strUrl, strName, strParams);
        if (msgWin && (!msgWin.closed)) {
            msgWin.opener = self;
            msgWin.focus();
        }
    }
}
 
function HTMLDecode(strDecode, bScript) {
    strDecode = strDecode.replace(/\"/g, "&quot;");
    strDecode = strDecode.replace(/&Auml;/g, "Ä");
    strDecode = strDecode.replace(/&auml;/g, "ä");
    strDecode = strDecode.replace(/&acute;/g, "´");
    strDecode = strDecode.replace(/&Aacute;/g, "Á");
    strDecode = strDecode.replace(/&aacute;/g, "á");
    strDecode = strDecode.replace(/&Agrave;/g, "À");
    strDecode = strDecode.replace(/&agrave;/g, "à");
    strDecode = strDecode.replace(/&Acirc;/g, "Â");
    strDecode = strDecode.replace(/&acirc;/g, "â");
    strDecode = strDecode.replace(/&cedil;/g, "¸");
    strDecode = strDecode.replace(/&Ccedil;/g, "Ç");
    strDecode = strDecode.replace(/&ccedil;/g, "ç");
    strDecode = strDecode.replace(/&circ;/g, "ˆ");
    strDecode = strDecode.replace(/&Eacute;/g, "É");
    strDecode = strDecode.replace(/&eacute;/g, "é");
    strDecode = strDecode.replace(/&Egrave;/g, "È");
    strDecode = strDecode.replace(/&egrave;/g, "è");
    strDecode = strDecode.replace(/&Ecirc;/g, "Ê");
    strDecode = strDecode.replace(/&ecirc;/g, "ê");
    strDecode = strDecode.replace(/&Iacute;/g, "Í");
    strDecode = strDecode.replace(/&iacute;/g, "í");
    strDecode = strDecode.replace(/&Igrave;/g, "Ì");
    strDecode = strDecode.replace(/&igrave;/g, "ì");
    strDecode = strDecode.replace(/&Icirc;/g, "Î");
    strDecode = strDecode.replace(/&icirc;/g, "î");
    strDecode = strDecode.replace(/&Ouml;/g, "Ö");
    strDecode = strDecode.replace(/&ouml;/g, "ö");
    strDecode = strDecode.replace(/&Oacute;/g, "Ó");
    strDecode = strDecode.replace(/&oacute;/g, "ó");
    strDecode = strDecode.replace(/&Ograve;/g, "Ò");
    strDecode = strDecode.replace(/&ograve;/g, "ò");
    strDecode = strDecode.replace(/&Ocirc;/g, "Ô");
    strDecode = strDecode.replace(/&ocirc;/g, "ô");
    strDecode = strDecode.replace(/&Uuml;/g, "Ü");
    strDecode = strDecode.replace(/&uuml;/g, "ü");
    strDecode = strDecode.replace(/&Uacute;/g, "Ú");
    strDecode = strDecode.replace(/&uacute;/g, "ú");
    strDecode = strDecode.replace(/&Ugrave;/g, "Ù");
    strDecode = strDecode.replace(/&ugrave;/g, "ù");
    strDecode = strDecode.replace(/&Ucirc;/g, "Û");
    strDecode = strDecode.replace(/&ucirc;/g, "û");
    strDecode = strDecode.replace(/&szlig;/g, "ß");
    strDecode = strDecode.replace(/&nbsp;/g, " ");
    strDecode = strDecode.replace(/&laquo;/g, "«");
    strDecode = strDecode.replace(/&raquo;/g, "»");
    strDecode = strDecode.replace(/&middot;/g, "·");
    strDecode = strDecode.replace(/&divide;/g, "÷");
    strDecode = strDecode.replace(/&shy;/g, "­");
    strDecode = strDecode.replace(/&copy;/g, "©");
    strDecode = strDecode.replace(/&deg;/g, "°");
    strDecode = strDecode.replace(/&euro;/g, "€");
    strDecode = strDecode.replace(/&sect;/g, "§");
    strDecode = strDecode.replace(/&times;/g, "×");
    strDecode = strDecode.replace(/&amp;/g, "&");
    strDecode = strDecode.replace(/&#39;/g, "'");
 
    if (bScript) {
        strDecode = strDecode.replace(/&quot;/g, "\\\"");
    } else {
        strDecode = strDecode.replace(/&quot;/g, "\"");
    }
 
    return strDecode;
}
 
/* begin mediathek */
function mtMedia (title, description, mediasource, imgsource, pagesource, pubdate, subtitles) {
    this.title = title;
    this.description = description;
    this.mediasource = mediasource;
    this.imgsource = imgsource;
    this.pagesource = pagesource;
    this.pubdate = pubdate;
    this.subtitles = subtitles;
}
function mtSubMedia (title, mediasource) {
    this.title = title;
    this.mediasource = mediasource;
}
function mtPage (pageitems) {
    this.pageitems = pageitems;
}
 
function createNodesForTeaser (iIndex, iPageId, bIsArticle) {
 
    var arrContent = new Array();
    var arrSource = new Array();
    var strId = "";
    var strOvId = "";
    //var strSend = "sendToNonverBlaster(\"nonverblaster";
    var strMovie = "nonverblaster";
    if (iPageId > 0) {
        arrContent = getContent(iPageId);
        arrSource = getSource(iPageId);
        strId = "mediateaser-" + iPageId;
        strOvId = iPageId;
        strMovie += "-" + iPageId;
    } else {
        arrContent = arrPages;
        arrSource = arrMedia;
        strId = strTeaserId;
        strOvId = strOverlayId.substr(strOverlayId.indexOf("-") + 1);
    }
    var nDiv = document.getElementById(strId);
    var nUl = nDiv.getElementsByTagName("ul");
    var iPageCount = 0;
    var bIsAudio = false;
 
    if (!bIsArticle) {
        bIsArticle = false;
        iPageCount = getPageSize(arrSource.length, iPageSize);
    }
    // remove existing nodes
    while (nDiv.childNodes.length != 0) {
        nDiv.removeChild(nDiv.firstChild);
    }
    // set visible
    nDiv.style.display = "block";
    if (!bIsArticle) {
        nDiv.style.marginBottom = 50 + "px";
        //if (document.getElementById("mt-head"))
        //    document.getElementById("mt-head").style.display = "block";
        if (document.getElementById("mt-controls")) {
            document.getElementById("mt-controls").style.display = "block";
        } else {
            nDiv.style.marginBottom = 15 + "px";
        }
    } else {
        nDiv.style.marginBottom = 15 + "px";
    }
 
    // create nodes
    nUl = document.createElement("ul");
    nUl.className = "mt-liste";
    for (var i = 0; i < arrContent[iIndex].pageitems.length; i++) {
 
        if (arrContent[iIndex].pageitems[i].imgsource == "")
            bIsAudio = true;
 
        var nLi = document.createElement("li");
        var nAnch = document.createElement("a");
        var nAnchLbl = document.createTextNode(HTMLDecode(arrContent[iIndex].pageitems[i].title, false));
        var nSubDiv = document.createElement("div");
        if (!bIsAudio)
            var nImg = document.createElement("img");
        var nSpan = document.createElement("span");
        //var nDesc = document.createTextNode(HTMLDecode(arrContent[iIndex].pageitems[i].description, false));
        var nDesc = document.createTextNode("");
        //nDesc.innerHTML = arrContent[iIndex].pageitems[i].description;
        var strHref = "javascript:setActive(\"" + iIndex + "\", \"" + iPageId + "\", \"" + i + "\", \"-1\", " + bIsArticle + ");sendToNonverBlaster(\"zeigen## ##" + arrContent[iIndex].pageitems[i].mediasource + "##" + strOvId + "##" + arrContent[iIndex].pageitems[i].imgsource + "\", \"" + strMovie + "\")";
        var strDate = HTMLDecode(arrContent[iIndex].pageitems[i].pubdate, false);
        if (!bIsAudio)
            var aAlt = document.createAttribute("alt");
 
        if (!bIsAudio) {
            aAlt.nodeValue = HTMLDecode(arrContent[iIndex].pageitems[i].title, false);
            nImg.setAttributeNode(aAlt);
            nImg.src = arrContent[iIndex].pageitems[i].imgsource;
            nAnch.appendChild(nImg);
            nAnch.href = strHref;
            nAnch.className = "mt-img";
            nSubDiv.className = "mt-list-item";
            nSubDiv.appendChild(nAnch);
            nLi.appendChild(nSubDiv);
        } else {
            nSubDiv.className = "mt-list-item";
            nLi.appendChild(nSubDiv);
        }
 
        nSubDiv = document.createElement("div");
        nSubDiv.className = "mt-teaser";
        if (bIsAudio)
            nSubDiv.style.width = 608 + "px";
        nLi.getElementsByTagName("div")[0].appendChild(nSubDiv);
 
        nSubDiv = document.createElement("div");
        nSubDiv.className = "mt-teaser-head";
        nAnch = document.createElement("a");
        nAnch.href = strHref;
        nAnch.appendChild(nAnchLbl);
        if (bIsAudio)
            nAnch.style.width = 445 + "px";
        nSubDiv.appendChild(nAnch);
        nLi.getElementsByTagName("div")[1].appendChild(nSubDiv);
 
        nSubDiv = document.createElement("div");
        nSubDiv.className = "mt-teaser-date";
        nAnch = document.createElement("a");
        nAnch.href = strHref;
        nAnchLbl = document.createTextNode(strDate);
        nAnch.appendChild(nAnchLbl);
        nSubDiv.appendChild(nAnch);
        nLi.getElementsByTagName("div")[1].appendChild(nSubDiv);
 
        nSubDiv = document.createElement("div");
        nSubDiv.className = "clear";
        nLi.getElementsByTagName("div")[1].appendChild(nSubDiv);
 
        nAnch = document.createElement("a");
        nAnch.href = strHref;
        //nSpan.appendChild(nDesc);
        nSpan.innerHTML = arrContent[iIndex].pageitems[i].description;
        nAnch.appendChild(nSpan);
        nLi.getElementsByTagName("div")[1].appendChild(nAnch);
 
        nSubDiv = document.createElement("div");
        nSubDiv.className = "clear";
        nLi.getElementsByTagName("div")[0].appendChild(nSubDiv);
 
        nUl.appendChild(nLi);
 
        if ((arrContent[iIndex].pageitems[i].subtitles) && (arrContent[iIndex].pageitems[i].subtitles.length > 0)) {
            for (var k = 0; k < arrContent[iIndex].pageitems[i].subtitles.length; k++) {
                nLi = document.createElement("li");
                nSubDiv = document.createElement("div");
                nAnch = document.createElement("a");
                nAnchLbl = document.createTextNode(HTMLDecode(arrContent[iIndex].pageitems[i].subtitles[k].title, false));
                nSpan = document.createElement("span");
                nDesc = document.createTextNode(strPart + " " + (k + 1));
                nLi.className = "mt-sub";
                nSubDiv.className = "mt-list-item";
                nAnch.href = "javascript:setActive(\"" + iIndex + "\", \"" + iPageId + "\", \"" + i + "\", \"" + k + "\", " + bIsArticle + ");sendToNonverBlaster(\"zeigen## ##" + arrContent[iIndex].pageitems[i].subtitles[k].mediasource + "##" + strOvId + "##" + arrContent[iIndex].pageitems[i].imgsource + "\", \"" + strMovie + "\")";
                nSpan.appendChild(nDesc);
                nAnch.appendChild(nSpan);
                nAnch.appendChild(nAnchLbl);
                nSubDiv.appendChild(nAnch);
                nLi.appendChild(nSubDiv);
                nUl.appendChild(nLi);
            }
        }
    }
    if (bIsArticle) {
        nUl.removeChild(nUl.firstChild);
        nUl.style.borderTop = "1px solid #636863";
        nDiv.appendChild(nUl);
    } else
    if (!document.getElementById("mt-controls")) {
        nUl.style.borderTop = "1px solid #636863";
        nDiv.appendChild(nUl);
    } else {
        nDiv.appendChild(nUl);
        // create pager nodes
        var nCDiv = document.getElementById("mt-controls").getElementsByTagName("div")[0];
        if (arrContent[iIndex].pageitems.length == 0) {
            nCDiv.appendChild(document.createTextNode("1"));
            return;
        }
        // replace existing nodes
        if (nCDiv.getElementsByTagName("a").length > 0) {
             for (var i = 0; i < iPageCount; i++) {
                var nAnch = nCDiv.getElementsByTagName("a")[i];
                nAnch.className = "";
                nAnch.blur();
                if (i == iIndex)
                    nAnch.className = "act";
            }
        } else {
            for (var i = 0; i < iPageCount; i++) {
                var nAnch = document.createElement("a");
                var nAnchLbl = document.createTextNode(i + 1);
                nAnch.href = "javascript:createNodesForTeaser(\"" + i + "\", \"" + iPageId + "\", false)";
                if (i == iIndex)
                    nAnch.className = "act";
                nAnch.appendChild(nAnchLbl);
                nCDiv.appendChild(nAnch);
            }
        }
    }
}
 
function createNodesForOverlay (oMtMedia, iPageId) {
 
    var strId = "";
    if (iPageId > 0) {
        strId = "overlay-" + iPageId;
    } else {
        strId = strOverlayId;
    }
    var nOvDiv = document.getElementById(strId);
    nOvDiv.innerHTML = "";
    var nDiv = document.createElement("div");
    nDiv.className = "mt-ov";
    //nDiv.style.position = "relative";
    //nDiv.style.zIndex = 66;
    nOvDiv.appendChild(nDiv);
    // -- alt -- getEmbed (oMtMedia, iPageId, bEmbed)
    nDiv = getEmbed(oMtMedia, iPageId, false);
    nOvDiv.getElementsByTagName("div")[0].appendChild(nDiv);
 
    nDiv = getEmLink(oMtMedia.title, oMtMedia.pagesource, false);
    nOvDiv.getElementsByTagName("div")[0].appendChild(nDiv);
    nDiv = getDlLink(oMtMedia.title, oMtMedia.mediasource, false);
    nOvDiv.getElementsByTagName("div")[0].appendChild(nDiv);
 
    nDiv = getSBFacebook(oMtMedia.title, oMtMedia.pagesource, false);
    nOvDiv.getElementsByTagName("div")[0].appendChild(nDiv);
    nDiv = getSBTwitter(oMtMedia.title, oMtMedia.pagesource, false);
    nOvDiv.getElementsByTagName("div")[0].appendChild(nDiv);
    nDiv = getSBMySpace(oMtMedia.title, oMtMedia.pagesource, false);
    nOvDiv.getElementsByTagName("div")[0].appendChild(nDiv);
    nDiv = getSBDigg(oMtMedia.title, oMtMedia.pagesource, false);
    nOvDiv.getElementsByTagName("div")[0].appendChild(nDiv);
    nDiv = getSBMisterWong(oMtMedia.title, oMtMedia.pagesource, false);
    nOvDiv.getElementsByTagName("div")[0].appendChild(nDiv);
    nDiv = getSBDelicious(oMtMedia.title, oMtMedia.pagesource, false);
    nOvDiv.getElementsByTagName("div")[0].appendChild(nDiv);
 
    nDiv = document.createElement("div");
    nDiv.className = "clear";
    nOvDiv.getElementsByTagName("div")[0].appendChild(nDiv);
 
}
 
function getPageSize (iElems, iPageSize) {
    if (iElems == 0)
        return 0;
    if (iPageSize < 2)
        iPageSize = 1;
    return (parseInt(iElems/iPageSize) + (iElems%iPageSize != 0?1:0));
}
function getPageItems (iIndex, iPageId) {
    var arrPageItems = new Array();
    var arrSource = new Array();
    if (iPageId > 0) {
        arrSource = getSource(iPageId);
    } else {
        arrSource = arrMedia;
    }
    var iCount = arrSource.length;
    if (iCount == 0) {
        arrPageItems = arrSource;
        return arrPageItems;
    }
    var iPageCount = getPageSize(arrSource.length, iPageSize)
    for (var i = 0; i < iPageCount; i++) {
        var iStart = iIndex * iPageSize;
        var iEnd = (iIndex + 1) * iPageSize;
        //alert(iStart + ", " + iEnd);
        if (iEnd > iCount) {
            arrPageItems = arrSource.slice(iStart);
        } else {
            arrPageItems = arrSource.slice(iStart, iEnd);
        }
    }
    return arrPageItems;
}
 
function setActive (iIndex, iPageId, iSelf, iSub, bIsArticle) {
 
    var iCount = -1;
    var arrContent = new Array();
    var strId = "";
    if (iPageId > 0) {
        arrContent = getContent(iPageId);
        strId = "mediateaser-" + iPageId;
    } else {
        arrContent = arrPages;
        strId = strTeaserId;
    }
    var nDiv = document.getElementById(strId);
 
    for (var i = 0; i < arrContent[iIndex].pageitems.length; i++) {
        if (!bIsArticle) {
            iCount++;
            nDiv.getElementsByTagName("li")[iCount].className = "";
        }
        if ((arrContent[iIndex].pageitems[i].subtitles) && (arrContent[iIndex].pageitems[i].subtitles.length > 0)) {
            for (var k = 0; k < arrContent[iIndex].pageitems[i].subtitles.length; k++) {
                iCount++;
                nDiv.getElementsByTagName("li")[iCount].className = "mt-sub";
            }
        }
    }
    iCount = -1;
    //alert(parseInt(iSelf) + ", " + parseInt(iSub));
    for (var i = 0; i < arrContent[iIndex].pageitems.length; i++) {
        if (!bIsArticle)
            iCount++;
        if (i == iSelf) {
            if (!bIsArticle) {
                nDiv.getElementsByTagName("li")[iCount].className = "bc";
                for (var k = 0; k < nDiv.getElementsByTagName("li")[iCount].getElementsByTagName("a").length; k++) {
                    nDiv.getElementsByTagName("li")[iCount].getElementsByTagName("a")[k].blur();
                }
            }
            if (iSub == -1)
                break;
        }
        if ((arrContent[iIndex].pageitems[i].subtitles) && (arrContent[iIndex].pageitems[i].subtitles.length > 0)) {
            for (var k = 0; k < arrContent[iIndex].pageitems[i].subtitles.length; k++) {
                iCount++;
                if ((i == iSelf) && (k == iSub)) {
                    //alert(iCount + ", " + i + ", " + k);
                    nDiv.getElementsByTagName("li")[iCount].className = "mt-sub bc";
                    nDiv.getElementsByTagName("li")[iCount].getElementsByTagName("a")[0].blur();
                    break;
                }
            }
        }
    }
    if (iSub > -1) {
        //createNodesForOverlay (new mtMedia(title, description, mediasource, imgsource, pagesource, pubdate, subtitles), iPageId)
        createNodesForOverlay(new mtMedia(arrContent[iIndex].pageitems[iSelf].subtitles[iSub].title, "", arrContent[iIndex].pageitems[iSelf].subtitles[iSub].mediasource, arrContent[iIndex].pageitems[iSelf].imgsource, arrContent[iIndex].pageitems[iSelf].pagesource, "", ""), iPageId);
    } else {
        createNodesForOverlay(new mtMedia(arrContent[iIndex].pageitems[iSelf].title, "", arrContent[iIndex].pageitems[iSelf].mediasource, arrContent[iIndex].pageitems[iSelf].imgsource, arrContent[iIndex].pageitems[iSelf].pagesource, "", ""), iPageId);
    }
    scrollToPlayer(29, iPageId);
}
 
function sortItemsByTitle (bRev) {
    var iPageId = -1;
    var nAnch = document.getElementById("title-sort");
    arrMedia.sort(sortTitles);
    if (bRev) {
        arrMedia.reverse();
        nAnch.href = "javascript:sortItemsByTitle(false)";
        nAnch.className = "desc";
        nAnch.blur();
    } else {
        nAnch.href = "javascript:sortItemsByTitle(true)";
        nAnch.className = "asc";
        nAnch.blur();
    }
    document.getElementById("date-sort").className = "";
    document.getElementById("date-sort").href = "javascript:sortItemsByDate(false)";
 
    if (arrMedia.length > 0) {
        var iPageCount = getPageSize(arrMedia.length, iPageSize);
        for (var i = 0; i < iPageCount; i++) {
            // arrPages[i] = mtPage(pageitems) -- getPageItems(iIndex, iPageId)
            arrPages[i] = new mtPage(getPageItems(i, iPageId)) ;
        }
        strMediaURL = arrPages[0].mediasource;
        // createNodesForTeaser(iIndex, iPageId, bIsArticle)
        createNodesForTeaser (0, iPageId);
    }
}
function sortItemsByDate (bRev) {
    var iPageId = -1;
    var nAnch = document.getElementById("date-sort");
    arrMedia.sort(sortPubdate);
    if (bRev) {
        arrMedia.reverse();
        nAnch.href = "javascript:sortItemsByDate(false)";
        nAnch.className = "desc";
        nAnch.blur();
    } else {
        nAnch.href = "javascript:sortItemsByDate(true)";
        nAnch.className = "asc";
        nAnch.blur();
    }
    document.getElementById("title-sort").className = "";
    document.getElementById("title-sort").href = "javascript:sortItemsByTitle(false)";
 
    if (arrMedia.length > 0) {
        var iPageCount = getPageSize(arrMedia.length, iPageSize);
        for (var i = 0; i < iPageCount; i++) {
            // arrPages[i] = mtPage(pageitems) -- getPageItems(iIndex, iPageId)
            arrPages[i] = new mtPage(getPageItems(i, iPageId)) ;
        }
        strMediaURL = arrPages[0].mediasource;
        // createNodesForTeaser(iIndex, iPageId, bIsArticle)
        createNodesForTeaser (0, iPageId);
    }
}
function scrollToPlayer (iAdd, iPageId) {
    var iHeight;
    var strId = "";
    if (iPageId > 0) {
        strId = "mediaplayer-" + iPageId;
    } else {
        strId = strPlayerId;
    }
    if (window.pageYOffset) {
        iHeight = window.pageYOffset;
        //alert("pageYOffset: " + iHeight);
    } else 
    if (document.body && document.body.scrollTop) {
        iHeight = document.body.scrollTop;
        //alert("body.scrollTop: " + iHeight);
    } else 
    if (document.documentElement && document.documentElement.scrollTop) {
        iHeight = document.documentElement.scrollTop;
        //alert("documentElement.scrollTop: " + iHeight);
    }
    var iOffset = document.getElementById(strId).offsetTop;
    var oParent = document.getElementById(strId).offsetParent;
    while (oParent) {
        iOffset += oParent.offsetTop;
        oParent = oParent.offsetParent;
    }
    iOffset += iAdd;
    //alert("offset: " + iOffset);
    if (iHeight > iOffset)
        window.scrollTo(0, iOffset);
}
function switchOverlay (bSwitch, iPageId){
    var strId = "";
    //if (isNaN(iPageId)) {
    if (parseInt(iPageId) > 0) {
        strId = "overlay-" + iPageId;
    } else {
        strId = strOverlayId;
    }
    if (bSwitch == "on") {
        document.getElementById(strId).style.display = "block";
    } else {
        document.getElementById(strId).style.display = "none";
    }
}
// Embed - Code
function getEmbedCode (oMtMedia) {
 
    var iRandom = Math.floor(Math.random() * 100000000);
    var iHeight = 390;
    var strClass = "mtv";
    var strOpt = "true";
    if (oMtMedia.mediasource.indexOf(".mp3") > 0) {
        iHeight = 50;
        strClass = "mta";
        strOpt = "false";
    }
 
    var strCode = "<div class=\"" + strClass + "\"><scr" + "ipt type=\"text/javascript\" charset=\"utf-8\">function "
    strCode += "switchOverlay(on_off,ovid){on_off==\"on\"?document.getElementById(ovid).style.display=\"block\":document.getElementById(ovid).style.display=\"none\"}</scr" + "ipt>";
    strCode += "<link rel=\"stylesheet\" href=\"http://www.boell.de/data/styles/embed.css\" type=\"text/css\" />";
    strCode += "<div id=\"ovi-" + iRandom + "\" class=\"mto\" style=\"display:none\"><div class=\"mtd\">";
 
    var nOvDiv = document.createElement("div");
    var nDiv = document.createElement("div");
    nDiv = getEmbed(oMtMedia, iRandom, true);
    nOvDiv.appendChild(nDiv);

    strCode += String(nOvDiv.innerHTML);
    strCode += "<div class=\"clr\"></div></div></div>";
 
    strCode += "<object width=\"608\" height=\"";
    strCode += iHeight;
    strCode += "\" classid=\"CLSID:D27CDB6E-AE6D-11cf-96B8-444553540000\" id=\"nonverblaster-" + iRandom + "\"><param name=\"movie\" value=\"http://" + strWebsite + strPlayerURL + "\" />";
    strCode += "<param name=\"allowFullScreen\" value=\"" + strOpt + "\" /><param name=\"allowscriptaccess\" value=\"always\" /><param name=\"wmode\" value=\"transparent\" />";
    strCode += "<param name=\"flashvars\" value=\"mediaURL=http://" + strWebsite + oMtMedia.mediasource;
    strCode += "&amp;teaserURL=http://" + strWebsite + oMtMedia.imgsource + "&amp;scaleIfFullScreen=true"
    strCode += "&amp;crop=false&amp;overlayid=ovi-" + iRandom + "\" />";
    strCode += "<embed src=\"http://" + strWebsite + strPlayerURL + "\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" flashvars=\"mediaURL=http://" + strWebsite + oMtMedia.mediasource;
    strCode += "&amp;teaserURL=http://" + strWebsite + oMtMedia.imgsource + "&amp;scaleIfFullScreen=true"
    strCode += "&amp;crop=false&amp;overlayid=ovi-" + iRandom + "\" allowfullscreen=\"" + strOpt + "\" wmode=\"transparent\" width=\"608\" height=\"" + iHeight;
    strCode += "\"></embed></object></div>";
 
    return strCode;
 
}
// Embed
function getEmbed (oMtMedia, iPageId, bEmbed) {
    var nDiv = document.createElement("div");
    var nAnch = document.createElement("a");
    var nSpan = document.createElement("span");
    var nImg = document.createElement("img");
    var nInp = document.createElement("input");
    var aAlt = document.createAttribute("alt");
    var strClass = "mt-ovcode";
 
    aAlt.nodeValue = "Close";
    nImg.setAttributeNode(aAlt);
    if (bEmbed) {
        nSpan.appendChild(document.createTextNode(HTMLDecode("&copy; www.boell.de")));
        nAnch.href = oMtMedia.pagesource;
        nAnch.style.marginRight = 165 + "px";
        nAnch.target = "_blank";
        nAnch.appendChild(nSpan);
        nDiv.appendChild(nAnch);
        nAnch = document.createElement("a");
        nImg.src = "http://" + strWebsite + "/images/navigation/ov_close_16x16.png";
        nAnch.href = "javascript:switchOverlay(\"off\",\"ovi-" + iPageId + "\")";
        strClass = "mtc";
    } else {
        nSpan.appendChild(document.createTextNode("Embed: "));
        nInp.type = "text";
        nInp.readOnly = "readonly";
        nInp.className = "mt-embtext";
        var aClick = document.createAttribute("onselect");
        aClick.nodeValue = "this.select()";
        nInp.setAttributeNode(aClick);
        aClick = document.createAttribute("onfocus");
        aClick.nodeValue = "this.select()";
        nInp.setAttributeNode(aClick);
        aClick = document.createAttribute("onclick");
        aClick.nodeValue = "this.select()";
        nInp.setAttributeNode(aClick);
        nInp.value = getEmbedCode(oMtMedia);
        nDiv.appendChild(nSpan);
        nDiv.appendChild(nInp);
        nImg.src = "/images/navigation/ov_close_16x16.png";
        nAnch.href = "javascript:switchOverlay(\"off\",\"" + iPageId + "\")";
    }
    //nAnch.href = "javascript:void(0)";
    nAnch.appendChild(nImg);
    //nAnch.className = "";
    nDiv.appendChild(nAnch);
    nDiv.className = strClass;
 
    return nDiv;
}
// EMail
function getEmLink (strTitle, strSource, bEmbed) {
    var nDiv = document.createElement("div");
    var nAnch = document.createElement("a");
    var nImg = document.createElement("img");
    var aAlt = document.createAttribute("alt");
    var nSpan = document.createElement("span");
    var aClick = document.createAttribute("onclick");
    var strClass = "mt-ovlink";
    aClick.nodeValue = "this.blur()";
    nSpan.appendChild(document.createTextNode("EMail"));
    aAlt.nodeValue = "EMail";
    nImg.setAttributeNode(aAlt);
    if (bEmbed) {
        nImg.src = "http://" + strWebsite + "/images/navigation/email_24.png";
        strClass = "mtl";
    } else {
        nImg.src = "/images/navigation/email_24.png";
    }
    nAnch.href = "mailto:?subject=" + encodeURIComponent(HTMLDecode(strTitle)) + "&body=" + encodeURIComponent(strSource);
    //nAnch.target = "_blank";
    nAnch.appendChild(nImg);
    nAnch.appendChild(nSpan);
    nAnch.setAttributeNode(aClick);
    //nAnch.className = "";
    nDiv.appendChild(nAnch);
    nDiv.className = strClass;
 
    return nDiv;
}
// Download Link
function getDlLink (strTitle, strSource, bEmbed) {
    var nDiv = document.createElement("div");
    var nAnch = document.createElement("a");
    var nImg = document.createElement("img");
    var aAlt = document.createAttribute("alt");
    var nSpan = document.createElement("span");
    var aClick = document.createAttribute("onclick");
    var strClass = "mt-ovlink";
    aClick.nodeValue = "this.blur()";
    nSpan.appendChild(document.createTextNode("Download"));
    aAlt.nodeValue = "Download";
    nImg.setAttributeNode(aAlt);
    if (bEmbed) {
        nImg.src = "http://" + strWebsite + "/images/navigation/email_24.png";
        nAnch.href = "http://" + strWebsite + strSource;
        strClass = "mtl";
    } else {
        nImg.src = "/images/navigation/email_24.png";
        nAnch.href = strSource;
    }
    nAnch.target = "_blank";
    nAnch.appendChild(nImg);
    nAnch.appendChild(nSpan);
    nAnch.setAttributeNode(aClick);
    //nAnch.className = "";
    nDiv.appendChild(nAnch);
    nDiv.className = strClass;
 
    return nDiv;
}
// SB - Social Bookmarks
// Delicio.us
function getSBDelicious (strTitle, strSource, bEmbed) {
    var nDiv = document.createElement("div");
    var nAnch = document.createElement("a");
    var nImg = document.createElement("img");
    var aAlt = document.createAttribute("alt");
    var nSpan = document.createElement("span");
    var aClick = document.createAttribute("onclick");
    var strClass = "mt-ovlink";
    aClick.nodeValue = "this.blur()";
    nSpan.appendChild(document.createTextNode("Delicio.us"));
    aAlt.nodeValue = "Delicio.us";
    nImg.setAttributeNode(aAlt);
    if (bEmbed) {
        nImg.src = "http://" + strWebsite + "/images/navigation/delicious_24.png";
        strClass = "mtl";
    } else {
        nImg.src = "/images/navigation/delicious_24.png";
    }
    nAnch.href = "http://delicious.com/save?url=" + encodeURIComponent(strSource) + "&title=" + encodeURIComponent(HTMLDecode(strTitle));
    //http://delicious.com/save?url=http%3A%2F%2Fsharethis.com%2F%23STS%3Dg4lilqih.9gg&title=ShareThis
    nAnch.target = "_blank";
    nAnch.appendChild(nImg);
    nAnch.appendChild(nSpan);
    nAnch.setAttributeNode(aClick);
    //nAnch.className = "";
    nDiv.appendChild(nAnch);
    nDiv.className = strClass;
 
    return nDiv;
}
// Digg
function getSBDigg (strTitle, strSource, bEmbed) {
    var nDiv = document.createElement("div");
    var nAnch = document.createElement("a");
    var nImg = document.createElement("img");
    var aAlt = document.createAttribute("alt");
    var nSpan = document.createElement("span");
    var aClick = document.createAttribute("onclick");
    var strClass = "mt-ovlink";
    aClick.nodeValue = "this.blur()";
    nSpan.appendChild(document.createTextNode("Digg"));
    aAlt.nodeValue = "Digg";
    nImg.setAttributeNode(aAlt);
    if (bEmbed) {
        nImg.src = "http://" + strWebsite + "/images/navigation/digg_24.png";
        strClass = "mtl";
    } else {
        nImg.src = "/images/navigation/digg_24.png";
    }
    nAnch.href = "http://digg.com/submit?phase=2&url=" + encodeURIComponent(strSource) + "&title=" + encodeURIComponent(HTMLDecode(strTitle));
    //http://digg.com/submit?phase=2&url=http%3A%2F%2Fsharethis.com%2F%23STS%3Dg4lilqih.9gg&title=ShareThis
    nAnch.target = "_blank";
    nAnch.appendChild(nImg);
    nAnch.appendChild(nSpan);
    nAnch.setAttributeNode(aClick);
    //nAnch.className = "";
    nDiv.appendChild(nAnch);
    nDiv.className = strClass;
 
    return nDiv;
}
// Facebook
function getSBFacebook (strTitle, strSource, bEmbed) {
    var nDiv = document.createElement("div");
    var nAnch = document.createElement("a");
    var nImg = document.createElement("img");
    var aAlt = document.createAttribute("alt");
    var nSpan = document.createElement("span");
    var aClick = document.createAttribute("onclick");
    var strClass = "mt-ovlink";
    aClick.nodeValue = "this.blur()";
    nSpan.appendChild(document.createTextNode("Facebook"));
    aAlt.nodeValue = "Facebook";
    nImg.setAttributeNode(aAlt);
    if (bEmbed) {
        nImg.src = "http://" + strWebsite + "/images/navigation/facebook_24.png";
        strClass = "mtl";
    } else {
        nImg.src = "/images/navigation/facebook_24.png";
    }
    nAnch.href = "http://www.facebook.com/sharer.php?u=" + encodeURIComponent(strSource) + "&t=" + encodeURIComponent(HTMLDecode(strTitle));
    //http://www.facebook.com/sharer.php?u=http%3A%2F%2Fsharethis.com%2F%23STS%3Dg4lilqih.9gg&t=ShareThis
    nAnch.target = "_blank";
    nAnch.appendChild(nImg);
    nAnch.appendChild(nSpan);
    nAnch.setAttributeNode(aClick);
    //nAnch.className = "";
    nDiv.appendChild(nAnch);
    nDiv.className = strClass;
 
    return nDiv;
}
// Mister Wong
function getSBMisterWong (strTitle, strSource, bEmbed) {
    var nDiv = document.createElement("div");
    var nAnch = document.createElement("a");
    var nImg = document.createElement("img");
    var aAlt = document.createAttribute("alt");
    var nSpan = document.createElement("span");
    var aClick = document.createAttribute("onclick");
    var strClass = "mt-ovlink";
    aClick.nodeValue = "this.blur()";
    nSpan.appendChild(document.createTextNode("Mister Wong"));
    aAlt.nodeValue = "Mister Wong";
    nImg.setAttributeNode(aAlt);
    if (bEmbed) {
        nImg.src = "http://" + strWebsite + "/images/navigation/wong_24.png";
        strClass = "mtl";
    } else {
        nImg.src = "/images/navigation/wong_24.png";
    }
    nAnch.href = "http://www.mister-wong.com/index.php?action=addurl&bm_url=" + encodeURIComponent(strSource) + "&bm_description=" + encodeURIComponent(HTMLDecode(strTitle));
    //http://www.mister-wong.com/index.php?action=addurl&bm_url=http%3A%2F%2Fsharethis.com%2F%23STS%3Dg4lilqih.9gg&bm_description=ShareThis
    nAnch.target = "_blank";
    nAnch.appendChild(nImg);
    nAnch.appendChild(nSpan);
    nAnch.setAttributeNode(aClick);
    //nAnch.className = "";
    nDiv.appendChild(nAnch);
    nDiv.className = strClass;
 
    return nDiv;
}
// MySpace
function getSBMySpace (strTitle, strSource, bEmbed) {
    var nDiv = document.createElement("div");
    var nAnch = document.createElement("a");
    var nImg = document.createElement("img");
    var aAlt = document.createAttribute("alt");
    var nSpan = document.createElement("span");
    var aClick = document.createAttribute("onclick");
    var strClass = "mt-ovlink";
    aClick.nodeValue = "this.blur()";
    nSpan.appendChild(document.createTextNode("MySpace"));
    aAlt.nodeValue = "MySpace";
    nImg.setAttributeNode(aAlt);
    if (bEmbed) {
        nImg.src = "http://" + strWebsite + "/images/navigation/myspace_24.png";
        strClass = "mtl";
    } else {
        nImg.src = "/images/navigation/myspace_24.png";
    }
    nAnch.href = "http://www.myspace.com/Modules/PostTo/Pages/?l=3&u=" + encodeURIComponent(strSource) + "&t=" + encodeURIComponent(HTMLDecode(strTitle)) + "&c=%3Cp%3EPowered+by+%3Ca+href%3D%22http%3A%2F%2F" + strWebsite + "%22%3E" + strWebsite + "%3C%2Fa%3E%3C%2Fp%3E";
    //http://www.myspace.com/Modules/PostTo/Pages/?l=3&u=http%3A%2F%2Fsharethis.com%2F%23STS%3Dg4lilqih.9gg&t=ShareThis&c=%3Cp%3EPowered+by+%3Ca+href%3D%22http%3A%2F%2Fsharethis.com%22%3EShareThis%3C%2Fa%3E%3C%2Fp%3E
    nAnch.target = "_blank";
    nAnch.appendChild(nImg);
    nAnch.appendChild(nSpan);
    nAnch.setAttributeNode(aClick);
    //nAnch.className = "";
    nDiv.appendChild(nAnch);
    nDiv.className = strClass;
 
    return nDiv;
}
// Twitter
function getSBTwitter (strTitle, strSource, bEmbed) {
    var nDiv = document.createElement("div");
    var nAnch = document.createElement("a");
    var nImg = document.createElement("img");
    var aAlt = document.createAttribute("alt");
    var nSpan = document.createElement("span");
    var aClick = document.createAttribute("onclick");
    var strClass = "mt-ovlink";
    aClick.nodeValue = "this.blur()";
    nSpan.appendChild(document.createTextNode("Twitter"));
    aAlt.nodeValue = "Twitter";
    nImg.setAttributeNode(aAlt);
    if (bEmbed) {
        nImg.src = "http://" + strWebsite + "/images/navigation/twitter_24.png";
        strClass = "mtl";
    } else {
        nImg.src = "/images/navigation/twitter_24.png";
    }
    nAnch.href = "http://twitter.com/home?status=" + HTMLDecode(strTitle).replace(/\s/g, "+") + "+" + strSource;
    //http://twitter.com/home?status=Reading '8 Useful Tips To Become Successful With Twitter' (via @smashingmag) http://tinyurl.com/bszo3g
    //http://twitter.com/home?status=Check+Out+This+Link+http://google.com
    nAnch.target = "_blank";
    nAnch.appendChild(nImg);
    nAnch.appendChild(nSpan);
    nAnch.setAttributeNode(aClick);
    //nAnch.className = "";
    nDiv.appendChild(nAnch);
    nDiv.className = strClass;
 
    return nDiv;
}
 
function sortTitles (a, b) {
    var strA = a.title, strB = b.title;
    var ret = (strA>strB)?1:(strA<strB)?-1:0;
    return ret;
}
function sortPubdate (a, b) {
    var dtA = parseDate(a.pubdate), dtB = parseDate(b.pubdate);
    return dtB.getTime() - dtA.getTime();
}
function getContent (iPageId) {
    var arrTmp = new Array();
    arrTmp = eval("arrPages" + iPageId);
    return arrTmp;
}
function getSource (iPageId) {
    var arrTmp = new Array();
    arrTmp = eval("arrMedia" + iPageId);
    return arrTmp;
}
function parseDate (strDate) {
    var dtArr = strDate.split(" ");
    var iD = 0, iM = 0, iY = 0;
    var strMonth = "";
    if (strDate.indexOf(".") > 0) {
        iD = parseInt(dtArr[0]);
        strMonth = dtArr[1];
        iY = parseInt(dtArr[2], 10);
    } else {
        strMonth = dtArr[0];
        iD = parseInt(dtArr[1]);
        iY = parseInt(dtArr[2], 10);
    }
    switch (strMonth) {
        case "Januar": iM = 0; break;
        case "Februar": iM = 1; break;
        case "März": iM = 2; break;
        case "April": iM = 3; break;
        case "Mai": iM = 4; break;
        case "Juni": iM = 5; break;
        case "Juli": iM = 6; break;
        case "August": iM = 7; break;
        case "September": iM = 8; break;
        case "Oktober": iM = 9; break;
        case "November": iM = 10; break;
        case "Dezember": iM = 11; break;
        case "January": iM = 0; break;
        case "February": iM = 1; break;
        case "March": iM = 2; break;
        case "May": iM = 4; break;
        case "June": iM = 5; break;
        case "July": iM = 6; break;
        case "October": iM = 9; break;
        case "December": iM = 11; break;
    }
    if (iY > 80) {
        iY = 1900 + iY;
    } else {
        iY = 2000 + iY;
    }
    return new Date(iY, iM, iD);
}
 
/* end mediathek */
 
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i< a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i< d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i< d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}
function MM_nbGroup(event, grpName) { //v3.0
  var i,img,nbArr,args=MM_nbGroup.arguments;
  if (event == "init" && args.length > 2) {
    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
      nbArr[nbArr.length] = img;
      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
        if (!img.MM_up) img.MM_up = img.src;
        img.src = img.MM_dn = args[i+1];
        nbArr[nbArr.length] = img;
    } }
  } else if (event == "over") {
    document.MM_nbOver = nbArr = new Array();
    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : args[i+1];
      nbArr[nbArr.length] = img;
    }
  } else if (event == "out" ) {
    for (i=0; i < document.MM_nbOver.length; i++) {
      img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
  } else if (event == "down") {
    if ((nbArr = document[grpName]) != null)
      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
    document[grpName] = nbArr = new Array();
    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = img.MM_dn = args[i+1];
      nbArr[nbArr.length] = img;
  } }
}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i< a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i< (a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
 

