var ifolder_adv_iteration_limit = 3;
var ad_in_process = false;
//var show_ifolder_adv = 0;
//var ifolder_adv_hash_right = new Array();

function is_left_middle_step() {
	var ret = 'exists';
	var td_flash = document.getElementById('td_flash');
	if (!td_flash) {
		var ret = 'not_exists';
	}
	return ret;
}

function is_right_middle_step()
{
	var ret = 'exists';
	var ad_ph_1 = document.getElementById('ad_ph_1');
//	log(ad_ph_1, 'is_right_middle_step::ad_ph_1');
	if(ad_ph_1)
	{
		var content_div = ad_ph_1.innerHTML;
//log(content_div, 'is_right_middle_step::content_div');
		var re = /ifolder.ru\/images\/empty\.gif/g;
		var result = content_div.match(re);
		if (result)
		{
			if (result[0] == 'ifolder.ru/images/empty.gif')
			{
				var ret = 'not_exists';
			}
		}
	}
	else
	{
		ret = 'not_exists';
	}

	return ret;
}

function top_iframe() {
	$('<div/>').attr('id', 'top-top-banner').css({
		textAlign : 'center'
	}).prependTo('body');

	var topCon = document.getElementById('top-top-banner');
	var iframe = new iFrame(topCon);

	iframe.id = 'fr_top';
	iframe.src = '/top_ads';
	iframe.style.width = '800px';
	iframe.style.height = '1px';
	iframe.doc.close();
}

function top_ads_new() {

	var BannerId = '';
	var BannerText = '';
	var BannerType = '';
	var req = new Subsys_JsHttpRequest_Js();

	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			if (req.responseJS) {
				BannerId = req.responseJS.BannerId;
				BannerText = req.responseJS.BannerText;
				BannerType = req.responseJS.BannerType;

				if (typeof(BannerId) != 'undefined' && BannerId != 0 && BannerId != 40)
				{
					if (BannerType == 'script')
					{
						var re = /^<script[^>]*>/ig;
						var m = re.exec(BannerText);
						if( m == null )
						{
							BannerText = '<script type="text/javascript">'+BannerText+'</script>';
						}
					}
					setTimeout(function(){ doc_write(BannerText, 'top', 100) }, 1000);
					return true;
				}
			}
		}
	}

	var _login = 'ifolder_top.468x60';
	var _options = 'options=X';
	var _random = Math.round(Math.random() * 100000);
	var url = 'http://ad.popup.tbn.ru/cgi-bin/iframe/';
	var src = url + _login + '?' + _random + '&' + _options;
	req.caching = false;
	req.open('GET', src, true);
	var tt = Math.floor(Math.random() * (1000 - 0 + 1)) + 0;
	req.send({}, _random);

	return false;
}

function getAdHash( side, type){
	var hash = new Array();

	if( side == 'left' )
	{
		if( type == 'main')
		{
			hash[0] = {
				url:'http://ad.popup.tbn.ru/cgi-bin/iframe/',
				key:'popup240',
				login:'ifolder_default_left_banner_default.240x400'
			};

			hash[1] = {
				url:'http://ad.agava.tbn.ru/cgi-bin/iframe/',
				key:'agava240',
				login:'ifolder_allpages_left'
			};
			hash[2] = {
				url:'http://ad.240x400-1.adbn.ru/cgi-bin/iframe/',
				key:'adbn240',
				login:'a_ifolder_l'
			};

		}
		else
		{
			hash[0] = {
				url:'http://ad.popup.tbn.ru/cgi-bin/iframe/',
				key:'popup240',
				login:'ifolder_main_left_banner_main.240x400'
			};
			hash[1] = {
				url:'http://ad.agava.tbn.ru/cgi-bin/iframe/',
				key:'agava240',
				login:'ifolder_allpages_left'
			};
			hash[2] = {
				url:'http://ad.240x400-1.adbn.ru/cgi-bin/iframe/',
				key:'adbn240',
				login:'a_ifolder_l'
			};
		}
	}
	else if( side == 'right' )
	{
		if( type == 'main')
		{
			hash[0] = {
				url:'http://ad.popup.tbn.ru/cgi-bin/iframe/',
				key:'agava240',
				'login':'ifolder_main_right_banner_main.240x400'
			};
			hash[1] = {
				url:'http://ad.agava.tbn.ru/cgi-bin/iframe/',
				key:'agava240',
				'login':'ifolder_allpages_right'
			};
			hash[2] = {
				url:'http://ad.240x400-1.adbn.ru/cgi-bin/iframe/',
				key:'adbn240',
				'login':'a_ifolder_r'
			};
		}
		else
		{
			/* this */
			hash[0] = {
				url:'http://ad.popup.tbn.ru/cgi-bin/iframe/',
				key:'agava240',
				login:'ifolder_default_right_banner_default.240x400'
			};
			hash[1] = {
				url:'http://ad.agava.tbn.ru/cgi-bin/iframe/',
				key:'agava240',
				login:'ifolder_allpages_right'
			};
			hash[2] = {
				url:'http://ad.240x400-1.adbn.ru/cgi-bin/iframe/',
				key:'adbn240',
				login:'a_ifolder_r'
			};
		}
	}

	return hash;
}

function manipulate( pos, size ){

	if( pos == 'top' )
	{
		$('#fr_top').css({
			height: '100px'
		});
		return true;
	}

	var ifr = $('#fr_'+pos);
	var ibr_id = parseInt(ifr.contents().find('body').attr('id'));

	if( ibr_id > 0 )
	{
		ifr.css({
			width: ibr_id+'px',
			height: ((ibr_id == 240 ) ? 420 : 260)+'px'
		});
	}

	return true;
}

function doc_write( BannerText, pos, size ){

	BannerText = '<html><head></head><body id="'+size+'">'+ BannerText + '<style type="text/css">body{margin:0px;padding:0px;background:transparent;}</style>';
	if( size )
	{
		BannerText = BannerText + '<script type="text/javascript">parent.manipulate("'+pos+'", "'+size+'");</script>';
	}
	BannerText = BannerText+'</body></html>';

	document.write(BannerText);
	document.close();
}

function iframe_ads(side, type, mstep)
{

//log(side, 'iframe_ads::side - ');

	if( side == 'right' )
	{
		if( ad_in_process )
		{
			setTimeout(function(){ iframe_ads(side, type, mstep) }, 2000);
			return false;
		}
	}

	if( side == 'right' )
	{
		if( $('#banner143').is(':hidden') ){}
		else
		{
			return false;
		}
	}

	if( side == 'left' && mstep == 1 )
	{
		if (is_left_middle_step() == 'exists') {
			return false;
		}
	}
	else if( side == 'right' && mstep == 1 )
	{
		if (is_right_middle_step() == 'exists') {
			return false;
		}
	}


	var cont_id = ( side == 'left' ) ? 'avi_left_banner' : 'avi_right_banner';
	var cont = document.getElementById(cont_id);
	var iframe = new iFrame(cont);

	iframe.id = 'fr_'+side;
	iframe.src = '/iframe_ads?type='+type+'&amp;side='+side+( mstep ? '&amp;mstep='+ mstep : '');
	iframe.style.width = '1px';
	iframe.style.height = '1px';

	iframe.doc.close();
}

function print_iframe_ads(iteration, ifolder_adv_hash, use_middle_step, side, type)
{

	if (use_middle_step == 'right_middle_step') {
		if (is_right_middle_step() == 'exists') {
			return false;
		}
	} else {
		if (use_middle_step == 'left_middle_step') {
			if (is_left_middle_step() == 'exists') {
				return false;
			}
		}
	}

	if( ifolder_adv_hash == '' )
	{
		var ifolder_adv_hash = getAdHash(side, type);
	}

	var req = new Subsys_JsHttpRequest_Js();
	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			if (req.responseJS) {
				BannerId = req.responseJS.BannerId;
				BannerText = req.responseJS.BannerText;
				BannerType = req.responseJS.BannerType;

				if (typeof(BannerId) != 'undefined' && BannerId != 0 && BannerId != 40)
				{
					if(BannerText)
					{
						if (BannerType == 'script')
						{
							var re = /^<script[^>]*>/ig;
							var m = re.exec(BannerText);
							if( m == null )
							{
								BannerText = '<script type="text/javascript">'+BannerText+'</script>';
							}
						}
						setTimeout(function(){ doc_write(BannerText, side, 240) }, 1000);
						return true;
					}
					else
					{
						++iteration;
						if (iteration < ifolder_adv_iteration_limit)
						{
							print_iframe_ads(iteration, ifolder_adv_hash, use_middle_step, side, type)
						}
						else
						{
							print_partner_iframe(side, type, use_middle_step);
							return true;
						}
					}
				}
				else
				{
					++iteration;
					if (iteration < ifolder_adv_iteration_limit) {
						print_iframe_ads(iteration, ifolder_adv_hash, use_middle_step, side, type)
					}
					else
					{
						print_partner_iframe(side, type, use_middle_step);
						return true;
					}
				}
			}
		}
	}

	var _login = ifolder_adv_hash[iteration].login;
	var _options = 'options=X';
	var _random = Math.round(Math.random() * 100000);
	var url = ifolder_adv_hash[iteration].url;
	var key = ifolder_adv_hash[iteration].key;
	var src = url + _login + '?' + _random + '&' + _options;
	req.caching = false;
	req.open('GET', src, true);
	var tt = Math.floor(Math.random() * (1000 - 0 + 1)) + 0;
	req.send({}, _random);
	return true;
}


function print_ads(iteration, ifolder_adv_hash, ifolder_adv_container,use_middle_step, side, type) {

	var BannerId = '';
	var BannerText = '';
	var BannerType = '';
	if (use_middle_step == 'right_middle_step') {
		if (is_right_middle_step() == 'exists') {
			return false;
		}
	} else {
		if (use_middle_step == 'left_middle_step') {
			if (is_left_middle_step() == 'exists') {
				return false;
			}
		}
	}

	if( ifolder_adv_hash == '' )
	{
		var ifolder_adv_hash = getAdHash(side, type);
	}

	var container = document.getElementById(ifolder_adv_container);
	var req = new Subsys_JsHttpRequest_Js();
	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			if (req.responseJS) {
				BannerId = req.responseJS.BannerId;
				BannerText = req.responseJS.BannerText;
				BannerType = req.responseJS.BannerType;
				if (typeof(BannerId) != 'undefined' && BannerId != 0 && BannerId != 40) {
					if (BannerType == 'script' && BannerText) {
						var iframe = new iFrame(container);
						iframe.style.width = '250px';
						iframe.style.height = '450px';
						BannerText = '<scr'+'ipt type="text/javascript">'+BannerText+'<\/scr'+'ipt>';
						iframe.doc.write(BannerText);
						iframe.doc.close();
						return true;
					} else {
						$('#' + ifolder_adv_container).append(BannerText);
					}
				} else {
					++iteration;
					if (iteration < ifolder_adv_iteration_limit) {
						print_ads(iteration, ifolder_adv_hash,
								ifolder_adv_container, use_middle_step, side,
								type);
					} else {
						print_partner(side, type, ifolder_adv_container,
								use_middle_step);
						return true;
					}
				}
			}
		}
	};
	var _login = ifolder_adv_hash[iteration].login;
	var _options = 'options=X';
	var _random = Math.round(Math.random() * 100000);
	var url = ifolder_adv_hash[iteration].url;
	var key = ifolder_adv_hash[iteration].key;
	var src = url + _login + '?' + _random + '&' + _options;
	req.caching = false;
	req.open('GET', src, true);
	var tt = Math.floor(Math.random() * (1000 - 0 + 1)) + 0;
	req.send({}, _random);
	return;
}


function print_partner_iframe(side, type, use_middle_step)
{
	if (use_middle_step == 'right_middle_step') {
		if (is_right_middle_step() == 'exists') {
			return false;
		}
	} else {
		if (use_middle_step == 'left_middle_step') {
			if (is_left_middle_step() == 'exists') {
				return false;
			}
		}
	}
	if (type == 'default')
	{
		var partner_code = ( side == 'left' ) ? 'partner_adv_left' : 'partner_adv_right';
		var BannerText = document.getElementById(partner_code).value;

		setTimeout(function(){ doc_write(BannerText, side, 120) }, 1000);
	}


	return false;
}

function print_partner(side, type, conteiner_id, use_middle_step){

	var container = document.getElementById(conteiner_id);

	var BannerText = '';

	if (use_middle_step == 'right_middle_step') {
		if (is_right_middle_step() == 'exists') {
			return false;
		}
	} else {
		if (use_middle_step == 'left_middle_step') {
			if (is_left_middle_step() == 'exists') {
				return false;
			}
		}
	}

	if (!container)
	{
		return false;
	}
	else
	{
		if (container.innerHTML == '' && type == 'default') {

				var partner_code = ( side == 'left' ) ? 'partner_adv_left' : 'partner_adv_right';

				var BannerText = document.getElementById(partner_code).value;

				var iframe = new iFrame(container);

				iframe.style.width = '125px';
				iframe.style.height = '255px';
				iframe.doc.write(BannerText);

				iframe.doc.close();
		} else {
			return false;
		}
	}
	return;
}

function iFrame(parentElement) {

	var iframe = document.createElement('iframe');

	if (parentElement == null) {
		return false;
	}

	var id = 'fr_' + rand();

	iframe.name = id;
	iframe.scrolling = 'no';
	iframe.frameBorder = 'no';

	iframe.style.width = '1px';
	iframe.style.height = '1px';

	iframe.allowTransparency = "true";

	parentElement.appendChild(iframe);

	iframe.doc = null;

	if (iframe.contentDocument) {
		iframe.doc = iframe.contentDocument;
	} else {
		if (iframe.contentWindow) {
			iframe.doc = iframe.contentWindow.document;
		} else {
			if (iframe.document) {
				iframe.doc = iframe.document;
			}
		}
	}
	if (iframe.doc == null) {
		throw 'Document not found, append the parent element to the DOM before creating the IFrame';
	}

	iframe.doc.open();
	return iframe;
}


function print_143_banner()
{
	if(is_right_middle_step() == 'exists') {
		return false;
	}
//log('print_143_banner::start');
	ad_in_process = true;

	var BannerId = '';
	var BannerText = '';
	var BannerType = '';
	var cont = document.getElementById('banner143');

	var req = new Subsys_JsHttpRequest_Js();

	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			if (req.responseJS) {
				BannerId	= req.responseJS.BannerId;
				BannerText 	= req.responseJS.BannerText;
				BannerType 	= req.responseJS.BannerType;
//log(BannerId, 'print_143_banner::BannerId - ');
				if( BannerId == 143 )
				{
					$('#banner143').show();
					ad_in_process = false;
					return true;
				}
				ad_in_process = false;
			}
			ad_in_process = false;
		}
	}

	var _login = 'ifolder_right_allpages_rashlop.240x400';
	var _options = 'options=X';
	var _random = Math.round(Math.random() * 100000);
	var url = 'http://ad.popup.tbn.ru/cgi-bin/iframe/';
	var src = url + _login + '?' + _random + '&' + _options;
	req.caching = false;
	req.open('GET', src, true);
	req.send({}, _random);


	return false;
}