/* ld google ad */
google_ad_client = 'ca-livedoor-blog_js';
google_ad_channel = 'blog_1';
google_ad_output = 'js';
google_ad_type = 'text';
google_language = 'ja';
google_country = 'JP';
google_encoding = 'euc-jp';
google_safe = 'high';
google_hints = '';
google_ad_section = '';
google_max_num_ads = '0';
if(location.host.indexOf('blog.livedoor.com') < 0){
	google_adtest = 'on';
}

function google_ad_request_done(google_ads){
	var place = ld_google_ad.place;
	// for debug
	if(google_ads){
		ld_google_ad.response = google_ads.concat();
	}
	for(var i=0;i<place.length;i++){
		ld_google_ad.print_ads(place[i], google_ads);
	}
}
var ld_google_ad = new function(){
	var self = this;
	this.max_num_ads = 0;
	this.place = [];
	this.FromSearchEngine = false;
	
	this.target_word = function(word){
		if(word){ google_hints = word; }
		else{ google_ad_section = 'default'; }
	};
	this.call = function(){
		if(this.requested) return;
		if(location.pathname.indexOf("/t/") == 0 || location.pathname.indexOf("/common_theme-") == 0){
			this.check_referer();
		}
		this.scan_document();
		google_max_num_ads = this.max_num_ads;
		if(google_max_num_ads){
			document.write(
				'<script type="text/javascript" src="',
				'http://pagead2.googlesyndication.com/pagead/show_ads.js',
				'"></scr', 'ipt>'
			);
			this.requested = true;
		}
	};
	this.check_referer = function(){
		var ref = document.referrer;
		if (/^http:\/\/search\.livedoor\.com\/search/.test(ref)) this.FromSearchEngine = true;
		if (/^http:\/\/www\.google\.(co\.jp|com)\/search/.test(ref)) this.FromSearchEngine = true;
		if (/^http:\/\/search\.yahoo\.co\.jp\/search/.test(ref)) this.FromSearchEngine = true;
		if (/^http:\/\/search\.goo\.ne\.jp\/web.jsp/.test(ref)) this.FromSearchEngine = true;
		if (/^http:\/\/www\.excite\.co\.jp\/search.gw/.test(ref)) this.FromSearchEngine = true;
		if (/^http:\/\/search\.msn\.co\.jp/.test(ref)) this.FromSearchEngine = true;
	};
	this.scan_document = function(){
		for(var i=0; i<4; i++){
			if(this.FromSearchEngine && i == 1){ continue; }
			else if(!this.FromSearchEngine && i == 0){ continue; }
			var el = document.getElementById('google_afc_'+i);
			el && this.scan_element(el);
		};
	};
	this.scan_element = function(el){
		var cl = el.className;
		var num;
		var format;
		if(cl.indexOf("banner") > 0){ num = 2; format = "banner"; }
		else if(cl.indexOf("rect") > 0){ num = 4; format = "rect"; }
		else if(cl.indexOf("side") > 0){ num = 5; format = "side"; }
		else if(cl.indexOf("map") > 0){ num = 3; format = "map"; }
		this.place.push({
			element: el,
			num: num,
			format : format
		});
		this.max_num_ads += num;
	};
	this.print_ads = function(place, google_ads){
		if(google_ads.length == 0) return;
		var buf = [];
		var f = this.formatter[place.format];
		buf.push('<div class="afcBox-' + place.format + '">');
		if(place.format != 'side') buf.push('<div class="ad-google">Ads by Google</div>');
		for(var i=0;i<place.num;i++){
			var ads = google_ads.shift();
			if(ads) buf.push(f(ads));
		}
		buf.push('</div>');
		place.element.innerHTML = buf.join("");
	};
};

ld_google_ad.formatter = {
	banner: function(a){
		return [
			'<div class="ad-outer"><a href="' + a.url + '">',
			'<span class="ad-title">' + a.line1 + '</span>',
			'<span class="ad-url">' + a.visible_url + '</span>',
			'<span class="ad-description">' + a.line2 + '&nbsp;' + a.line3 + '</span></a></div>'
		].join('');
	},
	rect: function(a){
		return [
			'<div class="ad-outer"><a href="' + a.url + '">',
			'<span class="ad-title">' + a.line1 + '</span>',
			'<span class="ad-url">' + a.visible_url + '</span>',
			'<span class="ad-description">' + a.line2 + '&nbsp;' + a.line3 + '</span></a></div>'
		].join('');
	},
	side: function(a){
		return [
			'<div class="ad-outer"><a href="' + a.url + '">',
			'<span class="ad-title">' + a.line1 + '</span>',
			'<span class="ad-description">' + a.line2 + '&nbsp;' + a.line3 + '</span>',
			'<span class="ad-url">' + a.visible_url + '</span></a></div>'
		].join('');
	},
	map: function(a){
		return [
			'<div class="ad-outer"><a href="' + a.url + '">',
			'<span class="ad-title">' + a.line1 + '</span>',
			'<span class="ad-url">' + a.visible_url + '</span>',
			'<span class="ad-description">' + a.line2 + '&nbsp;' + a.line3 + '</span></a></div>'
		].join('');
	}
};
