function hit_csys_ad(bannerid) {
	var bodyelement = document.getElementsByTagName('BODY'); 
	var body = bodyelement[0]; 
	var el = document.createElement('script');
	el.setAttribute('type','text/javascript');

	el.src = '/hit.js?bid='+bannerid;

	body.appendChild(el); 
}

function display_csys_ad(bannerid,adhtml,elementid) {
	var el = document.getElementById(elementid);
	if (!el) return;
	
	el.innerHTML = adhtml;
	
	if (!adhtml.length) {
		el.style.display = 'none';
	} else {
		hit_csys_ad(bannerid);
	}
}

function next_csys_ad() {
	var bannerid = 0;
	
	for (var elementid in window.csys_ads) {
		
		var forceidpos = elementid.indexOf('_forceid_');
		if (forceidpos>=0) {
			bannerid = parseInt(elementid.substring(forceidpos+9));
		} else {
			var banneridlist = window.banner_positions[ window.csys_ads[elementid].position ];
			if (window.csys_ads[elementid].zone) {
				banneridlist = banneridlist[ window.csys_ads[elementid].zone ];
			}
			
			if (!banneridlist || !banneridlist.length) continue;
			
			if (window.csys_ads[elementid].index<0) {
				window.csys_ads[elementid].index = Math.floor( Math.random() * banneridlist.length );
			} else if (banneridlist.length==1) {
				continue;
			} else {
				window.csys_ads[elementid].index = (window.csys_ads[elementid].index + 1) % banneridlist.length;
			}
			
			bannerid = banneridlist[ window.csys_ads[elementid].index ];
		}
		if (!bannerid) continue;
		
		display_csys_ad(bannerid,window.banners[bannerid],elementid);
	}

	if (window.banner_time && window.banner_ttl) {
		window.banner_ttl--;
		window.setTimeout('next_csys_ad()',window.banner_time);
	}
}

function fetch_csys_ads(elementid) {
	var bodyelement = document.getElementsByTagName('BODY'); 
	var body = bodyelement[0]; 
	var el = document.createElement('script');
	el.setAttribute('type','text/javascript');

	el.src = '/system/banners/banners.js';
	///index.php?adv_='+window.csys_ads[elementid].position+'&inl=1&div='+elementid+(window.csys_ads[elementid].ttl>=0?'&ttl='+window.csys_ads[elementid].ttl:'')+(window.csys_ads[elementid].zone?'&zone='+window.csys_ads[elementid].zone:'');

	body.appendChild(el); 
}

function onload_csys() {
	for (var elementid in window.csys_ads) {
		
		if (window.csys_ads[elementid].zone) {
			el = document.getElementById(elementid);
			if (el) {
				el.style.marginLeft = 'auto';
				el.style.marginRight = 'auto';
			}
		}
	}
	fetch_csys_ads();
	
}
function init_csys_ad(elementid,position,zone) {
	if (!window.csys_ads) {
		window.csys_ads = [];
		//set page event handlers
		if (window.attachEvent) {
			//IE/Opera
			window.attachEvent("onload", onload_csys);
		} else if (window.addEventListener) {
			// IE6
			window.addEventListener("load", onload_csys, false);
		} else {
			//Firefox
			document.addEventListener("load", onload_csys, false);
		}
	}

	window.csys_ads[elementid] = {
		'position': position,
		'zone': zone,
		'index': -1
	}
}

function csys_ad_onbegin(callback) {
	if (!window.before_csys_ad_rotate || !window.before_csys_ad_rotate.length) window.before_csys_ad_rotate = [];
	window.before_csys_ad_rotate[window.before_csys_ad_rotate.length] = callback;
}

function begin_csys_ad_rotation() {
	if (window.before_csys_ad_rotate && window.before_csys_ad_rotate.length) {
		for (var i=0; i<window.before_csys_ad_rotate.length; i++) {
			window.before_csys_ad_rotate[i]();
		}
	}
	next_csys_ad();
}
