You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1 lines
6.4 KiB

var EXPO=EXPO||{};EXPO.common?console.warn("WARNING: EXPO.common is already defined!"):EXPO.common=function(){var e,t={},s=function(e,t){return(e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.oMatchesSelector).call(e,t)};t.opt={};var o=function(e){this.fields=[],this.allIsClear=!1,this.ajaxUrl=e.getAttribute("action"),this.DOM=e,this._initFields(),this._eventController()};return o.prototype={_eventController:function(){var e=this;this.DOM.addEventListener?this.DOM.addEventListener("submit",function(t){return e.validate(),t.preventDefault(),!1},!1):this.DOM.attachEvent&&this.DOM.attachEvent("onsubmit",function(t){return e.validate(),t.preventDefault(),!1})},_initFields:function(){},validate:function(){var t,s=this,o=$(s.DOM).serialize(),a={},i="err-message-box",n=s.DOM.querySelector("."+i),r=n.innerHTML,l=function(o){if(t=o,s.unHighlightFields(),t.success)n&&EXPO.common.removeClass(n,"active"),window.location.reload();else{EXPO.common.removeClass(n,"active"),a={},s.fields=[];for(var i in t.errors)t.errors.hasOwnProperty(i)&&("__all__"!=i?(a={name:i,id:"id_"+i,errorText:t.errors[i]},s.fields.push(a)):n&&(EXPO.common.addClass(n,"active"),r.indexOf(t.errors[i])<0&&n.insertAdjacentHTML("beforeend",t.errors[i]+" ")));s.highliteFields()}e.hide()};s.unHighlightFields(),e.show(),EXPO.common.postRequest(o,s.ajaxUrl,l)},highliteFields:function(){for(var e,t,s=0;s<this.fields.length;s++)e=this.DOM.querySelector("#"+this.fields[s].id),t=e.parentNode,EXPO.common.addClass(t,"required"),EXPO.common.addClass(t,"err")},unHighlightFields:function(){for(var e,t,s=0;s<this.fields.length;s++)e=this.DOM.querySelector("#"+this.fields[s].id),t=e.parentNode,EXPO.common.removeClass(t,"required"),EXPO.common.removeClass(t,"err")},submit:function(){}},t.forms=[],$(function(){$("form.validate").each(function(){t.forms.push(new o(this))})}),$(function(){$.fancybox.helpers.overlay.overlay=$('<div class="fancybox-overlay"></div>').appendTo("body"),$.fn.customRadioCheck=function(){return $(this).each(function(){function e(){if("radio"==s){var e=t.attr("name"),o=$('input[type="radio"]').filter('[name="'+e+'"]');o.each(function(){var e=$(this).closest(".custom-radio");e.removeClass("checked"),$(this).is(":checked")&&e.addClass("checked")})}else t.prop("checked")?a.addClass("checked"):a.removeClass("checked");t.trigger("blur")}var t=$(this),s=t.attr("type"),o=t.closest("label"),a=t.wrap("<span class='custom-"+s+"' />").parent();o.addClass("custom-radio-check"),e(),t.on("change",e)})},$("input[type='checkbox'], input[type='radio']").customRadioCheck(),$.fancybox($("#pw-reg-complete"))}),t.init=function(t){$.extend(this.opt,t);{var s,o=this,a=this.opt.addCalendarClass,i=this.opt.removeCalendarClass,n=this.opt.addCalendarText,r=this.opt.removeCalendarText,l=o.opt.staticValidation.errorClass,c=o.opt.staticValidation.containerClass;o.opt.staticValidation.blobClass}$(function(){s=$("."+l),e=$("#wait-ajax").css({"z-index":"8012"}),$("."+a+", ."+i).on("click",function(e){n=o.opt.addCalendarText,r=o.opt.removeCalendarText,e.preventDefault();var t=$(this),s=t.attr("href");$.get(s,function(e){e.not_authorized?$.fancybox.open("#"+o.opt.loginModalId):e.success&&(e.in?t.removeClass(a).addClass(i).text(r):t.removeClass(i).addClass(a).text(n))})}),s.length&&s.find("input:text").on("keyup",function(){""!=$.trim($(this).val())?$(this).closest("."+l).removeClass(l):$(this).closest("."+c).addClass(l)});for(var t=0;t<o.opt.httpFormIds.length;t++){var d=$("#"+o.opt.httpFormIds[t]);d.length&&($("input:text",d).on("focus",function(){var e=$(this),t=o.opt.socialInputMask;""==$.trim(e.val())&&e.val(t[0])}),$("input:text",d).on("keypress",function(){var e=$(this),t=o.opt.socialInputMask;""==$.trim(e.val())&&e.val(t[0])}),$("input:text",d).on("blur",function(){for(var e=$(this),t=o.opt.socialInputMask,s=0;s<t.length;s++)$.trim(e.val())==t[s]&&e.val("")}))}$("."+o.opt.seoLinksClass).each(function(){var e=$(this).attr("data-hash"),t=$(this).attr("data-url");EXPO.common.SEOhide.seoHrefs[e]=t}),EXPO.common.SEOhide.decode(o.opt.dataKey),$("."+o.opt.resendLetterClass).on("click",function(){var t=$(this).attr("data-email"),s=o.opt.resendLetterUrl;return e.show(),EXPO.common.getRequest({email:t},s,function(t){console.log("resent letter exeuted:"),console.log(t),e.hide()}),!1})})},t.hasClass=function(e,t){return e.classList?e.classList.contains(t):new RegExp("(^| )"+t+"( |$)","gi").test(el.className)},t.addClass=function(e,s){return t.hasClass(e,s)||(e.classList?e.classList.add(s):e.className+=" "+s),e},t.removeClass=function(e,s){var o=" "+e.className.replace(/[\t\r\n]/g," ")+" ";if(t.hasClass(e,s))if(e.classList)e.classList.remove(s);else{for(;o.indexOf(" "+s+" ")>=0;)o=o.replace(" "+s+" "," ");e.className=o.replace(/^\s+|\s+$/g," ")}return e},t.closest=function(e,s){for(var o=function(s){return t.hasClass(e,s)};e;){if(o(s))return e;e=e.parentNode}},t.children=function(e,t){for(var o,a=[],o=0,i=e.childNodes.length;i>o;++o)s(e.childNodes[o],t)&&a.push(e.childNodes[o]);return a},t.postRequest=function(e,t,s){e||(e=""),$.ajax({type:"POST",url:t,data:e,success:function(e){return"function"!=typeof s?e:(console.log("data recieved:"),console.log(e),console.log(JSON.stringify(e)),s(e),void 0)}})},t.getRequest=function(e,t,s){e||(e=""),$.ajax({type:"GET",url:t,data:e,success:function(e){return"function"!=typeof s?e:(console.log("data recieved:"),console.log(e),console.log(JSON.stringify(e)),s(e),void 0)}})},t.Modal=function(e){var t=this;this.id,this.opt=e,this.DOMwrap=document.getElementById(e.id),this.DOM=this.DOMwrap.querySelector("."+e.wrapClass),$(".modal-close",this.DOM).on("click",function(){t.close()}),$(".modals > *").on("click",function(e){$(e.target.parentNode).find(t.DOMwrap).length&&t.close()})},t.Modal.prototype={pullData:function(e){this.id=e.substr(1),$(e).show().siblings().hide(),this.refresh()},open:function(){$(this.DOMwrap).fadeIn(),t.addClass(document.body,"ov-hidden")},close:function(){$(this.DOMwrap).fadeOut(),t.removeClass(document.body,"ov-hidden")},refresh:function(){var e=this;e.DOM.style.width=e.opt.size[e.id].width+"px",e.DOM.style.minHeight=e.opt.size[e.id].height+"px",e.DOM.style.marginLeft=-(e.opt.size[e.id].width/2)+"px",e.DOM.style.marginTop=-(e.opt.size[e.id].height/2)+"px"}},t.SEOhide={seoContent:{},seoHrefs:{},decode:function(e){for(var t=$("["+e+"]"),s=0,o=t.length;o>s;s++){var a=t.eq(s),i=a.attr("data-hash");switch(a.data("type")){case"href":a.attr("href",Base64.decode(this.seoHrefs[i]));break;case"content":a.replaceWith(Base64.decode(this.seoContent[i]))}}}},t}();