/* ld google ad */

google_ad_client = 'ca-livedoor-cgm_js';
google_ad_channel = 'clip';
google_ad_output = 'js';
google_ad_type = 'text';
google_language = 'ja';
google_encoding = 'utf8';
if(location.host != 'clip.livedoor.com'){
	google_adtest = 'on';
}

// for ldclip
if(location.pathname.indexOf("/tag/") == 0){
	var tag = decodeURI(location.pathname.replace("/tag/",""));
	google_kw = tag;
	google_kw_type = 'broad';
	google_hints = tag; 
}
if(location.pathname.indexOf("/clips/") == 0){
	google_ad_channel = 'clip2';
}
if(location.pathname.indexOf("/page/") == 0){
	var target_url = document.getElementById("pagettl").childNodes.item(0).href;
	google_ad_channel = 'clip3';
	google_page_url = target_url;
}
// callback for google afc
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.print_ads = function(place, google_ads){
		if(google_ads.length == 0) return;
		var buf = [];
		var f = this.formatter[place.format];
		for(var i=0;i<place.num;i++){
			var ads = google_ads.shift();
			if(ads) buf.push(f(ads));
		}
		place.element.innerHTML = '<div class="ads_box">' + buf.join("") + '</div>';
	};
	this.scan_document = function(){
		for(var i=0; i<5; i++){
			var el = document.getElementById('google_afc_'+i);
			el && this.scan_element(el,i);
		};
	};
	this.check_referrer = function(el,num){
		var ref = document.referrer;
		if(location.pathname.indexOf("/page/") == 0){
			if ((/^http:\/\/search\.livedoor\.com\/search/.test(ref))
			|| (/^http:\/\/www\.google\.(co\.jp|com)\/search/.test(ref))
			|| (/^http:\/\/search\.yahoo\.co\.jp\/search/.test(ref))
			|| (/^http:\/\/search\.goo\.ne\.jp\/web.jsp/.test(ref))
			|| (/^http:\/\/www\.excite\.co\.jp\/search.gw/.test(ref))
			|| (/^http:\/\/search\.msn\.co\.jp/.test(ref))){
				num = num + 3;
				/*el.style.height = "280px";*/
			}
		}
		return num;
	};
	this.scan_element = function(el,i){
		var cl = el.className;
		// num
		var m = cl.match(/\d{1,2}/);
		var num = m ? m[0] - 0 : 3;
		if(i==0) num = this.check_referrer(el,num);
		// format
		m = cl.match(/afc_format_(\w*)/);
		var format = m ? m[1] : 'normal';
		this.place.push({
			element: el,
			num    : num,
			format : format
		});
		this.max_num_ads += num;
	}
	this.call = function(){
		if(this.requested) return;
		this.scan_document();
		google_max_num_ads = this.max_num_ads;
		if(google_max_num_ads){
			google_max_num_ads += 2;
			document.write(
				'<script type="text/javascript" src="',
				'http://pagead2.googlesyndication.com/pagead/show_ads.js',
				'"></scr', 'ipt>'
			);
			this.requested = true;
		}
	};
};

ld_google_ad.formatter = {
	normal: function(a){
		return [
			'<div class="adsense_block">',
			'<ul class="adsense_elements"><li><a href="', a.url , '">',
			'<span class="adsense_line1">', a.line1 ,'</span>',
			'<span class="adsense_url">', a.visible_url ,'</span><br>',
			'<span class="adsense_line2">', a.line2 ,'</span>',
			'<span class="adsense_line3">', a.line3 ,'</span></a></li></ul>',
			'</div>'
		].join('');
	}
};

ld_google_ad.call();
