if (typeof(jQuery) != 'undefined') {
	$(function() {
		
		$('div.GrayCorner').wrap('<div class="GrayCornerWrap"></div>');
		$('div.GrayCorner').corner('round 5px').parent().corner('round 5px');
		$('div.GrayCornerL').wrap('<div class="GrayCornerLwrap"></div>');
		$('div.GrayCornerL').corner('round 5px').parent().corner('round 5px');
		$('div.GrayCornerR').wrap('<div class="GrayCornerRwrap ClrFix"></div>');
		$('div.GrayCornerR').corner('round 5px').parent().corner('round 5px');
		
		// TOPページのみの処理。
		// このメソッドを lib/index.js に分けると、
		// jQueryが読み込まれる前に実行しようとして
		// $ が未定義というエラーになるようなので、
		// 仕方なくここに記述。
		$('div.SubContents').corner('round 5px').parent().css('margin-top', '5px');
	});
}

/**
 * マウスオーバーメニュー。
 *
 * @access	public
 * @param	string		オブジェクトID。
 * @return	void
 */
function moMenu(id)
{
	var target;
	var i;
	
	if (typeof(id) != 'number') {
		for (i = 1; i <= 10; i++) {
			target	= document.getElementById('moMenu' + i);
			if (target) {
				target.style.display	= 'none';
			} else {
				break;
			}
		}
	} else {
		// 全部非表示にする。
		target	= document.getElementById('moMenu' + id);
		if (target) {
			target.style.display	= 'block';
		}
	}
}


/**
 * フォームを画像で送信したりするメソッド。
 *
 * @access	public
 * @param	string		フォーム名。
 * @return	void
 */
function formSubmit(formName)
{
	document.forms[formName].submit();
}


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];}

}

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_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];}}

}




var Adr2Gmap = {
	
	// 色コードは「#」を除いた6桁の英数字を指定して下さい。
	
	/**
	 * URLをクリックして地図を表示する場合の設定
	 *
	 * クラス属性に「ClickAddrMap」を指定する
	 */
	layerMapWidth		: 300,			// 地図の表示幅
	layerMapHeight		: 300,			// 地図の表示高さ
	layerTextColor		: '000000',		// 住所表示の文字色
	layerBgColor		: 'ffffcc',		// 住所表示の背景色
	layerLineColor		: 'ffcc33',		// 地図の枠線色
	
	
	/**
	 * 地図を自動表示する場合の設定
	 *
	 * クラス属性に「AddrMap」を指定する
	 */
	autoLoadMapWidth	: 200,			// 地図の表示幅
	autoLoadMapHeight	: 300,			// 地図の表示高さ
	/*
	自動ロードの場合は住所を表示しません
	autoLoadTextColor	: '000000',		// 住所表示の文字色
	autoLoadBgColor		: 'ffffff',		// 住所表示の背景色
	*/
	autoLoadLineColor	: '666666',		// 地図の枠線色
	
	
	apiUrl	: 'http://www.monthly-info.com/gmap/ajax/',
	
	
	// これより下は変更しないで下さい
	
	c_id	: '_Adr2Gmap_container',
	i_id	: '_G2D_gmap',
	t_id	: '_Adr2Gmap_tools',
	t_j_id	: '_Adr2Gmap_tools_jump',
	
	observe : function(elementname, name, observer, useCapture)
	{
		
		if (window.addEventListener) {
			
			return function(elementname, name, observer, useCapture) {
				if (typeof elementname == 'string') {
					element	=  document.getElementById(elementname)
							|| document.getElementsByTagName(elementname)[0];
				} else {
					element	=  elementname;
				}
				element.addEventListener(name, observer, useCapture);
			}
			
		} else if(window.attachEvent) {
			
			return function(elementname, name, observer, useCapture) {
				if (typeof elementname == 'string') {
					element	=  document.getElementById(elementname)
							|| document.getElementsByTagName(elementname)[0];
				} else {
					element=elementname;
				}
				element.attachEvent('on' + name, observer);
			}
			
		}
		
	}(),
	
	_getPageSize : function()
	{
		var de	= document.documentElement;
		var w	= self.innerWidth	|| (de&&de.clientWidth)		|| document.body.clientWidth;
		var h	= self.innerHeight	|| (de&&de.clientHeight)	|| document.body.clientHeight;
		if (window.innerHeight && window.scrollMaxY) {	
			var y = window.innerHeight + window.scrollMaxY;
		} else if (document.body.scrollHeight > document.body.offsetHeight) { 
			var y = document.body.scrollHeight;
		} else { 
			var y = document.body.offsetHeight;
		}
		if (self.pageYOffset) {
			var t = self.pageYOffset;
		} else if (document.documentElement && document.documentElement.scrollTop) {	
			var t = document.documentElement.scrollTop;
		} else if (document.body) {
			var t = document.body.scrollTop;
		}
		return ({"w":w, "h":h, "y":y, "t":t});
	},
	
	_append : function(parentTag, tag, args, html)
	{
		var child	= document.createElement(tag);
		for (element in args) {
			if (args.hasOwnProperty(element)) {
				child.setAttribute(element, args[element]);
			}
		}
		if (html!='') child.innerHTML = html;
		var parent	=  document.getElementsByTagName(parentTag)[0]
					|| document.getElementById(parentTag);
		parent.appendChild(child);
	},
	
	_setStyle : function(element, style)
	{
		element = document.getElementById(element);
			for (var name in style) {
				var value = style[name];
				element.style[
					name.replace(/-([a-z])/g,
					function($0,$1){ return $1.toUpperCase })
				] = value;
			}
		return element;
	},
	
	generateApiUrl	: function (address, autoLoad)
	{
		var width, height, bgColor, textColor;
		if (autoLoad) {
			width		= Adr2Gmap.autoLoadMapWidth;
			height		= Adr2Gmap.autoLoadMapHeight;
			bgColor		= Adr2Gmap.autoLoadBgColor;
			textColor	= Adr2Gmap.autoLoadTextColor;
			textDisp	= 0;
		} else {
			width		= Adr2Gmap.layerMapWidth;
			height		= Adr2Gmap.layerMapHeight;
			bgColor		= Adr2Gmap.layerBgColor;
			textColor	= Adr2Gmap.layerTextColor;
			textDisp	= 1;
		}
		var ret	= Adr2Gmap.apiUrl + '?q=' + encodeURI(address) + '&w='
				+ width + '&h=' + height + '&bc=' + bgColor + '&tc=' + textColor
				+ '&td=' + textDisp + '&r=' + encodeURI(location.href);
		return ret;
	},
	
	show : function(address, e)
	{
		if (document.getElementById(Adr2Gmap.c_id)) {
			if(e != null) {
				var x	= Adr2Gmap.initX(e);
				var y	= (Adr2Gmap.initY(e) > 155) ? (Adr2Gmap.initY(e) - 155) : 0;
			} else {
				var size= Adr2Gmap._getPageSize();
				var x	= (size.w - Adr2Gmap.layerMapWidth) / 2;
				var y	= size.t + (size.h - Adr2Gmap.layerMapHeight) / 2;
			}
			Adr2Gmap._setStyle(Adr2Gmap.c_id,{
				'display'	: 'block',
				'top'		: y + 'px',
				'left'		: x + 'px'
			})
			document.getElementById(Adr2Gmap.t_j_id).href
					= 'http://maps.google.com/maps?q=' + address;
			document.getElementById(Adr2Gmap.i_id).src
					= this.generateApiUrl(address);
		} else {
			Adr2Gmap.make(address, e);
		}
	},
	
	make : function(address, e)
	{
		var html
			= '<a name="Adr2Gmap">'
			+ '<div id="' + this.t_id + '">'
			+ 'グーグルで<a id="' + this.t_j_id + '" href="http://maps.google.com/maps?q='
			+ address + '" target="_blank">拡大表示</a>する'
			+ '<div style="position:absolute;top:0px;left:' + (Adr2Gmap.layerMapWidth - 16) + 'px;">'
			+ '<img src="http://www.town-search.jp/managed.dispatch/gmap/ajax/close.gif"'
			+ ' id="_Adr2Gmap_close" '
			+ 'style="cursor:pointer" align="absmiddle"></div></div>'
			+ '<iframe id="' + this.i_id + '" name="' + this.i_id
			+ '" src="' + this.generateApiUrl(address) + '"'
			+ 'width="' + Adr2Gmap.layerMapWidth + '" height="' + Adr2Gmap.layerMapHeight
			+ '" scrolling="no" frameborder="0" '
			+ 'hspace="0" vspace="0" marginheight="0" marginwidth="0"'
			+ '></iframe>';
		
		Adr2Gmap._append('body', 'div', {'id':this.c_id}, html);
		
		if(e != null) {
			var x	= Adr2Gmap.getX(e);
			var y	= (Adr2Gmap.getY(e) > 155) ? (Adr2Gmap.getY(e) - 155) : 0;
		} else {
			var size= Adr2Gmap._getPageSize();
			var x	= (size.w - Adr2Gmap.layerMapWidth) / 2;
			var y	= size.t + (size.h - Adr2Gmap.layerMapHeight) / 2;
		}
		
		Adr2Gmap._setStyle(Adr2Gmap.c_id,{
			'width'				: Adr2Gmap.layerMapWidth + 'px',
			'height'			: Adr2Gmap.layerMapHeight + 'px',
			'position'			: 'absolute',
			'top'				: y + 'px',
			'left'				: x + 'px',
			'border'			: 'solid 1px #' + Adr2Gmap.layerLineColor,
			'backgroundColor'	: '#' + Adr2Gmap.layerBgColor,
			'zIndex'			: '250',
			'cursor'			: 'move'
		});
		
		Adr2Gmap._setStyle(Adr2Gmap.t_id,{
			'width'				: Adr2Gmap.layerMapWidth + 'px',
			'height'			: '20px',
			'position'			: 'relative',
			'fontSize'			: '13px',
			'textDecoration'	: 'none',
			'color'				: '#' + Adr2Gmap.layerTextColor
		});
		
		Adr2Gmap.observe(this.c_id, 'mousedown', Adr2Gmap.down, false);
		Adr2Gmap.observe(this.c_id, 'mouseup', Adr2Gmap.up, false);
		Adr2Gmap.observe(this.c_id, 'mouseout', Adr2Gmap.up, false);
		Adr2Gmap.observe(this.c_id, 'mousemove', Adr2Gmap.move, false);
		Adr2Gmap.observe('_Adr2Gmap_close', 'click', Adr2Gmap.hide, false);
		
		this.clicked	= false;
	},
	
	hide : function()
	{
		Adr2Gmap._setStyle(Adr2Gmap.c_id, {'display':'none'});
	},
	
	moveto : function(address)
	{
		window[Adr2Gmap.i_id].showAddress(address);
	},
	
	down : function(e)
	{
		Adr2Gmap.clicked	= true;
		Adr2Gmap.offsetX	= parseInt(document.getElementById(Adr2Gmap.c_id).style.left)
							- Adr2Gmap.getX(e);
		Adr2Gmap.offsetY	= parseInt(document.getElementById(Adr2Gmap.c_id).style.top)
							- Adr2Gmap.getY(e);
	},
	
	up : function(e)
	{
		Adr2Gmap.clicked	= false;
	},
	
	move : function(e)
	{
		if (Adr2Gmap.clicked) {
			var x	= Adr2Gmap.getX(e)+Adr2Gmap.offsetX;
			var y	= Adr2Gmap.getY(e)+Adr2Gmap.offsetY;
			Adr2Gmap._setStyle(Adr2Gmap.c_id, {'left':x+'px','top':y+'px'});
		}
	},
	
	getX : function(e)
	{
		if (window.opera) {
			return function(e) { return e.clientX }
		} else if (document.all) {
			return function(e) { return document.body.scrollLeft + event.clientX }
		} else if (document.layers || document.getElementById) {
			return function(e) { return e.pageX }
		}
	}(),
	
	getY : function(e)
	{
		if (window.opera) {
			return function(e) { return e.clientY }
		} else if (document.all) {
			return function(e) { return document.body.scrollTop + event.clientY }
		} else if (document.layers || document.getElementById) {
			return function(e) { return e.pageY }
		}
	}(),
	
	initX : function(e)
	{
		if (window.opera) {
			return function(e) { return window.event.clientX }
		} else if (document.all) {
			return function(e) {
				return window.event.clientX
					+ (document.body.scrollLeft || document.documentElement.scrollLeft)
					- window.document.body.clientLeft
			}
		} else if (document.layers || document.getElementById) {
			return function(e) { return e.clientX  + window.pageXOffset }
		}
	}(),
	
	initY : function(e)
	{
		if (window.opera) {
			return function(e) { return window.event.clientY }
		} else if (document.all) {
			return function(e) {
				return window.event.clientY
						+ (document.body.scrollTop || document.documentElement.scrollTop)
						- window.document.body.clientTop
			}
		} else if (document.layers||document.getElementById) {
			return function(e) { return e.clientY + window.pageYOffset }
		}
	}()

}
/*
Adr2Gmap.observe(window, 'load', function() {
	var tags	= document.getElementsByTagName('*');
	var element;
	var tag;
	var address;
	var html;
	var debug='';
	for (element = 0; element < tags.length; element++) {
		try{
			if (tags[element].className	== 'ClickAddrMap') {
				address	=  tags[element].textContent || tags[element].innerText
						|| tags[element].innerHTML;
				html	= '<a href="javascript:void(0);" onclick="Adr2Gmap.show(\''
						+ encodeURI(address)+'\',arguments[0]);return false;">'
						+ tags[element].innerHTML + ' (地図を開く)</a>';
				tags[element].innerHTML	= html;
			} else if (tags[element].className	== 'AddrMap') {
				address	=  tags[element].textContent || tags[element].innerText
						|| tags[element].innerHTML;
				html	= '<iframe  src="' + Adr2Gmap.generateApiUrl(address, true)
						+ '" style="border:1px solid #' + Adr2Gmap.autoLoadLineColor + ';" '
						+ 'width="' + Adr2Gmap.autoLoadMapWidth
						+ '" height="' + Adr2Gmap.autoLoadMapHeight + '" scrolling="no"'
						+ ' frameborder="0" hspace="0" vspace="0" marginheight="0" marginwidth="0"'
						+ '></iframe>';
				tags[element].innerHTML	= html;
			}
		}catch(e) {
			// throw ('cannot read className')
		}
	}
});
*/






function MM_openBrWindow(theURL,winName,features) { //v2.0

  window.open(theURL,winName,features);

}


