//
//	copyright (c) Actis Systems, www.actis.ru
//	author - Yury Kovshov
//	version - 1.0.0
//	last revesion - Yury Kovshov (18 Oct 06)
//
/******************************************************
** UBanner - объект для вывода баннеров ***************
*******************************************************

Требования:
	ad.wbp
	swfobject.js

Создание:
	var myBanner = new UBanner();
		данные берутся из глобальных массивов ad.wbp

Использование:
	UBanners.insertBanner(index,"banner");
		index - порядковый номер баннера (от нуля)
		"banner" - идентификатор элемента, куда вставляется баннер

Строка в XML баннера для флеш, текстовых и js баннеров:
	Примеры:
		FLASH=99E3AFC0-6600-418C-9064-488DB18BA46C.swf#VERSION=7
		FLASH=99E3AFC0-6600-418C-9064-488DB18BA46C.swf
		TEXT="Hello! I'm Banner!"
		SCRIPT=99E3AFC0-6600-418C-9064-488DB18BA46C.js

Свойства получаемого объекта:
	bannerId - id баннера
	mediaId - id медиаобъекта в баннере
	width - ширина
	height - высота
	type - тип (IMAGE,FLASH,TEXT,SCRIPT)
	value - значение (путь к вставляемому медиаобъекту)
	version - минимальная версия флеш, если указана
	
Методы (public):
	insertBanner(index,objectId) - вставка баннера
	
*******************************************************/
		

function UBanner()
{
	this.groupId = AdGroupId;
	this.count = AdCount;

	for (var i=0; i<AdCount; i++)
	{
		this[i] = new Object();
		this[i].bannerId = AdBannerId[i];
		this[i].mediaId = AdMediaId[i];
		this[i].width = AdMediaWidth[i];
		this[i].height = AdMediaHeight[i];
		this[i].type = 'IMAGE';
		if (AdText[i])
		{
			if (AdText[i].search(/#/) > 0)
			{
				AdText[i].match(/^(\w+)=(.+)#(\w+)=(.+)$/);
				eval('this[i].' + RegExp.$3.toLowerCase() + ' = RegExp.$4;');
			}
			else
			{
				AdText[i].match(/^(\w+)=(.+)$/);
			}
			this[i].type = RegExp.$1;
			this[i].value = RegExp.$2;
		}
	}
	
	this.insertBanner = function(i,objId)
	{
		if (document.getElementById(objId))
		{
			switch(this[i].type)
			{
				case "IMAGE":	this.insertImage(i,objId); break;
				case "FLASH":	this.insertFlash(i,objId); break;
				case "TEXT":	this.insertText(i,objId); break;
				case "SCRIPT":	this.insertScript(i,objId); break;
			}
		}
	}
	
	this.insertImage = function(i,objId)
	{
		document.getElementById(objId).innerHTML='<a href="/adredirector.wbh?id='+this[i].bannerId+'&gid='+this.groupId+'"><img src="/id.wbm?id='+this[i].mediaId+'" width="'+this[i].width+'" height="'+this[i].height+'" alt="" border="0"/></a>';
	}
	
	this.insertFlash = function(i,objId)
	{
		this.insertImage(i,objId);
		var url = '/media/'+this[i].value+'?url='+escape('/adredirector.wbh?gid='+this.groupId+'&amp;id='+this[i].bannerId);
		var version = this[i].version ? this[i].version : "7";
		var so = new SWFObject(url,this[i].bannerId,"100%",this[i].height,version,"#fff");
		so.write(objId);
	}
	
	this.insertText = function(i,objId)
	{
		this[i].value.match(/^["'](.+)["']$/); // отрубаем кавычки
		document.getElementById(objId).innerHTML='<a href="/adredirector.wbh?id='+this[i].bannerId+'&gid='+this.groupId+'">'+RegExp.$1+'</a>'
	}
	
	this.insertScript = function(i,objId)
	{
		var obj = document.getElementById(objId);
		var scriptNode = document.createElement("script");
		scriptNode.setAttribute("src","/media/"+this[i].value);
		obj.appendChild(scriptNode);
	}
}
