if(!window["mgCaptcha"]) { var mgCaptcha = window.mgCaptcha = { "stack": {}, "static_url": "http://captcha.oml.ru/static", "script": null, "block": null, "img": null, "sid": null, "_getUrl": function (key) { var url = mgCaptcha.stack[ key ]["url"]; url += (url.indexOf("?") == -1) ? "?" : "&"; var sid = (mgCaptcha.stack[ key ].sid) ? mgCaptcha.stack[ key ].sid.value : ""; url += "callback=mgCaptcha.stack."+key+".up¤t_sid="+sid+"&key=" + key + "&rnd="+Math.random(); return url }, "draw": function (url, containerId, params, nodraw) { var key = "mcp"+Math.round(Math.random()*10000); if(!params) params = {"inputSession": "mgcaptcha-sid"}; else { if(!params["inputSession"]) params["inputSession"] = "mgcaptcha-sid"; } mgCaptcha.stack[ key ] = {}; mgCaptcha.stack[ key ]["url"] = url; mgCaptcha.stack[ key ]["params"] = params; mgCaptcha.stack[ key ]["up"] = mgCaptcha.update(key); if(containerId) { var d = document.getElementById(containerId); if(d) d.innerHTML = mgCaptcha.getHtml(key, params); else throw "Conatiner "+containerId+" not found."; } else { document.write(mgCaptcha.getHtml(key, params)); } mgCaptcha.fetch(key, false, nodraw); return key; }, "replace": function (imgObj, sessObj, url, params, onfinish) { if(!imgObj) return; var div = document.createElement("div"); var id = div.id = "mgCaptcha-replace" + Math.round(Math.random()*10000); var p = imgObj.parentNode; p.insertBefore(div, imgObj); if(!!sessObj) { var key = mgCaptcha.draw(url, id, params, true); mgCaptcha.stack[ key ]["img"].src = imgObj.src; mgCaptcha.stack[ key ]["sid"].value = sessObj.value; } else { var key = mgCaptcha.draw(url, id, params); } p.removeChild(imgObj); if(!!sessObj) p.removeChild(sessObj); if(onfinish && typeof onfinish == "function") onfinish.call(this, id, key, params); }, "getHtml": function(key, params) { return '