﻿
// 플레쉬 소스 만들기
function MakeFlash(url, w, h) {
	var str = "<object id=\"Banner\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\""
		+ " codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0\""

	if (w != "") str += " width=\"" + w + "\"";
	if (h != "") str += " height=\"" + h + "\"";

	str += ">"
		+ "<param name=\"movie\" value=\"" + url + "\" />"
		+ "<param name=\"quality\" value=\"high\" />"
		+ "<embed src=\"" + url + "\""
		+ " quality=\"high\""
		+ " pluginspage=\"http://www.macromedia.com/go/getflashplayer\""
		+ " type=\"application/x-shockwave-flash\""

	if (w != "") str += " width=\"" + w + "\"";
	if (h != "") str += " height=\"" + h + "\"";

	str += "></object>";
	return str;
}

// 이미지 소스 만들기
function MakeImage(img, w, h, alt, cls) {
	var str = "<img id=\"Banner\" src=\"" + img + "\""

	if (w != "") str += " width=\"" + w + "\"";
	if (h != "") str += " height=\"" + h + "\"";
	if (alt != "") str += " alt=\"" + HTMLEncode(alt) + "\"";
	if (cls) str += " class=\"" + cls + "\"";

	str += " />";

	return str;
}

// 배너 만들기
function MakeBanner(img_type, img, text, width, height, pos, grp, num, link, target) {
	var str = "";
	switch (img_type) {
		case "TEXT":
			str = MakeLink(pos, grp, num, HTMLEncode(text), link, target);
			break;
		case "FLASH":
			str = MakeFlash(img, width, height);
			break;
		case "IMAGE":
			str = MakeLink(
				pos, grp, num
				, MakeImage(img, width, height, text)
				, link, target
			);
			break;
		case "SCRIPT":
			str = MakeScript(link);
			break;
	}
	return str;
}

// 링크 만들기
function MakeLink(pos, grp, num, text, link, target) {
	var str = "";
	if (link == "" || link == "#") {
		str = "<a href=\"#\">" + text + "</a>";
		return str;
	}
		
	str = "<a href=\"/proxy/banner_click.asp?pos_code=" + pos + "&group_num=" + grp + "&num=" + num
		+ "&url=" + escape(link) + "\"";

	if (target != "") str += " target=\"" + target + "\""

	str += ">" + text + "</a>";

	//	alert(str);
	return str;
}


// 배너 출력
function DISPLAY_BANNER(tbl, type, update) {
	var pos_code = tbl.id.substring(3, tbl.id.length);
	var rnd, arr, cnt, str;
	var strNums = "";

	var objRow, intRowIndex, objCell;

	if (!document.all["imgBannerCount"])
		document.writeln("<img id=\"imgBannerCount\" style=\"display: none;\" width=\"1\" height=\"1\" alt=\"\" />");

	try {

		for (var i = 0; i < GRPS.length; i++) {
			arr = eval(pos_code + GRPS[i]);

			//		cnt = arr.length / 11;
			//		rnd = parseInt(Math.random() * cnt);
			rnd = GetBannerIndex(arr);

			if (rnd == -1) return;

			// 세로 방향 배너
			if (type == "V") {
				objRow = tbl.insertRow();
				objRow.align = "center";
				objCell = objRow.insertCell();

				str = MakeBanner(
				arr[1 + (rnd * 11)],
				arr[2 + (rnd * 11)],
				arr[3 + (rnd * 11)],
				arr[4 + (rnd * 11)],
				arr[5 + (rnd * 11)],
				arr[6 + (rnd * 11)],
				arr[7 + (rnd * 11)],
				arr[0 + (rnd * 11)],
				arr[8 + (rnd * 11)],
				arr[9 + (rnd * 11)]
			);

				if (arr[1 + (rnd * 11)] == "SCRIPT") {
					document.writeln(str);
				} else
					objCell.innerHTML = str;

				objRow = tbl.insertRow();
				objRow.height = 5;
				objCell = objRow.insertCell();



				strNums += arr[7 + (rnd * 11)] + "/" + arr[0 + (rnd * 11)] + ",";

				// 가로 방향 배너
			} else if (type == "H") {
				if (tbl.rows.length == 0) {
					objRow = tbl.insertRow();
					objRow.align = "center";
				}
				objCell = objRow.insertCell();

				objCell.innerHTML = MakeBanner(
				arr[1 + (rnd * 11)],
				arr[2 + (rnd * 11)],
				arr[3 + (rnd * 11)],
				arr[4 + (rnd * 11)],
				arr[5 + (rnd * 11)],
				arr[6 + (rnd * 11)],
				arr[7 + (rnd * 11)],
				arr[0 + (rnd * 11)],
				arr[8 + (rnd * 11)],
				arr[9 + (rnd * 11)]
			);
				strNums += arr[7 + (rnd * 11)] + "/" + arr[0 + (rnd * 11)] + ",";
			}
		}
	} catch (e) {
		//	alert(e)
	}

	try {
		// 노출 카운트 적용
		if (strNums.length > 0) strNums = strNums.substring(0, strNums.length - 1);
		if (update == 1) document.all["imgBannerCount"].src = "/banner/count.asp?pos_code=" + pos_code
			+ "&data=" + escape(strNums);
		//		alert(document.all["imgBannerCount"].src);

	} catch (e) {
		//		alert(imgBannerCount.src);
	}
}

// 배너 인덱스 구하기
function GetBannerIndex(arr) {
	try {
		var cnt = arr.length / 11;
		var rnd = parseInt(Math.random() * cnt);
		var dat, today = new Date();
		while (true) {
			dat = arr[rnd * 11 + 10]

			if (dat == "") return rnd;

			dat = dat.split("-");
			dat = new Date(dat[0], dat[1], dat[2]);

			if (dat >= today) return rnd;
			if (ValidBannerCount(arr) == 0) return -1;
		}
		return rnd
	} catch (e) { alert(e) }
}

// 유효 배너 갯수
function ValidBannerCount(arr) {
	var len = arr.length / 11;
	var cnt = 0;
	var today = new Date();
	var dat;

	for (var i = 0; i < len; i++)
		if (arr[i * 11 + 10] != "") {
		dat = arr[i * 11 + 10].split("-");
		dat = new Date(dat[0], dat[1], dat[2]);

		if (dat >= today) cnt++;
	}
	return cnt;
}

