/** * */ /*@cc_on@if(@_jscript_version<5.6)ns_={Form:function(){}};ns_.Form.onFailure=function(){};ns_.Form.prototype.onFailure=function(){};@else@*/ if(typeof(ns_)=="undefined"){ns_=new Object()}ns_.extend=function(a,c){for(var b in c){a[b]=c[b]}return a};ns_.encode=self.encodeURIComponent?self.encodeURIComponent:function(a){return escape(a).replace(/\//g,"%2F")};ns_.b={};ns_.b.ie= /*@cc_on!@*/ false;ns_.b.ie9=ns_.b.ie&&document.addEventListener;ns_.b.sf=navigator.vendor?/apple/i.test(navigator.vendor):false;ns_.b.ch=window.chrome?true:false;ns_.b.ff=/firefox/i.test(navigator.userAgent);ns_.b.op=window.opera?true:false;if(typeof(ns_)=="undefined"){ns_=new Object()}ns_.dt={initDate:new Date().getTime(),lastRun:new Date().getTime(),delta:0,intervalID:null,intervalTime:1000,intervalRuns:0,timedObserver:function(){var a=ns_.dt.getTime();ns_.dt.intervalID=setTimeout(ns_.dt.timedObserver,ns_.dt.intervalTime);ns_.dt.intervalRuns++;var b=a-ns_.dt.lastRun-ns_.dt.intervalTime;if(b>(ns_.dt.intervalTime*2)||b<-(ns_.dt.intervalTime*2)){ns_.dt.delta+=b;a-=b}ns_.dt.lastRun=a},getTime:function(){var a=new Date().getTime();return a-ns_.dt.delta}};ns_.dt.timedObserver();ns_.extend(Function.prototype,(function(){var e=Array.prototype.slice;function d(k,h){var j=k.length,i=h.length;while(i--){k[j+i]=h[i]}return k}function f(i,h){i=e.call(i,0);return d(i,h)}function a(){return this.STargumentIsSuper()?["$super"]:[""]}function c(){return/^[\s\(]*function[^(]*\(\s*\$super/.test(this.toString())}function b(j){if(arguments.length<2&&typeof arguments[0]=="undefined"){return this}var h=this,i=e.call(arguments,1);return function(){var k=f(i,arguments);return h.apply(j,k)}}function g(i){var h=this;return function(){var j=d([h.STbind(this)],arguments);return i.apply(this,j)}}return{STargumentNames:a,STargumentIsSuper:c,STbind:b,STwrap:g}})());ns_.Class={extend:function(c,a){if(arguments.length==1){a=c,c=null}if(typeof(c)=="function"){var b=function(){return this.initialize.apply(this,arguments)};b.prototype=new c()}else{var b=function(){}}if(a){ns_.Class.inherit(b.prototype,a)}return b},inherit:function(e,b,h){if(arguments.length==3){var c=e[h],d=b[h],g=d;var a;if(e&&g.STargumentIsSuper()){d=(function(f){return function(){return f.apply(this,arguments)}})(c).STwrap(g)}else{d=function(){var j=this.parent;this.parent=c;var f=g.apply(this,arguments);j?this.parent=j:delete this.parent;return f}}d.valueOf=function(){return g};d.toString=function(){return g.toString()};e[h]=d}else{for(var i in b){if(e[i]&&typeof(b[i])=="function"){ns_.Class.inherit(e,b,i)}else{e[i]=b[i]}}}return e}};if(typeof(ns_.ar)=="undefined"){ns_.ar={push:function(){for(var b=0,a=arguments.length;b2){for(var f=2,c=d.length;f0)){throw"ns_.Lifecycle: EmptyStates"}if(ns_.ar.indexOf(this.states,b)==-1){throw"ns_.Lifecycle: InvalidMutation"}if((typeof a!="function")&&(typeof a!="object")){throw"ns_.Lifecycle: InvalidEntitlement"}},creation:function(b,d,f,a){try{this.doChecks(f,a)}catch(c){this.log(c)}ns_.ar.each(d,function(g,e){this.property(e,g)},this);this[b]=(function(k,l,g,i){i=i||{};var h=ns_.ar.create();ns_.ar.each(k,function(n,m){if(typeof(i[m])!="undefined"){try{this["set"+ns_.st.camel(m)].call(this,i[m])}catch(o){h.push(o)}}},this);if(this.current!=""){h.push("ns_.Lifecycle: InvalidSourceState")}if(!h.length){try{g.apply(this);this.current=String(l);ns_.Error.log("ns_.Lifecycle: Created at '"+l+"'")}catch(j){this.log(j);return false}return true}return false}).STbind(this,d,f,a)},transition:function(b,d,g,f,a){try{this.doChecks(f,a)}catch(c){this.log(c)}ns_.ar.each(d,function(h,e){this.property(e,h)},this);this[b]=(function(l,n,m,h,j){j=j||{};var i=ns_.ar.create();ns_.ar.each(l,function(p,o){if(typeof(j[o])!="undefined"){try{this["set"+ns_.st.camel(o)].call(this,j[o])}catch(q){i.push(q)}}},this);if(ns_.ar.indexOf(n.split(" "),this.current)<0){i.push("ns_.Lifecycle: InvalidSourceState")}if(!i.length){try{h.apply(this);this.current=String(m);ns_.Error.log("ns_.Lifecycle: Transitioning to '"+m+"'")}catch(k){this.log(k);return false}return true}return false}).STbind(this,d,g,f,a)}});ns_.Form=ns_.Class.extend(function(){},{VERSION:"2.1204.27",conf:{DEBUG:false,TIMER_DELAY:500,LABEL_NS:"ns_fo_",INIT_TIMER:30000,SUBMIT_TIMER:1000,FAILURE_TIMER:1000,pixelUrl:"",labels:{}},init:null,start:null,id:null,tag:null,fields:null,settings:null,lastField:null,validations:null,lastValidated:null,lastValidation:null,sequence:null,state:null,wasSubmitted:null,watcher:null,fix:null,fail:null,button:null,pixelUrl:function(){var c=this.conf.pixelUrl||(self.ns_p&&typeof ns_p.src=="string"?ns_p.src:(self.ns_pixelUrl?ns_pixelUrl:""));var f=c.indexOf("&");if(f!=-1){var b=c.substring(0,f),e=c.substr(f+1).split("&");for(var d=0,a=e.length;d0){o=o[0]}else{throw"ns_.Form.onFailure(): unrecognized field ["+this.params.field+"]"}var r=ns_.ar.create(o.id,this.params.message);p.validations.push(r);p.lastValidated=o;p.lastValidation=this.params.message;if(p.wasSubmitted&&p.wasSubmitted.type==ns_.Form.SUBMIT){p.sequence--;p.wasSubmitted=false}p.fix=undefined;p.fail=ns_.dt.getTime();var n=new ns_.Form.Measurement(p,ns_.Form.FAILURE);ns_.Form.sitestat(p.pixelUrl(),n.labels);p.values()}catch(q){ns_.Error.error(q)}});this.state.transition("onSubmit",{},"inactive active failed","complete",function(){try{var p=this.params.form,r=ns_.dt.getTime();if(!p.shallTransmit("submit")){return}if(!isNaN(p.fail)&&r-p.fail0){this.id=this.fetchID(h[0]);this.tag=h[0];ns_.ar.each(h,function(f){new ns_.Form(f,l,e)},this);if(ns_.Form.get(this.id)){return ns_.Form.get(this.id)}}else{if(!ns_.Form.loaded){ns_.Form.cache.push(ns_.ar.create(g,l,e))}else{ns_.Error.error(k)}return new Boolean(0)}}else{if(typeof g=="string"){if(!ns_.Form.get(g)){var d=this.form(g);if(d){this.tag=d;this.id=this.fetchID(this.tag)}else{if(!ns_.Form.loaded){ns_.Form.cache.push(ns_.ar.create(g,l,e))}else{ns_.Error.error(k)}return new Boolean(0)}}else{return ns_.Form.get(g)}}}}}this.sequence=1;this.fail=undefined;this.fix=undefined;this.watcher=0;this.id=this.id||"";this.fields=ns_.ar.create();this.anchors=ns_.ar.create();if(typeof this.tag=="undefined"){return new Boolean(0)}ns_.Form.store.push(this);this.settings=this.defaults();var b,j,m=ns_.Form.Element,a=this.defaults;ns_.ar.each(this.tag.elements,function(f){new m(f,this,a(false))},this);ns_.ar.each(ns_.dom.getElementsByTagName("A",this.tag),function(f){new m(f,this,a(false))},this);this.parseFields(l);c();this.isVisible=this.isVisible.STbind(this);ns_.dom.addEvent(this.tag,"submit",(function(){this.state.onSubmit()}).STbind(this));ns_.dom.addEvent(this.tag,"mousedown",(function(){this.state.onInput({lastField:null,type:null})}).STbind(this));this.state.onInit()},parseFields:function(a){var b=ns_.Form.Element,c=this.defaults;if(typeof a!="undefined"&&typeof a=="object"){ns_.ar.each(a,function(e,d){if(d=="*"||(d==0&&e=="*")){this.settings=c(a["*"]);ns_.ar.each(this.tag.elements,function(f){new b(f,this,c(this.settings))},this)}else{if(d!=""){switch(d){case"abandon":this.settings=c(a);break;case"submit":this.settings=c(a);break;case"failure":this.settings=c(a);break;case"password":this.settings=c(a);break;case"hidden":this.settings=c(a);break;default:ns_.ar.each(this.element(d),function(f){new b(f,this,c(a[d]))},this);break}}}},this)}else{if(a=="*"){this.settings=c();ns_.ar.each(this.tag.elements,function(d){new b(d,this,c(this.settings))},this)}}},watch:function(){if(this.watcher==0&&(this.state.current==""||this.state.current=="inactive")){this.watcher=setTimeout((function(a){return function(){if(a.current=="inactive"&&a.params.form.isVisible()&&ns_.Form.wfocus){a.onInput({lastField:null,type:null})}a.params.form.watcher=0}})(this.state),this.conf.INIT_TIMER)}},unwatch:function(){if(!isNaN(this.watcher)){clearTimeout(this.watcher);this.watcher=0}},defaults:function(b){if(typeof conf=="undefined"){conf=null}else{if(!b){b=false}}var a=ns_.extend({submit:true,abandon:false,failure:false,password:{submit:false,abandon:false,failure:false},hidden:{submit:false,abandon:false,failure:false}},this.settings);if(b!=null&&typeof b=="object"){ns_.ar.each(b,function(d,c){if(typeof d!="undefined"){switch(c){case"submit":case"abandon":case"failure":a[c]=!!d;break;case"password":case"hidden":if(d!=null&&typeof d=="object"){ns_.ar.each(d,function(f,e){if(typeof f!="undefined"){switch(e){case"submit":case"abandon":case"failure":a[c][e]=!!f;break;default:break}}},this)}else{if(d==true){a[c]={submit:true,abandon:true,failure:true}}}default:break}}},this)}else{if(b==false){a={submit:false,abandon:false,failure:false,hidden:{submit:false,abandon:false,failure:false},password:{submit:false,abandon:false,failure:false}}}}return a},shallTransmit:function(b){var a=false;try{if(this.settings[b]||this.settings.hidden[b]||this.settings.password[b]){a=true}}catch(c){}return a},form:function(b){var a,c,b=b||"";c=ns_.dom.getElementsByTagName("FORM");ns_.ar.each(c,function(d){if(d.name==b||d.id==b){a=d}},this);return a},element:function(b){var a=ns_.ar.create(),b=b||"";ns_.ar.each(this.tag.elements,function(c){if(c.name==b||c.id==b){a.push(c)}},this);return a},field:function(b){var a=ns_.ar.create(),b=b||"";ns_.ar.each(this.fields,function(c){if(c.id==b){a.push(c)}},this);return a},fetchID:function(a){if(a.name!=""&&typeof a.name=="string"){return a.name}else{if(a.id!=""&&typeof a.id=="string"){return a.id}else{a.id="form"+ns_.ar.indexOf(document.forms,a);return a.id}}},registerField:function(c){var b=ns_.ar.create();ns_.ar.each(this.fields,function(d){if(d.id==c.id&&(d.tag.type||"").toLowerCase()!="radio"){b.push(d)}},this);if(!b.length){this.fields.push(c);ns_.dom.addEvent(c.tag,"keyup",c.onUserAction);ns_.dom.addEvent(c.tag,"mousedown",c.onUserAction);ns_.dom.addEvent(c.tag,"change",c.onUserAction);ns_.dom.addEvent(c.tag,"blur",c.onUserAction);ns_.dom.addEvent(c.tag,"focus",c.onUserAction);var a=c.tag.type;if(a=="submit"||a=="button"||a=="image"){this.button=true}}else{ns_.ar.each(b,function(d){d.setup(c.settings)},this);delete c}},values:function(){var a=ns_.ar.create();ns_.ar.each(this.fields,function(b){a[b.id]=b.value()},this);return a},onUnload:function(){if(this.wasSubmitted==false&&!this.button&&(!isNaN(this.fix)&&ns_.dt.getTime()-this.fix0){b("ns_",h,function(e){new ns_.Form(e)});ns_.ar.each(ns_.Form.store,function(i){var e={},f={abandon:true,failure:true};b("ns_",i.tag.elements,function(j){e[j.id||j.name]=f});i.parseFields(e);i.settings=i.defaults(f)},this)}}}};ns_.Form.onUnload=function(a){ns_.ar.each(ns_.Form.store,function(b){b.onUnload()},this)};ns_.dom.addEvent(window,"beforeunload",ns_.Form.onUnload);ns_.dom.addEvent(window,"load",ns_.Form.onLoad);ns_.dom.addEvent(window,"unload",ns_.Form.onUnload);ns_.Form.wfocus=true;ns_.dom.addEvent(window,ns_.ie?"focusout":"blur",function(a){ns_.Form.wfocus=false;ns_.ar.each(ns_.Form.store,function(b){b.unwatch()})});ns_.dom.addEvent(window,ns_.ie?"focusin":"focus",function(a){ns_.Form.wfocus=true;ns_.ar.each(ns_.Form.store,function(b){b.watch()})});ns_.Form.sitestat=function(b,g){var e=window.sitestat=((typeof(window.sitestat)=="function")&&(!ns_.b.ie&&g&&(typeof(g.ns_fo_ev)=="undefined"||ns_.Form.rx.Failure.test(g.ns_fo_ev))))?window.sitestat:function(j){var m=new Image();m.src=j;if(!ns_.b.ie){for(var k=0,h=100;k0?c:a.length)+"?"+f}if(a){var d=a.indexOf("&");if((d>0)&&!ns_.Form.rx.TypeLb.test(a)){e(a.substring(0,d)+"&type=hidden"+a.substring(d))}else{if(!ns_.Form.rx.TypeLb.test(a)){e(a+"&type=hidden")}else{e(a)}}}}}};ns_.Form.Element=ns_.Class.extend(function(){},{form:null,id:null,tag:null,settings:null,cache:null,throttle:null,skipKeys:ns_.ar.create(),initialize:function(d,f,e){var c=this;if(!ns_.Form.rx.FormElm.test(d.tagName)){return new Boolean(false)}c.tag=d;c.form=f;c.id=c.fetchID();c.cache="";c.throttle=ns_.ar.create();if(!c.skipKeys.length){for(var b=1,a=94;b0){var b=ns_.ar.create();ns_.ar.each(g.validations,function(f,h){if(typeof(b[f[0]])=="number"){b[f[0]]++}else{b[f[0]]=1}},this);var a=ns_.ar.create();ns_.ar.each(b,function(f,h){a.push(ns_.encode(h)+":"+f)},this);c[e+"vfo"]=a.join("|");c[e+"vf"]=g.validations.length}if(g.lastValidated!=null){c[e+"vfl"]=ns_.encode(g.lastValidated.id)}if(typeof(g.lastValidation)=="string"&&g.lastValidation!=""){c[e+"vfe"]=ns_.encode(g.lastValidation.substring(0,255))}ns_.ar.each(g.fields,function(i,f){try{i.onDispatch(this.type,c)}catch(h){ns_.Error.error(h)}},this);c[e+"sv"]=g.VERSION}}); /*@end @*/