self.string_to_xml=function(string){var xmlobject=null;string=string.replace(/<!--/,'').replace(/-->/,'')
if(window.ActiveXObject){xmlobject=new ActiveXObject("Microsoft.XMLDOM");xmlobject.async="false";xmlobject.loadXML(string);}else{var xmlstring='<?'+'xml version="1.0"?>'+string;xmlobject=(new DOMParser()).parseFromString(xmlstring,"text/xml");}
return xmlobject;}
self.xml_xslt_transform=function(xml,xslt){var mydiv=document.createElement('DIV');if(window.ActiveXObject){mydiv.innerHTML=xml.transformNode(xslt);}else if(document.implementation&&document.implementation.createDocument){xsltProcessor=new XSLTProcessor();xsltProcessor.importStylesheet(xslt);mydiv.appendChild(xsltProcessor.transformToFragment(xml,document));}
return mydiv.firstChild;}
self.show_large=function(a,b){if(document.getElementById('overlay'))document.getElementById('overlay').parentNode.removeChild(document.getElementById('overlay'))
var ind=a
var tooltip=xml_xslt_transform(string_to_xml("<overlay><u>"+memberobj['members'][b][ind].u+"</u><h>"+memberobj['members'][b][ind].h+"</h><a>"+memberobj['members'][b][ind].a+"</a><z>"+memberobj['members'][b][ind].z+"</z><f>"+memberobj['members'][b][ind].f+"</f><p>"+memberobj['members'][b][ind].p+"</p><lu><![CDATA["+memberobj['members'][b][ind].lu+"]]></lu><o>"+memberobj['members'][b][ind].o+"</o></overlay>"),xtemp);document.getElementById("map").appendChild(tooltip);var point=map.getCurrentMapType().getProjection().fromLatLngToPixel(map.getBounds().getSouthWest(),map.getZoom());var offset=map.getCurrentMapType().getProjection().fromLatLngToPixel(marker[b][ind].getPoint(),map.getZoom());var anchor=marker[b][ind].getIcon().iconAnchor;var dx=offset.x-point.x-anchor.x-46;var dy=-offset.y+point.y-100;if(memberobj.width<(offset.x-point.x-anchor.x-46+148)){dx=memberobj.width-146;}else if(dx<0){dx=0;}
if(dy<0){dy=0;}else if(dy>(memberobj.height-236)){dy=memberobj.height-236}
var pos=new GControlPosition(G_ANCHOR_BOTTOM_LEFT,new GSize(dx,dy));pos.apply(tooltip);}
self.show_small=function(a){self.show_it=0;if(document.getElementById('overlay')){setTimeout(function(){if(document.getElementById('overlay')&&!self.show_it){document.getElementById('overlay').parentNode.removeChild(document.getElementById('overlay'))}},100);}}
self.init=function(){self.xtemp=string_to_xml(document.getElementById('xslt_template').innerHTML);if(GBrowserIsCompatible()){if(!self.memberobj){self.memberobj={lat:(self.fp?fp.lat:'37.4006'),lon:(self.fp?fp.lon:'-121.9635'),zoom:11,width:(self.fp?fp.width:300),height:(self.fp?fp.height:250),members:{},varname:(self.fp?fp.varname:''),fake:1}}
document.getElementById('map').style.width=memberobj.width+'px'
document.getElementById('map').style.height=memberobj.height+'px'
self.map=new GMap2(document.getElementById('map'));map.setCenter(new GLatLng(memberobj.lat,memberobj.lon),memberobj.zoom);map.disableDragging();var mt=map.getMapTypes();if(memberobj.fake){if(!self.fpm){self.fpm=[]};self.bounds=map.getBounds();self.sw=bounds.getSouthWest();self.ne=bounds.getNorthEast();self.lngs=ne.lng()-sw.lng();self.lats=ne.lat()-sw.lat();memberobj.members[memberobj.varname]=[];for(var i=0;i<(fpm.length<fp.numpins?fpm.length:fp.numpins);i++){memberobj.members[memberobj.varname][i]={f:'0',p:'',o:'fail',lu:'fail',s:'2',h:fpm[i].h,u:fpm[i].p,a:fpm[i].a,y:(sw.lat()+lats*Math.random()),x:(sw.lng()+lngs*Math.random()),z:''}}}
for(var i=0;i<mt.length;i++){mt[i].getMinimumResolution=function(){return 11;}
mt[i].getMaximumResolution=function(){return 11;}}
self.icon={};icon['complex']=new GIcon();icon['complex'].image=GRAPHICS_URL+'/geodensity/spacer.gif';icon['complex'].shadow=GRAPHICS_URL+'/geodensity/med_shw.png';icon['complex'].iconSize=new GSize(47,72);icon['complex'].shadowSize=new GSize(96,72);icon['complex'].iconAnchor=new GPoint(2,60);icon['simple']=new GIcon();icon['simple'].image=GRAPHICS_URL+'/geodensity/small_icon.png';icon['simple'].shadow=GRAPHICS_URL+'/geodensity/small_shw.png';icon['simple'].iconSize=new GSize(35,30);icon['simple'].shadowSize=new GSize(35,30);icon['simple'].iconAnchor=new GPoint(6,20);icon['simple'].infoWindowAnchor=new GPoint(5,1);self.marker={};for(var opt in memberobj['members']){markerOptions=(icon[opt])?{icon:icon[opt]}:{icon:icon['simple']};marker[opt]=[];var members=memberobj['members'][opt]
for(var i=0;i<members.length;i++){var point=new GLatLng(members[i].y,members[i].x);marker[opt][i]=new GMarker(point,markerOptions);marker[opt][i].memberIndex=i;map.addOverlay(marker[opt][i]);if(opt=='complex'){var tooltip=xml_xslt_transform(string_to_xml("<point><u>"+members[i].u+"</u><i>"+i+"</i><n>"+opt+"</n><f>"+members[i].f+"</f><p>"+members[i].p+"</p><lu><![CDATA["+members[i].lu+"]]></lu><o>"+members[i].o+"</o></point>"),xtemp);document.getElementById("map").appendChild(tooltip);var point=map.getCurrentMapType().getProjection().fromLatLngToPixel(map.getBounds().getSouthWest(),map.getZoom());var offset=map.getCurrentMapType().getProjection().fromLatLngToPixel(marker[opt][i].getPoint(),map.getZoom());var anchor=marker[opt][i].getIcon().iconAnchor;var pos=new GControlPosition(G_ANCHOR_BOTTOM_LEFT,new GSize(offset.x-point.x-anchor.x,-offset.y+point.y-10));pos.apply(tooltip);}
if(opt=='simple'){var tooltip=xml_xslt_transform(string_to_xml("<point><u>"+members[i].u+"</u><i>"+i+"</i><n>"+opt+"</n><f>"+members[i].f+"</f><p>"+members[i].p+"</p><lu><![CDATA["+members[i].lu+"]]></lu><o>"+members[i].o+"</o></point>"),xtemp);document.getElementById("map").appendChild(tooltip);var point=map.getCurrentMapType().getProjection().fromLatLngToPixel(map.getBounds().getSouthWest(),map.getZoom());var offset=map.getCurrentMapType().getProjection().fromLatLngToPixel(marker[opt][i].getPoint(),map.getZoom());var anchor=marker[opt][i].getIcon().iconAnchor;var pos=new GControlPosition(G_ANCHOR_BOTTOM_LEFT,new GSize(offset.x-point.x-anchor.x,-offset.y+point.y-10));pos.apply(tooltip);}}}}
rotate();}
self.rotate=function(){if(document.getElementById('piclist')&&memberobj['members']['complex'].length>3){self.curpic=(self.curpic)?curpic:0;document.getElementById('piclist').innerHTML=''
for(var i=0;i<4;i++){curpic=(curpic>=(memberobj['members']['complex'].length-1))?0:curpic+1
document.getElementById('piclist').appendChild(xml_xslt_transform(string_to_xml("<pic><u>"+memberobj['members']['complex'][curpic].u+"</u><h>"+memberobj['members']['complex'][curpic].h+"</h><z>"+memberobj['members']['complex'][curpic].z+"</z><a>"+memberobj['members']['complex'][curpic].a+"</a><f>"+memberobj['members']['complex'][curpic].f+"</f><p>"+memberobj['members']['complex'][curpic].p+"</p><lu><![CDATA["+memberobj['members']['complex'][curpic].lu+"]]></lu><o>"+memberobj['members']['complex'][curpic].o+"</o></pic>"),xtemp))}
self.rotatetimeout=window.setTimeout("rotate()",10000);}}
