// BannerRotator
// Definicja tablicy bannerów:
//
//bns_banners = new Array();
//bns_banners[bns_banners.length] = new bns_banner(częstotliwość, kod bannera);
// 
//przyklad:
//bns_banners[bns_banners.length] = new bns_banner(1, '<p>kod bannera</p>');
//bns_banners[bns_banners.length] = ...
//
// wywołanie:
//bns_displayBanner(bns_array);
//


// definicja kontrolek microsoftu
progId = ["MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"];

// tworzenie bannera
function bns_banner(chance, code, salt, width, height) {
   this.chance = chance;
   this.code = code;
   this.salt= salt;
   this.width = width;
   this.height = height;
}

// losowanie bannera
function bns_displayBanner(bns_array, target) {
	chancesSum = 0;
	for (i = 0; i < bns_array.length; i++) {
	chancesSum += bns_array[i].chance;
	}

   chance_limit = 0;
   randomChance = Math.round((chancesSum - 1) * Math.random()) + 1;
   for (i = 0; i < bns_array.length; i++) {
      chance_limit += bns_array[i].chance;
      if (randomChance <= chance_limit) {
		 bns_getBanner("/banner.aspx?code="+ bns_array[i].code +"&u="+ bns_array[i].salt, bns_array[i].code, bns_array[i].width, bns_array[i].height );
         break;
      }
   }
}

// renderowanie Bannera
function bns_writeBanner(req){
	if ( req.readyState == 4 || req.status == 200) {
		document.write(req.responseText);	
	}
}

// hit do bannera
function bns_getBanner(url, target, width, height) {
	var req = null;
	try
	{
		if (window.XMLHttpRequest)
			req = new XMLHttpRequest();
		else if (window.ActiveXObject)
		{
			while (!req && progId.length)
			{
				try { req = new ActiveXObject(progId[0]); } catch (e) { req = null; }
				if (!req)
					progId.splice(0, 1);
			}
		}
	}
	catch (e) { req = null;	}

	if (!req)
	{
		// nie ma objektu ActiveX, bądź inne zło - renderujemy banner klasycznie
		document.write('<iframe id="frame_'+ target +'" src="'+ url +'" border="0" frameborder="0" scrolling="no" width="'+ width +'" height="'+ height +'" style="margin:0px;padding:0px;border:2px solid red;"></iframe>');
		alert(window.frames["frame_"+target].document.getElementById("body").innerHTML);
		
	} else {
		req.open("GET", url, false)
		req.send(null)
		bns_writeBanner(req)
	}
}  



/* OLD
// hit do bannera
function bns_getBanner(url, target) {
  if (window.XMLHttpRequest) {
    req = new XMLHttpRequest();
  } 
  else if (window.ActiveXObject) {
  	try {
		req = new ActiveXObject("Msxml2.XMLHTTP")
	} catch (e){
		try{
			req = new ActiveXObject("Microsoft.XMLHTTP")
		} catch (e) {}
	}
  }
  
  req.open("GET", url, false)
  req.send(null)
  bns_writeBanner(req)
}  
*/
