// Dynamic Ads loading

var IE = (navigator.appName=="Microsoft Internet Explorer");
var adPage = "jsp/adpage.jsp";
var topBannerHeight = 0;

var bannerSetup = [
	["FeatureBig", ""],
	["FeatureSmall", ""],
	["wp01", ""],
	["wp02", ""],
	["ts01", ""],
	["ts02", ""],
	["ts03", ""],
	["ts04", ""],
	["ts05", ""],
	["sscr", ""],
	["AdFloater", ""],
	["banner-fullsize",""]
];

var adDivs = new Array();
var adCount = 0;

// Banner-Abstand
var bDist = 4;

function setScriptSrc(divId, src) {
	
	var index = -1;
	
	for(i=0; i<bannerSetup.length; i++) {
		if (bannerSetup[i][0] == divId) {
			index = i;
			break;
		}
	}
	
	if (index > -1) {
		bannerSetup[index][1] = src;
	}
	
}

function setupAdDivs() {

	for(i=0; i<bannerSetup.length; i++) {
		if (bannerSetup[i][1] != "") {
			setupAdDiv(document.getElementById(bannerSetup[i][0]), 0, 0, bannerSetup[i][1], adPage);
		}
	}

}

function adsOnLoad(win, doc)
{
    var adFrame = win.frameElement;
    var div = adFrame.parentNode;

    if (div.childNodes.length == 1)
    {
        var adSpan = doc.getElementById("adSpan");
        var adDiv = doc.getElementById("adDiv");

		// alert("adSpan: offsetWidth=" + adSpan.offsetWidth + ", offsetHeight=" + adSpan.offsetHeight);
		// alert("adDiv: offsetWidth=" + adDiv.offsetWidth + ", offsetHeight=" + adDiv.offsetHeight);
		
        if (adSpan)
        {
	       var w = adSpan.offsetWidth;
		   if (w < 20) {
		      w = 0;
		   }
		   
	       if (IE) {
	          var h = adSpan.offsetHeight;
	       } else {
		      var h = adDiv.offsetHeight;
		   }

		   if (h < 20) {
		      h = 0;
		   }

	       adFrame.style.width = w + "px";
	       adFrame.style.height = h + "px";
	    	    
	       // alert("div:" + div.id + ", height:" + h);
	       if (div.id == "wp01") {
	      	   if (h > 0) {
		    	   topBannerHeight = h;
	    	   } else {
	    		   div.style.paddingBottom = "0px";
	    	   }
	    	   div.style.height = topBannerHeight + "px";
	       } else {
		       if (w == 0 || h == 0) {
		    	   div.style.height = "0px";
	    		   div.style.paddingBottom = "0px";
	    		   div.style.paddingLeft = "0px";
	    	   }
	       }
	       
	       adCount++;
	       if (adCount == adDivs.length) {
	      	   startFloat();
	       }

	       // alert ("Div:" + div.id + ", Width: " + w + "px, Height: " + h + "px");
        }
    }
}


function getAdUrl(win)
{
    var adFrame = win.frameElement;
    var div = adFrame.parentNode;

    return div.adURL;
}


function removeChildren(obj)
{
    var iframe = null;

    while (obj.childNodes.length > 0) 
    {
        var child = obj.childNodes[0];

		var id = child.id;

		if (id == "adFrame") {
		    iframe = child;
		    iframe.src = "about:blank";
		}

		if (id) {
		    child.id = "";
		}
		
        if (child.childNodes.length > 0) {
		    removeChildren(child);
		}

        obj.removeChild(child);
    }
}

function clearDiv()
{
    removeChildren(this);
}

function loadAd()
{
    this.clearAd();

    if (!this.adURL || this.adURL == "") {
		return;
	}

    var iframe = document.createElement('iframe');

    iframe.id = "adFrame";
    iframe.style.height = 0;
    iframe.style.width = 0;
    iframe.marginWidth = 0;
    iframe.marginHeight = 0;
    iframe.frameBorder = 0;
    iframe.scrolling = "no";
    iframe.width = 0;
    iframe.height = 0;

    this.appendChild(iframe);
    iframe.src = this.adPage;
    
}


function setupAdDiv(div, w, h, adURL, adPage)
{

    div.adsOnLoad = adsOnLoad;
    div.loadAd = loadAd;
    div.clearAd = clearDiv;
    div.w = w;
    div.h = h;
    div.adURL = adURL;
    div.adPage = adPage;

	if (div.id == "ts01" || div.id == "ts02" || div.id == "ts03" || div.id == "ts04" ||
		div.id == "ts05" || div.id == "sscr" || div.id == "AdFloater") {
		div.style.width = "156px";
		div.style.paddingLeft = bDist + "px";
    	div.style.paddingBottom = bDist + "px";
    } else if (div.id == "wp01") {
    	div.style.paddingBottom = bDist + "px";
    } else if (div.id == "wp02") {
		div.style.paddingLeft = bDist + "px";
    }
    
    adDivs[adDivs.length] = div;
    
}

function loadAds()
{
	adCount = 0;
    clearAds();
    setTimeout('doLoadAds();', 100);
}

function doLoadAds()
{
    for (i=0; i<adDivs.length; i++) {
		adDivs[i].loadAd();
	}
}

function clearAds()
{
    for (i=0; i<adDivs.length; i++) {
		adDivs[i].clearAd();
	}
}

function getBody() {

	return document.body;
	
}


// Sticky Banner handling


var stickyAdPos = 0;
var stickyAdPosX = 800;

function startFloat() {

	
	try{
	
		if(document.all) {
		    stickyAdPos = document.all.StickyPos.offsetTop;
	    } else if(document.layers) {
	        stickyAdPos = document.StickyPos.top;
	    } else if(document.getElementById) {
			stickyAdPos = document.getElementById('StickyPos').offsetTop;
	    }

		setXPos();
		
		if(document.all) {
		    document.all.AdFloater.style.visibility = 'visible';
		    document.all.AdFloater.style.pixelTop = stickyAdPos;
		    document.all.AdFloater.style.pixelLeft = stickyAdPosX;
	    } else if(document.layers) {
	    	document.AdFloater.visibility = 'show';
	        document.AdFloater.top = stickyAdPos;
	        document.AdFloater.left = stickyAdPosX;
	    } else if(document.getElementById) {
	        document.getElementById('AdFloater').style.visibility = 'visible';
			document.getElementById('AdFloater').style.top = stickyAdPos + 'px';
			document.getElementById('AdFloater').style.left = stickyAdPosX + 'px';
	    }
	    
		if (document.all) { 
			window.onscroll = Float; 
		} else { 
			setInterval('Float()', 100); 
		}
	} catch (e) {
	}
	
}

function setXPos() {
	try{
	
		if(document.all) {
		    stickyAdPosX = document.all.StickyPos.offsetLeft + document.all.oetbcontainer.offsetWidth + document.all.oetbcontainer.offsetLeft;
	    } else if(document.layers) {
	        stickyAdPosX = document.StickyPos.left + document.all.oetbcontainer.width + document.all.oetbcontainer.left;;
	    } else if(document.getElementById) {
			stickyAdPosX = document.getElementById('StickyPos').offsetLeft;
	    }
	} catch (e) {
	}

}

function Float() {
	var yOffset;
	
	if (self.pageYOffset) {
		// all except Explorer
		yOffset = self.pageYOffset;
	} else if (document.documentElement && document.documentElement.scrollTop) {
		// Explorer 6 Strict
		yOffset = document.documentElement.scrollTop;
	} else if (document.body) {
		// all other Explorers
		yOffset = document.body.scrollTop;
	}

	setXPos();
		
	if (yOffset + 10 > stickyAdPos) {
		if (document.all) {
	        document.all.AdFloater.style.pixelTop = yOffset + 10;
		    document.all.AdFloater.style.pixelLeft = stickyAdPosX;
	    } else if (document.layers) {
	        document.AdFloater.top = yOffset + 10;
	        document.AdFloater.left = stickyAdPosX;
	    } else if (document.getElementById) {
	        document.getElementById('AdFloater').style.top = yOffset + 10 + 'px';
			document.getElementById('AdFloater').style.left = stickyAdPosX + 'px';
	    }
	} else {
		if (document.all) {
	        document.all.AdFloater.style.pixelTop = stickyAdPos;
		    document.all.AdFloater.style.pixelLeft = stickyAdPosX;
	    } else if (document.layers) {
	        document.AdFloater.top = stickyAdPos;
	        document.AdFloater.left = stickyAdPosX;
	    } else if (document.getElementById) {
	        document.getElementById('AdFloater').style.top = stickyAdPos + 'px';
			document.getElementById('AdFloater').style.left = stickyAdPosX + 'px';
	    }
    }	
    
} 

