// This module on PenguinBlog3.

var pb_advertise2 = {
	dynamicLink : new String('/json/advertise.json') /* only same domain */ ,
	formatHead : '<p class="ad_body"><img src="/image/ad_head_ad.gif" alt="PR:" title="PR:" class="text_ad_img" />',
	formatLine : '<a href="#url#" target="_blank">#adtext#</a>',
	formatFoot : '</p>',

	node : new Object ,
	setDATA : function (id, type) {
		pb_advertise2.node = document.getElementById(id);
		if (!pb_advertise2.node) throw id+" isn't found";

		if (isHTTPreq) {
			pb_advertise2.changeHTML(type);
		} else {
			pb_advertise2.node.innerHTML = ''; // oldOpera, MacIE5...
		}
	},

	changeHTML : function(type) {
		var xml = new JKL.ParseXML.JSON(pb_advertise2.dynamicLink);
		var func = function (data) {
		  pb_advertise2.drawHTML(data, type);
		}
		xml.async(func);
		xml.parse();
	},
	drawHTML : function(data, type) {
//		var s='';var n=0;var c=data['entry'];for(n in c) { s = s+n+':'+c[n]+' '; } alert(s);
		var html = pb_advertise2.formatHead;

		var c = 0;
		var res = new Object;

		var func = function (row) {
			if (row==undefined) return;
			if (row['adtype']==type) {
//			if (row['adtype']=="") {
				res[c] = row;
				c++;
			}
		}
		data['advertise'].each(func);
		if (c>0) {
			var i = Math.floor(Math.random()*c);
			var line = pb_advertise2.formatLine;
			line = line.replace(/#url#/g,res[i]['url']);
			line = line.replace(/#adtext#/g,res[i]['adtext']);
			html += line;
		}
		html += pb_advertise2.formatFoot;
		pb_advertise2.node.innerHTML = html;
	},

	init : function () {
		try {
			ob = new ActiveXObject("Msxml2.XMLHTTP");
			isHTTPreq = true;
			isIE = true;
		} catch(ex) {
			try {
				ob = new ActiveXObject("Microsoft.XMLHTTP");
				isHTTPreq = true;
				isIE = true;
			}catch(ex){
				try {
					ob = new XMLHttpRequest();
					isHTTPreq = true;
					isIE = false;
				}catch(ob){
//					isHTTPreq = false;
				}
			}
		}
	}
}

pb_advertise2.init();
