FC = {
    vars: {
        isIE:
        /*@cc_on!@*/
        false
    },
    functions: {},
    utils: {
        clearTextChildren: function(n) {
            var __j = n.length;
            while (__j--) {
                if (n[__j].nodeType == 3) {
                    n.parentNode.removeChild(n[__j])
                }
            }
            return n
        },
        addLoadEvent: function(func) {
            var oldonload = window.onload;
            if (typeof window.onload != 'function') {
                window.onload = func
            } else {
                window.onload = function() {
                    if (oldonload) {
                        oldonload()
                    }
                    func()
                }
            }
        },
        getStyle: function(el, styleProp) {
            var x = document.getElementById(el);
            if (x.currentStyle) var y = x.currentStyle[styleProp];
            else if (window.getComputedStyle) var y = document.defaultView.getComputedStyle(x, null).getPropertyValue(styleProp);
            return y
        },
        getElementsByClassName: function(cl) {
            var retnode = [];
            var myclass = new RegExp('\\b' + cl + '\\b');
            var elem = document.getElementsByTagName('*');
            var i = elem.length;
            while (i--) {
                if (myclass.test(elem[i].className)) retnode.push(elem[i])
            }
            return retnode
        },
        addEvent: function(obj, evt, fn) {
            if (obj.addEventListener) obj.addEventListener(evt, fn, false);
            else if (obj.attachEvent) obj.attachEvent('on' + evt, fn);
            if (obj.getAttribute) {
                if (obj.getAttribute('href')) {
                    obj.onclick = function() {
                        return false
                    }
                } else if (obj.getAttribute('href') && !obj.getAttribute('onclick')) {
                    var func = obj.onclick;
                    obj.onclick = function() {
                        func();
                        return false
                    }
                }
            }
        },
        removeEvent: function(obj, type, fn) {
            if (obj.removeEventListener) obj.removeEventListener(evt, fn, false);
            else if (obj.detachEvent) obj.detachEvent('on' + evt, fn)
        },
        toggleElementVisibility: function(obj) {
            FC.vars.viewState = (FC.vars.viewState == 'none') ? 'block': 'none';
            obj.style.display = FC.vars.viewState
        },
        pngfix: function() { (FC.vars.isIE) ? doPNGfix() : null;
            function doPNGfix() {
//                 /*@cc_on@if(@_jscript_version>=5.5&&@_jscript_version<=5.6)var els=document.getElementsByTagName("*");var ip=/\.png/i;var i=els.length;while(i--){var el=els[i];var es=el.style;if(el.src&&el.src.match(ip)&&!es.filter){es.height=el.height;es.width=el.width;es.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+el.src+"',sizingMethod='crop')";el.src=clear}else{var elb=el.currentStyle.backgroundImage;if(elb.match(ip)){var path=elb.split('"');var rep=(el.currentStyle.backgroundRepeat=="no-repeat")?"crop":"scale";es.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+path[1]+"',sizingMethod='"+rep+"')";es.height=el.clientHeight+"px";es.backgroundImage="none"}}}@end@*/
            }
        }
    }
};

FC.vars.mapHolder = document.getElementById("map-content");

FC.functions.setMap = function() {
    var __g, __map, __points, __nodes;
    var collectNodes = function() {
        for (__j in __points) {
            document.getElementById('point_' + __j).className = '';
            __points[__j].node = document.getElementById('point_' + __j).cloneNode(true)
        }
    };
    function insertMap(ll) {
        FC.vars.mapHolder.className = "gmap";
        FC.vars.mapHolder.style.display = 'block';
        __map = new __g.Map2(FC.vars.mapHolder);
        __map.setCenter(new __g.LatLng(ll.a, ll.b), ll.c);
        __map.addControl(new GSmallMapControl())
    }
    function addPoints() {
        var __o, __marker, __icon = new GIcon();
        __icon.shadow = "http://www.google.com/mapfiles/shadow50.png";
        __icon.iconSize = new GSize(19, 34);
        __icon.shadowSize = new GSize(37, 34);
        __icon.iconAnchor = new GPoint(9, 34);
        __icon.infoWindowAnchor = new GPoint(9, 2);
        __icon.infoShadowAnchor = new GPoint(18, 25);
        __icon.image = "/img/marker.png";
        __icon.imageOn = "/img/marker-red.png";
        for (__j in __points) {
            __o = __points[__j];
            __marker = new __g.Marker(new __g.LatLng(__o.lat, __o.lng), {
                icon: __icon
            });
            __map.addOverlay(__marker);
            __marker.bindInfoWindow(__o.node, {
                maxWidth: 180
            });
            __g.Event.addListener(__marker, "infowindowclose",
            function() {
                this.setImage(__icon.image)
            });
            __g.Event.addListener(__marker, "infowindowopen",
            function() {
                this.setImage(__icon.imageOn)
            })
        }
    }
    var init = function() {
        __points = inpage.points;
        FC.utils.addEvent(window, 'unload', __g.Unload);
        collectNodes();
        insertMap(inpage.locale);
        addPoints();
        inpage = null
    };
    if (FC.vars.mapHolder) {
        __g = google.maps;
        if (__g.BrowserIsCompatible()) {
            init()
        }
    }
    init = insertMap = addPoints = collectNodes = null
};

FC.utils.addLoadEvent(FC.functions.setMap);
FC.utils.addLoadEvent(FC.utils.pngfix);
/*@cc_on@if(@_jscript_version<=5.6)try{document.execCommand('BackgroundImageCache',false,true)}catch(e){};@end@*/
