// steuervariablen für die werbeplätze
var falkAdClaims = new Array();
var falkAdClaims2Hide = new Array();
// registriert eien falk werbeplatz
// dessen Anzeige-claim eingeblendet werden soll
function addEvent(obj, evType, fn){
    if (obj.addEventListener) {
        obj.addEventListener(evType, fn, false);
        return true;
    }
    else 
        if (obj.attachEvent) {
            var r = obj.attachEvent("on" + evType, fn);
            return r;
        }
        else {
            return false;
        }
}

function falkRegisterClaim(wp){
    // DEBUG
    // alert('claim ' + wp + ' wurde registriert');
    trigger = falkAdClaims.length;
    falkAdClaims[trigger] = wp;
}

// blendet onLoad gesteuert
// die gewünschten Anzeige-Claims ein
function falkDisplayAdClaims(){
    // für alle registrierten claims
    // for ( i = 0; i < falkAdClaims.length; i++ ) {    // sf version buggy
    while (wp = falkAdClaims.shift()) { // ts version läuft
        //alert('Prozessing: ' + wp);
        // werbeplatzid trigger
        // wp = falkAdClaims[i];
        // wenn nicht die versteckt variable für diesen werbeplatz gesetzt
        
	    if (!falkShouldHideClaim(wp)) {
            // die beiden divs erkennen
            id1 = 'falkWP_' + wp + '_claim';
            id2 = 'falkWP_' + wp;
            id3 = 'falkWP_' + wp + '_div';
            try {
                // wenn kein werbemittel ausgeliefert wurde
                //alert(document.getElementById(id2).offsetHeight);
				if ( document.getElementById(id3).offsetHeight < 46) {
                    document.getElementById('googleAd_'+ wp).style.display = 'block';
                }
                if (document.getElementById(id2)) {
                    if (document.getElementById(id2).offsetHeight < 46) {
                        try {
                            document.getElementById(id1).style.display = 'none';
                            document.getElementById(id2).style.display = 'none';
                            document.getElementById(id3).style.display = 'none';
                        } 
                        catch (e) {
                        }
                        // es kam ein werbemittel
                    }
                    else {
                        document.getElementById(id1).style.display = 'block';
                        document.getElementById(id2).style.marginBottom = '15px';
                    }
                }
            } 
            catch (e) {
               
            }
        }
    }
    return true;
}

// sagt ob ein claim versteckt oder angezeigt werden soll
// true versteckt false anzeigen
function falkShouldHideClaim(wp){
    for (i = 0; i < falkAdClaims2Hide.length; i++) {
        // while ( wp_to_hide = falkAdClaims2Check.shift() ) {
        wp_to_hide = falkAdClaims2Hide[i];
        if (wp == wp_to_hide) {
            // DEBUG
            // alert('claim für wp: ' + wp + ' soll versteckt werden (' + wp_to_hide + ')');
            return true;
        }
    }
    // DEBUG
    // alert('claim für wp: ' + wp + ' soll angezeigt werden');
    return false;
}

addEvent(window, 'load', falkDisplayAdClaims);
