
function gmapBuilder(){if(typeof(gMap)!='object'||!GBrowserIsCompatible()){return false;}
var drivingDiv=document.getElementById('google-directions');for(var i=0;i<gMap.length;i++){gMap[i].vcard=document.getElementById(gMap[i].id+'-vcard').getElementsByTagName('*');gMap[i].gmapCont=document.getElementById(gMap[i].id+'-gmap-container');gMap[i].element=document.getElementById(gMap[i].id+'-gmap');gMap[i].form=gMap[i].gmapCont.getElementsByTagName('form')[0];gMap[i].label=gMap[i].gmapCont.getElementsByTagName('label')[0];gMap[i].error=gMap[i].gmapCont.getElementsByTagName('input')[0];gMap[i].locale=gMap[i].gmapCont.getElementsByTagName('input')[1];gMap[i].saddr=gMap[i].gmapCont.getElementsByTagName('input')[2];gMap[i].daddr=gMap[i].gmapCont.getElementsByTagName('input')[3];gMap[i].button=gMap[i].gmapCont.getElementsByTagName('button')[0];jQuery(gMap[i].form).css({width:jQuery(gMap[i].gmapCont).width()+'px'});jQuery(gMap[i].element).css({height:(jQuery(gMap[i].gmapCont).height()-jQuery(gMap[i].form).height())+'px',width:jQuery(gMap[i].gmapCont).width()+'px',border:'1px #666 solid'});gMap[i].element.style.overflow='hidden';gMap[i]['street-address']='';gMap[i]['locality']='';gMap[i]['postal-code']='';gMap[i]['country-name']='';for(var j=0;j<gMap[i].vcard.length;j++){if(gMap[i].vcard[j].className&&gMap[i].vcard[j].innerHTML.indexOf('>')==-1){gMap[i][gMap[i].vcard[j].className]=gMap[i].vcard[j].innerHTML;}}
var daddrData=(gMap[i]['street-address']+','
+gMap[i]['postal-code']+' '
+gMap[i]['locality']+','
+gMap[i]['country-name']).replace(/(^,+|,+$)|(,{2,})/g,'');gMap[i].daddr.value=daddrData;if(typeof(gMap[i]['organization-name'])=='undefined'){gMap[i]['organization-name']=gMap[i]['organization-unit']}
gMap[i].map=new GMap2(gMap[i].element);gMap[i].map.setCenter(new GLatLng(parseFloat(gMap[i].latitude),parseFloat(gMap[i].longitude)),gMap[i].zoom);gMap[i].map.addControl(new GSmallMapControl());var marker=new GMarker(new GLatLng(parseFloat(gMap[i].latitude),parseFloat(gMap[i].longitude)));gMap[i].map.addOverlay(marker);if(!gMap[i].saddr.value||gMap[i].saddr.value==gMap[i].saddr.alt){gMap[i].saddr.value=gMap[i].saddr.alt;gMap[i].saddr.style.color='#787878';}
jQuery('#'+gMap[i].saddr.id).bind('focus',function(){if(this.value==this.alt){this.value='';this.style.color='#333';}});jQuery('#'+gMap[i].saddr.id).bind('blur',function(){if(this.value==this.alt||!this.value){this.value=this.alt;this.style.color='#777';}})
gMap[i].gmapCont.style.visibility='visible';gMap[i].directions=new GDirections(gMap[i].map,drivingDiv);var errorMsg=gMap[i].error.value;GEvent.addListener(gMap[i].directions,'error',function(){drivingDiv.innerHTML=errorMsg;});GEvent.addListener(gMap[i].directions,'load',function(){drivingDiv.innerHTML='';});GEvent.addListener(gMap[i].directions,"addoverlay",function(){var offset=jQuery(drivingDiv).offset();self.scrollTo(0,offset.top);});gMap[i].form.i=i;gMap[i].form.onsubmit=function(){if(gMap[this.i].saddr.value==gMap[this.i].saddr.alt){gMap[this.i].saddr.value='';}
else if(gMap[this.i].saddr.value){gMap[this.i].directions.load('from: '+gMap[this.i].saddr.value
+' to: '+gMap[this.i]['organization-name']+', '
+gMap[this.i]['street-address']+', '
+gMap[this.i]['postal-code']+', '
+gMap[this.i]['locality']+', '
+gMap[this.i]['country-name']
+'@'+gMap[this.i].latitude+','+gMap[this.i].longitude,{"locale":gMap[this.i].locale.value});}
else if(gMap[i].saddr.alt){gMap[this.i].saddr.value=gMap[this.i].saddr.alt;}
return false;};}}
jQuery(window).bind('load',function(){new gmapBuilder();})
jQuery(window).bind('unload',function(){if(typeof(gMap)!='undefined'){GUnload();}});;