/** * Magento * * NOTICE OF LICENSE * * This source file is subject to the Academic Free License (AFL 3.0) * that is bundled with this package in the file LICENSE_AFL.txt. * It is also available through the world-wide-web at this URL: * http://opensource.org/licenses/afl-3.0.php * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to license@magento.com so we can send you a copy immediately. * * DISCLAIMER * * Do not edit or add to this file if you wish to upgrade Magento to newer * versions in the future. If you wish to customize Magento for your * needs please refer to http://www.magento.com for more information. * * @category Mage * @package js * @copyright Copyright (c) 2006-2015 X.commerce, Inc. (http://www.magento.com) * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) */ var Captcha = Class.create(); Captcha.prototype = { initialize: function(url, formId){ this.url = url; this.formId = formId; }, refresh: function(elem) { formId = this.formId; if (elem) Element.addClassName(elem, 'refreshing'); new Ajax.Request(this.url, { onSuccess: function (response) { if (response.responseText.isJSON()) { var json = response.responseText.evalJSON(); if (!json.error && json.imgSrc) { $(formId).writeAttribute('src', json.imgSrc); if (elem) Element.removeClassName(elem, 'refreshing'); } else { if (elem) Element.removeClassName(elem, 'refreshing'); } } }, method: 'post', parameters: { 'formId' : this.formId } }); } }; document.observe('billing-request:completed', function(event) { if (typeof window.checkout != 'undefined') { if (window.checkout.method == 'guest' && $('guest_checkout')){ $('guest_checkout').captcha.refresh() } if (window.checkout.method == 'register' && $('register_during_checkout')){ $('register_during_checkout').captcha.refresh() } } }); document.observe('login:setMethod', function(event) { var switchCaptchaElement = function(shown, hidden) { var inputPrefix = 'captcha-input-box-', imagePrefix = 'captcha-image-box-'; if ($(inputPrefix + hidden)) { $(inputPrefix + hidden).hide(); $(imagePrefix + hidden).hide(); } if ($(inputPrefix + shown)) { $(inputPrefix + shown).show(); $(imagePrefix + shown).show(); } }; switch (event.memo.method) { case 'guest': switchCaptchaElement('guest_checkout', 'register_during_checkout'); break; case 'register': switchCaptchaElement('register_during_checkout', 'guest_checkout'); break; } });