(Function (W) { if (w.fastXDM) return; handlers variable = {}; var onEnvLoad = []; var OCD = {}; / / Generate keys Function genKey () { var key ="; for (I = 0; I <5; I + +). key + = Math.ceil (Math.random () * 15) ToString (16); return key; } function WAITFOR (object supports, the function itself, count) { if (object [prop]) { func.apply (self); } Else { n = number | | 0; if (number <1000) SetTimeout (function () { WAITFOR (object, skip function, I, count +1) }, 0); } } Function attachScript (URL) { SetTimeout (function () { var newScript = document.createElement ('Script'); newScript.type = 'text / JavaScript "; newScript.src = URL | | w.fastXDM.helperUrl; WAITFOR (document, "body", function () { document.getElementsByTagName ('head') [0] AppendChild (newScript).; }); }, 0); } function walkVar (value, net) { switch (TypeOf value) { case 'string': if (empty) { return value.replace (/ & / g, '&'). replace (/ ) / g, '>'). replace (/ "/ g, ' "'.) replace (/' / g," '); } return value.replace (/ '/ g,' \"). replace (/ "/ g, '"'). replace ( / > ) / g, '>'). replace (/ < . / g, '<') replace (/ & / g, '&'); case «object»: if (Object.prototype.toString.apply (value) === 'object[Array]') { newValue = []; for (var = 0; I 0) { for (var = 0; I '; var frame = div.firstChild; var = " this is the government; SetTimeout (function () { frame.frameBorder = '0 '; if (options) expand (frame, options); obj.insertBefore (frame, obj.firstChild); self.start (frame); }, 0); return frame; } w.fastXDM.Client.prototype.callMethod = w.fastXDM.Server.prototype.callMethod = function () { var args = Array.prototype.slice.call (arguments); Method variable = args.shift (); var I = args.length; in that time as the (I -) { if (TypeOf (arguments [I]) == 'function') { this.funcsCount = (this.funcsCount | | 0) + 1; var func = arguments [I]; var FUNCNAME = '_func' + this.funcsCount; this.methods [FUNCNAME] = function () { func.apply (this, arguments); delete this.methods [FUNCNAME]; } the arguments [I] = {_func: this.funcsCount}; } Else if (this.options.safe) { the arguments [I] = walkVar (arguments [I], false); } } WAITFOR (this, 'subscriber ", function () { w.fastXDM.on (this.id, function () { GETENV (function (OCD) { env.send (env.json.stringify ([method, args])); }); }); }); } if (w.JSON && TypeOf (w.JSON) == 'object' && w.JSON.parse && w.JSON.stringify && w.JSON.stringify ({: [1,2,3]}.) replace (/ / g,") == '{"a": [1,2,3]}') { env.json = {parse: w.JSON.parse, stringify: w.JSON.stringify}; } Else { w.fastXDM._needJSON = true; } / / PostMessage cover if (w.postMessage) { env.protocol = 'p'; env.send = function (XDM, strData) { var win = (? xdm.frame xdm.frame.contentWindow: xdm.caller); win.postMessage (xdm.key + ':' + strData, "*"); } if (w.addEventListener) { w.addEventListener ("message", w.fastXDM.onMessage, false); } Else { w.attachEvent ("OnMessage", w.fastXDM.onMessage); } if (w.fastXDM._needJSON) { w.fastXDM._onlyJSON = true; attachScript (); } Else { envLoaded (); } } Else { attachScript (); } }) (Window); if window.VK = {} (window.VK!); / * * On the basis of implementation of JavaScript in the RSA Data Security, Inc. MD5 message * Copyright (C) Paul Johnston, 1999 - 2009 * Other participants: Greg Holt, Andrew Kepert, Ydnar, Lostinet * Distributed under the BSD license * / if (! VK.MD5) {VK.MD5 = function (item) {VAR J = function (d) {VAR J (G (J (J (R, W), J (Oh and))), R)}, = function (l, R, W, V, o, u, g) {return ( (p & W) | ((approximately R) and volume), d, f, o, u, g)}, h = function (e, R, W, V, o, u, g) {return ((R & V) | (W & (V)), d, f, o, u, g)}, C = function (l, R, W, V, o, u, g) {return (R ^ W ^ V, d, p, o, u, g)}, t = function (l, R, W, V,, d) {return to (W ^ R | (V)), d, f, o, u , g)}, b = function () {VAR d}, e = function (R) {VAR}, l = function (R) {VAR o = ""; for (var y = 0, d = p.length * 32; d > 5] >>> (g% 32)) and 255)} return}, g = function () {return l (b (f (o), o.length * 8))}, g = function ( e) {VAR t = "are 0123456789abcdef"; R="",; for (var s = 0, g = q.length; with >> 4) and 15) + t.charAt (o & 15)} return R}; return I (D (F (n)))}} / * * VKontakte Open API JavaScript library * Http://vk.com/ * / VK.extend = function (target, source,