function BegunCodeProcessor()
{
	this.spans = new Array();
	this.style = {};

	this.getElementsByClass = function(sClass, sTag, oRootEl)
	{
		sTag = sTag || "*";
		oRootEl = oRootEl || document;
		var a = new Array();
		var oColl = oRootEl.getElementsByTagName(sTag);
		if (!oColl.length && sTag == "*" && oRootEl.all)
			oColl = oRootEl.all
		for (var i = 0, j = oColl.length; i < j; i++)
		{
			var aObjClass = oColl[i].className.split(' ');
			for (var k = 0, l = aObjClass.length; k < l; k++)
			{
				if (sClass == aObjClass[k])
				{
					a.push(oColl[i]);
					break;
				}
			}
		}
		return a;
	}

	this.getElementByClass = function(sClass, sTag, oRootEl)
	{
		sTag = sTag || "*";
		oRootEl = oRootEl || document;
		var oColl = oRootEl.getElementsByTagName(sTag);
		if (!oColl.length && sTag == "*" && oRootEl.all)
			oColl = oRootEl.all;
		for (var i = 0, j = oColl.length; i < j; i++)
		{
			var aObjClass = oColl[i].className.split(' ');
			for (var k = 0, l = aObjClass.length; k < l; k++)
			{
				if (sClass == aObjClass[k])
					return oColl[i];
			}
		}
	}

	this.getSpanByName = function(sName)
	{
		for (var i = 0; i < this.spans.length; i++)
		{
			if (this.spans[i].span_id == sName)
				return this.spans[i];
		}
	}

	this.logicItem = function(item)
	{
		if (typeof(item[7]) == "undefined" || (item[7] != 'Card' && item[7] != 'Url'))
			item[7] = 'Card, Url';

		if (typeof(item[2]) == "undefined")
			item[2] = '';
		if (typeof(item[6]) == "undefined")
			item[6] = '';

		if (item[2] == '' && item[6] == '')
			return item;
		if (item[2] == '' && item[6] != '')
			item[7] = 'Card';
		if (item[2] != '' && item[6] == '')
			item[7] = 'Url';
		if (item[7] == 'Card')
			item[2] = item[6];
		return item;
	}


	this.getBanner = function(bb, bWidth, iWide, visible, stub)
	{
		var style = this.style;
		if (bb == null)
			return '';
		if (bb[4] == null)
			bb[4] = '';
		var domain = bb[4].replace(/^(.*?) - (.*?)$/i, "$1");
		bb = this.logicItem(bb);
		var rambler_textb_call = decodeURI('%D0%97%D0%B2%D0%BE%D0%BD%D0%B8%D1%82%D1%8C');
		var rambler_textb_contacts = decodeURI('%D0%9A%D0%BE%D0%BD%D1%82%D0%B0%D0%BA%D1%82%D1%8B');

		var css_bgulli_width = 100;
		if (iWide)
			css_bgulli_width = parseInt(100 / iWide) - 1;
		css_bgulli_width = 'width: '+ css_bgulli_width +'% !important;';
		var css_bgulli_height = '';
		if (style.thumbs && !iWide)
			css_bgulli_height = 'min-height: 48px;';
		var css_bgbanner_marginleft = 0;
		if (style.thumbs)
			css_bgbanner_marginleft = 9 + style.thumbWidth;
		css_bgbanner_marginleft = 'margin-left: '+ css_bgbanner_marginleft +'px !important;';
		if (style.thumbs)
		{
			var thumbSrc = begunParams['thumbs_src'] ? 'http://'+ begunParams['thumbs_src'] +'/' : 'http://thumbs.begun.ru/';
			if (bb[5] != undefined && bb[5].toString().length > 3)
			{
				var thematic = bb[9] ? (bb[9].split(',')[0] + '') : '1';
				var bannerId = bb[5].toString();
				thumbSrc += bannerId.charAt(bannerId.length - 2);
				thumbSrc += '/'+ bannerId.charAt(bannerId.length - 1);
				thumbSrc += '/'+ bannerId +'.jpg';
				thumbSrc += '?t='+ thematic +'&r='+ bannerId.charAt(bannerId.length - 3);
			}
			else
				thumbSrc += 'empty.jpg';
		}
		if (typeof(window.ppcallArray) == 'undefined' || window.ppcallArray == null )
			window.ppcallArray = [];

		var bannerTpl = (iWide ? '' : '<tr>') +'\
<td style="' + (visible?'':'display:none;') + css_bgulli_width + css_bgulli_height +'; padding: '+ style.record.padding +'; margin: 0px; font-weight: normal; overflow: hidden; border: '+ style.record.border +'; vertical-align: top"> \
<div class="begunRecord" style="overflow: hidden; margin: 0px; padding: 0px; display: block; clear: both; float: none;"> \
<div class="begunSubRecord" style="margin: 0px; padding: 0px; display: block; clear: both; float: none"> \
'+ (style.thumbs ? '<div class="begunThumb" style="float: left; clear: none; display: block"><a href="'+ bb[2] +'" target="_blank"><img src="'+ thumbSrc +'" style="margin: 5px; width: '+ style.thumbWidth +'px; height: '+ Math.round(style.thumbWidth / 56 * 42) +'px; border: 0px"></a></div>' : '') +' \
\
<div style="text-align: left; text-indent: 0px; margin-bottom: 10px; '+ style.divBlock + css_bgbanner_marginleft +'"> \
<div class="begunTitle" style="font-size:'+ style.title.fontSize +'; '+ style.divBlock +'"><a class="begunTitle" style="color:'+ style.title.color +';font-size:'+ style.title.fontSize +';font-weight:bold;text-decoration:'+ style.title.decoration +'; '+ style.fontFamily +' cursor:pointer;'+ style.lineHeight +'" target="_blank" href="'+ bb[2] +'" onmouseover="status=\'http://'+ domain +'/\';" onmouseout="status=\'\';" title="'+ domain +'">'+ bb[0] +'</a></div> \
<div class="begunBody" style="margin: 0px; padding: 0px; display: block; float: none"> \
<div class="begunText" style="font-size:'+ style.text.fontSize +';margin-top:3px; '+ style.divBlock +'"><a class="begunText" target="_blank" href="'+ bb[2] +'" style="font-size:'+ style.text.fontSize +';color:'+ style.text.color +';text-decoration:'+ style.text.decoration +'; '+ style.fontFamily + style.lineHeight +'" onmouseover="status=\'http://'+ domain +'/\';" onmouseout="status=\'\';" title="'+ domain +'">'+ bb[1] +'</a></div> \
<div class="begunDomain" style="font-size:'+ style.domain.fontSize +';margin-top:2px; '+ style.divBlock +'"><table style="margin:0px;padding:0px; width:100%;"><tr><td valign="middle"> \
'+ ((bb[7] == 'Card, Url' || bb[7] == 'Url') ? '<a class="begunDomain" target="_blank" href="'+ bb[2] +'" style="font-size:'+ style.domain.fontSize +';color:'+ style.domain.color +';text-decoration:'+ style.domain.decoration +'; '+ style.fontFamily + style.lineHeight +'" onmouseover="status=\'http://'+ domain +'/\';" onmouseout="status=\'\';" title="'+ domain +'">'+ bb[4] +'</a>' : '') +' \
'+ ((bb[7] == 'Url' && ppcallArray[i] == 1) ? '<img src="http://autocontext.begun.ru/phone_icon.gif" style="width: 12px; height: 8px; border: none" />&nbsp;<a href="javascript:void(0);" onClick="showEnterForm('+ i +', this,event);return false" style="font-size:'+ style.domain.fontSize +';color:'+ style.domain.color +';text-decoration:'+ style.domain.decoration +'; '+ style.fontFamily + style.lineHeight +'">'+rambler_textb_call+'</a>' : '') +' \
'+ (((bb[7] == 'Card, Url' || bb[7] == 'Card') && ppcallArray[i] == 1) ? '<img src="http://autocontext.begun.ru/phone_icon.gif" style="width: 12px; height: 8px; border: none" alt="" />&nbsp;<a href="'+ bb[6] +'" target="_blank" style="font-size:'+ style.domain.fontSize +';color:'+ style.domain.color +';text-decoration:'+ style.domain.decoration +'; '+ style.fontFamily + style.lineHeight +'">'+rambler_textb_contacts+'</a>&nbsp;<span style="color: #AAA; font-size: 10px">&#149;</span>&nbsp;<a href="javascript:void(0);" onClick="showEnterForm('+ i +', this, event);return false" style="font-size:'+ style.domain.fontSize +';color:'+ style.domain.color +';text-decoration:'+ style.domain.decoration +'; '+ style.fontFamily + style.lineHeight +'">'+rambler_textb_call+'</a>' : '') +'\
'+ (((bb[7] == 'Card, Url' || bb[7] == 'Card') && ppcallArray[i] != 1) ? '<img src="http://autocontext.begun.ru/phone_icon.gif" style="width: 12px; height: 8px; border: none" />&nbsp;<a href="'+ bb[6] +'" target="_blank" style="font-size:'+ style.domain.fontSize +';color:'+ style.domain.color +';text-decoration:'+ style.domain.decoration +'; '+ style.fontFamily + style.lineHeight +'">'+rambler_textb_contacts+'</a>' : '') + '</td><td valign="middle">' + stub + '\
</td></tr></table></div> \
</div> \
</div> \
<div style="clear: both; height: 0px; overflow: hidden; margin: 0px; padding: 0px; font-size: 0px"></div> \
</div> \
</div> \
</td> \
'+ (iWide ? '' : '</tr>');
		return bannerTpl;
	}

	this.getStub = function()
	{
		var style = this.style;
		var stubFixedTpl = '\
<div class="begunSubBegun" style="background: none; font-size: '+ style.begun.fontSize +'; color: '+ style.begun.color +'; text-decoration: none; display: block; text-align: right; clear: both; float: none; overflow: hidden"> \
'+ (begunParams.showhref ? ' \
<a href="'+ begunStubs[0].href +'" style="'+ style.lineHeight +'color: '+ style.begun.color +'; text-decoration: '+ style.begun.decoration +'; '+ style.fontFamily +'; font-size: '+ style.begun.fontSize +'; white-space: nowrap" target="_blank" onmouseover="this.style.textDecoration=\''+ style.begun.hoverDecoration +'\';this.style.color=\''+ style.begun.hoverColor +'\'" onmouseout="this.style.textDecoration=\''+ style.begun.decoration +'\';this.style.color=\''+ style.begun.color +'\'">'+ begunStubs[0].text +'</a> &nbsp; ' : '') +' \
<a href="http://www.begun.ru/advertiser/?r1=Begun&r2=adbegun" style="'+ style.lineHeight +'color: '+ style.begun.color +'; text-decoration: '+ style.begun.decoration +'; '+ style.fontFamily +'; font-size: '+ style.begun.fontSize +'; white-space:nowrap" target="_blank" onmouseover="this.style.textDecoration=\''+ style.begun.hoverDecoration +'\';this.style.color=\''+ style.begun.hoverColor +'\'" onmouseout="this.style.textDecoration=\''+ style.begun.decoration +'\';this.style.color=\''+ style.begun.color +'\'">'+ begunStubs[1].text +'</a> &nbsp; \
<a href="http://www.begun.ru/partner/?r1=Begun&r2=become_partner" style="'+ style.lineHeight +'color: '+ style.begun.color +'; text-decoration: '+ style.begun.decoration +'; '+ style.fontFamily +'; font-size: '+ style.begun.fontSize +'; white-space:nowrap" target="_blank" onmouseover="this.style.textDecoration=\''+ style.begun.hoverDecoration +'\';this.style.color=\''+ style.begun.hoverColor +'\'" onmouseout="this.style.textDecoration=\''+ style.begun.decoration +'\';this.style.color=\''+ style.begun.color +'\'">'+ begunStubs[2].text +'</a> &nbsp; \
</div>';
		return stubFixedTpl;
	}

	this.goTo = function(sender, step, rotate)
	{
		var table = sender;
		for(; table.tagName.toLowerCase() != "table"; table = table.parentNode);

		var aDstable = table.rows[0].cells[1].childNodes[0].childNodes[0];

		var curelem = parseInt(table.curelem?table.curelem:0);
		var cells = aDstable.rows[0].cells;
		var next = curelem + step;

		if(table.roratetimerID && !rotate)
		{
			window.clearInterval(table.roratetimerID);
			table.roratetimerID = 0;
		};

		if(rotate)
		{
			if(step > 0)
			{
				if(next >= cells.length)
				{
					next = 0;
				};
			}
			else
			{
				if(next < 0)
				{
					next = cells.length - 1;
				};
			};
		};

		if(0 <= next && next < cells.length)
		{
			cells[curelem].style.display = "none";
			curelem = next;

			var fadeelement = cells[curelem];
			var opacity = 0.1;
			window.clearInterval(table.IDInterval);

			fadeelement.style.display = "";
			fadeelement.style.filter='alpha(opacity=' + (opacity * 100) + ')';
			fadeelement.style.opacity=opacity;

			var IDInterval = window.setInterval(function()
			{
				if(opacity >= 1)
				{
					window.clearInterval(IDInterval);
					return;
				};

				opacity += 0.1;

				fadeelement.style.filter='alpha(opacity=' + (opacity * 100) + ')';
				fadeelement.style.opacity=opacity;
			}, 100);

			table.curelem = curelem;
			table.IDInterval = IDInterval;
		};
	};

	this.print = function()
	{
		begunParams.wide = 0;
		if (window.begun_block_type == 'Horizontal')
			begunParams.wide = 1;
		if (window.ppcallArray != null)
			this.include('http://ppcall.begun.ru/auto_ppcall.js');
		begun_auto_width = window.begun_auto_width || 350;
		begun_auto_limit = window.begun_auto_limit || 3;
		this.spans = window.begun_spans;

		if (typeof(begun_config)  == "undefined") config = {}; else config = begun_config;
		if (typeof(config.title)  == "undefined") config.title = {};
		if (typeof(config.text)   == "undefined") config.text = {};
		if (typeof(config.domain) == "undefined") config.domain = {};
		if (typeof(config.begun)  == "undefined") config.begun = {};
		if (typeof(config.block)  == "undefined") config.block = {};
		if (typeof(config.record) == "undefined") config.record = {};

		var style = {
			'title': {
				'fontSize': config.title.fontSize || '10pt',
				'color': config.title.color || '#0000CC',
				'decoration': config.title.decoration || 'underline',
				'hoverColor': config.title.hoverColor || config.title.color || '#0000CC',
				'hoverDecoration': config.title.hoverDecoration || config.title.decoration || 'underline'
			},
			'text': {
				'fontSize': config.text.fontSize || '9pt',
				'color': config.text.color || '#000000',
				'decoration': config.text.decoration || 'none',
				'hoverColor': config.text.hoverColor || config.text.color || '#000000',
				'hoverDecoration': config.text.hoverDecoration || config.text.decoration || 'none'
			},
			'domain': {
				'fontSize': config.domain.fontSize || '9pt',
				'color': config.domain.color || '#167201',
				'decoration': config.domain.decoration || 'none',
				'hoverColor': config.domain.hoverColor || config.domain.color || '#167201',
				'hoverDecoration': config.domain.hoverDecoration || config.domain.decoration || 'none'
			},
			'begun': {
				'fontSize': config.begun.fontSize || '9pt',
				'color': config.begun.color || '#167201',
				'decoration': config.begun.decoration || 'underline',
				'hoverColor': config.begun.hoverColor || config.begun.color || '#167201',
				'hoverDecoration': config.begun.hoverDecoration || config.begun.decoration || 'underline'
			},
			'block': {
				'padding': config.block.padding || '0px',
				'bgColor': config.block.bgColor || '#FFFFFF',
				'border': config.block.border || '0px solid #FFFFFF',
				'hoverBgColor': config.block.hoverBgColor || config.block.bgColor || '#FFFFFF',
				'hoverBorder': config.block.hoverBorder || config.block.border || '0px solid #FFFFFF'
			},
			'record': {
				'padding': config.record.padding || '0px',
				'bgColor': config.record.bgColor || '#FFFFFF',
				'border': config.record.border || '0px solid #FFFFFF',
				'hoverBgColor': config.record.hoverBgColor || config.record.color || '#FFFFFF',
				'hoverBorder': config.record.hoverBorder || config.record.border || '0px solid #FFFFFF'
			},
			'thumbs': config.thumbs || 0,
			'thumbWidth': parseInt(config.thumbWidth) || 56,
			'fontFamily': '',
			'lineHeight': 'line-height: 120%;',
			'divBlock': 'float: none; clear: none; display: block;'
		};

		if (typeof(config.fontFamily) == 'undefined')
			config.fontFamily = 'Arial';

		switch (config.fontFamily)
		{
			case 'Times': style.fontFamily = 'font-family: Times, serif;'; break;
			case 'Verdana': style.fontFamily = 'font-family: Verdana, sans-serif;'; break;
			case 'Arial': style.fontFamily = 'font-family: Arial, sans-serif;'; break;
		}
		this.style = style;

		if (begunBanners.length && config.forbidden_urls)
		{
			var aTmp = begunBanners;
			begunBanners = new Array();
			for (var i = 0; i < aTmp.length; i++)
			{
				var bFlag = true;
				var domain = aTmp[i][4].replace(/^(.*?) - (.*?)$/i, "$1");
				domain = domain.toString();
				for (var j = 0; j < config.forbidden_urls.length; j++)
				{
					if (new RegExp("^(.*\.)?"+ config.forbidden_urls[j] +"$", "i").test(domain))
					{
						bFlag = false;
						break;
					}
				}
				if (bFlag)
					begunBanners.push(aTmp[i]);
			}
		}

		if (begunBanners.length)
		{
			i = 0;
			var breakFlag = 0;

			var adsBlock = document.getElementById("begunRoot");
            adsBlock.id = "begunRoot";
			//adsBlock.id = "begunRoot" + Math.round(Math.random() * 99 + 2);
			var o = adsBlock.parentNode;

			o.innerHTML = '';
			o.style.display = 'block';
            o.id = 'rotator_block';

			var content = '';
			var spanWidth = new String(begun_auto_width);

			content += '<div style="padding: 0px; margin: 0px; border: 0px; display: block; width: '+ spanWidth + ((spanWidth.substring(spanWidth.length - 1, spanWidth.length) == '%' || spanWidth.substring(spanWidth.length - 2, spanWidth.length) == 'px') ? '' : 'px') +'; overflow: hidden; ' + style.fontFamily + '">\
<table cellpadding="0" cellspacing="'+ style.block.padding +'" style="width: 100%; margin: 0px; padding: 0px; float: none; border: '+ style.block.border +'; background: '+ style.block.bgColor +'; border-collapse: separate; border-spacing: '+ style.block.padding +'">';

			var bannerscountinspan = 0

			for (var k = 0; k < begunBanners.length; k++)
			{
				content += this.getBanner(begunBanners[k], spanWidth, begun_auto_limit, k == 0, this.getStub());
			};

			content += '</table>';
			content += '</div>';

			var border = "";
			var height = ""

			if(window.begun_auto_frame && window.begun_auto_frame[1])
			{
				border = 'border:' + window.begun_auto_frame[1] + ' solid ' + window.begun_auto_frame[0] + '; '
			};

			if(window.begun_auto_height && window.begun_auto_height != "")
			{
				var spanHeight = new String(window.begun_auto_height);
				height = "height: " + spanHeight + ((spanHeight.substring(spanHeight.length - 1, spanHeight.length) == '%' || spanHeight.substring(spanHeight.length - 2, spanHeight.length) == 'px') ? '' : 'px') + ";";
			};

			content = '<table style="' + height + border + 'background-color:' + style.block.bgColor + ';"><tr><td valign="middle" onclick="begun.goTo(this, -1)" onmouseout="this.childNodes[0].style.filter=\'alpha(opacity=20)\'; this.childNodes[0].style.opacity=0.2;" onmouseover="this.childNodes[0].style.filter=\'\'; this.childNodes[0].style.opacity=1;"><img style="filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity: 0.2;opacity: 0.2;" src="http://www.sputnik1.ru/images/fleche1.gif"></td><td valign="middle">' + content + '</td><td onmouseout="this.childNodes[0].style.filter=\'alpha(opacity=20)\'; this.childNodes[0].style.opacity=0.2;" onmouseover="this.childNodes[0].style.filter=\'\'; this.childNodes[0].style.opacity=1;" onclick="begun.goTo(this, 1)"><img style="filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity: 0.2;opacity: 0.2;" src="http://www.sputnik1.ru/images/fleche2.gif"></td></tr></table>';

			o.innerHTML = content;

			if(window.begun_blocked_rotate && window.begun_blocked_rotate > 0 && begunBanners.length > 1)
			{
				var tables = o.getElementsByTagName("table");
				var table  = tables[0];

				var roratetimerID = window.setInterval(function()
				{
					begun.goTo(table, 1, true);
				}, window.begun_blocked_rotate * 1000);

				table.roratetimerID = roratetimerID;
			};
		}
	}

/* parse response */

	this.isDefined = function(value, substitute)
	{
		return typeof value == "undefined" ? substitute : value;
	}

	this.parseBanners = function()
	{
		window.begunBanners = [];
		var obj;

		var reallimit = begun_auto_limit - this.forbidden_urls.length;
		var adscount = 1;

		for (var i = 0; i < window.begunAds.banners.autocontext.length; i++)
		{
			if(adscount < reallimit)
			{
				var obj = window.begunAds.banners.autocontext[i];
				var domain = obj.domain.replace(/^(.*?) - (.*?)$/i, "$1");
				domain = domain.toString();
				adscount +=1;
				var blockadd = false;

				for (var j = 0; j < this.forbidden_urls.length; j++)
				{
					if (new RegExp("^(.*\.)?" + this.forbidden_urls[j] + "$", "i").test(domain))
					{
						blockadd = true;
						adscount -=1;
						break;
					}
				}

				if(!blockadd)
				{
					window.begunBanners.push([
						this.isDefined(obj.title, ''),
						this.isDefined(obj.descr, ''),
						this.isDefined(obj.url, ''),
						this.isDefined(obj.price, 0.0),
						this.isDefined(obj.domain, ''),
						this.isDefined(obj.banner_id, 0),
						this.isDefined(obj.card, ''),
						this.isDefined(obj.cards_mode, ''),
						this.isDefined(obj.constraints, ''),
						this.isDefined(obj.thematics, '')
					]);
				};
			};
		};
	}

	this.parseParams = function()
	{
		window.begunParams = window.begunAds.params;
	}

	this.parsePPCall = function()
	{
		window.ppcallArray = [];
		for (var i = 0; i < window.begunAds.banners.autocontext.length; i++)
			window.ppcallArray[i] = parseInt(window.begunAds.banners.autocontext[i].ppcall);
	}

	this.parseStubs = function()
	{
		window.begunStubs = [];
		var stubs = {
			begun_advert: '&#1056;&#1077;&#1082;&#1083;&#1072;&#1084;&#1072; &#1085;&#1072; &#1041;&#1077;&#1075;&#1091;&#1085;&#1077;',
			all_banners: '&#1042;&#1089;&#1077; &#1086;&#1073;&#1098;&#1103;&#1074;&#1083;&#1077;&#1085;&#1080;&#1103;',
			become_partner: '&#1057;&#1090;&#1072;&#1090;&#1100; &#1087;&#1072;&#1088;&#1090;&#1085;&#1077;&#1088;&#1086;&#1084;'};
		var obj = window.begunAds.stubs;
		window.begunStubs[0] = {
			href: obj.all_banners,
			text: stubs.all_banners
		};
		window.begunStubs[1] = {text: stubs.begun_advert};
		window.begunStubs[2] = {text: stubs.become_partner};
		window.begunStubs[3] = {text: obj.rambler_sbox_btn_text};
		window.begunStubs[4] = {text: obj.rambler_sbox_auto};
		window.begunStubs[5] = {text: obj.rambler_sbox};
		window.begunStubs[6] = {href: obj.behav_all_banners};
	}

	this.adaptResponse = function()
	{
		if (typeof window.begunAds == "undefined")
			return;

		begun.forbidden_urls = window.begun_blocked_urls?window.begun_blocked_urls:[];
		begun_config = {
			'title' : {
				'fontSize' : begun_auto_fonts_size[0],
				'color' : begun_auto_colors[0]
			},

			'text' : {
				'fontSize' : begun_auto_fonts_size[1],
				'color' : begun_auto_colors[1]
			},

			'domain' : {
				'fontSize' : begun_auto_fonts_size[2],
				'color' : begun_auto_colors[2]
			},

			'begun' : {
				'fontSize' : begun_auto_fonts_size[3],
				'color' : begun_auto_colors[4]
			},

			'block' : {
				'bgColor' : begun_auto_colors[3]
			}
		};

		this.parseBanners();
		this.parseParams();
		this.parsePPCall();
		this.parseStubs();
	}

	this.include = function(url)
	{
		o = document.createElement('script');
		o.setAttribute('type', 'text/javascript');
		o.setAttribute('src', url);
		document.documentElement.firstChild.appendChild(o);
	}
}

if (typeof(begun) == 'undefined')
{
	var begun = new BegunCodeProcessor();
};

begun.adaptResponse();
begun.print();

begun_blocked_rotate = -1;
begun_auto_frame = null;
begun_auto_height = "";
begun_blocked_urls = [];
