text: function setupAutoScroll(){0===$("div.alert-box").size()&&"small"!=getWindowsSize()&&setTimeout(function(){$(window).scrollTop()+$(window).height()<=parseInt($("#welcome").css("height"))+100&&("undefined"==typeof coinAnimationStarted||coinAnimationStarted===!1)&&autoScrollToWelcome()},4e3)}function autoScrollToWelcome(){autoscrolled===!1&&$(window).scrollTop()<=parseInt($("#welcome").css("height"))&&(autoscrolled=!0,moveTo("#what",3e3),analytics.track("AutoScrolled to Welcome section"))}function loadCoinAnimation(){"small"!=getWindowsSize()&&$("#canvas-container").load("/animation",function(){startCoinAnimation()})}function checkCoinAnimationCancel(){(autoscrolled||$(window).scrollTop()>=parseInt($("#welcome").css("height")))&&"undefined"!=typeof coinAnimationStarted&&coinAnimationStarted&&finishCoinAnimation()}function showAnimatedElements(){$("#demo-content").hasClass("hidden")?$("#show-demo").isBottomScrolledIntoView()&&setTimeout(function(){angular.element($("#start")).scope().showDemo()},2500):($("#demo-content").hasClass("available")&&($("#sample-bitcoin-address").isScrolledIntoView()&&$("#sample-bitcoin-address").hasClass("not-animated-yet")&&($("#sample-bitcoin-address").removeClass("not-animated-yet"),setTimeout(function(){$("#sample-bitcoin-address").textEffect({effect:"jumble",effectSpeed:90,completionSpeed:3e3,jumbleColor:"#7f7f7f"})},1e3)),$("#key-image").isScrolledIntoView()&&$("#key-image").hasClass("will-animate")&&$("#circle-button-3").css("opacity")>.9&&(introSequenceCircle("#key-image","flipInY"),setTimeout(showAnimatedElements,2e3)),$("#wallet-image").isScrolledIntoView()&&$("#wallet-image").hasClass("will-animate")&&$("#key-image").css("opacity")>.9&&introSequenceCircle("#wallet-image","flipInY"),$("#phone-image").isBottomScrolledIntoView()&&$("#phone-image").hasClass("will-animate")&&(introSequenceCircle("#phone-image","fadeInRightBig"),setTimeout(function(){introSequenceCircle("#pc-image","fadeInRightBig")},500),setTimeout(function(){introSequenceCircle("#browser-image","fadeInRightBig")},1e3),setTimeout(showAnimatedElements,3e3)),$("#coin-image").isBottomScrolledIntoView()&&$("#coin-image").hasClass("will-animate")&&$("#browser-image").css("opacity")>.9&&introSequenceCircle("#coin-image","flipInY"),$("#minibasket-image").isBottomScrolledIntoView()&&$("#minibasket-image").hasClass("will-animate")&&introSequenceCircle("#minibasket-image","fadeInLeftBig"),$("#miniwallet-image").isBottomScrolledIntoView()&&$("#miniwallet-image").hasClass("will-animate")&&introSequenceCircle("#miniwallet-image","fadeInRightBig")),$("#circle-button-1").isScrolledIntoView()&&$("#circle-button-1").hasClass("will-animate")&&(introSequenceCircle("#circle-button-1","fadeInRightBig"),setTimeout(function(){introSequenceCircle("#circle-button-2","fadeInRightBig")},300),setTimeout(function(){introSequenceCircle("#circle-button-3","fadeInRightBig")},600),setTimeout(showAnimatedElements,2e3))),$("#demo-form-title").isScrolledIntoView()&&$("#demo-form-title").letterfx({fx:"wave",letter_end:"rewind",fx_duration:"300ms"})}function introSequenceCircle(id,fading_effect){$(id).show(),$(id).removeClass("will-animate").addClass("animated-two-sec").addClass(fading_effect)}function hideAnimatedElements(){$(".will-animate").css("opacity",0)}function onYouTubeIframeAPIReady(){player=new YT.Player("youtube-video");try{player.addEventListener("onStateChange","onPlayerStateChange"),player.addEventListener("onError","onPlayerError")}catch(err){setTimeout(onYouTubeIframeAPIReady,1e3)}}function onPlayerStateChange(event){event.data==YT.PlayerState.PLAYING&&setTimeout(autoScrollOnVideoFinish,1e3)}function autoScrollOnVideoFinish(){null!==player&&(player.getDuration()-player.getCurrentTime()<=3.5||player.getPlayerState()==YT.PlayerState.ENDED?(player=null,moveTo("#start",3e3),analytics.track("Watched video WhatIsBitcoin")):setTimeout(autoScrollOnVideoFinish,300))}function onPlayerError(){moveTo("#start",2e3)}function updateDemoContent(){setupTouchLayouts(),updateToolTips()}function moveOutDemoTransactionSection(){$(document).ready(function(){1==$("#transaction-demo").children().size()&&$("#transaction-demo-placeholder").append($("#transference-demo"))})}function moveInDemoTransactionSection(){$(document).ready(function(){1==$("#transaction-demo-placeholder").children().size()&&$("#transaction-demo").append($("#transference-demo"))})}function loadDemoContent(){$("#demo-content").hasClass("empty-content")&&($("#demo-content").removeClass("empty-content"),moveOutDemoTransactionSection(),$("#demo-content").load("/demo",function(){moveInDemoTransactionSection(),updateDemoContent(),hideAnimatedElements(),registerDemoParsleyEvents()}))}function showDemoTransaction(){$("#transference-demo").hasClass("available")&&$("#transference-demo").isBottomScrolledIntoView()&&!$("#transference-demo").hasClass("enabled")&&($("#transference-demo").addClass("enabled"),setTimeout(function(){$("#demo-shopping-cart-info").fadeIn(2e3,function(){setTimeout(function(){$("#demo-shopping-cart-content").fadeIn("slow",function(){$("#demo-wallet-send-info").fadeIn(2e3,function(){setTimeout(function(){$("#demo-wallet-send-content").fadeIn("slow"),demo_input_amount_glowing=!0,demo_input_address_glowing=!0,demo_copy_address_button_glowing=!0,startDemoFieldsGlowing()},1500)})})},1500)})},500))}function showBottomElements(){show_bottom_elements&&$("#transference-demo").isBottomScrolledIntoView()&&setTimeout(function(){$("#get-bitcoins-section").fadeIn("slow"),$("#use").fadeIn("slow"),$("#myths").fadeIn("slow")},500)}function startDemoFieldsGlowing(){demo_input_amount_glowing||demo_input_address_glowing||demo_copy_address_button_glowing?(demo_input_amount_glowing&&(demo_input_amount_glowing_on=!demo_input_amount_glowing_on,demo_input_amount_glowing_on&&!$("#demo-input-amount").parsley().isValid()?$("#demo-input-amount").css("box-shadow","0px 0px 40px #FF5E5E"):$("#demo-input-amount").css("box-shadow","0px 0px 10px #FFF")),demo_input_address_glowing&&(demo_input_address_glowing_on=!demo_input_address_glowing_on,demo_input_address_glowing_on&&!$("#demo-pay-to-address-input").parsley().isValid()?$("#demo-pay-to-address-input").css("box-shadow","0px 0px 40px #FF5E5E"):$("#demo-pay-to-address-input").css("box-shadow","0px 0px 10px #FFF")),demo_copy_address_button_glowing&&(demo_copy_address_button_glowing_on=!demo_copy_address_button_glowing_on,demo_copy_address_button_glowing_on?$("#copy-demo-button").css("box-shadow","0px 0px 50px #EA0000"):$("#copy-demo-button").css("box-shadow","0px 0px 10px #FFF")),setTimeout(function(){startDemoFieldsGlowing()},1800)):($("#demo-input-amount").css("box-shadow","0px 0px 0px #FFF"),$("#demo-pay-to-address-input").css("box-shadow","0px 0px 0px #FFF"),$("#copy-demo-button").css("box-shadow","0px 0px 0px #FFF"))}function fillDemoInputAmount(scope){$("#demo-input-amount").val("0.1"),"undefined"==typeof scope?(console.log("without scope"),$("#demo-input-amount").scope().$apply(function(){$("#demo-input-amount").scope().input_amount=$("#demo-input-amount").val()})):(console.log("WITH scope"),scope.input_amount=$("#demo-input-amount").val())}function copyDemoPayToAddres(){$("#demo-pay-to-address-input").val($("#demo-pay-to-address").text())}function registerDemoParsleyEvents(){$("#demo-input-amount").parsley().subscribe("parsley:field:validate",function(){var current_value=$("#demo-input-amount").val();if(!$("#demo-input-amount").parsley().isValid()&&-1!=current_value.indexOf(",")){var res=current_value.replace(",",".");$("#demo-input-amount").val(res),$("#demo-input-amount").parsley().validate()}})}function enable_bottom_sections_after_demo(){$("#show-blockchain-section").fadeIn("slow"),show_bottom_elements=!0,$("#mining-content").load("/mining"),$("#mining-POW-content").load("/mining-POW")}function setupActiveJavaScript(){"small"!=getWindowsSize()&&$("#welcome-content").css({position:"fixed",margin:"0 0 0 -37.5%"}),hideAnimatedElements()}function getWindowsSize(){return $("#breakpoints div:visible").first().data("size")}function moveTo(id,speed){speed="undefined"==typeof speed?1e3:speed;var offset=20,target=$(id).offset().top-offset;$("html, body").animate({scrollTop:target},speed,"easeInOutCubic")}function setupNavigationMenu(){$("div.navigation-menu").on({mouseenter:function(){window["mouse-over-navigation-menu"]=!0,$("#navigation-menu-icon").slideUp(200),setTimeout(function(){window["mouse-over-navigation-menu"]&&$("div.navigation-menu").find("div.navigation-content").slideDown(200).removeClass("hidden")},200)},mouseleave:function(){window["mouse-over-navigation-menu"]=!1,setTimeout(function(){window["mouse-over-navigation-menu"]||($("div.navigation-menu").find("div.navigation-content").slideUp(200).addClass("hidden",400),setTimeout(function(){window["mouse-over-navigation-menu"]||$("#navigation-menu-icon").slideDown(200)},200))},200)}}),$('a[href^="#"]').click(function(event){var id=$(this).attr("href");moveTo(id),event.preventDefault()})}function setupScrollHintAnimation(){$(window).scrollTop()<=parseInt($("#welcome").css("height"))&&$("#scroll-arrow").animate({top:"+=40"},4e3,"easeInOutQuart")}function getScrolledItems(elem){var docViewTop=$(window).scrollTop(),docViewBottom=docViewTop+$(window).height(),elemTop=$(elem).offset().top,elemBottom=elemTop+$(elem).height();return[docViewTop,docViewBottom,elemTop,elemBottom]}function scrollFading(){if(scrollFadingBlocked)return null!=scrollFadingChecker&&(clearTimeout(scrollFadingChecker),scrollFadingChecker=null),void(scrollFadingChecker=setTimeout(200,scrollFading));scrollFadingBlocked=!0;var sizeWelcome=parseInt($("#welcome").css("height")),scrolled=1.5*$(window).scrollTop(),percentage=1-scrolled/sizeWelcome;0>=percentage?(percentage=0,$("#welcome-content").addClass("hidden"),$("#coin-canvas").css("opacity",0)):($("#welcome-content").removeClass("hidden"),$("#welcome-content").css("opacity",percentage),$("#coin-canvas").css("opacity",percentage),$("#welcome-content").find("div#scroll-message").css("opacity",percentage-scrolled/sizeWelcome),"large"==getWindowsSize()&&(.6>percentage?$("#welcome-content").find("h1").addClass("de_extruded").removeClass("extruded"):$("#welcome-content").find("h1").addClass("extruded").removeClass("de_extruded"),.83>percentage?$("#welcome-content").find("h2").addClass("de_extruded-subtitle").removeClass("extruded-subtitle"):$("#welcome-content").find("h2").addClass("extruded-subtitle").removeClass("de_extruded-subtitle")));var sizeWelcomeAndWhat=parseInt($("#welcome").css("height"))+parseInt($("#what").css("height"))/2,footsteps_opacity=scrolled*scrolled/1500/sizeWelcomeAndWhat;$("#footsteps-image").css("opacity",footsteps_opacity/2),checkCoinAnimationCancel(),showDemoTransaction(),showBottomElements(),showAnimatedElements(),scrollFadingBlocked=!1}function setupScrollFadingAndResize(){$("body,html").bind("scroll mousedown DOMMouseScroll mousewheel keyup",function(e){(e.which>0||"mousedown"===e.type||"mousewheel"===e.type)&&$("html,body").stop()})}function updateSizes(){$(document).ready(function(){var video_width=($("#youtube-video-container").height(),$("#youtube-video-container").width()),space_side_video=($(window).width()-video_width)/2,ratio=space_side_video/178,youtube_aspect_ratio=.5625;if($("#youtube-video").width(parseInt(video_width)).height(parseInt(youtube_aspect_ratio*video_width)),$("#youtube-video-container").css("padding-bottom",$("#youtube-video").height()+10+"px"),$("#footsteps-image").width(parseInt(174*ratio)),$("#footsteps-image").height(parseInt(444*ratio)),$("#footsteps-image").css("top","-"+$("#youtube-video").height()/2+"px"),$("div#what").height(parseInt($(".video-container").find("iframe").height()+$("div#what").find("h1").height()+$("div#what").find("h3").height())+170),"large"!=getWindowsSize()){var element=$("div.right-border");element.removeClass("right-border"),element.addClass("bottom-border")}else if("large"==getWindowsSize()){var element=$("div.bottom-border");element.removeClass("bottom-border"),element.addClass("right-border")}"undefined"!=typeof coinAnimationStarted&&("small"==getWindowsSize()?finishCoinAnimation():coinAnimationFinished?finishCoinAnimation():positionCoinAnimationCanvas())})}function resizeWindow(){$(document).ready(function(){updateSizes()})}function setupTouchLayouts(){Modernizr.touch&&$(".wallet-info").addClass("touch-wallet-border")}function detectLocation(){jQuery.getJSON("http://freegeoip.net/json/",function(location){user_location=location})}function loadLocalBitcoinSellers(){$("#bitcoin-sellers").empty();var cc=user_location.country_code,sellers_list=[],link_start='<a target="_blank" href="';("NL"==cc||"BE"==cc||"LU"==cc)&&(sellers_list.push('https://bitonic.nl/?refcode=8w0UlJ123111"> Bitonic </a>'),sellers_list.push('https://www.happycoins.com/Account/Index/eb754703-5a33-46fd-b0d2-9a2bb7e465e3"> HappyCoins </a>'),sellers_list.push('http://www.bitcoin-bon.nl"> Bitcoin Bon </a>')),("GB"==cc||"SE"==cc||"NL"==cc||"DE"==cc||"FR"==cc||"IT"==cc||"ES"==cc||"PL"==cc||"HU"==cc)&&sellers_list.push('http://safello.com/buy"> Safello </a>'),("GB"==cc||"SE"==cc||"NL"==cc||"DE"==cc||"FR"==cc||"IT"==cc||"ES"==cc||"PL"==cc||"HU"==cc||"PT"==cc||"LI"==cc||"LU"==cc||"BE"==cc||"AT"==cc)&&sellers_list.push('https://bittylicious.com/r/19542"> Bittylicious </a>'),"RU"==cc&&sellers_list.push('https://btc-e.com" target="_blank"> BTC-e </a>'),"US"==cc&&(sellers_list.push('https://coinbase.com/?r=52ac992c01478f0e730000b9&utm_campaign=user-referral&src=referral-link"> coinbase </a>'),sellers_list.push('http://www.expresscoin.com/"> expresscoin </a>'));for(var i=0;i<sellers_list.length;i++)i%4===0?$("#bitcoin-sellers").append("<br>"):i>0&&$("#bitcoin-sellers").append("-"),$("#bitcoin-sellers").append(link_start+sellers_list[i])}function removeToolTipElement(element){$(element).removeAttr("title"),$(element).removeClass("has-external-tooltip").removeClass("has-tooltip").removeClass("hide-tooltip-small")}function updateToolTips(){$(document).ready(function(){$(".has-tooltip[title]").each(function(index,element){return"small"!=getWindowsSize()?!1:void($(element).hasClass("hide-tooltip-small")&&removeToolTipElement(element))}),$(".has-tooltip[title]").qtip({style:{classes:"tooltip-text qtip-youtube qtip-shadow qtip-rounded"},position:{my:"bottom center",at:"top center",target:this},hide:{fixed:!0,delay:200}}),$(".has-external-tooltip").each(function(index,element){$(element).hasClass("hide-tooltip-small")?removeToolTipElement(element):$(element).qtip({content:{text:$("#"+$(element).attr("tooltip-id"))},style:{classes:"tooltip-text qtip-youtube qtip-shadow qtip-rounded"},position:{my:"bottom center",at:"top center",target:element},hide:{fixed:!0,delay:200}})})})}function setupLocalization(){"undefined"!=typeof window.ParsleyConfig.i18n[I18n.locale]&&window.ParsleyValidator.setLocale(I18n.locale)}!function($,undefined){$.rails!==undefined&&$.error("jquery-ujs has already been loaded!");var rails,$document=$(document);$.rails=rails={linkClickSelector:"a[data-confirm], a[data-method], a[data-remote], a[data-disable-with]",buttonClickSelector:"button[data-remote]",inputChangeSelector:"select[data-remote], input[data-remote], textarea[data-remote]",formSubmitSelector:"form",formInputClickSelector:"form input[type=submit], form input[type=image], form button[type=submit], form button:not([type])",disableSelector:"input[data-disable-with], button[data-disable-with], textarea[data-disable-with]",enableSelector:"input[data-disable-with]:disabled, button[data-disable-with]:disabled, textarea[data-disable-with]:disabled",requiredInputSelector:"input[name][required]:not([disabled]),textarea[name][required]:not([disabled])",fileInputSelector:"input[type=file]",linkDisableSelector:"a[data-disable-with]",CSRFProtection:function(xhr){var token=$('meta[name="csrf-token"]').attr("content");token&&xhr.setRequestHeader("X-CSRF-Token",token)},refreshCSRFTokens:function(){var csrfToken=$("meta[name=csrf-token]").attr("content"),csrfParam=$("meta[name=csrf-param]").attr("content");$('form input[name="'+csrfParam+'"]').val(csrfToken)},fire:function(obj,name,data){var event=$.Event(name);return obj.trigger(event,data),event.result!==!1},confirm:function(message){return confirm(message)},ajax:function(options){return $.ajax(options)},href:function(element){return element.attr("href")},handleRemote:function(element){var method,url,data,elCrossDomain,crossDomain,withCredentials,dataType,options;if(rails.fire(element,"ajax:before")){if(elCrossDomain=element.data("cross-domain"),crossDomain=elCrossDomain===undefined?null:elCrossDomain,withCredentials=element.data("with-credentials")||null,dataType=element.data("type")||$.ajaxSettings&&$.ajaxSettings.dataType,element.is("form")){method=element.attr("method"),url=element.attr("action"),data=element.serializeArray();var button=element.data("ujs:submit-button");button&&(data.push(button),element.data("ujs:submit-button",null))}else element.is(rails.inputChangeSelector)?(method=element.data("method"),url=element.data("url"),data=element.serialize(),element.data("params")&&(data=data+"&"+element.data("params"))):element.is(rails.buttonClickSelector)?(method=element.data("method")||"get",url=element.data("url"),data=element.serialize(),element.data("params")&&(data=data+"&"+element.data("params"))):(method=element.data("method"),url=rails.href(element),data=element.data("params")||null);options={type:method||"GET",data:data,dataType:dataType,beforeSend:function(xhr,settings){return settings.dataType===undefined&&xhr.setRequestHeader("accept","*/*;q=0.5, "+settings.accepts.script),rails.fire(element,"ajax:beforeSend",[xhr,settings])},success:function(data,status,xhr){element.trigger("ajax:success",[data,status,xhr])},complete:function(xhr,status){element.trigger("ajax:complete",[xhr,status])},error:function(xhr,status,error){element.trigger("ajax:error",[xhr,status,error])},crossDomain:crossDomain},withCredentials&&(options.xhrFields={withCredentials:withCredentials}),url&&(options.url=url);var jqxhr=rails.ajax(options);return element.trigger("ajax:send",jqxhr),jqxhr}return!1},handleMethod:function(link){var href=rails.href(link),method=link.data("method"),target=link.attr("target"),csrfToken=$("meta[name=csrf-token]").attr("content"),csrfParam=$("meta[name=csrf-param]").attr("content"),form=$('<form method="post" action="'+href+'"></form>'),metadataInput='<input name="_method" value="'+method+'" type="hidden" />';csrfParam!==undefined&&csrfToken!==undefined&&(metadataInput+='<input name="'+csrfParam+'" value="'+csrfToken+'" type="hidden" />'),target&&form.attr("target",target),form.hide().append(metadataInput).appendTo("body"),form.submit()},disableFormElements:function(form){form.find(rails.disableSelector).each(function(){var element=$(this),method=element.is("button")?"html":"val";element.data("ujs:enable-with",element[method]()),element[method](element.data("disable-with")),element.prop("disabled",!0)})},enableFormElements:function(form){form.find(rails.enableSelector).each(function(){var element=$(this),method=element.is("button")?"html":"val";element.data("ujs:enable-with")&&element[method](element.data("ujs:enable-with")),element.prop("disabled",!1)})},allowAction:function(element){var callback,message=element.data("confirm"),answer=!1;return message?(rails.fire(element,"confirm")&&(answer=rails.confirm(message),callback=rails.fire(element,"confirm:complete",[answer])),answer&&callback):!0},blankInputs:function(form,specifiedSelector,nonBlank){var input,valueToCheck,inputs=$(),selector=specifiedSelector||"input,textarea",allInputs=form.find(selector);return allInputs.each(function(){if(input=$(this),valueToCheck=input.is("input[type=checkbox],input[type=radio]")?input.is(":checked"):input.val(),!valueToCheck==!nonBlank){if(input.is("input[type=radio]")&&allInputs.filter('input[type=radio]:checked[name="'+input.attr("name")+'"]').length)return!0;inputs=inputs.add(input)}}),inputs.length?inputs:!1},nonBlankInputs:function(form,specifiedSelector){return rails.blankInputs(form,specifiedSelector,!0)},stopEverything:function(e){return $(e.target).trigger("ujs:everythingStopped"),e.stopImmediatePropagation(),!1},disableElement:function(element){element.data("ujs:enable-with",element.html()),element.html(element.data("disable-with")),element.bind("click.railsDisable",function(e){return rails.stopEverything(e)})},enableElement:function(element){element.data("ujs:enable-with")!==undefined&&(element.html(element.data("ujs:enable-with")),element.removeData("ujs:enable-with")),element.unbind("click.railsDisable")}},rails.fire($document,"rails:attachBindings")&&($.ajaxPrefilter(function(options,originalOptions,xhr){options.crossDomain||rails.CSRFProtection(xhr)}),$document.delegate(rails.linkDisableSelector,"ajax:complete",function(){rails.enableElement($(this))}),$document.delegate(rails.linkClickSelector,"click.rails",function(e){var link=$(this),method=link.data("method"),data=link.data("params"),metaClick=e.metaKey||e.ctrlKey;if(!rails.allowAction(link))return rails.stopEverything(e);if(!metaClick&&link.is(rails.linkDisableSelector)&&rails.disableElement(link),link.data("remote")!==undefined){if(metaClick&&(!method||"GET"===method)&&!data)return!0;var handleRemote=rails.handleRemote(link);return handleRemote===!1?rails.enableElement(link):handleRemote.error(function(){rails.enableElement(link)}),!1}return link.data("method")?(rails.handleMethod(link),!1):void 0}),$document.delegate(rails.buttonClickSelector,"click.rails",function(e){var button=$(this);return rails.allowAction(button)?(rails.handleRemote(button),!1):rails.stopEverything(e)}),$document.delegate(rails.inputChangeSelector,"change.rails",function(e){var link=$(this);return rails.allowAction(link)?(rails.handleRemote(link),!1):rails.stopEverything(e)}),$document.delegate(rails.formSubmitSelector,"submit.rails",function(e){var form=$(this),remote=form.data("remote")!==undefined,blankRequiredInputs=rails.blankInputs(form,rails.requiredInputSelector),nonBlankFileInputs=rails.nonBlankInputs(form,rails.fileInputSelector);if(!rails.allowAction(form))return rails.stopEverything(e);if(blankRequiredInputs&&form.attr("novalidate")==undefined&&rails.fire(form,"ajax:aborted:required",[blankRequiredInputs]))return rails.stopEverything(e);if(remote){if(nonBlankFileInputs){setTimeout(function(){rails.disableFormElements(form)},13);var aborted=rails.fire(form,"ajax:aborted:file",[nonBlankFileInputs]);return aborted||setTimeout(function(){rails.enableFormElements(form)},13),aborted}return rails.handleRemote(form),!1}setTimeout(function(){rails.disableFormElements(form)},13)}),$document.delegate(rails.formInputClickSelector,"click.rails",function(event){var button=$(this);if(!rails.allowAction(button))return rails.stopEverything(event);var name=button.attr("name"),data=name?{name:name,value:button.val()}:null;button.closest("form").data("ujs:submit-button",data)}),$document.delegate(rails.formSubmitSelector,"ajax:beforeSend.rails",function(event){this==event.target&&rails.disableFormElements($(this))}),$document.delegate(rails.formSubmitSelector,"ajax:complete.rails",function(event){this==event.target&&rails.enableFormElements($(this))}),$(function(){rails.refreshCSRFTokens()}))}(jQuery),function(){var CSRFToken,Click,ComponentUrl,Link,browserCompatibleDocumentParser,browserIsntBuggy,browserSupportsCustomEvents,browserSupportsPushState,browserSupportsTurbolinks,bypassOnLoadPopstate,cacheCurrentPage,cacheSize,changePage,constrainPageCacheTo,createDocument,currentState,enableTransitionCache,executeScriptTags,extractTitleAndBody,fetch,fetchHistory,fetchReplacement,historyStateIsDefined,initializeTurbolinks,installDocumentReadyPageEventTriggers,installHistoryChangeHandler,installJqueryAjaxSuccessPageUpdateTrigger,loadedAssets,pageCache,pageChangePrevented,pagesCached,popCookie,processResponse,recallScrollPosition,referer,reflectNewUrl,reflectRedirectedUrl,rememberCurrentState,rememberCurrentUrl,rememberReferer,removeNoscriptTags,requestMethodIsSafe,resetScrollPosition,transitionCacheEnabled,transitionCacheFor,triggerEvent,visit,xhr,_ref,__indexOf=[].indexOf||function(item){for(var i=0,l=this.length;l>i;i++)if(i in this&&this[i]===item)return i;return-1},__hasProp={}.hasOwnProperty,__extends=function(child,parent){function ctor(){this.constructor=child}for(var key in parent)__hasProp.call(parent,key)&&(child[key]=parent[key]);return ctor.prototype=parent.prototype,child.prototype=new ctor,child.__super__=parent.prototype,child},__slice=[].slice;pageCache={},cacheSize=10,transitionCacheEnabled=!1,currentState=null,loadedAssets=null,referer=null,createDocument=null,xhr=null,fetch=function(url){var cachedPage;return url=new ComponentUrl(url),rememberReferer(),cacheCurrentPage(),reflectNewUrl(url),transitionCacheEnabled&&(cachedPage=transitionCacheFor(url.absolute))?(fetchHistory(cachedPage),fetchReplacement(url)):fetchReplacement(url,resetScrollPosition)},transitionCacheFor=function(url){var cachedPage;return cachedPage=pageCache[url],cachedPage&&!cachedPage.transitionCacheDisabled?cachedPage:void 0},enableTransitionCache=function(enable){return null==enable&&(enable=!0),transitionCacheEnabled=enable},fetchReplacement=function(url,onLoadFunction){return null==onLoadFunction&&(onLoadFunction=function(){return function(){}}(this)),triggerEvent("page:fetch",{url:url.absolute}),null!=xhr&&xhr.abort(),xhr=new XMLHttpRequest,xhr.open("GET",url.withoutHashForIE10compatibility(),!0),xhr.setRequestHeader("Accept","text/html, application/xhtml+xml, application/xml"),xhr.setRequestHeader("X-XHR-Referer",referer),xhr.onload=function(){var doc;return triggerEvent("page:receive"),(doc=processResponse())?(changePage.apply(null,extractTitleAndBody(doc)),reflectRedirectedUrl(),onLoadFunction(),triggerEvent("page:load")):document.location.href=url.absolute},xhr.onloadend=function(){return xhr=null},xhr.onerror=function(){return document.location.href=url.absolute},xhr.send()},fetchHistory=function(cachedPage){return null!=xhr&&xhr.abort(),changePage(cachedPage.title,cachedPage.body),recallScrollPosition(cachedPage),triggerEvent("page:restore")},cacheCurrentPage=function(){var currentStateUrl;return currentStateUrl=new ComponentUrl(currentState.url),pageCache[currentStateUrl.absolute]={url:currentStateUrl.relative,body:document.body,title:document.title,positionY:window.pageYOffset,positionX:window.pageXOffset,cachedAt:(new Date).getTime(),transitionCacheDisabled:null!=document.querySelector("[data-no-transition-cache]")},constrainPageCacheTo(cacheSize)},pagesCached=function(size){return null==size&&(size=cacheSize),/^[\d]+$/.test(size)?cacheSize=parseInt(size):void 0},constrainPageCacheTo=function(limit){var cacheTimesRecentFirst,key,pageCacheKeys,_i,_len,_results;for(pageCacheKeys=Object.keys(pageCache),cacheTimesRecentFirst=pageCacheKeys.map(function(url){return pageCache[url].cachedAt}).sort(function(a,b){return b-a}),_results=[],_i=0,_len=pageCacheKeys.length;_len>_i;_i++)key=pageCacheKeys[_i],pageCache[key].cachedAt<=cacheTimesRecentFirst[limit]&&(triggerEvent("page:expire",pageCache[key]),_results.push(delete pageCache[key]));return _results},changePage=function(title,body,csrfToken,runScripts){return document.title=title,document.documentElement.replaceChild(body,document.body),null!=csrfToken&&CSRFToken.update(csrfToken),runScripts&&executeScriptTags(),currentState=window.history.state,triggerEvent("page:change"),triggerEvent("page:update")},executeScriptTags=function(){var attr,copy,nextSibling,parentNode,script,scripts,_i,_j,_len,_len1,_ref,_ref1;for(scripts=Array.prototype.slice.call(document.body.querySelectorAll('script:not([data-turbolinks-eval="false"])')),_i=0,_len=scripts.length;_len>_i;_i++)if(script=scripts[_i],""===(_ref=script.type)||"text/javascript"===_ref){for(copy=document.createElement("script"),_ref1=script.attributes,_j=0,_len1=_ref1.length;_len1>_j;_j++)attr=_ref1[_j],copy.setAttribute(attr.name,attr.value);copy.appendChild(document.createTextNode(script.innerHTML)),parentNode=script.parentNode,nextSibling=script.nextSibling,parentNode.removeChild(script),parentNode.insertBefore(copy,nextSibling)}},removeNoscriptTags=function(node){return node.innerHTML=node.innerHTML.replace(/<noscript[\S\s]*?<\/noscript>/gi,""),node},reflectNewUrl=function(url){return(url=new ComponentUrl(url)).absolute!==referer?window.history.pushState({turbolinks:!0,url:url.absolute},"",url.absolute):void 0},reflectRedirectedUrl=function(){var location,preservedHash;return(location=xhr.getResponseHeader("X-XHR-Redirected-To"))?(location=new ComponentUrl(location),preservedHash=location.hasNoHash()?document.location.hash:"",window.history.replaceState(currentState,"",location.href+preservedHash)):void 0},rememberReferer=function(){return referer=document.location.href},rememberCurrentUrl=function(){return window.history.replaceState({turbolinks:!0,url:document.location.href},"",document.location.href)},rememberCurrentState=function(){return currentState=window.history.state},recallScrollPosition=function(page){return window.scrollTo(page.positionX,page.positionY)},resetScrollPosition=function(){return document.location.hash?document.location.href=document.location.href:window.scrollTo(0,0)},popCookie=function(name){var value,_ref;return value=(null!=(_ref=document.cookie.match(new RegExp(name+"=(\\w+)")))?_ref[1].toUpperCase():void 0)||"",document.cookie=name+"=; expires=Thu, 01-Jan-70 00:00:01 GMT; path=/",value},triggerEvent=function(name,data){var event;return event=document.createEvent("Events"),data&&(event.data=data),event.initEvent(name,!0,!0),document.dispatchEvent(event)},pageChangePrevented=function(){return!triggerEvent("page:before-change")},processResponse=function(){var assetsChanged,clientOrServerError,doc,extractTrackAssets,intersection,validContent;return clientOrServerError=function(){var _ref;return 400<=(_ref=xhr.status)&&600>_ref},validContent=function(){return xhr.getResponseHeader("Content-Type").match(/^(?:text\/html|application\/xhtml\+xml|application\/xml)(?:;|$)/)},extractTrackAssets=function(doc){var node,_i,_len,_ref,_results;for(_ref=doc.head.childNodes,_results=[],_i=0,_len=_ref.length;_len>_i;_i++)node=_ref[_i],null!=("function"==typeof node.getAttribute?node.getAttribute("data-turbolinks-track"):void 0)&&_results.push(node.getAttribute("src")||node.getAttribute("href"));return _results},assetsChanged=function(doc){var fetchedAssets;return loadedAssets||(loadedAssets=extractTrackAssets(document)),fetchedAssets=extractTrackAssets(doc),fetchedAssets.length!==loadedAssets.length||intersection(fetchedAssets,loadedAssets).length!==loadedAssets.length},intersection=function(a,b){var value,_i,_len,_ref,_results;for(a.length>b.length&&(_ref=[b,a],a=_ref[0],b=_ref[1]),_results=[],_i=0,_len=a.length;_len>_i;_i++)value=a[_i],__indexOf.call(b,value)>=0&&_results.push(value);return _results},!clientOrServerError()&&validContent()&&(doc=createDocument(xhr.responseText),doc&&!assetsChanged(doc))?doc:void 0},extractTitleAndBody=function(doc){var title;return title=doc.querySelector("title"),[null!=title?title.textContent:void 0,removeNoscriptTags(doc.body),CSRFToken.get(doc).token,"runScripts"]},CSRFToken={get:function(doc){var tag;return null==doc&&(doc=document),{node:tag=doc.querySelector('meta[name="csrf-token"]'),token:null!=tag&&"function"==typeof tag.getAttribute?tag.getAttribute("content"):void 0}},update:function(latest){var current;return current=this.get(),null!=current.token&&null!=latest&&current.token!==latest?current.node.setAttribute("content",latest):void 0}},browserCompatibleDocumentParser=function(){var createDocumentUsingDOM,createDocumentUsingParser,createDocumentUsingWrite,e,testDoc,_ref;createDocumentUsingParser=function(html){return(new DOMParser).parseFromString(html,"text/html")},createDocumentUsingDOM=function(html){var doc;return doc=document.implementation.createHTMLDocument(""),doc.documentElement.innerHTML=html,doc},createDocumentUsingWrite=function(html){var doc;return doc=document.implementation.createHTMLDocument(""),doc.open("replace"),doc.write(html),doc.close(),doc};try{if(window.DOMParser)return testDoc=createDocumentUsingParser("<html><body><p>test"),createDocumentUsingParser}catch(_error){return e=_error,testDoc=createDocumentUsingDOM("<html><body><p>test"),createDocumentUsingDOM}finally{if(1!==(null!=testDoc&&null!=(_ref=testDoc.body)?_ref.childNodes.length:void 0))return createDocumentUsingWrite}},ComponentUrl=function(){function ComponentUrl(original){return this.original=null!=original?original:document.location.href,this.original.constructor===ComponentUrl?this.original:void this._parse()}return ComponentUrl.prototype.withoutHash=function(){return this.href.replace(this.hash,"")},ComponentUrl.prototype.withoutHashForIE10compatibility=function(){return this.withoutHash()
  },ComponentUrl.prototype.hasNoHash=function(){return 0===this.hash.length},ComponentUrl.prototype._parse=function(){var _ref;return(null!=this.link?this.link:this.link=document.createElement("a")).href=this.original,_ref=this.link,this.href=_ref.href,this.protocol=_ref.protocol,this.host=_ref.host,this.hostname=_ref.hostname,this.port=_ref.port,this.pathname=_ref.pathname,this.search=_ref.search,this.hash=_ref.hash,this.origin=[this.protocol,"//",this.hostname].join(""),0!==this.port.length&&(this.origin+=":"+this.port),this.relative=[this.pathname,this.search,this.hash].join(""),this.absolute=this.href},ComponentUrl}(),Link=function(_super){function Link(link){return this.link=link,this.link.constructor===Link?this.link:(this.original=this.link.href,void Link.__super__.constructor.apply(this,arguments))}return __extends(Link,_super),Link.HTML_EXTENSIONS=["html"],Link.allowExtensions=function(){var extension,extensions,_i,_len;for(extensions=1<=arguments.length?__slice.call(arguments,0):[],_i=0,_len=extensions.length;_len>_i;_i++)extension=extensions[_i],Link.HTML_EXTENSIONS.push(extension);return Link.HTML_EXTENSIONS},Link.prototype.shouldIgnore=function(){return this._crossOrigin()||this._anchored()||this._nonHtml()||this._optOut()||this._target()},Link.prototype._crossOrigin=function(){return this.origin!==(new ComponentUrl).origin},Link.prototype._anchored=function(){var current;return(this.hash&&this.withoutHash())===(current=new ComponentUrl).withoutHash()||this.href===current.href+"#"},Link.prototype._nonHtml=function(){return this.pathname.match(/\.[a-z]+$/g)&&!this.pathname.match(new RegExp("\\.(?:"+Link.HTML_EXTENSIONS.join("|")+")?$","g"))},Link.prototype._optOut=function(){var ignore,link;for(link=this.link;!ignore&&link!==document;)ignore=null!=link.getAttribute("data-no-turbolink"),link=link.parentNode;return ignore},Link.prototype._target=function(){return 0!==this.link.target.length},Link}(ComponentUrl),Click=function(){function Click(event){this.event=event,this.event.defaultPrevented||(this._extractLink(),this._validForTurbolinks()&&(pageChangePrevented()||visit(this.link.href),this.event.preventDefault()))}return Click.installHandlerLast=function(event){return event.defaultPrevented?void 0:(document.removeEventListener("click",Click.handle,!1),document.addEventListener("click",Click.handle,!1))},Click.handle=function(event){return new Click(event)},Click.prototype._extractLink=function(){var link;for(link=this.event.target;link.parentNode&&"A"!==link.nodeName;)link=link.parentNode;return"A"===link.nodeName&&0!==link.href.length?this.link=new Link(link):void 0},Click.prototype._validForTurbolinks=function(){return null!=this.link&&!(this.link.shouldIgnore()||this._nonStandardClick())},Click.prototype._nonStandardClick=function(){return this.event.which>1||this.event.metaKey||this.event.ctrlKey||this.event.shiftKey||this.event.altKey},Click}(),bypassOnLoadPopstate=function(fn){return setTimeout(fn,500)},installDocumentReadyPageEventTriggers=function(){return document.addEventListener("DOMContentLoaded",function(){return triggerEvent("page:change"),triggerEvent("page:update")},!0)},installJqueryAjaxSuccessPageUpdateTrigger=function(){return"undefined"!=typeof jQuery?jQuery(document).on("ajaxSuccess",function(event,xhr){return jQuery.trim(xhr.responseText)?triggerEvent("page:update"):void 0}):void 0},installHistoryChangeHandler=function(event){var cachedPage,_ref;return(null!=(_ref=event.state)?_ref.turbolinks:void 0)?(cachedPage=pageCache[new ComponentUrl(event.state.url).absolute])?(cacheCurrentPage(),fetchHistory(cachedPage)):visit(event.target.location.href):void 0},initializeTurbolinks=function(){return rememberCurrentUrl(),rememberCurrentState(),createDocument=browserCompatibleDocumentParser(),document.addEventListener("click",Click.installHandlerLast,!0),bypassOnLoadPopstate(function(){return window.addEventListener("popstate",installHistoryChangeHandler,!1)})},historyStateIsDefined=void 0!==window.history.state||navigator.userAgent.match(/Firefox\/2[6|7]/),browserSupportsPushState=window.history&&window.history.pushState&&window.history.replaceState&&historyStateIsDefined,browserIsntBuggy=!navigator.userAgent.match(/CriOS\//),requestMethodIsSafe="GET"===(_ref=popCookie("request_method"))||""===_ref,browserSupportsTurbolinks=browserSupportsPushState&&browserIsntBuggy&&requestMethodIsSafe,browserSupportsCustomEvents=document.addEventListener&&document.createEvent,browserSupportsCustomEvents&&(installDocumentReadyPageEventTriggers(),installJqueryAjaxSuccessPageUpdateTrigger()),browserSupportsTurbolinks?(visit=fetch,initializeTurbolinks()):visit=function(url){return document.location.href=url},this.Turbolinks={visit:visit,pagesCached:pagesCached,enableTransitionCache:enableTransitionCache,allowLinkExtensions:Link.allowExtensions,supported:browserSupportsTurbolinks}}.call(this);var ltubApp=angular.module("ltubApp",[]);ltubApp.controller("DemoCtrl",["$scope",function($scope){$scope.showDemo=function(){$("#demo-content").hasClass("empty-content")&&loadDemoContent(),$("#show-demo").fadeOut("slow",function(){$("div.sStart").height("100%"),$("#show-demo").replaceWith($("#demo-content").fadeIn("slow",function(){$("#demo-content").addClass("available")})),$("#demo-content").removeClass("hidden"),updateSizes(),moveTo("#demo-content"),showAnimatedElements(),$("#transference-demo").addClass("available"),"small"==getWindowsSize()&&$(document).ready(function(){fillDemoInputAmount(),copyDemoPayToAddres(),$("#demo-transaction-form").parsley().validate()}),analytics.track("Click Discover Bitcoin",{small:"small"==getWindowsSize(),language:I18n.locale})})}}]),ltubApp.controller("TransactionCtrl",["$scope",function($scope){$scope.total_bitcoins=2,$scope.disabled=!1,$scope.failures=0,$scope.transactionDemo=function(){$scope.disabled||($("#demo-transaction-form").parsley().validate()?($("#demo-transaction-send-button").addClass("disabled").qtip("destroy",!0),$("#demo-transaction-send-button").removeAttr("title"),$("#demo-pay-to-address-input").attr("disabled",""),$("#demo-input-amount").attr("disabled",""),$scope.disabled=!0,"medium"!=getWindowsSize()||$("#demo-transaction-details").isCompletelyScrolledIntoView()||moveTo("#demo-transaction-details"),setTimeout(function(){$("#demo-transaction-details").replaceWith($("#ok-purchase").fadeIn("slow")),$("#confirmation-sound").length>0&&$("#confirmation-sound")[0].play(),"small"!=getWindowsSize()?setTimeout(function(){$("#congratulations-demo-modal").foundation("reveal","open"),enable_bottom_sections_after_demo()},1800):($("#congratulations-demo-modal").foundation("reveal","open"),enable_bottom_sections_after_demo())},1e3),analytics.track("Click Send demo transaction successful")):($scope.failures++,$("#demo-input-amount").parsley().isValid()||($("#demo-input-amount").addClass("shake"),setTimeout(function(){$("#demo-input-amount").removeClass("shake")},2e3)),$("#demo-pay-to-address-input").parsley().isValid()||($("#demo-pay-to-address-input").addClass("shake"),setTimeout(function(){$("#demo-pay-to-address-input").removeClass("shake")},2e3)),$("#demo-input-amount").parsley().isValid()||2!=$scope.failures?analytics.track("Failed attempt to submit demo transaction",{failed_count:$scope.failures,valid_amount:$("#demo-input-amount").parsley().isValid(),amount_value:$("#demo-input-amount").val(),valid_address:$("#demo-pay-to-address-input").parsley().isValid(),address_value:$("#demo-pay-to-address-input").val(),auto_filled:!1}):(fillDemoInputAmount($scope),analytics.track("Failed attempt to submit demo transaction",{failed_count:$scope.failures,valid_amount:$("#demo-input-amount").parsley().isValid(),amount_value:$("#demo-input-amount").val(),valid_address:$("#demo-pay-to-address-input").parsley().isValid(),address_value:$("#demo-pay-to-address-input").val(),auto_filled:!0}),$("#help-demo-modal").foundation("reveal","open"),$("#demo-transaction-form").parsley().validate())))},$scope.remainingBitcoinsFormattedText=function(){var result=$scope.remainingBitcoins();return result!=$scope.total_bitcoins?result+" "+I18n.t("out_of")+" "+$scope.total_bitcoins+" bitcoins "+I18n.t("available"):$scope.total_bitcoins+" bitcoins "+I18n.t("available")},$scope.remainingBitcoins=function(){var result=$scope.total_bitcoins,parsed=parseFloat($scope.input_amount);return parsed>0&&(result=$scope.total_bitcoins-parsed),result.toFixed(8).replace(/(\.[0-9]*?)0+$/,"$1").replace(/([0-9]*)\.$/,"$1")},$scope.copyAddress=function(){demo_copy_address_button_glowing=!1,$("#copy-demo-button").css("box-shadow","0px 0px 0px #FFF").removeClass("address-info-block-shop-higlighted").addClass("address-info-block-shop"),"medium"!=getWindowsSize()||$("#demo-pay-to-address-input").isBottomScrolledIntoView()||moveTo("#demo-pay-to-address-input"),copyDemoPayToAddres(),$("#demo-transaction-form").parsley().validate(),analytics.track("Click Copy demo Bitcoin address")},$scope.showBlockchainSection=function(){$("#show-blockchain-section").replaceWith($("#demo-section-blockchain").fadeIn("slow")),analytics.track("Click Show Blockchain extra information")},$scope.discardDemoModal=function(){$("#congratulations-demo-modal").foundation("reveal","close"),moveTo("#show-blockchain-section"),analytics.track("Click Show more information from demo Send successful modal")},$scope.disableAddressGlowing=function(){$("#demo-pay-to-address-input").parsley().isValid()?(demo_input_address_glowing=!1,$("#demo-pay-to-address-input").css("box-shadow","0px 0px 0px #FFF")):(demo_copy_address_button_glowing=!0,$("#copy-demo-button").removeClass("address-info-block-shop").addClass("address-info-block-shop-higlighted"))},$scope.disableAmountGlowing=function(){$("#demo-input-amount").parsley().isValid()&&(demo_input_amount_glowing=!1,$("#demo-input-amount").css("box-shadow","0px 0px 0px #FFF"))}}]);var autoscrolled=!1,player,tag=document.createElement("script");tag.src="https://www.youtube.com/iframe_api";var firstScriptTag=document.getElementsByTagName("script")[0];firstScriptTag.parentNode.insertBefore(tag,firstScriptTag);var demo_input_amount_glowing=!1,demo_input_amount_glowing_on=!1,demo_input_address_glowing=!1,demo_input_address_glowing_on=!1,demo_copy_address_button_glowing=!1,demo_copy_address_button_glowing_on=!1;!function(I18n){"use strict";var slice=Array.prototype.slice,padding=function(number){return("0"+number.toString()).substr(-2)},DATE={day_names:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],abbr_day_names:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],month_names:[null,"January","February","March","April","May","June","July","August","September","October","November","December"],abbr_month_names:[null,"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],meridian:["AM","PM"]},NUMBER_FORMAT={precision:3,separator:".",delimiter:",",strip_insignificant_zeros:!1},CURRENCY_FORMAT={unit:"$",precision:2,format:"%u%n",delimiter:",",separator:"."},PERCENTAGE_FORMAT={precision:3,separator:".",delimiter:""},SIZE_UNITS=[null,"kb","mb","gb","tb"],DEFAULT_OPTIONS={defaultLocale:"en",locale:"en",defaultSeparator:".",placeholder:/(?:\{\{|%\{)(.*?)(?:\}\}?)/gm,fallbacks:!1,translations:{}};I18n.reset=function(){this.defaultLocale=DEFAULT_OPTIONS.defaultLocale,this.locale=DEFAULT_OPTIONS.locale,this.defaultSeparator=DEFAULT_OPTIONS.defaultSeparator,this.placeholder=DEFAULT_OPTIONS.placeholder,this.fallbacks=DEFAULT_OPTIONS.fallbacks,this.translations=DEFAULT_OPTIONS.translations},I18n.initializeOptions=function(){"undefined"==typeof this.defaultLocale&&null!==this.defaultLocale&&(this.defaultLocale=DEFAULT_OPTIONS.defaultLocale),"undefined"==typeof this.locale&&null!==this.locale&&(this.locale=DEFAULT_OPTIONS.locale),"undefined"==typeof this.defaultSeparator&&null!==this.defaultSeparator&&(this.defaultSeparator=DEFAULT_OPTIONS.defaultSeparator),"undefined"==typeof this.placeholder&&null!==this.placeholder&&(this.placeholder=DEFAULT_OPTIONS.placeholder),"undefined"==typeof this.fallbacks&&null!==this.fallbacks&&(this.fallbacks=DEFAULT_OPTIONS.fallbacks),"undefined"==typeof this.translations&&null!==this.translations&&(this.translations=DEFAULT_OPTIONS.translations)},I18n.initializeOptions(),I18n.locales={},I18n.locales.get=function(locale){var result=this[locale]||this[I18n.locale]||this["default"];return"function"==typeof result&&(result=result(locale)),result instanceof Array==!1&&(result=[result]),result},I18n.locales["default"]=function(locale){var countryCode,locales=[],list=[];return locale&&locales.push(locale),!locale&&I18n.locale&&locales.push(I18n.locale),I18n.fallbacks&&I18n.defaultLocale&&locales.push(I18n.defaultLocale),locales.forEach(function(locale){countryCode=locale.split("-")[0],~list.indexOf(locale)||list.push(locale),I18n.fallbacks&&countryCode&&countryCode!==locale&&!~list.indexOf(countryCode)&&list.push(countryCode)}),locales.length||locales.push("en"),list},I18n.pluralization={},I18n.pluralization.get=function(locale){return this[locale]||this[I18n.locale]||this["default"]},I18n.pluralization["default"]=function(count){switch(count){case 0:return["zero","other"];case 1:return["one"];default:return["other"]}},I18n.currentLocale=function(){return this.locale||this.defaultLocale},I18n.isSet=function(value){return void 0!==value&&null!==value},I18n.lookup=function(scope,options){options=this.prepareOptions(options);var locale,scopes,translations,locales=this.locales.get(options.locale);for(locales[0];locales.length;)if(locale=locales.shift(),scopes=scope.split(this.defaultSeparator),translations=this.translations[locale]){for(;scopes.length&&(translations=translations[scopes.shift()],void 0!==translations&&null!==translations););if(void 0!==translations&&null!==translations)return translations}return this.isSet(options.defaultValue)?options.defaultValue:void 0},I18n.meridian=function(){var time=this.lookup("time"),date=this.lookup("date");return time&&time.am&&time.pm?[time.am,time.pm]:date&&date.meridian?date.meridian:DATE.meridian},I18n.prepareOptions=function(){for(var subject,args=slice.call(arguments),options={};args.length;)if(subject=args.shift(),"object"==typeof subject)for(var attr in subject)subject.hasOwnProperty(attr)&&(this.isSet(options[attr])||(options[attr]=subject[attr]));return options},I18n.translate=function(scope,options){options=this.prepareOptions(options);var translation=this.lookup(scope,options);return void 0===translation||null===translation?this.missingTranslation(scope):("string"==typeof translation?translation=this.interpolate(translation,options):translation instanceof Object&&this.isSet(options.count)&&(translation=this.pluralize(options.count,translation,options)),translation)},I18n.interpolate=function(message,options){options=this.prepareOptions(options);var placeholder,value,name,regex,matches=message.match(this.placeholder);if(!matches)return message;for(;matches.length;)placeholder=matches.shift(),name=placeholder.replace(this.placeholder,"$1"),value=options[name].toString().replace(/\$/gm,"_#$#_"),this.isSet(options[name])||(value=this.missingPlaceholder(placeholder,message)),regex=new RegExp(placeholder.replace(/\{/gm,"\\{").replace(/\}/gm,"\\}")),message=message.replace(regex,value);return message.replace("_#$#_","$")},I18n.pluralize=function(count,scope,options){options=this.prepareOptions(options);var translations,pluralizer,keys,key,message;if(translations=scope instanceof Object?scope:this.lookup(scope,options),!translations)return this.missingTranslation(scope);for(pluralizer=this.pluralization.get(options.locale),keys=pluralizer(Math.abs(count));keys.length;)if(key=keys.shift(),this.isSet(translations[key])){message=translations[key];break}return options.count=String(count),this.interpolate(message,options)},I18n.missingTranslation=function(){var message='[missing "';return message+=this.currentLocale()+".",message+=slice.call(arguments).join("."),message+='" translation]'},I18n.missingPlaceholder=function(placeholder){return"[missing "+placeholder+" value]"},I18n.toNumber=function(number,options){options=this.prepareOptions(options,this.lookup("number.format"),NUMBER_FORMAT);var precision,formattedNumber,negative=0>number,string=Math.abs(number).toFixed(options.precision).toString(),parts=string.split("."),buffer=[];for(number=parts[0],precision=parts[1];number.length>0;)buffer.unshift(number.substr(Math.max(0,number.length-3),3)),number=number.substr(0,number.length-3);return formattedNumber=buffer.join(options.delimiter),options.strip_insignificant_zeros&&precision&&(precision=precision.replace(/0+$/,"")),options.precision>0&&precision&&(formattedNumber+=options.separator+precision),negative&&(formattedNumber="-"+formattedNumber),formattedNumber},I18n.toCurrency=function(number,options){return options=this.prepareOptions(options,this.lookup("number.currency.format"),this.lookup("number.format"),CURRENCY_FORMAT),number=this.toNumber(number,options),number=options.format.replace("%u",options.unit).replace("%n",number)},I18n.localize=function(scope,value){switch(scope){case"currency":return this.toCurrency(value);case"number":return scope=this.lookup("number.format"),this.toNumber(value,scope);case"percentage":return this.toPercentage(value);default:return scope.match(/^(date|time)/)?this.toTime(scope,value):value.toString()}},I18n.parseDate=function(date){var matches,convertedDate,fraction;if("object"==typeof date)return date;if(matches=date.toString().match(/(\d{4})-(\d{2})-(\d{2})(?:[ T](\d{2}):(\d{2}):(\d{2})([\.,]\d{1,3})?)?(Z|\+00:?00)?/)){for(var i=1;6>=i;i++)matches[i]=parseInt(matches[i],10)||0;matches[2]-=1,fraction=matches[7]?1e3*("0"+matches[7]):null,convertedDate=matches[8]?new Date(Date.UTC(matches[1],matches[2],matches[3],matches[4],matches[5],matches[6],fraction)):new Date(matches[1],matches[2],matches[3],matches[4],matches[5],matches[6],fraction)}else"number"==typeof date?(convertedDate=new Date,convertedDate.setTime(date)):date.match(/([A-Z][a-z]{2}) ([A-Z][a-z]{2}) (\d+) (\d+:\d+:\d+) ([+-]\d+) (\d+)/)?(convertedDate=new Date,convertedDate.setTime(Date.parse([RegExp.$1,RegExp.$2,RegExp.$3,RegExp.$6,RegExp.$4,RegExp.$5].join(" ")))):date.match(/\d+ \d+:\d+:\d+ [+-]\d+ \d+/)?(convertedDate=new Date,convertedDate.setTime(Date.parse(date))):(convertedDate=new Date,convertedDate.setTime(Date.parse(date)));return convertedDate},I18n.strftime=function(date,format){var options=this.lookup("date"),meridianOptions=I18n.meridian();options||(options={}),options=this.prepareOptions(options,DATE);var weekDay=date.getDay(),day=date.getDate(),year=date.getFullYear(),month=date.getMonth()+1,hour=date.getHours(),hour12=hour,meridian=hour>11?1:0,secs=date.getSeconds(),mins=date.getMinutes(),offset=date.getTimezoneOffset(),absOffsetHours=Math.floor(Math.abs(offset/60)),absOffsetMinutes=Math.abs(offset)-60*absOffsetHours,timezoneoffset=(offset>0?"-":"+")+(absOffsetHours.toString().length<2?"0"+absOffsetHours:absOffsetHours)+(absOffsetMinutes.toString().length<2?"0"+absOffsetMinutes:absOffsetMinutes);return hour12>12?hour12-=12:0===hour12&&(hour12=12),format=format.replace("%a",options.abbr_day_names[weekDay]),format=format.replace("%A",options.day_names[weekDay]),format=format.replace("%b",options.abbr_month_names[month]),format=format.replace("%B",options.month_names[month]),format=format.replace("%d",padding(day)),format=format.replace("%e",day),format=format.replace("%-d",day),format=format.replace("%H",padding(hour)),format=format.replace("%-H",hour),format=format.replace("%I",padding(hour12)),format=format.replace("%-I",hour12),format=format.replace("%m",padding(month)),format=format.replace("%-m",month),format=format.replace("%M",padding(mins)),format=format.replace("%-M",mins),format=format.replace("%p",meridianOptions[meridian]),format=format.replace("%S",padding(secs)),format=format.replace("%-S",secs),format=format.replace("%w",weekDay),format=format.replace("%y",padding(year)),format=format.replace("%-y",padding(year).replace(/^0+/,"")),format=format.replace("%Y",year),format=format.replace("%z",timezoneoffset)},I18n.toTime=function(scope,dateString){var date=this.parseDate(dateString),format=this.lookup(scope);return date.toString().match(/invalid/i)?date.toString():format?this.strftime(date,format):date.toString()},I18n.toPercentage=function(number,options){return options=this.prepareOptions(options,this.lookup("number.percentage.format"),this.lookup("number.format"),PERCENTAGE_FORMAT),number=this.toNumber(number,options),number+"%"},I18n.toHumanSize=function(number,options){for(var unit,precision,kb=1024,size=number,iterations=0;size>=kb&&4>iterations;)size/=kb,iterations+=1;return 0===iterations?(unit=this.t("number.human.storage_units.units.byte",{count:size}),precision=0):(unit=this.t("number.human.storage_units.units."+SIZE_UNITS[iterations]),precision=size-Math.floor(size)===0?0:1),options=this.prepareOptions(options,{precision:precision,format:"%n%u",delimiter:""}),number=this.toNumber(size,options),number=options.format.replace("%u",unit).replace("%n",number)},I18n.t=I18n.translate,I18n.l=I18n.localize,I18n.p=I18n.pluralize}("undefined"==typeof exports?this.I18n||(this.I18n={}):exports),function($){"use strict";var LetterFx=function(element,options){this.options=$.extend({},$.fn.letterfx.defaults,options),this.num_completed_fx=0,this.is_done=!1,this.monitor_timer=null,this.killswitch=null,this.$element=$(element),this.options.restore&&(this.original_html=this.$element.html()),this.init()};LetterFx.prototype.init=function(){return this.new_html=this.$element.text().replace(this.options.pattern,this.options.replacement),this.$element.addClass(this.options.css.element.base).addClass(this.options.css.element.before),this.$element.html(this.new_html),this.$letters=this.$element.find(this.options.selector),this.$letters.css("transition-duration",this.options.fx_duration).addClass(this.options.css.letters.base).addClass(this.options.css.letters.before),this.bindLetterFxEnd(),this.num_letters=this.$letters.length,this.fx(),this},LetterFx.prototype.bindLetterFxEnd=function(){var options=this.options,lfx=this;return this.$letters.bind("transitionend",function(){switch(options.onLetterComplete($(this),lfx.$element,lfx),lfx.notifyFXEnd(),options.letter_end){case"destroy":$(this).remove();break;case"rewind":lfx.applyLetterFx($(this),options.timing,options.css.letters.after,options.css.letters.before);break;case"stay":break;default:$(this).replaceWith($(this).text())}}),lfx},LetterFx.prototype.terminate=function(){switch(this.is_done=!0,this.options.onElementComplete(this.$element,this),clearTimeout(this.killswitch),this.options.element_end){case"destroy":this.$element.remove();break;case"stay":break;default:this.$element.html(this.original_html),this.$element.removeClass(this.options.css.element.base).removeClass(this.options.css.element.after)}},LetterFx.prototype.notifyFXEnd=function(){clearTimeout(this.monitor_timer),this.num_completed_fx++;var lfx=this;return this.monitor_timer=setTimeout(function(){lfx.num_completed_fx%lfx.num_letters===0&&lfx.terminate()},Math.max(this.options.timing+10,50)),this},LetterFx.prototype.startKillWatch=function(){var fx_duration=this.options.fx_duration.match(/\d+s/)?parseInt(this.options.fx_duration):1,time=Math.ceil(1.5*this.num_letters*this.options.timing*fx_duration),lfx=this;this.killswitch=window.setTimeout(function(){lfx.isDone()||lfx.terminate()},time)},LetterFx.prototype.fx=function(){var lfx=this;this.startKillWatch(),this.$element.removeClass(this.options.css.element.before).addClass(this.options.css.element.after);var $letters=this.options.sort(this.$letters),options=this.options;return $letters.each(function(i,letter){lfx.applyLetterFx($(letter),(i+1)*options.timing,options.css.letters.before,options.css.letters.after)}),this},LetterFx.prototype.applyLetterFx=function($letter,timing,css_before,css_after){this.options;return window.setTimeout(function(){$letter.removeClass(css_before).addClass(css_after)},timing),this},LetterFx.prototype.isDone=function(){return this.is_done};var LetterFxConfig=function(conf){this.config=$.extend({},$.fn.letterfx.defaults,conf),this.buildCss(this.config.backwards),this.config.words&&(this.config.pattern=/(\S+)/g)};LetterFxConfig.prototype.buildCss=function(flip){var options=this.config,before=flip?"after":"before",after=flip?"before":"after",css={element:{},letters:{}};css.element.base=options.element_class+"-container "+options.fx.replace(/(\S+)/g,options.element_class+"-$1-container"),css.element[before]=options.fx.replace(/(\S+)/g,options.element_class+"-$1-before-container"),css.element[after]=options.fx.replace(/(\S+)/g,options.element_class+"-$1-after-container"),css.letters.base=options.element_class,css.letters[before]=options.fx.replace(/(\S+)/g,options.element_class+"-$1-before"),css.letters[after]=options.fx.replace(/(\S+)/g,options.element_class+"-$1-after"),this.config=$.extend(options,{css:css})},LetterFxConfig.prototype.getConfig=function(){return this.config},LetterFxConfig.parse=function(config){return new LetterFxConfig(config).getConfig()},$.fn.letterfx=function(config){return config=LetterFxConfig.parse(config),$(this).each(function(){var $element=$(this);(!$element.data("letterfx-obj")||$element.data("letterfx-obj").isDone())&&$element.data("letterfx-obj",new LetterFx($element,config))})},$.fn.letterfx.sort={random:function(array){for(var temporaryValue,randomIndex,currentIndex=array.length;0!==currentIndex;)randomIndex=Math.floor(Math.random()*currentIndex),currentIndex-=1,temporaryValue=array[currentIndex],array[currentIndex]=array[randomIndex],array[randomIndex]=temporaryValue;return array},reverse:function($array){return $array.toArray().reverse()}},$.fn.letterfx.patterns={letters:/(\S)/gi},$.fn.letterfx.defaults={fx:"spin fly-top",pattern:/(\S)/gi,word:!1,backwards:!1,replacement:"<span>$1</span>",selector:"span",timing:50,fx_duration:"1s",sort:function($letters){return $letters},onLetterComplete:function(){},onElementComplete:function(){},letter_end:"restore",element_end:"restore",restore:!0,destroy:!1,element_class:"letterfx",css:{element:{base:"",before:"",after:""},letters:{base:"",before:"",after:""}}}}(jQuery);var show_bottom_elements=!1;$.fn.isBottomScrolledIntoView=function(){var items=getScrolledItems(this),docViewTop=items[0],docViewBottom=items[1],elemBottom=(items[2],items[3]);return elemBottom>=docViewTop&&docViewBottom>=elemBottom},$.fn.isScrolledIntoView=function(){var items=getScrolledItems(this),docViewTop=items[0],docViewBottom=items[1],elemTop=items[2],elemBottom=items[3];return docViewBottom>=elemBottom&&elemTop>=docViewTop||elemTop>=docViewTop&&docViewBottom>=elemTop||elemBottom>=docViewTop&&docViewBottom>=elemBottom||docViewTop>=elemTop&&elemBottom>=docViewBottom},$.fn.isCompletelyScrolledIntoView=function(){var items=getScrolledItems(this),docViewTop=items[0],docViewBottom=items[1],elemTop=items[2],elemBottom=items[3];return docViewBottom>=elemBottom&&elemTop>=docViewTop};var scrollFadingBlocked=!1,scrollFadingChecker=null,windowResize={height:0,width:0,update:function(){this.width=$(window).width(),this.height=$(window).height()},checkResize:function(callback){(this.width!=$(window).width()||this.height!=$(window).height())&&(this.update(),callback.apply())}};windowResize.update(),$(document).on("open","#WIP-modal",function(){loadLocalBitcoinSellers(),analytics.track("Click Get first bitcoins")}),$(document).on("opened","#mining-info-modal",function(){analytics.track("Click Show Mining information")}),$(document).on("opened","#mining-POW-modal",function(){analytics.track("Click Mining POW")}),window.ParsleyConfig=window.ParsleyConfig||{},function($){window.ParsleyConfig=$.extend(!0,{},window.ParsleyConfig,{validators:{equal:{fn:function(value,elem){return value==elem}}},i18n:{en:{equal:"Use the Bitcoin address the shop provided"},es:{equal:"Usa la direcci\xf3n de Bitcoin que la tienda proporciona"}}})}(window.jQuery),!function($){var ParsleyUtils={attr:function($element,namespace,checkAttr){var attribute,obj={},regex=new RegExp("^"+namespace,"i");if("undefined"==typeof $element||"undefined"==typeof $element[0])return{};for(var i in $element[0].attributes)if(attribute=$element[0].attributes[i],"undefined"!=typeof attribute&&null!==attribute&&attribute.specified&&regex.test(attribute.name)){if("undefined"!=typeof checkAttr&&new RegExp(checkAttr+"$","i").test(attribute.name))return!0;obj[this.camelize(attribute.name.replace(namespace,""))]=this.deserializeValue(attribute.value)}return"undefined"==typeof checkAttr?obj:!1},setAttr:function($element,namespace,attr,value){$element[0].setAttribute(this.dasherize(namespace+attr),String(value))},get:function(obj,path){for(var i=0,paths=(path||"").split(".");this.isObject(obj)||this.isArray(obj);)if(obj=obj[paths[i++]],i===paths.length)return obj;return void 0},hash:function(length){return String(Math.random()).substring(2,length?length+2:9)},isArray:function(mixed){return"[object Array]"===Object.prototype.toString.call(mixed)},isObject:function(mixed){return mixed===Object(mixed)},deserializeValue:function(value){var num;try{return value?"true"==value||("false"==value?!1:"null"==value?null:isNaN(num=Number(value))?/^[\[\{]/.test(value)?$.parseJSON(value):value:num):value}catch(e){return value}},camelize:function(str){return str.replace(/-+(.)?/g,function(match,chr){return chr?chr.toUpperCase():""})},dasherize:function(str){return str.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}},ParsleyDefaults={namespace:"data-parsley-",inputs:"input, textarea, select",excluded:"input[type=button], input[type=submit], input[type=reset]",priorityEnabled:!0,uiEnabled:!0,validationThreshold:3,focus:"first",trigger:!1,errorClass:"parsley-error",successClass:"parsley-success",classHandler:function(){},errorsContainer:function(){},errorsWrapper:'<ul class="parsley-errors-list"></ul>',errorTemplate:"<li></li>"},ParsleyAbstract=function(){};ParsleyAbstract.prototype={asyncSupport:!1,actualizeOptions:function(){return this.options=this.parsleyInstance.OptionsFactory.get(this),this},validateThroughValidator:function(value,constraints,priority){return window.ParsleyValidator.validate.apply(window.ParsleyValidator,[value,constraints,priority])},subscribe:function(name,fn){return $.listenTo(this,name.toLowerCase(),fn),this},unsubscribe:function(name){return $.unsubscribeTo(this,name.toLowerCase()),this},reset:function(){if("ParsleyForm"!==this.__class__)return $.emit("parsley:field:reset",this);for(var i=0;i<this.fields.length;i++)$.emit("parsley:field:reset",this.fields[i]);$.emit("parsley:form:reset",this)},destroy:function(){if("ParsleyForm"!==this.__class__)return $.emit("parsley:field:destroy",this),void this.$element.removeData("Parsley");for(var i=0;i<this.fields.length;i++)this.fields[i].destroy();$.emit("parsley:form:destroy",this),this.$element.removeData("Parsley")}},function(exports){var Validator=function(options){return this.__class__="Validator",this.__version__="0.5.5",this.options=options||{},this.bindingKey=this.options.bindingKey||"_validatorjsConstraint",this};Validator.prototype={constructor:Validator,validate:function(objectOrString,AssertsOrConstraintOrGroup,group){if("string"!=typeof objectOrString&&"object"!=typeof objectOrString)throw new Error("You must validate an object or a string");return"string"==typeof objectOrString||_isArray(objectOrString)?this._validateString(objectOrString,AssertsOrConstraintOrGroup,group):this.isBinded(objectOrString)?this._validateBindedObject(objectOrString,AssertsOrConstraintOrGroup):this._validateObject(objectOrString,AssertsOrConstraintOrGroup,group)},bind:function(object,constraint){if("object"!=typeof object)throw new Error("Must bind a Constraint to an object");return object[this.bindingKey]=new Constraint(constraint),this},unbind:function(object){return"undefined"==typeof object._validatorjsConstraint?this:(delete object[this.bindingKey],this)},isBinded:function(object){return"undefined"!=typeof object[this.bindingKey]},getBinded:function(object){return this.isBinded(object)?object[this.bindingKey]:null},_validateString:function(string,assert,group){var result,failures=[];_isArray(assert)||(assert=[assert]);for(var i=0;i<assert.length;i++){if(!(assert[i]instanceof Assert))throw new Error("You must give an Assert or an Asserts array to validate a string");result=assert[i].check(string,group),result instanceof Violation&&failures.push(result)}return failures.length?failures:!0},_validateObject:function(object,constraint,group){if("object"!=typeof constraint)throw new Error("You must give a constraint to validate an object");return constraint instanceof Constraint?constraint.check(object,group):new Constraint(constraint).check(object,group)
  },_validateBindedObject:function(object,group){return object[this.bindingKey].check(object,group)}},Validator.errorCode={must_be_a_string:"must_be_a_string",must_be_an_array:"must_be_an_array",must_be_a_number:"must_be_a_number",must_be_a_string_or_array:"must_be_a_string_or_array"};var Constraint=function(data,options){if(this.__class__="Constraint",this.options=options||{},this.nodes={},data)try{this._bootstrap(data)}catch(err){throw new Error("Should give a valid mapping object to Constraint",err,data)}return this};Constraint.prototype={constructor:Constraint,check:function(object,group){var result,failures={};for(var property in this.options.strict?this.nodes:object)if(this.options.strict?this.has(property,object):this.has(property))result=this._check(property,object[property],group),(_isArray(result)&&result.length>0||!_isArray(result)&&!_isEmptyObject(result))&&(failures[property]=result);else if(this.options.strict)try{(new Assert).HaveProperty(property).validate(object)}catch(violation){failures[property]=violation}return _isEmptyObject(failures)?!0:failures},add:function(node,object){if(object instanceof Assert||_isArray(object)&&object[0]instanceof Assert)return this.nodes[node]=object,this;if("object"==typeof object&&!_isArray(object))return this.nodes[node]=object instanceof Constraint?object:new Constraint(object),this;throw new Error("Should give an Assert, an Asserts array, a Constraint",object)},has:function(node,nodes){var nodes="undefined"!=typeof nodes?nodes:this.nodes;return"undefined"!=typeof nodes[node]},get:function(node,placeholder){return this.has(node)?this.nodes[node]:placeholder||null},remove:function(node){var _nodes=[];for(var i in this.nodes)i!==node&&(_nodes[i]=this.nodes[i]);return this.nodes=_nodes,this},_bootstrap:function(data){if(data instanceof Constraint)return this.nodes=data.nodes;for(var node in data)this.add(node,data[node])},_check:function(node,value,group){if(this.nodes[node]instanceof Assert)return this._checkAsserts(value,[this.nodes[node]],group);if(_isArray(this.nodes[node]))return this._checkAsserts(value,this.nodes[node],group);if(this.nodes[node]instanceof Constraint)return this.nodes[node].check(value,group);throw new Error("Invalid node",this.nodes[node])},_checkAsserts:function(value,asserts,group){for(var result,failures=[],i=0;i<asserts.length;i++)result=asserts[i].check(value,group),"undefined"!=typeof result&&!0!==result&&failures.push(result);return failures}};var Violation=function(assert,value,violation){if(this.__class__="Violation",!(assert instanceof Assert))throw new Error("Should give an assertion implementing the Assert interface");this.assert=assert,this.value=value,"undefined"!=typeof violation&&(this.violation=violation)};Violation.prototype={show:function(){var show={assert:this.assert.__class__,value:this.value};return this.violation&&(show.violation=this.violation),show},__toString:function(){if("undefined"!=typeof this.violation)var violation='", '+this.getViolation().constraint+" expected was "+this.getViolation().expected;return this.assert.__class__+' assert failed for "'+this.value+violation||""},getViolation:function(){var constraint,expected;for(constraint in this.violation)expected=this.violation[constraint];return{constraint:constraint,expected:expected}}};var Assert=function(group){return this.__class__="Assert",this.__parentClass__=this.__class__,this.groups=[],"undefined"!=typeof group&&this.addGroup(group),this};Assert.prototype={construct:Assert,check:function(value,group){if(!(group&&!this.hasGroup(group)||!group&&this.hasGroups()))try{return this.validate(value,group)}catch(violation){return violation}},hasGroup:function(group){return _isArray(group)?this.hasOneOf(group):"Any"===group?!0:this.hasGroups()?-1!==this.groups.indexOf(group):"Default"===group},hasOneOf:function(groups){for(var i=0;i<groups.length;i++)if(this.hasGroup(groups[i]))return!0;return!1},hasGroups:function(){return this.groups.length>0},addGroup:function(group){return _isArray(group)?this.addGroups(group):(this.hasGroup(group)||this.groups.push(group),this)},removeGroup:function(group){for(var _groups=[],i=0;i<this.groups.length;i++)group!==this.groups[i]&&_groups.push(this.groups[i]);return this.groups=_groups,this},addGroups:function(groups){for(var i=0;i<groups.length;i++)this.addGroup(groups[i]);return this},HaveProperty:function(node){return this.__class__="HaveProperty",this.node=node,this.validate=function(object){if("undefined"==typeof object[this.node])throw new Violation(this,object,{value:this.node});return!0},this},Blank:function(){return this.__class__="Blank",this.validate=function(value){if("string"!=typeof value)throw new Violation(this,value,{value:Validator.errorCode.must_be_a_string});if(""!==value.replace(/^\s+/g,"").replace(/\s+$/g,""))throw new Violation(this,value);return!0},this},Callback:function(fn){if(this.__class__="Callback",this.arguments=Array.prototype.slice.call(arguments),1===this.arguments.length?this.arguments=[]:this.arguments.splice(0,1),"function"!=typeof fn)throw new Error("Callback must be instanciated with a function");return this.fn=fn,this.validate=function(value){var arguments=[value].concat(this.arguments),result=this.fn.apply(this,arguments);if(!0!==result)throw new Violation(this,value,{result:result});return!0},this},Choice:function(list){if(this.__class__="Choice",!_isArray(list)&&"function"!=typeof list)throw new Error("Choice must be instanciated with an array or a function");return this.list=list,this.validate=function(value){for(var list="function"==typeof this.list?this.list():this.list,i=0;i<list.length;i++)if(value===list[i])return!0;throw new Violation(this,value,{choices:list})},this},Collection:function(constraint){return this.__class__="Collection",this.constraint="undefined"!=typeof constraint?new Constraint(constraint):!1,this.validate=function(collection,group){var result,validator=new Validator,count=0,failures={},groups=this.groups.length?this.groups:group;if(!_isArray(collection))throw new Violation(this,array,{value:Validator.errorCode.must_be_an_array});for(var i=0;i<collection.length;i++)result=this.constraint?validator.validate(collection[i],this.constraint,groups):validator.validate(collection[i],groups),_isEmptyObject(result)||(failures[count]=result),count++;return _isEmptyObject(failures)?!0:failures},this},Count:function(count){return this.__class__="Count",this.count=count,this.validate=function(array){if(!_isArray(array))throw new Violation(this,array,{value:Validator.errorCode.must_be_an_array});var count="function"==typeof this.count?this.count(array):this.count;if(isNaN(Number(count)))throw new Error("Count must be a valid interger",count);if(count!==array.length)throw new Violation(this,array,{count:count});return!0},this},Email:function(){return this.__class__="Email",this.validate=function(value){var regExp=/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i;if("string"!=typeof value)throw new Violation(this,value,{value:Validator.errorCode.must_be_a_string});if(!regExp.test(value))throw new Violation(this,value);return!0},this},Eql:function(eql){if(this.__class__="Eql","undefined"==typeof eql)throw new Error("Equal must be instanciated with an Array or an Object");return this.eql=eql,this.validate=function(value){var eql="function"==typeof this.eql?this.eql(value):this.eql;if(!expect.eql(eql,value))throw new Violation(this,value,{eql:eql});return!0},this},EqualTo:function(reference){if(this.__class__="EqualTo","undefined"==typeof reference)throw new Error("EqualTo must be instanciated with a value or a function");return this.reference=reference,this.validate=function(value){var reference="function"==typeof this.reference?this.reference(value):this.reference;if(reference!==value)throw new Violation(this,value,{value:reference});return!0},this},GreaterThan:function(threshold){if(this.__class__="GreaterThan","undefined"==typeof threshold)throw new Error("Should give a threshold value");return this.threshold=threshold,this.validate=function(value){if(""===value||isNaN(Number(value)))throw new Violation(this,value,{value:Validator.errorCode.must_be_a_number});if(this.threshold>=value)throw new Violation(this,value,{threshold:this.threshold});return!0},this},GreaterThanOrEqual:function(threshold){if(this.__class__="GreaterThanOrEqual","undefined"==typeof threshold)throw new Error("Should give a threshold value");return this.threshold=threshold,this.validate=function(value){if(""===value||isNaN(Number(value)))throw new Violation(this,value,{value:Validator.errorCode.must_be_a_number});if(this.threshold>value)throw new Violation(this,value,{threshold:this.threshold});return!0},this},InstanceOf:function(classRef){if(this.__class__="InstanceOf","undefined"==typeof classRef)throw new Error("InstanceOf must be instanciated with a value");return this.classRef=classRef,this.validate=function(value){if(!0!=value instanceof this.classRef)throw new Violation(this,value,{classRef:this.classRef});return!0},this},IPv4:function(){return this.__class__="IPv4",this.validate=function(value){var regExp=/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;if("string"!=typeof value)throw new Violation(this,value,{value:Validator.errorCode.must_be_a_string});if(!regExp.test(value))throw new Violation(this,value);return!0},this},Length:function(boundaries){if(this.__class__="Length",!boundaries.min&&!boundaries.max)throw new Error("Lenth assert must be instanciated with a { min: x, max: y } object");return this.min=boundaries.min,this.max=boundaries.max,this.validate=function(value){if("string"!=typeof value&&!_isArray(value))throw new Violation(this,value,{value:Validator.errorCode.must_be_a_string_or_array});if("undefined"!=typeof this.min&&this.min===this.max&&value.length!==this.min)throw new Violation(this,value,{min:this.min,max:this.max});if("undefined"!=typeof this.max&&value.length>this.max)throw new Violation(this,value,{max:this.max});if("undefined"!=typeof this.min&&value.length<this.min)throw new Violation(this,value,{min:this.min});return!0},this},LessThan:function(threshold){if(this.__class__="LessThan","undefined"==typeof threshold)throw new Error("Should give a threshold value");return this.threshold=threshold,this.validate=function(value){if(""===value||isNaN(Number(value)))throw new Violation(this,value,{value:Validator.errorCode.must_be_a_number});if(this.threshold<=value)throw new Violation(this,value,{threshold:this.threshold});return!0},this},LessThanOrEqual:function(threshold){if(this.__class__="LessThanOrEqual","undefined"==typeof threshold)throw new Error("Should give a threshold value");return this.threshold=threshold,this.validate=function(value){if(""===value||isNaN(Number(value)))throw new Violation(this,value,{value:Validator.errorCode.must_be_a_number});if(this.threshold<value)throw new Violation(this,value,{threshold:this.threshold});return!0},this},Mac:function(){return this.__class__="Mac",this.validate=function(value){var regExp=/^(?:[0-9A-F]{2}:){5}[0-9A-F]{2}$/i;if("string"!=typeof value)throw new Violation(this,value,{value:Validator.errorCode.must_be_a_string});if(!regExp.test(value))throw new Violation(this,value);return!0},this},NotNull:function(){return this.__class__="NotNull",this.validate=function(value){if(null===value||"undefined"==typeof value)throw new Violation(this,value);return!0},this},NotBlank:function(){return this.__class__="NotBlank",this.validate=function(value){if("string"!=typeof value)throw new Violation(this,value,{value:Validator.errorCode.must_be_a_string});if(""===value.replace(/^\s+/g,"").replace(/\s+$/g,""))throw new Violation(this,value);return!0},this},Null:function(){return this.__class__="Null",this.validate=function(value){if(null!==value)throw new Violation(this,value);return!0},this},Range:function(min,max){if(this.__class__="Range",!min||!max)throw new Error("Range assert expects min and max values");return this.min=min,this.max=max,this.validate=function(value){try{return"string"==typeof value&&isNaN(Number(value))||_isArray(value)?(new Assert).Length({min:this.min,max:this.max}).validate(value):(new Assert).GreaterThanOrEqual(this.min).validate(value)&&(new Assert).LessThanOrEqual(this.max).validate(value),!0}catch(violation){throw new Violation(this,value,violation.violation)}return!0},this},Regexp:function(regexp,flag){if(this.__class__="Regexp","undefined"==typeof regexp)throw new Error("You must give a regexp");return this.regexp=regexp,this.flag=flag||"",this.validate=function(value){if("string"!=typeof value)throw new Violation(this,value,{value:Validator.errorCode.must_be_a_string});if(!new RegExp(this.regexp).test(value,this.flag))throw new Violation(this,value,{regexp:this.regexp,flag:this.flag});return!0},this},Required:function(){return this.__class__="Required",this.validate=function(value){if("undefined"==typeof value)throw new Violation(this,value);if("string"==typeof value)try{(new Assert).NotNull().validate(value)&&(new Assert).NotBlank().validate(value)}catch(violation){throw new Violation(this,value)}return!0},this},Unique:function(object){return this.__class__="Unique","object"==typeof object&&(this.key=object.key),this.validate=function(array){var value,store=[];if(!_isArray(array))throw new Violation(this,array,{value:Validator.errorCode.must_be_an_array});for(var i=0;i<array.length;i++)if(value="object"==typeof array[i]?array[i][this.key]:array[i],"undefined"!=typeof value){if(-1!==store.indexOf(value))throw new Violation(this,array,{value:value});store.push(value)}return!0},this}},exports.Assert=Assert,exports.Validator=Validator,exports.Violation=Violation,exports.Constraint=Constraint,Array.prototype.indexOf||(Array.prototype.indexOf=function(searchElement){if(null==this)throw new TypeError;var t=Object(this),len=t.length>>>0;if(0===len)return-1;var n=0;if(arguments.length>1&&(n=Number(arguments[1]),n!=n?n=0:0!=n&&1/0!=n&&n!=-1/0&&(n=(n>0||-1)*Math.floor(Math.abs(n)))),n>=len)return-1;for(var k=n>=0?n:Math.max(len-Math.abs(n),0);len>k;k++)if(k in t&&t[k]===searchElement)return k;return-1});var _isEmptyObject=function(obj){for(var property in obj)return!1;return!0},_isArray=function(obj){return"[object Array]"===Object.prototype.toString.call(obj)},expect={eql:function(actual,expected){if(actual===expected)return!0;if("undefined"!=typeof Buffer&&Buffer.isBuffer(actual)&&Buffer.isBuffer(expected)){if(actual.length!==expected.length)return!1;for(var i=0;i<actual.length;i++)if(actual[i]!==expected[i])return!1;return!0}return actual instanceof Date&&expected instanceof Date?actual.getTime()===expected.getTime():"object"!=typeof actual&&"object"!=typeof expected?actual==expected:this.objEquiv(actual,expected)},isUndefinedOrNull:function(value){return null===value||"undefined"==typeof value},isArguments:function(object){return"[object Arguments]"==Object.prototype.toString.call(object)},keys:function(obj){if(Object.keys)return Object.keys(obj);var keys=[];for(var i in obj)Object.prototype.hasOwnProperty.call(obj,i)&&keys.push(i);return keys},objEquiv:function(a,b){if(this.isUndefinedOrNull(a)||this.isUndefinedOrNull(b))return!1;if(a.prototype!==b.prototype)return!1;if(this.isArguments(a))return this.isArguments(b)?eql(pSlice.call(a),pSlice.call(b)):!1;try{var key,i,ka=this.keys(a),kb=this.keys(b)}catch(e){return!1}if(ka.length!==kb.length)return!1;for(ka.sort(),kb.sort(),i=ka.length-1;i>=0;i--)if(ka[i]!=kb[i])return!1;for(i=ka.length-1;i>=0;i--)if(key=ka[i],!this.eql(a[key],b[key]))return!1;return!0}};"function"==typeof define&&define.amd&&define("validator",[],function(){return exports})}("undefined"==typeof exports?this["undefined"!=typeof validatorjs_ns?validatorjs_ns:"Validator"]={}:exports);var ParsleyValidator=function(validators,catalog){this.__class__="ParsleyValidator",this.Validator=Validator,this.locale="en",this.init(validators||{},catalog||{})};ParsleyValidator.prototype={init:function(validators,catalog){this.catalog=catalog;for(var name in validators)this.addValidator(name,validators[name].fn,validators[name].priority);$.emit("parsley:validator:init")},setLocale:function(locale){if("undefined"==typeof this.catalog[locale])throw new Error(locale+" is not available in the catalog");return this.locale=locale,this},addCatalog:function(locale,messages,set){return"object"==typeof messages&&(this.catalog[locale]=messages),!0===set?this.setLocale(locale):this},addMessage:function(locale,name,message){void 0===typeof this.catalog[locale]&&(this.catalog[locale]={}),this.catalog[locale][name]=message},validate:function(){return(new this.Validator.Validator).validate.apply(new Validator.Validator,arguments)},addValidator:function(name,fn,priority){return this.validators[name]=function(requirements){return $.extend((new Validator.Assert).Callback(fn,requirements),{priority:priority})},this},updateValidator:function(name,fn,priority){return addValidator(name,fn,priority)},removeValidator:function(name){return delete this.validators[name],this},getErrorMessage:function(constraint){var message;return message="type"===constraint.name?window.ParsleyConfig.i18n[this.locale][constraint.name][constraint.requirements]:this.formatMesssage(window.ParsleyConfig.i18n[this.locale][constraint.name],constraint.requirements),""!==message?message:window.ParsleyConfig.i18n[this.locale].defaultMessage},formatMesssage:function(string,parameters){if("object"==typeof parameters){for(var i in parameters)string=this.formatMesssage(string,parameters[i]);return string}return"string"==typeof string?string.replace(new RegExp("%s","i"),parameters):""},validators:{notblank:function(){return $.extend((new Validator.Assert).NotBlank(),{priority:2})},required:function(){return $.extend((new Validator.Assert).Required(),{priority:512})},type:function(type){var assert;switch(type){case"email":assert=(new Validator.Assert).Email();break;case"number":assert=(new Validator.Assert).Regexp("^-?(?:\\d+|\\d{1,3}(?:,\\d{3})+)?(?:\\.\\d+)?$");break;case"integer":assert=(new Validator.Assert).Regexp("^-?\\d+$");break;case"digits":assert=(new Validator.Assert).Regexp("^\\d+$");break;case"alphanum":assert=(new Validator.Assert).Regexp("^\\w+$","i");break;case"url":assert=(new Validator.Assert).Regexp("(https?:\\/\\/)?(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,4}\\b([-a-zA-Z0-9@:%_\\+.~#?&//=]*)","i");break;default:throw new Error("validator type `"+type+"` is not supported")}return $.extend(assert,{priority:256})},pattern:function(regexp){var flags="";return/^\/.*\/(?:[gimy]*)$/.test(regexp)&&(flags=regexp.replace(/.*\/([gimy]*)$/,"$1"),regexp=regexp.replace(new RegExp("^/(.*?)/"+flags+"$"),"$1")),$.extend((new Validator.Assert).Regexp(regexp,flags),{priority:64})},minlength:function(value){return $.extend((new Validator.Assert).Length({min:value}),{priority:30,requirementsTransformer:function(){return"string"!=typeof value||isNaN(value)?value:parseInt(value,10)}})},maxlength:function(value){return $.extend((new Validator.Assert).Length({max:value}),{priority:30,requirementsTransformer:function(){return"string"!=typeof value||isNaN(value)?value:parseInt(value,10)}})},length:function(array){return $.extend((new Validator.Assert).Length({min:array[0],max:array[1]}),{priority:32})},mincheck:function(length){return this.minlength(length)},maxcheck:function(length){return this.maxlength(length)},check:function(array){return this.length(array)},min:function(value){return $.extend((new Validator.Assert).GreaterThanOrEqual(value),{priority:30,requirementsTransformer:function(){return"string"!=typeof value||isNaN(value)?value:parseInt(value,10)}})},max:function(value){return $.extend((new Validator.Assert).LessThanOrEqual(value),{priority:30,requirementsTransformer:function(){return"string"!=typeof value||isNaN(value)?value:parseInt(value,10)}})},range:function(array){return $.extend((new Validator.Assert).Range(array[0],array[1]),{priority:32,requirementsTransformer:function(){for(var i=0;i<array.length;i++)array[i]="string"!=typeof array[i]||isNaN(array[i])?array[i]:parseInt(array[i],10);return array}})},equalto:function(value){return $.extend((new Validator.Assert).EqualTo(value),{priority:256,requirementsTransformer:function(){return $(value).length?$(value).val():value}})}}};var ParsleyUI=function(){this.__class__="ParsleyUI"};ParsleyUI.prototype={listen:function(){return $.listen("parsley:form:init",this,this.setupForm),$.listen("parsley:field:init",this,this.setupField),$.listen("parsley:field:validated",this,this.reflow),$.listen("parsley:form:validated",this,this.focus),$.listen("parsley:field:reset",this,this.reset),$.listen("parsley:form:destroy",this,this.destroy),$.listen("parsley:field:destroy",this,this.destroy),this},reflow:function(fieldInstance){if("undefined"!=typeof fieldInstance._ui&&!1!==fieldInstance._ui.active){var diff=this._diff(fieldInstance.validationResult,fieldInstance._ui.lastValidationResult);fieldInstance._ui.lastValidationResult=fieldInstance.validationResult,fieldInstance._ui.validatedOnce=!0,this.manageStatusClass(fieldInstance),this.manageErrorsMessages(fieldInstance,diff),this.actualizeTriggers(fieldInstance),(diff.kept.length||diff.added.length)&&"undefined"==typeof fieldInstance._ui.failedOnce&&this.manageFailingFieldTrigger(fieldInstance)}},manageStatusClass:function(fieldInstance){!0===fieldInstance.validationResult?this._successClass(fieldInstance):fieldInstance.validationResult.length>0?this._errorClass(fieldInstance):this._resetClass(fieldInstance)},manageErrorsMessages:function(fieldInstance,diff){if("undefined"==typeof fieldInstance.options.errorsMessagesDisabled){if("undefined"!=typeof fieldInstance.options.errorMessage)return void(diff.added.length||diff.kept.length?(0===fieldInstance._ui.$errorsWrapper.find(".parsley-custom-error-message").length&&fieldInstance._ui.$errorsWrapper.append($(fieldInstance.options.errorTemplate).addClass("parsley-custom-error-message")),fieldInstance._ui.$errorsWrapper.addClass("filled").find(".parsley-custom-error-message").html(fieldInstance.options.errorMessage)):fieldInstance._ui.$errorsWrapper.removeClass("filled").find(".parsley-custom-error-message").remove());for(var i=0;i<diff.removed.length;i++)this.removeError(fieldInstance,diff.removed[i].assert.name,!0);for(i=0;i<diff.added.length;i++)this.addError(fieldInstance,diff.added[i].assert.name,void 0,diff.added[i].assert,!0);for(i=0;i<diff.kept.length;i++)this.updateError(fieldInstance,diff.kept[i].assert.name,void 0,diff.kept[i].assert,!0)}},addError:function(fieldInstance,name,message,assert,doNotUpdateClass){fieldInstance._ui.$errorsWrapper.addClass("filled").append($(fieldInstance.options.errorTemplate).addClass("parsley-"+name).html(message||this._getErrorMessage(fieldInstance,assert))),!0!==doNotUpdateClass&&this._errorClass(fieldInstance)},updateError:function(fieldInstance,name,message,assert,doNotUpdateClass){fieldInstance._ui.$errorsWrapper.addClass("filled").find(".parsley-"+name).html(message||this._getErrorMessage(fieldInstance,assert)),!0!==doNotUpdateClass&&this._errorClass(fieldInstance)},removeError:function(fieldInstance,name,doNotUpdateClass){fieldInstance._ui.$errorsWrapper.removeClass("filled").find(".parsley-"+name).remove(),!0!==doNotUpdateClass&&this.manageStatusClass(fieldInstance)},focus:function(formInstance){if(!0===formInstance.validationResult||"none"===formInstance.options.focus)return formInstance._focusedField=null;formInstance._focusedField=null;for(var i=0;i<formInstance.fields.length;i++)if(!0!==formInstance.fields[i].validationResult&&formInstance.fields[i].validationResult.length>0&&"undefined"==typeof formInstance.fields[i].options.noFocus){if("first"===formInstance.options.focus)return formInstance._focusedField=formInstance.fields[i].$element,formInstance._focusedField.focus();formInstance._focusedField=formInstance.fields[i].$element}return null===formInstance._focusedField?null:formInstance._focusedField.focus()},_getErrorMessage:function(fieldInstance,constraint){var customConstraintErrorMessage=constraint.name+"Message";return"undefined"!=typeof fieldInstance.options[customConstraintErrorMessage]?fieldInstance.options[customConstraintErrorMessage]:window.ParsleyValidator.getErrorMessage(constraint)},_diff:function(newResult,oldResult,deep){for(var added=[],kept=[],i=0;i<newResult.length;i++){for(var found=!1,j=0;j<oldResult.length;j++)if(newResult[i].assert.name===oldResult[j].assert.name){found=!0;break}found?kept.push(newResult[i]):added.push(newResult[i])}return{kept:kept,added:added,removed:deep?[]:this._diff(oldResult,newResult,!0).added}},setupForm:function(formInstance){formInstance.$element.on("submit.Parsley",!1,$.proxy(formInstance.onSubmitValidate,formInstance)),!1!==formInstance.options.uiEnabled&&formInstance.$element.attr("novalidate","")},setupField:function(fieldInstance){var _ui={active:!1};!1!==fieldInstance.options.uiEnabled&&(_ui.active=!0,fieldInstance.$element.attr(fieldInstance.options.namespace+"id",fieldInstance.__id__),_ui.$errorClassHandler=this._manageClassHandler(fieldInstance),_ui.errorsWrapperId="parsley-id-"+("undefined"!=typeof fieldInstance.options.multiple?"multiple-"+fieldInstance.options.multiple:fieldInstance.__id__),_ui.$errorsWrapper=$(fieldInstance.options.errorsWrapper).attr("id",_ui.errorsWrapperId),_ui.lastValidationResult=[],_ui.validatedOnce=!1,_ui.validationInformationVisible=!1,fieldInstance._ui=_ui,this._insertErrorWrapper(fieldInstance),this.actualizeTriggers(fieldInstance))},_manageClassHandler:function(fieldInstance){if("string"==typeof fieldInstance.options.classHandler&&$(fieldInstance.options.classHandler).length)return $(fieldInstance.options.classHandler);var $handler=fieldInstance.options.classHandler(fieldInstance);return"undefined"!=typeof $handler&&$handler.length?$handler:"undefined"==typeof fieldInstance.options.multiple||fieldInstance.$element.is("select")?fieldInstance.$element:fieldInstance.$element.parent()},_insertErrorWrapper:function(fieldInstance){var $errorsContainer;if("string"==typeof fieldInstance.options.errorsContainer){if($(fieldInstance.options.errorsContainer+"").length)return $(fieldInstance.options.errorsContainer).append(fieldInstance._ui.$errorsWrapper);window.console&&window.console.warn&&window.console.warn("The errors container `"+fieldInstance.options.errorsContainer+"` does not exist in DOM")}return"function"==typeof fieldInstance.options.errorsContainer&&($errorsContainer=fieldInstance.options.errorsContainer(fieldInstance)),"undefined"!=typeof $errorsContainer&&$errorsContainer.length?$errorsContainer.append(fieldInstance._ui.$errorsWrapper):"undefined"==typeof fieldInstance.options.multiple?fieldInstance.$element.after(fieldInstance._ui.$errorsWrapper):fieldInstance.$element.parent().after(fieldInstance._ui.$errorsWrapper)},actualizeTriggers:function(fieldInstance){var that=this;if(fieldInstance.options.multiple?$("["+fieldInstance.options.namespace+'multiple="'+fieldInstance.options.multiple+'"]').each(function(){$(this).off(".Parsley")}):fieldInstance.$element.off(".Parsley"),!1!==fieldInstance.options.trigger){var triggers=fieldInstance.options.trigger.replace(/^\s+/g,"").replace(/\s+$/g,"");""!==triggers&&(fieldInstance.options.multiple?$("["+fieldInstance.options.namespace+'multiple="'+fieldInstance.options.multiple+'"]').each(function(){$(this).on(triggers.split(" ").join(".Parsley ")+".Parsley",!1,$.proxy("function"==typeof fieldInstance.eventValidate?fieldInstance.eventValidate:that.eventValidate,fieldInstance))}):fieldInstance.$element.on(triggers.split(" ").join(".Parsley ")+".Parsley",!1,$.proxy("function"==typeof fieldInstance.eventValidate?fieldInstance.eventValidate:this.eventValidate,fieldInstance)))}},eventValidate:function(event){new RegExp("key").test(event.type)&&!this._ui.validationInformationVisible&&this.getValue().length<=this.options.validationThreshold||(this._ui.validatedOnce=!0,this.validate())},manageFailingFieldTrigger:function(fieldInstance){return fieldInstance._ui.failedOnce=!0,fieldInstance.options.multiple&&$("["+fieldInstance.options.namespace+'multiple="'+fieldInstance.options.multiple+'"]').each(function(){return new RegExp("change","i").test($(this).parsley().options.trigger||"")?void 0:$(this).on("change.ParsleyFailedOnce",!1,$.proxy(fieldInstance.validate,fieldInstance))}),fieldInstance.$element.is("select")&&!new RegExp("change","i").test(fieldInstance.options.trigger||"")?fieldInstance.$element.on("change.ParsleyFailedOnce",!1,$.proxy(fieldInstance.validate,fieldInstance)):new RegExp("keyup","i").test(fieldInstance.options.trigger||"")?void 0:fieldInstance.$element.on("keyup.ParsleyFailedOnce",!1,$.proxy(fieldInstance.validate,fieldInstance))},reset:function(parsleyInstance){"undefined"!=typeof parsleyInstance._ui&&(parsleyInstance.$element.off(".Parsley"),parsleyInstance.$element.off(".ParsleyFailedOnce"),"ParsleyForm"!==parsleyInstance.__class__&&(parsleyInstance._ui.$errorsWrapper.children().each(function(){$(this).remove()}),this._resetClass(parsleyInstance),parsleyInstance._ui.validatedOnce=!1,parsleyInstance._ui.lastValidationResult=[],parsleyInstance._ui.validationInformationVisible=!1))},destroy:function(parsleyInstance){"undefined"!=typeof parsleyInstance._ui&&(this.reset(parsleyInstance),"ParsleyForm"!==parsleyInstance.__class__&&(parsleyInstance._ui.$errorsWrapper.remove(),delete parsleyInstance._ui))},_successClass:function(fieldInstance){fieldInstance._ui.validationInformationVisible=!0,fieldInstance._ui.$errorClassHandler.removeClass(fieldInstance.options.errorClass).addClass(fieldInstance.options.successClass)},_errorClass:function(fieldInstance){fieldInstance._ui.validationInformationVisible=!0,fieldInstance._ui.$errorClassHandler.removeClass(fieldInstance.options.successClass).addClass(fieldInstance.options.errorClass)},_resetClass:function(fieldInstance){fieldInstance._ui.$errorClassHandler.removeClass(fieldInstance.options.successClass).removeClass(fieldInstance.options.errorClass)}};var ParsleyOptionsFactory=function(defaultOptions,globalOptions,userOptions,namespace){this.__class__="OptionsFactory",this.__id__=ParsleyUtils.hash(4),this.formOptions=null,this.fieldOptions=null,this.staticOptions=$.extend(!0,{},defaultOptions,globalOptions,userOptions,{namespace:namespace})};ParsleyOptionsFactory.prototype={get:function(parsleyInstance){if("undefined"==typeof parsleyInstance.__class__)throw new Error("Parsley Instance expected");switch(parsleyInstance.__class__){case"Parsley":return this.staticOptions;case"ParsleyForm":return this.getFormOptions(parsleyInstance);case"ParsleyField":case"ParsleyFieldMultiple":return this.getFieldOptions(parsleyInstance);default:throw new Error("Instance "+parsleyInstance.__class__+" is not supported")}},getFormOptions:function(formInstance){return this.formOptions=ParsleyUtils.attr(formInstance.$element,this.staticOptions.namespace),$.extend({},this.staticOptions,this.formOptions)},getFieldOptions:function(fieldInstance){return this.fieldOptions=ParsleyUtils.attr(fieldInstance.$element,this.staticOptions.namespace),null===this.formOptions&&"ParsleyForm"===fieldInstance.parsleyInstance.__proxy__&&(this.formOptions=getFormOptions(fieldInstance.parsleyInstance)),$.extend({},this.staticOptions,this.formOptions,this.fieldOptions)}};var ParsleyForm=function(element,parsleyInstance){if(this.__class__="ParsleyForm",this.__id__=ParsleyUtils.hash(4),"Parsley"!==ParsleyUtils.get(parsleyInstance,"__class__"))throw new Error("You must give a Parsley instance");this.parsleyInstance=parsleyInstance,this.$element=$(element)};ParsleyForm.prototype={init:function(){return this.validationResult=null,this.options=this.parsleyInstance.OptionsFactory.get(this),this._bindFields(),this},onSubmitValidate:function(event){return this.validate(void 0,void 0,event),!1===this.validationResult&&event instanceof $.Event&&event.preventDefault(),this},validate:function(group,force,event){this.submitEvent=event,this.validationResult=!0;
  var fieldValidationResult=[];this._refreshFields(),$.emit("parsley:form:validate",this);for(var i=0;i<this.fields.length;i++)group&&group!==this.fields[i].options.group||(fieldValidationResult=this.fields[i].validate(force),!0!==fieldValidationResult&&fieldValidationResult.length>0&&this.validationResult&&(this.validationResult=!1));return $.emit("parsley:form:validated",this),this.validationResult},isValid:function(group,force){this._refreshFields();for(var i=0;i<this.fields.length;i++)if((!group||group===this.fields[i].options.group)&&!1===this.fields[i].isValid(force))return!1;return!0},_refreshFields:function(){return this.actualizeOptions()._bindFields()},_bindFields:function(){var self=this;return this.fields=[],this.fieldsMappedById={},this.$element.find(this.options.inputs).each(function(){var fieldInstance=new window.Parsley(this,{},self.parsleyInstance);"ParsleyField"!==fieldInstance.__class__&&"ParsleyFieldMultiple"!==fieldInstance.__class__||fieldInstance.$element.is(fieldInstance.options.excluded)||"undefined"==typeof self.fieldsMappedById[fieldInstance.__class__+"-"+fieldInstance.__id__]&&(self.fieldsMappedById[fieldInstance.__class__+"-"+fieldInstance.__id__]=fieldInstance,self.fields.push(fieldInstance))}),this}};var ConstraintFactory=function(parsleyField,name,requirements,priority,isDomConstraint){if(!new RegExp("ParsleyField").test(ParsleyUtils.get(parsleyField,"__class__")))throw new Error("ParsleyField or ParsleyFieldMultiple instance expected");if("function"!=typeof window.ParsleyValidator.validators[name]&&"Assert"!==window.ParsleyValidator.validators[name](requirements).__parentClass__)throw new Error("Valid validator expected");var getPriority=function(parsleyField,name){return"undefined"!=typeof parsleyField.options[name+"Priority"]?parsleyField.options[name+"Priority"]:ParsleyUtils.get(window.ParsleyValidator.validators[name](requirements),"priority")||2};return priority=priority||getPriority(parsleyField,name),"function"==typeof window.ParsleyValidator.validators[name](requirements).requirementsTransformer&&(requirements=window.ParsleyValidator.validators[name](requirements).requirementsTransformer()),$.extend(window.ParsleyValidator.validators[name](requirements),{name:name,requirements:requirements,priority:priority,groups:[priority],isDomConstraint:isDomConstraint||ParsleyUtils.attr(parsleyField.$element,parsleyField.options.namespace,name)})},ParsleyField=function(field,parsleyInstance){if(this.__class__="ParsleyField",this.__id__=ParsleyUtils.hash(4),"Parsley"!==ParsleyUtils.get(parsleyInstance,"__class__"))throw new Error("You must give a Parsley instance");this.parsleyInstance=parsleyInstance,this.$element=$(field),this.options=this.parsleyInstance.OptionsFactory.get(this)};ParsleyField.prototype={init:function(){return this.constraints=[],this.validationResult=[],this.bindConstraints(),this},validate:function(force){return this.value=this.getValue(),$.emit("parsley:field:validate",this),$.emit("parsley:field:"+(this.isValid(force,this.value)?"success":"error"),this),$.emit("parsley:field:validated",this),this.validationResult},getConstraintsSortedPriorities:function(){for(var priorities=[],i=0;i<this.constraints.length;i++)-1===priorities.indexOf(this.constraints[i].priority)&&priorities.push(this.constraints[i].priority);return priorities.sort(function(a,b){return b-a}),priorities},isValid:function(force,value){this.refreshConstraints();var priorities=this.getConstraintsSortedPriorities();if(value=value||this.getValue(),0===value.length&&!this.isRequired()&&"undefined"==typeof this.options.validateIfEmpty&&"undefined"==typeof force)return this.validationResult=[];if(!1===this.options.priorityEnabled)return!0===(this.validationResult=this.validateThroughValidator(value,this.constraints,"Any"));for(var i=0;i<priorities.length;i++)if(!0!==(this.validationResult=this.validateThroughValidator(value,this.constraints,priorities[i])))return!1;return!0},isRequired:function(){var constraintIndex=this._constraintIndex("required");return!(-1===constraintIndex||-1!==constraintIndex&&!1===this.constraints[constraintIndex].requirements)},getValue:function(){var value;return value="undefined"!=typeof this.options.value?this.options.value:this.$element.val(),!0===this.options.trimValue?value.replace(/^\s+|\s+$/g,""):value},refreshConstraints:function(){return this.actualizeOptions().bindConstraints(),this},bindConstraints:function(){for(var constraints=[],i=0;i<this.constraints.length;i++)!1===this.constraints[i].isDomConstraint&&constraints.push(this.constraints[i]);this.constraints=constraints;for(var name in this.options)this.addConstraint(name,this.options[name]);return this.bindHtml5Constraints()},bindHtml5Constraints:function(){(this.$element.hasClass("required")||this.$element.attr("required"))&&this.addConstraint("required",!0,void 0,!0),"string"==typeof this.$element.attr("pattern")&&this.addConstraint("pattern",this.$element.attr("pattern"),void 0,!0),"undefined"!=typeof this.$element.attr("min")&&"undefined"!=typeof this.$element.attr("max")?this.addConstraint("range",[this.$element.attr("min"),this.$element.attr("max")],void 0,!0):"undefined"!=typeof this.$element.attr("min")?this.addConstraint("min",this.$element.attr("min"),void 0,!0):"undefined"!=typeof this.$element.attr("max")&&this.addConstraint("max",this.$element.attr("max"),void 0,!0);var type=this.$element.attr("type");return"undefined"==typeof type?this:"number"===type?this.addConstraint("type","integer",void 0,!0):new RegExp(type,"i").test("email url range")?this.addConstraint("type",type,void 0,!0):void 0},addConstraint:function(name,requirements,priority,isDomConstraint){if(name=name.toLowerCase(),"function"==typeof window.ParsleyValidator.validators[name]){var constraint=new ConstraintFactory(this,name,requirements,priority,isDomConstraint);-1!==this._constraintIndex(constraint.name)&&this.removeConstraint(constraint.name),this.constraints.push(constraint)}return this},removeConstraint:function(name){for(var i=0;i<this.constraints.length;i++)if(name===this.constraints[i].name){this.constraints.splice(i,1);break}return this},updateConstraint:function(name,parameters,priority){return this.removeConstraint(name).addConstraint(name,parameters,priority)},_constraintIndex:function(name){for(var i=0;i<this.constraints.length;i++)if(name===this.constraints[i].name)return i;return-1}};var ParsleyMultiple=function(){this.__class__="ParsleyFieldMultiple"};ParsleyMultiple.prototype={init:function(multiple){return this.$elements=[this.$element],this.options.multiple=multiple,this},addElement:function($element){return this.$elements.push($element),this},refreshConstraints:function(){if(this.constraints=[],this.$element.is("select"))return this.actualizeOptions().bindConstraints(),this;for(var i=0;i<this.$elements.length;i++)this.constraints=this.constraints.concat(this.$elements[i].data("ParsleyFieldMultiple").refreshConstraints().constraints);return this},getValue:function(){if("undefined"!=typeof this.options.value)return this.options.value;if(this.$element.is("input[type=radio]"))return $("["+this.options.namespace+'multiple="'+this.options.multiple+'"]:checked').val()||"";if(this.$element.is("input[type=checkbox]")){var values=[];return $("["+this.options.namespace+'multiple="'+this.options.multiple+'"]:checked').each(function(){values.push($(this).val())}),values.length?values:[]}return this.$element.is("select")?null===this.$element.val()?[]:this.$element.val():void 0}};var o=$({}),subscribed={};$.listen=function(name){if("undefined"==typeof subscribed[name]&&(subscribed[name]=[]),"function"==typeof arguments[1])return subscribed[name].push({fn:arguments[1]});if("object"==typeof arguments[1]&&"function"==typeof arguments[2])return subscribed[name].push({fn:arguments[2],ctxt:arguments[1]});throw new Error("Wrong parameters")},$.listenTo=function(instance,name,fn){if("undefined"==typeof subscribed[name]&&(subscribed[name]=[]),!(instance instanceof ParsleyField||instance instanceof ParsleyForm))throw new Error("Must give Parsley instance");if("string"!=typeof name||"function"!=typeof fn)throw new Error("Wrong parameters");subscribed[name].push({instance:instance,fn:fn})},$.unsubscribe=function(name,fn){if("undefined"!=typeof subscribed[name]){if("string"!=typeof name||"function"!=typeof fn)throw new Error("Wrong arguments");for(var i=0;i<subscribed[name].length;i++)if(subscribed[name][i].fn===fn)return subscribed[name].splice(i,1)}},$.unsubscribeTo=function(instance,name){if("undefined"!=typeof subscribed[name]){if(!(instance instanceof ParsleyField||instance instanceof ParsleyForm))throw new Error("Must give Parsley instance");for(var i=0;i<subscribed[name].length;i++)if("undefined"!=typeof subscribed[name][i].instance&&subscribed[name][i].instance.__id__===instance.__id__)return subscribed[name].splice(i,1)}},$.unsubscribeAll=function(name){"undefined"!=typeof subscribed[name]&&delete subscribed[name]},$.emit=function(name,instance){if("undefined"!=typeof subscribed[name])for(var i=0;i<subscribed[name].length;i++)if("undefined"!=typeof subscribed[name][i].instance){if(instance instanceof ParsleyField||instance instanceof ParsleyForm)if(subscribed[name][i].instance.__id__!==instance.__id__){if(subscribed[name][i].instance instanceof ParsleyForm&&instance instanceof ParsleyField)for(var j=0;j<subscribed[name][i].instance.fields.length;j++)if(subscribed[name][i].instance.fields[j].__id__===instance.__id__){subscribed[name][i].fn.apply(o,Array.prototype.slice.call(arguments,1));continue}}else subscribed[name][i].fn.apply(o,Array.prototype.slice.call(arguments,1))}else subscribed[name][i].fn.apply("undefined"!=typeof subscribed[name][i].ctxt?subscribed[name][i].ctxt:o,Array.prototype.slice.call(arguments,1))},$.subscribed=function(){return subscribed},window.ParsleyConfig=window.ParsleyConfig||{},window.ParsleyConfig.i18n=window.ParsleyConfig.i18n||{},window.ParsleyConfig.i18n.en=$.extend(window.ParsleyConfig.i18n.en||{},{defaultMessage:"This value seems to be invalid.",type:{email:"This value should be a valid email.",url:"This value should be a valid url.",number:"This value should be a valid number.",integer:"This value should be a valid integer.",digits:"This value should be digits.",alphanum:"This value should be alphanumeric."},notblank:"This value should not be blank.",required:"This value is required.",pattern:"This value seems to be invalid.",min:"This value should be greater than or equal to %s.",max:"This value should be lower than or equal to %s.",range:"This value should be between %s and %s.",minlength:"This value is too short. It should have %s characters or more.",maxlength:"This value is too long. It should have %s characters or less.",length:"This value length is invalid. It should be between %s and %s characters long.",mincheck:"You must select at least %s choices.",maxcheck:"You must select %s choices or less.",check:"You must select between %s and %s choices.",equalto:"This value should be the same."}),"undefined"!=typeof window.ParsleyValidator&&window.ParsleyValidator.addCatalog("en",window.ParsleyConfig.i18n.en,!0);var Parsley=function(element,options,parsleyInstance){if(this.__class__="Parsley",this.__version__="2.0.0-rc4",this.__id__=ParsleyUtils.hash(4),"undefined"==typeof element)throw new Error("You must give an element");return this.init($(element),options,parsleyInstance)};Parsley.prototype={init:function($element,options,parsleyInstance){if(!$element.length)throw new Error("You must bind Parsley on an existing element.");if(this.$element=$element,this.$element.data("Parsley")){var savedParsleyInstance=this.$element.data("Parsley");return"undefined"!=typeof parsleyInstance&&"ParsleyField"===savedParsleyInstance.parsleyInstance.__proxy__&&(savedParsleyInstance.parsleyInstance=parsleyInstance),savedParsleyInstance}return this.OptionsFactory=new ParsleyOptionsFactory(ParsleyDefaults,ParsleyUtils.get(window,"ParsleyConfig")||{},options,this.getNamespace(options)),this.options=this.OptionsFactory.get(this),this.$element.is("form")||ParsleyUtils.attr(this.$element,this.options.namespace,"validate")&&!this.$element.is(this.options.inputs)?this.bind("parsleyForm",parsleyInstance):this.$element.is(this.options.inputs)&&!this.$element.is(this.options.excluded)?this.isMultiple()?this.handleMultiple(parsleyInstance):this.bind("parsleyField",parsleyInstance):this},isMultiple:function(){return this.$element.is("input[type=radio], input[type=checkbox]")&&"undefined"==typeof this.options.multiple||this.$element.is("select")&&"undefined"!=typeof this.$element.attr("multiple")},handleMultiple:function(parsleyInstance){var name,multiple,parsleyMultipleInstance,that=this;if(this.options=$.extend(this.options,ParsleyUtils.attr(this.$element,this.options.namespace)),this.options.multiple?multiple=this.options.multiple:"undefined"!=typeof this.$element.attr("name")&&this.$element.attr("name").length?multiple=name=this.$element.attr("name"):"undefined"!=typeof this.$element.attr("id")&&this.$element.attr("id").length&&(multiple=this.$element.attr("id")),this.$element.is("select")&&"undefined"!=typeof this.$element.attr("multiple"))return this.bind("parsleyFieldMultiple",parsleyInstance,multiple||this.__id__);if("undefined"==typeof multiple)return window.console&&window.console.warn&&window.console.warn("To be binded by Parsley, a radio, a checkbox and a multiple select input must have either a name or a multiple option.",this.$element),this;if(multiple=multiple.replace(/(:|\.|\[|\]|\$)/g,""),"undefined"!=typeof name&&$('input[name="'+name+'"]').each(function(){$(this).attr(that.options.namespace+"multiple",multiple)}),$("["+this.options.namespace+"multiple="+multiple+"]").length)for(var i=0;i<$("["+this.options.namespace+"multiple="+multiple+"]").length;i++)if("undefined"!=typeof $($("["+this.options.namespace+"multiple="+multiple+"]").get(i)).data("Parsley")){parsleyMultipleInstance=$($("["+this.options.namespace+"multiple="+multiple+"]").get(i)).data("Parsley"),this.$element.data("ParsleyFieldMultiple")||(parsleyMultipleInstance.addElement(this.$element),this.$element.attr(this.options.namespace+"id",parsleyMultipleInstance.__id__));break}return this.bind("parsleyField",parsleyInstance,multiple,!0),parsleyMultipleInstance||this.bind("parsleyFieldMultiple",parsleyInstance,multiple)},getNamespace:function(options){return"undefined"!=typeof this.$element.data("parsleyNamespace")?this.$element.data("parsleyNamespace"):"undefined"!=typeof ParsleyUtils.get(options,"namespace")?options.namespace:"undefined"!=typeof ParsleyUtils.get(window,"ParsleyConfig.namespace")?window.ParsleyConfig.namespace:ParsleyDefaults.namespace},bind:function(type,parentParsleyInstance,multiple,doNotStore){var parsleyInstance;switch(type){case"parsleyForm":parsleyInstance=$.extend(new ParsleyForm(this.$element,parentParsleyInstance||this),new ParsleyAbstract,window.ParsleyExtend).init();break;case"parsleyField":parsleyInstance=$.extend(new ParsleyField(this.$element,parentParsleyInstance||this),new ParsleyAbstract,window.ParsleyExtend).init();break;case"parsleyFieldMultiple":parsleyInstance=$.extend(new ParsleyField(this.$element,parentParsleyInstance||this).init(),new ParsleyAbstract,new ParsleyMultiple,window.ParsleyExtend).init(multiple);break;default:throw new Error(type+"is not a supported Parsley type")}return"undefined"!=typeof multiple&&ParsleyUtils.setAttr(this.$element,this.options.namespace,"multiple",multiple),"undefined"!=typeof doNotStore?(this.$element.data("ParsleyFieldMultiple",parsleyInstance),parsleyInstance):(new RegExp("ParsleyF","i").test(parsleyInstance.__class__)&&(this.$element.data("Parsley",parsleyInstance),this.__proxy__=parsleyInstance.__class__,$.emit("parsley:"+("parsleyForm"===type?"form":"field")+":init",parsleyInstance)),parsleyInstance)}},$.fn.parsley=$.fn.psly=function(options){if(this.length>1){var instances=[];return this.each(function(){instances.push($(this).parsley(options))}),instances}return $(this).length?new Parsley(this,options):void(window.console&&window.console.warn&&window.console.warn("You must bind Parsley on an existing element."))},window.ParsleyUI="function"==typeof ParsleyUtils.get(window,"ParsleyConfig.ParsleyUI")?(new window.ParsleyConfig.ParsleyUI).listen():(new ParsleyUI).listen(),"undefined"==typeof window.ParsleyExtend&&(window.ParsleyExtend={}),"undefined"==typeof window.ParsleyConfig&&(window.ParsleyConfig={}),window.Parsley=window.psly=Parsley,window.ParsleyUtils=ParsleyUtils,window.ParsleyValidator=new ParsleyValidator(window.ParsleyConfig.validators,window.ParsleyConfig.i18n),!1!==ParsleyUtils.get(window,"ParsleyConfig.autoBind")&&$(document).ready(function(){$("[data-parsley-validate]").length&&$("[data-parsley-validate]").parsley()})}(window.jQuery),window.ParsleyConfig=window.ParsleyConfig||{},window.ParsleyConfig.i18n=window.ParsleyConfig.i18n||{},window.ParsleyConfig.i18n.es=$.extend(window.ParsleyConfig.i18n.es||{},{defaultMessage:"Este valor parece ser inv\xe1lido.",type:{email:"Este valor debe ser un correo v\xe1lido.",url:"Este valor debe ser una URL v\xe1lida.",number:"Este valor debe ser un n\xfamero v\xe1lido.",integer:"Este valor debe ser un n\xfamero v\xe1lido.",digits:"Este valor debe ser un d\xedgito v\xe1lido.",alphanum:"Este valor debe ser alfanum\xe9rico."},notblank:"Este valor no debe estar en blanco.",required:"Este valor es requerido.",pattern:"Este valor es incorrecto.",min:"Este valor no debe ser menor que %s.",max:"Este valor no debe ser mayor que %s.",range:"Este valor debe estar entre %s y %s.",minlength:"Este valor es muy corto. La longitud m\xednima es de %s caracteres.",maxlength:"Este valor es muy largo. La longitud m\xe1xima es de %s caracteres.",length:"La longitud de este valor debe estar entre %s y %s caracteres.",mincheck:"Debe seleccionar al menos %s opciones.",maxcheck:"Debe seleccionar %s opciones o menos.",rangecheck:"Debe seleccionar entre %s y %s opciones.",equalto:"Este valor debe ser id\xe9ntico."}),"undefined"!=typeof window.ParsleyValidator&&window.ParsleyValidator.addCatalog("es",window.ParsleyConfig.i18n.es,!0),"function"!=typeof Object.create&&(Object.create=function(obj){function F(){}return F.prototype=obj,new F}),function($,window,document,undefined){"use strict";var TextEffect={init:function(options,elem){var _options={};this.$elem=$(elem),this.oldText=this.$elem.html(),"string"==typeof options?_options.effect=options:_options=options,this.options=$.extend({},$.fn.textEffect.options,_options),this[this.options.effect]()},setup:function(effectOption){this.textArray=[],this.$elem.html("");for(var i=0;i<this.oldText.length;i++)this.textArray[i]="<span class='text-effect' style='"+effectOption+"'>"+this.oldText.substr(i,1)+"</span>",this.$elem.append(this.textArray[i])},random:function(){var effects=["grow","fade","jumble","slide","dropdown"];this[effects[Math.floor(Math.random()*effects.length)]]()},slide:function(){var startPosition=this.$elem.offset().left+this.$elem.width();this.setup("visibility: hidden; position: relative; left: "+startPosition+"px;"),this.run("left",0)},dropdown:function(){var offscreen=this.$elem.offset().top+1.1*this.$elem.height();this.setup("position: relative; bottom: "+offscreen+"px;"),this.run("bottom",0)},grow:function(){this.setup("font-size: 0px;"),this.run("fontSize",this.$elem.css("fontSize"))},fade:function(){this.setup(this.$elem[0].style.opacity!==undefined?"opacity: 0;":"filter: alpha(opacity=0); display: inline-block;"),this.run("opacity",this.$elem.css("opacity"))},jumble:function(){var self=this,letterArray=["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9"],i=0;this.setup();var jumbleEffectInterval=setInterval(function(){self.jumbleInterval&&clearInterval(self.jumbleInterval),self.runJumble(letterArray,i),self.$elem.children("span.text-effect").eq(i).html(self.oldText.substr(i,1)).css("color",self.$elem.css("color")),i===self.oldText.length-1?(clearInterval(jumbleEffectInterval),self.reset()):i++},self.options.effectSpeed)},runJumble:function(letterArray,jumbleLength){var self=this;this.jumbleInterval=setInterval(function(){for(var i=self.textArray.length-1;i>jumbleLength;i--)" "!==self.oldText.substr(i,1)?self.$elem.children("span.text-effect").eq(i).html(letterArray[Math.floor(Math.random()*(letterArray.length-1))]).css("color",self.options.jumbleColor):self.$elem.children("span.text-effect").eq(i).html(" ")},70)},run:function(effect,oldEffect){var self=this,obj={},i=this.options.reverse?this.textArray.length-1:0,$spans=self.$elem.children("span.text-effect");obj[effect]=oldEffect;var effectInterval=setInterval(function(){$spans.eq(i).css("visibility","visible").animate(obj,self.options.completionSpeed/self.textArray.length,function(){($(this).index()===self.textArray.length-1&&!self.options.reverse||self.options.reverse&&0===$(this).index())&&(clearInterval(effectInterval),self.reset())}),self.options.reverse?i--:i++},self.options.effectSpeed)},reset:function(){this.$elem.html(this.oldText)}};$.fn.textEffect=function(options){return this.each(function(){var texteffect=Object.create(TextEffect);texteffect.init(options,this)})},$.fn.textEffect.options={effect:"random",effectSpeed:150,completionSpeed:6e3,jumbleColor:"#7f7f7f",reverse:!1}}(jQuery,window,document);var I18n=I18n||{};I18n.translations={en:{date:{formats:{"default":"%Y-%m-%d","short":"%b %d","long":"%B %d, %Y"},day_names:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],abbr_day_names:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],month_names:[null,"January","February","March","April","May","June","July","August","September","October","November","December"],abbr_month_names:[null,"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],order:["year","month","day"]},time:{formats:{"default":"%a, %d %b %Y %H:%M:%S %z","short":"%d %b %H:%M","long":"%B %d, %Y %H:%M"},am:"am",pm:"pm"},support:{array:{words_connector:", ",two_words_connector:" and ",last_word_connector:", and "}},number:{format:{separator:".",delimiter:",",precision:3,significant:!1,strip_insignificant_zeros:!1},currency:{format:{format:"%u%n",unit:"$",separator:".",delimiter:",",precision:2,significant:!1,strip_insignificant_zeros:!1}},percentage:{format:{delimiter:"",format:"%n%"}},precision:{format:{delimiter:""}},human:{format:{delimiter:"",precision:3,significant:!0,strip_insignificant_zeros:!0},storage_units:{format:"%n %u",units:{"byte":{one:"Byte",other:"Bytes"},kb:"KB",mb:"MB",gb:"GB",tb:"TB"}},decimal_units:{format:"%n %u",units:{unit:"",thousand:"Thousand",million:"Million",billion:"Billion",trillion:"Trillion",quadrillion:"Quadrillion"}}}},errors:{format:"%{attribute} %{message}",messages:{inclusion:"is not included in the list",exclusion:"is reserved",invalid:"is invalid",confirmation:"doesn't match %{attribute}",accepted:"must be accepted",empty:"can't be empty",blank:"can't be blank",present:"must be blank",too_long:"is too long (maximum is %{count} characters)",too_short:"is too short (minimum is %{count} characters)",wrong_length:"is the wrong length (should be %{count} characters)",not_a_number:"is not a number",not_an_integer:"must be an integer",greater_than:"must be greater than %{count}",greater_than_or_equal_to:"must be greater than or equal to %{count}",equal_to:"must be equal to %{count}",less_than:"must be less than %{count}",less_than_or_equal_to:"must be less than or equal to %{count}",other_than:"must be other than %{count}",odd:"must be odd",even:"must be even",taken:"has already been taken"}},activerecord:{errors:{messages:{record_invalid:"Validation failed: %{errors}",restrict_dependent_destroy:{one:"Cannot delete record because a dependent %{record} exists",many:"Cannot delete record because dependent %{record} exist"}}}},datetime:{distance_in_words:{half_a_minute:"half a minute",less_than_x_seconds:{one:"less than 1 second",other:"less than %{count} seconds"},x_seconds:{one:"1 second",other:"%{count} seconds"},less_than_x_minutes:{one:"less than a minute",other:"less than %{count} minutes"},x_minutes:{one:"1 minute",other:"%{count} minutes"},about_x_hours:{one:"about 1 hour",other:"about %{count} hours"},x_days:{one:"1 day",other:"%{count} days"},about_x_months:{one:"about 1 month",other:"about %{count} months"},x_months:{one:"1 month",other:"%{count} months"},about_x_years:{one:"about 1 year",other:"about %{count} years"},over_x_years:{one:"over 1 year",other:"over %{count} years"},almost_x_years:{one:"almost 1 year",other:"almost %{count} years"}},prompts:{year:"Year",month:"Month",day:"Day",hour:"Hour",minute:"Minute",second:"Seconds"}},helpers:{select:{prompt:"Please select"},submit:{create:"Create %{model}",update:"Update %{model}",submit:"Save %{model}"}},ltub:"Learn To Use Bitcoin",made:"Made with",by:"by",welcome:"Welcome",welcome2:"to the amazing revolution of money",scroll:"SCROLL",what:"What is Bitcoin?",what_1:"Bitcoin is the",digital_money:"cash for the internet",what_2:"that allows you to send and receive payments from person to person",very_fast:"very fast",what_3:"without any intermediate agent (bank or corporation)",what_4:"at almost zero cost",what_tip1_html:"Send money to anywhere in the world and the receiver can start using it after only 10 minutes",what_tip2:"5 cents of dollar to send 10,000 USD anywhere",discover:"Discover Bitcoin",counting_stars:"Counting starts in the universe...",bitcoin_easy:"Bitcoin is as easy as",sending_receiving_html:"Sending and receiving bitcoins is as simple as sending an <strong>email</strong>, the first thing we need is an <strong>address</strong>",bitcoin_address_html:"A <strong>Bitcoin address</strong> is the place where the bitcoins are stored<br> Like a transparent <strong>vault</strong>, the coins can only be moved by the <strong>key owner</strong>, but the world can see what is",inside:"inside",bitcoin_address_looks:"The address is a long sequence of letters and numbers that looks like this",anonymous_email_html:"Like an anonymous email, the Bitcoin address is not linked to any identity<br>It is just a sequence of numbers and letters",bitcoin_address_tooltip_html:"You can generate and use as many addresses as desired at no cost<br>The Bitcoin address is what you share when you want to get paid",bitcoin_address_qr_tooltip:"This QR code represents the same Bitcoin address and can be easily read with a phone",address_qr:"QR code image",bitcoin_private_key_html:"The <strong>private key</strong> is the <u>only</u> key in the world that can transfer the bitcoins from the Bitcoin address (like the email password)",bitcoin_private_key_2:"The private key is another long sequence of letters and numbers that you should always keep secret",private_key_image:"Private Key image",wallet_image:"Wallet image",bitcoin_wallet:"Bitcoin wallet",bitcoin_wallet_html:"A <strong>Bitcoin wallet</strong> is a software that allows you to manage multiple Bitcoin addresses and their private keys",bitcoin_wallet_2_html:"It lets you easily <strong>send and receive bitcoins</strong> or create new Bitcoin addresses",wallet_types_html:"There are three types of <strong>wallet applications</strong>",phone_image:"Phone image",mobile_app:"Mobile App",mobile_wallet_html:"This is convenient for day to day usage on the move<br>A couple of good Android wallets",and:"and",pc_image:"Desktop PC image",desktop_app:"Desktop App",desktop_wallet_html:"These wallets usually provide more security and more options<br>A couple of good wallets",browser_image:"Web browser image",browser_app:"Web wallet",browser_wallet_html:"These wallets combine easy of use with plenty of features<br>Two good examples where <strong>you</strong> completely manage your bitcoins",browser_wallet_2:"Another where the company secures and stores the bitcoins for you is",fill_wallet_html:"Now you need to fill the wallet with some bitcoins<br>You can get your first bitcoins totally for free below (no attachments or register) but first let's practice with a small",demo:"demo",demo_tooltip:"No actual bitcoins will be send to any shop during the demo",coin_image:"Coin image",some_bitcoins:"some bitcoins",extra:"extra",demo1:"Bitcoin demo transaction",imagine_shop_html:"Imagine this section below is the website of an <strong>on-line shop</strong> where you are about to pay your purchase",shop_legend:"Shopping cart in your favorite web shop",item:"Item",units:"Units",price:"Price",bear_description:"Soft and warm teddy bear",or:"or",item_image:"Teddy bear image",pay_address:"Pay to this address",shop_qr:"Shop QR of address",shop_qr_tooltip:"This QR code is easily read with a Bitcoin wallet app on a mobile phone",copy:"Copy",logo_bitcoin:"Bitcoin accepted here logo",copy_tooltip:"copy the shop payment address to your demo Bitcoin wallet",imagine_wallet_html:"This section below looks like the <strong>Bitcoin wallet</strong> software you can use to manage your bitcoins",imagine_wallet_instructions_html:"To practice, <strong>fill</strong> the form and press <strong>Send</strong>",demo_wallet_legend:"your Bitcoin demo wallet","in":"in",demo_send_address:"Send bitcoins from this Bitcoin address:",multiple_addresses:"Your Bitcoin wallet can contain as many Bitcoin addresses as you want",you_have:"You have",out_of:"out of",available:"available",amount:"amount",ready_to:"ready to send",demo_input_amount_fail_help_html:"Value should be <strong class='title'>0.1</strong> (same as the price)",demo_input_amount_tooltip_html:"1 bitcoin can be divided up to 8 decimal places<br>(0.00000001 bitcoins are currently valued at about 0.00001 USD)",to_address:"to",demo_input_address_tooltip_html:"enter here the Bitcoin address the shop provides for the payment (<strong>Hint</strong>: use the <i class='fi-page-copy'></i> Copy button)",send_button_tooltip:"send bitcoins to pay the demo bill",send:"Send",payment_received:"Payment received correctly",purchase_ok_image:"Purchase OK image",demo_fail_help:"The amount introduced in the demo Bitcoin wallet is not correct",demo_fail_help_1:"Don't worry, I have already introduced the right value for you, try again",congratulations:"Congratulations!",congrats_1:"You have learned how to send bitcoins",congrats_2:"And there are many more things you can do with Bitcoin",see_below:"See below",how_transaction:"How does this transaction work?",all_transactions:"All transactions",all_transactions_tooltip:"This means all Bitcoin addresses and all bitcoins sent between them",blockchain_1:"ever made in the Bitcoin economy are stored in a",public_record:"public record",public_record_tooltip:"An updated copy of the transactions is stored in each of the computers of most Bitcoin users",blockchain_2:"This public record works as a ledger and it is called the",blockchain:"Blockchain",blockchain_3:"When you send a bitcoin payment the transaction is send to all Bitcoin users through the Bitcoin",p2p:"peer to peer network",p2p_tooltip:"The transaction is send to a few users that forward it to more users and this is repeated until most of the network has received the transaction (in seconds)",blockchain_4:"to be stored in the Blockchain forever",blockchain_confuse:"Do not confuse with",blockchain_confuse_2:"a useful website to see Bitcoin transactions happening in real time",leger_image:"Ledger image",almost_there:"You are almost there",get_bitcoins:"Get your first bitcoins",in_construction:"In construction",apologies:"Apologies, this part of the website is not yet finished",come_back:"Come back later and you should be able to get some bitcoins for free",meanwhile:"In the meanwhile, it\xb4s recommended that you easily create",first_wallet:"your first Bitcoin wallet on-line",or_install:"or install one of the desktop Bitcoin wallets",suggested_above:"suggested above",and_get_bitcoins:"and you can also get bitcoins from one of these services",use:"What can I do with Bitcoin?",use_1:"Today it's possible to pay with bitcoins in hundreds of",use_2:"shops around the world",From:"From",to_until:"to",flights:"flights",hotels:"hotels",furniture:"furniture",food:"food",food_link:"http://www.takeaway.com",sending_money:"Sending money internationally and remittances become very cheap (cents) and fast (minutes)",person_to_person:"person to person",sending_money_tooltip:"You only need to have a Bitcoin wallet software to send and receive bitcoins, that's it",sending_money_2:"transactions with Bitcoin",donating_to:"Donating to",non_profit:"non-profit organizations",donating_to_1:"becomes faster, direct and much cheaper, removing",donating_to_2:"all intermediary fees",donating_to_tooltip_html:"You are sure the money arrives <strong>directly</strong> to the hands of those who need it the most with no delays",sean_outpost:"has been feeding the needed for months only with Bitcoin and the",bitgive_foundation:"promotes health and environment improvement projects",democratization:"Democratization of banking: with Bitcoin",democratization_1:"everybody in the world can have access to financial services",democratization_2:"regardless of their country or economic situation, the only requirement is access to Internet",democratization_tooltip_html:"2.5 <strong>billion</strong> people in the world don't have access to banks or microfinance institutions",small_payments:"Small payments (smaller than $1) finally become possible. This opens the door to small donations or",content_payments:"payments for content",on_internet:"on Internet",content_payments_tooltip:"Help children charities and Red Cross in",content_payments_tooltip_1:"by contributing any amount of bitcoins and you receive games in exchange",myths:"Myths about Bitcoin",myths_1:"Money only works because there is a government backing it",myths_2_html:"There is no government, corporation or legal entity backing Bitcoin which may make difficult to understand how can the currency be trustworthy.<br>\nBitcoin solves this by moving trust away from organizations and persons whose interests can be influenced to a unique <strong>trust in math</strong>.<br>\nSimilar to the way gold provides trust through a series of unique physical attributes that are difficult to imitate correctly,\nBitcoin uses algorithms to prove that money belongs only to the owner of a private key and can only be spent once.\n",myths_3:"Everything in Bitcoin is anonymous",myths_4_html:"Bitcoin is not anonymous, it protects your privacy like cash.<br>\nSimilar to cash where your name is not present in the bills that you use, in Bitcoin it is not possible to see your name in the bitcoins that you send or receive,\nbut if you reveal your identity to the person or company that receives the bitcoins, it is possible to link your identity with your transaction\nand since all transactions are linked and publicly stored in the Blockchain, it is possible to partially track some of the previous transactions you made with the same\n",bitcoin_address:"Bitcoin address",myths_4_tooltip:"The Wallet software will easily create and manage new addresses for you",myths_5:"Bitcoins are digital and I could copy them like digital music",myths_6_html:"Bitcoins are limited in quantity.<br>\nIt is often compared to gold in the way that the money is released into the world in a continuous and decreased rate, like gold mining.<br>\nThere will <strong>never be more than 21 million bitcoins</strong> in existence and every four years the amount of bitcoins released is halved, until the last bitcoin is released around year 2140.<br>\nThis is done by a mathematical algorithm, not a person.\n",myths_7:"Bitcoins are created at will out of thin air",myths_8_1:"Bitcoins are created as a reward for those who help verify",valid_transactions:"valid transactions",valid_transactions_tooltip:"For example, verify that you have enough bitcoins to send before transferring them",myths_8_2:"in the Bitcoin network",myths_9_1:"This process is called",bitcoin_mining:"Bitcoin Mining",myths_9_2:"and takes care of the accounting of the economy",mining_lottery_1:"To understand how a miner gets a reward you can learn how the",lottery_rewards:"lottery rewards",mining_lottery_2:"work with",proof_of_work:"Proof of Work",proof_of_work_extra:"(or POW)",share_love_tooltip:"Send love back with Bitcoin"},uk:{ltub:"\u041d\u0430\u0432\u0447\u0456\u0442\u044c\u0441\u044f \u043a\u043e\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0442\u0438\u0441\u044f Bitcoin",made:"\u0420\u043e\u0437\u0440\u043e\u0431\u043b\u0435\u043d\u043e \u0437",by:"\u0432\u0456\u0434",welcome:"\u041b\u0430\u0441\u043a\u0430\u0432\u043e \u043f\u0440\u043e\u0441\u0438\u043c\u043e",welcome2:"\u0434\u043e \u0434\u0438\u0432\u043e\u0432\u0438\u0436\u043d\u043e\u0457 \u0440\u0435\u0432\u043e\u043b\u044e\u0446\u0456\u0457 \u0433\u0440\u043e\u0448\u0435\u0439",scroll:"\u041f\u0420\u041e\u041a\u0420\u0423\u0422\u0418\u0422\u0418",what:"\u0429\u043e \u0442\u0430\u043a\u0435 Bitcoin?",what_1:"Bitcoin - \u0446\u0435 \u043d\u043e\u0432\u0438\u0439 \u043a\u043b\u0430\u0441",digital_money:"\u0446\u0438\u0444\u0440\u043e\u0432\u0438\u0445 \u0433\u0440\u043e\u0448\u0435\u0439",what_2:"\u0449\u043e \u0434\u043e\u0437\u0432\u043e\u043b\u044f\u0454 \u043d\u0430\u0434\u0441\u0438\u043b\u0430\u0442\u0438 \u0442\u0430 \u043e\u0442\u0440\u0438\u043c\u0443\u0432\u0430\u0442\u0438 \u0433\u0440\u043e\u0448\u0456 \u043c\u0456\u0436 \u0443\u0447\u0430\u0441\u043d\u0438\u043a\u0430\u043c\u0438",very_fast:"\u0434\u0443\u0436\u0435 \u0448\u0432\u0438\u0434\u043a\u043e",what_3:"\u0431\u0435\u0437 \u043f\u043e\u0441\u0435\u0440\u0435\u0434\u043d\u0438\u043a\u0430 (\u0431\u0430\u043d\u043a\u0443 \u0447\u0438 \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0446\u0456\u0457)",what_4:"\u043c\u0430\u0439\u0436\u0435 \u0437 \u043d\u0443\u043b\u044c\u043e\u0432\u043e\u044e \u043a\u043e\u043c\u0456\u0441\u0456\u0454\u044e",what_tip1_html:"\u041d\u0430\u0434\u0441\u0438\u043b\u0430\u0439\u0442\u0435 \u0433\u0440\u043e\u0448\u0456 \u0432 \u0431\u0443\u0434\u044c-\u044f\u043a\u0443 \u0442\u043e\u0447\u043a\u0443 \u043f\u043b\u0430\u043d\u0435\u0442\u0438, \u0456 \u0432\u043e\u043d\u0438 \u0441\u0442\u0430\u043d\u0443\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0456 \u043e\u0442\u0440\u0438\u043c\u0443\u0432\u0430\u0447\u0443 \u0437\u0430 \u0434\u0435\u0441\u044f\u0442\u044c \u0445\u0432\u0438\u043b\u0438\u043d",what_tip2:"5 \u0434\u043e\u043b\u0430\u0440\u043e\u0432\u0438\u0445 \u0446\u0435\u043d\u0442\u0456\u0432, \u0449\u043e\u0431 \u043d\u0430\u0434\u0456\u0441\u043b\u0430\u0442\u0438 10,000 \u0434\u043e\u043b\u043b\u0430\u0440\u0456\u0432 \u0421\u0428\u0410, \u0431\u0443\u0434\u044c-\u043a\u0443\u0434\u0438",discover:"\u041e\u0433\u043b\u044f\u0434 Bitcoin",counting_stars:"\u0412\u0456\u0434\u043b\u0456\u043a \u043f\u043e\u0447\u0438\u043d\u0430\u0454\u0442\u044c\u0441\u044f \u0434\u0435\u0441\u044c \u0443 \u0432\u0441\u0435\u0441\u0432\u0456\u0442\u0456...",bitcoin_easy:"Bitcoin - \u0446\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u044f\u043a",sending_receiving_html:"\u041d\u0430\u0434\u0456\u0441\u043b\u0430\u0442\u0438 \u0447\u0438 \u043e\u0442\u0440\u0438\u043c\u0430\u0442\u0438 Bitcoin, \u0442\u0430\u043a \u0441\u0430\u043c\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u044f\u043a \u043d\u0430\u0434\u0456\u0441\u043b\u0430\u0442\u0438 <strong>email</strong>, \u0456 \u043f\u0435\u0440\u0448\u0435 \u0449\u043e \u0437\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f - <strong>\u0430\u0434\u0440\u0435\u0441</strong>",bitcoin_address_html:"<strong>\u0410\u0434\u0440\u0435\u0441 Bitcoin</strong> - \u0446\u0435 \u043c\u0456\u0441\u0446\u0435, \u0434\u0435 \u0437\u0431\u0435\u0440\u0456\u0433\u0430\u044e\u0442\u044c\u0441\u044f bitcoin-\u0438<br>\u0426\u0435 \u044f\u043a \u043f\u0440\u043e\u0437\u043e\u0440\u0435 <strong>\u0441\u0445\u043e\u0432\u0438\u0449\u0435</strong>, \u0449\u043e \u043c\u0456\u0441\u0442\u0438\u0442\u044c \u043a\u043e\u0448\u0442\u0438, \u044f\u043a\u0456 \u043f\u0435\u0440\u0435\u043c\u0456\u0449\u0430\u044e\u0442\u044c\u0441\u044f \u0442\u0456\u043b\u044c\u043a\u0438 <strong>\u0432\u043b\u0430\u0441\u043d\u0438\u043a\u043e\u043c \u043a\u043b\u044e\u0447\u0430</strong> \u0456 \u0440\u0435\u0448\u0442\u0443 \u0443\u0447\u0430\u0441\u043d\u0438\u043a\u0456\u0432 \u043c\u043e\u0436\u0443\u0442\u044c \u0431\u0430\u0447\u0438\u0442\u0438 \u0449\u043e \u0454",inside:"\u0432\u0441\u0435\u0440\u0435\u0434\u0438\u043d\u0456",bitcoin_address_looks:"\u0410\u0434\u0440\u0435\u0441 - \u0446\u0435 \u0434\u043e\u0432\u0433\u0430 \u043f\u043e\u0441\u043b\u0456\u0434\u043e\u0432\u043d\u0456\u0441\u0442\u044c \u0431\u0443\u043a\u0432 \u0442\u0430 \u0446\u0438\u0444\u0440, \u0449\u043e \u0432\u0438\u0433\u043b\u044f\u0434\u0430\u044e\u0442\u044c, \u043d\u0430\u043f\u0440\u0438\u043a\u043b\u0430\u0434, \u0442\u0430\u043a",anonymous_email_html:"\u042f\u043a \u0456 \u0430\u043d\u043e\u043d\u0456\u043c\u043d\u0430 \u0430\u0434\u0440\u0435\u0441\u0430 \u0435\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0457 \u043f\u043e\u0448\u0442\u0438, \u0430\u0434\u0440\u0435\u0441 Bitcoin \u043d\u0456\u043a\u043e\u043b\u0438 \u043d\u0435 \u043f\u0440\u0438\u0432\u2019\u044f\u0437\u0443\u0454\u0442\u044c\u0441\u044f \u0434\u043e \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0457 \u043e\u0441\u043e\u0431\u0438<br>\u0426\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0430\u0431\u0456\u0440 \u0441\u0438\u043c\u0432\u043e\u043b\u0456\u0432",bitcoin_address_tooltip_html:"\u0412\u0438 \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u0442\u0432\u043e\u0440\u044e\u0432\u0430\u0442\u0438 \u0456 \u043a\u043e\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0442\u0438\u0441\u044f \u0432\u0435\u043b\u0438\u043a\u043e\u044e \u043a\u0456\u043b\u044c\u043a\u0456\u0441\u0442\u0442\u044e \u0430\u0434\u0440\u0435\u0441 (\u0446\u0435 \u0431\u0435\u0437\u043a\u043e\u0448\u0442\u043e\u0432\u043d\u043e)<br>Bitcoin \u0430\u0434\u0440\u0435\u0441, \u0446\u0435 \u0442\u0435, \u0449\u043e \u0432\u0438 \u0440\u043e\u0437\u0433\u043e\u043b\u043e\u0432\u0448\u0443\u0454\u0442\u0435, \u043a\u043e\u043b\u0438 \u043e\u0442\u0440\u0438\u043c\u0443\u0454\u0442\u0435 \u0433\u0440\u043e\u0448\u0456",bitcoin_address_qr_tooltip:"\u0426\u0435\u0439 QR \u043a\u043e\u0434 \u0437\u043e\u0431\u0440\u0430\u0436\u0430\u0454 \u043f\u043e\u043f\u0435\u0440\u0435\u0434\u043d\u0456\u0439 Bitcoin \u0430\u0434\u0440\u0435\u0441, \u0442\u0430 \u043f\u0440\u0438\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u0433\u043e \u0437\u0447\u0438\u0442\u0443\u0432\u0430\u043d\u043d\u044f \u043c\u043e\u0431\u0456\u043b\u044c\u043d\u0438\u043c \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u043e\u043c",address_qr:"\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u043d\u044f QR \u043a\u043e\u0434\u0443",bitcoin_private_key_html:"The <strong>private key</strong> is the <u>only</u> key in the world that can transfer the bitcoins from the Bitcoin address (like the email password)",bitcoin_private_key_2:"The private key is another long sequence of letters and numbers that you should always keep secret",private_key_image:"Private Key image",wallet_image:"Wallet image",bitcoin_wallet:"Bitcoin wallet",bitcoin_wallet_html:"A <strong>Bitcoin wallet</strong> is a software that allows you to manage multiple Bitcoin addresses and their private keys",bitcoin_wallet_2_html:"It lets you easily <strong>send and receive bitcoins</strong> or create new Bitcoin addresses",wallet_types_html:"There are three types of <strong>wallet applications</strong>",phone_image:"Phone image",mobile_app:"Mobile App",mobile_wallet_html:"This is convenient for day to day usage on the move<br>A couple of good Android wallets",and:"and",pc_image:"Desktop PC image",desktop_app:"Desktop App",desktop_wallet_html:"These wallets usually provide more security and more options<br>A couple of good wallets",browser_image:"Web browser image",browser_app:"Web wallet",browser_wallet_html:"These wallets combine easy of use with plenty of features<br>Two good examples where <strong>you</strong> completely manage your bitcoins",browser_wallet_2:"Another where the company secures and stores the bitcoins for you is",fill_wallet_html:"Now you need to fill the wallet with some bitcoins<br>You can get your first bitcoins totally for free below (no attachments or register) but first let's practice with a small",demo:"demo",demo_tooltip:"No actual bitcoins will be send to any shop during the demo",coin_image:"Coin image",some_bitcoins:"some bitcoins",extra:"extra",demo1:"Bitcoin demo transaction",imagine_shop_html:"Imagine this section below is the website of an <strong>on-line shop</strong> where you are about to pay your purchase",shop_legend:"Shopping cart in your favorite web shop",item:"Item",units:"Units",price:"Price",bear_description:"Soft and warm teddy bear",or:"or",item_image:"Teddy bear image",pay_address:"Pay to this address",shop_qr:"Shop QR of address",shop_qr_tooltip:"This QR code is easily read with a Bitcoin wallet app on a mobile phone",copy:"Copy",logo_bitcoin:"Bitcoin accepted here logo",copy_tooltip:"copy the shop payment address to your demo Bitcoin wallet",imagine_wallet_html:"This section below looks like the <strong>Bitcoin wallet</strong> software you can use to manage your bitcoins",imagine_wallet_instructions_html:"To practice, <strong>fill</strong> the form and press <strong>Send</strong>",demo_wallet_legend:"your Bitcoin demo wallet","in":"in",demo_send_address:"Send bitcoins from this Bitcoin address:",multiple_addresses:"Your Bitcoin wallet can contain as many Bitcoin addresses as you want",you_have:"You have",out_of:"out of",available:"available",amount:"amount",ready_to:"ready to send",demo_input_amount_fail_help_html:"Value should be <strong class='title'>0.1</strong> (same as the price)",demo_input_amount_tooltip_html:"1 bitcoin can be divided up to 8 decimal places<br>(0.00000001 bitcoins are currently valued at about 0.00001 USD)",to_address:"to",demo_input_address_tooltip_html:"enter here the Bitcoin address the shop provides for the payment (<strong>Hint</strong>: use the <i class='fi-page-copy'></i> Copy button)",send_button_tooltip:"send bitcoins to pay the demo bill",send:"Send",payment_received:"Payment received correctly",purchase_ok_image:"Purchase OK image",demo_fail_help:"The amount introduced in the demo Bitcoin wallet is not correct",demo_fail_help_1:"Don't worry, I have already introduced the right value for you, try again",congratulations:"Congratulations!",congrats_1:"You have learned how to send bitcoins",congrats_2:"And there are many more things you can do with Bitcoin",see_below:"See below",how_transaction:"How does this transaction work?",all_transactions:"All transactions",all_transactions_tooltip:"This means all Bitcoin addresses and all bitcoins sent between them",blockchain_1:"ever made in the Bitcoin economy are stored in a",public_record:"public record",public_record_tooltip:"An updated copy of the transactions is stored in each of the computers of most Bitcoin users",blockchain_2:"This public record works as a ledger and it is called the",blockchain:"Blockchain",blockchain_3:"When you send a bitcoin payment the transaction is send to all Bitcoin users through the Bitcoin",p2p:"peer to peer network",p2p_tooltip:"The transaction is send to a few users that forward it to more users and this is repeated until most of the network has received the transaction (in seconds)",blockchain_4:"to be stored in the Blockchain forever",blockchain_confuse:"Do not confuse with",blockchain_confuse_2:"a useful website to see Bitcoin transactions happening in real time",leger_image:"Ledger image",almost_there:"You are almost there",get_bitcoins:"Get your first bitcoins",in_construction:"In construction",apologies:"Apologies, this part of the website is not yet finished",come_back:"Come back later and you should be able to get some bitcoins for free",meanwhile:"In the meanwhile, it\xb4s recommended that you easily create",first_wallet:"your first Bitcoin wallet on-line",or_install:"or install one of the desktop Bitcoin wallets",suggested_above:"suggested above",and_get_bitcoins:"and you can also get bitcoins from one of these services",use:"What can I do with Bitcoin?",use_1:"Today it's possible to pay with bitcoins in hundreds of",use_2:"shops around the world",From:"From",to_until:"to",flights:"flights",hotels:"hotels",furniture:"furniture",food:"food",food_link:"http://www.takeaway.com",sending_money:"Sending money internationally and remittances become very cheap (cents) and fast (minutes)",person_to_person:"person to person",sending_money_tooltip:"You only need to have a Bitcoin wallet software to send and receive bitcoins, that's it",sending_money_2:"transactions with Bitcoin",donating_to:"Donating to",non_profit:"non-profit organizations",donating_to_1:"becomes faster, direct and much cheaper, removing",donating_to_2:"all intermediary fees",donating_to_tooltip_html:"You are sure the money arrives <strong>directly</strong> to the hands of those who need it the most with no delays",sean_outpost:"has been feeding the needed for months only with Bitcoin and the",bitgive_foundation:"promotes health and environment improvement projects",democratization:"Democratization of banking: with Bitcoin",democratization_1:"everybody in the world can have access to financial services",democratization_2:"regardless of their country or economic situation, the only requirement is access to Internet",democratization_tooltip_html:"2.5 <strong>billion</strong> people in the world don't have access to banks or microfinance institutions",small_payments:"Small payments (smaller than $1) finally become possible. This opens the door to small donations or",content_payments:"payments for content",on_internet:"on Internet",content_payments_tooltip:"Help children charities and Red Cross in",content_payments_tooltip_1:"by contributing any amount of bitcoins and you receive games in exchange",myths:"Myths about Bitcoin",myths_1:"Money only works because there is a government backing it",myths_2_html:"There is no government, corporation or legal entity backing Bitcoin which may make difficult to understand how can the currency be trustworthy.<br>\nBitcoin solves this by moving trust away from organizations and persons whose interests can be influenced to a unique <strong>trust in math</strong>.<br>\nSimilar to the way gold provides trust through a series of unique physical attributes that are difficult to imitate correctly,\nBitcoin uses algorithms to prove that money belongs only to the owner of a private key and can only be spent once.\n",myths_3:"Everything in Bitcoin is anonymous",myths_4_html:"Bitcoin is not anonymous, it protects your privacy like cash.<br>\nSimilar to cash where your name is not present in the bills that you use, in Bitcoin it is not possible to see your name in the bitcoins that you send or receive,\nbut if you reveal your identity to the person or company that receives the bitcoins, it is possible to link your identity with your transaction\nand since all transactions are linked and publicly stored in the Blockchain, it is possible to partially track some of the previous transactions you made with the same\n",bitcoin_address:"Bitcoin address",myths_4_tooltip:"The Wallet software will easily create and manage new addresses for you",myths_5:"Bitcoins are digital and I could copy them like digital music",myths_6_html:"Bitcoins are limited in quantity.<br>\nIt is often compared to gold in the way that the money is released into the world in a continuous and decreased rate, like gold mining.<br>\nThere will <strong>never be more than 21 million bitcoins</strong> in existence and every four years the amount of bitcoins released is halved, until the last bitcoin is released around year 2140.<br>\nThis is done by a mathematical algorithm, not a person.\n",myths_7:"Bitcoins are created at will out of thin air",myths_8_1:"Bitcoins are created as a reward for those who help verify",valid_transactions:"valid transactions",valid_transactions_tooltip:"For example, verify that you have enough bitcoins to send before transferring them",myths_8_2:"in the Bitcoin network",myths_9_1:"This process is called",bitcoin_mining:"Bitcoin Mining",myths_9_2:"and takes care of the accounting of the economy",mining_lottery_1:"To understand how a miner gets a reward you can learn how the",lottery_rewards:"lottery rewards",mining_lottery_2:"work with",proof_of_work:"Proof of Work",proof_of_work_extra:"(or POW)",share_love_tooltip:"Send love back with Bitcoin"},es:{ltub:"Aprende a Usar Bitcoin",made:"Hecho con",by:"por",welcome:"Bienvenidos",welcome2:"a la incre\xedble revoluci\xf3n del dinero",scroll:"Mira Abajo",what:"\xbfQu\xe9 es Bitcoin?",what_1:"Bitcoin es el",digital_money:"dinero en efectivo para internet",what_2:"que te permite enviar y recibir dinero a cualquier parte del mundo",very_fast:"muy r\xe1pidamente",what_3:"sin necesidad de ning\xfan intermediario (banco o corporaci\xf3n)",what_4:"a un coste casi nulo",what_tip1_html:"Env\xeda dinero a cualquier parte del mundo y el destinatario podr\xe1 usar el dinero despu\xe9s de tan s\xf3lo 10 minutos",what_tip2:"5 c\xe9ntimos de d\xf3lar para enviar 10,000 USD a cualquier parte del mundo",discover:"Descubrir Bitcoin",counting_stars:"Contando las estrellas en el universo...",bitcoin_easy:"Bitcoin es tan f\xe1cil como",sending_receiving_html:"Enviar y recibir bitcoins es tan simple como enviar un <strong>correo electr\xf3nico</strong>, lo primero que necesitamos es una <strong>direcci\xf3n</strong>",bitcoin_address_html:"Una <strong>direcci\xf3n de Bitcoin</strong> es el lugar donde se guardan los bitcoins<br> Como en una <strong>caja fuerte</strong> transparente, las monedas s\xf3lo pueden ser movidas por el <strong>due\xf1o</strong>, aunque todo el mundo puede ver lo que hay",inside:"dentro",bitcoin_address_looks:"La direcci\xf3n es una larga secuencia de cifras y letras parecida a esto",anonymous_email_html:"Como en una direcci\xf3n de correo electr\xf3nico an\xf3nima, la direcci\xf3n de Bitcoin no est\xe1 enlazada a ninguna identidad<br>Es tan s\xf3lo una secuencia de cifras y letras",bitcoin_address_tooltip_html:"Puedes generar y usar tantas direcciones como desees sin ning\xfan coste<br>La direcci\xf3n de Bitcoin es la informaci\xf3n que compartes cuando quieres recibir dinero",bitcoin_address_qr_tooltip:"Este c\xf3digo QR representa la misma direcci\xf3n de Bitcoin y puede ser f\xe1cilmente le\xeddo con un tel\xe9fono m\xf3vil",address_qr:"Imagen del c\xf3digo QR",bitcoin_private_key_html:"La <strong>llave privada</strong> es la <u>\xfanica</u> llave en el mundo que puede transferir los bitcoins desde la direcci\xf3n de Bitcoin (como la contrase\xf1a de una cuenta de correo electr\xf3nico)",bitcoin_private_key_2:"La llave privada es otra larga secuencia de cifras y letras que siempre debe mantenerse bien guardada (como un secreto)",private_key_image:"Imagen de la llave privada",wallet_image:"Imagen de la cartera",bitcoin_wallet:"cartera Bitcoin",bitcoin_wallet_html:"Una <strong>cartera de Bitcoin</strong> es una aplicaci\xf3n inform\xe1tica que te permite administrar m\xfaltiples direcciones de Bitcoin y sus llaves privadas",bitcoin_wallet_2_html:"Te facilita el <strong>env\xedo y recepci\xf3n de bitcoins</strong> o la creaci\xf3n de nuevas direcciones de Bitcoin de una manera muy sencilla",wallet_types_html:"Hay tres tipos de <strong>aplicaciones de cartera de Bitcoin</strong>",phone_image:"Imagen de un tel\xe9fono m\xf3vil",mobile_app:"Aplicaci\xf3n para tel\xe9fono m\xf3vil",mobile_wallet_html:"Estas carteras son c\xf3modas para el uso cotidiano fuera de casa<br>Un par de buenas carteras de Bitcoin para tel\xe9fonos Android",and:"y",pc_image:"Imagen de un ordenador",desktop_app:"Aplicaci\xf3n de ordenador",desktop_wallet_html:"Estas carteras normalmente ofrecen m\xe1s seguridad y funcionalidades<br>Un par de buenas carteras de Bitcoin",browser_image:"Imagen de un navegador web",browser_app:"Cartera on-line",browser_wallet_html:"Estas carteras combinan facilidad de uso con variedad de funcionalidades<br>Un par de buenas carteras de Bitcoin donde <strong>t\xfa eres el \xfanico administrador</strong> de los bitcoins",browser_wallet_2:"Otra cartera on-line donde es una compa\xf1\xeda la que administra y protege tus bitcoins por ti",fill_wallet_html:"Ahora necesitas llenar tu cartera con algunos bitcoins<br>Puedes conseguir tus primeros bitcoins totalmente gratis m\xe1s abajo (sin compromisos ni registros) pero primero practiquemos con una peque\xf1a",demo:"demostraci\xf3n",demo_tooltip:"Ning\xfan bitcoin ser\xe1 realmente enviado durante esta demostraci\xf3n",coin_image:"Imagen de una moneda",some_bitcoins:"algunos bitcoins",extra:"extra",demo1:"Demostraci\xf3n de una transacci\xf3n Bitcoin",imagine_shop_html:"Imagina que \xe9sta secci\xf3n es la p\xe1gina web de una <strong>tienda on-line</strong> donde est\xe1s a punto de pagar por tu compra",shop_legend:"Cesta de la compra en tu tienda on-line favorita",item:"Art\xedculo",units:"Unidades",price:"Precio",bear_description:"Cari\xf1oso y suave oso de peluche",or:"o",item_image:"Imagen de un oso de peluche",pay_address:"Pagar a esta direcci\xf3n",shop_qr:"C\xf3digo QR de la direcci\xf3n de pago de la tienda",shop_qr_tooltip:"Este c\xf3digo QR se lee f\xe1cilmente con una aplicaci\xf3n de cartera Bitcoin en un tel\xe9fono m\xf3vil",copy:"Copiar",logo_bitcoin:"Logo de Bitcoin aceptado aqu\xed",copy_tooltip:"copiar la direcci\xf3n de pago a tu cartera Bitcoin de ejemplo",imagine_wallet_html:"Esta secci\xf3n es similar a una aplicaci\xf3n de <strong>cartera de Bitcoin</strong> que puedes usar para administrar tus bitcoins",imagine_wallet_instructions_html:"Para practicar, <strong>rellena</strong> el formulario y pulsa <strong>Enviar</strong>",demo_wallet_legend:"tu cartera Bitcoin de ejemplo","in":"en",demo_send_address:"Enviar bitcoins desde \xe9sta direcci\xf3n de Bitcoin:",multiple_addresses:"Tu cartera Bitcoin puede contener tantas direcciones de Bitcoin como desees",you_have:"Tienes",out_of:"de",available:"disponibles",amount:"cantidad",ready_to:"listos para enviar",demo_input_amount_fail_help_html:"El valor debe ser <strong class='title'>0.1</strong> (el mismo que el precio)",demo_input_amount_tooltip_html:"1 bitcoin se puede dividir en hasta 8 unidades decimales<br>(0.00000001 bitcoins valen actualmente alrededor de 0.00001 USD)",to_address:"a",demo_input_address_tooltip_html:"introduce la direcci\xf3n de Bitcoin que la tienda proporciona para el pago (<strong>Consejo</strong>: usa el bot\xf3n <i class='fi-page-copy'></i> Copiar)",send_button_tooltip:"enviar bitcoins para pagar la factura de ejemplo",send:"Enviar",payment_received:"Pago procesado correctamente",purchase_ok_image:"Imagen de compra correcta",demo_fail_help:"La cantidad introducida en la cartera Bitcoin de ejemplo no es correcta",demo_fail_help_1:"No te preocupes, ya he introducido el valor correcto por ti, prueba de nuevo",congratulations:"\xa1Felicidades!",congrats_1:"Has aprendido c\xf3mo enviar bitcoins",congrats_2:"Y todav\xeda hay muchas m\xe1s cosas que puedes hacer con Bitcoin",see_below:"Ver m\xe1s",how_transaction:"\xbfC\xf3mo funciona esta transacci\xf3n?",all_transactions:"Todas las transacciones",all_transactions_tooltip:"Esto significa todas las direcciones de Bitcoin y todos los bitcoins enviados entre ellas",blockchain_1:"enviadas desde el principio de la econom\xeda de Bitcoin son guardadas en un",public_record:"registro p\xfablico",public_record_tooltip:"Una copia actualizada de las transacciones se almacena en cada uno de los ordenadores de la mayor\xeda de los usuarios de Bitcoin",blockchain_2:"Este registro p\xfablico funciona exactamente como un libro de contabilidad y se llama",blockchain:"Blockchain (o cadena de bloques)",blockchain_3:"Cuando env\xedas un pago en bitcoins la transacci\xf3n se env\xeda a todos los usuarios de Bitcoin a trav\xe9s de la",p2p:"red descentralizada punto a punto de Bitcoin",p2p_tooltip:"La transacci\xf3n se env\xeda a unos pocos usuarios que a su vez la reenv\xedan a m\xe1s usuarios y esto se repite hasta que la mayor\xeda de la red ha recibido la transacci\xf3n (en segundos)",blockchain_4:"para que se almacene en el Blockchain (o cadena de bloques) para siempre",blockchain_confuse:"No confundir con",blockchain_confuse_2:"una p\xe1gina web muy \xfatil para ver las transacciones de Bitcoin transmiti\xe9ndose en tiempo real",leger_image:"Imagen de un libro de contabilidad",almost_there:"Ya casi est\xe1s",get_bitcoins:"Consigue tus primeros bitcoins",in_construction:"En construcci\xf3n",apologies:"Lo siento, esta parte de la web todav\xeda no est\xe1 terminada",come_back:"Regresa en otro momento y deber\xedas poder obtener algunos bitcoins gratis",meanwhile:"Mientras tanto, se recomienda crear f\xe1cilmente",first_wallet:"tu primera cartera de Bitcoin on-line",or_install:"o instalar una de las aplicaciones de cartera de Bitcoin para ordenador",suggested_above:"sugeridas anteriormente",and_get_bitcoins:"y tambi\xe9n puedes comprar bitcoins en uno de estos servicios",use:"\xbfQu\xe9 puedo hacer con Bitcoin?",use_1:"Hoy en d\xeda es posible pagar con bitcoins en cientos de",use_2:"tiendas alrededor del mundo",From:"Desde",to_until:"hasta",flights:"vuelos",hotels:"hoteles",furniture:"muebles",food:"comida",food_link:"http://www.takeaway.com",sending_money:"El env\xedo internacional de dinero y los giros bancarios se convierten en transacciones muy econ\xf3micas (c\xe9ntimos) y r\xe1pidas (minutos)",person_to_person:"entre particulares",sending_money_tooltip:"S\xf3lo necesitas tener una cartera de Bitcoin para enviar y recibir bitcoins, eso es todo",sending_money_2:"usando Bitcoin",donating_to:"Las donaciones a",non_profit:"organizaciones sin \xe1nimo de lucro",donating_to_1:"son directas, r\xe1pidas y mucho m\xe1s econ\xf3micas, eliminando",donating_to_2:"los costes de todos los intermediarios",donating_to_tooltip_html:"El dinero llega <strong>directamente</strong> a las manos de aquellos que m\xe1s lo necesitan sin retrasos",sean_outpost:"ha dado de comer durante meses a los m\xe1s necesitados \xfanicamente con Bitcoin y la",bitgive_foundation:"impulsa proyectos para la mejora de la salud y el medio ambiente",democratization:"Democratizaci\xf3n de la banca: con Bitcoin",democratization_1:"cualquier persona en el mundo puede tener acceso a servicios financieros",democratization_2:"sin tener en cuenta su pa\xeds o situaci\xf3n econ\xf3mica, el \xfanico requisito es acceso a Internet",democratization_tooltip_html:"2.500 <strong>millones</strong> de personas en el mundo no tienen acceso a bancos ni a microcr\xe9ditos",small_payments:"Los peque\xf1os pagos (inferiores a $1) al fin son posibles. Esto abre la puerta a peque\xf1as donaciones o",content_payments:"al pago por contenidos",on_internet:"en Internet",content_payments_tooltip:"Ayuda a organizaciones caritativas para ni\xf1os y a la Cruz Roja en",content_payments_tooltip_1:"contribuyendo cualquier cantidad de bitcoins y a cambio recibir\xe1s juegos",myths:"Mitos sobre Bitcoin",myths_1:"El dinero s\xf3lo puede funcionar gracias al apoyo de un gobierno",myths_2_html:"No hay gobierno, corporaci\xf3n o entidad legal asegurando Bitcoin, lo cual puede hacer dif\xedcil entender c\xf3mo es posible que Bitcoin sea una moneda realmente fiable.<br>\nBitcoin resuelve esto eliminando la confianza en personas y organizaciones cuyos intereses pueden ser influenciados y la sustituye \xfanicamente por <strong>confianza en las matem\xe1ticas</strong>.<br>\nDe la misma forma que el oro provee confianza gracias a una serie de atributos f\xedsicos que son dif\xedciles de imitar correctamente,\nBitcoin usa algoritmos matem\xe1ticos para probar que el dinero pertenece s\xf3lo al due\xf1o de la llave privada y s\xf3lo puede ser gastado una vez por transacci\xf3n.\n",myths_3:"Todo en Bitcoin es an\xf3nimo",myths_4_html:"Bitcoin no es an\xf3nimo, protege tu privacidad de la misma forma que el dinero en efectivo.<br>\nDe la misma forma que el dinero en efectivo no lleva escrito tu nombre en los billetes que usas, en Bitcoin no es posible ver tu nombre en los bitcoins que env\xedas o recibes,\npero si revelas tu identidad a la persona o compa\xf1\xeda que recibe los bitcoins, entonces es posible enlazar tu identidad con tu transacci\xf3n\ny como todas las transacciones est\xe1n enlazadas y son almacenadas p\xfablicamente en el Blockchain, es parcialmente posible seguir las transacciones anteriores que se hayan hecho con la misma\n",bitcoin_address:"direcci\xf3n de Bitcoin",myths_4_tooltip:"La aplicaci\xf3n de cartera de Bitcoin permite f\xe1cilmente crear y administrar nuevas direcciones de Bitcoin",myths_5:"Si los Bitcoins son digitales entonces puedo copiarlos como la m\xfasica digital",myths_6_html:"El n\xfamero de bitcoins es limitado.<br>\nBitcoin se suele comparar al oro ya que los bitcoins se liberan al mundo de manera continua y cada vez en menor cantidad, como el oro extra\xeddo de la miner\xeda.<br>\n<strong>Nunca jam\xe1s habr\xe1 m\xe1s de 21 millones de bitcoins</strong> en existencia y cada cuatro a\xf1os el n\xfamero de bitcoins liberados se reduce a la mitad, hasta que el \xfaltimo bitcoin se libere alrededor del a\xf1o 2140.<br>\nEsto se debe a un algoritmo matem\xe1tico, no a una persona.\n",myths_7:"Los Bitcoins se crean de la nada",myths_8_1:"Los bitcoins se crean como recompensa para aquellos que ayudan a verificar",valid_transactions:"transacciones v\xe1lidas",valid_transactions_tooltip:"Por ejemplo, comprobar que tienes suficientes bitcoins para enviar antes de transferirlos",myths_8_2:"en la red de Bitcoin",myths_9_1:"Este proceso se llama",bitcoin_mining:"Miner\xeda Bitcoin",myths_9_2:"y se encarga de procesar la contabilidad de la econom\xeda",mining_lottery_1:"Para entender c\xf3mo un minero obtiene su recompensa puedes aprender c\xf3mo funcionan los",lottery_rewards:"premios de loter\xeda",mining_lottery_2:"con",proof_of_work:"Prueba de Trabajo",proof_of_work_extra:"(Proof of Work o POW)",share_love_tooltip:"Comparte tu cari\xf1o de vuelta usando Bitcoin"}};
  var user_location=null;$(document).ready(function(){setupActiveJavaScript(),setupLocalization(),detectLocation(),scrollFading(),setupAutoScroll(),setupScrollHintAnimation(),setupScrollFadingAndResize(),updateSizes(),updateToolTips(),$(window).on({scroll:scrollFading,resize:function(){windowResize.checkResize(resizeWindow)}}),setTimeout(function(){loadDemoContent()},6e3),loadCoinAnimation()}),function(){}.call(this),function(){}.call(this),$(function(){$(document).foundation()});