// GMAP
function mapInit(params) {

    var canvas = $('map_canvas');
    if (canvas && GBrowserIsCompatible()) { 
    var zoom = params.zoom ? params.zoom : 15;
    var map = new GMap2(canvas);
    var loc = new GLatLng(params.lat, params.long);
    map.setCenter(loc, zoom);
    var marker = new GMarker(loc);
    map.addOverlay(marker);
    var info = params.address.split(',');
    var openInfo = function() {
        var d, txt, strong;
        var infodiv = document.createElement('div');
        for (var i = 0; i < info.length; i++ ) {
            d = document.createElement('div');
            txt = document.createTextNode(info[i]);
            if (i === 0) {
    
                strong = document.createElement('strong');
                strong.appendChild(txt);
                d.appendChild(strong);
            }
            else {
                d.appendChild(txt);
            }
            infodiv.appendChild(d);
        }
        var loc2 = new GLatLng(params.lat + 0.00085, params.long);
        map.openInfoWindow(loc2, infodiv);
    };
    openInfo();
    GEvent.addListener(marker, "click", openInfo);
    map.setUIToDefault();
    }
}

window.addEvent('domready', function() {

    // search form
    var searchform = $('searchform');
    var search = $('search');
    if (searchform && search) {
        var lab = searchform.getElementsByTagName('label')[0];
        if (lab) {
            var defaultval = lab.innerHTML;
            if (!search.value) {
                search.value = defaultval;
            }
            search.addEvent('blur', function() {
            
                this.value = this.value === '' ? defaultval : this.value;
            });
            search.addEvent('focus', function() {
            
                this.value = this.value === defaultval ? '' : this.value;
            });
        }
    }
    
    // :focus for ie<8
    if (Browser.Engine.trident) {
        var fields = $$('input[type=text], select, textarea');
        fields.each(function(field) {
            field.addEvent('focus', function() { this.className += ' focus'; });
            field.addEvent('blur', function() { this.className = this.className.replace(/focus/g, ''); });
        });
    }
    
    // kill borders on headings containing links
    // why is there no suitable selector in css??
    var headings = $$('h1, h2, h3, h4, h5, h6');
    headings.each(function(heading){
        if (heading.getElementsByTagName('a').length > 0) {
        
            heading.className += ' noborder';
        }
    });
    
    // get rid of top margin on first headings within any container
    var firstheadings = $$('h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child');
    firstheadings.each(function(heading) {
        heading.style.marginTop = 0;
    });
    
});