/* ■■ common.js ■■ *//* common.jsは汎用関数をまとめたJavaScript集です。-----------------------------------------------------------------------------■目次	01.onLoad向け処理		01.IEのロールオーバーで起こる背景画像再読み込み問題対応	02.ページ向け全般		01.ページトップへするするスクロール(ReturnToTop)		02.画像ロールオーバー(RollOver)	03.ブックマーク関連		01.ブックマークに追加(IEFavAdd)		02.ブックマークに追加(IEFavLink)	04.CSS制御		01.汎用クラス名変更(ClassChange)	05.form制御		01.初期文字消去(ResetValue)		02.初期文字挿入(SetValue)		03.検索初期文字チェック(CheckDefault)----------------------------------------------------------------------------- */// ■■ 01.onLoad向け処理// ■□ 01-01.IEのロールオーバーで起こる背景画像再読み込み問題対応// CSSのa:hoverなどで背景画像の切り替えを行っている際にIEで起こる問題の対応策。// 効能は気休め程度。try {	document.execCommand('BackgroundImageCache', false, true);} catch(e) {}// ■■ 02.ページ向け全般// ■□ 02-01.ページトップへするするスクロール(ReturnToTop)// ページの先頭へなめらか動作でスクロールする関数。// 使用例）// <a href="#Header" onclick="ReturnToTop(); return false;">ページTOPへ</a>function ReturnToTop() {	var x1 = x2 = x3 = 0;	var y1 = y2 = y3 = 0;	if (document.documentElement) {		x1 = document.documentElement.scrollLeft || 0;		y1 = document.documentElement.scrollTop || 0;	}	if (document.body) {		x2 = document.body.scrollLeft || 0;		y2 = document.body.scrollTop || 0;	}	x3 = window.scrollX || 0;	y3 = window.scrollY || 0;	var x = Math.max(x1, Math.max(x2, x3));	var y = Math.max(y1, Math.max(y2, y3));	window.scrollTo(Math.floor(x / 1.25), Math.floor(y / 1.25));	if (x > 0 || y > 0) {		window.setTimeout("ReturnToTop()", 25);	}}// ■□ 02-02.画像ロールオーバー(RollOver)// Standards Compliant Rollover Script// Author : Daniel Nolan// http://www.bleedingego.co.uk/webdev.php//// 使用例）// imgタグに.rolloverを指定すると、ファイル名の末尾に// _oとついた画像に自動ロールオーバー。function RollOver() {	if (!document.getElementById) return		var aPreLoad = new Array();	var sTempSrc;	var aImages = document.getElementsByTagName('img');	for (var i = 0; i < aImages.length; i++) {		if (aImages[i].className == 'rollover') {			var src = aImages[i].getAttribute('src');			var ftype = src.substring(src.lastIndexOf('.'), src.length);			var hsrc = src.replace(ftype, '_o'+ftype);			aImages[i].setAttribute('hsrc', hsrc);						aPreLoad[i] = new Image();			aPreLoad[i].src = hsrc;						aImages[i].onmouseover = function() {				sTempSrc = this.getAttribute('src');				this.setAttribute('src', this.getAttribute('hsrc'));			}						aImages[i].onmouseout = function() {				if (!sTempSrc) sTempSrc = this.getAttribute('src').replace('_ro'+ftype, ftype);				this.setAttribute('src', sTempSrc);			}		}	}}// ■■ 03.ブックマーク関連// ■□ 03-01.ブックマークに追加(IEFavAdd)// 「お気に入りに追加」する関数。IEでのみ動作。function IEFavAdd(){	window.external.AddFavorite("http://www.mapion.co.jp", "Mapion [情報地図サイト マピオン]");}// ■□ 03-02.ブックマークに追加(IEFavLink)// ブラウザがIEだったとき、「お気に入りに追加」リンクを出力する関数。function IEFavLink() {	var os = navigator.userAgent.indexOf("Windows");	if((os > 0) && document.all && !window.opera){		document.write('<a href="#" onClick="LikePage(); return false;">お気に入りに追加</a>');	}}// ■■ 04.CSS制御// ■□ 04-01.汎用クラス名変更(ClassChange)// posで指定した箇所のclassを変更する。function ClassChange(pos,cName){	document.getElementById(pos).setAttribute("class",cName);	document.getElementById(pos).setAttribute("className",cName);}// ■■ 05.form制御// ■□ 05-01.初期文字消去(ResetValue)// デフォルトで入力していたvalueを消去する。// 使用例）// <input type="text" value="初期文字" onfocus="ResetValue(this,'初期文字')" />function ResetValue(pos,dflt){	if(pos.value == dflt){		pos.value = "";		pos.style.color = "#000000";	}}// ■□ 05-02.初期文字挿入(SetValue)// 空だった場合、デフォルトで入力していたvalueへ戻す。// 使用例）// <input type="text" value="初期文字" onblur="SetValue(this,'初期文字')" />function SetValue(pos,dflt){	if(pos.value == ''){		pos.value = dflt;		pos.style.color = "#666666";	}}// ■□ 05-03.検索初期文字チェック(CheckDefault)// form送信前に、デフォルトで入力していたvalueだった場合に動作キャンセルをする。// 使用例）// <form onsubmit="return CheckDefault('使用したいinputのid','初期文字');">function CheckDefault(pos,dflt){	if(document.getElementById(pos).value == dflt || document.getElementById(pos).value == ""){		document.getElementById(pos).select() ; return false;	}}
