/*--------------------------------------------------------------------------*
 *  
 *  wordBreak JavaScript Library for Opera & Firefox
 *  
 *  MIT-style license. 
 *  
 *  2008 Kazuma Nishihata 
 *  http://www.to-r.net
 *  
 *--------------------------------------------------------------------------*/


new function(){
	if(window.opera || navigator.userAgent.indexOf("Firefox") != -1){
		var wordBreak = function() {
			var wordBreakClass = "wordBreak";
			var table = document.getElementsByTagName("li");
			for(var i=0,len=table.length ; i<len ; i++){
				var tbClass = table[i].className.split(/\s+/);
				for (var j = 0; j < tbClass.length; j++) {
					if (tbClass[j] == wordBreakClass) {
						recursiveParse(table[i])
					}
				}
			}
		}
		var recursiveParse = function(pNode) {
			var childs = pNode.childNodes;
			for (var i = 0; i < childs.length; i++) {
				var cNode = childs[i];
				if (childs[i].nodeType == 1) {
					recursiveParse(childs[i]);
				}else if(cNode.nodeType == 3) {
					if(cNode.nodeValue.match("[^\n ]")){
						var plTxt = cNode.nodeValue.replace(/\t/g,"")
						var spTxt = plTxt.split("");
						spTxt = spTxt.join(String.fromCharCode(8203));
						var chNode = document.createTextNode(spTxt);
						cNode.parentNode.replaceChild(chNode,cNode)
					}
				}
			}
		}

	}else{
		var wordBreak = function() {
			if( document.styleSheets[0].addRule ){
				document.styleSheets[0].addRule(".wordBreak","word-break:break-all");
			}else if( document.styleSheets[0].insertRule ){
				document.styleSheets[0].insertRule(".wordBreak{word-break:break-all}", document.styleSheets[0].cssRules.length );
			}else{
				return false;
			}
		}
	}
	var addEvent = function(elm,listener,fn){
		try{
			elm.addEventListener(listener,fn,false);
		}catch(e){
			elm.attachEvent("on"+listener,fn);
		}
	}
	addEvent(window,"load",wordBreak);
}

// サイト内検索のフォーカス処理

jQuery(function(){
	jQuery("input#s").val("検索文字列の入力").css("color","#969696");
	jQuery("input#s").focus(function(){
		if(this.value == "検索文字列の入力"){
			jQuery(this).val("").css("color","#000");
		}
	});
	jQuery("input#s").blur(function(){
		if(this.value == ""){
			jQuery(this).val("検索文字列の入力")
				.css("color","#969696");
		}
		if(this.value != "検索文字列の入力"){
			jQuery(this).css("color","#000");
		}
	});
});

function mapp(a){if(a.pois){this.pois=a.pois}else{this.pois=new Array}this.editable=a.editable;this.size=a.size;this.width=parseInt(a.width);this.height=parseInt(a.height);this.zoom=parseInt(a.zoom);this.center=new GLatLng(parseFloat(a.centerLat),parseFloat(a.centerLng));this.addressFormat=a.addressFormat;this.defaultIcon=a.defaultIcon;this.mapname=a.mapname;this.mapDiv=document.getElementById(a.mapname);this.mapType=a.mapType;this.googlebar=a.googlebar;this.mapTypes=a.mapTypes;this.bigZoom=a.bigZoom;this.scrollWheelZoom=a.scrollWheelZoom;this.autoCenter=a.autoCenter;this.ui=new GMapUIOptions(new GSize(this.width,this.height));this.map;this.mapOptions={};var b=this;if(document.all&&window.attachEvent){window.attachEvent("onload",function(){b.display();b.init()});window.attachEvent("onunload",GUnload)}else{if(window.addEventListener){window.addEventListener("load",function(){b.display();b.init()},false);window.addEventListener("unload",GUnload,false)}}}mapp.prototype={display:function(){if(!GBrowserIsCompatible()||typeof(GMap2)=="undefined"){return}if(this.size&&this.size!="CUSTOM"){this.width=mapSizes[this.size].width;this.height=mapSizes[this.size].height}this.mapOptions.size=new GSize(this.width,this.height);this.map=new GMap2(this.mapDiv,this.mapOptions);this.map.setCenter(new GLatLng(0,0),0);this.ui.controls.maptypecontrol=false;if(this.mapTypes==true){this.ui.controls.menumaptypecontrol=true}else{this.ui.controls.menumaptypecontrol=false}if(this.bigZoom==true){this.ui.controls.largemapcontrol3d=true;this.ui.controls.smallzoomcontrol3d=false}else{this.ui.controls.largemapcontrol3d=false;this.ui.controls.smallzoomcontrol3d=true}if(this.scrollWheelZoom==true){this.ui.zoom.scrollwheel=true}else{this.ui.zoom.scrollwheel=false}this.map.setUI(this.ui);switch(this.mapType.toLowerCase()){case"map":this.map.setMapType(G_NORMAL_MAP);break;case"satellite":this.map.setMapType(G_SATELLITE_MAP);break;case"hybrid":this.map.setMapType(G_HYBRID_MAP);break;case"terrain":this.map.setMapType(G_PHYSICAL_MAP);break}len=this.pois.length;for(var a=0;a<len;a++){this.addMarker(a)}},automaticCenter:function(){if(this.autoCenter==true||!this.center.lat()||!this.center.lng()||!this.zoom||this.pois.length==0){this.reCenter(null,true)}else{this.map.setCenter(this.center);this.map.setZoom(this.zoom)}},addMarker:function(d){var c={};if(this.pois[d].icon!==undefined&&this.pois[d].icon!=""){c={icon:mappIcons[this.pois[d].icon]}}else{if(this.defaultIcon!==undefined&&this.defaultIcon!=""){c.icon=mappIcons[this.defaultIcon]}}if(this.editable){c.draggable=true}var a=new GLatLng(this.pois[d].lat,this.pois[d].lng);var b=new GMarker(a,c);this.pois[d].marker=b;this.map.addOverlay(b);this.addMarkerEvents(d)},addMarkerEvents:function(b){var c=this;var a=this.pois[b].marker;GEvent.clearListeners(a,"click");GEvent.addListener(a,"click",function(){c.renderMarker(b)});if(this.editable){GEvent.addListener(a,"dragstart",function(){c.map.closeInfoWindow()});GEvent.addListener(a,"dragend",function(d){c.pois[b].lat=d.lat();c.pois[b].lng=d.lng();c.renderMarker(b);c.listMarkers()})}},renderMarker:function(e,b){var d;var a;if(this.pois[e].body=="undefined"||this.pois[e].body===undefined){a=this.pois[e].address}else{a=this.pois[e].body}d='<div class="mapp-overlay-div"><div class="mapp-overlay-title">'+this.pois[e].caption+'</div><div class="mapp-overlay-body">'+a+"</div>";if(this.editable==true){var c="<a href='#' onclick=\"editMap.editMarker('"+e+"'); return false;\" alt='"+mappressl10n.edit+"'>"+mappressl10n.edit+"</a> | <a href='#' onclick=\"editMap.deleteMarker('"+e+"'); return false;\">"+mappressl10n.del+"</a>";d+='<div class="mapp-overlay-edit">'+c+"</div>"}if(this.directions==true){var f;switch(b){case"to":f=mappressl10n.directions+": <b>"+mappressl10n.to_here+'</b> - <a href="#" onclick="'+this.mapname+".renderMarker("+e+", 'from'); return false;\" >"+mappressl10n.from_here+'</a><form onSubmit="return false"><input type="text" id="saddr" value="" /><input type="hidden" id="daddr" value="'+this.pois[e].corrected_address+'"/><input type="submit" onclick="'+this.mapname+'.directionsShow(form)" value="'+mappressl10n.go+'" /></form>';break;case"from":f=mappressl10n.directions+': <a href="#" onclick="'+this.mapname+".renderMarker("+e+", 'to'); return false\" >"+mappressl10n.to_here+"</a> - <b>"+mappressl10n.from_here+'</b><form onSubmit="return false"><input type="text" id="daddr" value="" /><input type="hidden" id="saddr" value="'+this.pois[e].corrected_address+'"/><input type="button" onclick="'+this.mapname+'.directionsShow(form)" value="'+mappressl10n.go+'" /></form>';break;default:f='<a href="#" onclick="'+this.mapname+".renderMarker("+e+", 'to'); return false;\" >"+mappressl10n.directions+"</a>";+'<form onSubmit="return false"><input type="text" id="daddr" value="" /><input type="hidden" id="saddr" value="'+this.pois[e].corrected_address+'"/><input type="button" onclick="'+this.mapname+'.directionsShow(form)" value="'+mappressl10n.go+'" /></form>';break}d+='<div class="mapp-overlay-directions">'+f+"</div>"}if(this.streetview==true){d+='<a href="#" onclick="'+this.mapname+".streetviewShow("+e+'); return false">'+mappressl10n.street_view+"</a>"}d+="</div>";this.pois[e].marker.openInfoWindowHtml(d)},formatAddress:function(c){var a=this.pois[c].address;var b=this.pois[c].corrected_address;switch(this.addressFormat){case"ENTERED":return a;break;case"CORRECTED":if(b.lastIndexOf(", USA")>0){b=b.slice(0,b.lastIndexOf(", USA"))}var d=b.indexOf(",");if(d>0){return b.slice(0,d)+"<br/>"+b.slice(d+2,b.length)}else{return b}break;default:return a;break}},reCenter:function(e,c){var b;var d;var f=new GLatLngBounds();this.map.closeInfoWindow();if(this.pois.length==1){e=0}if(e!=null){b=this.pois[e].marker.getLatLng();f.extend(b);if(this.pois[e].boundsbox!=undefined){var a=this.pois[e].boundsbox;if(a.north!=0&&a.south!=0&&a.west!=0&&a.east!=0){f=new GLatLngBounds(new GLatLng(a.south,a.west),new GLatLng(a.north,a.east))}}d=this.map.getBoundsZoomLevel(f)}else{for(j=0;j<this.pois.length;j++){f.extend(this.pois[j].marker.getLatLng())}b=f.getCenter();d=this.map.getBoundsZoomLevel(f)}this.map.setCenter(b);if(c){if(d>15){d=15}this.map.setZoom(d)}}};function mappEdit(a){mapp.call(this,a)}extendObject(mappEdit.prototype,mapp.prototype);extendObject(mappEdit.prototype,{init:function(){var a=this;GEvent.addListener(this.map,"moveend",function(){a.center=a.map.getCenter();jQuery("#mapp_center_lat").val(a.center.lat());jQuery("#mapp_center_lng").val(a.center.lng())});GEvent.addListener(this.map,"zoomend",function(){a.zoom=a.map.getZoom();jQuery("#mapp_zoom").val(a.zoom)});GEvent.addListener(this.map,"maptypechanged",function(){a.mapType=a.map.getCurrentMapType().getName();jQuery("#mapp_maptype").val(a.mapType)});this.automaticCenter();if(this.editable==true){this.listMarkers()}},addPOI:function(b){this.pois.push(b);var a=this.pois.length-1;this.pois[a].caption="";this.pois[a].body=this.formatAddress(a);this.addMarker(a);editMap.listMarkers();this.reCenter(a,true);this.renderMarker(a);return a},editMarker:function(b){var c=this.map.getSize().width*0.8;var a='<div style="text-align: left; width: '+c+'px">'+mappressl10n.title+': <input type="text" id="markerCaption" rows="2" style="width: 90%" value="'+this.escapeQuotes(this.pois[b].caption)+'" /><br/><textarea id="markerBody" rows="5" cols="120" style="max-width:100%">'+this.pois[b].body+'</textarea><br/><input type="button" name="saveEditMarker" value="'+mappressl10n.save+'" onclick="editMap.saveEditMarker(\''+b+'\')" /><input type="button" name="cancelEditMarker" value="'+mappressl10n.cancel+'" onclick="editMap.cancelEditMarker(\''+b+"')\" /></div>";this.pois[b].marker.openInfoWindowHtml(a)},saveEditMarker:function(c){var b=jQuery("#markerCaption").val();var a=jQuery("#markerBody").val();this.pois[c].caption=b;this.pois[c].body=a;this.addMarkerEvents(c);this.renderMarker(c);this.listMarkers()},cancelEditMarker:function(a){this.renderMarker(a)},listMarkers:function(){var c,a;c='<table id="mapp_poi_table" style="width: 100%;"> \r\n<tbody>';for(var b=0;b<this.pois.length;b++){c+='<tr style="padding: 0 0 0 0"><td style="width: 80%"><a id="mapp_poi_label" name="mapp_poi_label" style="width:90%; margin 0 0 0 0;" href="#" onclick="editMap.renderMarker('+b+'); return false;">';if(this.pois[b].caption!=""){c+=this.pois[b].caption+": "+this.pois[b].corrected_address}else{c+=this.pois[b].corrected_address}c+="</a>";if(!this.pois[b].boundsbox){this.pois[b].boundsbox={north:0,south:0,west:0,east:0}}c+='<input type="hidden" name="mapp_poi_address[]" value="'+this.pois[b].address+'"/>';c+='<input type="hidden" name="mapp_poi_caption[]" value="'+this.escapeQuotes(this.pois[b].caption)+'"/>';c+='<textarea style="display:none" name="mapp_poi_body[]">'+this.pois[b].body+"</textarea>";c+='<input type="hidden" name="mapp_poi_corrected_address[]" value="'+this.pois[b].corrected_address+'"/>';c+='<input type="hidden" name="mapp_poi_lat[]" size="15" value="'+this.pois[b].lat+'"/>';c+='<input type="hidden" name="mapp_poi_lng[]" size="15" value="'+this.pois[b].lng+'"/>';c+='<input type="hidden" name="mapp_poi_boundsbox_north[]" size="15" value="'+this.pois[b].boundsbox.north+'"/>';c+='<input type="hidden" name="mapp_poi_boundsbox_south[]" size="15" value="'+this.pois[b].boundsbox.south+'"/>';c+='<input type="hidden" name="mapp_poi_boundsbox_east[]" size="15" value="'+this.pois[b].boundsbox.east+'"/>';c+='<input type="hidden" name="mapp_poi_boundsbox_west[]" size="15" value="'+this.pois[b].boundsbox.west+'"/>';c+="</td></tr>"}c+="</tbody></table>";jQuery("#admin_poi_div").html(c)},escapeQuotes:function(a){return a.replace(/"/g,"&quot;");return a.replace(/'/g,"&apos;")},deleteMarker:function(b){var a=confirm(mappressl10n.delete_this_marker);if(!a){return}this.map.closeInfoWindow();this.map.removeOverlay(this.pois[b].marker);this.pois.splice(b,1);this.listMarkers();for(var b=0;b<this.pois.length;b++){this.addMarkerEvents(b)}},reSize:function(b,c,a){if(b&&b!="CUSTOM"){c=mapSizes[b].width;a=mapSizes[b].height}this.mapDiv.style.width=c;this.mapDiv.style.height=a;if(this.map){this.map.checkResize()}this.size=b;this.width=c;this.height=a;this.reCenter(null,true)}});function mappDisplay(a){this.initialOpenInfo=a.initialOpenInfo;this.directions=a.directions;this.traffic=0;this.streetview=0;if(this.googlebar==true){this.mapOptions={googleBarOptions:{style:"new",adsOptions:{client:"partner-pub-4213977717412159",channel:"mappress",adsafe:"high"}}}}mapp.call(this,a)}extendObject(mappDisplay.prototype,mapp.prototype);extendObject(mappDisplay.prototype,{init:function(){this.automaticCenter();if(this.streetview){this.streetDiv=document.getElementById(this.mapname+"_street_div");this.streetOuterDiv=document.getElementById(this.mapname+"_street_outer_div");this.streetviewPanorama}if(this.directions){this.directionsDiv=document.getElementById(this.mapname+"_directions_div");this.directionsOuterDiv=document.getElementById(this.mapname+"_directions_outer_div");this.saddr=document.getElementById(this.mapname+"_saddr");this.daddr=document.getElementById(this.mapname+"_daddr");this.saddrCorrected=document.getElementById(this.mapname+"_saddr_corrected");this.daddrCorrected=document.getElementById(this.mapname+"_daddr_corrected");this.GDirections=new GDirections(this.map,this.directionsDiv);GEvent.addListener(this.GDirections,"error",function(){switch(this.getStatus().code){case 400:alert(mappressl10n.dir_400);break;case 500:alert(mappressl10n.dir_500);break;case 601:alert(mappressl10n.dir_601);break;case 602:alert(mappressl10n.dir_602);break;case 603:alert(mappressl10n.dir_603);break;case 604:alert(mappressl10n.dir_604);break;case 610:alert(mappressl10n.dir_610);break;case 620:alert(mappressl10n.dir_620);break;default:alert(mappressl10n.dir_default)+getStatus().code;break}})}if(this.googlebar==true){this.map.enableGoogleBar()}if(this.traffic==true){if(this.mapTypes==true){this.map.addControl(new ExtMapTypeControl({showMapTypes:false,posRight:100,showTraffic:true,showTrafficKey:true,showMore:false}))}else{this.map.addControl(new ExtMapTypeControl({showMapTypes:false,posRight:10,showTraffic:true,showTrafficKey:true,showMore:false}))}}if(this.initialOpenInfo==true){GEvent.trigger(this.pois[0].marker,"click")}},directionsShow:function(b){this.streetviewClose();this.directionsClose();this.map.closeInfoWindow();for(var a=0;a<this.pois.length;a++){this.pois[a].marker.hide()}this.saddr.value=b.saddr.value;this.daddr.value=b.daddr.value;this.directionsOuterDiv.style.display="block";this.directionsGet()},directionsGet:function(){this.saddr.className="mapp-address";this.daddr.className="mapp-address";if(!this.saddr.value||this.saddr.value==""){this.saddr.className="mapp-address-error";this.saddrCorrected.innerHTML=mappressl10n.enter_address;return}if(!this.daddr.value||this.daddr.value==""){this.daddr.className="mapp-address-error";this.daddrCorrected.innerHTML=mappressl10n.enter_address;return}var a=this;mappGeocoder.getLocations(this.saddr.value,function(b){a.addressCheck(b,a.saddr,a.saddrCorrected,"saddr");mappGeocoder.getLocations(a.daddr.value,function(c){a.addressCheck(c,a.daddr,a.daddrCorrected,"daddr");a.GDirections.load("from: "+a.saddr.value+" to: "+a.daddr.value)})})},addressCheck:function(a,e,d,c){if(a==null||a.Placemark==null||a.Status.code!=200){e.className="mapp-address-error";d.innerHTML=mappressl10n.no_address;return false}if(a.Placemark.length>1){var b=a.Placemark[0].address;d.innerHTML=mappressl10n.did_you_mean+"<a href='#' onclick='"+this.mapname+'.addressAccept("'+c+'", "'+b+"\"); return false;'>"+b+"</a>";e.className="mapp-address-error";return false}e.value=a.Placemark[0].address;d.innerHTML="";d.className="mapp-address";return true},addressAccept:function(b,a){if(b=="saddr"){this.saddr.value=a;this.saddrCorrected.innerHTML="";this.saddr.className="mapp-address"}else{this.daddr.value=a;this.daddrCorrected.innerHTML="";this.daddr.className="mapp-address"}this.directionsGet()},directionsPrint:function(){var c=document.getElementById(this.mapname+"_saddr");var b=document.getElementById(this.mapname+"_daddr");var a="http://maps.google.com";a+="?daddr="+b.value;a+="&saddr="+c.value;a+="&pw=2";window.open(a)},directionsClose:function(){if(this.GDirections){this.GDirections.clear()}this.directionsOuterDiv.style.display="none";for(var a=0;a<this.pois.length;a++){this.pois[a].marker.show()}this.reCenter(null,true)},streetviewShow:function(b){this.streetviewClose();this.GDirectionsClose();var a={latlng:this.pois[b].marker.getLatLng()};this.streetviewPanorama=new GStreetviewPanorama(this.streetDiv,a);GEvent.addListener(this.streetviewPanorama,"error",this.streetviewError);this.streetOuterDiv.style.display="block"},streetviewClose:function(){if(this.streetviewPanorama){this.streetviewPanorama.remove()}if(this.streetOutderDiv){this.streetOuterDiv.style.display="none"}},streetviewError:function(a){switch(a){case 603:alert(mappressl10n.street_603);break;case 600:alert(mappressl10n.street_600);break;default:alert(mappressl10n.street_default);break}}});function extendObject(a,c){for(var b in c){a[b]=c[b]}return a};

function ExtMapTypeControl(opt_opts){this.options=opt_opts||{}};ExtMapTypeControl.prototype=new GControl();ExtMapTypeControl.prototype.initialize=function(map){var me=this;var extDiv=document.createElement("div");if(me.options.useMapTypes){var mapTypes=map.getMapTypes();var mapTypeDivs=me.addMapTypeButtons_(map);GEvent.addListener(map,"addmaptype",function(){var newMapTypes=map.getMapTypes();var newMapType=newMapTypes.pop();var newMapTypeDiv=me.createButton_(newMapType.getName());newMapTypeDiv.setAttribute('title',newMapType.getAlt());mapTypes.push(newMapType);mapTypeDivs.push(newMapTypeDiv);me.resetButtonEvents_(map,mapTypeDivs);extDiv.appendChild(newMapTypeDiv)});GEvent.addListener(map,"removemaptype",function(){for(var i=0;i<mapTypeDivs.length;i++){GEvent.clearListeners(mapTypeDivs[i],"click");extDiv.removeChild(mapTypeDivs[i])}mapTypeDivs=me.addMapTypeButtons_(map);me.resetButtonEvents_(map,mapTypeDivs);for(var i=0;i<mapTypeDivs.length;i++){extDiv.appendChild(mapTypeDivs[i])}});for(var i=0;i<mapTypeDivs.length;i++){me.toggleButton_(mapTypeDivs[i].firstChild,false);extDiv.appendChild(mapTypeDivs[i]);if(map.getCurrentMapType().getName()==mapTypeDivs[i].name){me.toggleButton_(mapTypeDivs[i].firstChild,true)}}map.getContainer().appendChild(extDiv);var posX=98;switch(mapTypes.length){case 2:posX+=72;break;case 3:posX+=144;break;case 4:posX+=216;break}}else{var posX=me.options.posRight||220}if(me.options.showSave){map.addControl(new SavePosControl(),new GControlPosition(G_ANCHOR_TOP_RIGHT,new GSize(7,31)))}if(me.options.showMore){var layers=[{name:"Photos",obj:new GLayer("com.panoramio.all")},{name:"Videos",obj:new GLayer("com.youtube.all")},{name:"Wikipedia",obj:new GLayer("org.wikipedia.en")}];map.addControl(new MoreControl(layers,posX),new GControlPosition(G_ANCHOR_TOP_RIGHT,new GSize(posX,7)))}if(me.options.showTraffic){if(me.options.showMore)posX+=94;map.addControl(new TrafficControl(me.options),new GControlPosition(G_ANCHOR_TOP_RIGHT,new GSize(posX,7)))}return extDiv};ExtMapTypeControl.prototype.addMapTypeButtons_=function(map){var me=this;var mapTypes=map.getMapTypes();var mapTypeDivs=[];for(var i=0;i<mapTypes.length;i++){mapTypeDivs[i]=me.createButton_(mapTypes[i].getName());mapTypeDivs[i].name=mapTypes[i].getName();mapTypeDivs[i].setAttribute('title',mapTypes[i].getAlt())}me.resetButtonEvents_(map,mapTypeDivs);return mapTypeDivs};ExtMapTypeControl.prototype.resetButtonEvents_=function(map,mapTypeDivs){var me=this;var mapTypes=map.getMapTypes();for(var i=0;i<mapTypeDivs.length;i++){var otherDivs=[];for(var j=0;j<mapTypes.length;j++){if(j!=i){otherDivs.push(mapTypeDivs[j])}}me.assignButtonEvent_(mapTypeDivs[i],map,mapTypes[i],otherDivs)}GEvent.addListener(map,"maptypechanged",function(){var divIndex=0;var mapType=map.getCurrentMapType();for(var i=0;i<mapTypes.length;i++){if(mapTypes[i]==mapType){divIndex=i}}GEvent.trigger(mapTypeDivs[divIndex],"click")})};ExtMapTypeControl.prototype.createButton_=function(text){var buttonDiv=document.createElement("div");this.setButtonStyle_(buttonDiv);buttonDiv.style.cssFloat="left";buttonDiv.style.styleFloat="left";var textDiv=document.createElement("div");textDiv.appendChild(document.createTextNode(text));textDiv.style.width="6em";buttonDiv.appendChild(textDiv);return buttonDiv};ExtMapTypeControl.prototype.assignButtonEvent_=function(div,map,mapType,otherDivs){var me=this;GEvent.addDomListener(div,"click",function(){for(var i=0;i<otherDivs.length;i++){me.toggleButton_(otherDivs[i].firstChild,false)}me.toggleButton_(div.firstChild,true);map.setMapType(mapType)})};ExtMapTypeControl.prototype.toggleButton_=function(div,boolCheck){div.style.fontWeight=boolCheck?"bold":"normal";div.style.border="1px solid #fff";var shadows=boolCheck?["Top","Left"]:["Bottom"];for(var j=0;j<shadows.length;j++){div.style["border"+shadows[j]]="1px solid #b0b0b0"}};ExtMapTypeControl.prototype.getDefaultPosition=function(){return new GControlPosition(G_ANCHOR_TOP_RIGHT,new GSize(7,7))};ExtMapTypeControl.prototype.setButtonStyle_=function(button){button.style.color="#000000";button.style.backgroundColor="white";button.style.font="small Arial";button.style.border="1px solid black";button.style.padding="0px";button.style.margin="0px";button.style.textAlign="center";button.style.fontSize="12px";button.style.cursor="pointer"};function TrafficControl(opt_opts){this.options=opt_opts};function Inherit(){};Inherit.prototype=ExtMapTypeControl.prototype;TrafficControl.prototype=new Inherit();TrafficControl.prototype.initialize=function(map){var me=this;var trafficDiv=me.createButton_("Traffic");trafficDiv.setAttribute("title","Show Traffic");trafficDiv.style.visibility="hidden";trafficDiv.style.width="6em";trafficDiv.firstChild.style.cssFloat="left";trafficDiv.firstChild.style.styleFloat="left";me.toggleButton_(trafficDiv.firstChild,false);var trafficInfo=new GTrafficOverlay({hide:true});trafficInfo.hidden=true;GEvent.addListener(trafficInfo,"changed",function(hasTrafficInView){if(hasTrafficInView){trafficDiv.style.visibility="visible"}else{trafficDiv.style.visibility="hidden"}});map.addOverlay(trafficInfo);GEvent.addDomListener(trafficDiv.firstChild,"click",function(){if(trafficInfo.hidden){trafficInfo.hidden=false;trafficInfo.show()}else{trafficInfo.hidden=true;trafficInfo.hide()}me.toggleButton_(trafficDiv.firstChild,!trafficInfo.hidden)});if(me.options.showTrafficKey){trafficDiv.style.width="7.8em";var keyDiv=document.createElement("div");keyDiv.style.width="1.3em";keyDiv.style.cssFloat="left";keyDiv.style.styleFloat="left";keyDiv.innerHTML="?";var keyExpandedDiv=document.createElement("div");keyExpandedDiv.style.clear="both";keyExpandedDiv.style.padding="2px";var keyInfo=[{"color":"#30ac3e","text":"&gt; 50 MPH"},{"color":"#ffcf00","text":"25-50 MPH"},{"color":"#ff0000","text":"&lt; 25 MPH"},{"color":"#c0c0c0","text":"No data"}];for(var i=0;i<keyInfo.length;i++){keyExpandedDiv.innerHTML+="<div style='text-align: left'><span style='background-color: "+keyInfo[i].color+"'>&nbsp;&nbsp;</span>"+"<span style='color: "+keyInfo[i].color+"'> "+keyInfo[i].text+" </span>"+"</div>"}keyExpandedDiv.style.display="none";GEvent.addDomListener(keyDiv,"click",function(){if(me.keyExpanded){me.keyExpanded=false;keyExpandedDiv.style.display="none"}else{me.keyExpanded=true;keyExpandedDiv.style.display="block"}me.toggleButton_(keyDiv,me.keyExpanded)});me.toggleButton_(keyDiv,me.keyExpanded);trafficDiv.appendChild(keyDiv);trafficDiv.appendChild(keyExpandedDiv)}map.getContainer().appendChild(trafficDiv);return trafficDiv};function MoreControl(layers,posX){MoreControl.prototype.layers=layers;MoreControl.prototype.posX=posX-42;this.chosen=[];this.boxes=[]};MoreControl.prototype=new Inherit();MoreControl.prototype.initialize=function(map){var me=this;me.moreDiv=me.createButton_("More...");me.moreDiv.setAttribute("title","Show/Hide Layers");me.moreDiv.firstChild.style.width="7em";me.toggleButton_(me.moreDiv.firstChild,false);me.map_=map;me.createLayerBox_();GEvent.addDomListener(me.moreDiv,"mouseover",function(){if(window.timer)clearTimeout(timer);me.layerboxDiv.style.display="block"});GEvent.addDomListener(me.moreDiv,"mouseout",function(e){me.setClose(e)});GEvent.addDomListener(me.moreDiv,"click",function(){if(me.chosen.length>0){var copy=me.chosen.slice();for(var i=0;i<copy.length;i++){var index=parseInt(copy[i]);me.switchLayer(true,me.layers[index].obj);me.boxes[index].checked=true}}else{me.hideAll()}});map.getContainer().appendChild(me.moreDiv);return me.moreDiv};MoreControl.prototype.createLayerBox_=function(){var me=this;me.layerboxDiv=document.createElement("div");me.layerboxDiv.style.textAlign="left";me.layerboxDiv.style.font="small Arial";me.layerboxDiv.style.fontSize="12px";me.layerboxDiv.style.padding="4px";me.layerboxDiv.style.width="120px";me.layerboxDiv.style.backgroundColor="#fff";me.layerboxDiv.style.border="1px solid gray";me.layerboxDiv.style.cursor="default";var input=[];for(var i=0;i<me.layers.length;i++){input[i]=me.createCheckbox_(i,me.layers[i].name);me.layerboxDiv.appendChild(input[i])}var ruler=document.createElement("hr");ruler.style.width="92%";ruler.style.height="1px";ruler.style.textAlign="center";ruler.style.border="1px";ruler.style.color="#e2e2e2";ruler.style.backgroundColor="#e2e2e2";var hidelink=document.createElement("a");hidelink.setAttribute("href","javascript:void(0)");hidelink.style.color="#a5a5a5";hidelink.style.textDecoration="none";hidelink.style.cursor="default";hidelink.style.marginLeft="33px";var linktext=document.createTextNode("Hide all");hidelink.appendChild(linktext);me.layerboxDiv.appendChild(ruler);me.layerboxDiv.appendChild(hidelink);GEvent.addDomListener(hidelink,"click",function(){me.hideAll()});GEvent.addDomListener(me.layerboxDiv,"mouseout",function(e){me.setClose(e)});var lpos=new GControlPosition(G_ANCHOR_TOP_RIGHT,new GSize(me.posX,25));lpos.apply(me.layerboxDiv);me.layerboxDiv.style.display="none";me.map_.getContainer().appendChild(me.layerboxDiv);return me.layerboxDiv};MoreControl.prototype.createCheckbox_=function(nr,name){var me=this;var innerDiv=document.createElement("div");var checkbox=document.createElement("input");checkbox.setAttribute("type","checkbox");var textSpan=document.createElement("span");textSpan.style.marginLeft="2px";textSpan.appendChild(document.createTextNode(name));innerDiv.appendChild(checkbox);innerDiv.appendChild(textSpan);innerDiv.appendChild(document.createElement("br"));me.boxes.push(checkbox);GEvent.addDomListener(checkbox,"click",function(){me.switchLayer(this.checked,me.layers[nr].obj)});return innerDiv};MoreControl.prototype.setClose=function(e){var me=this;if(!e)e=window.event;if(me.checkMouseLeave(me.layerboxDiv,e))timer=window.setTimeout(function(){me.layerboxDiv.style.display="none"},300)};MoreControl.prototype.checkMouseLeave=function(element,evt){if(element.contains&&evt.toElement){return!element.contains(evt.toElement)}else if(evt.relatedTarget){return!this.containsDOM(element,evt.relatedTarget)}};MoreControl.prototype.containsDOM=function(container,containee){var isParent=false;do{if((isParent=container==containee))break;containee=containee.parentNode}while(containee!=null);return isParent};MoreControl.prototype.switchLayer=function(checked,layer){var me=this;var link=me.layerboxDiv.lastChild;var button=me.moreDiv.firstChild;if(checked){me.map_.addOverlay(layer);me.chosen.length=0;link.style.color="#0000cd";link.style.textDecoration="underline";link.style.cursor="pointer";me.toggleButton_(button,true)}else{me.map_.removeOverlay(layer);if(!me.checkChecked()){link.style.color="#a5a5a5";link.style.textDecoration="none";link.style.cursor="default";me.toggleButton_(button,false)}}};MoreControl.prototype.hideAll=function(){var me=this;for(var i=0;i<me.boxes.length;i++){if(me.boxes[i].checked){me.boxes[i].checked=false;me.switchLayer(false,me.layers[i].obj);me.chosen.push(i)}}};MoreControl.prototype.checkChecked=function(){var me=this;for(var i=0;i<me.boxes.length;i++){if(me.boxes[i].checked)return true}return false};function SavePosControl(){};SavePosControl.prototype=new Inherit();SavePosControl.prototype.initialize=function(map){var me=this;var saved=[];var saveDiv=document.createElement("div");var saveButtonDiv=document.createElement("div");saveButtonDiv.setAttribute("title","Save actual position and zoomlevel");me.setButtonStyle_(saveButtonDiv);saveButtonDiv.style.width="7em";saveButtonDiv.style.padding="1px";saveButtonDiv.style.marginBottom="4px";saveButtonDiv.style.whiteSpace="nowrap";saveButtonDiv.appendChild(document.createTextNode("Save Position"));saveDiv.appendChild(saveButtonDiv);var backButtonDiv=document.createElement("div");backButtonDiv.setAttribute("title","Back to saved position");me.setButtonStyle_(backButtonDiv);backButtonDiv.style.width="7em";backButtonDiv.style.padding="1px";backButtonDiv.appendChild(document.createTextNode("To Saved"));saveDiv.appendChild(backButtonDiv);GEvent.addDomListener(saveButtonDiv,"click",function(){var center=map.getCenter();var zoom=map.getZoom();saved.splice(0,2,center,zoom);alert("Saved Position: "+center.toUrlValue()+"\nZoomlevel: "+zoom)});GEvent.addDomListener(backButtonDiv,"click",function(){if(saved.length>0){map.setZoom(saved[1]);map.panTo(saved[0])}});map.getContainer().appendChild(saveDiv);return saveDiv};


var mappressl10n = {
dir_400: "Google error: BAD REQUEST",
dir_500: "Google internal error.  Try again later.",
dir_601: "The starting or ending address was missing.",
dir_602: "The starting or ending address could not be found.",
dir_603: "Google cannot return those directions for legal or contractual reasons",
dir_604: "Google cannot return directions between those addresses.  There is no route between them or the routing information is not available.",
dir_610: "Invalid map API key",
dir_620: "Your key has issued too many queries in one day.",
dir_default: "Unknown error, unable to return directions.  Status code = ",
enter_address: "Enter address",
no_address: "No matching address",
did_you_mean: "Did you mean: ",
street_603: "Error: your browser does not seem to support the street view Flash player",
street_600: "Sorry, no street view data is available for this location",
street_default: "Sorry, Google was unable to display the street view in your browser",
street_view: "Street view",
directions: "Get directions",
address: "Address",
to_here: "to here",
from_here: "from here",
go: "Go"
};

function showHide(entryID, entryLink, htmlObj, type) {if (type == "comments") {extTextDivID = ('comText' + (entryID));extLinkDivID = ('comLink' + (entryID));} else {extTextDivID = ('extText' + (entryID));extLinkDivID = ('extLink' + (entryID));}if( document.getElementById ) {if( document.getElementById(extTextDivID).style.display ) {if( entryLink != 0 ) {document.getElementById(extTextDivID).style.display = "block";document.getElementById(extLinkDivID).style.display = "none";htmlObj.blur();} else {document.getElementById(extTextDivID).style.display = "none";document.getElementById(extLinkDivID).style.display = "block";}} else {location.href = entryLink;return true;}} else {location.href = entryLink;return true;}}

var mappGeocoder = new GClientGeocoder();

var mappIcons = []; 
var baseIcon = new GIcon(G_DEFAULT_ICON); baseIcon.iconSize = new GSize(32, 32); baseIcon.shadowSize = new GSize(59,32); baseIcon.iconAnchor = new GPoint(16,32);var i = new GIcon(baseIcon);i.image = 'http://maps.google.com/mapfiles/ms/micons/blue-dot.png';  mappIcons['blue-dot.png'] = i;

var mapSizes = {"SMALL":{"width":300,"height":225},"MEDIUM":{"width":400,"height":300},"LARGE":{"width":640,"height":480}}
