var YMaps = {}; YMaps.__MapData = { userKey: "AKbrT0kBAAAAvN7fJgMAY9zpX1SesSRT7Oft-4oTNtnBzmAAAAAAAAAAAAAXZaKr7_F9qBX7jGNc2GKWrQJcDA==", versionPath: "http://api-maps.yandex.ru/1.0.7/", tileUrlTemplates:{ map: 'http://vec0%d.maps.yandex.ru/tiles?l=map&%c', sat: 'http://sat0%d.maps.yandex.ru/tiles?l=sat&%c', skl: 'http://vec0%d.maps.yandex.ru/tiles?l=skl&%c' }, printerHost: 'http:\/\/print.maps.yandex.net\/1.x\/' } new function () { var scriptsToLoad = [ YMaps.__MapData.versionPath + 'xml/data.xml?v=' + '1.43.0', YMaps.__MapData.versionPath + '_YMaps.js' ], cssToLoad = [ YMaps.__MapData.versionPath + '_YMaps.css', YMaps.__MapData.versionPath + '_YMaps-ie.css' ], i = 0, l = scriptsToLoad.length; // Добавляем включение VML для IE document.write( '' ); YMaps._Loader = {}; YMaps._Loader.callbacks = []; YMaps._Loader.timers = {}; YMaps._Loader.loadingComplete = null; var userAgent = window.navigator.userAgent.toLowerCase(), getVer = function (is_this, regex) { if (is_this) { var f = userAgent.match(regex); return f ? parseFloat(f[1]) : 0; } return 0; }, isOpera = userAgent.indexOf('opera') != -1, isIe = !isOpera && userAgent.indexOf('msie') != -1, ieVer = getVer(isIe, /msie (\d+\.\d)/); YMaps.load = function (callback) { var me = YMaps._Loader; if (typeof callback == 'function') { if (me.loadingComplete) { callback(); } else { me.callbacks.push(callback); } } // старт загрузки if (me.loadingComplete == null) { // создаем CSS линки if (isIe && (!document.documentMode || document.documentMode < 8)) { me.loadCss(cssToLoad[1]); } else { me.loadCss(cssToLoad[0]); } // начинаем грузить скрипты me.loadingComplete = 0; me.loadNext(); } } YMaps._Loader.loadNext = function () { var me = YMaps._Loader; if (scriptsToLoad.length) { me.loadScript(scriptsToLoad.shift()); } else { me.loadingComplete = 1; while(me.callbacks.length) { me.callbacks.shift()(); } } } YMaps._Loader.loadCss = function (url) { var link = document.createElement("link"); link.rel = "stylesheet"; link.href = url; document.getElementsByTagName("head")[0].appendChild(link); } YMaps._Loader.loadScript = function (url) { var script = document.createElement("script"); script.charset = "utf-8"; script.src = url; script.type = "text/javascript"; script.onreadystatechange = function () { if ((isIe && script.readyState == 'loaded') || script.readyState == 'complete') { YMaps._Loader.onScriptLoad(url); } } script.onload = function () { YMaps._Loader.onScriptLoad(url); } document.getElementsByTagName("head")[0].appendChild(script); }; YMaps._Loader.onScriptLoad = function (url) { var me = YMaps._Loader; if (isOpera || isIe) { me.timers[url] = setInterval(function() { if (/loaded|complete/.test(document.readyState)) { clearInterval(me.timers[url]); me.loadNext(); } }, 10); } else { me.loadNext(); } }; }