/*
2008-01-31
*/


//var isMacIE = ( navigator.userAgent.match(/Mac/) && Prototype.Browser.IE )? true : false;



/*
  初期設定
----------------------------------------------------*/

// PDFバナー表示用ブロックID
var PDF_BANNER_BLOCK_ID = "plugin-pdf";


//RSSについて表示用ブロックID
var ABOUT_RSS_BLOCK_ID = "about-rss";


// IEでinput,textareaのフォーカス、ブラー時の背景色、class属性値設定
var FORM_ELEMENT_BGCOLOR_CNAME = "input-focus";
var FORM_ELEMENT_BGCOLOR = 
{
	"focus" : "#fde2d2",
	"blur"  : "#ffffff"
};


// 右ナビのバナー用ブロックの表示/非表示後に調整が必要なブロック
var REVISE_POSITION_SELECTORS = 
[
	"#contents .site-utility",
	"#footer"
];

// アコーディオンのマウスカーソルチラつき対策
try {
  document.execCommand("BackgroundImageCache", false, true);
} catch(err) {}


/*
  DOM onload後に実行する処理
----------------------------------------------------*/

document.observe("dom:loaded", function() {


	// 通常画像のロールオーバー
	new RolloverImage( 'rollover', 'on' );


	// PDFバナー、RSSについての表示制御
	if( $(PDF_BANNER_BLOCK_ID) && $(ABOUT_RSS_BLOCK_ID) ){
		var flg_pdf = flg_rss = false;

		// RSS Auto-Discovery
		var linkElm = document.getElementsByTagName("LINK");
		$A(linkElm).each(function(el){
			if( el.getAttribute("rel") && el.getAttribute("type") ){
				if( el.getAttribute("rel").match(/alternate/i) && el.getAttribute("type").match(/application\/(rss|rdf)\+xml/i) ){
					flg_rss = true;
				}
			}
			else if( el.getAttribute("href") && el.getAttribute("href").match(/(\.rss|\.xml|\.rdf|\.atom)$/i) ){
				flg_rss = true;
			}
			if( flg_rss ){
				$(ABOUT_RSS_BLOCK_ID).style.display = "block";
				throw $break;
			}
		});

		// 全ブロックを検索対象に
		var aElm    = document.getElementsByTagName("A");
		$A(aElm).each(function(el){
			if( el.getAttribute("href") ){
				if( !flg_pdf && el.getAttribute("href").match(/(\.pdf$|\.pdf#.*)/i)){
					$(PDF_BANNER_BLOCK_ID).style.display = "block";
					flg_pdf = true;
				}
				if( !flg_rss && el.getAttribute("href").match(/(\.rss|\.xml|\.rdf|\.atom)$/i) ){
					$(ABOUT_RSS_BLOCK_ID).style.display = "block";
					flg_rss = true;
				}
			}
			if( flg_pdf && flg_rss) throw $break;
		});

	}


	// 一旦非表示にしていた要素を再表示
	REVISE_POSITION_SELECTORS.each(function(selector){
		$A($$(selector)).each( function(el){
			el.style.display = "block";
		} );
	});


	// IEのinput,textarea,select要素に対して、onfocus,blur時の背景色を設定
	if( Prototype.Browser.IE ){
		$A(document.getElementsByClassName(FORM_ELEMENT_BGCOLOR_CNAME)).each(function(el){
			if( el.tagName ){
				if( el.tagName.match(/(INPUT|TEXTAREA)/i) ){
					el.observe( "focus", function(){ el.style.backgroundColor = FORM_ELEMENT_BGCOLOR.focus; } );
					el.observe( "blur",  function(){ el.style.backgroundColor = FORM_ELEMENT_BGCOLOR.blur;  } );
				}
			}
		});
	}


});




/*
  対象の要素を非表示に設定
  指定した複数のセレクタにまとめてスタイルを適用。
  一つ目のCSSファイル中にルールを追記
----------------------------------------------------*/

(function( selectors ){

	if( selectors && selectors.constructor == Array ){
		var str = '';
		var rule = '{display: none;}';
		var sheet = document.styleSheets[0];
		if( !selectors.length || !sheet || !rule ) return;

		if( Prototype.Browser.WebKit ){
			selectors.each(function(selector){
				str += selector + rule;
			});
			document.write( '<style type="text/css">' + str + '</style>' );
		}
		else if( sheet.insertRule ){
			selectors.each(function(selector){
				sheet.insertRule( selector+rule, sheet.cssRules.length );
			});
		}
		else if( sheet.addRule ){
			selectors.each(function(selector){
				sheet.addRule(selector, rule);
			});
		}
	}

})( REVISE_POSITION_SELECTORS.concat([
	"#"+PDF_BANNER_BLOCK_ID,
	"#"+ABOUT_RSS_BLOCK_ID
]) );




/*
  汎用関数
----------------------------------------------------*/

// PopupWindowControl
function popupWin(url,w,h) {
	var popwin = window.open(url,'Popup','width=' + w + ',height=' + h + ', toolbar=no,location=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes');
	popwin.focus();
}


