Вход Регистрация
Файл: WORLDofTANKS/js/ipro/ipro.js
Строк: 1479
<?php
/*
 * jQuery Form Plugin; v20130616
 * http://jquery.malsup.com/form/
 * Copyright (c) 2013 M. Alsup; Dual licensed: MIT/GPL
 * https://github.com/malsup/form#copyright-and-license
 */
;(function(e){"use strict";function t(t){var r=t.data;t.isDefaultPrevented()||(t.preventDefault(),e(this).ajaxSubmit(r))}function r(t){var r=t.target,a=e(r);if(!a.is("[type=submit],[type=image]")){var n=a.closest("[type=submit]");if(0===n.length)return;r=n[0]}var i=this;if(i.clk=r,"image"==r.type)if(void 0!==t.offsetX)i.clk_x=t.offsetX,i.clk_y=t.offsetY;else if("function"==typeof e.fn.offset){var o=a.offset();i.clk_x=t.pageX-o.left,i.clk_y=t.pageY-o.top}else i.clk_x=t.pageX-r.offsetLeft,i.clk_y=t.pageY-r.offsetTop;setTimeout(function(){i.clk=i.clk_x=i.clk_y=null},100)}function a(){if(e.fn.ajaxSubmit.debug){var t="[jquery.form] "+Array.prototype.join.call(arguments,"");window.console&&window.console.log?window.console.log(t):window.opera&&window.opera.postError&&window.opera.postError(t)}}var n={};n.fileapi=void 0!==e("<input type='file'/>").get(0).files,n.formdata=void 0!==window.FormData;var i=!!e.fn.prop;e.fn.attr2=function(){if(!i)return this.attr.apply(this,arguments);var e=this.prop.apply(this,arguments);return e&&e.jquery||"string"==typeof e?e:this.attr.apply(this,arguments)},e.fn.ajaxSubmit=function(t){function r(r){var a,n,i=e.param(r,t.traditional).split("&"),o=i.length,s=[];for(a=0;o>a;a++)i[a]=i[a].replace(/+/g," "),n=i[a].split("="),s.push([decodeURIComponent(n[0]),decodeURIComponent(n[1])]);return s}function o(a){for(var n=new FormData,i=0;a.length>i;i++)n.append(a[i].name,a[i].value);if(t.extraData){var o=r(t.extraData);for(i=0;o.length>i;i++)o[i]&&n.append(o[i][0],o[i][1])}t.data=null;var s=e.extend(!0,{},e.ajaxSettings,t,{contentType:!1,processData:!1,cache:!1,type:u||"POST"});t.uploadProgress&&(s.xhr=function(){var r=e.ajaxSettings.xhr();return r.upload&&r.upload.addEventListener("progress",function(e){var r=0,a=e.loaded||e.position,n=e.total;e.lengthComputable&&(r=Math.ceil(100*(a/n))),t.uploadProgress(e,a,n,r)},!1),r}),s.data=null;var l=s.beforeSend;return s.beforeSend=function(e,t){t.data=n,l&&l.call(this,e,t)},e.ajax(s)}function s(r){function n(e){var t=null;try{e.contentWindow&&(t=e.contentWindow.document)}catch(r){a("cannot get iframe.contentWindow document: "+r)}if(t)return t;try{t=e.contentDocument?e.contentDocument:e.document}catch(r){a("cannot get iframe.contentDocument: "+r),t=e.document}return t}function o(){function t(){try{var e=n(g).readyState;a("state = "+e),e&&"uninitialized"==e.toLowerCase()&&setTimeout(t,50)}catch(r){a("Server abort: ",r," (",r.name,")"),s(D),j&&clearTimeout(j),j=void 0}}var r=f.attr2("target"),i=f.attr2("action");w.setAttribute("target",d),u||w.setAttribute("method","POST"),i!=m.url&&w.setAttribute("action",m.url),m.skipEncodingOverride||u&&!/post/i.test(u)||f.attr({encoding:"multipart/form-data",enctype:"multipart/form-data"}),m.timeout&&(j=setTimeout(function(){T=!0,s(k)},m.timeout));var o=[];try{if(m.extraData)for(var l in m.extraData)m.extraData.hasOwnProperty(l)&&(e.isPlainObject(m.extraData[l])&&m.extraData[l].hasOwnProperty("name")&&m.extraData[l].hasOwnProperty("value")?o.push(e('<input type="hidden" name="'+m.extraData[l].name+'">').val(m.extraData[l].value).appendTo(w)[0]):o.push(e('<input type="hidden" name="'+l+'">').val(m.extraData[l]).appendTo(w)[0]));m.iframeTarget||(v.appendTo("body"),g.attachEvent?g.attachEvent("onload",s):g.addEventListener("load",s,!1)),setTimeout(t,15);try{w.submit()}catch(c){var p=document.createElement("form").submit;p.apply(w)}}finally{w.setAttribute("action",i),r?w.setAttribute("target",r):f.removeAttr("target"),e(o).remove()}}function s(t){if(!x.aborted&&!F){if(M=n(g),M||(a("cannot access response document"),t=D),t===k&&x)return x.abort("timeout"),S.reject(x,"timeout"),void 0;if(t==D&&x)return x.abort("server abort"),S.reject(x,"error","server abort"),void 0;if(M&&M.location.href!=m.iframeSrc||T){g.detachEvent?g.detachEvent("onload",s):g.removeEventListener("load",s,!1);var r,i="success";try{if(T)throw"timeout";var o="xml"==m.dataType||M.XMLDocument||e.isXMLDoc(M);if(a("isXml="+o),!o&&window.opera&&(null===M.body||!M.body.innerHTML)&&--O)return a("requeing onLoad callback, DOM not available"),setTimeout(s,250),void 0;var u=M.body?M.body:M.documentElement;x.responseText=u?u.innerHTML:null,x.responseXML=M.XMLDocument?M.XMLDocument:M,o&&(m.dataType="xml"),x.getResponseHeader=function(e){var t={"content-type":m.dataType};return t[e]},u&&(x.status=Number(u.getAttribute("status"))||x.status,x.statusText=u.getAttribute("statusText")||x.statusText);var l=(m.dataType||"").toLowerCase(),c=/(json|script|text)/.test(l);if(c||m.textarea){var f=M.getElementsByTagName("textarea")[0];if(f)x.responseText=f.value,x.status=Number(f.getAttribute("status"))||x.status,x.statusText=f.getAttribute("statusText")||x.statusText;else if(c){var d=M.getElementsByTagName("pre")[0],h=M.getElementsByTagName("body")[0];d?x.responseText=d.textContent?d.textContent:d.innerText:h&&(x.responseText=h.textContent?h.textContent:h.innerText)}}else"xml"==l&&!x.responseXML&&x.responseText&&(x.responseXML=X(x.responseText));try{L=_(x,l,m)}catch(b){i="parsererror",x.error=r=b||i}}catch(b){a("error caught: ",b),i="error",x.error=r=b||i}x.aborted&&(a("upload aborted"),i=null),x.status&&(i=x.status>=200&&300>x.status||304===x.status?"success":"error"),"success"===i?(m.success&&m.success.call(m.context,L,"success",x),S.resolve(x.responseText,"success",x),p&&e.event.trigger("ajaxSuccess",[x,m])):i&&(void 0===r&&(r=x.statusText),m.error&&m.error.call(m.context,x,i,r),S.reject(x,"error",r),p&&e.event.trigger("ajaxError",[x,m,r])),p&&e.event.trigger("ajaxComplete",[x,m]),p&&!--e.active&&e.event.trigger("ajaxStop"),m.complete&&m.complete.call(m.context,x,i),F=!0,m.timeout&&clearTimeout(j),setTimeout(function(){m.iframeTarget||v.remove(),x.responseXML=null},100)}}}var l,c,m,p,d,v,g,x,b,y,T,j,w=f[0],S=e.Deferred();if(r)for(c=0;h.length>c;c++)l=e(h[c]),i?l.prop("disabled",!1):l.removeAttr("disabled");if(m=e.extend(!0,{},e.ajaxSettings,t),m.context=m.context||m,d="jqFormIO"+(new Date).getTime(),m.iframeTarget?(v=e(m.iframeTarget),y=v.attr2("name"),y?d=y:v.attr2("name",d)):(v=e('<iframe name="'+d+'" src="'+m.iframeSrc+'" />'),v.css({position:"absolute",top:"-1000px",left:"-1000px"})),g=v[0],x={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(t){var r="timeout"===t?"timeout":"aborted";a("aborting upload... "+r),this.aborted=1;try{g.contentWindow.document.execCommand&&g.contentWindow.document.execCommand("Stop")}catch(n){}v.attr("src",m.iframeSrc),x.error=r,m.error&&m.error.call(m.context,x,r,t),p&&e.event.trigger("ajaxError",[x,m,r]),m.complete&&m.complete.call(m.context,x,r)}},p=m.global,p&&0===e.active++&&e.event.trigger("ajaxStart"),p&&e.event.trigger("ajaxSend",[x,m]),m.beforeSend&&m.beforeSend.call(m.context,x,m)===!1)return m.global&&e.active--,S.reject(),S;if(x.aborted)return S.reject(),S;b=w.clk,b&&(y=b.name,y&&!b.disabled&&(m.extraData=m.extraData||{},m.extraData[y]=b.value,"image"==b.type&&(m.extraData[y+".x"]=w.clk_x,m.extraData[y+".y"]=w.clk_y)));var k=1,D=2,A=e("meta[name=csrf-token]").attr("content"),E=e("meta[name=csrf-param]").attr("content");E&&A&&(m.extraData=m.extraData||{},m.extraData[E]=A),m.forceSync?o():setTimeout(o,10);var L,M,F,O=50,X=e.parseXML||function(e,t){return window.ActiveXObject?(t=new ActiveXObject("Microsoft.XMLDOM"),t.async="false",t.loadXML(e)):t=(new DOMParser).parseFromString(e,"text/xml"),t&&t.documentElement&&"parsererror"!=t.documentElement.nodeName?t:null},C=e.parseJSON||function(e){return window.eval("("+e+")")},_=function(t,r,a){var n=t.getResponseHeader("content-type")||"",i="xml"===r||!r&&n.indexOf("xml")>=0,o=i?t.responseXML:t.responseText;return i&&"parsererror"===o.documentElement.nodeName&&e.error&&e.error("parsererror"),a&&a.dataFilter&&(o=a.dataFilter(o,r)),"string"==typeof o&&("json"===r||!r&&n.indexOf("json")>=0?o=C(o):("script"===r||!r&&n.indexOf("javascript")>=0)&&e.globalEval(o)),o};return S}if(!this.length)return a("ajaxSubmit: skipping submit process - no element selected"),this;var u,l,c,f=this;"function"==typeof t&&(t={success:t}),u=t.type||this.attr2("method"),l=t.url||this.attr2("action"),c="string"==typeof l?e.trim(l):"",c=c||window.location.href||"",c&&(c=(c.match(/^([^#]+)/)||[])[1]),t=e.extend(!0,{url:c,success:e.ajaxSettings.success,type:u||"GET",iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank"},t);var m={};if(this.trigger("form-pre-serialize",[this,t,m]),m.veto)return a("ajaxSubmit: submit vetoed via form-pre-serialize trigger"),this;if(t.beforeSerialize&&t.beforeSerialize(this,t)===!1)return a("ajaxSubmit: submit aborted via beforeSerialize callback"),this;var p=t.traditional;void 0===p&&(p=e.ajaxSettings.traditional);var d,h=[],v=this.formToArray(t.semantic,h);if(t.data&&(t.extraData=t.data,d=e.param(t.data,p)),t.beforeSubmit&&t.beforeSubmit(v,this,t)===!1)return a("ajaxSubmit: submit aborted via beforeSubmit callback"),this;if(this.trigger("form-submit-validate",[v,this,t,m]),m.veto)return a("ajaxSubmit: submit vetoed via form-submit-validate trigger"),this;var g=e.param(v,p);d&&(g=g?g+"&"+d:d),"GET"==t.type.toUpperCase()?(t.url+=(t.url.indexOf("?")>=0?"&":"?")+g,t.data=null):t.data=g;var x=[];if(t.resetForm&&x.push(function(){f.resetForm()}),t.clearForm&&x.push(function(){f.clearForm(t.includeHidden)}),!t.dataType&&t.target){var b=t.success||function(){};x.push(function(r){var a=t.replaceTarget?"replaceWith":"html";e(t.target)[a](r).each(b,arguments)})}else t.success&&x.push(t.success);if(t.success=function(e,r,a){for(var n=t.context||this,i=0,o=x.length;o>i;i++)x[i].apply(n,[e,r,a||f,f])},t.error){var y=t.error;t.error=function(e,r,a){var n=t.context||this;y.apply(n,[e,r,a,f])}}if(t.complete){var T=t.complete;t.complete=function(e,r){var a=t.context||this;T.apply(a,[e,r,f])}}var j=e('input[type=file]:enabled[value!=""]',this),w=j.length>0,S="multipart/form-data",k=f.attr("enctype")==S||f.attr("encoding")==S,D=n.fileapi&&n.formdata;a("fileAPI :"+D);var A,E=(w||k)&&!D;t.iframe!==!1&&(t.iframe||E)?t.closeKeepAlive?e.get(t.closeKeepAlive,function(){A=s(v)}):A=s(v):A=(w||k)&&D?o(v):e.ajax(t),f.removeData("jqxhr").data("jqxhr",A);for(var L=0;h.length>L;L++)h[L]=null;return this.trigger("form-submit-notify",[this,t]),this},e.fn.ajaxForm=function(n){if(n=n||{},n.delegation=n.delegation&&e.isFunction(e.fn.on),!n.delegation&&0===this.length){var i={s:this.selector,c:this.context};return!e.isReady&&i.s?(a("DOM not ready, queuing ajaxForm"),e(function(){e(i.s,i.c).ajaxForm(n)}),this):(a("terminating; zero elements found by selector"+(e.isReady?"":" (DOM not ready)")),this)}return n.delegation?(e(document).off("submit.form-plugin",this.selector,t).off("click.form-plugin",this.selector,r).on("submit.form-plugin",this.selector,n,t).on("click.form-plugin",this.selector,n,r),this):this.ajaxFormUnbind().bind("submit.form-plugin",n,t).bind("click.form-plugin",n,r)},e.fn.ajaxFormUnbind=function(){return this.unbind("submit.form-plugin click.form-plugin")},e.fn.formToArray=function(t,r){var a=[];if(0===this.length)return a;var i=this[0],o=t?i.getElementsByTagName("*"):i.elements;if(!o)return a;var s,u,l,c,f,m,p;for(s=0,m=o.length;m>s;s++)if(f=o[s],l=f.name,l&&!f.disabled)if(t&&i.clk&&"image"==f.type)i.clk==f&&(a.push({name:l,value:e(f).val(),type:f.type}),a.push({name:l+".x",value:i.clk_x},{name:l+".y",value:i.clk_y}));else if(c=e.fieldValue(f,!0),c&&c.constructor==Array)for(r&&r.push(f),u=0,p=c.length;p>u;u++)a.push({name:l,value:c[u]});else if(n.fileapi&&"file"==f.type){r&&r.push(f);var d=f.files;if(d.length)for(u=0;d.length>u;u++)a.push({name:l,value:d[u],type:f.type});else a.push({name:l,value:"",type:f.type})}else null!==c&&c!==void 0&&(r&&r.push(f),a.push({name:l,value:c,type:f.type,required:f.required}));if(!t&&i.clk){var h=e(i.clk),v=h[0];l=v.name,l&&!v.disabled&&"image"==v.type&&(a.push({name:l,value:h.val()}),a.push({name:l+".x",value:i.clk_x},{name:l+".y",value:i.clk_y}))}return a},e.fn.formSerialize=function(t){return e.param(this.formToArray(t))},e.fn.fieldSerialize=function(t){var r=[];return this.each(function(){var a=this.name;if(a){var n=e.fieldValue(this,t);if(n&&n.constructor==Array)for(var i=0,o=n.length;o>i;i++)r.push({name:a,value:n[i]});else null!==n&&n!==void 0&&r.push({name:this.name,value:n})}}),e.param(r)},e.fn.fieldValue=function(t){for(var r=[],a=0,n=this.length;n>a;a++){var i=this[a],o=e.fieldValue(i,t);null===o||void 0===o||o.constructor==Array&&!o.length||(o.constructor==Array?e.merge(r,o):r.push(o))}return r},e.fieldValue=function(t,r){var a=t.name,n=t.type,i=t.tagName.toLowerCase();if(void 0===r&&(r=!0),r&&(!a||t.disabled||"reset"==n||"button"==n||("checkbox"==n||"radio"==n)&&!t.checked||("submit"==n||"image"==n)&&t.form&&t.form.clk!=t||"select"==i&&-1==t.selectedIndex))return null;if("select"==i){var o=t.selectedIndex;if(0>o)return null;for(var s=[],u=t.options,l="select-one"==n,c=l?o+1:u.length,f=l?o:0;c>f;f++){var m=u[f];if(m.selected){var p=m.value;if(p||(p=m.attributes&&m.attributes.value&&!m.attributes.value.specified?m.text:m.value),l)return p;s.push(p)}}return s}return e(t).val()},e.fn.clearForm=function(t){return this.each(function(){e("input,select,textarea",this).clearFields(t)})},e.fn.clearFields=e.fn.clearInputs=function(t){var r=/^(?:color|date|datetime|email|month|number|password|range|search|tel|text|time|url|week)$/i;return this.each(function(){var a=this.type,n=this.tagName.toLowerCase();r.test(a)||"textarea"==n?this.value="":"checkbox"==a||"radio"==a?this.checked=!1:"select"==n?this.selectedIndex=-1:"file"==a?/MSIE/.test(navigator.userAgent)?e(this).replaceWith(e(this).clone(!0)):e(this).val(""):t&&(t===!0&&/hidden/.test(a)||"string"==typeof t&&e(this).is(t))&&(this.value="")})},e.fn.resetForm=function(){return this.each(function(){("function"==typeof this.reset||"object"==typeof this.reset&&!this.reset.nodeType)&&this.reset()})},e.fn.enable=function(e){return void 0===e&&(e=!0),this.each(function(){this.disabled=!e})},e.fn.selected=function(t){return void 0===t&&(t=!0),this.each(function(){var r=this.type;if("checkbox"==r||"radio"==r)this.checked=t;else if("option"==this.tagName.toLowerCase()){var a=e(this).parent("select");t&&a[0]&&"select-one"==a[0].type&&a.find("option").selected(!1),this.selected=t}})},e.fn.ajaxSubmit.debug=!1})(jQuery);

/*
 * Color plugin
 */
(function(d){d.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor","borderTopColor","color","outlineColor"],function(f,e){d.fx.step[e]=function(g){if(!g.colorInit){g.start=c(g.elem,e);g.end=b(g.end);g.colorInit=true}g.elem.style[e]="rgb("+[Math.max(Math.min(parseInt((g.pos*(g.end[0]-g.start[0]))+g.start[0]),255),0),Math.max(Math.min(parseInt((g.pos*(g.end[1]-g.start[1]))+g.start[1]),255),0),Math.max(Math.min(parseInt((g.pos*(g.end[2]-g.start[2]))+g.start[2]),255),0)].join(",")+")"}});function b(f){var e;if(f&&f.constructor==Array&&f.length==3){return f}if(e=/rgb(s*([0-9]{1,3})s*,s*([0-9]{1,3})s*,s*([0-9]{1,3})s*)/.exec(f)){return[parseInt(e[1]),parseInt(e[2]),parseInt(e[3])]}if(e=/rgb(s*([0-9]+(?:.[0-9]+)?)%s*,s*([0-9]+(?:.[0-9]+)?)%s*,s*([0-9]+(?:.[0-9]+)?)%s*)/.exec(f)){return[parseFloat(e[1])*2.55,parseFloat(e[2])*2.55,parseFloat(e[3])*2.55]}if(e=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(f)){return[parseInt(e[1],16),parseInt(e[2],16),parseInt(e[3],16)]}if(e=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(f)){return[parseInt(e[1]+e[1],16),parseInt(e[2]+e[2],16),parseInt(e[3]+e[3],16)]}if(e=/rgba(0, 0, 0, 0)/.exec(f)){return a.transparent}return a[d.trim(f).toLowerCase()]}function c(g,e){var f;do{f=d.css(g,e);if(f!=""&&f!="transparent"||d.nodeName(g,"body")){break}e="backgroundColor"}while(g=g.parentNode);return b(f)}var a={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0],transparent:[255,255,255]}})(jQuery);

/* jQuery Serialize object */
$.fn.serializeObject = function()
{
  var 
= {};
  var 
this.serializeArray();
  $.
each(a, function() {
    if (
o[this.name] !== undefined) {
      if (!
o[this.name].push) {
        
o[this.name] = [o[this.name]];
      }
      
o[this.name].push(this.value || '');
    } else {
      
o[this.name] = this.value || '';
    }
  });
  return 
o;
};

/*
  Namespace
 */
window.imoney window.imoney || {};
imoney.urls imoney.urls || {};

imoney.browser = {
  
//flashEnabled: !!(navigator.mimeTypes["application/x-shockwave-flash"] || window.ActiveXObject && new ActiveXObject('ShockwaveFlash.ShockwaveFlash')),
  
flashEnabledtrue,
  
isMobilefalse
};

imoney.cookie = {
  
create: function(name,value,days) {
    if (
days) {
      var 
date = new Date();
      
date.setTime(date.getTime()+(days*24*60*60*1000));
      var 
expires "; expires="+date.toGMTString();
    }
    else var 
expires "";
    
document.cookie name+"="+value+expires+"; path=/";
  },

  
read: function(namedefaultValue) {
    var 
nameEQ name "=";
    var 
ca document.cookie.split(';');
    for (var 
i=0;ca.length;i++) {
      var 
ca[i];
      while (
c.charAt(0)==' 'c.substring(1,c.length);
      if (
c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return 
defaultValue || null;
  },

  
erase: function(name) {
    
createCookie(name,"",-1);
  }
};

/**
 * Заменяет строку с переменным {var} значениями из объекта {var: 'value'}.
 */
imoney.curlyTemplate = {
  
fetch: function(templatedata)
  {
    return 
template.replace(/{(.+?)}/gi, function(placeholdermatchpositionraw){
      return 
data[match] || '';
    });
  }
};

/**
 * Выводит промо-ролик.
 */
imoney.reelDisplay = (function()
{
  var 
swfHTML '<object  wmode="transparent" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0" width="{width}" height="{height}" id="{id}" align="middle"><param name="allowScriptAccess" value="sameDomain" /><param name="allowFullScreen" value="false" /><param name="movie" value="{url}" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><embed src="{url}" quality="high" bgcolor="#ffffff" width="{width}" height="{height}" name="{name}" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" wmode="transparent" pluginspage="http://www.adobe.com/go/getflashplayer" /></object>';
  var 
videoHTML '<video class="video-js vjs-default-skin" width="{width}" height="{height}" preload="{preload}" autoplay="" controls=""><source src="{mp4}" type="video/mp4"></source><source src="{webm}" type="video/webm"></source></video>';

  var 
inheritOptions = ['id''height''name''width'];
  var 
settings ={
    
// Reel containers CSS selector
    
container'#reelDisplay',
    
forceMobilefalse,
    
// Выводится при встраивании swf-видео
    
id'reel',
    
height0,
    
name'',
    
swf: {
      
url''
    
},
    
video: {
      
mp4'',
      
preload'auto',
      
webm''
    
},
    
width0,
  };

  return {
    
write: function(options)
    {
      
options = $.extend(settingsoptions);

      var 
htmldata;
      if (
imoney.browser.flashEnabled && !options.forceMobile
        
&& !imoney.browser.isMobile && options.swf.url) {
        
html swfHTML;
        
data options.swf
      
} else if (options.video.mp4 || options.video.webm) {
        
html videoHTML;
        
data options.video;
      }
      if (
html) {
        $.
each(inheritOptions, function(indexname){
          if (
typeof data[name] == 'undefined') {
            
data[name] = options[name];
          }
        });
        $(
options.container).html(imoney.curlyTemplate.fetch(htmldata));
      }
    }
  }
})();

var 
locationSearch = (function(){
  var 
prmstr window.location.search.substr(1);
  var 
prmarr prmstr.split ("&");
  var 
params = {};

  for ( var 
0prmarr.lengthi++) {
    var 
tmparr prmarr[i].split("=");
    
params[tmparr[0]] = tmparr[1];
  }

  return 
params;
})();

/**
 Signup Form Plugin
 */
(function($){
  var 
pluginName 'signupForm';
  var 
methods = {
    
'init': function(options) {
      return 
this.each(function(){
        var 
$this = $(this),
          
data $this.data(pluginName);

        var 
settings = $.extend({
          
// Defaults
        
}, options);

        if (!
data){
          $(
'.submit').click(function(event){
            
event.preventDefault();
            
$this.submit();
          });

          
$this.submit(function(event){
            if (!
$this.data('isValid')) {
              
event.preventDefault();
              
validateForm($this);
            }
          });

          $(
this).data(pluginName, {
            
target $this,
            
settingssettings
          
});
        }
      });
    }
  };

  $.
fn[pluginName] = function(method){
    if ( 
methods[method] ) {
      return 
methods[method].applythis, Array.prototype.slice.callarguments));
    } else if ( 
typeof method === 'object' || ! method ) {
      return 
methods.init.applythisarguments );
    } else {
      $.
error'Method ' +  method ' does not exist on jQuery.' pluginName );
    }
  };
})(
jQuery);

/**
 * Contact Form Plugin
 */
(function($){
  var 
pluginName 'contactForm';
  var 
methods = {
    
'init': function(options) {
      return 
this.each(function(){
        var 
$this = $(this),
          
data $this.data(pluginName);

        var 
settings = $.extend({
          
// Defaults
          
captchaURL'/get-captcha/',
          
onSuccessfalse
        
}, options);

        if (!
data){
          
/* Plugin body */
          
$this.submit(function(event){
            
event.preventDefault();
            var 
$cbx = $('input[name="is_email_correct"]'$this);
            var 
$email = $('#email'$this);
            var 
$repeatEmail = $('#repeat_email'$this);

            var 
errors = [];

            if(
$cbx.length && !$cbx.is(':checked')){
              
errors.push($('label[for="' $cbx.attr('id') + '"]'$this).text());
            }

            if(
$repeatEmail.length && $email.length && $email.val() != $repeatEmail.val()){
              
errors.push('Введенные емайлы не совпадают.');
            }

            if (!
errors.length) {
              
formSubmitHandler($thissettings.onSuccess);
            } else {
              
alert(errors.join("n"));
            }
          });

          
$container $this.parent();
          
/* /Plugin body */

          
$(this).data(pluginName, {
            
target $this,
            
settingssettings,

            
container$container
          
});
        }
      });
    }
  };

  function 
formSubmitHandler($formcallback)
  {
    $(
'.control-group'$form).removeClass('error');
    var 
$container $form.data(pluginName).container;
    var 
$message $container.find('.alert');
    if (!
$message.length) {
      
$message = $('.alert');
    }
    
$message.hide();
    $.
post($form.attr('action'), $form.serialize(),
      function(
data){
        if(
data.ok){
          
$message.addClass('alert-success').removeClass('alert-error');
          
$message.html(data.message);

          if(
callback && typeof callback == 'function'){
            
callback();
          }

          
resetForm($form);
        } else {
          var 
errors_str '<ul>';
          
$message.addClass('alert-error').removeClass('alert-success');
          for(
i in data.errors){
            
errors_str += '<li>' data.errors[i] + '</li>';
            
$form.find('*[name="' '"]').parents('.control-group').addClass('error');
          }
          
errors_str += '</ul>';
          
$message.html(errors_str);
        }
        
$message.show();
        $(
'http://paleo-dieta.info/js/ipro/input, textarea, select, .btn'$form).removeAttr('disabled');
        $(
'.ico-loading'$form).css({visibility'hidden'});
      },
      
'json');
    $(
'http://paleo-dieta.info/js/ipro/input, textarea, select, .btn'$form).attr('disabled''disabled');
    $(
'.ico-loading'$form).css({visibility'visible'});
  }

  
/**
   * @private
   */
  
function reloadCaptcha(captchURL){
    $(
'#icp').attr('src'captchURL '?' Math.floor(Math.random()*10));
  }

  
/**
   * @private
   */
  
function resetForm($form){
    $(
'input[type="text"], input:file, textarea'$form).val('');
    
reloadCaptcha($form.data(pluginName).settings.captchaURL);
  }

  $.
fn[pluginName] = function(method){
    if ( 
methods[method] ) {
      return 
methods[method].applythis, Array.prototype.slice.callarguments));
    } else if ( 
typeof method === 'object' || ! method ) {
      return 
methods.init.applythisarguments );
    } else {
      $.
error'Method ' +  method ' does not exist on jQuery.' pluginName );
    }
  };
})(
jQuery);

/**
 * Очередной плагин для формы...
 */
(function($){
  var 
pluginName 'expressForm';

  var 
methods = {
    
'init': function(options) {
      return 
this.each(function(){
        var 
$this = $(this),
          
data $this.data(pluginName);

        var 
$form $this.is('form') ? $this $this.find('form:first');
        var 
$container $this.is('form') ? $this.parent() : $this;

        var 
settings = $.extend({
          
// Defaults
          
captchaURL'/get-captcha/',
          
onSuccessfalse,
          
successURL''
        
}, options);

        if (!
data){
          
/* Plugin body */
          
$form.submit(function(event){
            
event.preventDefault();
            $.
post($form.attr('action'), $form.serialize(), function(response){
              if(
response.ok){
                if (
typeof settings.onSuccess == 'function') {
                  
settings.onSuccess();
                }

                
exitPopup.skip();
                
window.top.location settings.successURL;
              } else {
                
alert(response.errors.join("n"));
                
$form.find('input').removeAttr('disabled');
              }
            }, 
'json');
            
$form.find('input').attr('disabled''disabled');
          });

          
/* /Plugin body */

          
$(this).data(pluginName, {
            
target $this,
            
settingssettings,

            
container$container,
            
form$form
          
});
        }
      });
    }
  };

  $.
fn[pluginName] = function(method){
    if ( 
methods[method] ) {
      return 
methods[method].applythis, Array.prototype.slice.callarguments));
    } else if ( 
typeof method === 'object' || ! method ) {
      return 
methods.init.applythisarguments );
    } else {
      $.
error'Method ' +  method ' does not exist on jQuery.' pluginName );
    }
  };
})(
jQuery);

var 
ScrollDirection = (function () {
  var 
previousTop 0;
  
/**
   * 0 - top, 1 - down
   */
  
var scrollDirection 1;

  function 
track() {
    var 
currentTop parseInt($(window).scrollTop());
    
scrollDirection currentTop previousTop 1;
    
previousTop currentTop;
  }

  $(
window).on('scroll'track);

  return {
    
isDown: function () {
      return 
scrollDirection == 1;
    },

    
isUp: function () {
      return 
scrollDirection === 0;
    }
  };
})();

(function ($) {
  $.
fn.stayVisible = function (options) {
    var 
version '2.0';

    return 
this.each(function () {
      var 
$this = $(this);
      var 
$container false;
      var 
settings = $.extend({
        
// Defaults
        // Контейнер, ограничивающий движение вниз
        
containerfalse,
        
marginBottom20,
        
marginTop20
      
}, options);

      if (
settings.container) {
        
$container = $(settings.container);
        if (!
$container.length) {
          
$container false;
        }
      }

      
$this.css({position'absolute'});

      function 
checkPosition() {
        var 
top $this.offset().top;
        var 
height $this.outerHeight();
        var 
newTop false;

        var 
windowTop = $(window).scrollTop();
        var 
windowHeight = $(window).height();
        var 
windowBottom windowTop windowHeight;

        var 
bottomInvisible top height settings.marginBottom windowBottom;
        var 
topInvisible top settings.marginTop windowTop;

        var 
mightTop windowTop settings.marginTop;
        var 
mightBottom windowBottom settings.marginBottom height

        
if (ScrollDirection.isDown() && bottomInvisible) {
          if (
height >= windowHeight) {
            
newTop mightBottom;
          } else if (
height windowHeight && topInvisible) {
            
newTop mightTop;
          }
          if (
$container && (newTop height settings.marginBottom $container.offset().top $container.innerHeight())) {
            
newTop $container.offset().top $container.innerHeight() - height settings.marginBottom;
          }
        } else if (
ScrollDirection.isUp()) {
          if (
top windowTop settings.marginTop) {
            
newTop mightTop;
          }

          if (
newTop && newTop $this.parent().offset().top) {
            
newTop $this.parent().offset().top;
          }
        }

        if (
newTop !== false) {
          
$this.offset({topnewTop});
        }
      }

      $(
window).on('scroll'checkPosition);
    });
  };
})(
jQuery);

(function($){
  $.
fn.simpleCountdown = function(options)
  {
    var 
settings = {
      
// Seconds
      
'alertPeriod'0,

      
// Seconds
      
'timeLeft'10,
      
'onAlert'null,
      
'onComplete'null
    
};
    return 
this.each(function(){
      if (
options) {
        $.
extend(settingsoptions);
      }

      var 
$container = $(this);

      function 
doCountdown(){
        
settings.timeLeft--;
        if(
settings.alertPeriod && settings.timeLeft == settings.alertPeriod){
          if(
settings.onAlert){
            
settings.onAlert();
          }
        }
        if(
settings.timeLeft == 60){
          
$container.css({color'#f00'});
        }
        if(
settings.timeLeft 0){
          
clearInterval(interval);
          if(
settings.onComplete){
            
settings.onComplete();
          }
        } else {
          
write();
        }
      }

      function 
write(){
        var 
hours Math.floor(settings.timeLeft / (60 60));
        var 
settings.timeLeft hours 60 60;
        var 
minutes Math.floor(60);
        var 
seconds 60;

        var 
html '';
        if (
hours) {
          
html += hours ':';
        }

        if(
minutes 10) {minutes '0' minutes; }
        if(
seconds 10) {seconds '0' seconds; }
        
$container.html(html minutes ':' seconds);
      }

      
write();
      var 
interval setInterval(doCountdown1000);
    });
  };
})(
jQuery);

(function($) {
  $.
fn.highlight = function(options) {

    var 
settings = {
      
backgroundColor'#ffffcc',
      
hold5,
      
speedIn.3,
      
speedOut2
    
};

    return 
this.each(function(){
      if (
options) {
        $.
extend(settingsoptions);
      }

      var 
$this = $(this);
      var 
bgColor $this.css('backgroundColor');

      
$this
        
.animate({
          
backgroundColorsettings.backgroundColor
        
}, settings.speedIn 1000)
        .
delay(settings.hold 1000)
        .
animate({
          
backgroundColorbgColor
        
}, settings.speedOut 1000);
    });
  }
})(
jQuery);

/**
 *  Позволяет показывать попап при выходе пользователя.
 *  Новые браузеры не позволяют модифицировать текст, выводящийся
 *  на подтверждении закрытия страницы, поэтому сначала выводится алерт.
 *
 *  TODO Добавить проверку на версию браузера, для старых алерт не нужно показывать.
 *  TODO Вернуть костыль для старых ИЕ, см. static/dont_go_away/index.php
 *
 *  @version 2.0.1
 */
var exitPopup = (function()
{
  var 
_settings = {
    
/**
     * Сообщение, выводящееся перед браузерным предупреждением о закрытии.
     * Нужно указывать для новых браузеров.
     */
    
alertMessage'',

    
/**
     * Хэш тип файла - ссылка на файл.
     * <code>
     *   audio: {
       *     mp3: '',
       *     ogg: ''
       *   },
     * </code>
     */
    
audiofalse,

    
/**
     * Сообщение, встраиваемое в браузерное предупреждение о закрытии.
     * Доступно только для старых браузеров.
     */
    
confirmMessage'',

    
onShowfalse,

    
/**
     * Адрес страницы, которая будет встроена поверх основной.
     */
    
url'',
    
frameName'exitFrame',
    
pageContainerSelector'body'
  
};
  var 
_exitContainer;
  var 
_exitFrame;
  var 
_pageContainer;
  var 
_skip false;
  var 
_version "2.0.1";
  var 
_window;

  var 
$audio false;

  var 
types = {
    
mp3'audio/mpeg',
    
ogg'audio/ogg'
  
};

  function 
_beforeUnloadHandler()
  {
    if(!
_skip){
      
_public.skip();

      
_exitContainer.show();
      
_pageContainer.hide();

      $(
'object, embed, video').remove();

      if (
typeof _settings.onShow == 'function') {
        
_settings.onShow();
      }

      if (
$audio) {
        
$audio.trigger('play');
      }

      
alert(_settings.alertMessage);
      return 
_settings.confirmMessage;
    }
  }

  function 
_injectAudio()
  {
    if (
typeof _settings.audio == 'object') {
      
$audio = $('<audio preload="auto" />');
      for (var 
type in _settings.audio) {
        if (
typeof types[type] == 'undefined') {
          continue;
        }
        $(
'<source src="' _settings.audio[type] + '" type="' types[type] + '" />')
          .
appendTo($audio);
      }

      
_exitContainer.after($audio);
    }
  }

  function 
_injectExitPage()
  {
    
_exitContainer = $('<div class="exitContainer" style="display: none; height: 100%; position: fixed; top: 0px; left: 0px; width: 100%; z-index: 9999; "></div>');
    
_exitFrame = $('<iframe name="' _settings.frameName '" src="' _settings.url '" frameborder="0" style="height: 100%; width: 100%; "></iframe>');

    
_exitContainer.append(_exitFrame);
    
_pageContainer.before(_exitContainer);
  }

  function 
_skipClickHandler(event)
  {
    
_public.skip();
  }

  var 
_public = {
    
init: function(options)
    {
      for (var 
p in options) {
        if (
options.hasOwnProperty(p) && _settings.hasOwnProperty(p)) {
          
_settings[p] = options[p];
        }
      }

      if (
_settings.url) {
        
_window = $(window);
        
_pageContainer = $(_settings.pageContainerSelector);

        
// Встраиваем фрейм.
        
_injectExitPage();
        
_injectAudio();

        $(
window).bind('beforeunload'_beforeUnloadHandler);
        
// Отключаем отображение ифрейма при переходе по ссылке или самбите формы.
        
$(document).bind('click submit'_skipClickHandler);
      }
    },

    
skip: function()
    {
      
_skip true;
    }
  };

  return 
_public;
})();

function 
validateForm($form)
{
  var 
$field;
  var 
$errorField false;
  var 
errors = [];

  var 
mandatory = [
    {
selector'input[name="first_name"]'message'Укажите своё имя.'},
    {
selector'#email'message'Укажите электронный адрес.'},
    {
selector'[name="sex"]'message'Укажите пол.'},
    {
selector'#birthyear'message'Выберите свой год рождения.'}
  ];

  var 
termsMessage 'Пожалуйста, поставьте галочку о согласии с правилами сайта';

  $.
each(mandatory, function(){
    
$field = $(this.selector);
    if (!
$field.val()
      || (
$field.is('select') && !parseInt($field.find('option:selected').val()))
      || (
$field.is(':radio') && !$field.filter(':checked').length)
      ) {
      
$field.closest('.control-group').addClass('error');
      if(!
$errorField){
        
$errorField $field;
      }
      
errors.push(this.message);
    } else {
      
$field.closest('.control-group').removeClass('error');
    }
  });

  var 
$cbx = $('input[name="isAccepted"]'$form);
  if (
$cbx.length && !$cbx.is(':checked')) {
    
errors.push(termsMessage);
  }

  if(
errors.length){
    
$errorField.focus();
    
alert(errors.join("n"));
    return 
false;
  }

  $(
'#signupForm').data('isValid'1);

  var 
$dialog = $('#waitDialog');
  if (
$dialog.length) {
    $(
'#blackout').show();
    
$dialog.show();

    
setTimeout(function(){
      
exitPopup.skip();
      $(
'#signupForm').submit();
    }, 
5000);
  } else {
    
exitPopup.skip();
    $(
'#signupForm').submit();
  }
};

$(function(){
  
/* Skip upsell */
  
$('.skip-upsell a.disabled').live('click', function(event){
    
event.preventDefault();
  });

  $(
'.skip-upsell input:checkbox').change(function(event){
    var 
$button = $('.skip-upsell a.btn');
    if ($(
this).is(':checked')) {
      
$button.removeClass('disabled');
    } else {
      
$button.addClass('disabled');
    }
  });
  
/* // Skip upsell */

  /* Verify header */
  
var $verifyBox = $('.verify-header');
  var 
$actionsBox = $('.actions'$verifyBox);
  $(
'http://paleo-dieta.info/js/ipro/a.btn'$actionsBox).click(function(event){
    
event.preventDefault();

    var 
action = $(this).data('action');

    
$actionsBox.hide();
    $(
'.action-box'$verifyBox).hide();
    $(
'.' action '-box')
      .
show()
      .
find('input:first').focus();
  });

  $(
'a[data-action="cancel"]').click(function(event){
    
event.preventDefault();
    
$actionsBox.show();
    $(
'.action-box'$verifyBox).hide();
  });

  $(
'#quickEmailEdit, #requestResend').ajaxForm({
    
beforeSubmit: function(data$formoptions)
    {
      var 
isValid true;

      if (
isValid) {
        
ajaxFormLoading($formtrue);
      }

      return 
isValid;
    },
    
dataType'json',
    
error: function(responsestatusTextxhr$form)
    {
      
ajaxFormLoading($formfalse);
    },
    
success: function(responsestatusTextxhr$form)
    {
      
ajaxFormLoading($formfalse);

      if (
response.ok) {
        if (
response.data.html) {
          $(
'.verify-header .copy').html(response.data.html);
        }

        $(
'.actions, .action-box'$verifyBox).hide();
        
$form.resetForm();
      } else if (
response.errors && response.errors.length) {
        
alert(response.errors.join("n"));
        $(
'input:first'$form).focus();
      }
    }
  });

  function 
ajaxFormLoading($formisOn)
  {
    var 
$actions = $('.form-actions'$form);
    if (
isOn) {
      
$actions.find('*').hide().filter('.loading').show();
    } else {
      
$actions.find('*').hide().filter(':not(.loading)').show();
    }
  }
  
/* // Verify header */
});
?>
Онлайн: 0
Реклама