 /*
 * XML directory
 */
var XML_path  = "/wavemaster.internal/data/hu/banner/";

/*
 * data file directory
 */
var data_path = "/wavemaster.internal/data/hu/banner/";

/*
 * default banner rotation interval in seconds (if not specified in xml)
 */
var def_rotate_interval = 10;

//----------------------------------------------------------------------


// ------------------ pcb banner parameters----------------------------

var str = "";
var fl_href = "";
var fl_brand = "";
var fl_pop_width	= "";
var fl_pop_height = "";

// --------------------------------------------------------------------

var menuType = "";
var imports = new Array();
var imp_banners = {
				idx: -1,
				imports: new Array()
			};
var gDivImport = null;
var gHdlnr = "";
var grp = "";
var fullHdlnr = "";
function showBanners(divBrand, divImport, divPartner)
{
	//alert(divBrand);
	gDivImport = divImport;
	var req = false;
	try {
		if (window.XMLHttpRequest)
			req = new XMLHttpRequest();
		else
		if (window.ActiveXObject)
			req = new window.ActiveXObject("Microsoft.XMLHTTP");
	} catch (e) {
			return;
	}

	if (req) 
	{
		// parsing data file;
		req.open("GET", data_path + (data_path != '' && data_path.substr(-1, 1) != '/' ? '/' : '') + "kereskedoi_adattabla.txt?nocache="+(new Date().getTime()), true );
		req.onreadystatechange = function() 
		{
			if (req.readyState == 4 && req.status == 200) 
			{
				
				var data = req.responseText;
				
				if (!data) return;

				var rows = data.split(/\r?\n/);
				var row, rExp;
				for (var i = 1; i < rows.length; i++) 
				{		//row[0] is the header
					if (rows[i].replace(/^\s*|\s*$/g, "").length == 0) continue;	//empty row
					row = rows[i].split("\t");
					if (row[2] != "")
						rExp = new RegExp("https?://"+row[2]);


					if (document.location.toString().indexOf(row[0]) != -1 || ( row[2] != '' && document.location.toString().match(rExp)) ) 
					{
						gHdlnr	= parseInt(row[0].substr(1), 10);
						fullHdlnr = row[0];
						grp		= row[17];
						
						menuType =	row[16];
						parseBannerXML(divBrand, divImport, divPartner, row);
					
						//show partner banner
						var part_src    = row[11] != undefined && row[11] != "" ? row[11] : "";
						var part_href   = row[12] != undefined && row[12] != "" ? row[12] : "";
						var banner_type = row[13] != undefined && row[13] != "" ? row[13] : "img";
						var width       = row[14] != undefined && row[14] != "" ? row[14] : "";
						var height      = row[15] != undefined && row[15] != "" ? row[15] : "";
						
						if (part_src) 
						{
							switch (banner_type) 
							{
								case "img":
									if (part_href)
									document.getElementById(divPartner).innerHTML = "<a href='#' onclick='window.open(\""+part_href+"\", \"\", \"status=no,menubar=no,scrollbars=yes,location=no,toolbar=no,resizable=yes"+(width ? ",width="+width : "")+(height ? ",height="+height : "")+"\")'><img src='"+part_src+"' border='0' alt=''/></a>";
									else
									document.getElementById(divPartner).innerHTML = "<img src='"+part_src+"' alt=''/>";
									break;
								case "flash":
									var so = new SWFObject(part_src, "", "670", "70", "6");
									so.addParam("wmode","transparent");
									so.addVariable("hdlnr", fullHdlnr);
									so.write(divPartner);
									break;
							}
						} else {
							document.getElementById(divPartner).style.display = "none";
						}

					} else if ( i == rows.length-1 && gHdlnr.toString() == '' ) 
					{
						
						document.getElementById("PoHUBanners").style.display = "none";
						//	alert(gHdlnr);
						return;
					}
				}
			}
		}
		req.send(null);
	}
	return;
}

function parseBannerXML(divBrand, divImport, divPartner, row) {
	//alert(row);
	var services = new Array();
	var services_count = 0;
	var req = false;
	try {
		if (window.XMLHttpRequest)
			req = new XMLHttpRequest();
		else
		if (window.ActiveXObject)
			req = new window.ActiveXObject("Microsoft.XMLHTTP");
	} catch (e) {
			return;
		}

	req.open("GET", XML_path + (XML_path != '' && XML_path.substr(-1, 1) != '/' ? '/' : '') + "banners.xml?nocache="+(new Date().getTime()));
	req.onreadystatechange = function() 
	{
		if (req.readyState == 4 && req.status == 200) 
		{
			var xml = req.responseXML;
			if (!xml) return;

			var idx, href, brands;
			var brand_idx = new Array();
			brand_idx['Vw']    =  3;
			brand_idx['Lnf']   =  4;
			brand_idx['Audi']  =  5;
			brand_idx['Por']   =  6;
			brand_idx['Seat']  =  7;
			brand_idx['Skoda'] =  8;
			brand_idx['Welta'] =  9;
			brand_idx['Gebw']  = 10;

			var branddata = xml.getElementsByTagName("branddata");
			if (branddata.length > 0) 
			{
				branddata = branddata[0];

				var banners = branddata.getElementsByTagName("banner");
				
				for (var i = 0; i < banners.length; i++) 
				{
					idx = banners[i].getAttribute("brand");
					if (idx && idx in brand_idx && row[brand_idx[idx]] != undefined && (row[brand_idx[idx]] == "H" || row[brand_idx[idx]] == "S") && idx != "Welta" && idx != "Gebw" ) 
					{
						services_count++;
						services[idx] = 
						{
							href:	banners[i].getAttribute("href"),
							text:	banners[i].getAttribute("text"),
							width:	banners[i].getAttribute("width"),
							height: banners[i].getAttribute("height"),								
							brand:	idx
						};
						//	alert(services[idx].brand);
					}
				}
			}

			var importdata = xml.getElementsByTagName("importdata");
			var xmlString = req.responseXML.xml ? req.responseXML.xml : (new XMLSerializer()).serializeToString(req.responseXML); 
			//	alert( xmlString );
			if (importdata.length > 0) 
			{
				importdata = importdata[0];

				var banners = importdata.getElementsByTagName("banner");
				//alert(banners.length);
				for (var i = 0; i < banners.length; i++)
				{
					idx = banners[i].getAttribute("brand");
					if (idx && idx in brand_idx && row[brand_idx[idx]] != undefined && row[brand_idx[idx]] == "H") 
					{
	

						if (banners[i].getAttribute("visible") && banners[i].getAttribute("visible").toLowerCase() == "false") continue;

						if (imports[idx] == undefined) imports[idx] = new Array();

						imports[idx][imports[idx].length] = 
						{
							src   : banners[i].getAttribute("src"),
							href  : banners[i].getAttribute("href"),
							type  : banners[i].getAttribute("type") ? banners[i].getAttribute("type") : "img",
							time  : banners[i].getAttribute("time") ? parseInt(banners[i].getAttribute("time"), 10) * 1000 : def_rotate_interval * 1000,
							width : banners[i].getAttribute("width"),
							height: banners[i].getAttribute("height")
						};
					//	alert(imports[idx][imports[idx].length-1].src);
					}
				}
			}

			//show service banners


			var flashes = new Array();
			var font_size = Math.round(20 * Math.pow(0.97, services_count)) - 2;
			for (var i in services) 
			{
			//	str += "&nbsp;&nbsp;&nbsp;&nbsp;<a style='font-size: "+font_size+"px' href='#' onclick='window.open(\""+services[i].href+"\", \"\", \"status=no,menubar=no,location=no,scrollbars=yes,toolbar=no,resizable=yes"+(services[i].width ? ",width="+services[i].width : "")+(services[i].height ? ",height="+services[i].height : "")+"\")'>"+(services[i].text.replace(/ /, "&nbsp;"))+"</a> ";
				if ( services[i].href != undefined		)		fl_href +=			services[i].href+	"|";
				if ( services[i].brand != undefined		)		fl_brand +=			services[i].brand+	"|"; 
				if ( services[i].width != undefined		)		fl_pop_width +=		services[i].width+	"|";
				if ( services[i].height != undefined	)		fl_pop_height +=	services[i].height+	"|";
			}
			
			
			var fl = new SWFObject("/wavemaster.internal/data/hu/banner/image/Main.swf", "bannerSWF", "335", "70", "8", "#eff0f4");
			fl.addParam("quality",					"best"			);
			fl.addParam("scale",					"noscale"		);
			fl.addParam("wmode",					"transparent"	);
			fl.addVariable("href_arr_str",			fl_href			);
			fl.addVariable("brand_arr_str",			fl_brand		);
			fl.addVariable("width_arr_str",			fl_pop_width	);
			fl.addVariable("height_arr_str",		fl_pop_height	);
			fl.addVariable("style",					"grey"			);
			fl.write(divBrand);

			//create an index array that helps to rotate over import banners
			for ( var i in imports ) 
			{
				//	alert(i);
				if ( i == "Vw" || i == "Skoda"  || i == "Audi" || i == "Por" || i == "Lnf" || i == "Seat" || i == "Welta"  || i == "Gebw" )
				{				
				
					imp_banners.imports[imp_banners.imports.length] = 
					{
						brand  : i,
						length : imports[i].length,
						current: -1
					};
				}
			}
			
			//create a random number. The banner rotation will start with this number
			//imp_banners.idx = 0;
			imp_banners.idx = Math.round(Math.random() * (imp_banners.imports.length-1));
			//Math.round(Math.random() * (imp_banners.imports.length-1));

			//show import banners
			if (imp_banners.imports.length > 0) 
			{
				//alert('count: ' + imp_banners.imports.length);
				rotateBanner(divImport);
			//	rotateBanner();
			//	var x = 0;
			} else {
				//	document.getElementById(divImport).style.display = "none";
			}
			
		//	alert(menuType);
			setTimeout( function()
			{
				if ( document.getElementById("banner") )
				{
					document.getElementById("banner").style.display = "block";
				}

				if ( document.getElementById("banner")  && menuType == "modern(red)" ) document.getElementById("banner").style.top = document.getElementById("inhalt").offsetTop + document.getElementById("PoHUBanners").offsetHeight + document.getElementById("submenue").offsetHeight + 20 + "px";
			}, 0);
		}
	}
	req.send(null);
	//alert("fakk" + row);
}

var t1, t2;
function rotateBanner(divImport) {

	/*
	if (!t2) {
		t2 = new Date();
	} else {
		t1 = new Date();
	}
	if (t1) {
		alert ("Eltelt idő: " + ((t1.getTime() - t2.getTime()) / 1000.0) + " másodperc" );
	}
	t2 = new Date();
	*/
	
	var startTimer = false;

	var hrefs = "";
	if (++imp_banners.idx > imp_banners.imports.length-1) imp_banners.idx = 0;
	var idx = imp_banners.idx;

	if (++imp_banners.imports[idx].current > imp_banners.imports[idx].length-1) imp_banners.imports[idx].current = 0;
	
	var current = imp_banners.imports[idx].current;
	var href   = imports[imp_banners.imports[idx].brand][current].href;
	var src    = imports[imp_banners.imports[idx].brand][current].src;
	var type   = imports[imp_banners.imports[idx].brand][current].type;
	var width  = imports[imp_banners.imports[idx].brand][current].width;
	var height = imports[imp_banners.imports[idx].brand][current].height;

//	alert( imp_banners.imports[idx].brand + ' delay : ');

	if (src) {
		switch (type) {
			case "img":
				document.getElementById(divImport).innerHTML = "<a href='#' onclick='window.open(\""+href+"\", \"\", \"status=no,menubar=no,location=no,scrollbars=yes,toolbar=no,resizable=yes"+(width ? ",width="+width : "")+(height ? ",height="+height : "")+"\")'><img src='"+src+"' border='0'/></a>";
				startTimer = true;
			break;

			case "flash":
				var so = new SWFObject(src, "", "335", "70", "6");
				so.addParam("wmode","transparent");
				so.addVariable("hdlnr", gHdlnr);
				so.addVariable("fullhdlnr", fullHdlnr);
				so.addVariable("grp", grp);
				so.write(divImport);
			//	startTimer = true;
			break;
		}
	}

	if (startTimer) {
		setTimeout("rotateBanner('"+divImport+"')", imports[imp_banners.imports[idx].brand][current].time);
	}
}

function changeImportBanner() {
	rotateBanner(gDivImport);
}

