/* -------------------------------------------------------------------------- */
/** 
 *    @fileoverview
 *       external files loader (for lang-ja).
 *
 *    @version rev002.2008-08-25
 */
/* -------------------------------------------------------------------------- */

/*@cc_on _d=document;eval('var document=_d')@*/



/* --------------- Function : JBICCheckUA --------------- */

function JBICCheckUA() {
	var navUA      = navigator.userAgent;
	var isSafari   = /AppleWebKit/.test(navUA);
	var isGecko    = /Gecko\//    .test(navUA);
	var isGecko180 = (isGecko && navUA.match(/; rv:([\d\.]+)/)[1].indexOf('1.8.0') == 0);
	var isOpera    = Boolean(window.opera);
	var isIE       = (document.all && !isGecko && !isSafari && !isOpera);
	var revision   = (isIE    ) ? parseFloat(navUA.match(/MSIE ([\d\.]+)/)[1])         :
	                 (isGecko ) ? parseFloat(navUA.match(/; rv:([\d\.]+)/)[1])         :
	                 (isSafari) ? parseFloat(navUA.match(/AppleWebKit\/([\d\.]+)/)[1]) :
	                 (isOpera ) ? parseFloat(navUA.match(/Opera.([\d\.]+)/)[1])        :
	                              0                                                    ;
	return (   false
	        || isIE     && revision >= 6.0                 // WinIE   / 6.0 or later
	        || isGecko  && revision >= 1.8 && !isGecko180  // Firefox / 2.0 or later
	        || isSafari && revision >= 412                 // Safari  / 2.0 or later
//	        || isOpera  && revision >= 9.0                 // Opera   / 9.0 or later
	       );
}



/* --------------- Function : JBICAppendJS --------------- */

function JBICAppendJS(src, defer) {
	if (!src || typeof src != 'string') {
		throw 'JBICAppendJS: first argument must be a string as URL.';
	} else {
		src   = ' src="' + src + '"';
		defer = (defer == 'defer') ? ' defer="defer"' : '';
		document.write('<script type="text/javascript"' + src + defer + '></script>');
	}
}



/* --------------- Function : JBICAppendCSS --------------- */

function JBICAppendCSS(href, media) {
	if (!href || typeof href != 'string') {
		throw 'JBICAppendCSS: first argument must be a string as URL.';
	} else if (media && typeof media != 'string') {
		throw 'JBICAppendCSS: second argument must be a string as CSS media type.';
	} else {
		href  = ' href="' + href + '"';
		media = (media) ? ' media="' + media  + '"' : '';
		document.write('<link rel="stylesheet" type="text/css"' + href + media + ' />');
	}
}



/* --------------- load external files --------------- */

(function() {
	if (JBICCheckUA()) {
		var category = (location.pathname.split('/')[2] || 'toppage').replace('index.html', 'toppage');
		
		/* ----- load style sheets ----- */
		
		JBICAppendCSS('/en/shared/css/import.css');
		switch (category) {
			case 'toppage' : JBICAppendCSS('/shared/css/home.css'       );
			                 break;
			case 'special' : JBICAppendCSS('/en/shared/css/special.css');
			                 break;
			default        : break;
		}
		
		/* ----- load scripts ----- */
		
		JBICAppendJS('/shared/js/load.js'                );
		JBICAppendJS('/en/shared/js/wordings.js', 'defer');
	}
})();
