/**
 * BC Object Define
 */
var BC = new Object();

/**
 * Header / Footer Include
 */
BC.Templete = {
	header:[
		'<div id="header">',
		'<h1><a href="__path__index.html"><img src="__path__common/image/header_logo.gif" width="122" height="53" border="0" alt="BRAVE CIRCLE" /></a></h1>',
		'<ul id="gnav" class="clearfix">',
		'<li id="about"><a href="__path__about/index.html">ブレイブサークルとは？</a></li>',
		'<li id="course"><a href="__path__course/index.html">大腸がん講座</a></li>',
		'<li id="event"><a href="__path__event/index.html">キャンペーン情報</a></li>',
		'<li id="organization"><a href="__path__committee/index.html">推進団体</a></li>',
		
		'</ul>',
		'<ul id="fontsizeSwitcher" class="clearfix">',
		'<li id="font1"><a href="javascript:BC.FontSize.change(0);"></a></li>',
		'<li id="font2"><a href="javascript:BC.FontSize.change(1);"></a></li>',
		'<li id="font3"><a href="javascript:BC.FontSize.change(2);"></a></li>',
		'</ul>',
		'</div>'
	],
	footer:[
		'<div id="foot">',
		'<div id="footer" class="txt10_15">',
		'<ul class="clearfix">',
		'<li><a href="__path__committee/index.html">推進団体</a></li>',		
		'<li><a href="__path__sitemap.html">サイトマップ</a></li>',
		'<li><a href="__path__link.html">リンクリスト</a></li>',
		'<li><a href="__path__policy.html">サイトポリシー</a></li>',
		'<li><a href="__path__contact.html">お問い合せ</a></li>',
		'</ul>',
		'<address>Copyright BRAVE CIRCLE Committee All Rights Reserved.</address>',
		'</div>',
		'</div>'
	],
	nav_event:[
		'<div id="contentMenu">',
		'<h3><img src="__path__event/image/event_img.gif" width="184" height="40" border="0" alt="キャンペーン情報" /></h3>',
		'<ul class="txt12_17">',
		'<li id="lnav09"><a href="__path__event/index.html">活動紹介 2009年度</a>',
		'<ul>',
		'<li id="lnav09_01"><a href="__path__event/index.html">展示、フォーラム、ライブ</a></li>',
		'<li id="lnav09_02"><a href="__path__event/walk.html">Tokyo 健康ウオーク</a></li>',
		'</ul>',
		'</li>',
		'<li id="lnav08"><a href="__path__event/2008/index.html">活動紹介 2008年度</a>',
		'<ul>',
		'<li id="lnav08_01"><a href="__path__event/2008/index.html">フォーラム・パネル展</a></li>',
		'<li id="lnav08_02"><a href="__path__event/2008/talk.html">トークイベント</a></li>',
		'<li id="lnav08_03"><a href="__path__event/2008/media.html">メディアイベント</a></li>',
		'<li id="lnav08_04"><a href="__path__event/2008/board.html">啓発ボード</a></li>',
		'<li id="lnav08_05"><a href="__path__event/2008/walk.html">BRAVE CIRCLE・ウォーク</a></li>',
		'<li id="lnav08_06"><a href="__path__event/2008/ad.html">広告展開</a></li>',
		'<!--<li id="lnav08_07"><a href="__path__event/2008/live.html">BRAVE CIRCLE LIVE 2008</a></li>',
		'<li id="lnav08_08"><a href="__path__event/2008/course.html">東京病院公開講座</a></li> -->',
		'</ul>',
		'</li>',
		'<li id="lnav07"><a href="__path__event/2007/index.html">活動紹介 2007年度</a>',
		'<ul>',
		'<li id="lnav07_01"><a href="__path__event/2007/index.html">公開シンポジウム</a></li>',
		'<li id="lnav07_02"><a href="__path__event/2007/live.html">BRAVE CIRCLE LIVE 2008</a></li>',
		'<li id="lnav07_03"><a href="__path__event/2007/ad.html">広告展開</a></li>',
		'</ul>',
		'</li>',
		'<li id="lnav06"><a href="__path__event/2006/index.html">活動紹介 2006年度</a>',
		'<ul>',
		'<li id="lnav06_01"><a href="__path__event/2006/index.html">発表会見</a></li>',
		'<li id="lnav06_02"><a href="__path__event/2006/index2.html">公開シンポジウム</a></li>',
		'</ul>',
		'</li>',
		'</ul>',
		'</div>'
	],
	include: function(part,hierarchy){
		if(part!='footer') BC.FontSize.init();
		var path = ''
		for(var i=0;i<hierarchy;i++){path+='../';}
		var t = this[part].join("\n");
		t = t.replace(/__path__/g, path);
		document.write(t);
	}
};

/**
 * FontSize Switcher
 */
BC.FontSize = {
	config: {
		className: ['S','M','L'],
		cookieName: 'BraveCircleFontSizeSwitcher',
		cookieExpires: 90
	},
	change: function(arg){
		var b = document.body;
		var c = "font"+this.config.className[arg];
		if(hasClass(b, c)) return;
		if(hasClass(b, "fontS")) removeClass(b, "fontS");
		if(hasClass(b, "fontM")) removeClass(b, "fontM");
		if(hasClass(b, "fontL")) removeClass(b, "fontL");
		addClass(b, c);
		setCookie(this.config.cookieName,arg,this.config.cookieExpires,'/');
	},
	init :function(){
		var s = (getCookie(this.config.cookieName)==null) ? '1' : getCookie(this.config.cookieName);
		this.change(s);
	}
};

/**
 * Class Attribute Handler
 * http://snipplr.com/view/3561/addclass-removeclass-hasclass/
 */
function hasClass(ele,cls) {
	return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
}
function addClass(ele,cls) {
	if (!hasClass(ele,cls)) ele.className += " "+cls;
}
function removeClass(ele,cls) {
	if (!hasClass(ele,cls)) return;
	var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
	ele.className=ele.className.replace(reg,' ');
}

/**
 * Cookie Functions (Public Domain)
 * http://www.dustindiaz.com/top-ten-javascript/
 */
function getCookie(name){
	var start = document.cookie.indexOf(name + "=");
	var len = start + name.length + 1;
	if((!start) && (name != document.cookie.substring(0, name.length))) return null;
	if(start == -1) return null;
	var end = document.cookie.indexOf(';', len);
	if(end == -1) end = document.cookie.length;
	return unescape(document.cookie.substring(len, end));
}
function setCookie(name, value, expires, path, domain, secure){
	var today = new Date();
	today.setTime(today.getTime());
	if(expires) expires = expires * 1000 * 60 * 60 * 24;
	var expires_date = new Date(today.getTime() + (expires));
	document.cookie = name+'='+escape(value) +
		((expires) ? ';expires='+expires_date.toGMTString() : '') + //expires.toGMTString()
		((path) ? ';path=' + path : '') +
		((domain) ? ';domain=' + domain : '') +
		((secure) ? ';secure' : '');
}
function deleteCookie(name, path, domain){
	if(getCookie(name)) document.cookie = name + '=' +
		((path) ? ';path=' + path : '') +
		((domain) ? ';domain=' + domain : '') +
		';expires=Thu, 01-Jan-1970 00:00:01 GMT';
}

/**
 * MM RollOver functions
 */
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

/**
 * PopUp Functions
 */
var _window = {
	minLeft: 0,
	minTop: 0,
	maxLeft: screen.availWidth - 10,
	maxTop: screen.availHeight - 10,
	object: []
};
var _OS = getOS();
var _browser = getBrowser();
function popup( loc, name, left, top, width, height, modes ) {
	var size = adjustPopupSize( width, height, modes, 0 );
	openWindow( loc, name, left, top, size.width, size.height, modes, 0 );
}
function popupCenter( loc, name, width, height, modes ) {
	var minL = _window.minLeft;
	var minT = _window.minTop;
	var maxL = _window.maxLeft;
	var maxT = _window.maxTop;
	var size = adjustPopupSize( width, height, modes, 0 );
	var left = Math.floor( ( screen.availWidth - size.width ) / 2 );
	var top = Math.floor( ( screen.availHeight - size.height ) / 2 );
	if ( left < minL ) left = minL;
	if ( top < minT ) top = minT;
	if ( left > maxL ) left = maxL;
	if ( top > maxT ) top = maxT;
	var win = openWindow( loc, name, left, top, size.width, size.height, modes, 0 );
	win.moveTo( left, top );
}
function popupFullscreen() {
	var bn = _browser.name;
	var bv = _browser.version;
	var args = arguments;
	if ( !args.length ) return false; // in place of undefined for IE
	var loc = args[ 0 ];
	var name = args[ 1 ];
	var modes = args[ 2 ];
	var term = args[ 3 ];
	var size = adjustPopupSize( screen.availWidth, screen.availHeight, modes, 1 );
	var win = openWindow( loc, name, 0, 0, size.width, size.height, modes, term );
	if ( _OS == 'Mac' && bn == 'Firefox' ) win.moveTo( 0, 0 );
	if ( !term && _OS == 'Win' && bn == 'IE' && bv < 6 || _OS == 'Mac' && bn == 'IE' || bn == 'Netscape' || bn == 'Opera' && bv < 8 ) win.resizeTo( size.width, size.height );
}
function adjustPopupSize( width, height, modes, fullscreen ) {
	var bn = _browser.name;
	var bv = _browser.version;
	var scrollbars = modes[ 0 ];
	var resizable = modes[ 1 ];
	var status = modes[ 2 ];
	var menubar = modes[ 3 ];
	var toolbar = modes[ 4 ];
	var addressbar = modes[ 5 ];
	var directories = modes[ 6 ];
	if ( fullscreen ) {
		if ( _OS == 'Mac' && bn == 'Netscape' ) if ( resizable || status ) height -= 18; // Mac Netscape
		if ( bn == 'Safari' ) { // Safari
			var flg = false;
			for ( var i = 0; i < modes.length; i++ ) {if ( modes[ i ] ) {flg = true;break;}}
			if ( !flg ) height -= 22;
		}
	} else {
		if ( scrollbars ) {
			if ( _OS == 'Win' && bn == 'IE' && bv <= 5 ) width += 18; // Win IE 5.0-
			else if ( _OS == 'Win' && bn == 'IE' && bv == 5.5 ) width += 16; // Win IE 5.5
			else if ( _OS == 'Win' && bn == 'IE' && bv == 6 ) width += 17; // Win IE 6.0
			else if ( _OS == 'Win' && bn == 'IE' && bv >= 7 ) width += 16; // Win IE 7.0+
			else if ( _OS == 'Win' && bn == 'Firefox' ) width += 19; // Win Firefox 1.0+
			else if ( _OS == 'Win' && bn == 'Opera' ) width += 17; // Win Opera 6.x+
			else if ( _OS == 'Win' && bn == 'Mozilla' ) width += 19; // Win Mozilla 1.7.5+
			else if ( _OS == 'Win' && document.layers ) width += 16; // Win Netscape 4.x-
			else if ( _OS == 'Mac' && bn == 'IE' ) { width -= 1; height -= 16; } // Mac IE
			else if ( _OS == 'Mac' && bn == 'Firefox' ) width += 15; // Mac Firefox 1.0+
			else if ( _OS == 'Mac' && bn == 'Opera' ) width += 15; // Mac Opera 6.x+
			else if ( _OS == 'Mac' && bn == 'Mozilla' ) width +=16; // Mozilla
			else if ( _OS == 'Mac' && document.layers ) if ( !status ) width += 15; else height -= 15; // Mac Netscape 4.x-
			else if ( bn == 'Netscape' && bv < 7 ) width += 14; // Netscape 6.x
			else if ( bn == 'Netscape' && bv >= 7 ) width += 15; // Netscape 7.x
			else if ( bn == 'Safari' ) width +=15; // Safari
			else if ( bn == 'Camino' ) width +=15; // Camino
		}
		if ( menubar ) {
			if ( _OS == 'Win' && bn == 'IE' ) height -= 19; // Win IE
			else if ( _OS == 'Win' && document.layers && width < 376 ) height += 18; // Win Netscape 4.x-
		}
		if ( bn == 'Safari' ) { // Safari
			height += 1;
			if ( status ) height += 16;
			if ( addressbar ) height += 51;
		}
	}
	var val = [ width, height ];
	val[ 'width' ] = val[ 'w' ] = width;
	val[ 'height' ] = val[ 'h' ] = height;
	return val;
}
function openWindow( loc, name, left, top, width, height, modes, fullscreen ) {
	var scrollbars = ( modes[ 0 ] ) ? 'yes' : 'no';
	var resizable = ( modes[ 1 ] ) ? 'yes' : 'no';
	var status = ( modes[ 2 ] ) ? 'yes' : 'no';
	var menubar = ( modes[ 3 ] ) ? 'yes' : 'no';
	var toolbar = ( modes[ 4 ] ) ? 'yes' : 'no';
	var addressbar = ( modes[ 5 ] ) ? 'yes' : 'no';
	var directories = ( modes[ 6 ] ) ? 'yes' : 'no';
	var props = 'menubar=' + menubar + ',toolbar=' + toolbar + ',location=' + addressbar + ',directories=' + directories +
		',status=' + status + ',scrollbars=' + scrollbars + ',resizable=' + resizable;
	if ( fullscreen && _OS == 'Win' && _browser.name == 'IE' ) props += ',fullscreen=yes';
	else props += ',left=' + left + ',top=' + top + ',width=' + width + ',height=' + height;
	_window.object[ name ] = window.open( loc, name, props );
	_window.object[ name ].focus();
	return _window.object[ name ];
}
function moveToCenter() {
	var minL = _window.minLeft;
	var minT = _window.minTop;
	var maxL = _window.maxLeft;
	var maxT = _window.maxTop;
	var args = arguments;
	var win = getWindowSize();
	var w = ( args[ 0 ] ) ? args[ 0 ] : win.width;
	var h = ( args[ 1 ] ) ? args[ 1 ] : win.height;
	var left = Math.floor( ( screen.availWidth - w ) / 2 );
	var top = Math.floor( ( screen.availHeight - h ) / 2 );
	if ( left < minL ) left = minL;
	if ( top < minT ) top = minT;
	if ( left > maxL ) left = maxL;
	if ( top > maxT ) top = maxT;
	window.moveTo( left, top );
}
function resizeAndMoveToCenter( width, height ) {
	window.resizeTo( width, height );
	moveToCenter( width, height );
}
function resizeToFullscreen() {
	window.moveTo( 0, 0 );
	window.resizeTo( screen.availWidth, screen.availHeight );
}
function getOS() {
	var av = navigator.appVersion;
	return ( av.match( 'Win' ) ) ? 'Win' : ( av.match( 'Mac' ) ) ? 'Mac' : 'unknown';
}
function getBrowser() {
	var args = arguments;
	var name = 'unknown';
	var ver = 'unknown';
	var ua = navigator.userAgent;
	var ap = 1;
	if ( ua.match( /Opera\// ) ) { name = 'Opera'; ua = ua.split( '/' ); } // Opera 6.x+
	else if ( ua.match( /Opera / ) ) { name = 'Opera'; ua = ua.split( 'Opera ' ); } // Opera 6.x+
	else if ( ua.match( /MSIE/ ) ) { name = 'IE'; ua = ua.split( 'MSIE ' ); } // IE
	else if ( ua.match( /Firebird|Firefox/ ) ) { name = 'Firefox'; ua = ua.split( '/' ); ap = 3; } // Firefox
	else if ( ua.match( /Safari/ ) ) { name = 'Safari'; ua = ua.split( '/' ); ap = 3; } // Safari
	else if ( ua.match( /Netscape/ ) ) { name = 'Netscape'; ua = ua.split( '/' ); ap = 3; } // Netscape 6.x+
	else if ( ua.match( /^Mozilla\/[0-9\.]+ \[/ ) ) { name = 'Netscape'; ua = ua.split( '/' ); } // Netscape 4.x-
	else if ( ua.match( /Gecko\/[0-9]{8}$/ ) ) { name = 'Mozilla'; ua = ua.split( 'rv:' ); } // Mozilla
	else if ( ua.match( /Camino/ ) ) { name = 'Camino'; ua = ua.split( '/' ); ap = 3; } // Camino
	if ( name != 'unknown' ) {
		if ( !ua[ ap ].match( /\./ ) ) {
			ver = ua[ ap ];
		} else {
			var temp = ua[ ap ].split( '.' );
			ver = temp[ 0 ] + '.' + temp[ 1 ].substr( 0, 1 );
		}
	}
	var val = [ name, ver ];
	val[ 'name' ] = name;
	val[ 'version' ] = ver;
	return ( args[ 0 ] == 'name' ) ? name : ( args[ 0 ] == 'ver' ) ? ver : val;
}
function getWindowSize() {
	var args = arguments;
	var w = ( window.innerWidth ) ? window.innerWidth :
		( document.documentElement.clientWidth ) ? document.documentElement.clientWidth :
		( document.body.clientWidth ) ? document.body.clientWidth :
		0;
	var h = ( window.innerHeight ) ? window.innerHeight :
		( document.documentElement.clientHeight ) ? document.documentElement.clientHeight :
		( document.body.clientHeight ) ? document.body.clientHeight :
		0;
	var val = [ w, h ];
	val[ 'width' ] = val[ 'w' ] = w;
	val[ 'height' ] = val[ 'h' ] = h;
	return ( args[ 0 ] == 'w' ) ? w : ( args[ 0 ] == 'h' ) ? h : val;
}
function changeOpenerLocation() {
	var args = arguments;
	var loc = args[ 0 ];
	var name = ( args[ 1 ] ) ? args[ 1 ] : 'opener';

	if ( window.opener && !window.opener.closed ) {
		window.opener.focus();
		window.opener.location.href = loc;
	} else {
		var win = window.open( loc, name );
		win.focus();
	}
}
