/*
Charset: UTF-8（京雀）
Version: 20080701
Programing by Masao Takahashi.
*/
function CommonInterface() {
	this.aInterface = new Array();
	this.flashVersion = null;
}

CommonInterface.prototype = {
onLoad : function()
{

//check browser
	if (!g_common._browser) {
		alert("サポートされてないブラウザです:"+navigator.userAgent);
		return;
	}
//css setting (for opera cache)
	var font = readCookie('font');
	if (font) g_common.setFontSize(font);
//font buttons
	var node = document.getElementById("header_font");
	if (node) {
		var list = node.getElementsByTagName('a');
		for (var i=0; i<list.length; i++) {
			node = list[i];
			node.onclick = g_common.clickFont;
		}
	}

//load interface
	window.onresize = g_common.onResize;
	for (var i=0; i<g_common.aInterface.length; i++) {
		if (g_common.aInterface[i].onLoad) {
			g_common.aInterface[i].onLoad();
		}
	}
	
	Shadowbox.init();

},
onResize : function(e)
{
	for (var i=0; i<g_common.aInterface.length; i++) {
		if (g_common.aInterface[i].onResize) {
			g_common.aInterface[i].onResize(e);
		}
	}
},
/***
onBeforeUnload : function(e)
{
	if (g_common._browser == "ie") {
		// fixes bug in some fp9 versions see http://blog.deconcept.com/2006/07/28/swfobject-143-released/
		__flash_unloadHandler = function(){};
		__flash_savedUnloadHandler = function(){};
		addEventHandler(window, "unload", g_common.onUnload);
	}
},
onUnload : function(e)
{
	if (g_common._browser == "ie") {
		// fix for video streaming bug
		var _o = document.getElementsByTagName("object");
		var _l = _o.length;
		for (var i = 0; i < _l; i++) {
			_o[i].style.display = "none";
			for (var x in _o[i]) {
				if (typeof _o[i][x] == "function") {
					_o[i][x] = null;
				}
			}
		}
	}
},
***/
registInterface : function(i)
{
	g_common.aInterface.push(i);
},
parseUA : function()
{
	var ua = navigator.userAgent.toLowerCase();
	var browser, version, i;
	browser = version = "";
	if (ua.indexOf("mac") != -1) {
		g_common._os = "mac";
		//if (ua.indexOf("mac os x") == -1)
	}
	else {
		if (ua.indexOf("win") != -1) g_common._os = "win";
	}
	var reg = new RegExp("\s*([0-9.]+)");
	if (ua.indexOf("safari") != -1) {
		browser = "safari";
	}
	if (ua.indexOf("opera") != -1) {
		browser = "opera";
		var m = ua.substring(i+5).match(reg);
		version = m[1];
		if (parseInt(version) < 7) browser = "";
	}
	else if ((i = ua.indexOf("msie")) != -1) {
		if (g_common._os == "win") {
			browser = "ie";
			var m = ua.substring(i+5).match(reg);
			version = m[1];
			if (parseInt(version) < 5) browser = "";
		}
	}
	else if ((i = ua.indexOf("netscape")) != -1) {
		browser = "nn";
		var m = ua.substring(i+8).match(reg);
		version = m[1];
		if (parseInt(version) < 7) browser = "";
	}
	else if (ua.indexOf("gecko") != -1) browser = "gecko";
	g_common._browser = browser;
	g_common._version = version;
},
clickFont : function(event)
{
	g_common.setFontSize(this.className);
	return false;
},
setFontSize : function(name)
{
	var nodeFont = document.getElementById("header_font");
	if (!nodeFont) return;

	var m = document.body.className.match('\\bfont_[a-z]+\\b');
	if (m) {//new version
		removeClassName(document.body, m);
		addClassName(document.body, "font_"+name);
	}
	else {//old version
		var nodeLink = null;
		var regCss = new RegExp("\/font_[a-z]+.css$");
		var list = document.getElementsByTagName("link");
		for (var i=0; i<list.length; i++) {
			var node = list[i];
			if (node.getAttribute("rel").indexOf("style") == -1) {
				continue;
			}
			if (regCss.test(node.href)) {
				nodeLink = node;
				break;
			}
		}
		if (nodeLink) {
			nodeLink.href = nodeLink.href.replace(regCss, "/font_"+name+".css");
		}
	}
	g_common.font = name;
	createCookie('font', g_common.font, 365);
},
writeFlash : function()
{
	var attrHtml = "";
	var paramHtml = "";
	var embedHtml = "";
	var movie = "";
	for(var i=0; i<arguments.length; i++) {
		var str = arguments[i];
		var j = str.indexOf("=");
		var name = str.substr(0,j);
		var value = str.substr(j+1);
		switch (name) {
		case "id":
		case "class":
		case "style":
		case "width":
		case "height":
		case "hspace":
		case "vspace":
		case "align":
		case "declare":
			attrHtml += name+'="'+value+'" ';
			break;
		case "movie":
			movie = value;
			break;
		default:
			paramHtml += '<param name="'+name+'" value="'+value+'" />';
			break;
		}
		if (name == 'id') name = 'name';
		if (name != 'movie') embedHtml += name+'="'+value+'" ';
	}
	/*xiInstall Routine {
		var movie = "expressinstall.swf";
		var name = "flashvars";
		var value = "MMredirectURL="+escape(window.location)+"&MMdoctitle="+document.title;
		if (navigator.plugins && navigator.mimeTypes && navigator.mimeTypes.length) {
			value += "MMplayerType=Plugin";
		}
		else {
			value += "MMplayerType=ActiveX";
		}
		embedHtml += name+'="'+value+'" ';
		paramHtml += '<param name="'+name+'" value="'+value+'" />';
	}*/
	paramHtml += '<param name="movie" value="'+movie+'" />';
	paramHtml += '<embed src="'+movie+'" '+embedHtml+' type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />';

	var html = '<object '+attrHtml+' classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"';
	html += ' codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab">';
	html += paramHtml+'</object>';
	document.write(html);
},
isValidFlash : function(major,minor,rev)
{
	if (!this.flashVersion) {
		this.flashVersion = new FlashPlayerVersion();
	}
	return this.flashVersion.isValid(major,minor,rev);
},
pageTracker : function(url)
{
	if (location.hostname == 'ni-korea.jp') {
		_uacct = "UA-1319017-1";
		urchinTracker(url);
	}
},
flashPlay : function(url) {}

};
function writeln_ex(str)
{
	str = str.replace(/%3C/gi, "<");
	str = str.replace(/%3E/gi, ">");
	str = str.replace(/%26/g, "&");
	document.writeln(str);
}
var g_common = new CommonInterface();
g_common.parseUA();
addEventHandler(window, "load", g_common.onLoad);
//addEventHandler(window, "beforeunload", g_common.onBeforeUnload);
