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];}}
}

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];}
}

/* kevin add 2006-11-10 */
var gLocalSearch;
var map;
var baseIcon ;
var homepage;
function locationxyOnMap(result,centerPos){
	map.clearOverlays();
	if (result.length == 0) {
		//alert('見つかりませんでした');
		return;
	}
	var centerPosArr=centerPos.split(",");
	var centerLat = parseFloat(centerPosArr[0]);
	var centerLng = parseFloat(centerPosArr[1]);
	var centerPoint = new GLatLng(centerLat,centerLng);
	dragFlg=1;
	var zoom=map.getZoom();
	map.setCenter(centerPoint,zoom);
	var posBounds = map.getBounds();

	if(myaddress!=''){
		var myaddrArr = myaddress.split(',');
		var point = new GLatLng(myaddrArr[0],myaddrArr[1]);
		var icon = new GIcon(baseIcon);
		icon.image = homepage+"images/marker/marker_myp_0"+(parseInt(myaddrArr[2])+1)+".gif";
		icon.iconSize = new GSize(28, 30);
		icon.shadowSize = new GSize(28, 35);
		var marker = new GMarker(point, icon);
		map.addOverlay(marker);
	}

	for(var i=0;i<result.length;i++){
		if(result[i]=='') continue;
		var detailArr = result[i].split("@@");
		var first = detailArr[3];
		var locArr=first.split(",");
		var lat = parseFloat(locArr[0]);
		var lng = parseFloat(locArr[1]);
		var point = new GLatLng(lat,lng);
		if(i==0){
			while(!posBounds.contains(point)){
				dragFlg=1;
				map.zoomOut();
				zoom--;
				posBounds = map.getBounds();
				if(zoom >= 20 || zoom <= 0 ) break;
			}
		}
		//map.setCenter(point,15);
		var index = i + 1;
		map.addOverlay(createMarker(point, index,0,detailArr));
		//var center = map.getCenter();
		//document.getElementById("mapinfo").value = "("+point.lat()+","+point.lng()+")";
	}



}
function localSearch(searchValue) {
	if(searchValue==null)
	{
		var q =document.getElementById('search_map').value;
	}
	else
	{
		var q = searchValue;
	}
	map.clearOverlays();
	gLocalSearch.execute(q);
	return false;
}
function OnLocalSearch() {
	if (gLocalSearch.results.length == 0) {
		//alert('見つかりませんでした');
		return;
	}
	for(var i=0;i<gLocalSearch.results.length;i++){
		var first = gLocalSearch.results[i];
		var lat = parseFloat(first.lat);
		var lng = parseFloat(first.lng);
		var point = new GLatLng(lat,lng);
		if(i==0)
		map.setCenter(point);
		var index = i + 1;
		map.addOverlay(createMarker(point, index,1));
		//var center = map.getCenter();
		//document.getElementById("mapinfo").value = "("+point.lat()+","+point.lng()+")";
		//alert(document.getElementById("mapinfo").value);
	}
}
function createMarker(point, index,flag,detailArr,clickflg) {
	// Create a lettered icon for this point using our icon class
	var letter2 = "0"+index.toString();
	var letterStart=letter2.length-2;
	if(letterStart<0) letterStart=0;
	var letter =letter2.substr(letterStart,2);
	var icon = new GIcon(baseIcon);
	var iconImgName ='';
	if(flag != 1){
		var newFlg = detailArr[8];
		var smileflag = detailArr[11];
		if(smileflag=="1")
		{
			if(newFlg==1 && ((detailArr[4]!='' && detailArr[4]!=0) || (detailArr[5]!='' && detailArr[5]!=0))){
				iconImgName = "marker_"+"pnc_"+letter+".gif";
				icon.iconSize = new GSize(28, 35);
			}else if(newFlg==1){
				iconImgName = "marker_"+"nc_"+letter+".gif";
				icon.iconSize = new GSize(28, 35);
			}else if((detailArr[4]!='' && detailArr[4]!=0) || (detailArr[5]!='' && detailArr[5]!=0)){
				iconImgName = "marker_"+"pc_"+letter+".gif";
				icon.iconSize = new GSize(28, 30);
				icon.shadowSize = new GSize(28, 30);
			}else{
				iconImgName = "marker_"+"c_"+letter+".gif";
			}
		}
		else
		{
			if(newFlg==1 && ((detailArr[4]!='' && detailArr[4]!=0) || (detailArr[5]!='' && detailArr[5]!=0))){
				iconImgName = "marker_"+"pn_"+letter+".gif";
				icon.iconSize = new GSize(28, 35);
			}else if(newFlg==1){
				iconImgName = "marker_"+"n_"+letter+".gif";
				icon.iconSize = new GSize(28, 35);
			}else if((detailArr[4]!='' && detailArr[4]!=0) || (detailArr[5]!='' && detailArr[5]!=0)){
				iconImgName = "marker_"+"p_"+letter+".gif";
				icon.iconSize = new GSize(28, 30);
				icon.shadowSize = new GSize(28, 30);
			}else{
				iconImgName = "marker_"+letter+".gif";
			}
		}
	}else{
		iconImgName = "marker_"+letter+".gif";
	}
	icon.image = homepage+"images/marker/"+iconImgName;
	var marker = new GMarker(point, icon);
	if(flag==1) return marker;
	var point = parseFloat(detailArr[6]);
	var imgArr = detailArr[7].split("|");
	var id = detailArr[0];
	var directory=detailArr[9];
	var detailSubmitStr='';
	var title=detailArr[10];
	if(directory!=''){
		detailSubmitStr="detailSubmit('0','"+directory+"')";
	}else{
		detailSubmitStr="detailSubmit('1','"+id+"')";
	}
	if(clickflg==null)
	{
		GEvent.addListener(marker, "click", function() {
			var innerHTML='<table class="map_box">';
			innerHTML +='<tr>';
			innerHTML +='<td bgcolor="#FFFFFF"><span title='+title+'>'+index+'.'+'<a href="#"  onclick="javascript:'+detailSubmitStr+';">'+detailArr[1]+'</a>'+'</span>';
			innerHTML +='<table width="250" border="0" cellspacing="0" cellpadding="0">';
			innerHTML +='<tr>';
			innerHTML +='<td align="right"><table width="250" border="0" cellpadding="3" cellspacing="0" class="margin5">';
			innerHTML +='<tr>';
			innerHTML +='<td width="60" align="right">';
			//if(detailArr[4]!=0){
			innerHTML +='<span  class="red_bg">'+detailArr[4]+' pt</span>';
			//}
			innerHTML +='</td>';
			innerHTML +='<td width="43" align="right">';
			//if(detailArr[5]!=0){
			innerHTML +='<span  class="red_bg">'+detailArr[5]+' pt</span>';
			//}
			innerHTML +='</td>';
			innerHTML +='<td width="83" align="right">';
			if(point>0){
				for (var i=0;i<5;i++){
					if(point>=1){
						innerHTML +="<img src=\"images/point_star.gif\" alt=\"\" width=\"15\" height=\"16\" />";
						point-=2;
						if(point<=0) point=0;
					}else if (point<1 && point>0){
						innerHTML +="<img src=\"images/point_half.gif\" alt=\"\" width=\"15\" height=\"16\" />";
						point=0;
					}else if (point==0){
						innerHTML +="<img src=\"images/point_blank.gif\" alt=\"\" width=\"15\" height=\"16\" />";
					}
				}
			}else{
				innerHTML +="投票なし";
			}
			innerHTML +='</td>';
			point = parseFloat(detailArr[6]);
			//innerHTML +='<img src="images/point_star.gif" alt="" width="15" height="16" /><img src="images/point_star.gif" alt="" width="15" height="16" /><img src="images/point_star.gif" alt="" width="15" height="16" /><img src="images/point_half.gif" alt="" width="15" height="16" /><img src="images/point_blank.gif" alt="" width="15" height="16" /></td>';
			innerHTML +='<td width="40" align="right" id="boldpoint">';
			if(detailArr[6]==0){
				innerHTML +='-';
			}else{
				innerHTML +=detailArr[6];
			}
			innerHTML +='</td>';
			innerHTML +='</tr>';
			innerHTML +='</table>';
			innerHTML +='<table width="235" border="0" cellpadding="0" cellspacing="0" class="margin5">';
			innerHTML +='<tr>';
			innerHTML +='<td width="240" align="left">';
			if(detailArr[7]!=''){
				for(var j=0;j<imgArr.length;j++){
					var detailImgArr = imgArr[j].split("#");
					var image=detailImgArr[0];
					var imageAlt=detailImgArr[1];
					innerHTML +='<img src="images/'+image+'" alt="'+imageAlt+'" width="76" height="17" hspace="1" vspace="2" />';
				}
			}
			innerHTML +='</td>';
			innerHTML +='</tr>';
			innerHTML +='</table>';
			//alert(detailArr[11]+"***");
			if(detailArr[11]=="1")
			{
				innerHTML +="<img src=\"images/img_cinderella.gif\" border='0' width='58' height='15'> ";
			}
			innerHTML +="<a href=\"#\" onclick=\"javascript:voteSubmit('"+id+"');\" onmouseout=\"MM_swapImgRestore()\" onmouseover=\"MM_swapImage('de_voteimg_"+id+"','','images/btn_vote_over.gif',0)\"><img src=\"images/btn_vote.gif\" alt=\"投票\" name=\"de_voteimg_"+id+"\" width=\"51\" height=\"15\" border=\"0\" id=\"de_voteimg_"+id+"\" /></a> ";
			innerHTML +="<a href=\"#\" onclick=\"javascript:printSubmit('"+id+"');\" onmouseout=\"MM_swapImgRestore()\" onmouseover=\"MM_swapImage('de_printimg_"+id+"','','images/btn_print_over.gif',0)\"><img src=\"images/btn_print.gif\" alt=\"印刷\" name=\"de_printimg_"+id+"\" width=\"51\" height=\"15\" hspace=\"5\" border=\"0\" id=\"de_printimg_"+id+"\" /></a>";
			innerHTML +="<a href=\"#\"  onclick=\"javascript:"+detailSubmitStr+";\" onmouseout=\"MM_swapImgRestore()\" onmouseover=\"MM_swapImage('de_detail_"+id+"','','images/btn_detail_over.gif',0)\"><img src=\"images/btn_detail.gif\" alt=\"詳細\" name=\"de_detail_"+id+"\" width=\"51\" height=\"15\" border=\"0\" id=\"de_detail_"+id+"\" /></a></td>";
			innerHTML +='</tr>';
			innerHTML +='</table>';
			innerHTML +='</td>';
			innerHTML +='</tr>';
			innerHTML +='</table>';
			dragFlg=1;
			marker.openInfoWindowHtml(innerHTML);
		});
	}
	return marker;
}

var dragFlg=1;
function load() {
	if (GBrowserIsCompatible()) {
		if(!document.getElementById("map")) return;
		map = new GMap2(document.getElementById("map"));

		//map.addControl(new GSmallMapControl());
		if(!document.getElementById("mapshowflg"))
		{
			//map.addControl(new GMapTypeControl());
			map.addControl(new GScaleControl());
			map.addControl(new GLargeMapControl(),new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(5, 30)));

			map.setCenter(new GLatLng(35.659148,139.718849), 15);
			baseIcon = new GIcon();
			baseIcon.image = homepage+"/images/marker/marker_01.gif";
			baseIcon.shadow = homepage+"/images/marker/marker_shadow.gif";
			baseIcon.iconSize = new GSize(28, 30);
			baseIcon.shadowSize = new GSize(28, 35);
			baseIcon.iconAnchor = new GPoint(5,30);
			baseIcon.infoWindowAnchor = new GPoint(5, 1);
		}
		var pageName = document.getElementById('pageName');
		if(pageName && pageName.value=='index'){


			/*GEvent.addListener(map, "dragend", function() {
			var dragCenter =  map.getCenter();
			var dragCenterLat = dragCenter.lat();
			var dragCenterLng = dragCenter.lng();
			document.getElementById('addrCond').value=dragCenterLat+','+dragCenterLng;
			dragFlg=1;
			cond_search();
			}
			)*/
			GEvent.addListener(map, "zoomend", function(oldLevel, newLevel) {
				dragFlg=1;
			}
			)
			GEvent.addListener(map, "moveend", function() {
				if(dragFlg==0){
					var dragCenter =  map.getCenter();
					var dragCenterLat = dragCenter.lat();
					var dragCenterLng = dragCenter.lng();
					document.getElementById('addrCond').value=dragCenterLat+','+dragCenterLng;
					dragFlg=1;
					cond_search();
				}else{
					dragFlg=0;
				}
			}
			)
		}
		/*GEvent.addListener(map, "click", function(marker, point) {
		if (marker) {
		map.removeOverlay(marker);
		} else {
		map.clearOverlays();
		map.addOverlay(new GMarker(point,baseIcon));
		var center = map.getCenter();
		document.getElementById("mapinfo").value = "("+point.lat()+","+point.lng()+")";
		}
		}
		);*/
		gLocalSearch = new GlocalSearch();
		gLocalSearch.setCenterPoint(map);

		if(pageName && pageName.value=='index'){
			gLocalSearch.setSearchCompleteCallback(null, MapAreaHosptialSearch);
		}else if(pageName && pageName.value=='memberIndex'){
			gLocalSearch.setSearchCompleteCallback(null, MemberLocalSearch);
		}else if(pageName && pageName.value=='top'){
			gLocalSearch.setSearchCompleteCallback(null, topLocalSearch);
		}else{
			gLocalSearch.setSearchCompleteCallback(null, OnLocalSearch);
		}		}
}
function setFocus(location){
	var locArr=location.split(",");
	var lat = parseFloat(locArr[0]);
	var lng = parseFloat(locArr[1]);
	var point = new GLatLng(lat,lng);
	dragFlg=1;
	map.setCenter(point);
}

function MapAreaHosptialSearch(){
	if (gLocalSearch.results.length == 0) {
		//alert('見つかりませんでした');
		return;
	}
	//alert('MapAreaHosptialSearch');
	var first = gLocalSearch.results[0];
	var lat = parseFloat(first.lat);
	var lng = parseFloat(first.lng);

	document.getElementById('addrCond').value=lat+','+lng;
	cond_search();
}



function JustwareSubmit(cmd_value,action,target)
{
	var destform =document.mainform;
	var target_value;
	if(target==1) target_value = "_blank";
	else target_value = "_self";
	if(cmd_value !=null) destform.cmd.value = cmd_value;
	if(action!=null)
	destform.action = action;
	destform.target = target_value;
	destform.submit();
}

function closeDirectory(){
	var showObj = document.getElementById('directoryShow');
	document.getElementById('agreedirectory').value='';
	document.getElementById('errormsg').innerHTML='';
	showObj.style.overflow = 'hidden';
	showObj.style.display = 'none';
	document.getElementById('confbutton').disabled = false;
	if(document.getElementById('backbutton')) document.getElementById('backbutton').disabled = false;
}
function getIE_top(e){
	var t=e.offsetTop;

	while(e=e.offsetParent){
		t+=e.offsetTop;

	}
	return  t;

}
function getIE_left(e){
	var l=e.offsetLeft;
	while(e=e.offsetParent){
		l+=e.offsetLeft;
	}
	return  l;
}
function enterKeyPress()
{
	if (event.ctrlKey && event.keyCode == 13)
	{
		bFlag = false ;
		return false ;
	}
	else
	{
		if (event.keyCode == 13)
		{
			event.keyCode = 9 ;
			return false ;
		}
		else
		{
			return true ;
		}
	}
}
function isleapyear(year)
{
	if ((year%100) == 0)
	{
		if ((year%400) == 0) return true;
	}
	else
	{
		if ((year%4) == 0) return true;
	}
	return false;
}
function  getday(year,mon){
	var intday;
	var maxday;
	var intmon = parseInt(mon, 10);
	if(year.length ==2) year="20"+year;
	var intyear = parseInt(year, 10);
	if (isNaN(intmon)||isNaN(intyear)) return 0;
	if (intmon>12 || intmon<1) return 0;
	if (intmon == 1 || intmon == 3 || intmon == 5 || intmon == 7 || intmon == 8 || intmon == 10 || intmon == 12) maxday=31;
	if (intmon == 4 || intmon == 6 || intmon == 9 || intmon == 11) maxday=30;
	if (intmon == 2)

	{

		if (isleapyear(intyear) == true) maxday=29;

		else maxday=28;

	}

	return maxday;
}
function getDayOptions(yearObj,monthObj,dayObj,hourObj){
	var maxday=getday(yearObj.value,monthObj.value);
	var monthvalue = monthObj.value;

	if(yearObj.value == '') {
		for (var i=monthObj.length-1;i>0;i--)  {monthObj.options[i]=null;}
		monthObj.options[0]=new Option("--","");
		monthObj.options[0].selected=true;
	} else {
		for(var m=1;m<=12;m++){
			var value=zeroprefix(m.toString(),2);
			monthObj.options[m]=new Option(m,value);
			if(monthvalue==value){
				monthObj.options[m].selected=true;
			}
		}
	}
	if(dayObj!=null)
	{
		var selectvalue=dayObj.value;
		if(selectvalue!="" && selectvalue>maxday) selectvalue=maxday;
		for (var i=dayObj.length-1;i>0;i--)
		{dayObj.options[i]=null;}
		dayObj.options[0]=new Option("--","");
		for(var m=1;m<=maxday;m++){
			var value=zeroprefix(m.toString(),2);
			dayObj.options[m]=new Option(m,value);
			if(selectvalue==value){
				dayObj.options[m ].selected=true;
			}
		}
		if(selectvalue==null) dayObj.options[0].selected=true;
	}
	if(hourObj!=null){
		var hourvalue = hourObj.value;
		if(dayObj.value == '') 
		{
			for (var i=hourObj.length-1;i>0;i--)  {hourObj.options[i]=null;}
			hourObj.options[0]=new Option("--","");
			hourObj.options[0].selected=true;
		} else {
			for(var m=1;m<=24;m++){
				var value=zeroprefix((m-1).toString(),2);
				hourObj.options[m]=new Option(m-1,value);
				if(hourvalue==value){
					hourObj.options[m].selected=true;
				}
			}
		}
	}
}

function zeroprefix(str,len)
{
	var i,ret;
	ret="";
	if(str =="") return ret;

	if(len<str.length)
	{
		ret=str.substr(str.length-len);
	}
	else
	{

		for(i=0;i<len-str.length;i++)
		ret+="0";
		ret+=str;
	}
	return ret;
}

function checkAll()
{
	if(document.mainform.allCheck.checked==true)
	{
		for(i=0;i<document.mainform.elements.length;i++)
		{
			if(document.mainform.elements[i].name=="chkopt[]")
			{
				document.mainform.elements[i].checked=true;
			}
		}
	}
	else
	{
		for(i=0;i<document.mainform.elements.length;i++)
		{
			if(document.mainform.elements[i].name=="chkopt[]")
			{
				document.mainform.elements[i].checked=false;
			}
		}
	}
}

function checkSingle()
{
	var itemNum=0;
	var itemChk=0;
	for(i=0;i<document.mainform.elements.length;i++)
	{
		if(document.mainform.elements[i].name=="chkopt[]")
		{
			itemNum++;
			if(document.mainform.elements[i].checked==true)
			{
				itemChk++;
			}
		}
	}
	if(itemChk>0&&itemChk==itemNum)
	{
		document.mainform.allCheck.checked=true;
	}
	else
	{
		document.mainform.allCheck.checked=false;
	}
}

function detailSubmit(flag,id){
	//alert(flag);
	if(flag==0){
		window.open(id+"/top.html");
	}else{
		document.signupForm.hospital_id.value=id;
		document.signupForm.action = "clinic_index.php";
		document.signupForm.target="_blank";
		document.signupForm.submit();
	}

}
function ClearBox(obj)
{
	if(obj) obj = document.getElementById(obj);
	if(obj!=null&&obj.type=="select-one")
	{
		for(i=obj.length-1;i>0;i--)
		{
			obj.options[i]=null;
		}
		obj.options[0].selected=true;
	}
}

function addOptions(ele,strValue){
	ele = document.getElementById(ele);
	if (ele == null) return;
	if(strValue == null) return;
	var arrValue=strValue.split("_");
	if(arrValue.length!=3) return;
	var text = arrValue[1];
	var value = arrValue[0];
	var defaultValue = arrValue[2];
	if (text || value) {
		ele.options[ele.options.length] = new Option(text, value);
		if (defaultValue!= null) {
			if(defaultValue==value){
				ele.options[ele.options.length-1].selected = true;
			}
		}
	}
}

function getValueFrom (data, method) {
	if (method == null) return data;
	else if (typeof method == 'function') return method(data);
	else return data[method];
};


