function init_google_ads_variable() {
    google_ad_client = 'pub-1755419502601270';
    google_ad_channel = '';
    google_ad_output = 'js';
    google_max_num_ads = '10';
    google_skip = '0';
    google_feedback = 'on';

    _google_ad_block_id = '';
}

function google_ad_request_done (ads) {
    var el = document.getElementById(_google_ad_block_id);
    var i = 0;

    if(!el) return;

    // no ads, or not enough, so collapse the block
    if(ads.length == 0 || ads.length < el.ad_config['min']) {
        el.style.display = 'none';
    }

    else {
        var extra_classes = '';
        var s = '';

        for(i = 0; i < el.ad_config['class_ranges'].length; i++) {
            if(el.ad_config['class_ranges'][i]['min'] <= ads.length &&
               ads.length <= el.ad_config['class_ranges'][i]['max']) {
                   extra_classes += ' ' + el.ad_config['class_ranges'][i]['class'];
               }
        }

        // output the google notice before the ads
        if(el.ad_config['pre_ad_notice']) {
            s += '<div class="ad_notice"><a href="' + google_info.feedback_url + '">Ads By Google</a></div><br/>';
        }

        // show the ads
        for(i = 0; i < ads.length; i++) {
            s += '<a class="ad_unit" href="' + ads[i].url + '" ' +
                              'onmouseout="window.status=\'\'" ' +
                              'onmouseover="window.status=\'go to ' +
                              ads[i].visible_url + '\'">' +
                              '<span class="ad_line_1">' + ads[i].line1 + '</span>' +
                              '<span class="ad_text"><span class="ad_line_2">' + ads[i].line2 + '</span> ' +
                              '<span class="ad_line_3">' + ads[i].line3 + '</span></span>' +
                              '<span class="ad_url">' + ads[i].visible_url.replace(/\./g, '.<span style="font-size:1px"> </span>') + '</span></a>';
        }

        // output the google notice after the ads
        if(!el.ad_config['pre_ad_notice']) {
            s += '<div class="ad_notice">Ads By Google</div>';
        }

        // add the extra, numeric based classes to the outer block
        el.className += extra_classes;
        el.innerHTML = s;
    }

}

function init_google_ads( ad_block_id, channel_id, max_ads, min_ads, pre_ad_notice, skip) {
    init_google_ads_variable();

    google_ad_channel = channel_id;
    google_max_num_ads = max_ads;
    _google_ad_block_id = ad_block_id;
    google_ad_output = 'js';

    var el = document.getElementById(ad_block_id);

    el.ad_config = new Array();
    el.ad_config['min'] = 1;
    el.ad_config['pre_ad_notice'] = true;
    el.ad_config['class_ranges'] = new Array();

    if(min_ads != undefined) {
        el.ad_config['min'] = min_ads;
    }

    if(pre_ad_notice != undefined) {
        el.ad_config['pre_ad_notice'] = pre_ad_notice;
    }

    if(skip != undefined) {
        google_skip = skip;
    }
}

function add_google_ad_class_range( ad_block_id, class_name, min, max ) {
    var el = document.getElementById(ad_block_id);
    var i = el.ad_config['class_ranges'].length;

    el.ad_config['class_ranges'][i] = new Array();
    el.ad_config['class_ranges'][i]['class'] = class_name;
    el.ad_config['class_ranges'][i]['min'] = min;
    el.ad_config['class_ranges'][i]['max'] = max;
}
