/**
 * UTF-8
 * @update: 2010-03-05
 */

// --- setting:START -- //
// IM
var myovt_im = [];
myovt_im['source']  = 'gmo_jp_pgame_im';// GMOアドパートナーズにて設定
myovt_im['htmlID']  = ['ovt_im:3:toppage:groupA', 'ovt_im:2:category:groupB'];
myovt_im['ctxtids'] = [];
myovt_im['ctxtids']['groupA'] = ['sof0301','boo0105'];
myovt_im['ctxtids']['groupB'] = ['edu0209','sof0302','edu0205'];
//



// --- setting:END -- //

var myovt_keyword, myovt_im_pointer, myovt_ss_pointer;
myovt_init();


// --- COMMON --- //
function myovt_init() {
	myovt_im_pointer = myovt_ss_pointer = 0;

	myovt_im['htmlID'] = myovt_filterHtmlId(myovt_im['htmlID']);

	myovt_loadIM();
}

// filter unused html-div-ID
function myovt_filterHtmlId(ids) {// ids: html-div-id array
	var el;
	var tmp = [];
	for (var i = 0; i < ids.length; i++) {
		el = document.getElementById(ids[i]) || null;
		if (el) tmp.push(ids[i]);
	}
	return tmp;
}

function myovt_showAllAds() {
	myovt_showAllIM();
}

// --- IM --- //
function myovt_loadIM() {
	if (!myovt_im['htmlID'].length) {
		return;
	}
	// set maxCount & ctxtids ( base on the div which appears first )
	var ctxtids  = null;
	var maxCount = 0;
	for (var i = 0; i < myovt_im['htmlID'].length; i++) {
		var divID = myovt_im['htmlID'][i].split(':');
		if (!ctxtids && typeof(myovt_im['ctxtids'][divID[3]]) != 'undefined') {
			ctxtids = myovt_im['ctxtids'][divID[3]];
		}
		maxCount += parseInt(divID[1]);
	}
	if (!ctxtids || !maxCount) {
		return;
	}
	if (maxCount > 20) {
		maxCount = 20;
	}
	var ctxtid  = ctxtids[Math.floor(Math.random() * ctxtids.length )];
	var type    = divID[2] + "_" + ctxtid;
	var ctxtUrl = encodeURIComponent(location.protocol + "//" + location.host + location.pathname);
	var url = 'http://im.gmo.ov.yahoo.co.jp/js_flat/?source=' + myovt_im['source'] + '&type=' + type + '&ctxtId=' + ctxtid + '&maxCount=' + maxCount + '&outputCharEnc=utf8&ctxtUrl=' + ctxtUrl;
	document.write('<scr' + 'ipt type="text/javascript" language="javascript" src="' + url + '" charset="utf-8"></scr' + 'ipt>');
}

function myovt_showAllIM() {
	if (!myovt_im['htmlID'].length || typeof(zSr) == 'undefined') {// zSr: preloaded ad data
		return;
	}
	for (var i = 0; i < myovt_im['htmlID'].length; i++) {
		myovt_showOneIM(myovt_im['htmlID'][i]);
	}
}

function myovt_showOneIM(id) {
	var divID = id.split(':');
	if (typeof(divID[1]) == 'undefined') {
		return;	
	}
	var num = parseInt(divID[1]);
	var i = !myovt_im_pointer ? 6 : myovt_im_pointer;
	var j = 0;
	var src = '';
	while (j < num) {
		if (i > zSr.length) {
			break;
		}
		var descr = zSr[i++];
		var unused1 = zSr[i++];
		var clickURL = zSr[i++] || '';
		var title = zSr[i++];
		var sitehost = zSr[i++];
		var unused2 = zSr[i++];
		if (clickURL) {
			src += '<p class="ovt_im"><a href="' + clickURL + '" target="_blank"><span class="title">' + title + '</span><span class="host">' + sitehost + '</span><br /><span class="text">' + descr + '</span></a></p>';
		}
		j++;
	}
	if (src) {
		document.getElementById(id).innerHTML = '<div class="imbox">' + src + '</div>';
	}
	myovt_im_pointer = i;
}




// --- UTILITY --- //
function myovt_getParameter(key) {
	if (location.search != undefined && location.search.length > 1) {
		var param = [];
		var array = location.search.substr(1).split("&");
		for (var i = 0; i < array.length; i++) {
			var tmp = array[i].split("=");
			param[tmp[0]] = myovt_decode(tmp[1]);
		}
		if (param[key] != undefined) {
			return 	param[key];
		}
	}
	return '';
}

function myovt_decode(str) {
	return window["Unescape"+GetEscapeCodeType(str)](str);// ecl.js
}

function myovt_encode(str, encoding) {
	if (encoding == 'sjis') {
		return EscapeSJIS(str);
	}
	if (encoding == 'ujis') {
		return EscapeEUCJP(str);
	}
	return EscapeUTF8(str);
//	return encodeURI(str);
}

function myovt_shuffle(targetArray) {
	var i,j,t;
	i = targetArray.length;
	while (i) {
		j = Math.floor(Math.random() * i);
		t = targetArray[--i];
		targetArray[i] = targetArray[j];
		targetArray[j] = t;
	}
	return targetArray;
}

