(function() {
  var serverAddress = "http://ads.1049.jp/www/delivery/spcjs.php";
  var webSiteId = 2;
  var forbidDuplicates = true;		//重複NGがtrue
  var onlyOneBannerPerCampaign = false;	//同キャンペーンにつき1つのみがtrue
  var configFileURL = '/javascripts/ads-config.js';

  if (window.openx_ad_banners_loaded)
    return;

  function loadScriptLater(scriptURL) {
    document.write('<script type="text/javascript" charset="utf-8" src="'+scriptURL+'"><'+'/script>\n');
  }

  var banners = {};
  var last_name_id = 0;

  function bannersToLoad(data) {
    if (!data.number_of_appearances)
      data.number_of_appearances = 1;
    data.current_appearance = 0;
    last_name_id++;
    data.name_id = last_name_id;
    banners[data.name] = data;
    if (!window.OA_zones)
      window.OA_zones = {};
    if (window.openx_ad_used_list) {
      var found = false;
      for (var i=0; i<window.openx_ad_used_list.length; ++i) {
        if (window.openx_ad_used_list[i] == data.name) {
          found = true;
          break;
        }
      }
      if (!found)
        return;
    }
    for (var display_index=1; display_index<=data.number_of_appearances; ++display_index) {
      for (var banner_index=1; banner_index<=data.number_of_banners; ++banner_index)
        window.OA_zones[data.name_id + '_' + display_index + '_' + banner_index] = data.zone_id;
    }
  }

  function loadOpenX() {
    var url = serverAddress;
    var params = 'id='+webSiteId;
    if (forbidDuplicates)
      params += '&block=1';
    if (onlyOneBannerPerCampaign)
      params += '&blockcampaign=1';
    if (/\?$/.test(url))
      url += params;
    else if (/\?/.test(url))
      url += '&' + params;
    else
      url += '?' + params;
    loadScriptLater(url);
  }

  function displayBanners(name) {
    var data = banners[name];
    if(!data) return;
    data.current_appearance++;
    if (data.current_appearance > data.number_of_appearances) {
      document.write('ゾーン表示数は低すぎます。');
      return;
    }

    for (var i=1; i<=data.number_of_banners; ++i) {
      var output_name = data.name_id + '_' + data.current_appearance + '_' + i;
      OA_show(output_name);
    }
  }

  window.openx_ad_banners_to_load = bannersToLoad;
  window.openx_ad_display_banners = displayBanners;
  loadScriptLater(configFileURL);
  loadOpenX();
  window.openx_ad_banners_loaded = true;
})();
