var Spry;if(!Spry){Spry={}}Spry.forwards=1;Spry.backwards=2;if(!Spry.Effect){Spry.Effect={}}Spry.Effect.Transitions={linearTransition:function(c,a,d,b){if(c>b){return d+a}return a+(c/b)*d},sinusoidalTransition:function(c,a,d,b){if(c>b){return d+a}return a+((-Math.cos((c/b)*Math.PI)/2)+0.5)*d},squareTransition:function(c,a,d,b){if(c>b){return d+a}return a+Math.pow(c/b,2)*d},squarerootTransition:function(c,a,d,b){if(c>b){return d+a}return a+Math.sqrt(c/b)*d},fifthTransition:function(c,a,d,b){if(c>b){return d+a}return a+Math.sqrt((-Math.cos((c/b)*Math.PI)/2)+0.5)*d},circleTransition:function(c,a,e,b){if(c>b){return e+a}var d=c/b;return a+Math.sqrt(1-Math.pow((d-1),2))*e},pulsateTransition:function(c,a,d,b){if(c>b){return d+a}return a+(0.5+Math.sin(17*c/b)/2)*d},growSpecificTransition:function(c,a,e,b){if(c>b){return e+a}var d=c/b;return a+(5*Math.pow(d,3)-6.4*Math.pow(d,2)+2*d)*e}};for(var trans in Spry.Effect.Transitions){Spry[trans]=Spry.Effect.Transitions[trans]}Spry.Effect.Registry=function(){this.effects=[]};Spry.Effect.Registry.prototype.getRegisteredEffect=function(e,c){var b={};b.element=Spry.Effect.getElement(e);b.options=c;for(var d=0;d<this.effects.length;d++){if(this.effectsAreTheSame(this.effects[d],b)){return this.effects[d].effect}}return false};Spry.Effect.Registry.prototype.addEffect=function(e,c,b){if(!this.getRegisteredEffect(c,b)){var a=this.effects.length;this.effects[a]={};var d=this.effects[a];d.effect=e;d.element=Spry.Effect.getElement(c);d.options=b}};Spry.Effect.Registry.prototype.effectsAreTheSame=function(b,a){if(b.element!=a.element){return false}var c=Spry.Effect.Utils.optionsAreIdentical(b.options,a.options);if(c){if(typeof a.options.setup=="function"){b.options.setup=a.options.setup}if(typeof a.options.finish=="function"){b.options.finish=a.options.finish}}return c};var SpryRegistry=new Spry.Effect.Registry;if(!Spry.Effect.Utils){Spry.Effect.Utils={}}Spry.Effect.Utils.showError=function(a){alert("Spry.Effect ERR: "+a)};Spry.Effect.Utils.showInitError=function(a){Spry.Effect.Utils.showError("The "+a+" class can't be accessed as a static function anymore. \nPlease read Spry Effects migration documentation.");return false};Spry.Effect.Utils.Position=function(){this.x=0;this.y=0;this.units="px"};Spry.Effect.Utils.Rectangle=function(){this.width=0;this.height=0;this.units="px"};Spry.Effect.Utils.intToHex=function(b){var a=b.toString(16);if(a.length==1){a="0"+a}return a};Spry.Effect.Utils.hexToInt=function(a){return parseInt(a,16)};Spry.Effect.Utils.rgb=function(c,e,d){var b=Spry.Effect.Utils.intToHex;var f=b(c);var a=b(e);var g=b(d);compositeColorHex=f.concat(a,g).toUpperCase();compositeColorHex="#"+compositeColorHex;return compositeColorHex};Spry.Effect.Utils.longColorVersion=function(a){if(a.match(/^#[0-9a-f]{3}$/i)){var c=a.split("");var a="#";for(var b=1;b<c.length;b++){a+=c[b]+""+c[b]}}return a};Spry.Effect.Utils.camelize=function(a){if(a.indexOf("-")==-1){return a}var e=a.split("-");var b=true;var c="";for(var d=0;d<e.length;d++){if(e[d].length>0){if(b){c=e[d];b=false}else{var f=e[d];c+=f.charAt(0).toUpperCase()+f.substring(1)}}}return c};Spry.Effect.Utils.isPercentValue=function(b){var a=false;if(typeof b=="string"&&b.length>0&&b.lastIndexOf("%")>0){a=true}return a};Spry.Effect.Utils.getPercentValue=function(b){var a=0;try{a=Number(b.substring(0,b.lastIndexOf("%")))}catch(c){Spry.Effect.Utils.showError("Spry.Effect.Utils.getPercentValue: "+c)}return a};Spry.Effect.Utils.getPixelValue=function(c){var a=0;if(typeof c=="number"){return c}var b=c.lastIndexOf("px");if(b==-1){b=c.length}try{a=parseInt(c.substring(0,b),10)}catch(d){}return a};Spry.Effect.Utils.getFirstChildElement=function(b){if(b){var a=b.firstChild;while(a){if(a.nodeType==1){return a}a=a.nextSibling}}return null};Spry.Effect.Utils.fetchChildImages=function(b,e){if(!b||b.nodeType!=1||!e){return}if(b.hasChildNodes()){var a=b.getElementsByTagName("img");var d=a.length;for(var c=0;c<d;c++){var g=a[c];var f=Spry.Effect.getDimensions(g);e.push([g,f.width,f.height])}}};Spry.Effect.Utils.optionsAreIdentical=function(e,d){if(e==null&&d==null){return true}if(e!=null&&d!=null){var c=0;var b=0;for(var j in e){c++}for(var h in d){b++}if(c!=b){return false}for(var a in e){var g=typeof e[a];var f=typeof d[a];if(g!=f||(g!="undefined"&&e[a]!=d[a])){return false}}return true}return false};Spry.Effect.Utils.DoEffect=function(b,d,c){if(!c){var c={}}c.name=b;var a=SpryRegistry.getRegisteredEffect(d,c);if(!a){a=new Spry.Effect[b](d,c);SpryRegistry.addEffect(a,d,c)}a.start();return true};if(!Spry.Utils){Spry.Utils={}}Spry.Utils.Notifier=function(){this.observers=[];this.suppressNotifications=0};Spry.Utils.Notifier.prototype.addObserver=function(b){if(!b){return}var a=this.observers.length;for(var c=0;c<a;c++){if(this.observers[c]==b){return}}this.observers[a]=b};Spry.Utils.Notifier.prototype.removeObserver=function(a){if(!a){return}for(var b=0;b<this.observers.length;b++){if(this.observers[b]==a){this.observers.splice(b,1);break}}};Spry.Utils.Notifier.prototype.notifyObservers=function(b,d){if(!b){return}if(!this.suppressNotifications){var a=this.observers.length;for(var c=0;c<a;c++){var e=this.observers[c];if(e){if(typeof e=="function"){e(b,this,d)}else{if(e[b]){e[b](this,d)}}}}}};Spry.Utils.Notifier.prototype.enableNotifications=function(){if(--this.suppressNotifications<0){this.suppressNotifications=0;Spry.Effect.Utils.showError("Unbalanced enableNotifications() call!\n")}};Spry.Utils.Notifier.prototype.disableNotifications=function(){++this.suppressNotifications};Spry.Effect.getElement=function(b){var a=b;if(typeof b=="string"){a=document.getElementById(b)}if(a==null){Spry.Effect.Utils.showError('Element "'+b+'" not found.')}return a};Spry.Effect.getStyleProp=function(b,g){var d;var c=Spry.Effect.Utils.camelize(g);try{if(b.style){d=b.style[c]}if(!d){if(document.defaultView&&document.defaultView.getComputedStyle){var a=document.defaultView.getComputedStyle(b,null);d=a?a.getPropertyValue(g):null}else{if(b.currentStyle){d=b.currentStyle[c]}}}}catch(f){Spry.Effect.Utils.showError("Spry.Effect.getStyleProp: "+f)}return d=="auto"?null:d};Spry.Effect.setStyleProp=function(a,d,b){try{a.style[Spry.Effect.Utils.camelize(d)]=b}catch(c){Spry.Effect.Utils.showError("Spry.Effect.setStyleProp: "+c)}};Spry.Effect.getStylePropRegardlessOfDisplayState=function(c,g,e){var f=e?e:c;var d=Spry.Effect.getStyleProp(f,"display");var b=Spry.Effect.getStyleProp(f,"visibility");if(d=="none"){Spry.Effect.setStyleProp(f,"visibility","hidden");Spry.Effect.setStyleProp(f,"display","block");if(window.opera){f.focus()}}var a=Spry.Effect.getStyleProp(c,g);if(d=="none"){Spry.Effect.setStyleProp(f,"display","none");Spry.Effect.setStyleProp(f,"visibility",b)}return a};Spry.Effect.makePositioned=function(a){var b=Spry.Effect.getStyleProp(a,"position");if(!b||b=="static"){a.style.position="relative";if(window.opera){a.style.top=0;a.style.left=0}}};Spry.Effect.isInvisible=function(c){var a=Spry.Effect.getStyleProp(c,"display");if(a&&a.toLowerCase()=="none"){return true}var b=Spry.Effect.getStyleProp(c,"visibility");if(b&&b.toLowerCase()=="hidden"){return true}return false};Spry.Effect.enforceVisible=function(c){var a=Spry.Effect.getStyleProp(c,"display");if(a&&a.toLowerCase()=="none"){Spry.Effect.setStyleProp(c,"display","block")}var b=Spry.Effect.getStyleProp(c,"visibility");if(b&&b.toLowerCase()=="hidden"){Spry.Effect.setStyleProp(c,"visibility","visible")}};Spry.Effect.makeClipping=function(b){var d=Spry.Effect.getStyleProp(b,"overflow");if(!d||(d.toLowerCase()!="hidden"&&d.toLowerCase()!="scroll")){var a=0;var c=/MSIE 7.0/.test(navigator.userAgent)&&/Windows NT/.test(navigator.userAgent);if(c){a=Spry.Effect.getDimensionsRegardlessOfDisplayState(b).height}Spry.Effect.setStyleProp(b,"overflow","hidden");if(c){Spry.Effect.setStyleProp(b,"height",a+"px")}}};Spry.Effect.cleanWhitespace=function(b){var f=b.childNodes.length;for(var a=f-1;a>=0;a--){var c=b.childNodes[a];if(c.nodeType==3&&!/\S/.test(c.nodeValue)){try{b.removeChild(c)}catch(d){Spry.Effect.Utils.showError("Spry.Effect.cleanWhitespace: "+d)}}}};Spry.Effect.getComputedStyle=function(a){return/MSIE/.test(navigator.userAgent)?a.currentStyle:document.defaultView.getComputedStyle(a,null)};Spry.Effect.getDimensions=function(b){var d=new Spry.Effect.Utils.Rectangle;var a=null;if(b.style.width&&/px/i.test(b.style.width)){d.width=parseInt(b.style.width,10)}else{a=Spry.Effect.getComputedStyle(b);var c=a&&a.width&&/px/i.test(a.width);if(c){d.width=parseInt(a.width,10)}if(!c||d.width==0){d.width=b.offsetWidth}}if(b.style.height&&/px/i.test(b.style.height)){d.height=parseInt(b.style.height,10)}else{if(!a){a=Spry.Effect.getComputedStyle(b)}var c=a&&a.height&&/px/i.test(a.height);if(c){d.height=parseInt(a.height,10)}if(!c||d.height==0){d.height=b.offsetHeight}}return d};Spry.Effect.getDimensionsRegardlessOfDisplayState=function(b,e){var f=e?e:b;var d=Spry.Effect.getStyleProp(f,"display");var a=Spry.Effect.getStyleProp(f,"visibility");if(d=="none"){Spry.Effect.setStyleProp(f,"visibility","hidden");Spry.Effect.setStyleProp(f,"display","block");if(window.opera){f.focus()}}var c=Spry.Effect.getDimensions(b);if(d=="none"){Spry.Effect.setStyleProp(f,"display","none");Spry.Effect.setStyleProp(f,"visibility",a)}return c};Spry.Effect.getOpacity=function(a){var b=Spry.Effect.getStyleProp(a,"opacity");if(typeof b=="undefined"||b==null){b=1}return b};Spry.Effect.getBgColor=function(a){return Spry.Effect.getStyleProp(a,"background-color")};Spry.Effect.intPropStyle=function(b,c){var a=parseInt(Spry.Effect.getStyleProp(b,c),10);if(isNaN(a)){return 0}return a};Spry.Effect.getPosition=function(c){var a=new Spry.Effect.Utils.Position;var b=null;if(c.style.left&&/px/i.test(c.style.left)){a.x=parseInt(c.style.left,10)}else{b=Spry.Effect.getComputedStyle(c);var d=b&&b.left&&/px/i.test(b.left);if(d){a.x=parseInt(b.left,10)}if(!d||a.x==0){a.x=c.offsetLeft}}if(c.style.top&&/px/i.test(c.style.top)){a.y=parseInt(c.style.top,10)}else{if(!b){b=Spry.Effect.getComputedStyle(c)}var d=b&&b.top&&/px/i.test(b.top);if(d){a.y=parseInt(b.top,10)}if(!d||a.y==0){a.y=c.offsetTop}}return a};Spry.Effect.getOffsetPosition=Spry.Effect.getPosition;Spry.Effect.Animator=function(b){Spry.Utils.Notifier.call(this);this.name="Animator";this.element=null;this.startMilliseconds=0;this.repeat="none";this.isRunning=false;this.timer=null;this.cancelRemaining=0;if(!b){var b={}}if(b.toggle){this.direction=false}else{this.direction=Spry.forwards}var a=this;if(b.setup!=null){this.addObserver({onPreEffect:function(){try{a.options.setup(a.element,a)}catch(c){Spry.Effect.Utils.showError("Spry.Effect.Animator.prototype.start: setup callback: "+c)}}})}if(b.finish!=null){this.addObserver({onPostEffect:function(){try{a.options.finish(a.element,a)}catch(c){Spry.Effect.Utils.showError("Spry.Effect.Animator.prototype.stop: finish callback: "+c)}}})}this.options={duration:1000,toggle:false,transition:Spry.linearTransition,interval:16};this.setOptions(b);if(b.transition){this.setTransition(b.transition)}if(b.fps){this.setFps(b.fps)}};Spry.Effect.Animator.prototype=new Spry.Utils.Notifier();Spry.Effect.Animator.prototype.constructor=Spry.Utils.Animator;Spry.Effect.Animator.prototype.notStaticAnimator=true;Spry.Effect.Animator.prototype.setOptions=function(a){if(!a){return}for(var b in a){this.options[b]=a[b]}};Spry.Effect.Animator.prototype.setTransition=function(c){if(typeof c=="number"||c=="1"||c=="2"){switch(parseInt(c,10)){case 1:c=Spry.linearTransition;break;case 2:c=Spry.sinusoidalTransition;break;default:Spry.Effect.Utils.showError("unknown transition")}}else{if(typeof c=="string"){if(typeof window[c]=="function"){c=window[c]}else{if(typeof Spry[c]=="function"){c=Spry[c]}else{Spry.Effect.Utils.showError("unknown transition")}}}}this.options.transition=c;if(typeof this.effectsArray!="undefined"){var a=this.effectsArray.length;for(var b=0;b<a;b++){this.effectsArray[b].effect.setTransition(c)}}};Spry.Effect.Animator.prototype.setDuration=function(c){this.options.duration=c;if(typeof this.effectsArray!="undefined"){var a=this.effectsArray.length;for(var b=0;b<a;b++){this.effectsArray[b].effect.setDuration(c)}}};Spry.Effect.Animator.prototype.setFps=function(c){this.options.interval=parseInt(1000/c,10);this.options.fps=c;if(typeof this.effectsArray!="undefined"){var a=this.effectsArray.length;for(var b=0;b<a;b++){this.effectsArray[b].effect.setFps(c)}}};Spry.Effect.Animator.prototype.start=function(e){if(!this.element){return}if(arguments.length==0){e=false}if(this.isRunning){this.cancel()}this.prepareStart();var d=new Date();this.startMilliseconds=d.getTime();if(this.element.id){this.element=document.getElementById(this.element.id)}if(this.cancelRemaining!=0&&this.options.toggle){if(this.cancelRemaining<1&&typeof this.options.transition=="function"){var c=0;var b=this.options.duration;var a=0;var f=1;var g=0;this.cancelRemaining=Math.round(this.cancelRemaining*1000)/1000;var l=false;var k=0;while(!l){if(g++>this.options.duration){break}var j=c+((b-c)/2);k=Math.round(this.options.transition(j,1,-1,this.options.duration)*1000)/1000;if(k==this.cancelRemaining){this.startMilliseconds-=j;l=true}if(k<this.cancelRemaining){b=j;f=k}else{c=j;a=k}}}this.cancelRemaining=0}this.notifyObservers("onPreEffect",this);if(e==false){var h=this;this.timer=setInterval(function(){h.drawEffect()},this.options.interval)}this.isRunning=true};Spry.Effect.Animator.prototype.stopFlagReset=function(){if(this.timer){clearInterval(this.timer);this.timer=null}this.startMilliseconds=0};Spry.Effect.Animator.prototype.stop=function(){this.stopFlagReset();this.notifyObservers("onPostEffect",this);this.isRunning=false};Spry.Effect.Animator.prototype.cancel=function(){var a=this.getElapsedMilliseconds();if(this.startMilliseconds>0&&a<this.options.duration){this.cancelRemaining=this.options.transition(a,0,1,this.options.duration)}this.stopFlagReset();this.notifyObservers("onCancel",this);this.isRunning=false};Spry.Effect.Animator.prototype.drawEffect=function(){var b=true;this.notifyObservers("onStep",this);var a=this.getElapsedMilliseconds();if(typeof this.options.transition!="function"){Spry.Effect.Utils.showError("unknown transition");return}this.animate();if(a>this.options.duration){b=false;this.stop()}return b};Spry.Effect.Animator.prototype.getElapsedMilliseconds=function(){if(this.startMilliseconds>0){var a=new Date();return(a.getTime()-this.startMilliseconds)}return 0};Spry.Effect.Animator.prototype.doToggle=function(){if(!this.direction){this.direction=Spry.forwards;return}if(this.options.toggle==true){if(this.direction==Spry.forwards){this.direction=Spry.backwards;this.notifyObservers("onToggle",this)}else{if(this.direction==Spry.backwards){this.direction=Spry.forwards}}}};Spry.Effect.Animator.prototype.prepareStart=function(){if(this.options&&this.options.toggle){this.doToggle()}};Spry.Effect.Animator.prototype.animate=function(){};Spry.Effect.Animator.prototype.onStep=function(a){if(a!=this){this.notifyObservers("onStep",this)}};Spry.Effect.Move=function(c,b,d,a){this.dynamicFromPos=false;if(arguments.length==3){a=d;d=b;b=Spry.Effect.getPosition(c);this.dynamicFromPos=true}Spry.Effect.Animator.call(this,a);this.name="Move";this.element=Spry.Effect.getElement(c);if(!this.element){return}if(b.units!=d.units){Spry.Effect.Utils.showError("Spry.Effect.Move: Conflicting units ("+b.units+", "+d.units+")")}this.units=b.units;this.startX=Number(b.x);this.stopX=Number(d.x);this.startY=Number(b.y);this.stopY=Number(d.y)};Spry.Effect.Move.prototype=new Spry.Effect.Animator();Spry.Effect.Move.prototype.constructor=Spry.Effect.Move;Spry.Effect.Move.prototype.animate=function(){var d=0;var c=0;var b=Math.floor;var a=this.getElapsedMilliseconds();if(this.direction==Spry.forwards){d=b(this.options.transition(a,this.startX,this.stopX-this.startX,this.options.duration));c=b(this.options.transition(a,this.startY,this.stopY-this.startY,this.options.duration))}else{if(this.direction==Spry.backwards){d=b(this.options.transition(a,this.stopX,this.startX-this.stopX,this.options.duration));c=b(this.options.transition(a,this.stopY,this.startY-this.stopY,this.options.duration))}}this.element.style.left=d+this.units;this.element.style.top=c+this.units};Spry.Effect.Move.prototype.prepareStart=function(){if(this.options&&this.options.toggle){this.doToggle()}if(this.dynamicFromPos==true){var a=Spry.Effect.getPosition(this.element);this.startX=a.x;this.startY=a.y;this.rangeMoveX=this.startX-this.stopX;this.rangeMoveY=this.startY-this.stopY}};Spry.Effect.Size=function(f,b,l,m){this.dynamicFromRect=false;if(arguments.length==3){m=l;l=b;b=Spry.Effect.getDimensionsRegardlessOfDisplayState(f);this.dynamicFromRect=true}Spry.Effect.Animator.call(this,m);this.name="Size";this.element=Spry.Effect.getElement(f);if(!this.element){return}f=this.element;if(b.units!=l.units){Spry.Effect.Utils.showError("Spry.Effect.Size: Conflicting units ("+b.units+", "+l.units+")");return false}this.units=b.units;var c=Spry.Effect.getDimensionsRegardlessOfDisplayState(f);this.originalWidth=c.width;this.originalHeight=c.height;this.startWidth=b.width;this.startHeight=b.height;this.stopWidth=l.width;this.stopHeight=l.height;this.childImages=new Array();if(this.options.useCSSBox){Spry.Effect.makePositioned(this.element);var j=Spry.Effect.intPropStyle;this.startFromBorder_top=j(f,"border-top-width");this.startFromBorder_bottom=j(f,"border-bottom-width");this.startFromBorder_left=j(f,"border-left-width");this.startFromBorder_right=j(f,"border-right-width");this.startFromPadding_top=j(f,"padding-top");this.startFromPadding_bottom=j(f,"padding-bottom");this.startFromPadding_left=j(f,"padding-left");this.startFromPadding_right=j(f,"padding-right");this.startFromMargin_top=j(f,"margin-top");this.startFromMargin_bottom=j(f,"margin-bottom");this.startFromMargin_right=j(f,"margin-right");this.startFromMargin_left=j(f,"margin-left");this.startLeft=j(f,"left");this.startTop=j(f,"top")}if(this.options.scaleContent){Spry.Effect.Utils.fetchChildImages(f,this.childImages)}this.fontFactor=1;var k=Spry.Effect.getStyleProp(this.element,"font-size");if(k&&/em\s*$/.test(k)){this.fontFactor=parseFloat(k)}var a=Spry.Effect.Utils.isPercentValue;if(a(this.startWidth)){var d=Spry.Effect.Utils.getPercentValue(this.startWidth);this.startWidth=c.width*(d/100)}if(a(this.startHeight)){var g=Spry.Effect.Utils.getPercentValue(this.startHeight);this.startHeight=c.height*(g/100)}if(a(this.stopWidth)){var e=Spry.Effect.Utils.getPercentValue(this.stopWidth);this.stopWidth=c.width*(e/100)}if(a(this.stopHeight)){var h=Spry.Effect.Utils.getPercentValue(this.stopHeight);this.stopHeight=c.height*(h/100)}this.enforceVisible=Spry.Effect.isInvisible(this.element)};Spry.Effect.Size.prototype=new Spry.Effect.Animator();Spry.Effect.Size.prototype.constructor=Spry.Effect.Size;Spry.Effect.Size.prototype.animate=function(){var m=0;var l=0;var b=0;var z=0;var r=Math.floor;var a=this.getElapsedMilliseconds();if(this.direction==Spry.forwards){m=r(this.options.transition(a,this.startWidth,this.stopWidth-this.startWidth,this.options.duration));l=r(this.options.transition(a,this.startHeight,this.stopHeight-this.startHeight,this.options.duration));z=1}else{if(this.direction==Spry.backwards){m=r(this.options.transition(a,this.stopWidth,this.startWidth-this.stopWidth,this.options.duration));l=r(this.options.transition(a,this.stopHeight,this.startHeight-this.stopHeight,this.options.duration));z=-1}}var v=m/this.originalWidth;b=this.fontFactor*v;var p=this.element.style;if(m<0){m=0}if(l<0){l=0}p.width=m+this.units;p.height=l+this.units;if(typeof this.options.useCSSBox!="undefined"&&this.options.useCSSBox==true){var d=Spry.Effect.intPropStyle;var s=d(this.element,"top");var A=d(this.element,"left");var u=d(this.element,"margin-top");var f=d(this.element,"margin-left");var k=v;var t=l/this.originalHeight;var e=r(this.startFromBorder_top*t);var g=r(this.startFromBorder_bottom*t);var w=r(this.startFromBorder_left*k);var h=r(this.startFromBorder_right*k);var c=r(this.startFromPadding_top*t);var B=r(this.startFromPadding_bottom*t);var o=r(this.startFromPadding_left*k);var j=r(this.startFromPadding_right*k);var C=r(this.startFromMargin_top*t);var n=r(this.startFromMargin_bottom*t);var y=r(this.startFromMargin_right*k);var x=r(this.startFromMargin_left*k);p.borderTopWidth=e+this.units;p.borderBottomWidth=g+this.units;p.borderLeftWidth=w+this.units;p.borderRightWidth=h+this.units;p.paddingTop=c+this.units;p.paddingBottom=B+this.units;p.paddingLeft=o+this.units;p.paddingRight=j+this.units;p.marginTop=C+this.units;p.marginBottom=n+this.units;p.marginLeft=x+this.units;p.marginRight=y+this.units;p.left=r(A+f-x)+this.units;p.top=r(s+u-C)+this.units}if(this.options.scaleContent){for(var q=0;q<this.childImages.length;q++){this.childImages[q][0].style.width=v*this.childImages[q][1]+this.units;this.childImages[q][0].style.height=v*this.childImages[q][2]+this.units}this.element.style.fontSize=b+"em"}if(this.enforceVisible){Spry.Effect.enforceVisible(this.element);this.enforceVisible=false}};Spry.Effect.Size.prototype.prepareStart=function(){if(this.options&&this.options.toggle){this.doToggle()}if(this.dynamicFromRect==true){var a=Spry.Effect.getDimensions(this.element);this.startWidth=a.width;this.startHeight=a.height;this.widthRange=this.startWidth-this.stopWidth;this.heightRange=this.startHeight-this.stopHeight}};Spry.Effect.Opacity=function(c,b,d,a){this.dynamicStartOpacity=false;if(arguments.length==3){a=d;d=b;b=Spry.Effect.getOpacity(c);this.dynamicStartOpacity=true}Spry.Effect.Animator.call(this,a);this.name="Opacity";this.element=Spry.Effect.getElement(c);if(!this.element){return}if(/MSIE/.test(navigator.userAgent)&&(!this.element.hasLayout)){Spry.Effect.setStyleProp(this.element,"zoom","1")}this.startOpacity=b;this.stopOpacity=d;this.enforceVisible=Spry.Effect.isInvisible(this.element)};Spry.Effect.Opacity.prototype=new Spry.Effect.Animator();Spry.Effect.Opacity.prototype.constructor=Spry.Effect.Opacity;Spry.Effect.Opacity.prototype.animate=function(){var b=0;var a=this.getElapsedMilliseconds();if(this.direction==Spry.forwards){b=this.options.transition(a,this.startOpacity,this.stopOpacity-this.startOpacity,this.options.duration)}else{if(this.direction==Spry.backwards){b=this.options.transition(a,this.stopOpacity,this.startOpacity-this.stopOpacity,this.options.duration)}}if(b<0){b=0}if(/MSIE/.test(navigator.userAgent)){var c=Spry.Effect.getStyleProp(this.element,"filter");if(c){c=c.replace(/alpha\(opacity=[0-9]{1,3}\)/g,"")}this.element.style.filter=c+"alpha(opacity="+Math.floor(b*100)+")"}else{this.element.style.opacity=b}if(this.enforceVisible){Spry.Effect.enforceVisible(this.element);this.enforceVisible=false}};Spry.Effect.Opacity.prototype.prepareStart=function(){if(this.options&&this.options.toggle){this.doToggle()}if(this.dynamicStartOpacity==true){this.startOpacity=Spry.Effect.getOpacity(this.element);this.opacityRange=this.startOpacity-this.stopOpacity}};Spry.Effect.Color=function(c,d,a,b){this.dynamicStartColor=false;if(arguments.length==3){b=a;a=d;d=Spry.Effect.getBgColor(c);this.dynamicStartColor=true}Spry.Effect.Animator.call(this,b);this.name="Color";this.element=Spry.Effect.getElement(c);if(!this.element){return}this.startColor=d;this.stopColor=a;this.startRedColor=Spry.Effect.Utils.hexToInt(d.substr(1,2));this.startGreenColor=Spry.Effect.Utils.hexToInt(d.substr(3,2));this.startBlueColor=Spry.Effect.Utils.hexToInt(d.substr(5,2));this.stopRedColor=Spry.Effect.Utils.hexToInt(a.substr(1,2));this.stopGreenColor=Spry.Effect.Utils.hexToInt(a.substr(3,2));this.stopBlueColor=Spry.Effect.Utils.hexToInt(a.substr(5,2))};Spry.Effect.Color.prototype=new Spry.Effect.Animator();Spry.Effect.Color.prototype.constructor=Spry.Effect.Color;Spry.Effect.Color.prototype.animate=function(){var c=0;var e=0;var d=0;var b=Math.floor;var a=this.getElapsedMilliseconds();if(this.direction==Spry.forwards){c=b(this.options.transition(a,this.startRedColor,this.stopRedColor-this.startRedColor,this.options.duration));e=b(this.options.transition(a,this.startGreenColor,this.stopGreenColor-this.startGreenColor,this.options.duration));d=b(this.options.transition(a,this.startBlueColor,this.stopBlueColor-this.startBlueColor,this.options.duration))}else{if(this.direction==Spry.backwards){c=b(this.options.transition(a,this.stopRedColor,this.startRedColor-this.stopRedColor,this.options.duration));e=b(this.options.transition(a,this.stopGreenColor,this.startGreenColor-this.stopGreenColor,this.options.duration));d=b(this.options.transition(a,this.stopBlueColor,this.startBlueColor-this.stopBlueColor,this.options.duration))}}this.element.style.backgroundColor=Spry.Effect.Utils.rgb(c,e,d)};Spry.Effect.Color.prototype.prepareStart=function(){if(this.options&&this.options.toggle){this.doToggle()}if(this.dynamicStartColor==true){this.startColor=Spry.Effect.getBgColor(element);this.startRedColor=Spry.Effect.Utils.hexToInt(startColor.substr(1,2));this.startGreenColor=Spry.Effect.Utils.hexToInt(startColor.substr(3,2));this.startBlueColor=Spry.Effect.Utils.hexToInt(startColor.substr(5,2));this.redColorRange=this.startRedColor-this.stopRedColor;this.greenColorRange=this.startGreenColor-this.stopGreenColor;this.blueColorRange=this.startBlueColor-this.stopBlueColor}};Spry.Effect.Cluster=function(b){Spry.Effect.Animator.call(this,b);this.name="Cluster";this.effectsArray=new Array();this.currIdx=-1;var a=function(d,c){this.effect=d;this.kind=c;this.isRunning=false};this.ClusteredEffect=a};Spry.Effect.Cluster.prototype=new Spry.Effect.Animator();Spry.Effect.Cluster.prototype.constructor=Spry.Effect.Cluster;Spry.Effect.Cluster.prototype.setInterval=function(b){var a=this.effectsArray.length;this.options.interval=b;for(var c=0;c<a;c++){this.effectsArray[c].effect.setInterval(b)}};Spry.Effect.Cluster.prototype.drawEffect=function(){var f=true;var d=false;var h=false;var a=false;if((this.currIdx==-1&&this.direction==Spry.forwards)||(this.currIdx==this.effectsArray.length&&this.direction==Spry.backwards)){this.initNextEffectsRunning()}var g=this.direction==Spry.forwards?0:this.effectsArray.length-1;var c=this.direction==Spry.forwards?this.effectsArray.length:-1;var e=this.direction==Spry.forwards?1:-1;for(var b=g;b!=c;b+=e){if(this.effectsArray[b].isRunning==true){h=this.effectsArray[b].effect.drawEffect();if(h==false&&b==this.currIdx){this.effectsArray[b].isRunning=false;a=true}}}if(a==true){d=this.initNextEffectsRunning()}if(d==true){this.stop();f=false;for(var b=0;b<this.effectsArray.length;b++){this.effectsArray[b].isRunning=false}this.currIdx=this.direction==Spry.forwards?this.effectsArray.length:-1}return f};Spry.Effect.Cluster.prototype.initNextEffectsRunning=function(){var c=false;var d=this.direction==Spry.forwards?1:-1;var b=this.direction==Spry.forwards?this.effectsArray.length:-1;this.currIdx+=d;if((this.currIdx>(this.effectsArray.length-1)&&this.direction==Spry.forwards)||(this.currIdx<0&&this.direction==Spry.backwards)){c=true}else{for(var a=this.currIdx;a!=b;a+=d){if((a>this.currIdx&&this.direction==Spry.forwards||a<this.currIdx&&this.direction==Spry.backwards)&&this.effectsArray[a].kind=="queue"){break}this.effectsArray[a].effect.start(true);this.effectsArray[a].isRunning=true;this.currIdx=a}}return c};Spry.Effect.Cluster.prototype.toggleCluster=function(){if(!this.direction){this.direction=Spry.forwards;return}if(this.options.toggle==true){if(this.direction==Spry.forwards){this.direction=Spry.backwards;this.notifyObservers("onToggle",this);this.currIdx=this.effectsArray.length}else{if(this.direction==Spry.backwards){this.direction=Spry.forwards;this.currIdx=-1}}}else{if(this.direction==Spry.forwards){this.currIdx=-1}else{if(this.direction==Spry.backwards){this.currIdx=this.effectsArray.length}}}};Spry.Effect.Cluster.prototype.doToggle=function(){this.toggleCluster();for(var a=0;a<this.effectsArray.length;a++){if(this.effectsArray[a].effect.options&&(this.effectsArray[a].effect.options.toggle!=null)){if(this.effectsArray[a].effect.options.toggle==true){this.effectsArray[a].effect.doToggle()}}}};Spry.Effect.Cluster.prototype.cancel=function(){for(var b=0;b<this.effectsArray.length;b++){if(this.effectsArray[b].effect.isRunning){this.effectsArray[b].effect.cancel()}}var a=this.getElapsedMilliseconds();if(this.startMilliseconds>0&&a<this.options.duration){this.cancelRemaining=this.options.transition(a,0,1,this.options.duration)}this.stopFlagReset();this.notifyObservers("onCancel",this);this.isRunning=false};Spry.Effect.Cluster.prototype.addNextEffect=function(a){a.addObserver(this);this.effectsArray[this.effectsArray.length]=new this.ClusteredEffect(a,"queue");if(this.effectsArray.length==1){this.element=a.element}};Spry.Effect.Cluster.prototype.addParallelEffect=function(a){if(this.effectsArray.length==0||this.effectsArray[this.effectsArray.length-1].kind!="parallel"){a.addObserver(this)}this.effectsArray[this.effectsArray.length]=new this.ClusteredEffect(a,"parallel");if(this.effectsArray.length==1){this.element=a.element}};Spry.Effect.Cluster.prototype.prepareStart=function(){this.toggleCluster()};Spry.Effect.Fade=function(e,j){if(!this.notStaticAnimator){return Spry.Effect.Utils.showInitError("Fade")}Spry.Effect.Cluster.call(this,j);this.name="Fade";var e=Spry.Effect.getElement(e);this.element=e;if(!this.element){return}var b=1000;var h=0;var d=100;var k=false;var f=Spry.fifthTransition;var c=60;var a=0;if(/MSIE/.test(navigator.userAgent)){a=parseInt(Spry.Effect.getStylePropRegardlessOfDisplayState(this.element,"filter").replace(/alpha\(opacity=([0-9]{1,3})\)/g,"$1"),10)}else{a=parseInt(Spry.Effect.getStylePropRegardlessOfDisplayState(this.element,"opacity")*100,10)}if(isNaN(a)){a=100}if(j){if(j.duration!=null){b=j.duration}if(j.from!=null){if(Spry.Effect.Utils.isPercentValue(j.from)){h=Spry.Effect.Utils.getPercentValue(j.from)*a/100}else{h=j.from}}if(j.to!=null){if(Spry.Effect.Utils.isPercentValue(j.to)){d=Spry.Effect.Utils.getPercentValue(j.to)*a/100}else{d=j.to}}if(j.toggle!=null){k=j.toggle}if(j.transition!=null){f=j.transition}if(j.fps!=null){c=j.fps}else{this.options.transition=f}}h=h/100;d=d/100;j={duration:b,toggle:k,transition:f,from:h,to:d,fps:c};var g=new Spry.Effect.Opacity(e,h,d,j);this.addNextEffect(g)};Spry.Effect.Fade.prototype=new Spry.Effect.Cluster();Spry.Effect.Fade.prototype.constructor=Spry.Effect.Fade;Spry.Effect.Blind=function(j,p){if(!this.notStaticAnimator){return Spry.Effect.Utils.showInitError("Blind")}Spry.Effect.Cluster.call(this,p);this.name="Blind";var j=Spry.Effect.getElement(j);this.element=j;if(!this.element){return}var b=1000;var q=false;var c=Spry.circleTransition;var e=60;var h=false;Spry.Effect.makeClipping(j);var f=Spry.Effect.getDimensionsRegardlessOfDisplayState(j);var g=f.height;var m=0;var l=p?p.from:f.height;var a=p?p.to:0;var n=false;if(p){if(p.duration!=null){b=p.duration}if(p.from!=null){if(Spry.Effect.Utils.isPercentValue(p.from)){g=Spry.Effect.Utils.getPercentValue(p.from)*f.height/100}else{g=Spry.Effect.Utils.getPixelValue(p.from)}}if(p.to!=null){if(Spry.Effect.Utils.isPercentValue(p.to)){m=Spry.Effect.Utils.getPercentValue(p.to)*f.height/100}else{m=Spry.Effect.Utils.getPixelValue(p.to)}}if(p.toggle!=null){q=p.toggle}if(p.transition!=null){c=p.transition}if(p.fps!=null){e=p.fps}if(p.useCSSBox!=null){n=p.useCSSBox}}var d=new Spry.Effect.Utils.Rectangle;d.width=f.width;d.height=g;var o=new Spry.Effect.Utils.Rectangle;o.width=f.width;o.height=m;p={duration:b,toggle:q,transition:c,scaleContent:h,useCSSBox:n,from:l,to:a,fps:e};var k=new Spry.Effect.Size(j,d,o,p);this.addNextEffect(k)};Spry.Effect.Blind.prototype=new Spry.Effect.Cluster();Spry.Effect.Blind.prototype.constructor=Spry.Effect.Blind;Spry.Effect.Highlight=function(f,h){if(!this.notStaticAnimator){return Spry.Effect.Utils.showInitError("Highlight")}Spry.Effect.Cluster.call(this,h);this.name="Highlight";var a=1000;var b="#ffffff";var j=false;var c=Spry.sinusoidalTransition;var d=60;var f=Spry.Effect.getElement(f);this.element=f;if(!this.element){return}var g=Spry.Effect.getBgColor(f);if(g=="transparent"){g="#ffff99"}if(h){if(h.duration!=null){a=h.duration}if(h.from!=null){g=h.from}if(h.to!=null){b=h.to}if(h.toggle!=null){j=h.toggle}if(h.transition!=null){c=h.transition}if(h.fps!=null){d=h.fps}}if(g.indexOf("rgb")!=-1){var g=Spry.Effect.Utils.rgb(parseInt(g.substring(g.indexOf("(")+1,g.indexOf(",")),10),parseInt(g.substring(g.indexOf(",")+1,g.lastIndexOf(",")),10),parseInt(g.substring(g.lastIndexOf(",")+1,g.indexOf(")")),10))}if(b.indexOf("rgb")!=-1){var b=Spry.Effect.Utils.rgb(parseInt(b.substring(b.indexOf("(")+1,b.indexOf(",")),10),parseInt(b.substring(b.indexOf(",")+1,b.lastIndexOf(",")),10),parseInt(b.substring(b.lastIndexOf(",")+1,b.indexOf(")")),10))}var g=Spry.Effect.Utils.longColorVersion(g);var b=Spry.Effect.Utils.longColorVersion(b);this.restoreBackgroundImage=Spry.Effect.getStyleProp(f,"background-image");h={duration:a,toggle:j,transition:c,fps:d};var e=new Spry.Effect.Color(f,g,b,h);this.addNextEffect(e);this.addObserver({onPreEffect:function(k){Spry.Effect.setStyleProp(k.element,"background-image","none")},onPostEffect:function(k){Spry.Effect.setStyleProp(k.element,"background-image",k.restoreBackgroundImage);if(k.direction==Spry.forwards&&k.options.restoreColor){Spry.Effect.setStyleProp(f,"background-color",k.options.restoreColor)}}})};Spry.Effect.Highlight.prototype=new Spry.Effect.Cluster();Spry.Effect.Highlight.prototype.constructor=Spry.Effect.Highlight;Spry.Effect.Slide=function(a,d){if(!this.notStaticAnimator){return Spry.Effect.Utils.showInitError("Slide")}Spry.Effect.Cluster.call(this,d);this.name="Slide";var a=Spry.Effect.getElement(a);this.element=a;if(!this.element){return}var l=1000;var q=false;var s=Spry.sinusoidalTransition;var b=60;var h=false;var j=Spry.Effect.Utils.getFirstChildElement(a);var t=-1;if(/MSIE 7.0/.test(navigator.userAgent)&&/Windows NT/.test(navigator.userAgent)){Spry.Effect.makePositioned(a)}Spry.Effect.makeClipping(a);if(/MSIE 6.0/.test(navigator.userAgent)&&/Windows NT/.test(navigator.userAgent)){var f=Spry.Effect.getStyleProp(a,"position");if(f&&(f=="static"||f=="fixed")){Spry.Effect.setStyleProp(a,"position","relative");Spry.Effect.setStyleProp(a,"top","");Spry.Effect.setStyleProp(a,"left","")}}if(j){Spry.Effect.makePositioned(j);Spry.Effect.makeClipping(j);var k=Spry.Effect.getDimensionsRegardlessOfDisplayState(j,a);Spry.Effect.setStyleProp(j,"width",k.width+"px")}var e=Spry.Effect.getDimensionsRegardlessOfDisplayState(a);var g=new Spry.Effect.Utils.Rectangle();var c=new Spry.Effect.Utils.Rectangle();g.width=c.width=e.width;g.height=c.height=e.height;if(!this.options.to){if(!d){d={}}d.to="0%"}if(d&&d.horizontal!==null&&d.horizontal===true){h=true}if(d.duration!=null){l=d.duration}if(d.from!=null){if(h){if(Spry.Effect.Utils.isPercentValue(d.from)){e.width=g.width*Spry.Effect.Utils.getPercentValue(d.from)/100}else{e.width=Spry.Effect.Utils.getPixelValue(d.from)}}else{if(Spry.Effect.Utils.isPercentValue(d.from)){e.height=g.height*Spry.Effect.Utils.getPercentValue(d.from)/100}else{e.height=Spry.Effect.Utils.getPixelValue(d.from)}}}if(d.to!=null){if(h){if(Spry.Effect.Utils.isPercentValue(d.to)){c.width=g.width*Spry.Effect.Utils.getPercentValue(d.to)/100}else{c.width=Spry.Effect.Utils.getPixelValue(d.to)}}else{if(Spry.Effect.Utils.isPercentValue(d.to)){c.height=g.height*Spry.Effect.Utils.getPercentValue(d.to)/100}else{c.height=Spry.Effect.Utils.getPixelValue(d.to)}}}if(d.toggle!=null){q=d.toggle}if(d.transition!=null){s=d.transition}if(d.fps!=null){b=d.fps}d={duration:l,transition:s,scaleContent:false,toggle:q,fps:b};var m=new Spry.Effect.Size(a,e,c,d);this.addParallelEffect(m);if((e.width<c.width&&h)||(e.height<c.height&&!h)){t=1}var p=new Spry.Effect.Utils.Position();var o=new Spry.Effect.Utils.Position();o.x=p.x=Spry.Effect.intPropStyle(j,"left");o.y=p.y=Spry.Effect.intPropStyle(j,"top");o.units=p.units;if(h){o.x=parseInt(p.x+t*(e.width-c.width),10)}else{o.y=parseInt(p.y+t*(e.height-c.height),10)}if(t==1){var r=p;var p=o;var o=r}d={duration:l,transition:s,toggle:q,from:p,to:o,fps:b};var n=new Spry.Effect.Move(j,p,o,d);this.addParallelEffect(n)};Spry.Effect.Slide.prototype=new Spry.Effect.Cluster();Spry.Effect.Slide.prototype.constructor=Spry.Effect.Slide;Spry.Effect.Grow=function(b,d){if(!b){return}if(!this.notStaticAnimator){return Spry.Effect.Utils.showInitError("Grow")}Spry.Effect.Cluster.call(this,d);this.name="Grow";var o=1000;var v=false;var r=true;var e=false;var l=true;var u=false;var x=Spry.squareTransition;var c=60;var b=Spry.Effect.getElement(b);this.element=b;if(!this.element){return}Spry.Effect.makeClipping(b);var n=Spry.Effect.getDimensionsRegardlessOfDisplayState(b);var y=n.width;var p=n.height;var w=(y==0)?1:p/y;var t=new Spry.Effect.Utils.Rectangle;t.width=0;t.height=0;var a=new Spry.Effect.Utils.Rectangle;a.width=y;a.height=p;var h=d?d.from:n.width;var g=d?d.to:0;var j=Spry.Effect.Utils.getPixelValue;if(d){if(d.growCenter!=null){l=d.growCenter}if(d.duration!=null){o=d.duration}if(d.useCSSBox!=null){u=d.useCSSBox}if(d.scaleContent!=null){r=d.scaleContent}if(d.from!=null){if(Spry.Effect.Utils.isPercentValue(d.from)){t.width=y*(Spry.Effect.Utils.getPercentValue(d.from)/100);t.height=p*(Spry.Effect.Utils.getPercentValue(d.from)/100)}else{if(e){t.height=j(d.from);t.width=j(d.from)/w}else{t.width=j(d.from);t.height=w*j(d.from)}}}if(d.to!=null){if(Spry.Effect.Utils.isPercentValue(d.to)){a.width=y*(Spry.Effect.Utils.getPercentValue(d.to)/100);a.height=p*(Spry.Effect.Utils.getPercentValue(d.to)/100)}else{if(e){a.height=j(d.to);a.width=j(d.to)/w}else{a.width=j(d.to);a.height=w*j(d.to)}}}if(d.toggle!=null){v=d.toggle}if(d.transition!=null){x=d.transition}if(d.fps!=null){c=d.fps}}d={duration:o,toggle:v,transition:x,scaleContent:r,useCSSBox:u,fps:c};var m=new Spry.Effect.Size(b,t,a,d);this.addParallelEffect(m);if(l){Spry.Effect.makePositioned(b);var k=new Spry.Effect.Utils.Position();k.x=parseInt(Spry.Effect.getStylePropRegardlessOfDisplayState(b,"left"),10);k.y=parseInt(Spry.Effect.getStylePropRegardlessOfDisplayState(b,"top"),10);if(!k.x){k.x=0}if(!k.y){k.y=0}d={duration:o,toggle:v,transition:x,from:h,to:g,fps:c};var s=new Spry.Effect.Utils.Position;s.x=k.x+(y-t.width)/2;s.y=k.y+(p-t.height)/2;var q=new Spry.Effect.Utils.Position;q.x=k.x+(y-a.width)/2;q.y=k.y+(p-a.height)/2;var f=new Spry.Effect.Move(b,s,q,d);this.addParallelEffect(f)}};Spry.Effect.Grow.prototype=new Spry.Effect.Cluster();Spry.Effect.Grow.prototype.constructor=Spry.Effect.Grow;Spry.Effect.Shake=function(j,p){if(!this.notStaticAnimator){return Spry.Effect.Utils.showInitError("Shake")}Spry.Effect.Cluster.call(this,p);this.options.direction=false;if(this.options.toggle){this.options.toggle=false}this.name="Shake";var j=Spry.Effect.getElement(j);this.element=j;if(!this.element){return}var b=100;var c=Spry.linearTransition;var e=60;var m=4;if(p){if(p.duration!=null){m=Math.ceil(this.options.duration/b)-1}if(p.fps!=null){e=p.fps}if(p.transition!=null){c=p.transition}}Spry.Effect.makePositioned(j);var f=new Spry.Effect.Utils.Position();f.x=parseInt(Spry.Effect.getStyleProp(j,"left"),10);f.y=parseInt(Spry.Effect.getStyleProp(j,"top"),10);if(!f.x){f.x=0}if(!f.y){f.y=0}var d=new Spry.Effect.Utils.Position;d.x=f.x;d.y=f.y;var k=new Spry.Effect.Utils.Position;k.x=f.x+20;k.y=f.y+0;var g=new Spry.Effect.Utils.Position;g.x=f.x+-20;g.y=f.y+0;p={duration:Math.ceil(b/2),toggle:false,fps:e,transition:c};var o=new Spry.Effect.Move(j,d,k,p);this.addNextEffect(o);p={duration:b,toggle:false,fps:e,transition:c};var n=new Spry.Effect.Move(j,k,g,p);var a=new Spry.Effect.Move(j,g,k,p);for(var h=0;h<m;h++){if(h%2==0){this.addNextEffect(n)}else{this.addNextEffect(a)}}var l=(m%2==0)?k:g;p={duration:Math.ceil(b/2),toggle:false,fps:e,transition:c};var o=new Spry.Effect.Move(j,l,d,p);this.addNextEffect(o)};Spry.Effect.Shake.prototype=new Spry.Effect.Cluster();Spry.Effect.Shake.prototype.constructor=Spry.Effect.Shake;Spry.Effect.Shake.prototype.doToggle=function(){};Spry.Effect.Squish=function(b,a){if(!this.notStaticAnimator){return Spry.Effect.Utils.showInitError("Squish")}if(!a){a={}}if(!a.to){a.to="0%"}if(!a.from){a.from="100%"}a.growCenter=false;Spry.Effect.Grow.call(this,b,a);this.name="Squish"};Spry.Effect.Squish.prototype=new Spry.Effect.Grow();Spry.Effect.Squish.prototype.constructor=Spry.Effect.Squish;Spry.Effect.Pulsate=function(g,m){if(!this.notStaticAnimator){return Spry.Effect.Utils.showInitError("Pulsate")}Spry.Effect.Cluster.call(this,m);this.options.direction=false;if(this.options.toggle){this.options.toggle=false}var g=Spry.Effect.getElement(g);var a=0;this.element=g;if(!this.element){return}this.name="Pulsate";var b=100;var l=100;var e=0;var n=false;var c=Spry.linearTransition;var d=60;if(/MSIE/.test(navigator.userAgent)){a=parseInt(Spry.Effect.getStylePropRegardlessOfDisplayState(this.element,"filter").replace(/alpha\(opacity=([0-9]{1,3})\)/g,"$1"),10)}else{a=parseInt(Spry.Effect.getStylePropRegardlessOfDisplayState(this.element,"opacity")*100,10)}if(isNaN(a)){a=100}if(m){if(m.from!=null){if(Spry.Effect.Utils.isPercentValue(m.from)){l=Spry.Effect.Utils.getPercentValue(m.from)*a/100}else{l=m.from}}if(m.to!=null){if(Spry.Effect.Utils.isPercentValue(m.to)){e=Spry.Effect.Utils.getPercentValue(m.to)*a/100}else{e=m.to}}if(m.transition!=null){c=m.transition}if(m.fps!=null){d=m.fps}}m={duration:b,toggle:n,transition:c,fps:d};l=l/100;e=e/100;var j=new Spry.Effect.Opacity(g,l,e,m);var k=new Spry.Effect.Opacity(g,e,l,m);var h=parseInt(this.options.duration/200,10);for(var f=0;f<h;f++){this.addNextEffect(j);this.addNextEffect(k)}};Spry.Effect.Pulsate.prototype=new Spry.Effect.Cluster();Spry.Effect.Pulsate.prototype.constructor=Spry.Effect.Pulsate;Spry.Effect.Pulsate.prototype.doToggle=function(){};Spry.Effect.Puff=function(j,q){if(!this.notStaticAnimator){return Spry.Effect.Utils.showInitError("Puff")}Spry.Effect.Cluster.call(this,q);var j=Spry.Effect.getElement(j);this.element=j;if(!this.element){return}this.name="Puff";var r=false;var g=false;var b=1000;var c=Spry.fifthTransition;var d=60;Spry.Effect.makePositioned(j);if(q){if(q.toggle!=null){r=q.toggle}if(q.duration!=null){b=q.duration}if(q.transition!=null){c=q.transition}if(q.fps!=null){d=q.fps}}var e=Spry.Effect.getDimensions(j);var h=e.width;var n=e.height;q={duration:b,toggle:r,transition:c,fps:d};var m=1;var f=0;var a=new Spry.Effect.Opacity(j,m,f,q);this.addParallelEffect(a);var p=Spry.Effect.getPosition(j);var l=new Spry.Effect.Utils.Position;l.x=h/2*-1;l.y=n/2*-1;q={duration:b,toggle:r,transition:c,from:p,to:l,fps:d};var k=new Spry.Effect.Move(j,p,l,q);this.addParallelEffect(k);var o=this;this.addObserver({onPreEffect:function(){if(o.direction==Spry.backwards){o.element.style.display="block"}},onPostEffect:function(){if(o.direction==Spry.forwards){o.element.style.display="none"}}})};Spry.Effect.Puff.prototype=new Spry.Effect.Cluster;Spry.Effect.Puff.prototype.constructor=Spry.Effect.Puff;Spry.Effect.DropOut=function(g,o){if(!this.notStaticAnimator){return Spry.Effect.Utils.showInitError("DropOut")}Spry.Effect.Cluster.call(this,o);var g=Spry.Effect.getElement(g);this.element=g;if(!this.element){return}var b=1000;var d=60;var c=Spry.fifthTransition;var l=Spry.forwards;var p=false;this.name="DropOut";Spry.Effect.makePositioned(g);if(o){if(o.duration!=null){b=o.duration}if(o.toggle!=null){p=o.toggle}if(o.fps!=null){d=o.fps}if(o.transition!=null){c=o.transition}if(o.dropIn!=null){l=-1}}var e=new Spry.Effect.Utils.Position();e.x=parseInt(Spry.Effect.getStyleProp(g,"left"),10);e.y=parseInt(Spry.Effect.getStyleProp(g,"top"),10);if(!e.x){e.x=0}if(!e.y){e.y=0}var n=new Spry.Effect.Utils.Position;n.x=e.x+0;n.y=e.y+0;var j=new Spry.Effect.Utils.Position;j.x=e.x+0;j.y=e.y+(l*160);o={from:n,to:j,duration:b,toggle:p,transition:c,fps:d};var h=new Spry.Effect.Move(g,o.from,o.to,o);this.addParallelEffect(h);var k=1;var f=0;o={duration:b,toggle:p,transition:c,fps:d};var a=new Spry.Effect.Opacity(g,k,f,o);this.addParallelEffect(a);var m=this;this.addObserver({onPreEffect:function(){m.element.style.display="block"},onPostEffect:function(){if(m.direction==Spry.forwards){m.element.style.display="none"}}})};Spry.Effect.DropOut.prototype=new Spry.Effect.Cluster();Spry.Effect.DropOut.prototype.constructor=Spry.Effect.DropOut;Spry.Effect.Fold=function(k,p){if(!this.notStaticAnimator){return Spry.Effect.Utils.showInitError("Fold")}Spry.Effect.Cluster.call(this,p);var k=Spry.Effect.getElement(k);this.element=k;if(!this.element){return}this.name="Fold";var a=1000;var q=false;var h=true;var n=false;var b=Spry.fifthTransition;var d=d;Spry.Effect.makeClipping(k);var e=Spry.Effect.getDimensionsRegardlessOfDisplayState(k);var j=e.width;var m=e.height;var f=j;var g=m/5;var c=new Spry.Effect.Utils.Rectangle;c.width=j;c.height=m;var o=new Spry.Effect.Utils.Rectangle;o.width=f;o.height=g;if(p){if(p.duration!=null){a=Math.ceil(p.duration/2)}if(p.toggle!=null){q=p.toggle}if(p.useCSSBox!=null){n=p.useCSSBox}if(p.fps!=null){d=p.fps}if(p.transition!=null){b=p.transition}}p={duration:a,toggle:q,scaleContent:h,useCSSBox:n,transition:b,fps:d};var l=new Spry.Effect.Size(k,c,o,p);this.addNextEffect(l);c.width=o.width;c.height=o.height;o.width="0%";var l=new Spry.Effect.Size(k,c,o,p);this.addNextEffect(l)};Spry.Effect.Fold.prototype=new Spry.Effect.Cluster();Spry.Effect.Fold.prototype.constructor=Spry.Effect.Fold;Spry.Effect.DoFade=function(b,a){return Spry.Effect.Utils.DoEffect("Fade",b,a)};Spry.Effect.DoBlind=function(b,a){return Spry.Effect.Utils.DoEffect("Blind",b,a)};Spry.Effect.DoHighlight=function(b,a){return Spry.Effect.Utils.DoEffect("Highlight",b,a)};Spry.Effect.DoSlide=function(b,a){return Spry.Effect.Utils.DoEffect("Slide",b,a)};Spry.Effect.DoGrow=function(b,a){return Spry.Effect.Utils.DoEffect("Grow",b,a)};Spry.Effect.DoShake=function(b,a){return Spry.Effect.Utils.DoEffect("Shake",b,a)};Spry.Effect.DoSquish=function(b,a){return Spry.Effect.Utils.DoEffect("Squish",b,a)};Spry.Effect.DoPulsate=function(b,a){return Spry.Effect.Utils.DoEffect("Pulsate",b,a)};Spry.Effect.DoPuff=function(b,a){return Spry.Effect.Utils.DoEffect("Puff",b,a)};Spry.Effect.DoDropOut=function(b,a){return Spry.Effect.Utils.DoEffect("DropOut",b,a)};Spry.Effect.DoFold=function(b,a){return Spry.Effect.Utils.DoEffect("Fold",b,a)};var Spry;if(!Spry){Spry={}}if(!Spry.Widget){Spry.Widget={}}Spry.Widget.HTMLPanel=function(l,b){Spry.Widget.HTMLPanel.Notifier.call(this);this.element=Spry.Widget.HTMLPanel.$(l);this.evalScripts=Spry.Widget.HTMLPanel.evalScripts;this.loadingContentClass="HTMLPanelLoadingContent";this.errorContentClass="HTMLPanelErrorContent";this.loadingStateContent="";this.errorStateContent="";this.loadingStateClass="HTMLPanelLoading";this.errorStateClass="HTMLPanelError";this.pendingRequest=null;Spry.Widget.HTMLPanel.setOptions(this,b);var a=this.element.getElementsByTagName("*");var g=a.length;var f=null;var c=null;var k=document.createElement("div");for(var h=0;h<g&&(!c||!f);h++){var j=a[h];if(Spry.Widget.HTMLPanel.hasClassName(j,this.loadingContentClass)){c=j}if(Spry.Widget.HTMLPanel.hasClassName(j,this.errorContentClass)){f=j}}if(c){this.loadingStateContent=Spry.Widget.HTMLPanel.removeAndExtractContent(c,this.loadingContentClass)}if(f){this.errorStateContent=Spry.Widget.HTMLPanel.removeAndExtractContent(f,this.errorContentClass)}};Spry.Widget.HTMLPanel.evalScripts=false;Spry.Widget.HTMLPanel.Notifier=function(){this.observers=[];this.suppressNotifications=0};Spry.Widget.HTMLPanel.Notifier.prototype.addObserver=function(b){if(!b){return}var a=this.observers.length;for(var c=0;c<a;c++){if(this.observers[c]==b){return}}this.observers[a]=b};Spry.Widget.HTMLPanel.Notifier.prototype.removeObserver=function(a){if(!a){return}for(var b=0;b<this.observers.length;b++){if(this.observers[b]==a){this.observers.splice(b,1);break}}};Spry.Widget.HTMLPanel.Notifier.prototype.notifyObservers=function(b,d){if(!b){return}if(!this.suppressNotifications){var a=this.observers.length;for(var c=0;c<a;c++){var e=this.observers[c];if(e){if(typeof e=="function"){e(b,this,d)}else{if(e[b]){e[b](this,d)}}}}}};Spry.Widget.HTMLPanel.Notifier.prototype.enableNotifications=function(){if(--this.suppressNotifications<0){this.suppressNotifications=0;Spry.Debug.reportError("Unbalanced enableNotifications() call!\n")}};Spry.Widget.HTMLPanel.Notifier.prototype.disableNotifications=function(){++this.suppressNotifications};Spry.Widget.HTMLPanel.prototype=new Spry.Widget.HTMLPanel.Notifier();Spry.Widget.HTMLPanel.prototype.constructor=Spry.Widget.HTMLPanel;Spry.Widget.HTMLPanel.$=function(a){if(a&&typeof a=="string"){return document.getElementById(a)}return a};Spry.Widget.HTMLPanel.setOptions=function(d,b,a){if(b){for(var c in b){if(a&&b[c]==undefined){continue}d[c]=b[c]}}};Spry.Widget.HTMLPanel.addClassName=function(b,a){b=Spry.Widget.HTMLPanel.$(b);if(!b||!a||(b.className&&b.className.search(new RegExp("\\b"+a+"\\b"))!=-1)){return}b.className+=(b.className?" ":"")+a};Spry.Widget.HTMLPanel.removeClassName=function(b,a){b=Spry.Widget.HTMLPanel.$(b);if(Spry.Widget.HTMLPanel.hasClassName(b,a)){b.className=b.className.replace(new RegExp("\\s*\\b"+a+"\\b","g"),"")}};Spry.Widget.HTMLPanel.hasClassName=function(b,a){b=Spry.Widget.HTMLPanel.$(b);if(!b||!a||!b.className||b.className.search(new RegExp("\\b"+a+"\\b"))==-1){return false}return true};Spry.Widget.HTMLPanel.removeAndExtractContent=function(b,a){var c=document.createElement("div");if(b){c.appendChild(b);if(a){Spry.Widget.HTMLPanel.removeClassName(b,a)}}return c.innerHTML};Spry.Widget.HTMLPanel.findNodeById=function(d,b){if(b&&b.nodeType==1){if(b.id==d){return b}var c=b.firstChild;while(c){var a=Spry.Widget.HTMLPanel.findNodeById(d,c);if(a){return a}c=c.nextSibling}}return null};Spry.Widget.HTMLPanel.disableSrcReferences=function(a){if(a){a=a.replace(/<(img|script|link|frame|iframe|input)([^>]+)>/gi,function(e,d,f){return"<"+d+f.replace(/\b(src|href)\s*=/gi,function(g,c){return"spry_"+c+"="})+">"})}return a};Spry.Widget.HTMLPanel.enableSrcReferences=function(a){a=a.replace(/<(img|script|link|frame|iframe|input)([^>]+)>/gi,function(e,d,f){return"<"+d+f.replace(/\bspry_(src|href)\s*=/gi,function(g,c){return c+"="})+">"});return a};Spry.Widget.HTMLPanel.getFragByID=function(e,a){var d=Spry.Widget.HTMLPanel.disableSrcReferences(a);var c=document.createElement("div");c.innerHTML=d;d="";var b=Spry.Widget.HTMLPanel.findNodeById(e,c);if(b){d=b.innerHTML}return Spry.Widget.HTMLPanel.enableSrcReferences(d)};Spry.Widget.HTMLPanel.prototype.setContent=function(a,c){var b={content:a,id:c};this.notifyObservers("onPreUpdate",b);a=b.content;c=b.id;if(typeof c!="undefined"){a=Spry.Widget.HTMLPanel.getFragByID(c,a)}Spry.Widget.HTMLPanel.setInnerHTML(this.element,a,!this.evalScripts);this.removeStateClasses();this.notifyObservers("onPostUpdate",b)};Spry.Widget.HTMLPanel.prototype.loadContent=function(b,c){if(!this.element){return}this.cancelLoad();if(!c){c=new Object}c.url=c.url?c.url:b;c.method=c.method?c.method:"GET";c.async=c.async?c.async:true;c.id=c.id?c.id:undefined;var a=this;c.errorCallback=function(d){a.onLoadError(d)};this.notifyObservers("onPreLoad",c);if(this.loadingStateContent){this.setContent(this.loadingStateContent)}Spry.Widget.HTMLPanel.addClassName(this.element,this.loadingStateClass);this.pendingRequest=Spry.Widget.HTMLPanel.loadURL(c.method,c.url,c.async,function(d){a.onLoadSuccessful(d)},c)};Spry.Widget.HTMLPanel.prototype.cancelLoad=function(){try{if(this.pendingRequest&&this.pendingRequest.xhRequest){var b=this.pendingRequest.xhRequest;if(b.abort){b.abort()}b.onreadystatechange=null;this.notifyObservers("onLoadCancelled",this.pendingRequest)}}catch(a){}this.pendingRequest=null};Spry.Widget.HTMLPanel.prototype.removeStateClasses=function(){Spry.Widget.HTMLPanel.removeClassName(this.element,this.loadingStateClass);Spry.Widget.HTMLPanel.removeClassName(this.element,this.errorStateClass)};Spry.Widget.HTMLPanel.prototype.onLoadSuccessful=function(a){this.notifyObservers("onPostLoad",a);this.setContent(a.xhRequest.responseText,a.id);this.pendingRequest=null};Spry.Widget.HTMLPanel.prototype.onLoadError=function(a){this.notifyObservers("onLoadError",a);if(this.errorStateContent){this.setContent(this.errorStateContent)}Spry.Widget.HTMLPanel.addClassName(this.element,this.errorStateClass);this.pendingRequest=null};Spry.Widget.HTMLPanel.msProgIDs=["MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.3.0"];Spry.Widget.HTMLPanel.createXMLHttpRequest=function(){var a=null;if(window.ActiveXObject){while(!a&&Spry.Widget.HTMLPanel.msProgIDs.length){try{a=new ActiveXObject(Spry.Widget.HTMLPanel.msProgIDs[0])}catch(b){a=null}if(!a){Spry.Widget.HTMLPanel.msProgIDs.splice(0,1)}}}if(!a&&window.XMLHttpRequest){try{a=new XMLHttpRequest()}catch(b){a=null}}return a};Spry.Widget.HTMLPanel.loadURL=function(j,b,c,h,f){var d=new Object;d.method=j;d.url=b;d.async=c;d.successCallback=h;Spry.Widget.HTMLPanel.setOptions(d,f);try{d.xhRequest=Spry.Widget.HTMLPanel.createXMLHttpRequest();if(!d.xhRequest){return null}if(d.async){d.xhRequest.onreadystatechange=function(){Spry.Widget.HTMLPanel.loadURL.callback(d)}}d.xhRequest.open(j,d.url,d.async,d.username,d.password);if(d.headers){for(var a in d.headers){d.xhRequest.setRequestHeader(a,d.headers[a])}}d.xhRequest.send(d.postData);if(!d.async){Spry.Widget.HTMLPanel.loadURL.callback(d)}}catch(g){if(d.errorCallback){d.errorCallback(d)}d=null}return d};Spry.Widget.HTMLPanel.loadURL.callback=function(a){if(!a||a.xhRequest.readyState!=4){return}if(a.successCallback&&(a.xhRequest.status==200||a.xhRequest.status==0)){a.successCallback(a)}else{if(a.errorCallback){a.errorCallback(a)}}};Spry.Widget.HTMLPanel.eval=function(str){return eval(str)};Spry.Widget.HTMLPanel.setInnerHTML=function(ele,str,preventScripts){if(!ele){return}if(!str){str=""}ele=Spry.Widget.HTMLPanel.$(ele);var scriptExpr="<script[^>]*>(.|s|\n|\r)*?<\/script>";ele.innerHTML=str.replace(new RegExp(scriptExpr,"img"),"");if(preventScripts){return}var matches=str.match(new RegExp(scriptExpr,"img"));if(matches){var numMatches=matches.length;for(var i=0;i<numMatches;i++){var s=matches[i].replace(/<script[^>]*>[\s\r\n]*(<\!--)?|(-->)?[\s\r\n]*<\/script>/img,"");Spry.Widget.HTMLPanel.eval(s)}}};var REGEXP_UNICODE=function(){var b=[" ","\u0120",-1,"!","\u0120",-1,"\u0120","\u0120",0,"\u0121","\u0120",-1,"\u0121","\u0120|\u0121",0,"\u0122","\u0120|\u0121",-1,"\u0120","[\u0120]",0,"\u0121","[\u0120]",-1,"\u0121","[\u0120\u0121]",0,"\u0122","[\u0120\u0121]",-1,"\u0121","[\u0120-\u0121]",0,"\u0122","[\u0120-\u0121]",-1];for(var a=0;a<b.length;a+=3){if(b[a].search(new RegExp(b[a+1]))!=b[a+2]){return false}}return true}();var XML_S="[ \t\r\n]+";var XML_EQ="("+XML_S+")?=("+XML_S+")?";var XML_CHAR_REF="&#[0-9]+;|&#x[0-9a-fA-F]+;";var XML10_VERSION_INFO=XML_S+"version"+XML_EQ+"(\"1\\.0\"|'1\\.0')";var XML10_BASE_CHAR=(REGEXP_UNICODE)?"\u0041-\u005a\u0061-\u007a\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u00ff\u0100-\u0131\u0134-\u013e\u0141-\u0148\u014a-\u017e\u0180-\u01c3\u01cd-\u01f0\u01f4-\u01f5\u01fa-\u0217\u0250-\u02a8\u02bb-\u02c1\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03ce\u03d0-\u03d6\u03da\u03dc\u03de\u03e0\u03e2-\u03f3\u0401-\u040c\u040e-\u044f\u0451-\u045c\u045e-\u0481\u0490-\u04c4\u04c7-\u04c8\u04cb-\u04cc\u04d0-\u04eb\u04ee-\u04f5\u04f8-\u04f9\u0531-\u0556\u0559\u0561-\u0586\u05d0-\u05ea\u05f0-\u05f2\u0621-\u063a\u0641-\u064a\u0671-\u06b7\u06ba-\u06be\u06c0-\u06ce\u06d0-\u06d3\u06d5\u06e5-\u06e6\u0905-\u0939\u093d\u0958-\u0961\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09dc-\u09dd\u09df-\u09e1\u09f0-\u09f1\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8b\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abd\u0ae0\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b36-\u0b39\u0b3d\u0b5c-\u0b5d\u0b5f-\u0b61\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb5\u0bb7-\u0bb9\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c60-\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cde\u0ce0-\u0ce1\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d28\u0d2a-\u0d39\u0d60-\u0d61\u0e01-\u0e2e\u0e30\u0e32-\u0e33\u0e40-\u0e45\u0e81-\u0e82\u0e84\u0e87-\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa-\u0eab\u0ead-\u0eae\u0eb0\u0eb2-\u0eb3\u0ebd\u0ec0-\u0ec4\u0f40-\u0f47\u0f49-\u0f69\u10a0-\u10c5\u10d0-\u10f6\u1100\u1102-\u1103\u1105-\u1107\u1109\u110b-\u110c\u110e-\u1112\u113c\u113e\u1140\u114c\u114e\u1150\u1154-\u1155\u1159\u115f-\u1161\u1163\u1165\u1167\u1169\u116d-\u116e\u1172-\u1173\u1175\u119e\u11a8\u11ab\u11ae-\u11af\u11b7-\u11b8\u11ba\u11bc-\u11c2\u11eb\u11f0\u11f9\u1e00-\u1e9b\u1ea0-\u1ef9\u1f00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2126\u212a-\u212b\u212e\u2180-\u2182\u3041-\u3094\u30a1-\u30fa\u3105-\u312c\uac00-\ud7a3":"A-Za-z";var XML10_IDEOGRAPHIC=(REGEXP_UNICODE)?"\u4e00-\u9fa5\u3007\u3021-\u3029":"";var XML10_COMBINING_CHAR=(REGEXP_UNICODE)?"\u0300-\u0345\u0360-\u0361\u0483-\u0486\u0591-\u05a1\u05a3-\u05b9\u05bb-\u05bd\u05bf\u05c1-\u05c2\u05c4\u064b-\u0652\u0670\u06d6-\u06dc\u06dd-\u06df\u06e0-\u06e4\u06e7-\u06e8\u06ea-\u06ed\u0901-\u0903\u093c\u093e-\u094c\u094d\u0951-\u0954\u0962-\u0963\u0981-\u0983\u09bc\u09be\u09bf\u09c0-\u09c4\u09c7-\u09c8\u09cb-\u09cd\u09d7\u09e2-\u09e3\u0a02\u0a3c\u0a3e\u0a3f\u0a40-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a70-\u0a71\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0b01-\u0b03\u0b3c\u0b3e-\u0b43\u0b47-\u0b48\u0b4b-\u0b4d\u0b56-\u0b57\u0b82-\u0b83\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0c01-\u0c03\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c82-\u0c83\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0d02-\u0d03\u0d3e-\u0d43\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb-\u0ebc\u0ec8-\u0ecd\u0f18-\u0f19\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86-\u0f8b\u0f90-\u0f95\u0f97\u0f99-\u0fad\u0fb1-\u0fb7\u0fb9\u20d0-\u20dc\u20e1\u302a-\u302f\u3099\u309a":"";var XML10_DIGIT=(REGEXP_UNICODE)?"\u0030-\u0039\u0660-\u0669\u06f0-\u06f9\u0966-\u096f\u09e6-\u09ef\u0a66-\u0a6f\u0ae6-\u0aef\u0b66-\u0b6f\u0be7-\u0bef\u0c66-\u0c6f\u0ce6-\u0cef\u0d66-\u0d6f\u0e50-\u0e59\u0ed0-\u0ed9\u0f20-\u0f29":"0-9";var XML10_EXTENDER=(REGEXP_UNICODE)?"\u00b7\u02d0\u02d1\u0387\u0640\u0e46\u0ec6\u3005\u3031-\u3035\u309d-\u309e\u30fc-\u30fe":"";var XML10_LETTER=XML10_BASE_CHAR+XML10_IDEOGRAPHIC;var XML10_NAME_CHAR=XML10_LETTER+XML10_DIGIT+"\\._:"+XML10_COMBINING_CHAR+XML10_EXTENDER+"-";var XML10_NAME="["+XML10_LETTER+"_:]["+XML10_NAME_CHAR+"]*";var XML10_ENTITY_REF="&"+XML10_NAME+";";var XML10_REFERENCE=XML10_ENTITY_REF+"|"+XML_CHAR_REF;var XML10_ATT_VALUE='"(([^<&"]|'+XML10_REFERENCE+")*)\"|'(([^<&']|"+XML10_REFERENCE+")*)'";var XML10_ATTRIBUTE="("+XML10_NAME+")"+XML_EQ+"("+XML10_ATT_VALUE+")";var XML11_VERSION_INFO=XML_S+"version"+XML_EQ+"(\"1\\.1\"|'1\\.1')";var XML11_NAME_START_CHAR=(REGEXP_UNICODE)?":A-Z_a-z\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd":":A-Z_a-z";var XML11_NAME_CHAR=XML11_NAME_START_CHAR+((REGEXP_UNICODE)?"\\.0-9\u00b7\u0300-\u036f\u203f-\u2040-":"\\.0-9-");var XML11_NAME="["+XML11_NAME_START_CHAR+"]["+XML11_NAME_CHAR+"]*";var XML11_ENTITY_REF="&"+XML11_NAME+";";var XML11_REFERENCE=XML11_ENTITY_REF+"|"+XML_CHAR_REF;var XML11_ATT_VALUE='"(([^<&"]|'+XML11_REFERENCE+")*)\"|'(([^<&']|"+XML11_REFERENCE+")*)'";var XML11_ATTRIBUTE="("+XML11_NAME+")"+XML_EQ+"("+XML11_ATT_VALUE+")";var XML_NC_NAME_CHAR=XML10_LETTER+XML10_DIGIT+"\\._"+XML10_COMBINING_CHAR+XML10_EXTENDER+"-";var XML_NC_NAME="["+XML10_LETTER+"_]["+XML_NC_NAME_CHAR+"]*";var DOM_ELEMENT_NODE=1;var DOM_ATTRIBUTE_NODE=2;var DOM_TEXT_NODE=3;var DOM_CDATA_SECTION_NODE=4;var DOM_ENTITY_REFERENCE_NODE=5;var DOM_ENTITY_NODE=6;var DOM_PROCESSING_INSTRUCTION_NODE=7;var DOM_COMMENT_NODE=8;var DOM_DOCUMENT_NODE=9;var DOM_DOCUMENT_TYPE_NODE=10;var DOM_DOCUMENT_FRAGMENT_NODE=11;var DOM_NOTATION_NODE=12;function xpathLog(a){}function xsltLog(a){}function xsltLogXml(a){}function assert(a){if(!a){throw"Assertion failed"}}function stringSplit(e,g){var d=e.indexOf(g);if(d==-1){return[e]}var f=[];f.push(e.substr(0,d));while(d!=-1){var b=e.indexOf(g,d+1);if(b!=-1){f.push(e.substr(d+1,b-d-1))}else{f.push(e.substr(d+1))}d=b}return f}function mapExec(c,b){for(var a=0;a<c.length;++a){b.call(this,c[a],a)}}function mapExpr(d,c){var a=[];for(var b=0;b<d.length;++b){a.push(c(d[b]))}return a}function reverseInplace(d){for(var a=0;a<d.length/2;++a){var c=d[a];var b=d.length-a-1;d[a]=d[b];d[b]=c}}function removeFromArray(e,c,d){var a=0;for(var b=0;b<e.length;++b){if(e[b]===c||(d&&e[b]==c)){e.splice(b--,1);a++}}return a}function copyArray(c,b){for(var a=0;a<b.length;++a){c.push(b[a])}}function xmlValue(c){if(!c){return""}var a="";if(c.nodeType==DOM_TEXT_NODE||c.nodeType==DOM_CDATA_SECTION_NODE||c.nodeType==DOM_ATTRIBUTE_NODE){a+=c.nodeValue}else{if(c.nodeType==DOM_ELEMENT_NODE||c.nodeType==DOM_DOCUMENT_NODE||c.nodeType==DOM_DOCUMENT_FRAGMENT_NODE){for(var b=0;b<c.childNodes.length;++b){a+=arguments.callee(c.childNodes[b])}}}return a}function xpathParse(n){xpathLog("parse "+n);xpathParseInit();var a=xpathCacheLookup(n);if(a){xpathLog(" ... cached");return a}if(n.match(/^(\$|@)?\w+$/i)){var j=makeSimpleExpr(n);xpathParseCache[n]=j;xpathLog(" ... simple");return j}if(n.match(/^\w+(\/\w+)*$/i)){var j=makeSimpleExpr2(n);xpathParseCache[n]=j;xpathLog(" ... simple 2");return j}var k=n;var m=[];var b=null;var g=null;var c=false;var h=0;var f=0;var p=0;while(!c){h++;n=n.replace(/^\s*/,"");g=b;b=null;var l=null;var e="";for(var d=0;d<xpathTokenRules.length;++d){var o=xpathTokenRules[d].re.exec(n);f++;if(o&&o.length>0&&o[0].length>e.length){l=xpathTokenRules[d];e=o[0];break}}if(l&&(l==TOK_DIV||l==TOK_MOD||l==TOK_AND||l==TOK_OR)&&(!g||g.tag==TOK_AT||g.tag==TOK_DSLASH||g.tag==TOK_SLASH||g.tag==TOK_AXIS||g.tag==TOK_DOLLAR)){l=TOK_QNAME}if(l){n=n.substr(e.length);xpathLog("token: "+e+" -- "+l.label);b={tag:l,match:e,prec:l.prec?l.prec:0,expr:makeTokenExpr(e)}}else{xpathLog("DONE");c=true}while(xpathReduce(m,b)){p++;xpathLog("stack: "+stackToString(m))}}xpathLog("stack: "+stackToString(m));if(m.length!=1){throw"XPath parse error "+k+":\n"+stackToString(m)}var o=m[0].expr;xpathParseCache[k]=o;xpathLog("XPath parse: "+h+" / "+f+" / "+p);return o}var xpathParseCache={};function xpathCacheLookup(a){return xpathParseCache[a]}function xpathReduce(h,a){var e=null;if(h.length>0){var f=h[h.length-1];var j=xpathRules[f.tag.key];if(j){for(var b=0;b<j.length;++b){var g=j[b];var c=xpathMatchStack(h,g[1]);if(c.length){e={tag:g[0],rule:g,match:c};e.prec=xpathGrammarPrecedence(e);break}}}}var d;if(e&&(!a||e.prec>a.prec||(a.tag.left&&e.prec>=a.prec))){for(var b=0;b<e.match.matchlength;++b){h.pop()}xpathLog("reduce "+e.tag.label+" "+e.prec+" ahead "+(a?a.tag.label+" "+a.prec+(a.tag.left?" left":""):" none "));var k=mapExpr(e.match,function(l){return l.expr});e.expr=e.rule[3].apply(null,k);h.push(e);d=true}else{if(a){xpathLog("shift "+a.tag.label+" "+a.prec+(a.tag.left?" left":"")+" over "+(e?e.tag.label+" "+e.prec:" none"));h.push(a)}d=false}return d}function xpathMatchStack(h,g){var d=h.length;var f=g.length;var b,j;var e=[];e.matchlength=0;var c=0;for(b=f-1,j=d-1;b>=0&&j>=0;--b,j-=c){c=0;var a=[];if(g[b]==Q_MM){b-=1;e.push(a);while(j-c>=0&&h[j-c].tag==g[b]){a.push(h[j-c]);c+=1;e.matchlength+=1}}else{if(g[b]==Q_01){b-=1;e.push(a);while(j-c>=0&&c<2&&h[j-c].tag==g[b]){a.push(h[j-c]);c+=1;e.matchlength+=1}}else{if(g[b]==Q_1M){b-=1;e.push(a);if(h[j].tag==g[b]){while(j-c>=0&&h[j-c].tag==g[b]){a.push(h[j-c]);c+=1;e.matchlength+=1}}else{return[]}}else{if(h[j].tag==g[b]){e.push(h[j]);c+=1;e.matchlength+=1}else{return[]}}}}reverseInplace(a);a.expr=mapExpr(a,function(k){return k.expr})}reverseInplace(e);if(b==-1){return e}else{return[]}}function xpathTokenPrecedence(a){return a.prec||2}function xpathGrammarPrecedence(e){var b=0;if(e.rule){if(e.rule.length>=3&&e.rule[2]>=0){b=e.rule[2]}else{for(var c=0;c<e.rule[1].length;++c){var d=xpathTokenPrecedence(e.rule[1][c]);b=Math.max(b,d)}}}else{if(e.tag){b=xpathTokenPrecedence(e.tag)}else{if(e.length){for(var a=0;a<e.length;++a){var d=xpathGrammarPrecedence(e[a]);b=Math.max(b,d)}}}}return b}function stackToString(a){var b="";for(var c=0;c<a.length;++c){if(b){b+="\n"}b+=a[c].tag.label}return b}function ExprContext(c,a,d,b){this.node=c;this.position=a||0;this.nodelist=d||[c];this.variables={};this.parent=b||null;if(b){this.root=b.root}else{if(this.node.nodeType==DOM_DOCUMENT_NODE){this.root=c}else{this.root=c.ownerDocument}}}ExprContext.prototype.clone=function(c,a,b){return new ExprContext(c||this.node,typeof a!="undefined"?a:this.position,b||this.nodelist,this)};ExprContext.prototype.setVariable=function(a,b){this.variables[a]=b};ExprContext.prototype.getVariable=function(a){if(typeof this.variables[a]!="undefined"){return this.variables[a]}else{if(this.parent){return this.parent.getVariable(a)}else{return null}}};ExprContext.prototype.setNode=function(a){this.node=this.nodelist[a];this.position=a};ExprContext.prototype.contextSize=function(){return this.nodelist.length};function StringValue(a){this.value=a;this.type="string"}StringValue.prototype.stringValue=function(){return this.value};StringValue.prototype.booleanValue=function(){return this.value.length>0};StringValue.prototype.numberValue=function(){return this.value-0};StringValue.prototype.nodeSetValue=function(){throw this};function BooleanValue(a){this.value=a;this.type="boolean"}BooleanValue.prototype.stringValue=function(){return""+this.value};BooleanValue.prototype.booleanValue=function(){return this.value};BooleanValue.prototype.numberValue=function(){return this.value?1:0};BooleanValue.prototype.nodeSetValue=function(){throw this};function NumberValue(a){this.value=a;this.type="number"}NumberValue.prototype.stringValue=function(){return""+this.value};NumberValue.prototype.booleanValue=function(){return !!this.value};NumberValue.prototype.numberValue=function(){return this.value-0};NumberValue.prototype.nodeSetValue=function(){throw this};function NodeSetValue(a){this.value=a;this.type="node-set"}NodeSetValue.prototype.stringValue=function(){if(this.value.length==0){return""}else{return xmlValue(this.value[0])}};NodeSetValue.prototype.booleanValue=function(){return this.value.length>0};NodeSetValue.prototype.numberValue=function(){return this.stringValue()-0};NodeSetValue.prototype.nodeSetValue=function(){return this.value};function TokenExpr(a){this.value=a}TokenExpr.prototype.evaluate=function(){return new StringValue(this.value)};function LocationExpr(){this.absolute=false;this.steps=[]}LocationExpr.prototype.appendStep=function(a){this.steps.push(a)};LocationExpr.prototype.prependStep=function(c){var a=this.steps;this.steps=[c];for(var b=0;b<a.length;++b){this.steps.push(a[b])}};LocationExpr.prototype.evaluate=function(a){var c;if(this.absolute){c=a.root}else{c=a.node}var b=[];xPathStep(b,this.steps,0,c,a);return new NodeSetValue(b)};function xPathStep(a,e,b,f,h){var j=e[b];var d=h.clone(f);var g=j.evaluate(d).nodeSetValue();for(var c=0;c<g.length;++c){if(b==e.length-1){a.push(g[c])}else{xPathStep(a,e,b+1,g[c],h)}}}function StepExpr(b,c,a){this.axis=b;this.nodetest=c;this.predicate=a||[]}StepExpr.prototype.appendPredicate=function(a){this.predicate.push(a)};StepExpr.prototype.evaluate=function(a){var c=a.node;var f=[];if(this.axis==xpathAxis.ANCESTOR_OR_SELF){f.push(c);for(var h=c.parentNode;h;h=h.parentNode){f.push(h)}}else{if(this.axis==xpathAxis.ANCESTOR){for(var h=c.parentNode;h;h=h.parentNode){f.push(h)}}else{if(this.axis==xpathAxis.ATTRIBUTE){copyArray(f,c.attributes)}else{if(this.axis==xpathAxis.CHILD){copyArray(f,c.childNodes)}else{if(this.axis==xpathAxis.DESCENDANT_OR_SELF){f.push(c);xpathCollectDescendants(f,c)}else{if(this.axis==xpathAxis.DESCENDANT){xpathCollectDescendants(f,c)}else{if(this.axis==xpathAxis.FOLLOWING){for(var h=c;h;h=h.parentNode){for(var g=h.nextSibling;g;g=g.nextSibling){f.push(g);xpathCollectDescendants(f,g)}}}else{if(this.axis==xpathAxis.FOLLOWING_SIBLING){for(var h=c.nextSibling;h;h=h.nextSibling){f.push(h)}}else{if(this.axis==xpathAxis.NAMESPACE){alert("not implemented: axis namespace")}else{if(this.axis==xpathAxis.PARENT){if(c.parentNode){f.push(c.parentNode)}}else{if(this.axis==xpathAxis.PRECEDING){for(var h=c;h;h=h.parentNode){for(var g=h.previousSibling;g;g=g.previousSibling){f.push(g);xpathCollectDescendantsReverse(f,g)}}}else{if(this.axis==xpathAxis.PRECEDING_SIBLING){for(var h=c.previousSibling;h;h=h.previousSibling){f.push(h)}}else{if(this.axis==xpathAxis.SELF){f.push(c)}else{throw"ERROR -- NO SUCH AXIS: "+this.axis}}}}}}}}}}}}}var b=f;f=[];for(var d=0;d<b.length;++d){var h=b[d];if(this.nodetest.evaluate(a.clone(h,d,b)).booleanValue()){f.push(h)}}for(var d=0;d<this.predicate.length;++d){var b=f;f=[];for(var e=0;e<b.length;++e){var h=b[e];if(this.predicate[d].evaluate(a.clone(h,e,b)).booleanValue()){f.push(h)}}}return new NodeSetValue(f)};function NodeTestAny(){this.value=new BooleanValue(true)}NodeTestAny.prototype.evaluate=function(a){return this.value};function NodeTestElementOrAttribute(){}NodeTestElementOrAttribute.prototype.evaluate=function(a){return new BooleanValue(a.node.nodeType==DOM_ELEMENT_NODE||a.node.nodeType==DOM_ATTRIBUTE_NODE)};function NodeTestText(){}NodeTestText.prototype.evaluate=function(a){return new BooleanValue(a.node.nodeType==DOM_TEXT_NODE)};function NodeTestComment(){}NodeTestComment.prototype.evaluate=function(a){return new BooleanValue(a.node.nodeType==DOM_COMMENT_NODE)};function NodeTestPI(a){this.target=a}NodeTestPI.prototype.evaluate=function(a){return new BooleanValue(a.node.nodeType==DOM_PROCESSING_INSTRUCTION_NODE&&(!this.target||a.node.nodeName==this.target))};function NodeTestNC(a){this.regex=new RegExp("^"+a+":");this.nsprefix=a}NodeTestNC.prototype.evaluate=function(a){var b=a.node;return new BooleanValue(this.regex.match(b.nodeName))};function NodeTestName(a){this.name=a}NodeTestName.prototype.evaluate=function(a){var b=a.node;return new BooleanValue(b.nodeName==this.name)};function PredicateExpr(a){this.expr=a}PredicateExpr.prototype.evaluate=function(a){var b=this.expr.evaluate(a);if(b.type=="number"){return new BooleanValue(a.position==b.numberValue()-1)}else{return new BooleanValue(b.booleanValue())}};function FunctionCallExpr(a){this.name=a;this.args=[]}FunctionCallExpr.prototype.appendArg=function(a){this.args.push(a)};FunctionCallExpr.prototype.evaluate=function(a){var b=""+this.name.value;var c=this.xpathfunctions[b];if(c){return c.call(this,a)}else{xpathLog("XPath NO SUCH FUNCTION "+b);return new BooleanValue(false)}};FunctionCallExpr.prototype.xpathfunctions={last:function(a){assert(this.args.length==0);return new NumberValue(a.contextSize())},position:function(a){assert(this.args.length==0);return new NumberValue(a.position+1)},count:function(a){assert(this.args.length==1);var b=this.args[0].evaluate(a);return new NumberValue(b.nodeSetValue().length)},id:function(m){assert(this.args.length==1);var g=this.args[0].evaluate(m);var h=[];var a;if(g.type=="node-set"){a=[];var b=g.nodeSetValue();for(var f=0;f<b.length;++f){var k=xmlValue(b[f]).split(/\s+/);for(var l=0;l<k.length;++l){a.push(k[l])}}}else{a=g.stringValue().split(/\s+/)}var j=m.node.ownerDocument;for(var f=0;f<a.length;++f){var c=j.getElementById(a[f]);if(c){h.push(c)}}return new NodeSetValue(h)},"local-name":function(a){alert("not implmented yet: XPath function local-name()")},"namespace-uri":function(a){alert("not implmented yet: XPath function namespace-uri()")},name:function(a){assert(this.args.length==1||this.args.length==0);var b;if(this.args.length==0){b=[a.node]}else{b=this.args[0].evaluate(a).nodeSetValue()}if(b.length==0){return new StringValue("")}else{return new StringValue(b[0].nodeName)}},string:function(a){assert(this.args.length==1||this.args.length==0);if(this.args.length==0){return new StringValue(new NodeSetValue([a.node]).stringValue())}else{return new StringValue(this.args[0].evaluate(a).stringValue())}},concat:function(a){var b="";for(var c=0;c<this.args.length;++c){b+=this.args[c].evaluate(a).stringValue()}return new StringValue(b)},"starts-with":function(a){assert(this.args.length==2);var c=this.args[0].evaluate(a).stringValue();var b=this.args[1].evaluate(a).stringValue();return new BooleanValue(c.indexOf(b)==0)},contains:function(a){assert(this.args.length==2);var c=this.args[0].evaluate(a).stringValue();var b=this.args[1].evaluate(a).stringValue();return new BooleanValue(c.indexOf(b)!=-1)},"substring-before":function(a){assert(this.args.length==2);var e=this.args[0].evaluate(a).stringValue();var d=this.args[1].evaluate(a).stringValue();var c=e.indexOf(d);var b;if(c==-1){b=""}else{b=e.substr(0,c)}return new StringValue(b)},"substring-after":function(a){assert(this.args.length==2);var e=this.args[0].evaluate(a).stringValue();var d=this.args[1].evaluate(a).stringValue();var c=e.indexOf(d);var b;if(c==-1){b=""}else{b=e.substr(c+d.length)}return new StringValue(b)},substring:function(a){assert(this.args.length==2||this.args.length==3);var f=this.args[0].evaluate(a).stringValue();var d=this.args[1].evaluate(a).numberValue();var c;if(this.args.length==2){var g=Math.max(0,Math.round(d)-1);c=f.substr(g)}else{var b=this.args[2].evaluate(a).numberValue();var h=Math.round(d)-1;var g=Math.max(0,h);var e=Math.round(b)-Math.max(0,-h);c=f.substr(g,e)}return new StringValue(c)},"string-length":function(a){var b;if(this.args.length>0){b=this.args[0].evaluate(a).stringValue()}else{b=new NodeSetValue([a.node]).stringValue()}return new NumberValue(b.length)},"normalize-space":function(a){var b;if(this.args.length>0){b=this.args[0].evaluate(a).stringValue()}else{b=new NodeSetValue([a.node]).stringValue()}b=b.replace(/^\s*/,"").replace(/\s*$/,"").replace(/\s+/g," ");return new StringValue(b)},translate:function(a){assert(this.args.length==3);var e=this.args[0].evaluate(a).stringValue();var d=this.args[1].evaluate(a).stringValue();var b=this.args[2].evaluate(a).stringValue();for(var c=0;c<d.length;++c){e=e.replace(new RegExp(d.charAt(c),"g"),b.charAt(c))}return new StringValue(e)},"boolean":function(a){assert(this.args.length==1);return new BooleanValue(this.args[0].evaluate(a).booleanValue())},not:function(a){assert(this.args.length==1);var b=!this.args[0].evaluate(a).booleanValue();return new BooleanValue(b)},"true":function(a){assert(this.args.length==0);return new BooleanValue(true)},"false":function(a){assert(this.args.length==0);return new BooleanValue(false)},lang:function(a){assert(this.args.length==1);var c=this.args[0].evaluate(a).stringValue();var e;var d=a.node;while(d&&d!=d.parentNode){e=d.getAttribute("xml:lang");if(e){break}d=d.parentNode}if(!e){return new BooleanValue(false)}else{var b=new RegExp("^"+c+"$","i");return new BooleanValue(e.match(b)||e.replace(/_.*$/,"").match(b))}},number:function(a){assert(this.args.length==1||this.args.length==0);if(this.args.length==1){return new NumberValue(this.args[0].evaluate(a).numberValue())}else{return new NumberValue(new NodeSetValue([a.node]).numberValue())}},sum:function(a){assert(this.args.length==1);var d=this.args[0].evaluate(a).nodeSetValue();var c=0;for(var b=0;b<d.length;++b){c+=xmlValue(d[b])-0}return new NumberValue(c)},floor:function(a){assert(this.args.length==1);var b=this.args[0].evaluate(a).numberValue();return new NumberValue(Math.floor(b))},ceiling:function(a){assert(this.args.length==1);var b=this.args[0].evaluate(a).numberValue();return new NumberValue(Math.ceil(b))},round:function(a){assert(this.args.length==1);var b=this.args[0].evaluate(a).numberValue();return new NumberValue(Math.round(b))},"ext-join":function(a){assert(this.args.length==2);var b=this.args[0].evaluate(a).nodeSetValue();var e=this.args[1].evaluate(a).stringValue();var c="";for(var d=0;d<b.length;++d){if(c){c+=e}c+=xmlValue(b[d])}return new StringValue(c)},"ext-if":function(a){assert(this.args.length==3);if(this.args[0].evaluate(a).booleanValue()){return this.args[1].evaluate(a)}else{return this.args[2].evaluate(a)}},"ext-cardinal":function(a){assert(this.args.length>=1);var e=this.args[0].evaluate(a).numberValue();var b=[];for(var d=0;d<e;++d){b.push(a.node)}return new NodeSetValue(b)}};function UnionExpr(b,a){this.expr1=b;this.expr2=a}UnionExpr.prototype.evaluate=function(c){var b=this.expr1.evaluate(c).nodeSetValue();var a=this.expr2.evaluate(c).nodeSetValue();var f=b.length;for(var d=0;d<a.length;++d){var h=a[d];var g=false;for(var e=0;e<f;++e){if(b[e]==h){g=true;e=f}}if(!g){b.push(h)}}return new NodeSetValue(b)};function PathExpr(b,a){this.filter=b;this.rel=a}PathExpr.prototype.evaluate=function(b){var d=this.filter.evaluate(b).nodeSetValue();var a=[];for(var e=0;e<d.length;++e){var c=this.rel.evaluate(b.clone(d[e],e,d)).nodeSetValue();for(var f=0;f<c.length;++f){a.push(c[f])}}return new NodeSetValue(a)};function FilterExpr(b,a){this.expr=b;this.predicate=a}FilterExpr.prototype.evaluate=function(a){var c=this.expr.evaluate(a).nodeSetValue();for(var e=0;e<this.predicate.length;++e){var b=c;c=[];for(var d=0;d<b.length;++d){var f=b[d];if(this.predicate[e].evaluate(a.clone(f,d,b)).booleanValue()){c.push(f)}}}return new NodeSetValue(c)};function UnaryMinusExpr(a){this.expr=a}UnaryMinusExpr.prototype.evaluate=function(a){return new NumberValue(-this.expr.evaluate(a).numberValue())};function BinaryExpr(b,c,a){this.expr1=b;this.expr2=a;this.op=c}BinaryExpr.prototype.evaluate=function(a){var b;switch(this.op.value){case"or":b=new BooleanValue(this.expr1.evaluate(a).booleanValue()||this.expr2.evaluate(a).booleanValue());break;case"and":b=new BooleanValue(this.expr1.evaluate(a).booleanValue()&&this.expr2.evaluate(a).booleanValue());break;case"+":b=new NumberValue(this.expr1.evaluate(a).numberValue()+this.expr2.evaluate(a).numberValue());break;case"-":b=new NumberValue(this.expr1.evaluate(a).numberValue()-this.expr2.evaluate(a).numberValue());break;case"*":b=new NumberValue(this.expr1.evaluate(a).numberValue()*this.expr2.evaluate(a).numberValue());break;case"mod":b=new NumberValue(this.expr1.evaluate(a).numberValue()%this.expr2.evaluate(a).numberValue());break;case"div":b=new NumberValue(this.expr1.evaluate(a).numberValue()/this.expr2.evaluate(a).numberValue());break;case"=":b=this.compare(a,function(d,c){return d==c});break;case"!=":b=this.compare(a,function(d,c){return d!=c});break;case"<":b=this.compare(a,function(d,c){return d<c});break;case"<=":b=this.compare(a,function(d,c){return d<=c});break;case">":b=this.compare(a,function(d,c){return d>c});break;case">=":b=this.compare(a,function(d,c){return d>=c});break;default:alert("BinaryExpr.evaluate: "+this.op.value)}return b};BinaryExpr.prototype.compare=function(m,h){var k=this.expr1.evaluate(m);var j=this.expr2.evaluate(m);var g;if(k.type=="node-set"&&j.type=="node-set"){var f=k.nodeSetValue();var e=j.nodeSetValue();g=false;for(var c=0;c<f.length;++c){for(var b=0;b<e.length;++b){if(h(xmlValue(f[c]),xmlValue(e[b]))){g=true;b=e.length;c=f.length}}}}else{if(k.type=="node-set"||j.type=="node-set"){if(k.type=="number"){var o=k.numberValue();var a=j.nodeSetValue();g=false;for(var d=0;d<a.length;++d){var l=xmlValue(a[d])-0;if(h(o,l)){g=true;break}}}else{if(j.type=="number"){var a=k.nodeSetValue();var o=j.numberValue();g=false;for(var d=0;d<a.length;++d){var l=xmlValue(a[d])-0;if(h(l,o)){g=true;break}}}else{if(k.type=="string"){var o=k.stringValue();var a=j.nodeSetValue();g=false;for(var d=0;d<a.length;++d){var l=xmlValue(a[d]);if(h(o,l)){g=true;break}}}else{if(j.type=="string"){var a=k.nodeSetValue();var o=j.stringValue();g=false;for(var d=0;d<a.length;++d){var l=xmlValue(a[d]);if(h(l,o)){g=true;break}}}else{g=h(k.booleanValue(),j.booleanValue())}}}}}else{if(k.type=="boolean"||j.type=="boolean"){g=h(k.booleanValue(),j.booleanValue())}else{if(k.type=="number"||j.type=="number"){g=h(k.numberValue(),j.numberValue())}else{g=h(k.stringValue(),j.stringValue())}}}}return new BooleanValue(g)};function LiteralExpr(a){this.value=a}LiteralExpr.prototype.evaluate=function(a){return new StringValue(this.value)};function NumberExpr(a){this.value=a}NumberExpr.prototype.evaluate=function(a){return new NumberValue(this.value)};function VariableExpr(a){this.name=a}VariableExpr.prototype.evaluate=function(a){return a.getVariable(this.name)};function makeTokenExpr(a){return new TokenExpr(a)}function passExpr(a){return a}function makeLocationExpr1(b,a){a.absolute=true;return a}function makeLocationExpr2(b,a){a.absolute=true;a.prependStep(makeAbbrevStep(b.value));return a}function makeLocationExpr3(b){var a=new LocationExpr();a.appendStep(makeAbbrevStep("."));a.absolute=true;return a}function makeLocationExpr4(b){var a=new LocationExpr();a.absolute=true;a.appendStep(makeAbbrevStep(b.value));return a}function makeLocationExpr5(b){var a=new LocationExpr();a.appendStep(b);return a}function makeLocationExpr6(a,b,c){a.appendStep(c);return a}function makeLocationExpr7(a,b,c){a.appendStep(makeAbbrevStep(b.value));return a}function makeStepExpr1(a){return makeAbbrevStep(a.value)}function makeStepExpr2(a){return makeAbbrevStep(a.value)}function makeStepExpr3(a,b,c){return new StepExpr(a.value,c)}function makeStepExpr4(a,b){return new StepExpr("attribute",b)}function makeStepExpr5(a){return new StepExpr("child",a)}function makeStepExpr6(b,a){b.appendPredicate(a);return b}function makeAbbrevStep(a){switch(a){case"//":return new StepExpr("descendant-or-self",new NodeTestAny);case".":return new StepExpr("self",new NodeTestAny);case"..":return new StepExpr("parent",new NodeTestAny)}}function makeNodeTestExpr1(a){return new NodeTestElementOrAttribute}function makeNodeTestExpr2(a,b,c){return new NodeTestNC(a.value)}function makeNodeTestExpr3(a){return new NodeTestName(a.value)}function makeNodeTestExpr4(c,a){var b=c.value.replace(/\s*\($/,"");switch(b){case"node":return new NodeTestAny;case"text":return new NodeTestText;case"comment":return new NodeTestComment;case"processing-instruction":return new NodeTestPI("")}}function makeNodeTestExpr5(d,c,a){var b=d.replace(/\s*\($/,"");if(b!="processing-instruction"){throw b}return new NodeTestPI(c.value)}function makePredicateExpr(c,b,a){return new PredicateExpr(b)}function makePrimaryExpr(c,b,a){return b}function makeFunctionCallExpr1(b,c,a){return new FunctionCallExpr(b)}function makeFunctionCallExpr2(e,g,d,c,a){var b=new FunctionCallExpr(e);b.appendArg(d);for(var f=0;f<c.length;++f){b.appendArg(c[f])}return b}function makeArgumentExpr(a,b){return b}function makeUnionExpr(c,a,b){return new UnionExpr(c,b)}function makePathExpr1(c,b,a){return new PathExpr(c,a)}function makePathExpr2(c,b,a){a.prependStep(makeAbbrevStep(b.value));return new PathExpr(c,a)}function makeFilterExpr(b,a){if(a.length>0){return new FilterExpr(b,a)}else{return b}}function makeUnaryMinusExpr(a,b){return new UnaryMinusExpr(b)}function makeBinaryExpr(b,c,a){return new BinaryExpr(b,c,a)}function makeLiteralExpr(a){var b=a.value.substring(1,a.value.length-1);return new LiteralExpr(b)}function makeNumberExpr(a){return new NumberExpr(a.value)}function makeVariableReference(a,b){return new VariableExpr(b.value)}function makeSimpleExpr(f){if(f.charAt(0)=="$"){return new VariableExpr(f.substr(1))}else{if(f.charAt(0)=="@"){var e=new NodeTestName(f.substr(1));var d=new StepExpr("attribute",e);var g=new LocationExpr();g.appendStep(d);return g}else{if(f.match(/^[0-9]+$/)){return new NumberExpr(f)}else{var e=new NodeTestName(f);var d=new StepExpr("child",e);var g=new LocationExpr();g.appendStep(d);return g}}}}function makeSimpleExpr2(h){var f=stringSplit(h,"/");var j=new LocationExpr();for(var g=0;g<f.length;++g){var e=new NodeTestName(f[g]);var d=new StepExpr("child",e);j.appendStep(d)}return j}var xpathAxis={ANCESTOR_OR_SELF:"ancestor-or-self",ANCESTOR:"ancestor",ATTRIBUTE:"attribute",CHILD:"child",DESCENDANT_OR_SELF:"descendant-or-self",DESCENDANT:"descendant",FOLLOWING_SIBLING:"following-sibling",FOLLOWING:"following",NAMESPACE:"namespace",PARENT:"parent",PRECEDING_SIBLING:"preceding-sibling",PRECEDING:"preceding",SELF:"self"};var xpathAxesRe=[xpathAxis.ANCESTOR_OR_SELF,xpathAxis.ANCESTOR,xpathAxis.ATTRIBUTE,xpathAxis.CHILD,xpathAxis.DESCENDANT_OR_SELF,xpathAxis.DESCENDANT,xpathAxis.FOLLOWING_SIBLING,xpathAxis.FOLLOWING,xpathAxis.NAMESPACE,xpathAxis.PARENT,xpathAxis.PRECEDING_SIBLING,xpathAxis.PRECEDING,xpathAxis.SELF].join("|");var TOK_PIPE={label:"|",prec:17,re:new RegExp("^\\|")};var TOK_DSLASH={label:"//",prec:19,re:new RegExp("^//")};var TOK_SLASH={label:"/",prec:30,re:new RegExp("^/")};var TOK_AXIS={label:"::",prec:20,re:new RegExp("^::")};var TOK_COLON={label:":",prec:1000,re:new RegExp("^:")};var TOK_AXISNAME={label:"[axis]",re:new RegExp("^("+xpathAxesRe+")")};var TOK_PARENO={label:"(",prec:34,re:new RegExp("^\\(")};var TOK_PARENC={label:")",re:new RegExp("^\\)")};var TOK_DDOT={label:"..",prec:34,re:new RegExp("^\\.\\.")};var TOK_DOT={label:".",prec:34,re:new RegExp("^\\.")};var TOK_AT={label:"@",prec:34,re:new RegExp("^@")};var TOK_COMMA={label:",",re:new RegExp("^,")};var TOK_OR={label:"or",prec:10,re:new RegExp("^or\\b")};var TOK_AND={label:"and",prec:11,re:new RegExp("^and\\b")};var TOK_EQ={label:"=",prec:12,re:new RegExp("^=")};var TOK_NEQ={label:"!=",prec:12,re:new RegExp("^!=")};var TOK_GE={label:">=",prec:13,re:new RegExp("^>=")};var TOK_GT={label:">",prec:13,re:new RegExp("^>")};var TOK_LE={label:"<=",prec:13,re:new RegExp("^<=")};var TOK_LT={label:"<",prec:13,re:new RegExp("^<")};var TOK_PLUS={label:"+",prec:14,re:new RegExp("^\\+"),left:true};var TOK_MINUS={label:"-",prec:14,re:new RegExp("^\\-"),left:true};var TOK_DIV={label:"div",prec:15,re:new RegExp("^div\\b"),left:true};var TOK_MOD={label:"mod",prec:15,re:new RegExp("^mod\\b"),left:true};var TOK_BRACKO={label:"[",prec:32,re:new RegExp("^\\[")};var TOK_BRACKC={label:"]",re:new RegExp("^\\]")};var TOK_DOLLAR={label:"$",re:new RegExp("^\\$")};var TOK_NCNAME={label:"[ncname]",re:new RegExp("^"+XML_NC_NAME)};var TOK_ASTERISK={label:"*",prec:15,re:new RegExp("^\\*"),left:true};var TOK_LITERALQ={label:"[litq]",prec:20,re:new RegExp("^'[^\\']*'")};var TOK_LITERALQQ={label:"[litqq]",prec:20,re:new RegExp('^"[^\\"]*"')};var TOK_NUMBER={label:"[number]",prec:35,re:new RegExp("^\\d+(\\.\\d*)?")};var TOK_QNAME={label:"[qname]",re:new RegExp("^("+XML_NC_NAME+":)?"+XML_NC_NAME)};var TOK_NODEO={label:"[nodetest-start]",re:new RegExp("^(processing-instruction|comment|text|node)\\(")};var xpathTokenRules=[TOK_DSLASH,TOK_SLASH,TOK_DDOT,TOK_DOT,TOK_AXIS,TOK_COLON,TOK_AXISNAME,TOK_NODEO,TOK_PARENO,TOK_PARENC,TOK_BRACKO,TOK_BRACKC,TOK_AT,TOK_COMMA,TOK_OR,TOK_AND,TOK_NEQ,TOK_EQ,TOK_GE,TOK_GT,TOK_LE,TOK_LT,TOK_PLUS,TOK_MINUS,TOK_ASTERISK,TOK_PIPE,TOK_MOD,TOK_DIV,TOK_LITERALQ,TOK_LITERALQQ,TOK_NUMBER,TOK_QNAME,TOK_NCNAME,TOK_DOLLAR];var XPathLocationPath={label:"LocationPath"};var XPathRelativeLocationPath={label:"RelativeLocationPath"};var XPathAbsoluteLocationPath={label:"AbsoluteLocationPath"};var XPathStep={label:"Step"};var XPathNodeTest={label:"NodeTest"};var XPathPredicate={label:"Predicate"};var XPathLiteral={label:"Literal"};var XPathExpr={label:"Expr"};var XPathPrimaryExpr={label:"PrimaryExpr"};var XPathVariableReference={label:"Variablereference"};var XPathNumber={label:"Number"};var XPathFunctionCall={label:"FunctionCall"};var XPathArgumentRemainder={label:"ArgumentRemainder"};var XPathPathExpr={label:"PathExpr"};var XPathUnionExpr={label:"UnionExpr"};var XPathFilterExpr={label:"FilterExpr"};var XPathDigits={label:"Digits"};var xpathNonTerminals=[XPathLocationPath,XPathRelativeLocationPath,XPathAbsoluteLocationPath,XPathStep,XPathNodeTest,XPathPredicate,XPathLiteral,XPathExpr,XPathPrimaryExpr,XPathVariableReference,XPathNumber,XPathFunctionCall,XPathArgumentRemainder,XPathPathExpr,XPathUnionExpr,XPathFilterExpr,XPathDigits];var Q_01={label:"?"};var Q_MM={label:"*"};var Q_1M={label:"+"};var ASSOC_LEFT=true;var xpathGrammarRules=[[XPathLocationPath,[XPathRelativeLocationPath],18,passExpr],[XPathLocationPath,[XPathAbsoluteLocationPath],18,passExpr],[XPathAbsoluteLocationPath,[TOK_SLASH,XPathRelativeLocationPath],18,makeLocationExpr1],[XPathAbsoluteLocationPath,[TOK_DSLASH,XPathRelativeLocationPath],18,makeLocationExpr2],[XPathAbsoluteLocationPath,[TOK_SLASH],0,makeLocationExpr3],[XPathAbsoluteLocationPath,[TOK_DSLASH],0,makeLocationExpr4],[XPathRelativeLocationPath,[XPathStep],31,makeLocationExpr5],[XPathRelativeLocationPath,[XPathRelativeLocationPath,TOK_SLASH,XPathStep],31,makeLocationExpr6],[XPathRelativeLocationPath,[XPathRelativeLocationPath,TOK_DSLASH,XPathStep],31,makeLocationExpr7],[XPathStep,[TOK_DOT],33,makeStepExpr1],[XPathStep,[TOK_DDOT],33,makeStepExpr2],[XPathStep,[TOK_AXISNAME,TOK_AXIS,XPathNodeTest],33,makeStepExpr3],[XPathStep,[TOK_AT,XPathNodeTest],33,makeStepExpr4],[XPathStep,[XPathNodeTest],33,makeStepExpr5],[XPathStep,[XPathStep,XPathPredicate],33,makeStepExpr6],[XPathNodeTest,[TOK_ASTERISK],33,makeNodeTestExpr1],[XPathNodeTest,[TOK_NCNAME,TOK_COLON,TOK_ASTERISK],33,makeNodeTestExpr2],[XPathNodeTest,[TOK_QNAME],33,makeNodeTestExpr3],[XPathNodeTest,[TOK_NODEO,TOK_PARENC],33,makeNodeTestExpr4],[XPathNodeTest,[TOK_NODEO,XPathLiteral,TOK_PARENC],33,makeNodeTestExpr5],[XPathPredicate,[TOK_BRACKO,XPathExpr,TOK_BRACKC],33,makePredicateExpr],[XPathPrimaryExpr,[XPathVariableReference],33,passExpr],[XPathPrimaryExpr,[TOK_PARENO,XPathExpr,TOK_PARENC],33,makePrimaryExpr],[XPathPrimaryExpr,[XPathLiteral],30,passExpr],[XPathPrimaryExpr,[XPathNumber],30,passExpr],[XPathPrimaryExpr,[XPathFunctionCall],30,passExpr],[XPathFunctionCall,[TOK_QNAME,TOK_PARENO,TOK_PARENC],-1,makeFunctionCallExpr1],[XPathFunctionCall,[TOK_QNAME,TOK_PARENO,XPathExpr,XPathArgumentRemainder,Q_MM,TOK_PARENC],-1,makeFunctionCallExpr2],[XPathArgumentRemainder,[TOK_COMMA,XPathExpr],-1,makeArgumentExpr],[XPathUnionExpr,[XPathPathExpr],20,passExpr],[XPathUnionExpr,[XPathUnionExpr,TOK_PIPE,XPathPathExpr],20,makeUnionExpr],[XPathPathExpr,[XPathLocationPath],20,passExpr],[XPathPathExpr,[XPathFilterExpr],19,passExpr],[XPathPathExpr,[XPathFilterExpr,TOK_SLASH,XPathRelativeLocationPath],20,makePathExpr1],[XPathPathExpr,[XPathFilterExpr,TOK_DSLASH,XPathRelativeLocationPath],20,makePathExpr2],[XPathFilterExpr,[XPathPrimaryExpr,XPathPredicate,Q_MM],20,makeFilterExpr],[XPathExpr,[XPathPrimaryExpr],16,passExpr],[XPathExpr,[XPathUnionExpr],16,passExpr],[XPathExpr,[TOK_MINUS,XPathExpr],-1,makeUnaryMinusExpr],[XPathExpr,[XPathExpr,TOK_OR,XPathExpr],-1,makeBinaryExpr],[XPathExpr,[XPathExpr,TOK_AND,XPathExpr],-1,makeBinaryExpr],[XPathExpr,[XPathExpr,TOK_EQ,XPathExpr],-1,makeBinaryExpr],[XPathExpr,[XPathExpr,TOK_NEQ,XPathExpr],-1,makeBinaryExpr],[XPathExpr,[XPathExpr,TOK_LT,XPathExpr],-1,makeBinaryExpr],[XPathExpr,[XPathExpr,TOK_LE,XPathExpr],-1,makeBinaryExpr],[XPathExpr,[XPathExpr,TOK_GT,XPathExpr],-1,makeBinaryExpr],[XPathExpr,[XPathExpr,TOK_GE,XPathExpr],-1,makeBinaryExpr],[XPathExpr,[XPathExpr,TOK_PLUS,XPathExpr],-1,makeBinaryExpr,ASSOC_LEFT],[XPathExpr,[XPathExpr,TOK_MINUS,XPathExpr],-1,makeBinaryExpr,ASSOC_LEFT],[XPathExpr,[XPathExpr,TOK_ASTERISK,XPathExpr],-1,makeBinaryExpr,ASSOC_LEFT],[XPathExpr,[XPathExpr,TOK_DIV,XPathExpr],-1,makeBinaryExpr,ASSOC_LEFT],[XPathExpr,[XPathExpr,TOK_MOD,XPathExpr],-1,makeBinaryExpr,ASSOC_LEFT],[XPathLiteral,[TOK_LITERALQ],-1,makeLiteralExpr],[XPathLiteral,[TOK_LITERALQQ],-1,makeLiteralExpr],[XPathNumber,[TOK_NUMBER],-1,makeNumberExpr],[XPathVariableReference,[TOK_DOLLAR,TOK_QNAME],200,makeVariableReference]];var xpathRules=[];function xpathParseInit(){if(xpathRules.length){return}xpathGrammarRules.sort(function(j,h){var l=j[1].length;var k=h[1].length;if(l<k){return 1}else{if(l>k){return -1}else{return 0}}});var a=1;for(var c=0;c<xpathNonTerminals.length;++c){xpathNonTerminals[c].key=a++}for(c=0;c<xpathTokenRules.length;++c){xpathTokenRules[c].key=a++}xpathLog("XPath parse INIT: "+a+" rules");function e(k,h,j){if(!k[h]){k[h]=[]}k[h].push(j)}for(c=0;c<xpathGrammarRules.length;++c){var g=xpathGrammarRules[c];var f=g[1];for(var b=f.length-1;b>=0;--b){if(f[b]==Q_1M){e(xpathRules,f[b-1].key,g);break}else{if(f[b]==Q_MM||f[b]==Q_01){e(xpathRules,f[b-1].key,g);--b}else{e(xpathRules,f[b].key,g);break}}}}xpathLog("XPath parse INIT: "+xpathRules.length+" rule bins");var d=0;mapExec(xpathRules,function(h){if(h){d+=h.length}});xpathLog("XPath parse INIT: "+(d/xpathRules.length)+" average bin size")}function xpathCollectDescendants(b,a){for(var c=a.firstChild;c;c=c.nextSibling){b.push(c);arguments.callee(b,c)}}function xpathCollectDescendantsReverse(b,a){for(var c=a.lastChild;c;c=c.previousSibling){b.push(c);arguments.callee(b,c)}}function xpathDomEval(c,b){var d=xpathParse(c);var a=d.evaluate(new ExprContext(b));return a}function xpathSort(h,f){if(f.length==0){return}var n=[];for(var g=0;g<h.contextSize();++g){var c=h.nodelist[g];var d={node:c,key:[]};var b=h.clone(c,0,[c]);for(var e=0;e<f.length;++e){var m=f[e];var l=m.expr.evaluate(b);var k;if(m.type=="text"){k=l.stringValue()}else{if(m.type=="number"){k=l.numberValue()}}d.key.push({value:k,order:m.order})}d.key.push({value:g,order:"ascending"});n.push(d)}n.sort(xpathSortByKey);var a=[];for(var g=0;g<n.length;++g){a.push(n[g].node)}h.nodelist=a;h.setNode(0)}function xpathSortByKey(d,c){for(var a=0;a<d.key.length;++a){var b=d.key[a].order=="descending"?-1:1;if(d.key[a].value>c.key[a].value){return +1*b}else{if(d.key[a].value<c.key[a].value){return -1*b}}}return 0}function xpathEval(a,c){var d=xpathParse(a);var b=d.evaluate(c);return b}var Spry;if(!Spry){Spry={}}if(!Spry.Utils){Spry.Utils={}}Spry.Utils.msProgIDs=["MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.3.0"];Spry.Utils.createXMLHttpRequest=function(){var a=null;try{if(window.ActiveXObject){while(!a&&Spry.Utils.msProgIDs.length){try{a=new ActiveXObject(Spry.Utils.msProgIDs[0])}catch(b){a=null}if(!a){Spry.Utils.msProgIDs.splice(0,1)}}}if(!a&&window.XMLHttpRequest){a=new XMLHttpRequest()}}catch(b){a=null}if(!a){Spry.Debug.reportError("Failed to create an XMLHttpRequest object!")}return a};Spry.Utils.loadURL=function(j,b,c,h,f){var d=new Spry.Utils.loadURL.Request();d.method=j;d.url=b;d.async=c;d.successCallback=h;Spry.Utils.setOptions(d,f);try{d.xhRequest=Spry.Utils.createXMLHttpRequest();if(!d.xhRequest){return null}if(d.async){d.xhRequest.onreadystatechange=function(){Spry.Utils.loadURL.callback(d)}}d.xhRequest.open(d.method,d.url,d.async,d.username,d.password);if(d.headers){for(var a in d.headers){d.xhRequest.setRequestHeader(a,d.headers[a])}}d.xhRequest.send(d.postData);if(!d.async){Spry.Utils.loadURL.callback(d)}}catch(g){if(d.errorCallback){d.errorCallback(d)}else{Spry.Debug.reportError("Exception caught while loading "+b+": "+g)}d=null}return d};Spry.Utils.loadURL.callback=function(a){if(!a||a.xhRequest.readyState!=4){return}if(a.successCallback&&(a.xhRequest.status==200||a.xhRequest.status==0)){a.successCallback(a)}else{if(a.errorCallback){a.errorCallback(a)}}};Spry.Utils.loadURL.Request=function(){var b=Spry.Utils.loadURL.Request.props;var c=b.length;for(var a=0;a<c;a++){this[b[a]]=null}this.method="GET";this.async=true;this.headers={}};Spry.Utils.loadURL.Request.props=["method","url","async","username","password","postData","successCallback","errorCallback","headers","userData","xhRequest"];Spry.Utils.loadURL.Request.prototype.extractRequestOptions=function(d,c){if(!d){return}var b=Spry.Utils.loadURL.Request.props;var e=b.length;for(var a=0;a<e;a++){var f=b[a];if(d[f]!=undefined){this[f]=d[f];if(c){d[f]=undefined}}}};Spry.Utils.loadURL.Request.prototype.clone=function(){var b=Spry.Utils.loadURL.Request.props;var d=b.length;var c=new Spry.Utils.loadURL.Request;for(var a=0;a<d;a++){c[b[a]]=this[b[a]]}if(this.headers){c.headers={};Spry.Utils.setOptions(c.headers,this.headers)}return c};Spry.Utils.setInnerHTML=function(ele,str,preventScripts){if(!ele){return}ele=Spry.$(ele);var scriptExpr="<script[^>]*>(.|s|\n|\r)*?<\/script>";ele.innerHTML=str.replace(new RegExp(scriptExpr,"img"),"");if(preventScripts){return}var matches=str.match(new RegExp(scriptExpr,"img"));if(matches){var numMatches=matches.length;for(var i=0;i<numMatches;i++){var s=matches[i].replace(/<script[^>]*>[\s\r\n]*(<\!--)?|(-->)?[\s\r\n]*<\/script>/img,"");Spry.Utils.eval(s)}}};Spry.Utils.updateContent=function(d,b,a,c){Spry.Utils.loadURL("GET",b,true,function(e){Spry.Utils.setInnerHTML(d,e.xhRequest.responseText);if(a){a(d,b)}},c)};if(!Spry.$$){Spry.Utils.addEventListener=function(c,b,d,a){try{c=Spry.$(c);if(c.addEventListener){c.addEventListener(b,d,a)}else{if(c.attachEvent){c.attachEvent("on"+b,d)}}}catch(f){}};Spry.Utils.removeEventListener=function(c,b,d,a){try{c=Spry.$(c);if(c.removeEventListener){c.removeEventListener(b,d,a)}else{if(c.detachEvent){c.detachEvent("on"+b,d)}}}catch(f){}};Spry.Utils.addLoadListener=function(a){if(typeof window.addEventListener!="undefined"){window.addEventListener("load",a,false)}else{if(typeof document.addEventListener!="undefined"){document.addEventListener("load",a,false)}else{if(typeof window.attachEvent!="undefined"){window.attachEvent("onload",a)}}}};Spry.Utils.getAttribute=function(c,a){c=Spry.$(c);if(!c||!a){return null}try{var b=c.getAttribute(a)}catch(d){b==undefined}if(b==undefined&&a.search(/:/)!=-1){try{var b=c.getAttribute(a.replace(/:/,""))}catch(d){b==undefined}}return b};Spry.Utils.setAttribute=function(c,a,b){c=Spry.$(c);if(!c||!a){return}if(a=="class"){c.className=b}else{try{c.setAttribute(a,b)}catch(d){}if(a.search(/:/)!=-1&&c.getAttribute(a)==undefined){c.setAttribute(a.replace(/:/,""),b)}}};Spry.Utils.removeAttribute=function(b,a){b=Spry.$(b);if(!b||!a){return}try{b.removeAttribute(a)}catch(c){}if(a.search(/:/)!=-1){b.removeAttribute(a.replace(/:/,""))}if(a=="class"){b.removeAttribute("className")}};Spry.Utils.addClassName=function(b,a){b=Spry.$(b);if(!b||!a||(b.className&&b.className.search(new RegExp("\\b"+a+"\\b"))!=-1)){return}b.className+=(b.className?" ":"")+a};Spry.Utils.removeClassName=function(b,a){b=Spry.$(b);if(!b||!a||(b.className&&b.className.search(new RegExp("\\b"+a+"\\b"))==-1)){return}b.className=b.className.replace(new RegExp("\\s*\\b"+a+"\\b","g"),"")};Spry.$=function(b){if(arguments.length>1){for(var a=0,d=[],c=arguments.length;a<c;a++){d.push(Spry.$(arguments[a]))}return d}if(typeof b=="string"){b=document.getElementById(b)}return b}}Spry.Utils.getObjectByName=function(c){var a=null;if(c){var e=window;var b=c.split(".");for(var d=0;e&&d<b.length;d++){a=e[b[d]];e=a}}return a};Spry.Utils.eval=function(str){return eval(str)};Spry.Utils.escapeQuotesAndLineBreaks=function(a){if(a){a=a.replace(/\\/g,"\\\\");a=a.replace(/["']/g,"\\$&");a=a.replace(/\n/g,"\\n");a=a.replace(/\r/g,"\\r")}return a};Spry.Utils.encodeEntities=function(a){if(a&&a.search(/[&<>"]/)!=-1){a=a.replace(/&/g,"&amp;");a=a.replace(/</g,"&lt;");a=a.replace(/>/g,"&gt;");a=a.replace(/"/g,"&quot;")}return a};Spry.Utils.decodeEntities=function(b){var a=Spry.Utils.decodeEntities.div;if(!a){a=document.createElement("div");Spry.Utils.decodeEntities.div=a;if(!a){return b}}a.innerHTML=b;if(a.childNodes.length==1&&a.firstChild.nodeType==3&&a.firstChild.nextSibling==null){b=a.firstChild.data}else{b=b.replace(/&lt;/gi,"<");b=b.replace(/&gt;/gi,">");b=b.replace(/&quot;/gi,'"');b=b.replace(/&amp;/gi,"&")}return b};Spry.Utils.fixupIETagAttributes=function(h){var b="";var a=h.match(/^<[^\s>]+\s*/)[0];var e=h.match(/\s*\/?>$/)[0];var j=h.replace(/^<[^\s>]+\s*|\s*\/?>/g,"");b+=a;if(j){var g=0;var c=0;while(g<j.length){while(j.charAt(c)!="="&&c<j.length){++c}if(c>=j.length){b+=j.substring(g,c);break}++c;b+=j.substring(g,c);g=c;if(j.charAt(c)=='"'||j.charAt(c)=="'"){var f=c++;while(c<j.length){if(j.charAt(c)==j.charAt(f)){c++;break}else{if(j.charAt(c)=="\\"){c++}}c++}b+=j.substring(g,c);g=c}else{b+='"';var d=j.slice(c).search(/\s/);c=(d!=-1)?(c+d):j.length;b+=j.slice(g,c);b+='"';g=c}}}b+=e;return b};Spry.Utils.fixUpIEInnerHTML=function(f){var e="";var d=new RegExp("<\\!--|<\\!\\[CDATA\\[|<\\w+[^<>]*>|-->|\\]\\](>|&gt;)","g");var a=0;var b=0;while(f.length){var c=d.exec(f);if(!c||!c[0]){e+=f.substr(a,f.length-a);break}if(c.index!=a){e+=f.substr(a,c.index-a)}if(c[0]=="<!--"||c[0]=="<![CDATA["){++b;e+=c[0]}else{if(c[0]=="-->"||c[0]=="]]>"||(b&&c[0]=="]]&gt;")){--b;e+=c[0]}else{if(!b&&c[0].charAt(0)=="<"){e+=Spry.Utils.fixupIETagAttributes(c[0])}else{e+=c[0]}}}a=d.lastIndex}return e};Spry.Utils.stringToXMLDoc=function(f){var b=null;try{var a=new ActiveXObject("Microsoft.XMLDOM");a.async=false;a.loadXML(f);b=a}catch(c){try{var d=new DOMParser;b=d.parseFromString(f,"text/xml")}catch(c){Spry.Debug.reportError("Caught exception in Spry.Utils.stringToXMLDoc(): "+c+"\n");b=null}}return b};Spry.Utils.serializeObject=function(d){var f="";var c=true;if(d==null||d==undefined){return f+d}var e=typeof d;if(e=="number"||e=="boolean"){f+=d}else{if(e=="string"){f+='"'+Spry.Utils.escapeQuotesAndLineBreaks(d)+'"'}else{if(d.constructor==Array){f+="[";for(var a=0;a<d.length;a++){if(!c){f+=", "}f+=Spry.Utils.serializeObject(d[a]);c=false}f+="]"}else{if(e=="object"){f+="{";for(var b in d){if(!c){f+=", "}f+='"'+b+'": '+Spry.Utils.serializeObject(d[b]);c=false}f+="}"}}}}return f};Spry.Utils.getNodesByFunc=function(a,d){var f=new Array;var c=new Array;var b=a;while(b){if(d(b)){c.push(b)}if(b.hasChildNodes()){f.push(b);b=b.firstChild}else{if(b==a){b=null}else{try{b=b.nextSibling}catch(g){b=null}}}while(!b&&f.length>0){b=f.pop();if(b==a){b=null}else{try{b=b.nextSibling}catch(g){b=null}}}}if(f&&f.length>0){Spry.Debug.trace("-- WARNING: Spry.Utils.getNodesByFunc() failed to traverse all nodes!\n")}return c};Spry.Utils.getFirstChildWithNodeName=function(a,c){var b=a.firstChild;while(b){if(b.nodeName==c){return b}b=b.nextSibling}return null};Spry.Utils.setOptions=function(d,c,a){if(!c){return}for(var b in c){if(a&&c[b]==undefined){continue}d[b]=c[b]}};Spry.Utils.SelectionManager={};Spry.Utils.SelectionManager.selectionGroups=new Object;Spry.Utils.SelectionManager.SelectionGroup=function(){this.selectedElements=new Array};Spry.Utils.SelectionManager.SelectionGroup.prototype.select=function(b,c,e){var d=null;if(!e){this.clearSelection()}else{for(var a=0;a<this.selectedElements.length;a++){d=this.selectedElements[a].element;if(d.element==b){if(d.className!=c){Spry.Utils.removeClassName(b,d.className);Spry.Utils.addClassName(b,c)}return}}}d=new Object;d.element=b;d.className=c;this.selectedElements.push(d);Spry.Utils.addClassName(b,c)};Spry.Utils.SelectionManager.SelectionGroup.prototype.unSelect=function(b){for(var a=0;a<this.selectedElements.length;a++){var c=this.selectedElements[a].element;if(c.element==b){Spry.Utils.removeClassName(c.element,c.className);return}}};Spry.Utils.SelectionManager.SelectionGroup.prototype.clearSelection=function(){var a=null;do{a=this.selectedElements.shift();if(a){Spry.Utils.removeClassName(a.element,a.className)}}while(a)};Spry.Utils.SelectionManager.getSelectionGroup=function(a){if(!a){return null}var b=Spry.Utils.SelectionManager.selectionGroups[a];if(!b){b=new Spry.Utils.SelectionManager.SelectionGroup();Spry.Utils.SelectionManager.selectionGroups[a]=b}return b};Spry.Utils.SelectionManager.select=function(a,b,c,e){var d=Spry.Utils.SelectionManager.getSelectionGroup(a);if(!d){return}d.select(b,c,e)};Spry.Utils.SelectionManager.unSelect=function(a,b){var c=Spry.Utils.SelectionManager.getSelectionGroup(a);if(!c){return}c.unSelect(b,className)};Spry.Utils.SelectionManager.clearSelection=function(a){var b=Spry.Utils.SelectionManager.getSelectionGroup(a);if(!b){return}b.clearSelection()};Spry.Utils.Notifier=function(){this.observers=[];this.suppressNotifications=0};Spry.Utils.Notifier.prototype.addObserver=function(b){if(!b){return}var a=this.observers.length;for(var c=0;c<a;c++){if(this.observers[c]==b){return}}this.observers[a]=b};Spry.Utils.Notifier.prototype.removeObserver=function(a){if(!a){return}for(var b=0;b<this.observers.length;b++){if(this.observers[b]==a){this.observers.splice(b,1);break}}};Spry.Utils.Notifier.prototype.notifyObservers=function(b,d){if(!b){return}if(!this.suppressNotifications){var a=this.observers.length;for(var c=0;c<a;c++){var e=this.observers[c];if(e){if(typeof e=="function"){e(b,this,d)}else{if(e[b]){e[b](this,d)}}}}}};Spry.Utils.Notifier.prototype.enableNotifications=function(){if(--this.suppressNotifications<0){this.suppressNotifications=0;Spry.Debug.reportError("Unbalanced enableNotifications() call!\n")}};Spry.Utils.Notifier.prototype.disableNotifications=function(){++this.suppressNotifications};Spry.Debug={};Spry.Debug.enableTrace=true;Spry.Debug.debugWindow=null;Spry.Debug.onloadDidFire=false;Spry.Utils.addLoadListener(function(){Spry.Debug.onloadDidFire=true;Spry.Debug.flushQueuedMessages()});Spry.Debug.flushQueuedMessages=function(){if(Spry.Debug.flushQueuedMessages.msgs){var b=Spry.Debug.flushQueuedMessages.msgs;for(var a=0;a<b.length;a++){Spry.Debug.debugOut(b[a].msg,b[a].color)}Spry.Debug.flushQueuedMessages.msgs=null}};Spry.Debug.createDebugWindow=function(){if(!Spry.Debug.enableTrace||Spry.Debug.debugWindow||!Spry.Debug.onloadDidFire){return}try{Spry.Debug.debugWindow=document.createElement("div");var b=Spry.Debug.debugWindow;b.style.fontSize="12px";b.style.fontFamily="console";b.style.position="absolute";b.style.width="400px";b.style.height="300px";b.style.overflow="auto";b.style.border="solid 1px black";b.style.backgroundColor="white";b.style.color="black";b.style.bottom="0px";b.style.right="0px";b.setAttribute("id","SpryDebugWindow");document.body.appendChild(Spry.Debug.debugWindow)}catch(a){}};Spry.Debug.debugOut=function(c,a){if(!Spry.Debug.debugWindow){Spry.Debug.createDebugWindow();if(!Spry.Debug.debugWindow){if(!Spry.Debug.flushQueuedMessages.msgs){Spry.Debug.flushQueuedMessages.msgs=new Array}Spry.Debug.flushQueuedMessages.msgs.push({msg:c,color:a});return}}var b=document.createElement("div");if(a){b.style.backgroundColor=a}b.innerHTML=c;Spry.Debug.debugWindow.appendChild(b)};Spry.Debug.trace=function(a){Spry.Debug.debugOut(a)};Spry.Debug.reportError=function(a){Spry.Debug.debugOut(a,"red")};Spry.Data={};Spry.Data.regionsArray={};Spry.Data.initRegionsOnLoad=true;Spry.Data.initRegions=function(r){r=r?Spry.$(r):document.body;var l=null;var a=Spry.Utils.getNodesByFunc(r,function(w){try{if(w.nodeType!=1){return false}var u="spry:region";var y=Spry.Utils.getAttribute(w,u);if(y==undefined){u="spry:detailregion";y=Spry.Utils.getAttribute(w,u)}if(y){if(l){var v=w.parentNode;while(v){if(v==l){Spry.Debug.reportError("Found a nested "+u+" in the following markup. Nested regions are currently not supported.<br/><pre>"+Spry.Utils.encodeEntities(v.innerHTML)+"</pre>");return false}v=v.parentNode}}y=w.getAttribute("id");if(!y){w.setAttribute("id","spryregion"+(++Spry.Data.initRegions.nextUniqueRegionID))}l=w;return true}else{if(y==""){Spry.Debug.reportError(u+" attributes require one or more data set names as values!")}}}catch(x){}return false});var t,k,o;var d=[];for(o=0;o<a.length;o++){var p=a[o];var b=false;t=p.getAttribute("id");var n="spry:region";var j=Spry.Utils.getAttribute(p,n);if(j==undefined){n="spry:detailregion";j=Spry.Utils.getAttribute(p,n);b=true}if(!j){Spry.Debug.reportError("spry:region and spry:detailregion attributes require one or more data set names as values!");continue}Spry.Utils.removeAttribute(p,n);Spry.Utils.removeClassName(p,Spry.Data.Region.hiddenRegionClassName);k=Spry.Data.Region.strToDataSetsArray(j);if(!k.length){Spry.Debug.reportError("spry:region or spry:detailregion attribute has no data set!");continue}var f=false;var m=false;var q="";var g=null;var c={};var h={};j=Spry.Utils.getAttribute(p,"spry:readystate");if(j){h.ready=j}j=Spry.Utils.getAttribute(p,"spry:errorstate");if(j){h.error=j}j=Spry.Utils.getAttribute(p,"spry:loadingstate");if(j){h.loading=j}j=Spry.Utils.getAttribute(p,"spry:expiredstate");if(j){h.expired=j}var s=Spry.Utils.getNodesByFunc(p,function(I){try{if(I.nodeType==1){var A=I.attributes;var y=Spry.Data.Region.PI.orderedInstructions.length;var v=null;var u=null;for(var K=0;K<y;K++){var J=Spry.Data.Region.PI.orderedInstructions[K];var D=Spry.Utils.getAttribute(I,J);if(D==undefined){continue}var H=Spry.Data.Region.PI.instructions[J];var C=(I==p)?true:H.childrenOnly;var G=H.getOpenTag(I,J);var z=H.getCloseTag(I,J);if(C){var E=document.createComment(G);var F=document.createComment(z);if(!v){I.insertBefore(E,I.firstChild)}else{I.insertBefore(E,v.nextSibling)}v=E;if(!u){I.appendChild(F)}else{I.insertBefore(F,u)}u=F}else{var B=I.parentNode;B.insertBefore(document.createComment(G),I);B.insertBefore(document.createComment(z),I.nextSibling)}if(J=="spry:state"||J=="sprystate"){c[D]=true}Spry.Utils.removeAttribute(I,J)}if(Spry.Data.Region.enableBehaviorAttributes){var M=Spry.Data.Region.behaviorAttrs;for(var w in M){var x=Spry.Utils.getAttribute(I,w);if(x!=undefined){f=true;if(M[w].setup){M[w].setup(I,x)}}}}}}catch(L){}return false});q=p.innerHTML;if(window.ActiveXObject&&!Spry.Data.Region.disableIEInnerHTMLFixUp&&q.search(/=\{/)!=-1){if(Spry.Data.Region.debug){Spry.Debug.trace("<hr />Performing IE innerHTML fix up of Region: "+t+"<br /><br />"+Spry.Utils.encodeEntities(q))}q=Spry.Utils.fixUpIEInnerHTML(q)}if(Spry.Data.Region.debug){Spry.Debug.trace("<hr />Region template markup for '"+t+"':<br /><br />"+Spry.Utils.encodeEntities(q))}if(!m){p.innerHTML=""}var e=new Spry.Data.Region(p,t,b,q,k,c,h,f);Spry.Data.regionsArray[e.name]=e;d.push(e)}for(var o=0;o<d.length;o++){d[o].updateContent()}};Spry.Data.initRegions.nextUniqueRegionID=0;Spry.Data.updateRegion=function(b){if(!b||!Spry.Data.regionsArray||!Spry.Data.regionsArray[b]){return}try{Spry.Data.regionsArray[b].updateContent()}catch(a){Spry.Debug.reportError("Spry.Data.updateRegion("+b+") caught an exception: "+a+"\n")}};Spry.Data.getRegion=function(a){return Spry.Data.regionsArray[a]};Spry.Data.updateAllRegions=function(){if(!Spry.Data.regionsArray){return}for(var a in Spry.Data.regionsArray){Spry.Data.updateRegion(a)}};Spry.Data.getDataSetByName=function(a){var b=Spry.Utils.getObjectByName(a);if(typeof b!="object"||!b.getData||!b.filter){return null}return b};Spry.Data.DataSet=function(a){Spry.Utils.Notifier.call(this);this.name="";this.internalID=Spry.Data.DataSet.nextDataSetID++;this.curRowID=0;this.data=[];this.unfilteredData=null;this.dataHash={};this.columnTypes={};this.filterFunc=null;this.filterDataFunc=null;this.distinctOnLoad=false;this.distinctFieldsOnLoad=null;this.sortOnLoad=null;this.sortOrderOnLoad="ascending";this.keepSorted=false;this.dataWasLoaded=false;this.pendingRequest=null;this.lastSortColumns=[];this.lastSortOrder="";this.loadIntervalID=0;Spry.Utils.setOptions(this,a)};Spry.Data.DataSet.prototype=new Spry.Utils.Notifier();Spry.Data.DataSet.prototype.constructor=Spry.Data.DataSet;Spry.Data.DataSet.prototype.getData=function(a){return(a&&this.unfilteredData)?this.unfilteredData:this.data};Spry.Data.DataSet.prototype.getUnfilteredData=function(){return this.getData(true)};Spry.Data.DataSet.prototype.getLoadDataRequestIsPending=function(){return this.pendingRequest!=null};Spry.Data.DataSet.prototype.getDataWasLoaded=function(){return this.dataWasLoaded};Spry.Data.DataSet.prototype.getValue=function(c,b){var a=undefined;if(!b){b=this.getCurrentRow()}switch(c){case"ds_RowNumber":a=this.getRowNumber(b);break;case"ds_RowNumberPlus1":a=this.getRowNumber(b)+1;break;case"ds_RowCount":a=this.getRowCount();break;case"ds_UnfilteredRowCount":a=this.getRowCount(true);break;case"ds_CurrentRowNumber":a=this.getCurrentRowNumber();break;case"ds_CurrentRowID":a=this.getCurrentRowID();break;case"ds_EvenOddRow":a=(this.getRowNumber(b)%2)?Spry.Data.Region.evenRowClassName:Spry.Data.Region.oddRowClassName;break;case"ds_SortOrder":a=this.getSortOrder();break;case"ds_SortColumn":a=this.getSortColumn();break;default:if(b){a=b[c]}break}return a};Spry.Data.DataSet.prototype.setDataFromArray=function(a,e){this.notifyObservers("onPreLoad");this.unfilteredData=null;this.filteredData=null;this.data=[];this.dataHash={};var b=a.length;for(var c=0;c<b;c++){var d=a[c];if(d.ds_RowID==undefined){d.ds_RowID=c}this.dataHash[d.ds_RowID]=d;this.data.push(d)}this.loadData(e)};Spry.Data.DataSet.prototype.loadData=function(c){var a=this;this.pendingRequest=new Object;this.dataWasLoaded=false;var b=function(){a.pendingRequest=null;a.dataWasLoaded=true;a.applyColumnTypes();a.disableNotifications();a.filterAndSortData();a.enableNotifications();a.notifyObservers("onPostLoad");a.notifyObservers("onDataChanged")};if(c){b()}else{this.pendingRequest.timer=setTimeout(b,0)}};Spry.Data.DataSet.prototype.filterAndSortData=function(){if(this.filterDataFunc){this.filterData(this.filterDataFunc,true)}if(this.distinctOnLoad){this.distinct(this.distinctFieldsOnLoad)}if(this.keepSorted&&this.getSortColumn()){this.sort(this.lastSortColumns,this.lastSortOrder)}else{if(this.sortOnLoad){this.sort(this.sortOnLoad,this.sortOrderOnLoad)}}if(this.filterFunc){this.filter(this.filterFunc,true)}if(this.data&&this.data.length>0){this.curRowID=this.data[0]["ds_RowID"]}else{this.curRowID=0}};Spry.Data.DataSet.prototype.cancelLoadData=function(){if(this.pendingRequest&&this.pendingRequest.timer){clearTimeout(this.pendingRequest.timer)}this.pendingRequest=null};Spry.Data.DataSet.prototype.getRowCount=function(a){var b=this.getData(a);return b?b.length:0};Spry.Data.DataSet.prototype.getRowByID=function(a){if(!this.data){return null}return this.dataHash[a]};Spry.Data.DataSet.prototype.getRowByRowNumber=function(a,b){var c=this.getData(b);if(c&&a>=0&&a<c.length){return c[a]}return null};Spry.Data.DataSet.prototype.getCurrentRow=function(){return this.getRowByID(this.curRowID)};Spry.Data.DataSet.prototype.setCurrentRow=function(b){if(this.curRowID==b){return}var a={oldRowID:this.curRowID,newRowID:b};this.curRowID=b;this.notifyObservers("onCurrentRowChanged",a)};Spry.Data.DataSet.prototype.getRowNumber=function(e,a){if(e){var c=this.getData(a);if(c&&c.length){var d=c.length;for(var b=0;b<d;b++){if(c[b]==e){return b}}}}return -1};Spry.Data.DataSet.prototype.getCurrentRowNumber=function(){return this.getRowNumber(this.getCurrentRow())};Spry.Data.DataSet.prototype.getCurrentRowID=function(){return this.curRowID};Spry.Data.DataSet.prototype.setCurrentRowNumber=function(a){if(!this.data||a>=this.data.length){Spry.Debug.trace("Invalid row number: "+a+"\n");return}var b=this.data[a]["ds_RowID"];if(b==undefined||this.curRowID==b){return}this.setCurrentRow(b)};Spry.Data.DataSet.prototype.findRowsWithColumnValues=function(f,a,c){var d=[];var k=this.getData(c);if(k){var g=k.length;for(var e=0;e<g;e++){var j=k[e];var b=true;for(var h in f){if(f[h]!=j[h]){b=false;break}}if(b){if(a){return j}d.push(j)}}}return a?null:d};Spry.Data.DataSet.prototype.setColumnType=function(c,b){if(c){if(typeof c=="string"){c=[c]}for(var a=0;a<c.length;a++){this.columnTypes[c[a]]=b}}};Spry.Data.DataSet.prototype.getColumnType=function(a){if(this.columnTypes[a]){return this.columnTypes[a]}return"string"};Spry.Data.DataSet.prototype.applyColumnTypes=function(){var d=this.getData(true);var f=d.length;var e=[];if(f<1){return}for(var a in this.columnTypes){var c=this.columnTypes[a];if(c!="string"){for(var b=0;b<f;b++){var h=d[b];var g=h[a];if(g!=undefined){if(c=="number"){h[a]=new Number(g)}else{if(c=="html"){h[a]=Spry.Utils.decodeEntities(g)}}}}}}};Spry.Data.DataSet.prototype.distinct=function(h){if(this.data){var f=this.data;this.data=[];this.dataHash={};var d=false;var g={};var e=0;var l=[];if(typeof h=="string"){l=[h]}else{if(h){l=h}else{for(var a in f[0]){l[e++]=a}}}for(var e=0;e<f.length;e++){var b=f[e];var k="";for(var c=0;c<l.length;c++){a=l[c];if(a!="ds_RowID"){if(k){k+=","}k+=a+':"'+b[a]+'"'}}if(!g[k]){this.data.push(b);this.dataHash[b.ds_RowID]=b;g[k]=true}else{d=true}}if(d){this.notifyObservers("onDataChanged")}}};Spry.Data.DataSet.prototype.getSortColumn=function(){return(this.lastSortColumns&&this.lastSortColumns.length>0)?this.lastSortColumns[0]:""};Spry.Data.DataSet.prototype.getSortOrder=function(){return this.lastSortOrder?this.lastSortOrder:""};Spry.Data.DataSet.prototype.sort=function(f,e){if(!f){return}if(typeof f=="string"){f=[f,"ds_RowID"]}else{if(f.length<2&&f[0]!="ds_RowID"){f.push("ds_RowID")}}if(!e){e="toggle"}if(e=="toggle"){if(this.lastSortColumns.length>0&&this.lastSortColumns[0]==f[0]&&this.lastSortOrder=="ascending"){e="descending"}else{e="ascending"}}if(e!="ascending"&&e!="descending"){Spry.Debug.reportError("Invalid sort order type specified: "+e+"\n");return}var d={oldSortColumns:this.lastSortColumns,oldSortOrder:this.lastSortOrder,newSortColumns:f,newSortOrder:e};this.notifyObservers("onPreSort",d);var b=f[f.length-1];var a=Spry.Data.DataSet.prototype.sort.getSortFunc(b,this.getColumnType(b),e);for(var c=f.length-2;c>=0;c--){b=f[c];a=Spry.Data.DataSet.prototype.sort.buildSecondarySortFunc(Spry.Data.DataSet.prototype.sort.getSortFunc(b,this.getColumnType(b),e),a)}if(this.unfilteredData){this.unfilteredData.sort(a);if(this.filterFunc){this.filter(this.filterFunc,true)}}else{this.data.sort(a)}this.lastSortColumns=f.slice(0);this.lastSortOrder=e;this.notifyObservers("onPostSort",d)};Spry.Data.DataSet.prototype.sort.getSortFunc=function(d,c,a){var b=null;if(c=="number"){if(a=="ascending"){b=function(f,e){f=f[d];e=e[d];if(f==undefined||e==undefined){return(f==e)?0:(f?1:-1)}return f-e}}else{b=function(f,e){f=f[d];e=e[d];if(f==undefined||e==undefined){return(f==e)?0:(f?-1:1)}return e-f}}}else{if(c=="date"){if(a=="ascending"){b=function(g,e){var h=g[d];var f=e[d];h=h?(new Date(h)):0;f=f?(new Date(f)):0;return h-f}}else{b=function(g,e){var h=g[d];var f=e[d];h=h?(new Date(h)):0;f=f?(new Date(f)):0;return f-h}}}else{if(a=="ascending"){b=function(l,k){l=l[d];k=k[d];if(l==undefined||k==undefined){return(l==k)?0:(l?1:-1)}var o=l.toString();var m=k.toString();var e=o.toLowerCase();var f=m.toLowerCase();var h=o.length>m.length?m.length:o.length;for(var g=0;g<h;g++){var p=e.charAt(g);var n=f.charAt(g);var j=o.charAt(g);var q=m.charAt(g);if(p>n){return 1}else{if(p<n){return -1}else{if(j>q){return 1}else{if(j<q){return -1}}}}}if(o.length==m.length){return 0}else{if(o.length>m.length){return 1}}return -1}}else{b=function(l,k){l=l[d];k=k[d];if(l==undefined||k==undefined){return(l==k)?0:(l?-1:1)}var o=l.toString();var m=k.toString();var e=o.toLowerCase();var f=m.toLowerCase();var h=o.length>m.length?m.length:o.length;for(var g=0;g<h;g++){var p=e.charAt(g);var n=f.charAt(g);var j=o.charAt(g);var q=m.charAt(g);if(p>n){return -1}else{if(p<n){return 1}else{if(j>q){return -1}else{if(j<q){return 1}}}}}if(o.length==m.length){return 0}else{if(o.length>m.length){return -1}}return 1}}}}return b};Spry.Data.DataSet.prototype.sort.buildSecondarySortFunc=function(b,a){return function(d,c){var e=b(d,c);if(e==0){e=a(d,c)}return e}};Spry.Data.DataSet.prototype.filterData=function(e,c){var d=false;if(!e){this.filterDataFunc=null;d=true}else{this.filterDataFunc=e;if(this.dataWasLoaded&&((this.unfilteredData&&this.unfilteredData.length)||(this.data&&this.data.length))){if(this.unfilteredData){this.data=this.unfilteredData;this.unfilteredData=null}var f=this.data;this.data=[];this.dataHash={};for(var b=0;b<f.length;b++){var a=e(this,f[b],b);if(a){this.data.push(a);this.dataHash[a.ds_RowID]=a}}d=true}}if(d){if(!c){this.disableNotifications();if(this.filterFunc){this.filter(this.filterFunc,true)}this.enableNotifications()}this.notifyObservers("onDataChanged")}};Spry.Data.DataSet.prototype.filter=function(f,c){var e=false;if(!f){if(this.filterFunc&&this.unfilteredData){this.data=this.unfilteredData;this.unfilteredData=null;this.filterFunc=null;e=true}}else{this.filterFunc=f;if(this.dataWasLoaded&&(this.unfilteredData||(this.data&&this.data.length))){if(!this.unfilteredData){this.unfilteredData=this.data}var d=this.unfilteredData;this.data=[];for(var b=0;b<d.length;b++){var a=f(this,d[b],b);if(a){this.data.push(a)}}e=true}}if(e){this.notifyObservers("onDataChanged")}};Spry.Data.DataSet.prototype.startLoadInterval=function(b){this.stopLoadInterval();if(b>0){var a=this;this.loadInterval=b;this.loadIntervalID=setInterval(function(){a.loadData()},b)}};Spry.Data.DataSet.prototype.stopLoadInterval=function(){if(this.loadIntervalID){clearInterval(this.loadIntervalID)}this.loadInterval=0;this.loadIntervalID=null};Spry.Data.DataSet.nextDataSetID=0;Spry.Data.HTTPSourceDataSet=function(a,b){Spry.Data.DataSet.call(this);this.url=a;this.dataSetsForDataRefStrings=new Array;this.hasDataRefStrings=false;this.useCache=true;this.setRequestInfo(b,true);Spry.Utils.setOptions(this,b,true);this.recalculateDataSetDependencies();if(this.loadInterval>0){this.startLoadInterval(this.loadInterval)}};Spry.Data.HTTPSourceDataSet.prototype=new Spry.Data.DataSet();Spry.Data.HTTPSourceDataSet.prototype.constructor=Spry.Data.HTTPSourceDataSet;Spry.Data.HTTPSourceDataSet.prototype.setRequestInfo=function(a,b){this.requestInfo=new Spry.Utils.loadURL.Request();this.requestInfo.extractRequestOptions(a,b);if(this.requestInfo.method=="POST"){if(!this.requestInfo.headers){this.requestInfo.headers={}}if(!this.requestInfo.headers["Content-Type"]){this.requestInfo.headers["Content-Type"]="application/x-www-form-urlencoded; charset=UTF-8"}}};Spry.Data.HTTPSourceDataSet.prototype.recalculateDataSetDependencies=function(){this.hasDataRefStrings=false;var b=0;for(b=0;b<this.dataSetsForDataRefStrings.length;b++){var d=this.dataSetsForDataRefStrings[b];if(d){d.removeObserver(this)}}this.dataSetsForDataRefStrings=new Array();var a=this.getDataRefStrings();var c=0;for(var g=0;g<a.length;g++){var e=Spry.Data.Region.getTokensFromStr(a[g]);for(b=0;e&&b<e.length;b++){if(e[b].search(/{[^}:]+::[^}]+}/)!=-1){var f=e[b].replace(/^\{|::.*\}/g,"");var d=null;if(!this.dataSetsForDataRefStrings[f]){d=Spry.Data.getDataSetByName(f);if(f&&d){this.dataSetsForDataRefStrings[f]=d;this.dataSetsForDataRefStrings[c++]=d;this.hasDataRefStrings=true}}}}}for(b=0;b<this.dataSetsForDataRefStrings.length;b++){var d=this.dataSetsForDataRefStrings[b];d.addObserver(this)}};Spry.Data.HTTPSourceDataSet.prototype.getDataRefStrings=function(){var a=[];if(this.url){a.push(this.url)}if(this.requestInfo&&this.requestInfo.postData){a.push(this.requestInfo.postData)}return a};Spry.Data.HTTPSourceDataSet.prototype.attemptLoadData=function(){for(var a=0;a<this.dataSetsForDataRefStrings.length;a++){var b=this.dataSetsForDataRefStrings[a];if(b.getLoadDataRequestIsPending()||!b.getDataWasLoaded()){return}}this.loadData()};Spry.Data.HTTPSourceDataSet.prototype.onCurrentRowChanged=function(b,a){this.attemptLoadData()};Spry.Data.HTTPSourceDataSet.prototype.onPostSort=function(b,a){this.attemptLoadData()};Spry.Data.HTTPSourceDataSet.prototype.onDataChanged=function(b,a){this.attemptLoadData()};Spry.Data.HTTPSourceDataSet.prototype.loadData=function(){if(!this.url){return}this.cancelLoadData();var c=this.url;var a=this.requestInfo.postData;if(this.hasDataRefStrings){var b=true;for(var d=0;d<this.dataSetsForDataRefStrings.length;d++){var f=this.dataSetsForDataRefStrings[d];if(f.getLoadDataRequestIsPending()){b=false}else{if(!f.getDataWasLoaded()){f.loadData();b=false}}}if(!b){return}c=Spry.Data.Region.processDataRefString(null,this.url,this.dataSetsForDataRefStrings);if(!c){return}if(a&&(typeof a)=="string"){a=Spry.Data.Region.processDataRefString(null,a,this.dataSetsForDataRefStrings)}}this.notifyObservers("onPreLoad");this.data=null;this.dataWasLoaded=false;this.unfilteredData=null;this.dataHash=null;this.curRowID=0;var e=this.requestInfo.clone();e.url=c;e.postData=a;this.pendingRequest=new Object;this.pendingRequest.data=Spry.Data.HTTPSourceDataSet.LoadManager.loadData(e,this,this.useCache)};Spry.Data.HTTPSourceDataSet.prototype.cancelLoadData=function(){if(this.pendingRequest){Spry.Data.HTTPSourceDataSet.LoadManager.cancelLoadData(this.pendingRequest.data,this);this.pendingRequest=null}};Spry.Data.HTTPSourceDataSet.prototype.getURL=function(){return this.url};Spry.Data.HTTPSourceDataSet.prototype.setURL=function(b,a){if(this.url==b){if(!a||(this.requestInfo.method==a.method&&(a.method!="POST"||this.requestInfo.postData==a.postData))){return}}this.url=b;this.setRequestInfo(a);this.cancelLoadData();this.recalculateDataSetDependencies();this.dataWasLoaded=false};Spry.Data.HTTPSourceDataSet.prototype.setDataFromDoc=function(a){this.pendingRequest=null;this.loadDataIntoDataSet(a);this.applyColumnTypes();this.disableNotifications();this.filterAndSortData();this.enableNotifications();this.notifyObservers("onPostLoad");this.notifyObservers("onDataChanged")};Spry.Data.HTTPSourceDataSet.prototype.loadDataIntoDataSet=function(a){this.dataHash=new Object;this.data=new Array;this.dataWasLoaded=true};Spry.Data.HTTPSourceDataSet.prototype.xhRequestProcessor=function(a){var b=a.responseText;if(a.status==200||a.status==0){return b}return null};Spry.Data.HTTPSourceDataSet.prototype.sessionExpiredChecker=function(a){if(a.xhRequest.responseText=="session expired"){return true}return false};Spry.Data.HTTPSourceDataSet.prototype.setSessionExpiredChecker=function(a){this.sessionExpiredChecker=a};Spry.Data.HTTPSourceDataSet.prototype.onRequestResponse=function(a,b){this.setDataFromDoc(a.rawData)};Spry.Data.HTTPSourceDataSet.prototype.onRequestError=function(a,b){this.notifyObservers("onLoadError",b)};Spry.Data.HTTPSourceDataSet.prototype.onRequestSessionExpired=function(a,b){this.notifyObservers("onSessionExpired",b)};Spry.Data.HTTPSourceDataSet.LoadManager={};Spry.Data.HTTPSourceDataSet.LoadManager.cache=[];Spry.Data.HTTPSourceDataSet.LoadManager.CachedRequest=function(a,b,c){Spry.Utils.Notifier.call(this);this.reqInfo=a;this.rawData=null;this.timer=null;this.state=Spry.Data.HTTPSourceDataSet.LoadManager.CachedRequest.NOT_LOADED;this.xhRequestProcessor=b;this.sessionExpiredChecker=c};Spry.Data.HTTPSourceDataSet.LoadManager.CachedRequest.prototype=new Spry.Utils.Notifier();Spry.Data.HTTPSourceDataSet.LoadManager.CachedRequest.prototype.constructor=Spry.Data.HTTPSourceDataSet.LoadManager.CachedRequest;Spry.Data.HTTPSourceDataSet.LoadManager.CachedRequest.NOT_LOADED=1;Spry.Data.HTTPSourceDataSet.LoadManager.CachedRequest.LOAD_REQUESTED=2;Spry.Data.HTTPSourceDataSet.LoadManager.CachedRequest.LOAD_FAILED=3;Spry.Data.HTTPSourceDataSet.LoadManager.CachedRequest.LOAD_SUCCESSFUL=4;Spry.Data.HTTPSourceDataSet.LoadManager.CachedRequest.prototype.loadDataCallback=function(a){if(a.xhRequest.readyState!=4){return}var b=null;if(this.xhRequestProcessor){b=this.xhRequestProcessor(a.xhRequest)}if(this.sessionExpiredChecker){Spry.Utils.setOptions(a,{rawData:b},false);if(this.sessionExpiredChecker(a)){this.state=Spry.Data.HTTPSourceDataSet.LoadManager.CachedRequest.LOAD_FAILED;this.notifyObservers("onRequestSessionExpired",a);this.observers.length=0;return}}if(!b){this.state=Spry.Data.HTTPSourceDataSet.LoadManager.CachedRequest.LOAD_FAILED;this.notifyObservers("onRequestError",a);this.observers.length=0;return}this.rawData=b;this.state=Spry.Data.HTTPSourceDataSet.LoadManager.CachedRequest.LOAD_SUCCESSFUL;this.notifyObservers("onRequestResponse",a);this.observers.length=0};Spry.Data.HTTPSourceDataSet.LoadManager.CachedRequest.prototype.loadData=function(){var a=this;this.cancelLoadData();this.rawData=null;this.state=Spry.Data.HTTPSourceDataSet.LoadManager.CachedRequest.LOAD_REQUESTED;var b=this.reqInfo.clone();b.successCallback=function(c){a.loadDataCallback(c)};b.errorCallback=b.successCallback;this.timer=setTimeout(function(){a.timer=null;Spry.Utils.loadURL(b.method,b.url,b.async,b.successCallback,b)},0)};Spry.Data.HTTPSourceDataSet.LoadManager.CachedRequest.prototype.cancelLoadData=function(){if(this.state==Spry.Data.HTTPSourceDataSet.LoadManager.CachedRequest.LOAD_REQUESTED){if(this.timer){this.timer.clearTimeout();this.timer=null}this.rawData=null;this.state=Spry.Data.HTTPSourceDataSet.LoadManager.CachedRequest.NOT_LOADED}};Spry.Data.HTTPSourceDataSet.LoadManager.getCacheKey=function(a){return a.method+"::"+a.url+"::"+a.postData+"::"+a.username};Spry.Data.HTTPSourceDataSet.LoadManager.loadData=function(c,d,b){if(!c){return null}var a=null;var e=null;if(b){e=Spry.Data.HTTPSourceDataSet.LoadManager.getCacheKey(c);a=Spry.Data.HTTPSourceDataSet.LoadManager.cache[e]}if(a){if(a.state==Spry.Data.HTTPSourceDataSet.LoadManager.CachedRequest.LOAD_REQUESTED){if(d){a.addObserver(d)}return a}else{if(a.state==Spry.Data.HTTPSourceDataSet.LoadManager.CachedRequest.LOAD_SUCCESSFUL){if(d){setTimeout(function(){d.setDataFromDoc(a.rawData)},0)}return a}}}if(!a){a=new Spry.Data.HTTPSourceDataSet.LoadManager.CachedRequest(c,(d?d.xhRequestProcessor:null),(d?d.sessionExpiredChecker:null));if(b){Spry.Data.HTTPSourceDataSet.LoadManager.cache[e]=a;a.addObserver({onRequestError:function(){Spry.Data.HTTPSourceDataSet.LoadManager.cache[e]=undefined}})}}if(d){a.addObserver(d)}a.loadData();return a};Spry.Data.HTTPSourceDataSet.LoadManager.cancelLoadData=function(a,b){if(a){if(b){a.removeObserver(b)}else{a.cancelLoadData()}}};Spry.Data.XMLDataSet=function(b,a,d){this.xpath=a;this.doc=null;this.subPaths=[];this.entityEncodeStrings=true;Spry.Data.HTTPSourceDataSet.call(this,b,d);var c=typeof this.subPaths;if(c=="string"||(c=="object"&&this.subPaths.constructor!=Array)){this.subPaths=[this.subPaths]}};Spry.Data.XMLDataSet.prototype=new Spry.Data.HTTPSourceDataSet();Spry.Data.XMLDataSet.prototype.constructor=Spry.Data.XMLDataSet;Spry.Data.XMLDataSet.prototype.getDataRefStrings=function(){var a=[];if(this.url){a.push(this.url)}if(this.xpath){a.push(this.xpath)}if(this.requestInfo&&this.requestInfo.postData){a.push(this.requestInfo.postData)}return a};Spry.Data.XMLDataSet.prototype.getDocument=function(){return this.doc};Spry.Data.XMLDataSet.prototype.getXPath=function(){return this.xpath};Spry.Data.XMLDataSet.prototype.setXPath=function(a){if(this.xpath!=a){this.xpath=a;if(this.dataWasLoaded&&this.doc){this.notifyObservers("onPreLoad");this.setDataFromDoc(this.doc)}}};Spry.Data.XMLDataSet.nodeContainsElementNode=function(a){if(a){a=a.firstChild;while(a){if(a.nodeType==1){return true}a=a.nextSibling}}return false};Spry.Data.XMLDataSet.getNodeText=function(d,c,b){var a="";if(!d){return}try{var g=d.firstChild;while(g){try{if(g.nodeType==3){a+=c?Spry.Utils.encodeEntities(g.data):g.data}else{if(g.nodeType==4){a+=b?Spry.Utils.encodeEntities(g.data):g.data}}}catch(f){Spry.Debug.reportError("Spry.Data.XMLDataSet.getNodeText() exception caught: "+f+"\n")}g=g.nextSibling}}catch(f){Spry.Debug.reportError("Spry.Data.XMLDataSet.getNodeText() exception caught: "+f+"\n")}return a};Spry.Data.XMLDataSet.createObjectForNode=function(c,h,k){if(!c){return null}var d=new Object();var f=0;var j=null;try{for(f=0;f<c.attributes.length;f++){j=c.attributes[f];if(j&&j.nodeType==2){d["@"+j.name]=j.value}}}catch(g){Spry.Debug.reportError("Spry.Data.XMLDataSet.createObjectForNode() caught exception while accessing attributes: "+g+"\n")}var b=c.firstChild;if(b&&!b.nextSibling&&b.nodeType!=1){d[c.nodeName]=Spry.Data.XMLDataSet.getNodeText(c,h,k)}while(b){if(b.nodeType==1){if(!Spry.Data.XMLDataSet.nodeContainsElementNode(b)){d[b.nodeName]=Spry.Data.XMLDataSet.getNodeText(b,h,k);try{var a=b.nodeName+"/@";for(f=0;f<b.attributes.length;f++){j=b.attributes[f];if(j&&j.nodeType==2){d[a+j.name]=j.value}}}catch(g){Spry.Debug.reportError("Spry.Data.XMLDataSet.createObjectForNode() caught exception while accessing attributes: "+g+"\n")}}}b=b.nextSibling}return d};Spry.Data.XMLDataSet.getRecordSetFromXMLDoc=function(q,p,l,m){if(!q||!p){return null}var n=new Object();n.xmlDoc=q;n.xmlPath=p;n.dataHash=new Object;n.data=new Array;n.getData=function(){return this.data};var o=new ExprContext(q);var b=xpathParse(p);var h=b.evaluate(o);var c=h.nodeSetValue();var a=true;if(c&&c.length>0){a=c[0].nodeType!=2}var f=0;var g=true;var k=false;if(typeof m=="boolean"){g=k=m}for(var d=0;d<c.length;d++){var j=null;if(l){j=new Object}else{if(a){j=Spry.Data.XMLDataSet.createObjectForNode(c[d],g,k)}else{j=new Object;j["@"+c[d].name]=c[d].value}}if(j){j.ds_RowID=f++;j.ds_XMLNode=c[d];n.dataHash[j.ds_RowID]=j;n.data.push(j)}}return n};Spry.Data.XMLDataSet.PathNode=function(a){this.path=a;this.subPaths=[];this.xpath=""};Spry.Data.XMLDataSet.PathNode.prototype.addSubPath=function(b){var a=this.findSubPath(b);if(!a){a=new Spry.Data.XMLDataSet.PathNode(b);this.subPaths.push(a)}return a};Spry.Data.XMLDataSet.PathNode.prototype.findSubPath=function(d){var a=this.subPaths.length;for(var c=0;c<a;c++){var b=this.subPaths[c];if(d==b.path){return b}}return null};Spry.Data.XMLDataSet.PathNode.prototype.consolidate=function(){var a=this.subPaths.length;if(!this.xpath&&a==1){var b=this.subPaths[0];this.path+=((b[0]!="/")?"/":"")+b.path;this.xpath=b.xpath;this.subPaths=b.subPaths;this.consolidate();return}for(var c=0;c<a;c++){this.subPaths[c].consolidate()}};Spry.Data.XMLDataSet.prototype.convertXPathsToPathTree=function(h){var e=h.length;var l=new Spry.Data.XMLDataSet.PathNode("");for(var g=0;g<e;g++){var k=h[g];var d=k.replace(/\/\//g,"/__SPRYDS__");d=d.replace(/^\//,"");var a=d.split(/\//);var b=a.length;var c=l;for(var f=0;f<b;f++){var m=a[f].replace(/__SPRYDS__/,"//");c=c.addSubPath(m)}c.xpath=k}l.consolidate();return l};Spry.Data.XMLDataSet.prototype.flattenSubPaths=function(s,n){if(!s||!n){return}var y=n.length;if(y<1){return}var F=s.data;var w={};var o=[];var a=[];for(var B=0;B<y;B++){var p=n[B];if(typeof p=="object"){p=p.path}if(!p){p=""}o[B]=Spry.Data.Region.processDataRefString(null,p,this.dataSetsForDataRefStrings);a[B]=o[B].replace(/\[.*\]/g,"")}var q;var m=F.length;var t=[];for(var B=0;B<m;B++){q=F[B];var D=[q];for(var A=0;A<y;A++){var E=Spry.Data.XMLDataSet.getRecordSetFromXMLDoc(q.ds_XMLNode,o[A],(n[A].xpath?false:true),this.entityEncodeStrings);if(E&&E.data&&E.data.length){if(typeof n[A]=="object"&&n[A].subPaths){var C=n[A].subPaths;spType=typeof C;if(spType=="string"){C=[C]}else{if(spType=="object"&&spType.constructor==Object){C=[C]}}this.flattenSubPaths(E,C)}var v=E.data;var e=v.length;var u=a[A]+"/";var d=D.length;var r=[];for(var z=0;z<d;z++){var g=D[z];for(var x=0;x<e;x++){var c=new Object;var b=v[x];for(f in g){c[f]=g[f]}for(var f in b){var h=u+f;if(u==(f+"/")||u.search(new RegExp("\\/"+f+"\\/$"))!=-1){h=a[A]}c[h]=b[f]}r.push(c)}}D=r}}t=t.concat(D)}F=t;m=F.length;for(B=0;B<m;B++){q=F[B];q.ds_RowID=B;w[q.ds_RowID]=q}s.data=F;s.dataHash=w};Spry.Data.XMLDataSet.prototype.loadDataIntoDataSet=function(e){var b=null;var a=Spry.Data.Region.processDataRefString(null,this.xpath,this.dataSetsForDataRefStrings);var f=this.subPaths;var g=false;if(this.subPaths&&this.subPaths.length>0){var k=[];var j=f.length;for(var d=0;d<j;d++){var h=Spry.Data.Region.processDataRefString(null,f[d],this.dataSetsForDataRefStrings);if(h.charAt(0)!="/"){h=a+"/"+h}k.push(h)}k.unshift(a);var c=this.convertXPathsToPathTree(k);a=c.path;f=c.subPaths;g=c.xpath?false:true}b=Spry.Data.XMLDataSet.getRecordSetFromXMLDoc(e,a,g,this.entityEncodeStrings);if(!b){Spry.Debug.reportError("Spry.Data.XMLDataSet.loadDataIntoDataSet() failed to create dataSet '"+this.name+"'for '"+this.xpath+"' - "+this.url+"\n");return}this.flattenSubPaths(b,f);this.doc=b.xmlDoc;this.data=b.data;this.dataHash=b.dataHash;this.dataWasLoaded=(this.doc!=null)};Spry.Data.XMLDataSet.prototype.xhRequestProcessor=function(b){var c=b.responseXML;var a=false;if(b.status!=200){if(b.status==0){if(b.responseText&&(!c||!c.firstChild)){a=true}}}else{if(!c){a=true}}if(a){c=Spry.Utils.stringToXMLDoc(b.responseText)}if(!c||!c.firstChild||c.firstChild.nodeName=="parsererror"){return null}return c};Spry.Data.XMLDataSet.prototype.sessionExpiredChecker=function(a){if(a.xhRequest.responseText=="session expired"){return true}else{if(a.rawData){var b=a.rawData.documentElement.firstChild;if(b&&b.nodeValue=="session expired"){return true}}}return false};Spry.Data.Region=function(d,a,j,h,m,b,f,l){this.regionNode=d;this.name=a;this.isDetailRegion=j;this.data=h;this.dataSets=m;this.hasBehaviorAttributes=l;this.tokens=null;this.currentState=null;this.states={ready:true};this.stateMap={};Spry.Utils.setOptions(this.states,b);Spry.Utils.setOptions(this.stateMap,f);for(var g=0;g<this.dataSets.length;g++){var c=this.dataSets[g];try{if(c){c.addObserver(this)}}catch(k){Spry.Debug.reportError("Failed to add '"+this.name+"' as a dataSet observer!\n")}}};Spry.Data.Region.hiddenRegionClassName="SpryHiddenRegion";Spry.Data.Region.evenRowClassName="even";Spry.Data.Region.oddRowClassName="odd";Spry.Data.Region.notifiers={};Spry.Data.Region.evalScripts=true;Spry.Data.Region.addObserver=function(b,a){var c=Spry.Data.Region.notifiers[b];if(!c){c=new Spry.Utils.Notifier();Spry.Data.Region.notifiers[b]=c}c.addObserver(a)};Spry.Data.Region.removeObserver=function(b,a){var c=Spry.Data.Region.notifiers[b];if(c){c.removeObserver(a)}};Spry.Data.Region.notifyObservers=function(b,d,c){var e=Spry.Data.Region.notifiers[d.name];if(e){var a={};if(c&&typeof c=="object"){a=c}else{a.data=c}a.region=d;a.regionID=d.name;a.regionNode=d.regionNode;e.notifyObservers(b,a)}};Spry.Data.Region.RS_Error=1;Spry.Data.Region.RS_LoadingData=2;Spry.Data.Region.RS_PreUpdate=4;Spry.Data.Region.RS_PostUpdate=8;Spry.Data.Region.prototype.getState=function(){return this.currentState};Spry.Data.Region.prototype.mapState=function(b,a){this.stateMap[b]=a};Spry.Data.Region.prototype.getMappedState=function(b){var a=this.stateMap[b];return a?a:b};Spry.Data.Region.prototype.setState=function(b,c){var a={state:b,mappedState:this.getMappedState(b)};if(!c){Spry.Data.Region.notifyObservers("onPreStateChange",this,a)}this.currentState=a.mappedState?a.mappedState:b;if(this.states[this.currentState]){var e={state:this.currentState};if(!c){Spry.Data.Region.notifyObservers("onPreUpdate",this,e)}var d=this.transform();if(Spry.Data.Region.debug){Spry.Debug.trace("<hr />Generated region markup for '"+this.name+"':<br /><br />"+Spry.Utils.encodeEntities(d))}Spry.Utils.setInnerHTML(this.regionNode,d,!Spry.Data.Region.evalScripts);if(this.hasBehaviorAttributes){this.attachBehaviors()}if(!c){Spry.Data.Region.notifyObservers("onPostUpdate",this,e)}}if(!c){Spry.Data.Region.notifyObservers("onPostStateChange",this,a)}};Spry.Data.Region.prototype.getDataSets=function(){return this.dataSets};Spry.Data.Region.prototype.addDataSet=function(b){if(!b){return}if(!this.dataSets){this.dataSets=new Array}for(var a=0;a<this.dataSets.length;a++){if(this.dataSets[a]==b){return}}this.dataSets.push(b);b.addObserver(this)};Spry.Data.Region.prototype.removeDataSet=function(b){if(!b||this.dataSets){return}for(var a=0;a<this.dataSets.length;a++){if(this.dataSets[a]==b){this.dataSets.splice(a,1);b.removeObserver(this);return}}};Spry.Data.Region.prototype.onPreLoad=function(a){if(this.currentState!="loading"){this.setState("loading")}};Spry.Data.Region.prototype.onLoadError=function(a){if(this.currentState!="error"){this.setState("error")}Spry.Data.Region.notifyObservers("onError",this)};Spry.Data.Region.prototype.onSessionExpired=function(a){if(this.currentState!="expired"){this.setState("expired")}Spry.Data.Region.notifyObservers("onExpired",this)};Spry.Data.Region.prototype.onCurrentRowChanged=function(a,b){if(this.isDetailRegion){this.updateContent()}};Spry.Data.Region.prototype.onPostSort=function(a,b){this.updateContent()};Spry.Data.Region.prototype.onDataChanged=function(a,b){this.updateContent()};Spry.Data.Region.enableBehaviorAttributes=true;Spry.Data.Region.behaviorAttrs={};Spry.Data.Region.behaviorAttrs["spry:select"]={attach:function(a,d,e){var c=null;var b=Spry.Utils.getAttribute(d,"spry:selectgroup");if(b!=undefined){c=b;Spry.Utils.removeAttribute(d,"spry:selectgroup")}if(!c){c="default"}Spry.Utils.addEventListener(d,"click",function(f){Spry.Utils.SelectionManager.select(c,d,e)},false);if(Spry.Utils.getAttribute(d,"spry:selected")!=undefined){Spry.Utils.removeAttribute(d,"spry:selected");Spry.Utils.SelectionManager.select(c,d,e)}Spry.Utils.removeAttribute(d,"spry:select")}};Spry.Data.Region.behaviorAttrs["spry:hover"]={attach:function(a,b,c){Spry.Utils.addEventListener(b,"mouseover",function(d){Spry.Utils.addClassName(b,c)},false);Spry.Utils.addEventListener(b,"mouseout",function(d){Spry.Utils.removeClassName(b,c)},false);Spry.Utils.removeAttribute(b,"spry:hover")}};Spry.Data.Region.setUpRowNumberForEvenOddAttr=function(d,a,e,b){if(!e){Spry.Debug.showError("The "+a+" attribute requires a CSS class name as its value!");d.attributes.removeNamedItem(a);return}var f="";var c=e.split(/\s/);if(c.length>1){f=c[0];d.setAttribute(a,c[1])}d.setAttribute(b,"{"+(f?(f+"::"):"")+"ds_RowNumber}")};Spry.Data.Region.behaviorAttrs["spry:even"]={setup:function(a,b){Spry.Data.Region.setUpRowNumberForEvenOddAttr(a,"spry:even",b,"spryevenrownumber")},attach:function(a,b,c){if(c){rowNumAttr=b.attributes.getNamedItem("spryevenrownumber");if(rowNumAttr&&rowNumAttr.value){var d=parseInt(rowNumAttr.value);if(d%2){Spry.Utils.addClassName(b,c)}}}Spry.Utils.removeAttribute(b,"spry:even");b.removeAttribute("spryevenrownumber")}};Spry.Data.Region.behaviorAttrs["spry:odd"]={setup:function(a,b){Spry.Data.Region.setUpRowNumberForEvenOddAttr(a,"spry:odd",b,"spryoddrownumber")},attach:function(a,b,c){if(c){rowNumAttr=b.attributes.getNamedItem("spryoddrownumber");if(rowNumAttr&&rowNumAttr.value){var d=parseInt(rowNumAttr.value);if(d%2==0){Spry.Utils.addClassName(b,c)}}}Spry.Utils.removeAttribute(b,"spry:odd");b.removeAttribute("spryoddrownumber")}};Spry.Data.Region.setRowAttrClickHandler=function(c,f,a,e){if(f){var d=Spry.Data.getDataSetByName(f);if(d){rowIDAttr=c.attributes.getNamedItem(a);if(rowIDAttr){var b=rowIDAttr.value;if(b){Spry.Utils.addEventListener(c,"click",function(g){d[e](b)},false)}}}}};Spry.Data.Region.behaviorAttrs["spry:setrow"]={setup:function(a,b){if(!b){Spry.Debug.reportError("The spry:setrow attribute requires a data set name as its value!");Spry.Utils.removeAttribute(a,"spry:setrow");return}a.setAttribute("spryrowid","{"+b+"::ds_RowID}")},attach:function(a,b,c){Spry.Data.Region.setRowAttrClickHandler(b,c,"spryrowid","setCurrentRow");Spry.Utils.removeAttribute(b,"spry:setrow");b.removeAttribute("spryrowid")}};Spry.Data.Region.behaviorAttrs["spry:setrownumber"]={setup:function(a,b){if(!b){Spry.Debug.reportError("The spry:setrownumber attribute requires a data set name as its value!");Spry.Utils.removeAttribute(a,"spry:setrownumber");return}a.setAttribute("spryrownumber","{"+b+"::ds_RowID}")},attach:function(a,b,c){Spry.Data.Region.setRowAttrClickHandler(b,c,"spryrownumber","setCurrentRowNumber");Spry.Utils.removeAttribute(b,"spry:setrownumber");b.removeAttribute("spryrownumber")}};Spry.Data.Region.behaviorAttrs["spry:sort"]={attach:function(a,d,f){if(!f){return}var e=a.getDataSets()[0];var c="toggle";var h=f.split(/\s/);if(h.length>1){var b=Spry.Data.getDataSetByName(h[0]);if(b){e=b;h.shift()}if(h.length>1){var g=h[h.length-1];if(g=="ascending"||g=="descending"||g=="toggle"){c=g;h.pop()}}}if(e&&h.length>0){Spry.Utils.addEventListener(d,"click",function(j){e.sort(h,c)},false)}Spry.Utils.removeAttribute(d,"spry:sort")}};Spry.Data.Region.prototype.attachBehaviors=function(){var a=this;Spry.Utils.getNodesByFunc(this.regionNode,function(f){if(!f||f.nodeType!=1){return false}try{var b=Spry.Data.Region.behaviorAttrs;for(var c in b){var h=Spry.Utils.getAttribute(f,c);if(h!=undefined){var d=b[c];if(d&&d.attach){d.attach(a,f,h)}}}}catch(g){}return false})};Spry.Data.Region.prototype.updateContent=function(){var a=true;var d=this.getDataSets();if(!d||d.length<1){Spry.Debug.reportError("updateContent(): Region '"+this.name+"' has no data set!\n");return}for(var b=0;b<d.length;b++){var c=d[b];if(c){if(c.getLoadDataRequestIsPending()){a=false}else{if(!c.getDataWasLoaded()){c.loadData();a=false}}}}if(!a){Spry.Data.Region.notifyObservers("onLoadingData",this);return}this.setState("ready")};Spry.Data.Region.prototype.clearContent=function(){this.regionNode.innerHTML=""};Spry.Data.Region.processContentPI=function(g){var f="";var d=/<!--\s*<\/?spry:content\s*[^>]*>\s*-->/mg;var a=0;var c=0;while(g.length){var b=d.exec(g);if(!b||!b[0]){f+=g.substr(a,g.length-a);break}if(!c&&b.index!=a){f+=g.substr(a,b.index-a)}if(b[0].search(/<\//)!=-1){--c;if(c){Spry.Debug.reportError("Nested spry:content regions are not allowed!\n")}}else{++c;var e=b[0].replace(/.*\bdataref="/,"");f+=e.replace(/".*$/,"")}a=d.lastIndex}return f};Spry.Data.Region.prototype.tokenizeData=function(q){if(!q){return null}var h=new Spry.Data.Region.Token(Spry.Data.Region.Token.LIST_TOKEN,null,null,null);var f=new Array;var a=Spry.Data.Region.processContentPI(q);f.push(h);var u=/((<!--\s*){0,1}<\/{0,1}spry:[^>]+>(\s*-->){0,1})|((\{|%7[bB])[^\}\s%]+(\}|%7[dD]))/mg;var b=0;while(a.length){var l=u.exec(a);var g=null;if(!l||!l[0]){var m=a.substr(b,a.length-b);g=new Spry.Data.Region.Token(Spry.Data.Region.Token.STRING_TOKEN,null,m,m);f[f.length-1].addChild(g);break}if(l.index!=b){var m=a.substr(b,l.index-b);g=new Spry.Data.Region.Token(Spry.Data.Region.Token.STRING_TOKEN,null,m,m);f[f.length-1].addChild(g)}if(l[0].search(/^({|%7[bB])/)!=-1){var k=l[0];var e=l[0];k=k.replace(/^({|%7[bB])/,"");k=k.replace(/(}|%7[dD])$/,"");var t=null;var s=k.split(/::/);if(s.length>1){t=s[0];k=s[1]}e=e.replace(/^%7[bB]/,"{");e=e.replace(/%7[dD]$/,"}");g=new Spry.Data.Region.Token(Spry.Data.Region.Token.VALUE_TOKEN,t,k,new String(e));f[f.length-1].addChild(g)}else{if(l[0].charAt(0)=="<"){var p=l[0].replace(/^(<!--\s*){0,1}<\/?/,"");p=p.replace(/>(\s*-->){0,1}|\s.*$/,"");if(l[0].search(/<\//)!=-1){if(f[f.length-1].tokenType!=Spry.Data.Region.Token.PROCESSING_INSTRUCTION_TOKEN){Spry.Debug.reportError("Invalid processing instruction close tag: "+p+" -- "+l[0]+"\n");return null}f.pop()}else{var j=Spry.Data.Region.PI.instructions[p];if(j){var o=null;var c="";if(l[0].search(/^.*\bselect=\"/)!=-1){c=l[0].replace(/^.*\bselect=\"/,"");c=c.replace(/".*$/,"");if(c){o=Spry.Data.getDataSetByName(c);if(!o){Spry.Debug.reportError("Failed to retrieve data set ("+c+") for "+p+"\n");c=""}}}var d=null;if(l[0].search(/^.*\btest=\"/)!=-1){d=l[0].replace(/^.*\btest=\"/,"");d=d.replace(/".*$/,"");d=Spry.Utils.decodeEntities(d)}var r=null;if(l[0].search(/^.*\bname=\"/)!=-1){r=l[0].replace(/^.*\bname=\"/,"");r=r.replace(/".*$/,"");r=Spry.Utils.decodeEntities(r)}var n=new Spry.Data.Region.Token.PIData(p,c,d,r);g=new Spry.Data.Region.Token(Spry.Data.Region.Token.PROCESSING_INSTRUCTION_TOKEN,o,n,new String(l[0]));f[f.length-1].addChild(g);f.push(g)}else{Spry.Debug.reportError("Unsupported region processing instruction: "+l[0]+"\n");return null}}}else{Spry.Debug.reportError("Invalid region token: "+l[0]+"\n");return null}}b=u.lastIndex}return h};Spry.Data.Region.prototype.callScriptFunction=function(d,b){var a=undefined;d=d.replace(/^\s*\{?\s*function::\s*|\s*\}?\s*$/g,"");var c=Spry.Utils.getObjectByName(d);if(c){a=c(this.name,function(){return b.getValueFromDataSet.apply(b,arguments)})}return a};Spry.Data.Region.prototype.evaluateExpression=function(exprStr,processContext){var result=undefined;try{if(exprStr.search(/^\s*function::/)!=-1){result=this.callScriptFunction(exprStr,processContext)}else{result=Spry.Utils.eval(Spry.Data.Region.processDataRefString(processContext,exprStr,null,true))}}catch(e){Spry.Debug.trace("Caught exception in Spry.Data.Region.prototype.evaluateExpression() while evaluating: "+Spry.Utils.encodeEntities(exprStr)+"\n    Exception:"+e+"\n")}return result};Spry.Data.Region.prototype.processTokenChildren=function(f,e,b){var d=e.children;var a=d.length;for(var c=0;c<a;c++){this.processTokens(f,d[c],b)}};Spry.Data.Region.prototype.processTokens=function(l,d,p){var g=0;switch(d.tokenType){case Spry.Data.Region.Token.LIST_TOKEN:this.processTokenChildren(l,d,p);break;case Spry.Data.Region.Token.STRING_TOKEN:l.push(d.data);break;case Spry.Data.Region.Token.PROCESSING_INSTRUCTION_TOKEN:if(d.data.name=="spry:repeat"){var h=null;if(d.dataSet){h=d.dataSet}else{h=this.dataSets[0]}if(h){var f=p.getDataSetContext(h);if(!f){Spry.Debug.reportError("processTokens() failed to get a data set context!\n");break}f.pushState();var n=f.getData();var m=n.length;for(g=0;g<m;g++){f.setRowIndex(g);var o=true;if(d.data.jsExpr){o=this.evaluateExpression(d.data.jsExpr,p)}if(o){this.processTokenChildren(l,d,p)}}f.popState()}}else{if(d.data.name=="spry:if"){var o=true;if(d.data.jsExpr){o=this.evaluateExpression(d.data.jsExpr,p)}if(o){this.processTokenChildren(l,d,p)}}else{if(d.data.name=="spry:choose"){var a=null;var k=null;var o=false;var e=0;for(e=0;e<d.children.length;e++){var b=d.children[e];if(b.tokenType==Spry.Data.Region.Token.PROCESSING_INSTRUCTION_TOKEN){if(b.data.name=="spry:when"){if(b.data.jsExpr){o=this.evaluateExpression(b.data.jsExpr,p);if(o){k=b;break}}}else{if(b.data.name=="spry:default"){a=b}}}}if(!k&&a){k=a}if(k){this.processTokenChildren(l,k,p)}}else{if(d.data.name=="spry:state"){var o=true;if(!d.data.regionState||d.data.regionState==this.currentState){this.processTokenChildren(l,d,p)}}else{Spry.Debug.reportError("processTokens(): Unknown processing instruction: "+d.data.name+"\n");return""}}}}break;case Spry.Data.Region.Token.VALUE_TOKEN:var h=d.dataSet;var c=undefined;if(h&&h=="function"){c=this.callScriptFunction(d.data,p)}else{if(!h&&this.dataSets&&this.dataSets.length>0&&this.dataSets[0]){h=this.dataSets[0]}if(!h){Spry.Debug.reportError("processTokens(): Value reference has no data set specified: "+d.regionStr+"\n");return""}c=p.getValueFromDataSet(h,d.data)}if(typeof c!="undefined"){l.push(c+"")}break;default:Spry.Debug.reportError("processTokens(): Invalid token type: "+d.regionStr+"\n");break}};Spry.Data.Region.prototype.transform=function(){if(this.data&&!this.tokens){this.tokens=this.tokenizeData(this.data)}if(!this.tokens){return""}processContext=new Spry.Data.Region.ProcessingContext(this);if(!processContext){return""}var a=[""];this.processTokens(a,this.tokens,processContext);return a.join("")};Spry.Data.Region.PI={};Spry.Data.Region.PI.instructions={};Spry.Data.Region.PI.buildOpenTagForValueAttr=function(d,b,c){if(!d||!b){return""}var g="";try{var a=Spry.Utils.getAttribute(d,b);if(a){g=Spry.Utils.encodeEntities(a)}}catch(f){g=""}if(!g){Spry.Debug.reportError(b+" attribute requires a JavaScript expression that returns true or false!\n");return""}return"<"+Spry.Data.Region.PI.instructions[b].tagName+" "+c+'="'+g+'">'};Spry.Data.Region.PI.buildOpenTagForTest=function(b,a){return Spry.Data.Region.PI.buildOpenTagForValueAttr(b,a,"test")};Spry.Data.Region.PI.buildOpenTagForState=function(b,a){return Spry.Data.Region.PI.buildOpenTagForValueAttr(b,a,"name")};Spry.Data.Region.PI.buildOpenTagForRepeat=function(e,c){if(!e||!c){return""}var b=Spry.Utils.getAttribute(e,c);if(b){b=b.replace(/\s/g,"")}else{Spry.Debug.reportError(c+" attribute requires a data set name!\n");return""}var d="";var a=Spry.Utils.getAttribute(e,"spry:test");if(a!=undefined){if(a){d=' test="'+Spry.Utils.encodeEntities(a)+'"'}Spry.Utils.removeAttribute(e,"spry:test")}return"<"+Spry.Data.Region.PI.instructions[c].tagName+' select="'+b+'"'+d+">"};Spry.Data.Region.PI.buildOpenTagForContent=function(c,b){if(!c||!b){return""}var f="";try{var a=Spry.Utils.getAttribute(c,b);if(a){f=Spry.Utils.encodeEntities(a)}}catch(d){f=""}if(!f){Spry.Debug.reportError(b+" attribute requires a data reference!\n");return""}return"<"+Spry.Data.Region.PI.instructions[b].tagName+' dataref="'+f+'">'};Spry.Data.Region.PI.buildOpenTag=function(b,a){return"<"+Spry.Data.Region.PI.instructions[a].tagName+">"};Spry.Data.Region.PI.buildCloseTag=function(b,a){return"</"+Spry.Data.Region.PI.instructions[a].tagName+">"};Spry.Data.Region.PI.instructions["spry:state"]={tagName:"spry:state",childrenOnly:false,getOpenTag:Spry.Data.Region.PI.buildOpenTagForState,getCloseTag:Spry.Data.Region.PI.buildCloseTag};Spry.Data.Region.PI.instructions["spry:if"]={tagName:"spry:if",childrenOnly:false,getOpenTag:Spry.Data.Region.PI.buildOpenTagForTest,getCloseTag:Spry.Data.Region.PI.buildCloseTag};Spry.Data.Region.PI.instructions["spry:repeat"]={tagName:"spry:repeat",childrenOnly:false,getOpenTag:Spry.Data.Region.PI.buildOpenTagForRepeat,getCloseTag:Spry.Data.Region.PI.buildCloseTag};Spry.Data.Region.PI.instructions["spry:repeatchildren"]={tagName:"spry:repeat",childrenOnly:true,getOpenTag:Spry.Data.Region.PI.buildOpenTagForRepeat,getCloseTag:Spry.Data.Region.PI.buildCloseTag};Spry.Data.Region.PI.instructions["spry:choose"]={tagName:"spry:choose",childrenOnly:true,getOpenTag:Spry.Data.Region.PI.buildOpenTag,getCloseTag:Spry.Data.Region.PI.buildCloseTag};Spry.Data.Region.PI.instructions["spry:when"]={tagName:"spry:when",childrenOnly:false,getOpenTag:Spry.Data.Region.PI.buildOpenTagForTest,getCloseTag:Spry.Data.Region.PI.buildCloseTag};Spry.Data.Region.PI.instructions["spry:default"]={tagName:"spry:default",childrenOnly:false,getOpenTag:Spry.Data.Region.PI.buildOpenTag,getCloseTag:Spry.Data.Region.PI.buildCloseTag};Spry.Data.Region.PI.instructions["spry:content"]={tagName:"spry:content",childrenOnly:true,getOpenTag:Spry.Data.Region.PI.buildOpenTagForContent,getCloseTag:Spry.Data.Region.PI.buildCloseTag};Spry.Data.Region.PI.orderedInstructions=["spry:state","spry:if","spry:repeat","spry:repeatchildren","spry:choose","spry:when","spry:default","spry:content"];Spry.Data.Region.getTokensFromStr=function(a){if(!a){return null}return a.match(/{[^}]+}/g)};Spry.Data.Region.processDataRefString=function(k,l,g,a){if(!l){return""}if(!k&&!g){return l}var h="";var n=new RegExp("\\{([^\\}:]+::)?[^\\}]+\\}","g");var j=0;while(j<l.length){var f=n.exec(l);if(!f||!f[0]){h+=l.substr(j,l.length-j);return h}if(f.index!=j){h+=l.substr(j,f.index-j)}var b="";if(f[0].search(/^\{[^}:]+::/)!=-1){b=f[0].replace(/^\{|::.*/g,"")}var m=f[0].replace(/^\{|.*::|\}/g,"");var o=null;var e="";if(k){e=k.getValueFromDataSet(b,m)}else{var d=b?g[b]:g[0];if(d){e=d.getValue(m)}}if(typeof e!="undefined"){e+="";h+=a?Spry.Utils.escapeQuotesAndLineBreaks(e):e}if(j==n.lastIndex){var c=f.index+f[0].length;if(c<l.length){h+=l.substr(c)}break}j=n.lastIndex}return h};Spry.Data.Region.strToDataSetsArray=function(j,f){var h=new Array;var b={};if(!j){return h}j=j.replace(/\s+/g," ");j=j.replace(/^\s|\s$/g,"");var a=j.split(/ /);for(var d=0;d<a.length;d++){if(a[d]&&!Spry.Data.Region.PI.instructions[a[d]]){try{var c=Spry.Data.getDataSetByName(a[d]);if(!b[a[d]]){if(f){h.push(a[d])}else{h.push(c)}b[a[d]]=true}}catch(g){}}}return h};Spry.Data.Region.DSContext=function(c,f){var d=c;var a=f;var g=[{rowIndex:-1}];var b=null;var e=[];var h=function(){return g[g.length-1].rowIndex};this.resetAll=function(){g=[{rowIndex:d.getCurrentRow()}]};this.getDataSet=function(){return d};this.getNumRows=function(j){var k=this.getCurrentState().data;return k?k.length:d.getRowCount(j)};this.getData=function(){var j=this.getCurrentState().data;return j?j:d.getData()};this.setData=function(j){this.getCurrentState().data=j};this.getValue=function(n,k){var j="";var m=this.getCurrentState();var l=m.nestedDS?m.nestedDS:this.getDataSet();if(l){j=l.getValue(n,k)}return j};this.getCurrentRow=function(){if(g.length<2||h()<0){return d.getCurrentRow()}var k=this.getData();var j=h();if(j<0||j>k.length){Spry.Debug.reportError("Invalid index used in Spry.Data.Region.DSContext.getCurrentRow()!\n");return null}return k[j]};this.getRowIndex=function(){var j=h();if(j>=0){return j}return d.getRowNumber(d.getCurrentRow())};this.setRowIndex=function(m){this.getCurrentState().rowIndex=m;var k=this.getData();var l=e.length;for(var j=0;j<l;j++){e[j].syncDataWithParentRow(this,m,k)}};this.syncDataWithParentRow=function(m,p,j){var o=j[p];if(o){nestedDS=d.getNestedDataSetForParentRow(o);if(nestedDS){var l=this.getCurrentState();l.nestedDS=nestedDS;l.data=nestedDS.getData();l.rowIndex=nestedDS.getCurrentRowNumber();l.rowIndex=l.rowIndex<0?0:l.rowIndex;var n=e.length;for(var k=0;k<n;k++){e[k].syncDataWithParentRow(this,l.rowIndex,l.data)}}}};this.pushState=function(){var m=this.getCurrentState();var l=new Object;l.rowIndex=m.rowIndex;l.data=m.data;l.nestedDS=m.nestedDS;g.push(l);var k=e.length;for(var j=0;j<k;j++){e[j].pushState()}};this.popState=function(){if(g.length<2){Spry.Debug.reportError("Stack underflow in Spry.Data.Region.DSContext.popState()!\n");return}var k=e.length;for(var j=0;j<k;j++){e[j].popState()}g.pop()};this.getCurrentState=function(){return g[g.length-1]};this.addChild=function(l){var k=e.length;for(var j=0;j<k;j++){if(e[j]==l){return}}e.push(l)}};Spry.Data.Region.ProcessingContext=function(f){this.region=f;this.dataSetContexts=[];if(f&&f.dataSets){var g=f.dataSets.slice(0);var e=g.length;for(var d=0;d<e;d++){var b=f.dataSets[d];while(b&&b.getParentDataSet){var k=false;b=b.getParentDataSet();if(b&&this.indexOf(g,b)==-1){g.push(b)}}}for(d=0;d<g.length;d++){this.dataSetContexts.push(new Spry.Data.Region.DSContext(g[d],this))}var l=this.dataSetContexts;var h=l.length;for(d=0;d<h;d++){var c=l[d];var b=c.getDataSet();if(b.getParentDataSet){var j=b.getParentDataSet();if(j){var a=this.getDataSetContext(j);if(a){a.addChild(c)}}}}}};Spry.Data.Region.ProcessingContext.prototype.indexOf=function(a,d){if(a){var b=a.length;for(var c=0;c<b;c++){if(a[c]==d){return c}}}return -1};Spry.Data.Region.ProcessingContext.prototype.getDataSetContext=function(b){if(!b){if(this.dataSetContexts.length>0){return this.dataSetContexts[0]}return null}if(typeof b=="string"){b=Spry.Data.getDataSetByName(b);if(!b){return null}}for(var a=0;a<this.dataSetContexts.length;a++){var c=this.dataSetContexts[a];if(c.getDataSet()==b){return c}}return null};Spry.Data.Region.ProcessingContext.prototype.getValueFromDataSet=function(){var e="";var d="";if(arguments.length>1){e=arguments[0];d=arguments[1]}else{var c=arguments[0].replace(/\s*{\s*|\s*}\s*/g,"");if(c.search("::")!=-1){e=c.replace(/::.*/,"");d=c.replace(/.*::/,"")}else{d=c}}var b="";var a=this.getDataSetContext(e);if(a){b=a.getValue(d,a.getCurrentRow())}else{Spry.Debug.reportError("getValueFromDataSet: Failed to get "+e+" context for the "+this.region.regionNode.id+" region.\n")}return b};Spry.Data.Region.ProcessingContext.prototype.$v=Spry.Data.Region.ProcessingContext.prototype.getValueFromDataSet;Spry.Data.Region.ProcessingContext.prototype.getCurrentRowForDataSet=function(a){var b=this.getDataSetContext(a);if(b){return b.getCurrentRow()}return null};Spry.Data.Region.Token=function(e,b,d,c){var a=this;this.tokenType=e;this.dataSet=b;this.data=d;this.regionStr=c;this.parent=null;this.children=null};Spry.Data.Region.Token.prototype.addChild=function(a){if(!a){return}if(!this.children){this.children=new Array}this.children.push(a);a.parent=this};Spry.Data.Region.Token.LIST_TOKEN=0;Spry.Data.Region.Token.STRING_TOKEN=1;Spry.Data.Region.Token.PROCESSING_INSTRUCTION_TOKEN=2;Spry.Data.Region.Token.VALUE_TOKEN=3;Spry.Data.Region.Token.PIData=function(b,c,d,e){var a=this;this.name=b;this.data=c;this.jsExpr=d;this.regionState=e};Spry.Utils.addLoadListener(function(){setTimeout(function(){if(Spry.Data.initRegionsOnLoad){Spry.Data.initRegions()}},0)});var Spry;if(!Spry){Spry={}}if(!Spry.Widget){Spry.Widget={}}Spry.Widget.CollapsiblePanel=function(a,b){this.element=this.getElement(a);this.focusElement=null;this.hoverClass="CollapsiblePanelTabHover";this.openClass="CollapsiblePanelOpen";this.closedClass="CollapsiblePanelClosed";this.focusedClass="CollapsiblePanelFocused";this.enableAnimation=true;this.enableKeyboardNavigation=true;this.animator=null;this.hasFocus=false;this.contentIsOpen=true;this.openPanelKeyCode=Spry.Widget.CollapsiblePanel.KEY_DOWN;this.closePanelKeyCode=Spry.Widget.CollapsiblePanel.KEY_UP;Spry.Widget.CollapsiblePanel.setOptions(this,b);this.attachBehaviors()};Spry.Widget.CollapsiblePanel.prototype.getElement=function(a){if(a&&typeof a=="string"){return document.getElementById(a)}return a};Spry.Widget.CollapsiblePanel.prototype.addClassName=function(b,a){if(!b||!a||(b.className&&b.className.search(new RegExp("\\b"+a+"\\b"))!=-1)){return}b.className+=(b.className?" ":"")+a};Spry.Widget.CollapsiblePanel.prototype.removeClassName=function(b,a){if(!b||!a||(b.className&&b.className.search(new RegExp("\\b"+a+"\\b"))==-1)){return}b.className=b.className.replace(new RegExp("\\s*\\b"+a+"\\b","g"),"")};Spry.Widget.CollapsiblePanel.prototype.hasClassName=function(b,a){if(!b||!a||!b.className||b.className.search(new RegExp("\\b"+a+"\\b"))==-1){return false}return true};Spry.Widget.CollapsiblePanel.prototype.setDisplay=function(a,b){if(a){a.style.display=b}};Spry.Widget.CollapsiblePanel.setOptions=function(d,c,a){if(!c){return}for(var b in c){if(a&&c[b]==undefined){continue}d[b]=c[b]}};Spry.Widget.CollapsiblePanel.prototype.onTabMouseOver=function(a){this.addClassName(this.getTab(),this.hoverClass);return false};Spry.Widget.CollapsiblePanel.prototype.onTabMouseOut=function(a){this.removeClassName(this.getTab(),this.hoverClass);return false};Spry.Widget.CollapsiblePanel.prototype.open=function(){this.contentIsOpen=true;if(this.enableAnimation){if(this.animator){this.animator.stop()}this.animator=new Spry.Widget.CollapsiblePanel.PanelAnimator(this,true,{duration:this.duration,fps:this.fps,transition:this.transition});this.animator.start()}else{this.setDisplay(this.getContent(),"block")}this.removeClassName(this.element,this.closedClass);this.addClassName(this.element,this.openClass)};Spry.Widget.CollapsiblePanel.prototype.close=function(){this.contentIsOpen=false;if(this.enableAnimation){if(this.animator){this.animator.stop()}this.animator=new Spry.Widget.CollapsiblePanel.PanelAnimator(this,false,{duration:this.duration,fps:this.fps,transition:this.transition});this.animator.start()}else{this.setDisplay(this.getContent(),"none")}this.removeClassName(this.element,this.openClass);this.addClassName(this.element,this.closedClass)};Spry.Widget.CollapsiblePanel.prototype.onTabClick=function(a){if(this.isOpen()){this.close()}else{this.open()}this.focus();return this.stopPropagation(a)};Spry.Widget.CollapsiblePanel.prototype.onFocus=function(a){this.hasFocus=true;this.addClassName(this.element,this.focusedClass);return false};Spry.Widget.CollapsiblePanel.prototype.onBlur=function(a){this.hasFocus=false;this.removeClassName(this.element,this.focusedClass);return false};Spry.Widget.CollapsiblePanel.KEY_UP=38;Spry.Widget.CollapsiblePanel.KEY_DOWN=40;Spry.Widget.CollapsiblePanel.prototype.onKeyDown=function(b){var a=b.keyCode;if(!this.hasFocus||(a!=this.openPanelKeyCode&&a!=this.closePanelKeyCode)){return true}if(this.isOpen()&&a==this.closePanelKeyCode){this.close()}else{if(a==this.openPanelKeyCode){this.open()}}return this.stopPropagation(b)};Spry.Widget.CollapsiblePanel.prototype.stopPropagation=function(a){if(a.preventDefault){a.preventDefault()}else{a.returnValue=false}if(a.stopPropagation){a.stopPropagation()}else{a.cancelBubble=true}return false};Spry.Widget.CollapsiblePanel.prototype.attachPanelHandlers=function(){var c=this.getTab();if(!c){return}var b=this;Spry.Widget.CollapsiblePanel.addEventListener(c,"click",function(f){return b.onTabClick(f)},false);Spry.Widget.CollapsiblePanel.addEventListener(c,"mouseover",function(f){return b.onTabMouseOver(f)},false);Spry.Widget.CollapsiblePanel.addEventListener(c,"mouseout",function(f){return b.onTabMouseOut(f)},false);if(this.enableKeyboardNavigation){var d=null;var a=null;this.preorderTraversal(c,function(e){if(e.nodeType==1){var f=c.attributes.getNamedItem("tabindex");if(f){d=e;return true}if(!a&&e.nodeName.toLowerCase()=="a"){a=e}}return false});if(d){this.focusElement=d}else{if(a){this.focusElement=a}}if(this.focusElement){Spry.Widget.CollapsiblePanel.addEventListener(this.focusElement,"focus",function(f){return b.onFocus(f)},false);Spry.Widget.CollapsiblePanel.addEventListener(this.focusElement,"blur",function(f){return b.onBlur(f)},false);Spry.Widget.CollapsiblePanel.addEventListener(this.focusElement,"keydown",function(f){return b.onKeyDown(f)},false)}}};Spry.Widget.CollapsiblePanel.addEventListener=function(c,b,d,a){try{if(c.addEventListener){c.addEventListener(b,d,a)}else{if(c.attachEvent){c.attachEvent("on"+b,d)}}}catch(f){}};Spry.Widget.CollapsiblePanel.prototype.preorderTraversal=function(a,b){var d=false;if(a){d=b(a);if(a.hasChildNodes()){var f=a.firstChild;while(!d&&f){d=this.preorderTraversal(f,b);try{f=f.nextSibling}catch(c){f=null}}}}return d};Spry.Widget.CollapsiblePanel.prototype.attachBehaviors=function(){var a=this.element;var b=this.getTab();var c=this.getContent();if(this.contentIsOpen||this.hasClassName(a,this.openClass)){this.addClassName(a,this.openClass);this.removeClassName(a,this.closedClass);this.setDisplay(c,"block");this.contentIsOpen=true}else{this.removeClassName(a,this.openClass);this.addClassName(a,this.closedClass);this.setDisplay(c,"none");this.contentIsOpen=false}this.attachPanelHandlers()};Spry.Widget.CollapsiblePanel.prototype.getTab=function(){return this.getElementChildren(this.element)[0]};Spry.Widget.CollapsiblePanel.prototype.getContent=function(){return this.getElementChildren(this.element)[1]};Spry.Widget.CollapsiblePanel.prototype.isOpen=function(){return this.contentIsOpen};Spry.Widget.CollapsiblePanel.prototype.getElementChildren=function(b){var a=[];var c=b.firstChild;while(c){if(c.nodeType==1){a.push(c)}c=c.nextSibling}return a};Spry.Widget.CollapsiblePanel.prototype.focus=function(){if(this.focusElement&&this.focusElement.focus){this.focusElement.focus()}};Spry.Widget.CollapsiblePanel.PanelAnimator=function(a,d,b){this.timer=null;this.interval=0;this.fps=60;this.duration=500;this.startTime=0;this.transition=Spry.Widget.CollapsiblePanel.PanelAnimator.defaultTransition;this.onComplete=null;this.panel=a;this.content=a.getContent();this.doOpen=d;Spry.Widget.CollapsiblePanel.setOptions(this,b,true);this.interval=Math.floor(1000/this.fps);var f=this.content;var e=f.offsetHeight?f.offsetHeight:0;this.fromHeight=(d&&f.style.display=="none")?0:e;if(!d){this.toHeight=0}else{if(f.style.display=="none"){f.style.visibility="hidden";f.style.display="block"}f.style.height="";this.toHeight=f.offsetHeight}this.distance=this.toHeight-this.fromHeight;this.overflow=f.style.overflow;f.style.height=this.fromHeight+"px";f.style.visibility="visible";f.style.overflow="hidden";f.style.display="block"};Spry.Widget.CollapsiblePanel.PanelAnimator.defaultTransition=function(d,b,a,c){d/=c;return b+((2-d)*d*a)};Spry.Widget.CollapsiblePanel.PanelAnimator.prototype.start=function(){var a=this;this.startTime=(new Date).getTime();this.timer=setTimeout(function(){a.stepAnimation()},this.interval)};Spry.Widget.CollapsiblePanel.PanelAnimator.prototype.stop=function(){if(this.timer){clearTimeout(this.timer);this.content.style.overflow=this.overflow}this.timer=null};Spry.Widget.CollapsiblePanel.PanelAnimator.prototype.stepAnimation=function(){var d=(new Date).getTime();var b=d-this.startTime;if(b>=this.duration){if(!this.doOpen){this.content.style.display="none"}this.content.style.overflow=this.overflow;this.content.style.height=this.toHeight+"px";if(this.onComplete){this.onComplete()}return}var c=this.transition(b,this.fromHeight,this.distance,this.duration);this.content.style.height=((c<0)?0:c)+"px";var a=this;this.timer=setTimeout(function(){a.stepAnimation()},this.interval)};Spry.Widget.CollapsiblePanelGroup=function(a,b){this.element=this.getElement(a);this.opts=b;this.attachBehaviors()};Spry.Widget.CollapsiblePanelGroup.prototype.setOptions=Spry.Widget.CollapsiblePanel.prototype.setOptions;Spry.Widget.CollapsiblePanelGroup.prototype.getElement=Spry.Widget.CollapsiblePanel.prototype.getElement;Spry.Widget.CollapsiblePanelGroup.prototype.getElementChildren=Spry.Widget.CollapsiblePanel.prototype.getElementChildren;Spry.Widget.CollapsiblePanelGroup.prototype.setElementWidget=function(a,b){if(!a||!b){return}if(!a.spry){a.spry=new Object}a.spry.collapsiblePanel=b};Spry.Widget.CollapsiblePanelGroup.prototype.getElementWidget=function(a){return(a&&a.spry&&a.spry.collapsiblePanel)?a.spry.collapsiblePanel:null};Spry.Widget.CollapsiblePanelGroup.prototype.getPanels=function(){if(!this.element){return[]}return this.getElementChildren(this.element)};Spry.Widget.CollapsiblePanelGroup.prototype.getPanel=function(a){return this.getPanels()[a]};Spry.Widget.CollapsiblePanelGroup.prototype.attachBehaviors=function(){if(!this.element){return}var d=this.getPanels();var c=d.length;for(var b=0;b<c;b++){var a=d[b];this.setElementWidget(a,new Spry.Widget.CollapsiblePanel(a,this.opts))}};Spry.Widget.CollapsiblePanelGroup.prototype.openPanel=function(b){var a=this.getElementWidget(this.getPanel(b));if(a&&!a.isOpen()){a.open()}};Spry.Widget.CollapsiblePanelGroup.prototype.closePanel=function(b){var a=this.getElementWidget(this.getPanel(b));if(a&&a.isOpen()){a.close()}};Spry.Widget.CollapsiblePanelGroup.prototype.openAllPanels=function(){var d=this.getPanels();var c=d.length;for(var b=0;b<c;b++){var a=this.getElementWidget(d[b]);if(a&&!a.isOpen()){a.open()}}};Spry.Widget.CollapsiblePanelGroup.prototype.closeAllPanels=function(){var d=this.getPanels();var c=d.length;for(var b=0;b<c;b++){var a=this.getElementWidget(d[b]);if(a&&a.isOpen()){a.close()}}};Spry.Data.HTMLDataSet=function(a,b,c){this.sourceElementID=b;this.sourceElement=null;this.sourceWasInitialized=false;this.usesExternalFile=(a!=null)?true:false;this.firstRowAsHeaders=true;this.useColumnsAsRows=false;this.columnNames=null;this.hideDataSourceElement=true;this.rowSelector=null;this.dataSelector=null;this.removeUnbalancedRows=true;this.tableModeEnabled=true;Spry.Data.HTTPSourceDataSet.call(this,a,c)};Spry.Data.HTMLDataSet.prototype=new Spry.Data.HTTPSourceDataSet();Spry.Data.HTMLDataSet.prototype.constructor=Spry.Data.HTMLDataSet;Spry.Data.HTMLDataSet.prototype.getDataRefStrings=function(){var a=[];if(this.url){a.push(this.url)}if(typeof this.sourceElementID=="string"){a.push(this.sourceElementID)}return a};Spry.Data.HTMLDataSet.prototype.setDisplay=function(a,b){if(a){a.style.display=b}};Spry.Data.HTMLDataSet.prototype.initDataSource=function(a){if(!this.loadDependentDataSets()){return}if(!this.usesExternalFile){this.setSourceElement();if(this.hideDataSourceElement){this.setDisplay(this.sourceElement,"none")}}};Spry.Data.HTMLDataSet.prototype.setSourceElement=function(d){this.sourceElement=null;if(!this.sourceElementID){if(d){this.sourceElement=d}else{this.hideDataSourceElement=false;this.sourceElement=document.body}return}var c=Spry.Data.Region.processDataRefString(null,this.sourceElementID,this.dataSetsForDataRefStrings);if(!this.usesExternalFile){this.sourceElement=Spry.$(c)}else{if(d){var b=false;var a=Spry.Utils.getNodesByFunc(d,function(e){if(b){return false}if(e.nodeType!=1){return false}if(e.id&&e.id.toLowerCase()==c.toLowerCase()){b=true;return true}});this.sourceElement=a[0]}}if(!this.sourceElement){Spry.Debug.reportError("Spry.Data.HTMLDataSet: '"+c+"' is not a valid element ID")}};Spry.Data.HTMLDataSet.prototype.getSourceElement=function(){return this.sourceElement};Spry.Data.HTMLDataSet.prototype.getSourceElementID=function(){return this.sourceElementID};Spry.Data.HTMLDataSet.prototype.setSourceElementID=function(a){if(this.sourceElementID!=a){this.sourceElementID=a;this.recalculateDataSetDependencies();this.dataWasLoaded=false}};Spry.Data.HTMLDataSet.prototype.getDataSelector=function(){return this.dataSelector};Spry.Data.HTMLDataSet.prototype.setDataSelector=function(a){if(this.dataSelector!=a){this.dataSelector=a;this.dataWasLoaded=false}};Spry.Data.HTMLDataSet.prototype.getRowSelector=function(){return this.rowSelector};Spry.Data.HTMLDataSet.prototype.setRowSelector=function(a){if(this.rowSelector!=a){this.rowSelector=a;this.dataWasLoaded=false}};Spry.Data.HTMLDataSet.prototype.loadDataIntoDataSet=function(b){var c=b;c=Spry.Data.HTMLDataSet.cleanupSource(c);var d=document.createElement("div");d.id="htmlsource"+this.internalID;d.innerHTML=c;this.setSourceElement(d);if(this.sourceElement){var a=this.getDataFromSourceElement();if(a){this.dataHash=a.dataHash;this.data=a.data}}this.dataWasLoaded=true;d=null};Spry.Data.HTMLDataSet.prototype.loadDependentDataSets=function(){if(this.hasDataRefStrings){var a=true;for(var b=0;b<this.dataSetsForDataRefStrings.length;b++){var c=this.dataSetsForDataRefStrings[b];if(c.getLoadDataRequestIsPending()){a=false}else{if(!c.getDataWasLoaded()){c.loadData();a=false}}}if(!a){return false}}return true};Spry.Data.HTMLDataSet.prototype.loadData=function(){this.cancelLoadData();this.initDataSource();var b=this;if(!this.usesExternalFile){this.notifyObservers("onPreLoad");this.dataHash=new Object;this.data=new Array;this.dataWasLoaded=false;this.unfilteredData=null;this.curRowID=0;this.pendingRequest=new Object;this.pendingRequest.timer=setTimeout(function(){b.pendingRequest=null;var e=b.getDataFromSourceElement();if(e){b.dataHash=e.dataHash;b.data=e.data}b.dataWasLoaded=true;b.disableNotifications();b.filterAndSortData();b.enableNotifications();b.notifyObservers("onPostLoad");b.notifyObservers("onDataChanged")},0)}else{var c=Spry.Data.Region.processDataRefString(null,this.url,this.dataSetsForDataRefStrings);var a=this.requestInfo.postData;if(a&&(typeof a)=="string"){a=Spry.Data.Region.processDataRefString(null,a,this.dataSetsForDataRefStrings)}this.notifyObservers("onPreLoad");this.dataHash=new Object;this.data=new Array;this.dataWasLoaded=false;this.unfilteredData=null;this.curRowID=0;var d=this.requestInfo.clone();d.url=c;d.postData=a;this.pendingRequest=new Object;this.pendingRequest.data=Spry.Data.HTTPSourceDataSet.LoadManager.loadData(d,this,this.useCache)}};Spry.Data.HTMLDataSet.cleanupSource=function(a){a=a.replace(/<(img|script|link|frame|iframe|input)([^>]+)>/gi,function(e,d,f){return"<"+d+f.replace(/\b(src|href)\s*=/gi,function(g,c){return"spry_"+c+"="})+">"});return a};Spry.Data.HTMLDataSet.undoCleanupSource=function(a){a=a.replace(/<(img|script|link|frame|iframe|input)([^>]+)>/gi,function(e,d,f){return"<"+d+f.replace(/\bspry_(src|href)\s*=/gi,function(g,c){return c+"="})+">"});return a};Spry.Data.HTMLDataSet.normalizeColumnName=function(a){if(a){a=a.replace(/(?:^[\s\t]+|[\s\t]+$)/gi,"");a=a.replace(/<\/?([a-z]+)([^>]+)>/gi,"");a=a.replace(/[\s\t]+/gi,"_")}return a};Spry.Data.HTMLDataSet.prototype.getDataFromSourceElement=function(){if(!this.sourceElement){return null}var h;var q=(this.tableModeEnabled&&this.sourceElement.nodeName.toLowerCase()=="table");if(q){h=this.getDataFromHTMLTable()}else{h=this.getDataFromNestedStructure()}if(!h){return null}if(this.useColumnsAsRows){var l=new Array;for(var b=0;b<h.length;b++){var r=h[b];for(var g=0;g<r.length;g++){if(!l[g]){l[g]=new Array}l[g][b]=r[g]}}h=l}var c=new Object();c.dataHash=new Object;c.data=new Array;if(h.length==0){return c}var p=0;for(var f=0;f<h.length;f++){var k=h[f].length;if(p<k){p=k}}var o=new Array;var m=h[0];for(var g=0;g<p;g++){if(q&&this.firstRowAsHeaders){o[g]=Spry.Data.HTMLDataSet.normalizeColumnName(m[g])}if(!o[g]){o[g]="column"+g}}if(this.columnNames&&this.columnNames.length){var d=(p<this.columnNames.length)?p:this.columnNames.length;for(var f=0;f<d;f++){if(this.columnNames[f]){o[f]=this.columnNames[f]}}}var j=0;var e=(q&&this.firstRowAsHeaders)?1:0;for(var b=e;b<h.length;b++){var r=h[b];if(this.removeUnbalancedRows&&o.length!=r.length){continue}var n={};for(var g=0;g<o.length;g++){var a=r[g];n[o[g]]=(typeof a=="undefined")?"":a}n.ds_RowID=j++;c.dataHash[n.ds_RowID]=n;c.data.push(n)}return c};Spry.Data.HTMLDataSet.getElementChildren=function(b){var a=[];var c=b.firstChild;while(c){if(c.nodeType==1){a.push(c)}c=c.nextSibling}return a};Spry.Data.HTMLDataSet.prototype.getDataFromHTMLTable=function(){var b=this.sourceElement.tHead;var k=this.sourceElement.tBodies[0];var o=[];var r=[];if(b){o=Spry.Data.HTMLDataSet.getElementChildren(b)}if(k){r=Spry.Data.HTMLDataSet.getElementChildren(k)}var t=new Array;var p=o.concat(r);if(this.rowSelector){p=Spry.Data.HTMLDataSet.applySelector(p,this.rowSelector)}for(var d=0;d<p.length;d++){var n=p[d];var q;if(t[d]){q=t[d]}else{q=new Array}var l=0;var h=n.cells;if(this.dataSelector){h=Spry.Data.HTMLDataSet.applySelector(h,this.dataSelector)}for(var a=0;a<h.length;a++){var c=h[a];var m=a+l;while(q[m]){l++;m++}var u=Spry.Data.HTMLDataSet.undoCleanupSource(c.innerHTML);q[m]=u;var f=c.colSpan;if(f==0){f=1}var v=l;for(var s=1;s<f;s++){l++;m=a+l;q[m]=u}var w=c.rowSpan;if(w==0){w=1}for(var e=1;e<w;e++){nextRowIndex=d+e;var g;if(t[nextRowIndex]){g=t[nextRowIndex]}else{g=new Array}var j=v;for(var s=0;s<f;s++){m=a+j;g[m]=u;j++}t[nextRowIndex]=g}}t[d]=q}return t};Spry.Data.HTMLDataSet.prototype.getDataFromNestedStructure=function(){var c=new Array;if(this.sourceElementID&&!this.rowSelector&&!this.dataSelector){c[0]=[Spry.Data.HTMLDataSet.undoCleanupSource(this.sourceElement.innerHTML)];return c}var a=this;var f=[];if(!this.rowSelector){f=[this.sourceElement]}else{f=Spry.Utils.getNodesByFunc(this.sourceElement,function(h){return Spry.Data.HTMLDataSet.evalSelector(h,a.sourceElement,a.rowSelector)})}for(var e=0;e<f.length;e++){var g=f[e];var b=[];if(!this.dataSelector){b=[g]}else{b=Spry.Utils.getNodesByFunc(g,function(h){return Spry.Data.HTMLDataSet.evalSelector(h,g,a.dataSelector)})}c[e]=new Array;for(var d=0;d<b.length;d++){c[e][d]=Spry.Data.HTMLDataSet.undoCleanupSource(b[d].innerHTML)}}return c};Spry.Data.HTMLDataSet.applySelector=function(f,b,c){var d=[];for(var a=0;a<f.length;a++){var e=f[a];if(Spry.Data.HTMLDataSet.evalSelector(e,c?c:e.parentNode,b)){d.push(e)}}return d};Spry.Data.HTMLDataSet.evalSelector=function(d,j,e){if(d.nodeType!=1){return false}if(d==j){return false}var l=e.split(",");for(var k=0;k<l.length;k++){var a=l[k].replace(/^\s+/,"").replace(/\s+$/,"");var c=null;var h=null;var b=null;var g=true;if(a.substring(0,1)==">"){if(d.parentNode!=j){g=false}else{a=a.substring(1).replace(/^\s+/,"")}}if(g){c=a.toLowerCase();if(a.indexOf(".")!=-1){var f=a.split(".");c=f[0];h=f[1]}else{if(a.indexOf("#")!=-1){var f=a.split("#");c=f[0];b=f[1]}}}if(g&&c!=""&&c!="*"){if(d.nodeName.toLowerCase()!=c){g=false}}if(g&&b&&d.id!=b){g=false}if(g&&h&&d.className.search(new RegExp("\\b"+h+"\\b","i"))==-1){g=false}if(g){return true}}return false};var Spry;if(!Spry){Spry={}}if(!Spry.Widget){Spry.Widget={}}Spry.Widget.BrowserSniff=function(){var j=navigator.appName.toString();var e=navigator.platform.toString();var c=navigator.userAgent.toString();this.mozilla=this.ie=this.opera=this.safari=false;var g=/Opera.([0-9\.]*)/i;var d=/MSIE.([0-9\.]*)/i;var f=/gecko/i;var h=/(applewebkit|safari)\/([\d\.]*)/i;var a=false;if((a=c.match(g))){this.opera=true;this.version=parseFloat(a[1])}else{if((a=c.match(d))){this.ie=true;this.version=parseFloat(a[1])}else{if((a=c.match(h))){this.safari=true;this.version=parseFloat(a[2])}else{if(c.match(f)){var k=/rv:\s*([0-9\.]+)/i;a=c.match(k);this.mozilla=true;this.version=parseFloat(a[1])}}}}this.windows=this.mac=this.linux=false;this.Platform=c.match(/windows/i)?"windows":(c.match(/linux/i)?"linux":(c.match(/mac/i)?"mac":c.match(/unix/i)?"unix":"unknown"));this[this.Platform]=true;this.v=this.version;if(this.safari&&this.mac&&this.mozilla){this.mozilla=false}};Spry.is=new Spry.Widget.BrowserSniff();Spry.Widget.ValidationTextField=function(b,c,a){c=Spry.Widget.Utils.firstValid(c,"none");if(typeof c!="string"){this.showError("The second parameter in the constructor should be the validation type, the options are the third parameter.");return}if(typeof Spry.Widget.ValidationTextField.ValidationDescriptors[c]=="undefined"){this.showError("Unknown validation type received as the second parameter.");return}a=Spry.Widget.Utils.firstValid(a,{});this.type=c;if(!this.isBrowserSupported()){a.useCharacterMasking=false}this.init(b,a);var d=["submit"].concat(Spry.Widget.Utils.firstValid(this.options.validateOn,[]));d=d.join(",");this.validateOn=0;this.validateOn=this.validateOn|(d.indexOf("submit")!=-1?Spry.Widget.ValidationTextField.ONSUBMIT:0);this.validateOn=this.validateOn|(d.indexOf("blur")!=-1?Spry.Widget.ValidationTextField.ONBLUR:0);this.validateOn=this.validateOn|(d.indexOf("change")!=-1?Spry.Widget.ValidationTextField.ONCHANGE:0);if(Spry.Widget.ValidationTextField.onloadDidFire){this.attachBehaviors()}else{Spry.Widget.ValidationTextField.loadQueue.push(this)}};Spry.Widget.ValidationTextField.ONCHANGE=1;Spry.Widget.ValidationTextField.ONBLUR=2;Spry.Widget.ValidationTextField.ONSUBMIT=4;Spry.Widget.ValidationTextField.ERROR_REQUIRED=1;Spry.Widget.ValidationTextField.ERROR_FORMAT=2;Spry.Widget.ValidationTextField.ERROR_RANGE_MIN=4;Spry.Widget.ValidationTextField.ERROR_RANGE_MAX=8;Spry.Widget.ValidationTextField.ERROR_CHARS_MIN=16;Spry.Widget.ValidationTextField.ERROR_CHARS_MAX=32;Spry.Widget.ValidationTextField.ValidationDescriptors={none:{},custom:{},integer:{characterMasking:/[\-\+\d]/,regExpFilter:/^[\-\+]?\d*$/,validation:function(d,c){if(d==""||d=="-"||d=="+"){return false}var b=/^[\-\+]?\d*$/;if(!b.test(d)){return false}c=c||{allowNegative:false};var a=parseInt(d,10);if(!isNaN(a)){var e=true;if(typeof c.allowNegative!="undefined"&&c.allowNegative==false){e=false}if(!e&&d<0){a=false}}else{a=false}return a}},real:{characterMasking:/[\d\.,\-\+e]/i,regExpFilter:/^[\-\+]?\d(?:|\.,\d{0,2})|(?:|e{0,1}[\-\+]?\d{0,})$/i,validation:function(d,c){var b=/^[\+\-]?[0-9]+([\.,][0-9]+)?([eE]{0,1}[\-\+]?[0-9]+)?$/;if(!b.test(d)){return false}var a=parseFloat(d);if(isNaN(a)){a=false}return a}},currency:{formats:{dot_comma:{characterMasking:/[\d\.\,\-\+\$]/,regExpFilter:/^[\-\+]?(?:[\d\.]*)+(|\,\d{0,2})$/,validation:function(c,b){var a=false;if(/^(\-|\+)?\d{1,3}(?:\.\d{3})*(?:\,\d{2}|)$/.test(c)||/^(\-|\+)?\d+(?:\,\d{2}|)$/.test(c)){c=c.toString().replace(/\./gi,"").replace(/\,/,".");a=parseFloat(c)}return a}},comma_dot:{characterMasking:/[\d\.\,\-\+\$]/,regExpFilter:/^[\-\+]?(?:[\d\,]*)+(|\.\d{0,2})$/,validation:function(c,b){var a=false;if(/^(\-|\+)?\d{1,3}(?:\,\d{3})*(?:\.\d{2}|)$/.test(c)||/^(\-|\+)?\d+(?:\.\d{2}|)$/.test(c)){c=c.toString().replace(/\,/gi,"");a=parseFloat(c)}return a}}}},email:{characterMasking:/[^\s]/,validation:function(b,a){var c=/^[\w\.-]+@[\w\.-]+\.\w+$/i;return c.test(b)}},date:{validation:function(k,o){var j=/^([mdy]+)[\.\-\/\\\s]+([mdy]+)[\.\-\/\\\s]+([mdy]+)$/i;var f=this.dateValidationPattern;var a=o.format.match(j);var l=k.match(f);if(a!==null&&l!==null){var b=-1;var e=-1;var c=-1;for(var g=1;g<a.length;g++){switch(a[g].toLowerCase()){case"dd":b=g;break;case"mm":e=g;break;case"yy":case"yyyy":c=g;break}}if(b!=-1&&e!=-1&&c!=-1){var h=-1;var n=parseInt(l[b],10);var m=parseInt(l[e],10);var d=parseInt(l[c],10);if(m<1||m>12){return false}switch(m){case 1:case 3:case 5:case 7:case 8:case 10:case 12:h=31;break;case 4:case 6:case 9:case 11:h=30;break;case 2:if((parseInt(d/4,10)*4==d)&&(d%100!=0||d%400==0)){h=29}else{h=28}break}if(n<1||n>h){return false}return(new Date(d,m-1,n))}}else{return false}}},time:{validation:function(m,q){var g=/([hmst]+)/gi;var e=/(\d+|AM?|PM?)/gi;var a=q.format.match(g);var p=m.match(e);if(a!==null&&p!==null){if(a.length!=p.length){return false}var n=-1;var d=-1;var b=-1;var o=-1;var l=0,k=0,j=0,h="AM";for(var f=0;f<a.length;f++){switch(a[f].toLowerCase()){case"hh":n=f;break;case"mm":d=f;break;case"ss":b=f;break;case"t":case"tt":o=f;break}}if(n!=-1){var l=parseInt(p[n],10);if(isNaN(l)||l>(a[n]=="HH"?23:12)){return false}}if(d!=-1){var k=parseInt(p[d],10);if(isNaN(k)||k>59){return false}}if(b!=-1){var j=parseInt(p[b],10);if(isNaN(j)||j>59){return false}}if(o!=-1){var h=p[o].toUpperCase();if(a[o].toUpperCase()=="TT"&&!/^a|pm$/i.test(h)||a[o].toUpperCase()=="T"&&!/^a|p$/i.test(h)){return false}}var c=new Date(2000,0,1,l+(h.charAt(0)=="P"?12:0),k,j);return c}else{return false}}},credit_card:{characterMasking:/\d/,validation:function(g,c){var b=null;c.format=c.format||"ALL";switch(c.format.toUpperCase()){case"ALL":b=/^[3-6]{1}[0-9]{12,18}$/;break;case"VISA":b=/^4(?:[0-9]{12}|[0-9]{15})$/;break;case"MASTERCARD":b=/^5[1-5]{1}[0-9]{14}$/;break;case"AMEX":b=/^3(4|7){1}[0-9]{13}$/;break;case"DISCOVER":b=/^6011[0-9]{12}$/;break;case"DINERSCLUB":b=/^3(?:(0[0-5]{1}[0-9]{11})|(6[0-9]{12})|(8[0-9]{12}))$/;break}if(!b.test(g)){return false}var f=[];var a=1,h="";for(var d=g.length-1;d>=0;d--){if((a%2)==0){h=parseInt(g.charAt(d),10)*2;f[f.length]=h.toString().charAt(0);if(h.toString().length==2){f[f.length]=h.toString().charAt(1)}}else{h=g.charAt(d);f[f.length]=h}a++}var e=0;for(d=0;d<f.length;d++){e+=parseInt(f[d],10)}if((e%10)==0){return true}return false}},zip_code:{formats:{zip_us9:{pattern:"00000-0000"},zip_us5:{pattern:"00000"},zip_uk:{characterMasking:/[\dA-Z\s]/,validation:function(b,a){return/^[A-Z]{1,2}\d[\dA-Z]?\s?\d[A-Z]{2}$/.test(b)}},zip_canada:{characterMasking:/[\dA-Z\s]/,pattern:"A0A 0A0"},zip_custom:{}}},phone_number:{formats:{phone_us:{pattern:"(000) 000-0000"},phone_custom:{}}},social_security_number:{pattern:"000-00-0000"},ip:{characterMaskingFormats:{ipv4:/[\d\.]/i,ipv6_ipv4:/[\d\.\:A-F\/]/i,ipv6:/[\d\.\:A-F\/]/i},validation:function(b,a){return Spry.Widget.ValidationTextField.validateIP(b,a.format)}},url:{characterMasking:/[^\s]/,validation:function(g,k){var b=/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;var c=g.match(b);if(c&&c[4]){var j=c[4].split(".");var h="";for(var d=0;d<j.length;d++){h=Spry.Widget.Utils.punycode_encode(j[d],64);if(!h){return false}else{if(h!=(j[d]+"-")){j[d]="xn--"+h}}}j=j.join(".");g=g.replace(b,"$1//"+j+"$5$6$8")}var e=/^(?:https?|ftp)\:\/\/(?:(?:[a-z0-9\-\._~\!\$\&\'\(\)\*\+\,\;\=:]|%[0-9a-f]{2,2})*\@)?(?:((?:(?:[a-z0-9][a-z0-9\-]*[a-z0-9]|[a-z0-9])\.)*(?:[a-z][a-z0-9\-]*[a-z0-9]|[a-z])|(?:\[[^\]]*\]))(?:\:[0-9]*)?)(?:\/(?:[a-z0-9\-\._~\!\$\&\'\(\)\*\+\,\;\=\:\@]|%[0-9a-f]{2,2})*)*(?:\?(?:[a-z0-9\-\._~\!\$\&\'\(\)\*\+\,\;\=\:\@\/\?]|%[0-9a-f]{2,2})*)?(?:\#(?:[a-z0-9\-\._~\!\$\&\'\(\)\*\+\,\;\=\:\@\/\?]|%[0-9a-f]{2,2})*)?$/i;var a=g.match(e);if(a){var f=a[1];if(f){if(f=="[]"){return false}if(f.charAt(0)=="["){f=f.replace(/^\[|\]$/gi,"");return Spry.Widget.ValidationTextField.validateIP(f,"ipv6_ipv4")}else{if(/[^0-9\.]/.test(f)){return true}else{return Spry.Widget.ValidationTextField.validateIP(f,"ipv4")}}}else{return true}}else{return false}}}};Spry.Widget.ValidationTextField.validateIP=function(k,j){var n=[/^(?:[a-f0-9]{1,4}:){7}[a-f0-9]{1,4}(?:\/\d{1,3})?$/i,/^[a-f0-9]{0,4}::(?:\/\d{1,3})?$/i,/^:(?::[a-f0-9]{1,4}){1,6}(?:\/\d{1,3})?$/i,/^(?:[a-f0-9]{1,4}:){1,6}:(?:\/\d{1,3})?$/i,/^(?:[a-f0-9]{1,4}:)(?::[a-f0-9]{1,4}){1,6}(?:\/\d{1,3})?$/i,/^(?:[a-f0-9]{1,4}:){2}(?::[a-f0-9]{1,4}){1,5}(?:\/\d{1,3})?$/i,/^(?:[a-f0-9]{1,4}:){3}(?::[a-f0-9]{1,4}){1,4}(?:\/\d{1,3})?$/i,/^(?:[a-f0-9]{1,4}:){4}(?::[a-f0-9]{1,4}){1,3}(?:\/\d{1,3})?$/i,/^(?:[a-f0-9]{1,4}:){5}(?::[a-f0-9]{1,4}){1,2}(?:\/\d{1,3})?$/i,/^(?:[a-f0-9]{1,4}:){6}(?::[a-f0-9]{1,4})(?:\/\d{1,3})?$/i,/^(?:[a-f0-9]{1,4}:){6}(?:\d{1,3}\.){3}\d{1,3}(?:\/\d{1,3})?$/i,/^:(?::[a-f0-9]{1,4}){0,4}:(?:\d{1,3}\.){3}\d{1,3}(?:\/\d{1,3})?$/i,/^(?:[a-f0-9]{1,4}:){1,5}:(?:\d{1,3}\.){3}\d{1,3}(?:\/\d{1,3})?$/i,/^(?:[a-f0-9]{1,4}:)(?::[a-f0-9]{1,4}){1,4}:(?:\d{1,3}\.){3}\d{1,3}(?:\/\d{1,3})?$/i,/^(?:[a-f0-9]{1,4}:){2}(?::[a-f0-9]{1,4}){1,3}:(?:\d{1,3}\.){3}\d{1,3}(?:\/\d{1,3})?$/i,/^(?:[a-f0-9]{1,4}:){3}(?::[a-f0-9]{1,4}){1,2}:(?:\d{1,3}\.){3}\d{1,3}(?:\/\d{1,3})?$/i,/^(?:[a-f0-9]{1,4}:){4}(?::[a-f0-9]{1,4}):(?:\d{1,3}\.){3}\d{1,3}(?:\/\d{1,3})?$/i];var a=[/^(\d{1,3}\.){3}\d{1,3}$/i];var f=[];if(j=="ipv6"||j=="ipv6_ipv4"){f=f.concat(n)}if(j=="ipv4"||j=="ipv6_ipv4"){f=f.concat(a)}var e=false;for(var c=0;c<f.length;c++){if(f[c].test(k)){e=true;break}}if(e&&k.indexOf(".")!=-1){var g=k.match(/:?(?:\d{1,3}\.){3}\d{1,3}/i);if(!g){return false}g=g[0].replace(/^:/,"");var b=g.split(".");if(b.length!=4){return false}var h=/^[\-\+]?\d*$/;for(var c=0;c<b.length;c++){if(b[c]==""){return false}var m=parseInt(b[c],10);if(isNaN(m)||m>255||!h.test(b[c])||b[c].length>3||/^0{2,3}$/.test(b[c])){return false}}}if(e&&k.indexOf("/")!=-1){var l=k.match(/\/\d{1,3}$/);if(!l){return false}var d=parseInt(l[0].replace(/^\//,""),10);if(isNaN(d)||d>128||d<1){return false}}return e};Spry.Widget.ValidationTextField.onloadDidFire=false;Spry.Widget.ValidationTextField.loadQueue=[];Spry.Widget.ValidationTextField.prototype.isBrowserSupported=function(){return Spry.is.ie&&Spry.is.v>=5&&Spry.is.windows||Spry.is.mozilla&&Spry.is.v>=1.4||Spry.is.safari||Spry.is.opera&&Spry.is.v>=9};Spry.Widget.ValidationTextField.prototype.init=function(element,options){this.element=this.getElement(element);this.errors=0;this.flags={locked:false,restoreSelection:true};this.options={};this.event_handlers=[];this.validClass="textfieldValidState";this.focusClass="textfieldFocusState";this.requiredClass="textfieldRequiredState";this.hintClass="textfieldHintState";this.invalidFormatClass="textfieldInvalidFormatState";this.invalidRangeMinClass="textfieldMinValueState";this.invalidRangeMaxClass="textfieldMaxValueState";this.invalidCharsMinClass="textfieldMinCharsState";this.invalidCharsMaxClass="textfieldMaxCharsState";this.textfieldFlashTextClass="textfieldFlashText";if(Spry.is.safari){this.flags.lastKeyPressedTimeStamp=0}switch(this.type){case"phone_number":options.format=Spry.Widget.Utils.firstValid(options.format,"phone_us");break;case"currency":options.format=Spry.Widget.Utils.firstValid(options.format,"comma_dot");break;case"zip_code":options.format=Spry.Widget.Utils.firstValid(options.format,"zip_us5");break;case"date":options.format=Spry.Widget.Utils.firstValid(options.format,"mm/dd/yy");break;case"time":options.format=Spry.Widget.Utils.firstValid(options.format,"HH:mm");options.pattern=options.format.replace(/[hms]/gi,"0").replace(/TT/gi,"AM").replace(/T/gi,"A");break;case"ip":options.format=Spry.Widget.Utils.firstValid(options.format,"ipv4");options.characterMasking=Spry.Widget.ValidationTextField.ValidationDescriptors[this.type].characterMaskingFormats[options.format];break}var validationDescriptor={};if(options.format&&Spry.Widget.ValidationTextField.ValidationDescriptors[this.type].formats){if(Spry.Widget.ValidationTextField.ValidationDescriptors[this.type].formats[options.format]){Spry.Widget.Utils.setOptions(validationDescriptor,Spry.Widget.ValidationTextField.ValidationDescriptors[this.type].formats[options.format])}}else{Spry.Widget.Utils.setOptions(validationDescriptor,Spry.Widget.ValidationTextField.ValidationDescriptors[this.type])}options.useCharacterMasking=Spry.Widget.Utils.firstValid(options.useCharacterMasking,false);options.hint=Spry.Widget.Utils.firstValid(options.hint,"");options.isRequired=Spry.Widget.Utils.firstValid(options.isRequired,true);options.additionalError=Spry.Widget.Utils.firstValid(options.additionalError,false);if(options.additionalError){options.additionalError=this.getElement(options.additionalError)}options.characterMasking=Spry.Widget.Utils.firstValid(options.characterMasking,validationDescriptor.characterMasking);options.regExpFilter=Spry.Widget.Utils.firstValid(options.regExpFilter,validationDescriptor.regExpFilter);options.pattern=Spry.Widget.Utils.firstValid(options.pattern,validationDescriptor.pattern);options.validation=Spry.Widget.Utils.firstValid(options.validation,validationDescriptor.validation);if(typeof options.validation=="string"){options.validation=eval(options.validation)}options.minValue=Spry.Widget.Utils.firstValid(options.minValue,validationDescriptor.minValue);options.maxValue=Spry.Widget.Utils.firstValid(options.maxValue,validationDescriptor.maxValue);options.minChars=Spry.Widget.Utils.firstValid(options.minChars,validationDescriptor.minChars);options.maxChars=Spry.Widget.Utils.firstValid(options.maxChars,validationDescriptor.maxChars);Spry.Widget.Utils.setOptions(this,options);Spry.Widget.Utils.setOptions(this.options,options)};Spry.Widget.ValidationTextField.prototype.destroy=function(){if(this.event_handlers){for(var b=0;b<this.event_handlers.length;b++){Spry.Widget.Utils.removeEventListener(this.event_handlers[b][0],this.event_handlers[b][1],this.event_handlers[b][2],false)}}try{delete this.element}catch(c){}try{delete this.input}catch(c){}try{delete this.form}catch(c){}try{delete this.event_handlers}catch(c){}try{this.selection.destroy()}catch(c){}try{delete this.selection}catch(c){}var d=Spry.Widget.Form.onSubmitWidgetQueue;var a=d.length;for(var b=0;b<a;b++){if(d[b]==this){d.splice(b,1);break}}};Spry.Widget.ValidationTextField.prototype.attachBehaviors=function(){if(this.element){if(this.element.nodeName=="INPUT"){this.input=this.element}else{this.input=Spry.Widget.Utils.getFirstChildWithNodeNameAtAnyLevel(this.element,"INPUT")}}if(this.input){if(this.maxChars){this.input.removeAttribute("maxLength")}this.putHint();this.compilePattern();if(this.type=="date"){this.compileDatePattern()}this.input.setAttribute("AutoComplete","off");this.selection=new Spry.Widget.SelectionDescriptor(this.input);this.oldValue=this.input.value;var a=this;this.event_handlers=[];this.event_handlers.push([this.input,"keydown",function(d){if(a.isDisabled()){return true}return a.onKeyDown(d||event)}]);this.event_handlers.push([this.input,"keypress",function(d){if(a.isDisabled()){return true}return a.onKeyPress(d||event)}]);if(Spry.is.opera){this.event_handlers.push([this.input,"keyup",function(d){if(a.isDisabled()){return true}return a.onKeyUp(d||event)}])}this.event_handlers.push([this.input,"focus",function(d){if(a.isDisabled()){return true}return a.onFocus(d||event)}]);this.event_handlers.push([this.input,"blur",function(d){if(a.isDisabled()){return true}return a.onBlur(d||event)}]);this.event_handlers.push([this.input,"mousedown",function(d){if(a.isDisabled()){return true}return a.onMouseDown(d||event)}]);var c=Spry.is.mozilla||Spry.is.opera||Spry.is.safari?"input":Spry.is.ie?"propertychange":"change";this.event_handlers.push([this.input,c,function(d){if(a.isDisabled()){return true}return a.onChange(d||event)}]);if(Spry.is.mozilla||Spry.is.safari){this.event_handlers.push([this.input,"dragdrop",function(d){if(a.isDisabled()){return true}a.removeHint();return a.onChange(d||event)}])}else{if(Spry.is.ie){this.event_handlers.push([this.input,"drop",function(d){if(a.isDisabled()){return true}return a.onDrop(d||event)}])}}for(var b=0;b<this.event_handlers.length;b++){Spry.Widget.Utils.addEventListener(this.event_handlers[b][0],this.event_handlers[b][1],this.event_handlers[b][2],false)}this.form=Spry.Widget.Utils.getFirstParentWithNodeName(this.input,"FORM");if(this.form){if(!this.form.attachedSubmitHandler&&!this.form.onsubmit){this.form.onsubmit=function(d){d=d||event;return Spry.Widget.Form.onSubmit(d,d.srcElement||d.currentTarget)};this.form.attachedSubmitHandler=true}if(!this.form.attachedResetHandler){Spry.Widget.Utils.addEventListener(this.form,"reset",function(d){d=d||event;return Spry.Widget.Form.onReset(d,d.srcElement||d.currentTarget)},false);this.form.attachedResetHandler=true}Spry.Widget.Form.onSubmitWidgetQueue.push(this)}}};Spry.Widget.ValidationTextField.prototype.isDisabled=function(){return this.input&&(this.input.disabled||this.input.readOnly)||!this.input};Spry.Widget.ValidationTextField.prototype.getElement=function(a){if(a&&typeof a=="string"){return document.getElementById(a)}return a};Spry.Widget.ValidationTextField.addLoadListener=function(a){if(typeof window.addEventListener!="undefined"){window.addEventListener("load",a,false)}else{if(typeof document.addEventListener!="undefined"){document.addEventListener("load",a,false)}else{if(typeof window.attachEvent!="undefined"){window.attachEvent("onload",a)}}}};Spry.Widget.ValidationTextField.processLoadQueue=function(c){Spry.Widget.ValidationTextField.onloadDidFire=true;var d=Spry.Widget.ValidationTextField.loadQueue;var a=d.length;for(var b=0;b<a;b++){d[b].attachBehaviors()}};Spry.Widget.ValidationTextField.addLoadListener(Spry.Widget.ValidationTextField.processLoadQueue);Spry.Widget.ValidationTextField.addLoadListener(function(){Spry.Widget.Utils.addEventListener(window,"unload",Spry.Widget.Form.destroyAll,false)});Spry.Widget.ValidationTextField.prototype.setValue=function(a){this.flags.locked=true;this.input.value=a;this.flags.locked=false;this.oldValue=a;if(!Spry.is.ie){this.onChange()}};Spry.Widget.ValidationTextField.prototype.saveState=function(){this.oldValue=this.input.value;this.selection.update()};Spry.Widget.ValidationTextField.prototype.revertState=function(a){if(a!=this.input.value){this.input.readOnly=true;this.input.value=a;this.input.readOnly=false;if(Spry.is.safari&&this.flags.active){this.input.focus()}}if(this.flags.restoreSelection){this.selection.moveTo(this.selection.start,this.selection.end)}this.redTextFlash()};Spry.Widget.ValidationTextField.prototype.removeHint=function(){if(this.flags.hintOn){this.input.value="";this.flags.hintOn=false;this.removeClassName(this.element,this.hintClass);this.removeClassName(this.additionalError,this.hintClass)}};Spry.Widget.ValidationTextField.prototype.putHint=function(){if(this.hint&&this.input&&this.input.type=="text"&&this.input.value==""){this.flags.hintOn=true;this.input.value=this.hint;this.addClassName(this.element,this.hintClass);this.addClassName(this.additionalError,this.hintClass)}};Spry.Widget.ValidationTextField.prototype.redTextFlash=function(){var a=this;this.addClassName(this.element,this.textfieldFlashTextClass);setTimeout(function(){a.removeClassName(a.element,a.textfieldFlashTextClass)},100)};Spry.Widget.ValidationTextField.prototype.doValidations=function(g,f){if(this.isDisabled()){return false}if(this.flags.locked){return false}if(g.length==0&&!this.isRequired){this.errors=0;return false}this.flags.locked=true;var c=false;var m=true;if(!this.options.isRequired&&g.length==0){m=false}var l=0;var j=g;if(this.useCharacterMasking&&this.characterMasking){for(var d=0;d<g.length;d++){if(!this.characterMasking.test(g.charAt(d))){l=l|Spry.Widget.ValidationTextField.ERROR_FORMAT;j=f;c=true;break}}}if(!c&&this.useCharacterMasking&&this.regExpFilter){if(!this.regExpFilter.test(j)){l=l|Spry.Widget.ValidationTextField.ERROR_FORMAT;c=true}}if(!c&&this.pattern){var b=this.patternToRegExp(g.length);if(!b.test(g)){l=l|Spry.Widget.ValidationTextField.ERROR_FORMAT;c=true}else{if(this.patternLength!=g.length){l=l|Spry.Widget.ValidationTextField.ERROR_FORMAT}}}if(j==""){l=l|Spry.Widget.ValidationTextField.ERROR_REQUIRED}if(!c&&this.pattern&&this.useCharacterMasking){var a=this.getAutoComplete(g.length);if(a){j+=a}}if(!c&&this.minChars!==null&&m){if(g.length<this.minChars){l=l|Spry.Widget.ValidationTextField.ERROR_CHARS_MIN;m=false}}if(!c&&this.maxChars!==null&&m){if(g.length>this.maxChars){l=l|Spry.Widget.ValidationTextField.ERROR_CHARS_MAX;m=false}}if(!c&&this.validation&&m){var k=this.validation(j,this.options);if(false===k){l=l|Spry.Widget.ValidationTextField.ERROR_FORMAT;m=false}else{this.typedValue=k}}if(!c&&this.validation&&this.minValue!==null&&m){var h=this.validation(this.minValue.toString(),this.options);if(h!==false){if(this.typedValue<h){l=l|Spry.Widget.ValidationTextField.ERROR_RANGE_MIN;m=false}}}if(!c&&this.validation&&this.maxValue!==null&&m){var e=this.validation(this.maxValue.toString(),this.options);if(e!==false){if(this.typedValue>e){l=l|Spry.Widget.ValidationTextField.ERROR_RANGE_MAX;m=false}}}if(this.useCharacterMasking&&c){this.revertState(f)}this.errors=l;this.fixedValue=j;this.flags.locked=false;return c};Spry.Widget.ValidationTextField.prototype.onChange=function(c){if(Spry.is.opera&&this.flags.operaRevertOnKeyUp){return true}if(Spry.is.ie&&c&&c.propertyName!="value"){return true}if(this.flags.drop){var a=this;setTimeout(function(){a.flags.drop=false;a.onChange(null)},0);return}if(this.flags.hintOn){return true}if(this.keyCode==8||this.keyCode==46){var b=this.doValidations(this.input.value,this.input.value);this.oldValue=this.input.value;if((b||this.errors)&&this.validateOn&Spry.Widget.ValidationTextField.ONCHANGE){var a=this;setTimeout(function(){a.validate()},0);return true}}var b=this.doValidations(this.input.value,this.oldValue);if((!b||this.errors)&&this.validateOn&Spry.Widget.ValidationTextField.ONCHANGE){var a=this;setTimeout(function(){a.validate()},0)}return true};Spry.Widget.ValidationTextField.prototype.onKeyUp=function(a){if(this.flags.operaRevertOnKeyUp){this.setValue(this.oldValue);Spry.Widget.Utils.stopEvent(a);this.selection.moveTo(this.selection.start,this.selection.start);this.flags.operaRevertOnKeyUp=false;return false}if(this.flags.operaPasteOperation){window.clearInterval(this.flags.operaPasteOperation);this.flags.operaPasteOperation=null}};Spry.Widget.ValidationTextField.prototype.operaPasteMonitor=function(){if(this.input.value!=this.oldValue){var a=this.doValidations(this.input.value,this.input.value);if(a){this.setValue(this.oldValue);this.selection.moveTo(this.selection.start,this.selection.start)}else{this.onChange()}}};Spry.Widget.ValidationTextField.prototype.compileDatePattern=function(){var d="";var f=[];var b=[];var e=[];var a=/^([mdy]+)([\.\-\/\\\s]+)([mdy]+)([\.\-\/\\\s]+)([mdy]+)$/i;var g=this.options.format.match(a);if(g!==null){for(var c=1;c<g.length;c++){switch(g[c].toLowerCase()){case"dd":f[c-1]="\\d{1,2}";b[c-1]="\\d\\d";d+="("+f[c-1]+")";e[c-1]=null;break;case"mm":f[c-1]="\\d{1,2}";b[c-1]="\\d\\d";d+="("+f[c-1]+")";e[c-1]=null;break;case"yy":f[c-1]="\\d{1,2}";b[c-1]="\\d\\d";d+="(\\d\\d)";e[c-1]=null;break;case"yyyy":f[c-1]="\\d{1,4}";b[c-1]="\\d\\d\\d\\d";d+="(\\d\\d\\d\\d)";e[c-1]=null;break;default:f[c-1]=b[c-1]=Spry.Widget.ValidationTextField.regExpFromChars(g[c]);d+="["+f[c-1]+"]";e[c-1]=g[c]}}}this.dateValidationPattern=new RegExp("^"+d+"$","");this.dateAutocompleteCharacters=e;this.dateGroupPatterns=f;this.dateFullGroupPatterns=b;this.lastDateGroup=g.length-2};Spry.Widget.ValidationTextField.prototype.getRegExpForGroup=function(c){var b="^";for(var a=0;a<=c;a++){b+=this.dateGroupPatterns[a]}b+="$";return new RegExp(b,"")};Spry.Widget.ValidationTextField.prototype.getRegExpForFullGroup=function(c){var b="^";for(var a=0;a<c;a++){b+=this.dateGroupPatterns[a]}b+=this.dateFullGroupPatterns[c];return new RegExp(b,"")};Spry.Widget.ValidationTextField.prototype.getDateGroup=function(c,d){if(d==0){return 0}var a=c.substring(0,d);for(var b=0;b<=this.lastDateGroup;b++){if(this.getRegExpForGroup(b).test(a)){return b}}return -1};Spry.Widget.ValidationTextField.prototype.isDateGroupFull=function(a,b){return this.getRegExpForFullGroup(b).test(a)};Spry.Widget.ValidationTextField.prototype.isValueValid=function(b,d,c){var a=b.substring(0,d);return this.getRegExpForGroup(c).test(a)};Spry.Widget.ValidationTextField.prototype.isPositionAtEndOfGroup=function(b,d,c){var a=b.substring(0,d);return this.getRegExpForFullGroup(c).test(a)};Spry.Widget.ValidationTextField.prototype.nextDateDelimiterExists=function(c,e,d){var b=this.dateAutocompleteCharacters[d+1];if(c.length<e+b.length){return false}else{var a=c.substring(e,e+b.length);if(a==b){return true}}return false};Spry.Widget.ValidationTextField.prototype.onKeyPress=function(f){if(this.flags.skp){this.flags.skp=false;Spry.Widget.Utils.stopEvent(f);return false}if(f.ctrlKey||f.metaKey||!this.useCharacterMasking){return true}if(Spry.is.opera&&this.flags.operaRevertOnKeyUp){Spry.Widget.Utils.stopEvent(f);return false}if(this.keyCode==8||this.keyCode==46){var b=this.doValidations(this.input.value,this.input.value);if(b){return true}}var c=Spry.Widget.Utils.getCharacterFromEvent(f);if(c&&this.characterMasking){if(!this.characterMasking.test(c)){Spry.Widget.Utils.stopEvent(f);this.redTextFlash();return false}}if(c&&this.pattern){var g=this.patternCharacters[this.selection.start];if(/[ax]/i.test(g)){if(g.toLowerCase()==g){c=c.toLowerCase()}else{c=c.toUpperCase()}}var a=this.getAutoComplete(this.selection.start);if(this.selection.start==this.oldValue.length){if(this.oldValue.length<this.patternLength){if(a){Spry.Widget.Utils.stopEvent(f);var l=this.oldValue.substring(0,this.selection.start)+a+c;var d=this.doValidations(l,this.oldValue);if(!d){this.setValue(this.fixedValue);this.selection.moveTo(this.fixedValue.length,this.fixedValue.length)}else{this.setValue(this.oldValue.substring(0,this.selection.start)+a);this.selection.moveTo(this.selection.start+a.length,this.selection.start+a.length)}return false}}else{Spry.Widget.Utils.stopEvent(f);this.setValue(this.input.value);return false}}else{if(a){Spry.Widget.Utils.stopEvent(f);this.selection.moveTo(this.selection.start+a.length,this.selection.start+a.length);return false}}Spry.Widget.Utils.stopEvent(f);var l=this.oldValue.substring(0,this.selection.start)+c+this.oldValue.substring(this.selection.start+1);var d=this.doValidations(l,this.oldValue);if(!d){a=this.getAutoComplete(this.selection.start+1);this.setValue(this.fixedValue);this.selection.moveTo(this.selection.start+1+a.length,this.selection.start+1+a.length)}else{this.selection.moveTo(this.selection.start,this.selection.start)}return false}if(c&&this.type=="date"&&this.useCharacterMasking){var j=this.getDateGroup(this.oldValue,this.selection.start);if(j!=-1){Spry.Widget.Utils.stopEvent(f);if((j%2)!=0){j++}if(this.isDateGroupFull(this.oldValue,j)){if(this.isPositionAtEndOfGroup(this.oldValue,this.selection.start,j)){if(j==this.lastDateGroup){this.redTextFlash();return false}else{var a=this.dateAutocompleteCharacters[j+1];if(this.nextDateDelimiterExists(this.oldValue,this.selection.start,j)){var a=this.dateAutocompleteCharacters[j+1];this.selection.moveTo(this.selection.start+a.length,this.selection.start+a.length);if(c==a){return false}if(this.isDateGroupFull(this.oldValue,j+2)){l=this.oldValue.substring(0,this.selection.start)+c+this.oldValue.substring(this.selection.start+1)}else{l=this.oldValue.substring(0,this.selection.start)+c+this.oldValue.substring(this.selection.start)}if(!this.isValueValid(l,this.selection.start+1,j+2)){this.redTextFlash();return false}else{this.setValue(l);this.selection.moveTo(this.selection.start+1,this.selection.start+1)}return false}else{var a=this.dateAutocompleteCharacters[j+1];var k=a+c;l=this.oldValue.substring(0,this.selection.start)+k+this.oldValue.substring(this.selection.start);if(!this.isValueValid(l,this.selection.start+k.length,j+2)){k=a;l=this.oldValue.substring(0,this.selection.start)+k+this.oldValue.substring(this.selection.start);this.setValue(l);this.selection.moveTo(this.selection.start+k.length,this.selection.start+k.length);this.redTextFlash();return false}else{this.setValue(l);this.selection.moveTo(this.selection.start+k.length,this.selection.start+k.length);return false}}}}else{var h=1;l=this.oldValue.substring(0,this.selection.start)+c+this.oldValue.substring(this.selection.start+1);if(!this.isValueValid(l,this.selection.start+1,j)){this.redTextFlash();return false}else{if(this.isPositionAtEndOfGroup(l,this.selection.start+1,j)){if(j!=this.lastDateGroup){if(this.nextDateDelimiterExists(l,this.selection.start+1,j)){var a=this.dateAutocompleteCharacters[j+1];h=1+a.length}else{var a=this.dateAutocompleteCharacters[j+1];l=this.oldValue.substring(0,this.selection.start)+c+a+this.oldValue.substring(this.selection.start+1);h=1+a.length}}}this.setValue(l);this.selection.moveTo(this.selection.start+h,this.selection.start+h);return false}}}else{l=this.oldValue.substring(0,this.selection.start)+c+this.oldValue.substring(this.selection.start);var h=1;if(!this.isValueValid(l,this.selection.start+1,j)&&!this.isValueValid(l,this.selection.start+1,j+1)){this.redTextFlash();return false}else{var a=this.dateAutocompleteCharacters[j+1];if(c==a){if(this.nextDateDelimiterExists(this.oldValue,this.selection.start,j)){l=this.oldValue;h=1}}else{if(this.isPositionAtEndOfGroup(l,this.selection.start+1,j)){if(j!=this.lastDateGroup){if(this.nextDateDelimiterExists(l,this.selection.start+1,j)){var a=this.dateAutocompleteCharacters[j+1];h=1+a.length}else{var a=this.dateAutocompleteCharacters[j+1];l=this.oldValue.substring(0,this.selection.start)+c+a+this.oldValue.substring(this.selection.start+1);h=1+a.length}}}}this.setValue(l);this.selection.moveTo(this.selection.start+h,this.selection.start+h);return false}}}return false}};Spry.Widget.ValidationTextField.prototype.onKeyDown=function(d){this.saveState();this.keyCode=d.keyCode;if(Spry.is.opera){if(this.flags.operaPasteOperation){window.clearInterval(this.flags.operaPasteOperation);this.flags.operaPasteOperation=null}if(d.ctrlKey){var c=Spry.Widget.Utils.getCharacterFromEvent(d);if(c&&"vx".indexOf(c.toLowerCase())!=-1){var a=this;this.flags.operaPasteOperation=window.setInterval(function(){a.operaPasteMonitor()},1);return true}}}if(this.keyCode!=8&&this.keyCode!=46&&Spry.Widget.Utils.isSpecialKey(d)){return true}if(this.keyCode==8||this.keyCode==46){var b=this.doValidations(this.input.value,this.input.value);if(b){return true}}if(this.useCharacterMasking&&this.pattern&&this.keyCode==46){if(d.ctrlKey){this.setValue(this.input.value.substring(0,this.selection.start))}else{if(this.selection.end==this.input.value.length||this.selection.start==this.input.value.length-1){return true}else{this.flags.operaRevertOnKeyUp=true}}if(Spry.is.mozilla&&Spry.is.mac){this.flags.skp=true}Spry.Widget.Utils.stopEvent(d);return false}if(this.useCharacterMasking&&this.pattern&&!d.ctrlKey&&this.keyCode==8){if(this.selection.start==this.input.value.length){var f=this.getAutoComplete(this.selection.start,-1);this.setValue(this.input.value.substring(0,this.input.value.length-(Spry.is.opera?0:1)-f.length));if(Spry.is.opera){this.selection.start=this.selection.start-1-f.length;this.selection.end=this.selection.end-1-f.length}}else{if(this.selection.end==this.input.value.length){return true}else{this.flags.operaRevertOnKeyUp=true}}if(Spry.is.mozilla&&Spry.is.mac){this.flags.skp=true}Spry.Widget.Utils.stopEvent(d);return false}return true};Spry.Widget.ValidationTextField.prototype.onMouseDown=function(a){if(this.flags.active){this.saveState()}};Spry.Widget.ValidationTextField.prototype.onDrop=function(a){this.flags.drop=true;this.removeHint();this.saveState();this.flags.active=true;this.addClassName(this.element,this.focusClass);this.addClassName(this.additionalError,this.focusClass)};Spry.Widget.ValidationTextField.prototype.onFocus=function(b){if(this.flags.drop){return}this.removeHint();if(this.pattern&&this.useCharacterMasking){var a=this.getAutoComplete(this.selection.start);this.setValue(this.input.value+a);this.selection.moveTo(this.input.value.length,this.input.value.length)}this.saveState();this.flags.active=true;this.addClassName(this.element,this.focusClass);this.addClassName(this.additionalError,this.focusClass)};Spry.Widget.ValidationTextField.prototype.onBlur=function(c){this.flags.active=false;this.removeClassName(this.element,this.focusClass);this.removeClassName(this.additionalError,this.focusClass);this.flags.restoreSelection=false;var b=this.doValidations(this.input.value,this.input.value);this.flags.restoreSelection=true;if(this.validateOn&Spry.Widget.ValidationTextField.ONBLUR){this.validate()}var a=this;setTimeout(function(){a.putHint()},10);return true};Spry.Widget.ValidationTextField.prototype.compilePattern=function(){if(!this.pattern){return}var f=[];var b=[];var g=[];var a=0;var h="",e="";for(var d=0;d<this.pattern.length;d++){h=this.pattern.charAt(d);if(e=="\\"){if(/[0ABXY\?]/i.test(h)){b[a-1]=h}else{b[a-1]=Spry.Widget.ValidationTextField.regExpFromChars(h)}f[a-1]=h;g[a-1]=null;e="";continue}b[a]=Spry.Widget.ValidationTextField.regExpFromChars(h);if(/[0ABXY\?]/i.test(h)){f[a]=null;g[a]=h}else{if(h=="\\"){f[a]=h;g[a]="\\"}else{f[a]=h;g[a]=null}}a++;e=h}this.autoCompleteCharacters=f;this.compiledPattern=b;this.patternCharacters=g;this.patternLength=f.length};Spry.Widget.ValidationTextField.prototype.getAutoComplete=function(h,e){if(e==-1){var g="",a="";while(h&&(g=this.getAutoComplete(--h))){a=g}return a}var b="",f="";for(var d=h;d<this.autoCompleteCharacters.length;d++){f=this.autoCompleteCharacters[d];if(f){b+=f}else{break}}return b};Spry.Widget.ValidationTextField.regExpFromChars=function(b){var a="",d="";for(var c=0;c<b.length;c++){d=b.charAt(c);switch(d){case"0":a+="\\d";break;case"A":a+="[A-Z]";break;case"a":a+="[a-z]";break;case"B":case"b":a+="[a-zA-Z]";break;case"x":a+="[0-9a-z]";break;case"X":a+="[0-9A-Z]";break;case"Y":case"y":a+="[0-9a-zA-Z]";break;case"?":a+=".";break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":a+=d;break;case"c":case"C":case"e":case"E":case"f":case"F":case"r":case"d":case"D":case"n":case"s":case"S":case"w":case"W":case"t":case"v":a+=d;break;default:a+="\\"+d}}return a};Spry.Widget.ValidationTextField.prototype.patternToRegExp=function(a){var c="^";var b=Math.min(this.compiledPattern.length,a);for(var d=0;d<b;d++){c+=this.compiledPattern[d]}c+="$";c=new RegExp(c,"");return c};Spry.Widget.ValidationTextField.prototype.resetClasses=function(){var b=[this.requiredClass,this.invalidFormatClass,this.invalidRangeMinClass,this.invalidRangeMaxClass,this.invalidCharsMinClass,this.invalidCharsMaxClass,this.validClass];for(var a=0;a<b.length;a++){this.removeClassName(this.element,b[a]);this.removeClassName(this.additionalError,b[a])}};Spry.Widget.ValidationTextField.prototype.reset=function(){this.removeHint();this.oldValue=this.input.defaultValue;this.resetClasses();if(Spry.is.ie){this.input.forceFireFirstOnPropertyChange=true;this.input.removeAttribute("forceFireFirstOnPropertyChange")}var a=this;setTimeout(function(){a.putHint()},10)};Spry.Widget.ValidationTextField.prototype.validate=function(){this.resetClasses();if(this.validateOn&Spry.Widget.ValidationTextField.ONSUBMIT){this.removeHint();this.doValidations(this.input.value,this.input.value);if(!this.flags.active){var a=this;setTimeout(function(){a.putHint()},10)}}if(this.isRequired&&this.errors&Spry.Widget.ValidationTextField.ERROR_REQUIRED){this.addClassName(this.element,this.requiredClass);this.addClassName(this.additionalError,this.requiredClass);return false}if(this.errors&Spry.Widget.ValidationTextField.ERROR_FORMAT){this.addClassName(this.element,this.invalidFormatClass);this.addClassName(this.additionalError,this.invalidFormatClass);return false}if(this.errors&Spry.Widget.ValidationTextField.ERROR_RANGE_MIN){this.addClassName(this.element,this.invalidRangeMinClass);this.addClassName(this.additionalError,this.invalidRangeMinClass);return false}if(this.errors&Spry.Widget.ValidationTextField.ERROR_RANGE_MAX){this.addClassName(this.element,this.invalidRangeMaxClass);this.addClassName(this.additionalError,this.invalidRangeMaxClass);return false}if(this.errors&Spry.Widget.ValidationTextField.ERROR_CHARS_MIN){this.addClassName(this.element,this.invalidCharsMinClass);this.addClassName(this.additionalError,this.invalidCharsMinClass);return false}if(this.errors&Spry.Widget.ValidationTextField.ERROR_CHARS_MAX){this.addClassName(this.element,this.invalidCharsMaxClass);this.addClassName(this.additionalError,this.invalidCharsMaxClass);return false}this.addClassName(this.element,this.validClass);this.addClassName(this.additionalError,this.validClass);return true};Spry.Widget.ValidationTextField.prototype.addClassName=function(b,a){if(!b||!a||(b.className&&b.className.search(new RegExp("\\b"+a+"\\b"))!=-1)){return}b.className+=(b.className?" ":"")+a};Spry.Widget.ValidationTextField.prototype.removeClassName=function(b,a){if(!b||!a||(b.className&&b.className.search(new RegExp("\\b"+a+"\\b"))==-1)){return}b.className=b.className.replace(new RegExp("\\s*\\b"+a+"\\b","g"),"")};Spry.Widget.ValidationTextField.prototype.showError=function(a){alert("Spry.Widget.TextField ERR: "+a)};Spry.Widget.SelectionDescriptor=function(a){this.element=a;this.update()};Spry.Widget.SelectionDescriptor.prototype.update=function(){if(Spry.is.ie&&Spry.is.windows){var a=this.element.ownerDocument.selection;if(this.element.nodeName=="TEXTAREA"){if(a.type!="None"){try{var f=a.createRange()}catch(b){return}if(f.parentElement()==this.element){var c=this.element.ownerDocument.body.createTextRange();c.moveToElementText(this.element);for(var g=0;c.compareEndPoints("StartToStart",f)<0;g++){c.moveStart("character",1)}this.start=g;c=this.element.ownerDocument.body.createTextRange();c.moveToElementText(this.element);for(var d=0;c.compareEndPoints("StartToEnd",f)<0;d++){c.moveStart("character",1)}this.end=d;this.length=this.end-this.start;this.text=f.text}}}else{if(this.element.nodeName=="INPUT"){try{this.range=a.createRange()}catch(b){return}this.length=this.range.text.length;var h=this.range.duplicate();this.start=-h.moveStart("character",-10000);h=this.range.duplicate();h.collapse(false);this.end=-h.moveStart("character",-10000);this.text=this.range.text}}}else{var e=this.element;var j=0;var k=0;try{j=e.selectionStart}catch(b){}try{k=e.selectionEnd}catch(b){}if(Spry.is.safari){if(j==2147483647){j=0}if(k==2147483647){k=0}}this.start=j;this.end=k;this.length=k-j;this.text=this.element.value.substring(j,k)}};Spry.Widget.SelectionDescriptor.prototype.destroy=function(){try{delete this.range}catch(a){}try{delete this.element}catch(a){}};Spry.Widget.SelectionDescriptor.prototype.move=function(a){if(Spry.is.ie&&Spry.is.windows){this.range.move("character",a);this.range.select()}else{try{this.element.selectionStart++}catch(b){}}this.update()};Spry.Widget.SelectionDescriptor.prototype.moveTo=function(f,a){if(Spry.is.ie&&Spry.is.windows){if(this.element.nodeName=="TEXTAREA"){var e=this.element.createTextRange();this.range=this.element.createTextRange();this.range.move("character",f);this.range.moveEnd("character",a-f);var c=this.range.compareEndPoints("StartToStart",e);if(c<0){this.range.setEndPoint("StartToStart",e)}var b=this.range.compareEndPoints("EndToEnd",e);if(b>0){this.range.setEndPoint("EndToEnd",e)}}else{if(this.element.nodeName=="INPUT"){this.range=this.element.ownerDocument.selection.createRange();this.range.move("character",-10000);this.start=this.range.moveStart("character",f);this.end=this.start+this.range.moveEnd("character",a-f)}}this.range.select()}else{this.start=f;try{this.element.selectionStart=f}catch(d){}this.end=a;try{this.element.selectionEnd=a}catch(d){}}this.ignore=true;this.update()};Spry.Widget.SelectionDescriptor.prototype.moveEnd=function(a){if(Spry.is.ie&&Spry.is.windows){this.range.moveEnd("character",a);this.range.select()}else{try{this.element.selectionEnd++}catch(b){}}this.update()};Spry.Widget.SelectionDescriptor.prototype.collapse=function(a){if(Spry.is.ie&&Spry.is.windows){this.range=this.element.ownerDocument.selection.createRange();this.range.collapse(a);this.range.select()}else{if(a){try{this.element.selectionEnd=this.element.selectionStart}catch(b){}}else{try{this.element.selectionStart=this.element.selectionEnd}catch(b){}}}this.update()};if(!Spry.Widget.Form){Spry.Widget.Form={}}if(!Spry.Widget.Form.onSubmitWidgetQueue){Spry.Widget.Form.onSubmitWidgetQueue=[]}if(!Spry.Widget.Form.validate){Spry.Widget.Form.validate=function(f){var e=true;var d=true;var c=Spry.Widget.Form.onSubmitWidgetQueue;var a=c.length;for(var b=0;b<a;b++){if(!c[b].isDisabled()&&c[b].form==f){d=c[b].validate();e=d&&e}}return e}}if(!Spry.Widget.Form.onSubmit){Spry.Widget.Form.onSubmit=function(b,a){if(Spry.Widget.Form.validate(a)==false){return false}return true}}if(!Spry.Widget.Form.onReset){Spry.Widget.Form.onReset=function(d,f){var c=Spry.Widget.Form.onSubmitWidgetQueue;var a=c.length;for(var b=0;b<a;b++){if(!c[b].isDisabled()&&c[b].form==f&&typeof(c[b].reset)=="function"){c[b].reset()}}return true}}if(!Spry.Widget.Form.destroy){Spry.Widget.Form.destroy=function(b){var c=Spry.Widget.Form.onSubmitWidgetQueue;for(var a=0;a<Spry.Widget.Form.onSubmitWidgetQueue.length;a++){if(c[a].form==b&&typeof(c[a].destroy)=="function"){c[a].destroy();a--}}}}if(!Spry.Widget.Form.destroyAll){Spry.Widget.Form.destroyAll=function(){var b=Spry.Widget.Form.onSubmitWidgetQueue;for(var a=0;a<Spry.Widget.Form.onSubmitWidgetQueue.length;a++){if(typeof(b[a].destroy)=="function"){b[a].destroy();a--}}}}if(!Spry.Widget.Utils){Spry.Widget.Utils={}}Spry.Widget.Utils.punycode_constants={base:36,tmin:1,tmax:26,skew:38,damp:700,initial_bias:72,initial_n:128,delimiter:45,maxint:2<<26-1};Spry.Widget.Utils.punycode_encode_digit=function(a){return String.fromCharCode(a+22+75*(a<26))};Spry.Widget.Utils.punycode_adapt=function(d,c,b){d=b?d/this.punycode_constants.damp:d>>1;d+=d/c;for(var a=0;d>((this.punycode_constants.base-this.punycode_constants.tmin)*this.punycode_constants.tmax)/2;a+=this.punycode_constants.base){d/=this.punycode_constants.base-this.punycode_constants.tmin}return a+(this.punycode_constants.base-this.punycode_constants.tmin+1)*d/(d+this.punycode_constants.skew)};Spry.Widget.Utils.punycode_encode=function(w,c){var e=w.split("");w=[];for(var r=0;r<e.length;r++){w.push(e[r].charCodeAt(0))}var f="";var s,v,p,g,a,l,z;var y=w.length;var d=this.punycode_constants.initial_n;var x=0;var u=this.punycode_constants.initial_bias;var o=0;for(p=0;p<y;p++){if(w[p]<128){if(c-o<2){return false}f+=String.fromCharCode(w[p]);o++}}s=v=o;if(v>0){f+=String.fromCharCode(this.punycode_constants.delimiter);o++}while(s<y){for(g=this.punycode_constants.maxint,p=0;p<y;p++){if(w[p]>=d&&w[p]<g){g=w[p]}}if(g-d>(this.punycode_constants.maxint-x)/(s+1)){return false}x+=(g-d)*(s+1);d=g;for(p=0;p<y;p++){if(w[p]<d){if(++x==0){return false}}if(w[p]==d){for(a=x,l=this.punycode_constants.base;true;l+=this.punycode_constants.base){if(o>=c){return false}z=l<=u?this.punycode_constants.tmin:l>=u+this.punycode_constants.tmax?this.punycode_constants.tmax:l-u;if(a<z){break}f+=this.punycode_encode_digit(z+(a-z)%(this.punycode_constants.base-z));o++;a=(a-z)/(this.punycode_constants.base-z)}f+=this.punycode_encode_digit(a);o++;u=this.punycode_adapt(x,s+1,s==v);x=0;s++}}x++,d++}return f};Spry.Widget.Utils.setOptions=function(d,c,a){if(!c){return}for(var b in c){if(a&&c[b]==undefined){continue}d[b]=c[b]}};Spry.Widget.Utils.firstValid=function(){var a=null;for(var b=0;b<Spry.Widget.Utils.firstValid.arguments.length;b++){if(typeof(Spry.Widget.Utils.firstValid.arguments[b])!="undefined"){a=Spry.Widget.Utils.firstValid.arguments[b];break}}return a};Spry.Widget.Utils.specialCharacters=",8,9,16,17,18,20,27,33,34,35,36,37,38,40,45,144,192,63232,";Spry.Widget.Utils.specialSafariNavKeys="63232,63233,63234,63235,63272,63273,63275,63276,63277,63289,";Spry.Widget.Utils.specialNotSafariCharacters="39,46,91,92,93,";Spry.Widget.Utils.specialCharacters+=Spry.Widget.Utils.specialSafariNavKeys;if(!Spry.is.safari){Spry.Widget.Utils.specialCharacters+=Spry.Widget.Utils.specialNotSafariCharacters}Spry.Widget.Utils.isSpecialKey=function(a){return Spry.Widget.Utils.specialCharacters.indexOf(","+a.keyCode+",")!=-1};Spry.Widget.Utils.getCharacterFromEvent=function(d){var a=d.type=="keydown";var b=null;var c=null;if(Spry.is.mozilla&&!a){if(d.charCode){c=String.fromCharCode(d.charCode)}else{b=d.keyCode}}else{b=d.keyCode||d.which;if(b!=13){c=String.fromCharCode(b)}}if(Spry.is.safari){if(a){b=d.keyCode||d.which;c=String.fromCharCode(b)}else{b=d.keyCode||d.which;if(Spry.Widget.Utils.specialCharacters.indexOf(","+b+",")!=-1){c=null}else{c=String.fromCharCode(b)}}}if(Spry.is.opera){if(Spry.Widget.Utils.specialCharacters.indexOf(","+b+",")!=-1){c=null}else{c=String.fromCharCode(b)}}return c};Spry.Widget.Utils.getFirstChildWithNodeNameAtAnyLevel=function(a,c){var b=a.getElementsByTagName(c);if(b){return b[0]}return null};Spry.Widget.Utils.getFirstParentWithNodeName=function(a,b){while(a.parentNode&&a.parentNode.nodeName.toLowerCase()!=b.toLowerCase()&&a.parentNode.nodeName!="BODY"){a=a.parentNode}if(a.parentNode&&a.parentNode.nodeName.toLowerCase()==b.toLowerCase()){return a.parentNode}else{return null}};Spry.Widget.Utils.destroyWidgets=function(a){if(typeof a=="string"){a=document.getElementById(a)}var c=Spry.Widget.Form.onSubmitWidgetQueue;for(var b=0;b<Spry.Widget.Form.onSubmitWidgetQueue.length;b++){if(typeof(c[b].destroy)=="function"&&Spry.Widget.Utils.contains(a,c[b].element)){c[b].destroy();b--}}};Spry.Widget.Utils.contains=function(b,c){if(typeof b.contains=="object"){return c&&b&&(b==c||b.contains(c))}else{var a=c;while(a){if(a==b){return true}a=a.parentNode}return false}};Spry.Widget.Utils.addEventListener=function(c,b,d,a){try{if(c.addEventListener){c.addEventListener(b,d,a)}else{if(c.attachEvent){c.attachEvent("on"+b,d,a)}}}catch(f){}};Spry.Widget.Utils.removeEventListener=function(c,b,d,a){try{if(c.removeEventListener){c.removeEventListener(b,d,a)}else{if(c.detachEvent){c.detachEvent("on"+b,d,a)}}}catch(f){}};Spry.Widget.Utils.stopEvent=function(a){try{this.stopPropagation(a);this.preventDefault(a)}catch(b){}};Spry.Widget.Utils.stopPropagation=function(a){if(a.stopPropagation){a.stopPropagation()}else{a.cancelBubble=true}};Spry.Widget.Utils.preventDefault=function(a){if(a.preventDefault){a.preventDefault()}else{a.returnValue=false}};var Spry;if(!Spry){Spry={}}if(!Spry.Widget){Spry.Widget={}}Spry.Widget.TabbedPanels=function(a,c){this.element=this.getElement(a);this.defaultTab=0;this.tabSelectedClass="TabbedPanelsTabSelected";this.tabHoverClass="TabbedPanelsTabHover";this.tabFocusedClass="TabbedPanelsTabFocused";this.panelVisibleClass="TabbedPanelsContentVisible";this.focusElement=null;this.hasFocus=false;this.currentTabIndex=0;this.enableKeyboardNavigation=true;this.nextPanelKeyCode=Spry.Widget.TabbedPanels.KEY_RIGHT;this.previousPanelKeyCode=Spry.Widget.TabbedPanels.KEY_LEFT;Spry.Widget.TabbedPanels.setOptions(this,c);if(typeof(this.defaultTab)=="number"){if(this.defaultTab<0){this.defaultTab=0}else{var b=this.getTabbedPanelCount();if(this.defaultTab>=b){this.defaultTab=(b>1)?(b-1):0}}this.defaultTab=this.getTabs()[this.defaultTab]}if(this.defaultTab){this.defaultTab=this.getElement(this.defaultTab)}this.attachBehaviors()};Spry.Widget.TabbedPanels.prototype.getElement=function(a){if(a&&typeof a=="string"){return document.getElementById(a)}return a};Spry.Widget.TabbedPanels.prototype.getElementChildren=function(b){var a=[];var c=b.firstChild;while(c){if(c.nodeType==1){a.push(c)}c=c.nextSibling}return a};Spry.Widget.TabbedPanels.prototype.addClassName=function(b,a){if(!b||!a||(b.className&&b.className.search(new RegExp("\\b"+a+"\\b"))!=-1)){return}b.className+=(b.className?" ":"")+a};Spry.Widget.TabbedPanels.prototype.removeClassName=function(b,a){if(!b||!a||(b.className&&b.className.search(new RegExp("\\b"+a+"\\b"))==-1)){return}b.className=b.className.replace(new RegExp("\\s*\\b"+a+"\\b","g"),"")};Spry.Widget.TabbedPanels.setOptions=function(d,c,a){if(!c){return}for(var b in c){if(a&&c[b]==undefined){continue}d[b]=c[b]}};Spry.Widget.TabbedPanels.prototype.getTabGroup=function(){if(this.element){var a=this.getElementChildren(this.element);if(a.length){return a[0]}}return null};Spry.Widget.TabbedPanels.prototype.getTabs=function(){var a=[];var b=this.getTabGroup();if(b){a=this.getElementChildren(b)}return a};Spry.Widget.TabbedPanels.prototype.getContentPanelGroup=function(){if(this.element){var a=this.getElementChildren(this.element);if(a.length>1){return a[1]}}return null};Spry.Widget.TabbedPanels.prototype.getContentPanels=function(){var a=[];var b=this.getContentPanelGroup();if(b){a=this.getElementChildren(b)}return a};Spry.Widget.TabbedPanels.prototype.getIndex=function(c,a){c=this.getElement(c);if(c&&a&&a.length){for(var b=0;b<a.length;b++){if(c==a[b]){return b}}}return -1};Spry.Widget.TabbedPanels.prototype.getTabIndex=function(b){var a=this.getIndex(b,this.getTabs());if(a<0){a=this.getIndex(b,this.getContentPanels())}return a};Spry.Widget.TabbedPanels.prototype.getCurrentTabIndex=function(){return this.currentTabIndex};Spry.Widget.TabbedPanels.prototype.getTabbedPanelCount=function(a){return Math.min(this.getTabs().length,this.getContentPanels().length)};Spry.Widget.TabbedPanels.addEventListener=function(c,b,d,a){try{if(c.addEventListener){c.addEventListener(b,d,a)}else{if(c.attachEvent){c.attachEvent("on"+b,d)}}}catch(f){}};Spry.Widget.TabbedPanels.prototype.cancelEvent=function(a){if(a.preventDefault){a.preventDefault()}else{a.returnValue=false}if(a.stopPropagation){a.stopPropagation()}else{a.cancelBubble=true}return false};Spry.Widget.TabbedPanels.prototype.onTabClick=function(b,a){this.showPanel(a);return this.cancelEvent(b)};Spry.Widget.TabbedPanels.prototype.onTabMouseOver=function(b,a){this.addClassName(a,this.tabHoverClass);return false};Spry.Widget.TabbedPanels.prototype.onTabMouseOut=function(b,a){this.removeClassName(a,this.tabHoverClass);return false};Spry.Widget.TabbedPanels.prototype.onTabFocus=function(b,a){this.hasFocus=true;this.addClassName(a,this.tabFocusedClass);return false};Spry.Widget.TabbedPanels.prototype.onTabBlur=function(b,a){this.hasFocus=false;this.removeClassName(a,this.tabFocusedClass);return false};Spry.Widget.TabbedPanels.KEY_UP=38;Spry.Widget.TabbedPanels.KEY_DOWN=40;Spry.Widget.TabbedPanels.KEY_LEFT=37;Spry.Widget.TabbedPanels.KEY_RIGHT=39;Spry.Widget.TabbedPanels.prototype.onTabKeyDown=function(g,f){var c=g.keyCode;if(!this.hasFocus||(c!=this.previousPanelKeyCode&&c!=this.nextPanelKeyCode)){return true}var b=this.getTabs();for(var a=0;a<b.length;a++){if(b[a]==f){var d=false;if(c==this.previousPanelKeyCode&&a>0){d=b[a-1]}else{if(c==this.nextPanelKeyCode&&a<b.length-1){d=b[a+1]}}if(d){this.showPanel(d);d.focus();break}}}return this.cancelEvent(g)};Spry.Widget.TabbedPanels.prototype.preorderTraversal=function(a,b){var d=false;if(a){d=b(a);if(a.hasChildNodes()){var f=a.firstChild;while(!d&&f){d=this.preorderTraversal(f,b);try{f=f.nextSibling}catch(c){f=null}}}}return d};Spry.Widget.TabbedPanels.prototype.addPanelEventListeners=function(d,b){var c=this;Spry.Widget.TabbedPanels.addEventListener(d,"click",function(f){return c.onTabClick(f,d)},false);Spry.Widget.TabbedPanels.addEventListener(d,"mouseover",function(f){return c.onTabMouseOver(f,d)},false);Spry.Widget.TabbedPanels.addEventListener(d,"mouseout",function(f){return c.onTabMouseOut(f,d)},false);if(this.enableKeyboardNavigation){var e=null;var a=null;this.preorderTraversal(d,function(f){if(f.nodeType==1){var g=d.attributes.getNamedItem("tabindex");if(g){e=f;return true}if(!a&&f.nodeName.toLowerCase()=="a"){a=f}}return false});if(e){this.focusElement=e}else{if(a){this.focusElement=a}}if(this.focusElement){Spry.Widget.TabbedPanels.addEventListener(this.focusElement,"focus",function(f){return c.onTabFocus(f,d)},false);Spry.Widget.TabbedPanels.addEventListener(this.focusElement,"blur",function(f){return c.onTabBlur(f,d)},false);Spry.Widget.TabbedPanels.addEventListener(this.focusElement,"keydown",function(f){return c.onTabKeyDown(f,d)},false)}}};Spry.Widget.TabbedPanels.prototype.showPanel=function(b){var f=-1;if(typeof b=="number"){f=b}else{f=this.getTabIndex(b)}if(!f<0||f>=this.getTabbedPanelCount()){return}var e=this.getTabs();var c=this.getContentPanels();var a=Math.max(e.length,c.length);for(var d=0;d<a;d++){if(d!=f){if(e[d]){this.removeClassName(e[d],this.tabSelectedClass)}if(c[d]){this.removeClassName(c[d],this.panelVisibleClass);c[d].style.display="none"}}}this.addClassName(e[f],this.tabSelectedClass);this.addClassName(c[f],this.panelVisibleClass);c[f].style.display="block";this.currentTabIndex=f};Spry.Widget.TabbedPanels.prototype.attachBehaviors=function(d){var c=this.getTabs();var a=this.getContentPanels();var e=this.getTabbedPanelCount();for(var b=0;b<e;b++){this.addPanelEventListeners(c[b],a[b])}this.showPanel(this.defaultTab)};var Spry;if(!Spry){Spry={}}if(!Spry.Data){Spry.Data={}}Spry.Data.PagedView=function(b,a){Spry.Data.DataSet.call(this);this.ds=b;this.pageSize=10;this.pageOffset=0;this.forceFullPages=false;this.pageFirstItemOffset=0;this.useZeroBasedIndexes=false;this.setCurrentRowOnPageChange=false;Spry.Utils.setOptions(this,a);this.adjustmentValue=1;if(!this.useZeroBasedIndexes){this.adjustmentValue=0}this.pageStop=this.pageOffset+this.pageSize;this.ds.addObserver(this);this.preProcessData();if(this.pageSize>0){this.filter(this.getFilterFunc())}};Spry.Data.PagedView.prototype=new Spry.Data.DataSet();Spry.Data.PagedView.prototype.constructor=Spry.Data.PagedView;Spry.Data.PagedView.prototype.setCurrentRow=function(a){if(this.ds){this.ds.setCurrentRow(a)}};Spry.Data.PagedView.prototype.setCurrentRowNumber=function(a){if(this.ds){this.ds.setCurrentRowNumber(a)}};Spry.Data.PagedView.prototype.sort=function(c,b){if(!c){return}if(typeof c=="string"){c=[c,"ds_RowID"]}else{if(c.length<2&&c[0]!="ds_RowID"){c.push("ds_RowID")}}if(!b){b="toggle"}if(b=="toggle"){if(this.lastSortColumns.length>0&&this.lastSortColumns[0]==c[0]&&this.lastSortOrder=="ascending"){b="descending"}else{b="ascending"}}var a={oldSortColumns:this.lastSortColumns,oldSortOrder:this.lastSortOrder,newSortColumns:c,newSortOrder:b};this.notifyObservers("onPreSort",a);this.disableNotifications();Spry.Data.DataSet.prototype.sort.call(this,c,b);this.updatePagerColumns();this.firstPage();this.enableNotifications();this.notifyObservers("onPostSort",a)};Spry.Data.PagedView.prototype.loadData=function(){if(!this.ds||this.ds.getLoadDataRequestIsPending()){return}if(!this.ds.getDataWasLoaded()){this.ds.loadData();return}Spry.Data.DataSet.prototype.loadData.call(this)};Spry.Data.PagedView.prototype.onDataChanged=function(a,b){this.setPageOffset(0);this.preProcessData()};Spry.Data.PagedView.prototype.onCurrentRowChanged=function(b,c){var a=this;setTimeout(function(){a.notifyObservers("onCurrentRowChanged",c)},0)};Spry.Data.PagedView.prototype.onPostSort=Spry.Data.PagedView.prototype.onDataChanged;Spry.Data.PagedView.prototype.updatePagerColumns=function(){var k=this.getData(true);if(!k||k.length<1){return}var d=k.length;var f=(this.pageSize>0)?this.pageSize:d;var g=1;var h=g+f-1;h=(h<g)?g:(h>d?d:h);var e=1;var a=parseInt((d+f-1)/f);var c=Math.min(d,f);for(var b=0;b<d;b++){itemIndex=b+1;if(itemIndex>h){g=itemIndex;h=g+this.pageSize-1;h=(h>d)?d:h;c=Math.min(h-g+1,f);++e}var j=k[b];if(j){j.ds_PageNumber=e;j.ds_PageSize=this.pageSize;j.ds_PageItemRowNumber=b;j.ds_PageItemNumber=itemIndex;j.ds_PageFirstItemNumber=g;j.ds_PageLastItemNumber=h;j.ds_PageItemCount=c;j.ds_PageCount=a;j.ds_PageTotalItemCount=d}}};Spry.Data.PagedView.prototype.preProcessData=function(){if(!this.ds||!this.ds.getDataWasLoaded()){return}this.notifyObservers("onPreLoad");this.unfilteredData=null;this.data=[];this.dataHash={};var c=this.ds.getData();if(c){var d=c.length;for(var b=0;b<d;b++){var e=c[b];var a=new Object();Spry.Utils.setOptions(a,e);this.data.push(a);this.dataHash[a.ds_RowID]=a}if(d>0){this.curRowID=c[0].ds_RowID}this.updatePagerColumns()}this.loadData()};Spry.Data.PagedView.prototype.getFilterFunc=function(){var a=this;return function(c,d,b){if(b<a.pageOffset||b>=a.pageStop){return null}return d}};Spry.Data.PagedView.prototype.setPageOffset=function(b){var a=this.getData(true).length;this.pageFirstItemOffset=(b<0)?0:b;if(this.forceFullPages&&b>(a-this.pageSize)){b=a-this.pageSize}if(b<0){b=0}this.pageOffset=b;this.pageStop=b+this.pageSize};Spry.Data.PagedView.prototype.filterDataSet=function(b){if(this.pageSize<1){return}this.setPageOffset(b);var a=this.getData(true);if(a&&a.length&&a[this.pageFirstItemOffset]){this.curRowID=a[this.pageFirstItemOffset].ds_RowID}if(this.setCurrentRowOnPageChange){this.ds.setCurrentRow(this.curRowID)}this.filter(this.getFilterFunc())};Spry.Data.PagedView.prototype.getPageCount=function(){return parseInt((this.getData(true).length+this.pageSize-1)/this.pageSize)};Spry.Data.PagedView.prototype.getCurrentPage=function(){return parseInt((((this.pageFirstItemOffset!=this.pageOffset)?this.pageFirstItemOffset:this.pageOffset)+this.pageSize)/this.pageSize)-this.adjustmentValue};Spry.Data.PagedView.prototype.goToPage=function(b){b=parseInt(b);var a=this.getPageCount();if((b+this.adjustmentValue)<1||(b+this.adjustmentValue)>a){return}var c=(b-1+this.adjustmentValue)*this.pageSize;this.filterDataSet(c)};Spry.Data.PagedView.prototype.goToPageContainingRowID=function(a){this.goToPageContainingRowNumber(this.getRowNumber(this.getRowByID(a),true))};Spry.Data.PagedView.prototype.goToPageContainingRowNumber=function(a){this.goToPage(this.getPageForRowNumber(a))};Spry.Data.PagedView.prototype.goToPageContainingItemNumber=function(a){this.goToPageContainingRowNumber(a-1)};Spry.Data.PagedView.prototype.firstPage=function(){this.goToPage(1-this.adjustmentValue)};Spry.Data.PagedView.prototype.lastPage=function(){this.goToPage(this.getPageCount()-this.adjustmentValue)};Spry.Data.PagedView.prototype.previousPage=function(){this.goToPage(this.getCurrentPage()-1)};Spry.Data.PagedView.prototype.nextPage=function(){this.goToPage(this.getCurrentPage()+1)};Spry.Data.PagedView.prototype.getPageForRowID=function(a){return this.getPageForRowNumber(this.getRowNumber(this.getRowByID(a),true))};Spry.Data.PagedView.prototype.getPageForRowNumber=function(a){return parseInt(a/this.pageSize)+1-this.adjustmentValue};Spry.Data.PagedView.prototype.getPageForItemNumber=function(a){return this.getPageForRowNumber(a-1)};Spry.Data.PagedView.prototype.getPageSize=function(){return this.pageSize};Spry.Data.PagedView.prototype.setPageSize=function(a){if(this.pageSize==a){return}if(a<1){this.pageSize=0;this.setPageOffset(0);this.updatePagerColumns();this.filter(null)}else{if(this.pageSize<1){this.pageSize=a;this.setPageOffset(0);this.updatePagerColumns();this.filterDataSet(this.pageOffset)}else{this.pageSize=a;this.updatePagerColumns();this.goToPage(this.getPageForRowNumber(this.pageFirstItemOffset))}}};Spry.Data.PagedView.prototype.getPagingInfo=function(){return new Spry.Data.PagedView.PagingInfo(this)};Spry.Data.PagedView.PagingInfo=function(a){Spry.Data.DataSet.call(this);this.pagedView=a;a.addObserver(this)};Spry.Data.PagedView.PagingInfo.prototype=new Spry.Data.DataSet();Spry.Data.PagedView.PagingInfo.prototype.constructor=Spry.Data.PagedView.PagingInfo;Spry.Data.PagedView.PagingInfo.prototype.onDataChanged=function(a,b){this.extractInfo()};Spry.Data.PagedView.PagingInfo.prototype.onPostSort=Spry.Data.PagedView.PagingInfo.prototype.onDataChanged;Spry.Data.PagedView.PagingInfo.prototype.extractInfo=function(){var f=this.pagedView;if(!f||!f.getDataWasLoaded()){return}this.notifyObservers("onPreLoad");this.unfilteredData=null;this.data=[];this.dataHash={};var k=f.getData(true);if(k){var e=k.length;var c=f.getPageCount();var d=0;var a=0;while(d<e){var j=k[d];var h=new Object();h.ds_RowID=a++;this.data.push(h);this.dataHash[h.ds_RowID]=h;h.ds_PageNumber=j.ds_PageNumber;h.ds_PageSize=j.ds_PageSize;h.ds_PageCount=j.ds_PageCount;h.ds_PageFirstItemNumber=j.ds_PageFirstItemNumber;h.ds_PageLastItemNumber=j.ds_PageLastItemNumber;h.ds_PageItemCount=j.ds_PageItemCount;h.ds_PageTotalItemCount=j.ds_PageTotalItemCount;d+=h.ds_PageSize}if(e>0){var g=this;var b=function(n,l,m){if(n!="onPostLoad"){return}g.removeObserver(b);g.setCurrentRowNumber(f.getCurrentPage()-(f.useZeroBasedIndexes?0:1))};this.addObserver(b)}}this.loadData()};var Spry;if(!Spry){Spry={}}if(!Spry.Widget){Spry.Widget={}}Spry.BrowserSniff=function(){var j=navigator.appName.toString();var e=navigator.platform.toString();var c=navigator.userAgent.toString();this.mozilla=this.ie=this.opera=this.safari=false;var g=/Opera.([0-9\.]*)/i;var d=/MSIE.([0-9\.]*)/i;var f=/gecko/i;var h=/(applewebkit|safari)\/([\d\.]*)/i;var a=false;if((a=c.match(g))){this.opera=true;this.version=parseFloat(a[1])}else{if((a=c.match(d))){this.ie=true;this.version=parseFloat(a[1])}else{if((a=c.match(h))){this.safari=true;this.version=parseFloat(a[2])}else{if(c.match(f)){var k=/rv:\s*([0-9\.]+)/i;a=c.match(k);this.mozilla=true;this.version=parseFloat(a[1])}}}}this.windows=this.mac=this.linux=false;this.Platform=c.match(/windows/i)?"windows":(c.match(/linux/i)?"linux":(c.match(/mac/i)?"mac":c.match(/unix/i)?"unix":"unknown"));this[this.Platform]=true;this.v=this.version;if(this.safari&&this.mac&&this.mozilla){this.mozilla=false}};Spry.is=new Spry.BrowserSniff();Spry.Widget.MenuBar=function(a,b){this.init(a,b)};Spry.Widget.MenuBar.prototype.init=function(e,a){this.element=this.getElement(e);this.currMenu=null;this.showDelay=250;this.hideDelay=600;if(typeof document.getElementById=="undefined"||(navigator.vendor=="Apple Computer, Inc."&&typeof window.XMLHttpRequest=="undefined")||(Spry.is.ie&&typeof document.uniqueID=="undefined")){return}if(Spry.is.ie&&Spry.is.version<7){try{document.execCommand("BackgroundImageCache",false,true)}catch(c){}}this.upKeyCode=Spry.Widget.MenuBar.KEY_UP;this.downKeyCode=Spry.Widget.MenuBar.KEY_DOWN;this.leftKeyCode=Spry.Widget.MenuBar.KEY_LEFT;this.rightKeyCode=Spry.Widget.MenuBar.KEY_RIGHT;this.escKeyCode=Spry.Widget.MenuBar.KEY_ESC;this.hoverClass="MenuBarItemHover";this.subHoverClass="MenuBarItemSubmenuHover";this.subVisibleClass="MenuBarSubmenuVisible";this.hasSubClass="MenuBarItemSubmenu";this.activeClass="MenuBarActive";this.isieClass="MenuBarItemIE";this.verticalClass="MenuBarVertical";this.horizontalClass="MenuBarHorizontal";this.enableKeyboardNavigation=true;this.hasFocus=false;if(a){for(var d in a){if(typeof this[d]=="undefined"){var j=new Image;j.src=a[d]}}Spry.Widget.MenuBar.setOptions(this,a)}if(Spry.is.safari){this.enableKeyboardNavigation=false}if(this.element){this.currMenu=this.element;var g=this.element.getElementsByTagName("li");for(var f=0;f<g.length;f++){if(f>0&&this.enableKeyboardNavigation){g[f].getElementsByTagName("a")[0].tabIndex="-1"}this.initialize(g[f],e);if(Spry.is.ie){this.addClassName(g[f],this.isieClass);g[f].style.position="static"}}if(this.enableKeyboardNavigation){var h=this;this.addEventListener(document,"keydown",function(k){h.keyDown(k)},false)}if(Spry.is.ie){if(this.hasClassName(this.element,this.verticalClass)){this.element.style.position="relative"}var b=this.element.getElementsByTagName("a");for(var f=0;f<b.length;f++){b[f].style.position="relative"}}}};Spry.Widget.MenuBar.KEY_ESC=27;Spry.Widget.MenuBar.KEY_UP=38;Spry.Widget.MenuBar.KEY_DOWN=40;Spry.Widget.MenuBar.KEY_LEFT=37;Spry.Widget.MenuBar.KEY_RIGHT=39;Spry.Widget.MenuBar.prototype.getElement=function(a){if(a&&typeof a=="string"){return document.getElementById(a)}return a};Spry.Widget.MenuBar.prototype.hasClassName=function(b,a){if(!b||!a||!b.className||b.className.search(new RegExp("\\b"+a+"\\b"))==-1){return false}return true};Spry.Widget.MenuBar.prototype.addClassName=function(b,a){if(!b||!a||this.hasClassName(b,a)){return}b.className+=(b.className?" ":"")+a};Spry.Widget.MenuBar.prototype.removeClassName=function(b,a){if(!b||!a||!this.hasClassName(b,a)){return}b.className=b.className.replace(new RegExp("\\s*\\b"+a+"\\b","g"),"")};Spry.Widget.MenuBar.prototype.addEventListener=function(c,b,d,a){try{if(c.addEventListener){c.addEventListener(b,d,a)}else{if(c.attachEvent){c.attachEvent("on"+b,d)}}}catch(f){}};Spry.Widget.MenuBar.prototype.createIframeLayer=function(b){var a=document.createElement("iframe");a.tabIndex="-1";a.src='javascript:""';a.frameBorder="0";a.scrolling="no";b.parentNode.appendChild(a);a.style.left=b.offsetLeft+"px";a.style.top=b.offsetTop+"px";a.style.width=b.offsetWidth+"px";a.style.height=b.offsetHeight+"px"};Spry.Widget.MenuBar.prototype.removeIframeLayer=function(b){var a=((b==this.element)?b:b.parentNode).getElementsByTagName("iframe");while(a.length>0){a[0].parentNode.removeChild(a[0])}};Spry.Widget.MenuBar.prototype.clearMenus=function(a){var c=a.getElementsByTagName("ul");for(var b=0;b<c.length;b++){this.hideSubmenu(c[b])}this.removeClassName(this.element,this.activeClass)};Spry.Widget.MenuBar.prototype.bubbledTextEvent=function(){return Spry.is.safari&&(event.target==event.relatedTarget.parentNode||(event.eventPhase==3&&event.target.parentNode==event.relatedTarget))};Spry.Widget.MenuBar.prototype.showSubmenu=function(a){if(this.currMenu){this.clearMenus(this.currMenu);this.currMenu=null}if(a){this.addClassName(a,this.subVisibleClass);if(typeof document.all!="undefined"&&!Spry.is.opera&&navigator.vendor!="KDE"){if(!this.hasClassName(this.element,this.horizontalClass)||a.parentNode.parentNode!=this.element){a.style.top=a.parentNode.offsetTop+"px"}}if(Spry.is.ie&&Spry.is.version<7){this.createIframeLayer(a)}}this.addClassName(this.element,this.activeClass)};Spry.Widget.MenuBar.prototype.hideSubmenu=function(a){if(a){this.removeClassName(a,this.subVisibleClass);if(typeof document.all!="undefined"&&!Spry.is.opera&&navigator.vendor!="KDE"){a.style.top="";a.style.left=""}if(Spry.is.ie&&Spry.is.version<7){this.removeIframeLayer(a)}}};Spry.Widget.MenuBar.prototype.initialize=function(h,d){var f,c;var e=h.getElementsByTagName("a")[0];var a=h.getElementsByTagName("ul");var g=(a.length>0?a[0]:null);if(g){this.addClassName(e,this.hasSubClass)}if(!Spry.is.ie){h.contains=function(j){if(j==null){return false}if(j==this){return true}else{return this.contains(j.parentNode)}}}var b=this;this.addEventListener(h,"mouseover",function(j){b.mouseOver(h,j)},false);this.addEventListener(h,"mouseout",function(j){if(b.enableKeyboardNavigation){b.clearSelection()}b.mouseOut(h,j)},false);if(this.enableKeyboardNavigation){this.addEventListener(e,"blur",function(j){b.onBlur(h)},false);this.addEventListener(e,"focus",function(j){b.keyFocus(h,j)},false)}};Spry.Widget.MenuBar.prototype.keyFocus=function(b,a){this.lastOpen=b.getElementsByTagName("a")[0];this.addClassName(this.lastOpen,b.getElementsByTagName("ul").length>0?this.subHoverClass:this.hoverClass);this.hasFocus=true};Spry.Widget.MenuBar.prototype.onBlur=function(a){this.clearSelection(a)};Spry.Widget.MenuBar.prototype.clearSelection=function(b){if(!this.lastOpen){return}if(b){b=b.getElementsByTagName("a")[0];var e=this.lastOpen;while(e!=this.element){var a=b;while(a!=this.element){if(a==e){return}try{a=a.parentNode}catch(d){break}}e=e.parentNode}}var e=this.lastOpen;while(e!=this.element){this.hideSubmenu(e.parentNode);var c=e.getElementsByTagName("a")[0];this.removeClassName(c,this.hoverClass);this.removeClassName(c,this.subHoverClass);e=e.parentNode}this.lastOpen=false};Spry.Widget.MenuBar.prototype.keyDown=function(g){if(!this.hasFocus){return}if(!this.lastOpen){this.hasFocus=false;return}var g=g||event;var j=this.lastOpen.parentNode;var c=this.lastOpen;var a=j.getElementsByTagName("ul");var h=(a.length>0?a[0]:null);var f=(h)?true:false;var b=[j,h,null,this.getSibling(j,"previousSibling"),this.getSibling(j,"nextSibling")];if(!b[3]){b[2]=(j.parentNode.parentNode.nodeName.toLowerCase()=="li")?j.parentNode.parentNode:null}var d=0;switch(g.keyCode){case this.upKeyCode:d=this.getElementForKey(b,"y",1);break;case this.downKeyCode:d=this.getElementForKey(b,"y",-1);break;case this.leftKeyCode:d=this.getElementForKey(b,"x",1);break;case this.rightKeyCode:d=this.getElementForKey(b,"x",-1);break;case this.escKeyCode:case 9:this.clearSelection();this.hasFocus=false;default:return}switch(d){case 0:return;case 1:this.mouseOver(j,g);break;case 2:this.mouseOut(b[2],g);break;case 3:case 4:this.removeClassName(c,f?this.subHoverClass:this.hoverClass);break}var c=b[d].getElementsByTagName("a")[0];if(b[d].nodeName.toLowerCase()=="ul"){b[d]=b[d].getElementsByTagName("li")[0]}this.addClassName(c,b[d].getElementsByTagName("ul").length>0?this.subHoverClass:this.hoverClass);this.lastOpen=c;b[d].getElementsByTagName("a")[0].focus();return Spry.Widget.MenuBar.stopPropagation(g)};Spry.Widget.MenuBar.prototype.mouseOver=function(h,f){var c=h.getElementsByTagName("a")[0];var a=h.getElementsByTagName("ul");var g=(a.length>0?a[0]:null);var d=(g)?true:false;if(this.enableKeyboardNavigation){this.clearSelection(h)}if(this.bubbledTextEvent()){return}if(h.closetime){clearTimeout(h.closetime)}if(this.currMenu==h){this.currMenu=null}if(this.hasFocus){c.focus()}this.addClassName(c,d?this.subHoverClass:this.hoverClass);this.lastOpen=c;if(g&&!this.hasClassName(g,this.subHoverClass)){var b=this;h.opentime=window.setTimeout(function(){b.showSubmenu(g)},this.showDelay)}};Spry.Widget.MenuBar.prototype.mouseOut=function(j,g){var c=j.getElementsByTagName("a")[0];var a=j.getElementsByTagName("ul");var h=(a.length>0?a[0]:null);var f=(h)?true:false;if(this.bubbledTextEvent()){return}var d=(typeof g.relatedTarget!="undefined"?g.relatedTarget:g.toElement);if(!j.contains(d)){if(j.opentime){clearTimeout(j.opentime)}this.currMenu=j;this.removeClassName(c,f?this.subHoverClass:this.hoverClass);if(h){var b=this;j.closetime=window.setTimeout(function(){b.hideSubmenu(h)},this.hideDelay)}if(this.hasFocus){c.blur()}}};Spry.Widget.MenuBar.prototype.getSibling=function(a,b){var c=a[b];while(c&&c.nodeName.toLowerCase()!="li"){c=c[b]}return c};Spry.Widget.MenuBar.prototype.getElementForKey=function(e,b,d){var l=0;var j=Spry.Widget.MenuBar.getPosition;var c=j(e[l]);var h=false;if(e[1]&&!this.hasClassName(e[1],this.MenuBarSubmenuVisible)){e[1].style.visibility="hidden";this.showSubmenu(e[1]);h=true}var a=this.hasClassName(this.element,this.verticalClass);var k=e[0].parentNode.parentNode.nodeName.toLowerCase()=="li"?true:false;for(var g=1;g<e.length;g++){if(b=="y"&&a&&(g==1||g==2)){continue}if(b=="x"&&!a&&!k&&(g==1||g==2)){continue}if(e[g]){var f=j(e[g]);if((d*f[b])<(d*c[b])){c=f;l=g}}}if(e[1]&&h){this.hideSubmenu(e[1]);e[1].style.visibility=""}return l};Spry.Widget.MenuBar.camelize=function(f){if(f.indexOf("-")==-1){return f}var d=f.split("-");var a=true;var b="";for(var c=0;c<d.length;c++){if(d[c].length>0){if(a){b=d[c];a=false}else{var e=d[c];b+=e.charAt(0).toUpperCase()+e.substring(1)}}}return b};Spry.Widget.MenuBar.getStyleProp=function(b,f){var c;try{if(b.style){c=b.style[Spry.Widget.MenuBar.camelize(f)]}if(!c){if(document.defaultView&&document.defaultView.getComputedStyle){var a=document.defaultView.getComputedStyle(b,null);c=a?a.getPropertyValue(f):null}else{if(b.currentStyle){c=b.currentStyle[Spry.Widget.MenuBar.camelize(f)]}}}}catch(d){}return c=="auto"?null:c};Spry.Widget.MenuBar.getIntProp=function(c,d){var b=parseInt(Spry.Widget.MenuBar.getStyleProp(c,d),10);if(isNaN(b)){return 0}return b};Spry.Widget.MenuBar.getPosition=function(d,g){g=g||document;if(typeof(d)=="string"){d=g.getElementById(d)}if(!d){return false}if(d.parentNode===null||Spry.Widget.MenuBar.getStyleProp(d,"display")=="none"){return false}var b={x:0,y:0};var c=null;var e;if(d.getBoundingClientRect){e=d.getBoundingClientRect();var f=g.documentElement.scrollTop||g.body.scrollTop;var h=g.documentElement.scrollLeft||g.body.scrollLeft;b.x=e.left+h;b.y=e.top+f}else{if(g.getBoxObjectFor){e=g.getBoxObjectFor(d);b.x=e.x;b.y=e.y}else{b.x=d.offsetLeft;b.y=d.offsetTop;c=d.offsetParent;if(c!=d){while(c){b.x+=c.offsetLeft;b.y+=c.offsetTop;c=c.offsetParent}}if(Spry.is.opera||Spry.is.safari&&Spry.Widget.MenuBar.getStyleProp(d,"position")=="absolute"){b.y-=g.body.offsetTop}}}if(d.parentNode){c=d.parentNode}else{c=null}if(c.nodeName){var a=c.nodeName.toUpperCase();while(c&&a!="BODY"&&a!="HTML"){a=c.nodeName.toUpperCase();b.x-=c.scrollLeft;b.y-=c.scrollTop;if(c.parentNode){c=c.parentNode}else{c=null}}}return b};Spry.Widget.MenuBar.stopPropagation=function(a){if(a.stopPropagation){a.stopPropagation()}else{a.cancelBubble=true}if(a.preventDefault){a.preventDefault()}else{a.returnValue=false}};Spry.Widget.MenuBar.setOptions=function(d,c,a){if(!c){return}for(var b in c){if(a&&c[b]==undefined){continue}d[b]=c[b]}};var Spry;if(!Spry){Spry={}}if(!Spry.Utils){Spry.Utils={}}Spry.$=function(b){if(arguments.length>1){for(var a=0,d=[],c=arguments.length;a<c;a++){d.push(Spry.$(arguments[a]))}return d}if(typeof b=="string"){b=document.getElementById(b)}return b};Spry.Utils.setAttribute=function(c,a,b){c=Spry.$(c);if(!c||!a){return}if(a=="class"){c.className=b}else{c.setAttribute(a,b)}};Spry.Utils.removeAttribute=function(b,a){b=Spry.$(b);if(!b||!a){return}try{b.removeAttribute(a);if(a=="class"){b.removeAttribute("className")}}catch(c){}};Spry.Utils.addClassName=function(b,a){b=Spry.$(b);if(!b||!a||(b.className&&b.className.search(new RegExp("\\b"+a+"\\b"))!=-1)){return}b.className+=(b.className?" ":"")+a};Spry.Utils.removeClassName=function(b,a){b=Spry.$(b);if(Spry.Utils.hasClassName(b,a)){b.className=b.className.replace(new RegExp("\\s*\\b"+a+"\\b","g"),"")}};Spry.Utils.toggleClassName=function(b,a){if(Spry.Utils.hasClassName(b,a)){Spry.Utils.removeClassName(b,a)}else{Spry.Utils.addClassName(b,a)}};Spry.Utils.hasClassName=function(b,a){b=Spry.$(b);if(!b||!a||!b.className||b.className.search(new RegExp("\\b"+a+"\\b"))==-1){return false}return true};Spry.Utils.camelizeString=function(f){var e="";var b=f.split("-");for(var c=0;c<b.length;c++){var d=b[c];if(d){e=e?(e+d.charAt(0).toUpperCase()+d.substring(1)):d}}return e};Spry.Utils.styleStringToObject=function(f){var e={};if(f){pvA=f.split(";");for(var b=0;b<pvA.length;b++){var d=pvA[b];if(d&&d.indexOf(":")!=-1){var c=d.split(":");var g=c[0].replace(/^\s*|\s*$/g,"");var a=c[1].replace(/^\s*|\s*$/g,"");if(g&&a){e[Spry.Utils.camelizeString(g)]=a}}}}return e};Spry.Utils.addEventListener=function(c,b,d,a){try{if(!Spry.Utils.eventListenerIsBoundToElement(c,b,d,a)){c=Spry.$(c);d=Spry.Utils.bindEventListenerToElement(c,b,d,a);if(c.addEventListener){c.addEventListener(b,d,a)}else{if(c.attachEvent){c.attachEvent("on"+b,d)}}}}catch(f){}};Spry.Utils.removeEventListener=function(c,b,d,a){try{c=Spry.$(c);d=Spry.Utils.unbindEventListenerFromElement(c,b,d,a);if(c.removeEventListener){c.removeEventListener(b,d,a)}else{if(c.detachEvent){c.detachEvent("on"+b,d)}}}catch(f){}};Spry.Utils.eventListenerHash={};Spry.Utils.nextEventListenerID=1;Spry.Utils.getHashForElementAndHandler=function(c,b,d,a){var e=null;c=Spry.$(c);if(c){if(typeof c.spryEventListenerID=="undefined"){c.spryEventListenerID="e"+(Spry.Utils.nextEventListenerID++)}if(typeof d.spryEventHandlerID=="undefined"){d.spryEventHandlerID="h"+(Spry.Utils.nextEventListenerID++)}e=c.spryEventListenerID+"-"+d.spryEventHandlerID+"-"+b+(a?"-capture":"")}return e};Spry.Utils.eventListenerIsBoundToElement=function(c,b,d,a){c=Spry.$(c);var e=Spry.Utils.getHashForElementAndHandler(c,b,d,a);return Spry.Utils.eventListenerHash[e]!=undefined};Spry.Utils.bindEventListenerToElement=function(c,b,d,a){c=Spry.$(c);var e=Spry.Utils.getHashForElementAndHandler(c,b,d,a);if(Spry.Utils.eventListenerHash[e]){return Spry.Utils.eventListenerHash[e]}return Spry.Utils.eventListenerHash[e]=function(g){g=g||window.event;if(!g.preventDefault){g.preventDefault=function(){this.returnValue=false}}if(!g.stopPropagation){g.stopPropagation=function(){this.cancelBubble=true}}var f=d.call(c,g);if(f==false){g.preventDefault();g.stopPropagation()}return f}};Spry.Utils.unbindEventListenerFromElement=function(c,b,d,a){c=Spry.$(c);var e=Spry.Utils.getHashForElementAndHandler(c,b,d,a);if(Spry.Utils.eventListenerHash[e]){d=Spry.Utils.eventListenerHash[e];Spry.Utils.eventListenerHash[e]=undefined}return d};Spry.Utils.addLoadListener=function(a){if(typeof window.addEventListener!="undefined"){window.addEventListener("load",a,false)}else{if(typeof document.addEventListener!="undefined"){document.addEventListener("load",a,false)}else{if(typeof window.attachEvent!="undefined"){window.attachEvent("onload",a)}}}};Spry.Utils.getAncestor=function(d,a){d=Spry.$(d);if(d){var c=Spry.$$.tokenizeSequence(a?a:"*")[0];var b=c?c[0]:null;if(b){var e=d.parentNode;while(e){if(b.match(e)){return e}e=e.parentNode}}}return null};Spry.$$=function(l,c){if(!c){c=document}else{c=Spry.$(c)}var h=Spry.$$.tokenizeSequence(l);var g=[];Spry.$$.addExtensions(g);++Spry.$$.queryID;var a=0;var k=h.length;for(var f=0;f<k;f++){var d=Spry.$$.processTokens(h[f],c);var o=d.length;for(var e=0;e<o;e++){var b=d[e];if(!b.spry$$ID){b.spry$$ID=++a;g.push(b)}}}var o=g.length;for(f=0;f<o;f++){g[f].spry$$ID=undefined}return g};Spry.$$.cache={};Spry.$$.queryID=0;Spry.$$.Token=function(){this.type=Spry.$$.Token.SELECTOR;this.name="*";this.id="";this.classes=[];this.attrs=[];this.pseudos=[]};Spry.$$.Token.Attr=function(b,a){this.name=b;this.value=a?new RegExp(a):undefined};Spry.$$.Token.PseudoClass=function(a){this.name=a.replace(/\(.*/,"");this.arg=a.replace(/^[^\(\)]*\(?\s*|\)\s*$/g,"");this.func=Spry.$$.pseudoFuncs[this.name]};Spry.$$.Token.SELECTOR=0;Spry.$$.Token.COMBINATOR=1;Spry.$$.Token.prototype.match=function(l,d){if(this.type==Spry.$$.Token.COMBINATOR){return false}if(!d&&this.name!="*"&&this.name!=l.nodeName.toLowerCase()){return false}if(this.id&&this.id!=l.id){return false}var e=this.classes;var h=e.length;for(var f=0;f<h;f++){if(!l.className||!e[f].value.test(l.className)){return false}}var k=this.attrs;h=k.length;for(var f=0;f<h;f++){var j=k[f];var g=l.attributes.getNamedItem(j.name);if(!g||(!j.value&&g.nodeValue==undefined)||(j.value&&!j.value.test(g.nodeValue))){return false}}var b=this.pseudos;var h=b.length;for(var f=0;f<h;f++){var c=b[f];if(c&&c.func&&!c.func(c.arg,l,this)){return false}}return true};Spry.$$.Token.prototype.getNodeNameIfTypeMatches=function(a){var b=a.nodeName.toLowerCase();if(this.name!="*"){if(this.name!=b){return null}return this.name}return b};Spry.$$.escapeRegExpCharsRE=/\/|\.|\*|\+|\(|\)|\[|\]|\{|\}|\\|\|/g;Spry.$$.tokenizeSequence=function(p){var g=Spry.$$.cache[p];if(g){return g}var q=/(\[[^\"'~\^\$\*\|\]=]+([~\^\$\*\|]?=\s*('[^']*'|"[^"]*"|[^"'\]]+))?\s*\])|((:[^\.#:\s,>~\+\[\]]+\(([^\(\)]+|\([^\(\)]*\))*\))|[\.#:]?[^\.#:\s,>~\+\[\]]+)|(\s*[\s,>~\+]\s*)/g;var f=new Spry.$$.Token;var h=[];h.push(f);var d=[];d.push(h);p=p.replace(/^\s*|\s*$/,"");var m=q.exec(p);while(m){var j=m[0];var l=j.charAt(0);switch(l){case".":f.classes.push(new Spry.$$.Token.Attr("class","\\b"+j.substr(1)+"\\b"));break;case"#":f.id=j.substr(1);break;case":":f.pseudos.push(new Spry.$$.Token.PseudoClass(j));break;case"[":var o=j.match(/\[([^\"'~\^\$\*\|\]=]+)(([~\^\$\*\|]?=)\s*('[^']*'|"[^"]*"|[^"'\]]+))?\s*\]/);var b=o[1];var a=o[3];var e=o[4];if(e){e=e.replace(/^['"]|['"]$/g,"");e=e.replace(Spry.$$.escapeRegExpCharsRE,"\\$&")}var n=undefined;switch(a){case"=":n="^"+e+"$";break;case"^=":n="^"+e;break;case"$=":n=e+"$";break;case"~=":case"|=":n="\\b"+e+"\\b";break;case"*=":n=e;break}f.attrs.push(new Spry.$$.Token.Attr(b,n));break;default:var k=j.match(/^\s*([\s,~>\+])\s*$/);if(k){if(k[1]==","){h=new Array;d.push(h);f=new Spry.$$.Token;h.push(f)}else{f=new Spry.$$.Token;f.type=Spry.$$.Token.COMBINATOR;f.name=k[1];h.push(f);f=new Spry.$$.Token();h.push(f)}}else{f.name=j.toLowerCase()}break}m=q.exec(p)}Spry.$$.cache[p]=d;return d};Spry.$$.combinatorFuncs={" ":function(a,c){var k=++Spry.$$.uniqueID;var g=[];var o=a.length;for(var h=0;h<o;h++){var b=a[h];if(k!=b.spry$$uid){var m=a[h].getElementsByTagName(c.name);var d=m.length;for(var f=0;f<d;f++){var l=m[f];if(c.match(l,true)){g.push(l)}l.spry$$uid=k}}}return g},">":function(a,d){var c=[];var f=a.length;for(var b=0;b<f;b++){var e=a[b].firstChild;while(e){if(e.nodeType==1&&d.match(e)){c.push(e)}e=e.nextSibling}}return c},"+":function(a,d){var c=[];var f=a.length;for(var b=0;b<f;b++){var e=a[b].nextSibling;while(e&&e.nodeType!=1){e=e.nextSibling}if(e&&d.match(e)){c.push(e)}}return c},"~":function(a,e){var d=++Spry.$$.uniqueID;var c=[];var g=a.length;for(var b=0;b<g;b++){var f=a[b].nextSibling;while(f){if(f.nodeType==1){if(d==f.spry$$uid){break}if(e.match(f)){c.push(f);f.spry$$uid=d}}f=f.nextSibling}}return c}};Spry.$$.uniqueID=0;Spry.$$.pseudoFuncs={":first-child":function(a,c,b){var d=c.previousSibling;while(d){if(d.nodeType==1){return false}d=d.previousSibling}return true},":last-child":function(a,c,b){var d=c.nextSibling;while(d){if(d.nodeType==1){return false}d=d.nextSibling}return true},":empty":function(a,c,b){var d=c.firstChild;while(d){switch(d.nodeType){case 1:case 3:case 4:case 5:return false}d=d.nextSibling}return true},":nth-child":function(a,c,b){return Spry.$$.nthChild(a,c,b)},":nth-last-child":function(a,c,b){return Spry.$$.nthChild(a,c,b,true)},":nth-of-type":function(a,c,b){return Spry.$$.nthChild(a,c,b,false,true)},":nth-last-of-type":function(a,c,b){return Spry.$$.nthChild(a,c,b,true,true)},":first-of-type":function(a,c,b){var e=b.getNodeNameIfTypeMatches(c);if(!e){return false}var d=c.previousSibling;while(d){if(d.nodeType==1&&e==d.nodeName.toLowerCase()){return false}d=d.previousSibling}return true},":last-of-type":function(a,c,b){var e=b.getNodeNameIfTypeMatches(c);if(!e){return false}var d=c.nextSibling;while(d){if(d.nodeType==1&&e==d.nodeName.toLowerCase()){return false}d=d.nextSibling}return true},":only-child":function(a,c,b){var d=Spry.$$.pseudoFuncs;return d[":first-child"](a,c,b)&&d[":last-child"](a,c,b)},":only-of-type":function(a,c,b){var d=Spry.$$.pseudoFuncs;return d[":first-of-type"](a,c,b)&&d[":last-of-type"](a,c,b)},":not":function(a,e,c){var d=Spry.$$.tokenizeSequence(a)[0];var b=d?d[0]:null;return !b||!b.match(e)},":enabled":function(a,c,b){return !c.disabled},":disabled":function(a,c,b){return c.disabled},":checked":function(a,c,b){return c.checked},":root":function(a,c,b){return c.parentNode&&c.ownerDocument&&c.parentNode==c.ownerDocument}};Spry.$$.nthRegExp=/((-|[0-9]+)?n)?([+-]?[0-9]*)/;Spry.$$.nthCache={even:{a:2,b:0,mode:1,invalid:false},odd:{a:2,b:1,mode:1,invalid:false},"2n":{a:2,b:0,mode:1,invalid:false},"2n+1":{a:2,b:1,mode:1,invalid:false}};Spry.$$.parseNthChildString=function(j){var h=Spry.$$.nthCache[j];if(!h){var d=j.match(Spry.$$.nthRegExp);var k=d[1];var e=d[2];var c=d[3];if(!e){e=k?1:0}else{if(e=="-"){e=-1}else{e=parseInt(e,10)}}c=c?parseInt(c,10):0;var g=(e==0)?0:((e>0)?1:-1);var f=false;if(e>0&&c<0){c=c%e;c=((c=(c%e))<0)?e+c:c}else{if(e<0){if(c<0){f=true}else{e=Math.abs(e)}}}h=new Object;h.a=e;h.b=c;h.mode=g;h.invalid=f;Spry.$$.nthCache[j]=h}return h};Spry.$$.nthChild=function(p,d,e,j,n){if(n){var l=e.getNodeNameIfTypeMatches(d);if(!l){return false}}var b=Spry.$$.parseNthChildString(p);if(b.invalid){return false}var f="spry$$ncQueryID";var a="spry$$ncPos";var g="spry$$ncCount";if(n){f+=l;a+=l;g+=l}var m=d.parentNode;if(m[f]!=Spry.$$.queryID){var k=0;m[f]=Spry.$$.queryID;var h=m.firstChild;while(h){if(h.nodeType==1&&(!n||l==h.nodeName.toLowerCase())){h[a]=++k}h=h.nextSibling}m[g]=k}k=d[a];if(j){k=m[g]-k+1}if(b.mode==0){return k==b.b}if(b.mode>0){return(k<b.b)?false:(!((k-b.b)%b.a))}return(k>b.b)?false:(!((b.b-k)%b.a))};Spry.$$.processTokens=function(e,a){var d=e.length;var f=[a];var g=null;for(var c=0;c<d&&f.length>0;c++){var b=e[c];if(b.type==Spry.$$.Token.SELECTOR){if(g){f=g(f,b);g=null}else{f=Spry.$$.getMatchingElements(f,b)}}else{g=Spry.$$.combinatorFuncs[b.name]}}return f};Spry.$$.getMatchingElements=function(a,c){var g=[];if(c.id){b=a[0];if(b&&b.ownerDocument){var k=b.ownerDocument.getElementById(c.id);if(k){if(c.match(k)){g.push(k)}}return g}}var m=a.length;for(var h=0;h<m;h++){var b=a[h];var l=b.getElementsByTagName(c.name);var d=l.length;for(var f=0;f<d;f++){var k=l[f];if(c.match(k,true)){g.push(k)}}}return g};Spry.$$.addExtensions=function(b){for(var c in Spry.$$.Results){b[c]=Spry.$$.Results[c]}};Spry.$$.Results={};Spry.$$.Results.forEach=function(b){var c=this.length;for(var a=0;a<c;a++){b(this[a])}return this};Spry.$$.Results.setAttribute=function(a,b){return this.forEach(function(c){Spry.Utils.setAttribute(c,a,b)})};Spry.$$.Results.removeAttribute=function(a){return this.forEach(function(b){Spry.Utils.removeAttribute(b,a)})};Spry.$$.Results.addClassName=function(a){return this.forEach(function(b){Spry.Utils.addClassName(b,a)})};Spry.$$.Results.removeClassName=function(a){return this.forEach(function(b){Spry.Utils.removeClassName(b,a)})};Spry.$$.Results.toggleClassName=function(a){return this.forEach(function(b){Spry.Utils.toggleClassName(b,a)})};Spry.$$.Results.addEventListener=function(b,d,a,c){return this.forEach(function(e){Spry.Utils.addEventListener(e,b,d,a,c)})};Spry.$$.Results.removeEventListener=function(b,c,a){return this.forEach(function(d){Spry.Utils.removeEventListener(d,b,c,a)})};Spry.$$.Results.setStyle=function(a){if(a){a=Spry.Utils.styleStringToObject(a);this.forEach(function(d){for(var c in a){try{d.style[c]=a[c]}catch(b){}}})}return this};Spry.$$.Results.setProperty=function(c,a){if(c){if(typeof c=="string"){var b={};b[c]=a;c=b}this.forEach(function(g){for(var f in c){try{g[f]=c[f]}catch(d){}}})}return this};var Spry;if(!Spry){Spry={}}if(!Spry.Widget){Spry.Widget={}}Spry.Widget.Accordion=function(a,b){this.element=this.getElement(a);this.defaultPanel=0;this.hoverClass="AccordionPanelTabHover";this.openClass="AccordionPanelOpen";this.closedClass="AccordionPanelClosed";this.focusedClass="AccordionFocused";this.enableAnimation=true;this.enableKeyboardNavigation=true;this.currentPanel=null;this.animator=null;this.hasFocus=null;this.previousPanelKeyCode=Spry.Widget.Accordion.KEY_UP;this.nextPanelKeyCode=Spry.Widget.Accordion.KEY_DOWN;this.useFixedPanelHeights=true;this.fixedPanelHeight=0;Spry.Widget.Accordion.setOptions(this,b,true);this.attachBehaviors()};Spry.Widget.Accordion.prototype.getElement=function(a){if(a&&typeof a=="string"){return document.getElementById(a)}return a};Spry.Widget.Accordion.prototype.addClassName=function(b,a){if(!b||!a||(b.className&&b.className.search(new RegExp("\\b"+a+"\\b"))!=-1)){return}b.className+=(b.className?" ":"")+a};Spry.Widget.Accordion.prototype.removeClassName=function(b,a){if(!b||!a||(b.className&&b.className.search(new RegExp("\\b"+a+"\\b"))==-1)){return}b.className=b.className.replace(new RegExp("\\s*\\b"+a+"\\b","g"),"")};Spry.Widget.Accordion.setOptions=function(d,c,a){if(!c){return}for(var b in c){if(a&&c[b]==undefined){continue}d[b]=c[b]}};Spry.Widget.Accordion.prototype.onPanelTabMouseOver=function(b,a){if(a){this.addClassName(this.getPanelTab(a),this.hoverClass)}return false};Spry.Widget.Accordion.prototype.onPanelTabMouseOut=function(b,a){if(a){this.removeClassName(this.getPanelTab(a),this.hoverClass)}return false};Spry.Widget.Accordion.prototype.openPanel=function(c){var e=this.currentPanel;var d;if(typeof c=="number"){d=this.getPanels()[c]}else{d=this.getElement(c)}if(!d||e==d){return null}var b=e?this.getPanelContent(e):null;var a=this.getPanelContent(d);if(!a){return null}if(this.useFixedPanelHeights&&!this.fixedPanelHeight){this.fixedPanelHeight=(b.offsetHeight)?b.offsetHeight:b.scrollHeight}if(this.enableAnimation){if(this.animator){this.animator.stop()}this.animator=new Spry.Widget.Accordion.PanelAnimator(this,d,{duration:this.duration,fps:this.fps,transition:this.transition});this.animator.start()}else{if(b){b.style.display="none";b.style.height="0px"}a.style.display="block";a.style.height=this.useFixedPanelHeights?this.fixedPanelHeight+"px":"auto"}if(e){this.removeClassName(e,this.openClass);this.addClassName(e,this.closedClass)}this.removeClassName(d,this.closedClass);this.addClassName(d,this.openClass);this.currentPanel=d;return d};Spry.Widget.Accordion.prototype.closePanel=function(){if(!this.useFixedPanelHeights&&this.currentPanel){var a=this.currentPanel;var b=this.getPanelContent(a);if(b){if(this.enableAnimation){if(this.animator){this.animator.stop()}this.animator=new Spry.Widget.Accordion.PanelAnimator(this,null,{duration:this.duration,fps:this.fps,transition:this.transition});this.animator.start()}else{b.style.display="none";b.style.height="0px"}}this.removeClassName(a,this.openClass);this.addClassName(a,this.closedClass);this.currentPanel=null}};Spry.Widget.Accordion.prototype.openNextPanel=function(){return this.openPanel(this.getCurrentPanelIndex()+1)};Spry.Widget.Accordion.prototype.openPreviousPanel=function(){return this.openPanel(this.getCurrentPanelIndex()-1)};Spry.Widget.Accordion.prototype.openFirstPanel=function(){return this.openPanel(0)};Spry.Widget.Accordion.prototype.openLastPanel=function(){var a=this.getPanels();return this.openPanel(a[a.length-1])};Spry.Widget.Accordion.prototype.onPanelTabClick=function(b,a){if(a!=this.currentPanel){this.openPanel(a)}else{this.closePanel()}if(this.enableKeyboardNavigation){this.focus()}if(b.preventDefault){b.preventDefault()}else{b.returnValue=false}if(b.stopPropagation){b.stopPropagation()}else{b.cancelBubble=true}return false};Spry.Widget.Accordion.prototype.onFocus=function(a){this.hasFocus=true;this.addClassName(this.element,this.focusedClass);return false};Spry.Widget.Accordion.prototype.onBlur=function(a){this.hasFocus=false;this.removeClassName(this.element,this.focusedClass);return false};Spry.Widget.Accordion.KEY_UP=38;Spry.Widget.Accordion.KEY_DOWN=40;Spry.Widget.Accordion.prototype.onKeyDown=function(c){var b=c.keyCode;if(!this.hasFocus||(b!=this.previousPanelKeyCode&&b!=this.nextPanelKeyCode)){return true}var a=this.getPanels();if(!a||a.length<1){return false}var f=this.currentPanel?this.currentPanel:a[0];var d=(b==this.nextPanelKeyCode)?f.nextSibling:f.previousSibling;while(d){if(d.nodeType==1){break}d=(b==this.nextPanelKeyCode)?d.nextSibling:d.previousSibling}if(d&&f!=d){this.openPanel(d)}if(c.preventDefault){c.preventDefault()}else{c.returnValue=false}if(c.stopPropagation){c.stopPropagation()}else{c.cancelBubble=true}return false};Spry.Widget.Accordion.prototype.attachPanelHandlers=function(a){if(!a){return}var c=this.getPanelTab(a);if(c){var b=this;Spry.Widget.Accordion.addEventListener(c,"click",function(d){return b.onPanelTabClick(d,a)},false);Spry.Widget.Accordion.addEventListener(c,"mouseover",function(d){return b.onPanelTabMouseOver(d,a)},false);Spry.Widget.Accordion.addEventListener(c,"mouseout",function(d){return b.onPanelTabMouseOut(d,a)},false)}};Spry.Widget.Accordion.addEventListener=function(c,b,d,a){try{if(c.addEventListener){c.addEventListener(b,d,a)}else{if(c.attachEvent){c.attachEvent("on"+b,d)}}}catch(f){}};Spry.Widget.Accordion.prototype.initPanel=function(a,c){var b=this.getPanelContent(a);if(c){this.currentPanel=a;this.removeClassName(a,this.closedClass);this.addClassName(a,this.openClass);if(b){if(this.useFixedPanelHeights){if(this.fixedPanelHeight){b.style.height=this.fixedPanelHeight+"px"}}else{b.style.height="auto"}}}else{this.removeClassName(a,this.openClass);this.addClassName(a,this.closedClass);if(b){b.style.height="0px";b.style.display="none"}}this.attachPanelHandlers(a)};Spry.Widget.Accordion.prototype.attachBehaviors=function(){var b=this.getPanels();for(var c=0;c<b.length;c++){this.initPanel(b[c],c==this.defaultPanel)}this.enableKeyboardNavigation=(this.enableKeyboardNavigation&&this.element.attributes.getNamedItem("tabindex"));if(this.enableKeyboardNavigation){var a=this;Spry.Widget.Accordion.addEventListener(this.element,"focus",function(d){return a.onFocus(d)},false);Spry.Widget.Accordion.addEventListener(this.element,"blur",function(d){return a.onBlur(d)},false);Spry.Widget.Accordion.addEventListener(this.element,"keydown",function(d){return a.onKeyDown(d)},false)}};Spry.Widget.Accordion.prototype.getPanels=function(){return this.getElementChildren(this.element)};Spry.Widget.Accordion.prototype.getCurrentPanel=function(){return this.currentPanel};Spry.Widget.Accordion.prototype.getPanelIndex=function(a){var b=this.getPanels();for(var c=0;c<b.length;c++){if(a==b[c]){return c}}return -1};Spry.Widget.Accordion.prototype.getCurrentPanelIndex=function(){return this.getPanelIndex(this.currentPanel)};Spry.Widget.Accordion.prototype.getPanelTab=function(a){if(!a){return null}return this.getElementChildren(a)[0]};Spry.Widget.Accordion.prototype.getPanelContent=function(a){if(!a){return null}return this.getElementChildren(a)[1]};Spry.Widget.Accordion.prototype.getElementChildren=function(b){var a=[];var c=b.firstChild;while(c){if(c.nodeType==1){a.push(c)}c=c.nextSibling}return a};Spry.Widget.Accordion.prototype.focus=function(){if(this.element&&this.element.focus){this.element.focus()}};Spry.Widget.Accordion.prototype.blur=function(){if(this.element&&this.element.blur){this.element.blur()}};Spry.Widget.Accordion.PanelAnimator=function(j,b,a){this.timer=null;this.interval=0;this.fps=60;this.duration=500;this.startTime=0;this.transition=Spry.Widget.Accordion.PanelAnimator.defaultTransition;this.onComplete=null;this.panel=b;this.panelToOpen=j.getElement(b);this.panelData=[];this.useFixedPanelHeights=j.useFixedPanelHeights;Spry.Widget.Accordion.setOptions(this,a,true);this.interval=Math.floor(1000/this.fps);var k=j.getPanels();for(var f=0;f<k.length;f++){var d=k[f];var l=j.getPanelContent(d);if(l){var g=l.offsetHeight;if(g==undefined){g=0}if(d==b&&g==0){l.style.display="block"}if(d==b||g>0){var e=new Object;e.panel=d;e.content=l;e.fromHeight=g;e.toHeight=(d==b)?(j.useFixedPanelHeights?j.fixedPanelHeight:l.scrollHeight):0;e.distance=e.toHeight-e.fromHeight;e.overflow=l.style.overflow;this.panelData.push(e);l.style.overflow="hidden";l.style.height=g+"px"}}}};Spry.Widget.Accordion.PanelAnimator.defaultTransition=function(d,b,a,c){d/=c;return b+((2-d)*d*a)};Spry.Widget.Accordion.PanelAnimator.prototype.start=function(){var a=this;this.startTime=(new Date).getTime();this.timer=setTimeout(function(){a.stepAnimation()},this.interval)};Spry.Widget.Accordion.PanelAnimator.prototype.stop=function(){if(this.timer){clearTimeout(this.timer);for(i=0;i<this.panelData.length;i++){obj=this.panelData[i];obj.content.style.overflow=obj.overflow}}this.timer=null};Spry.Widget.Accordion.PanelAnimator.prototype.stepAnimation=function(){var e=(new Date).getTime();var b=e-this.startTime;var d,f;if(b>=this.duration){for(d=0;d<this.panelData.length;d++){f=this.panelData[d];if(f.panel!=this.panel){f.content.style.display="none";f.content.style.height="0px"}f.content.style.overflow=f.overflow;f.content.style.height=(this.useFixedPanelHeights||f.toHeight==0)?f.toHeight+"px":"auto"}if(this.onComplete){this.onComplete()}return}for(d=0;d<this.panelData.length;d++){f=this.panelData[d];var c=this.transition(b,f.fromHeight,f.distance,this.duration);f.content.style.height=((c<0)?0:c)+"px"}var a=this;this.timer=setTimeout(function(){a.stepAnimation()},this.interval)};var Spry;if(!Spry){Spry={}}if(!Spry.Widget){Spry.Widget={}}Spry.Widget.SlidingPanels=function(a,b){this.element=this.getElement(a);this.enableAnimation=true;this.currentPanel=null;this.enableKeyboardNavigation=true;this.hasFocus=false;this.previousPanelKeyCode=Spry.Widget.SlidingPanels.KEY_LEFT;this.nextPanelKeyCode=Spry.Widget.SlidingPanels.KEY_RIGHT;this.currentPanelClass="SlidingPanelsCurrentPanel";this.focusedClass="SlidingPanelsFocused";this.animatingClass="SlidingPanelsAnimating";Spry.Widget.SlidingPanels.setOptions(this,b);if(this.element){this.element.style.overflow="hidden"}if(this.defaultPanel){if(typeof this.defaultPanel=="number"){this.currentPanel=this.getContentPanels()[this.defaultPanel]}else{this.currentPanel=this.getElement(this.defaultPanel)}}if(!this.currentPanel){this.currentPanel=this.getContentPanels()[0]}if(Spry.Widget.SlidingPanels.onloadDidFire){this.attachBehaviors()}else{Spry.Widget.SlidingPanels.loadQueue.push(this)}};Spry.Widget.SlidingPanels.prototype.onFocus=function(a){this.hasFocus=true;this.addClassName(this.element,this.focusedClass);return false};Spry.Widget.SlidingPanels.prototype.onBlur=function(a){this.hasFocus=false;this.removeClassName(this.element,this.focusedClass);return false};Spry.Widget.SlidingPanels.KEY_LEFT=37;Spry.Widget.SlidingPanels.KEY_UP=38;Spry.Widget.SlidingPanels.KEY_RIGHT=39;Spry.Widget.SlidingPanels.KEY_DOWN=40;Spry.Widget.SlidingPanels.prototype.onKeyDown=function(b){var a=b.keyCode;if(!this.hasFocus||(a!=this.previousPanelKeyCode&&a!=this.nextPanelKeyCode)){return true}if(a==this.nextPanelKeyCode){this.showNextPanel()}else{this.showPreviousPanel()}if(b.preventDefault){b.preventDefault()}else{b.returnValue=false}if(b.stopPropagation){b.stopPropagation()}else{b.cancelBubble=true}return false};Spry.Widget.SlidingPanels.prototype.attachBehaviors=function(){var e=this.element;if(!e){return}if(this.enableKeyboardNavigation){var a=null;var d=e.attributes.getNamedItem("tabindex");if(d||e.nodeName.toLowerCase()=="a"){a=e}if(a){var b=this;Spry.Widget.SlidingPanels.addEventListener(a,"focus",function(f){return b.onFocus(f||window.event)},false);Spry.Widget.SlidingPanels.addEventListener(a,"blur",function(f){return b.onBlur(f||window.event)},false);Spry.Widget.SlidingPanels.addEventListener(a,"keydown",function(f){return b.onKeyDown(f||window.event)},false)}}if(this.currentPanel){var c=this.enableAnimation;this.enableAnimation=false;this.showPanel(this.currentPanel);this.enableAnimation=c}};Spry.Widget.SlidingPanels.prototype.getElement=function(a){if(a&&typeof a=="string"){return document.getElementById(a)}return a};Spry.Widget.SlidingPanels.prototype.addClassName=function(b,a){if(!b||!a||(b.className&&b.className.search(new RegExp("\\b"+a+"\\b"))!=-1)){return}b.className+=(b.className?" ":"")+a};Spry.Widget.SlidingPanels.prototype.removeClassName=function(b,a){if(!b||!a||(b.className&&b.className.search(new RegExp("\\b"+a+"\\b"))==-1)){return}b.className=b.className.replace(new RegExp("\\s*\\b"+a+"\\b","g"),"")};Spry.Widget.SlidingPanels.setOptions=function(d,c,a){if(!c){return}for(var b in c){if(a&&c[b]==undefined){continue}d[b]=c[b]}};Spry.Widget.SlidingPanels.prototype.getElementChildren=function(b){var a=[];var c=b.firstChild;while(c){if(c.nodeType==1){a.push(c)}c=c.nextSibling}return a};Spry.Widget.SlidingPanels.prototype.getCurrentPanel=function(){return this.currentPanel};Spry.Widget.SlidingPanels.prototype.getContentGroup=function(){return this.getElementChildren(this.element)[0]};Spry.Widget.SlidingPanels.prototype.getContentPanels=function(){return this.getElementChildren(this.getContentGroup())};Spry.Widget.SlidingPanels.prototype.getContentPanelsCount=function(){return this.getContentPanels().length};Spry.Widget.SlidingPanels.onloadDidFire=false;Spry.Widget.SlidingPanels.loadQueue=[];Spry.Widget.SlidingPanels.addLoadListener=function(a){if(typeof window.addEventListener!="undefined"){window.addEventListener("load",a,false)}else{if(typeof document.addEventListener!="undefined"){document.addEventListener("load",a,false)}else{if(typeof window.attachEvent!="undefined"){window.attachEvent("onload",a)}}}};Spry.Widget.SlidingPanels.processLoadQueue=function(c){Spry.Widget.SlidingPanels.onloadDidFire=true;var d=Spry.Widget.SlidingPanels.loadQueue;var a=d.length;for(var b=0;b<a;b++){d[b].attachBehaviors()}};Spry.Widget.SlidingPanels.addLoadListener(Spry.Widget.SlidingPanels.processLoadQueue);Spry.Widget.SlidingPanels.addEventListener=function(c,b,d,a){try{if(c.addEventListener){c.addEventListener(b,d,a)}else{if(c.attachEvent){c.attachEvent("on"+b,d)}}}catch(f){}};Spry.Widget.SlidingPanels.prototype.getContentPanelIndex=function(d){if(d){d=this.getElement(d);var b=this.getContentPanels();var a=b.length;for(var c=0;c<a;c++){if(b[c]==d){return c}}}return -1};Spry.Widget.SlidingPanels.prototype.showPanel=function(j){var g=-1;if(typeof j=="number"){g=j}else{g=this.getContentPanelIndex(j)}var e=this.getContentPanelsCount();if(e>0){g=(g>=e)?e-1:g}else{g=0}var a=this.getContentPanels()[g];var h=this.getContentGroup();if(a&&h){if(this.currentPanel){this.removeClassName(this.currentPanel,this.currentPanelClass)}this.currentPanel=a;var f=-a.offsetLeft;var d=-a.offsetTop;if(this.enableAnimation){if(this.animator){this.animator.stop()}var c=h.offsetLeft;var b=h.offsetTop;if(c!=f||b!=d){var k=this;this.addClassName(this.element,this.animatingClass);this.animator=new Spry.Widget.SlidingPanels.PanelAnimator(h,c,b,f,d,{duration:this.duration,fps:this.fps,transition:this.transition,finish:function(){k.removeClassName(k.element,k.animatingClass);k.addClassName(a,k.currentPanelClass)}});this.animator.start()}}else{h.style.left=f+"px";h.style.top=d+"px";this.addClassName(a,this.currentPanelClass)}}return a};Spry.Widget.SlidingPanels.prototype.showFirstPanel=function(){return this.showPanel(0)};Spry.Widget.SlidingPanels.prototype.showLastPanel=function(){return this.showPanel(this.getContentPanels().length-1)};Spry.Widget.SlidingPanels.prototype.showPreviousPanel=function(){return this.showPanel(this.getContentPanelIndex(this.currentPanel)-1)};Spry.Widget.SlidingPanels.prototype.showNextPanel=function(){return this.showPanel(this.getContentPanelIndex(this.currentPanel)+1)};Spry.Widget.SlidingPanels.PanelAnimator=function(e,b,a,g,f,d){this.element=e;this.curX=b;this.curY=a;this.dstX=g;this.dstY=f;this.fps=60;this.duration=500;this.transition=Spry.Widget.SlidingPanels.PanelAnimator.defaultTransition;this.startTime=0;this.timerID=0;this.finish=null;var c=this;this.intervalFunc=function(){c.step()};Spry.Widget.SlidingPanels.setOptions(this,d,true);this.interval=1000/this.fps};Spry.Widget.SlidingPanels.PanelAnimator.defaultTransition=function(d,b,a,c){d/=c;return b+((2-d)*d*a)};Spry.Widget.SlidingPanels.PanelAnimator.prototype.start=function(){this.stop();this.startTime=(new Date()).getTime();this.timerID=setTimeout(this.intervalFunc,this.interval)};Spry.Widget.SlidingPanels.PanelAnimator.prototype.stop=function(){if(this.timerID){clearTimeout(this.timerID)}this.timerID=0};Spry.Widget.SlidingPanels.PanelAnimator.prototype.step=function(){var c=(new Date()).getTime()-this.startTime;var b=c>=this.duration;var a,d;if(b){a=this.curX=this.dstX;d=this.curY=this.dstY}else{a=this.transition(c,this.curX,this.dstX-this.curX,this.duration);d=this.transition(c,this.curY,this.dstY-this.curY,this.duration)}this.element.style.left=a+"px";this.element.style.top=d+"px";if(!b){this.timerID=setTimeout(this.intervalFunc,this.interval)}else{if(this.finish){this.finish()}}};var Spry;if(!Spry){Spry={}}if(!Spry.Utils){Spry.Utils={}}Spry.Utils.submitForm=function(c,e,b){if(!c){return true}if(typeof c=="string"){c=Spry.$(c)||document.forms[c]}var d={};d.method=c.getAttribute("method");d.url=c.getAttribute("action")||document.location.href;d.enctype=c.getAttribute("enctype");Spry.Utils.setOptions(d,b);var a=Spry.Utils.extractParamsFromForm(c,d.elements);if(d.additionalData){a+="&"+d.additionalData}if(!d.enctype||d.enctype.toLowerCase()!="multipart/form-data"){d.method=(d.method&&d.method.toLowerCase()=="post")?"POST":"GET";if(d.method=="GET"){if(d.url.indexOf("?")==-1){d.url+="?"}else{d.url+="&"}d.url+=a}else{if(!d.headers){d.headers={}}if(!d.headers["Content-Type"]||d.headers["Content-Type"].indexOf("application/x-www-form-urlencoded")==-1){d.headers["Content-Type"]="application/x-www-form-urlencoded"}d.postData=a}Spry.Utils.loadURL(d.method,d.url,true,e,d);return false}return true};Spry.Utils.extractParamsFromForm=function(b,a){if(!b){return""}if(typeof b=="string"){b=document.getElementById(b)||document.forms[b]}var e;if(a){e=","+a.join(",")+","}var k=new Array();var d;for(var g=0;g<b.elements.length;g++){d=b.elements[g];if(d.disabled||!d.name){continue}if(!d.type){continue}if(e&&e.indexOf(","+d.name+",")==-1){continue}switch(d.type.toLowerCase()){case"text":case"password":case"textarea":case"hidden":case"submit":k.push(encodeURIComponent(d.name)+"="+encodeURIComponent(d.value));break;case"select-one":var h="";var c;if(d.selectedIndex>=0){c=d.options[d.selectedIndex];h=c.value||c.text}k.push(encodeURIComponent(d.name)+"="+encodeURIComponent(h));break;case"select-multiple":for(var f=0;f<d.length;f++){if(d.options[f].selected){h=d.options[f].value||d.options[f].text;k.push(encodeURIComponent(d.name)+"="+encodeURIComponent(h))}}break;case"checkbox":case"radio":if(d.checked){k.push(encodeURIComponent(d.name)+"="+encodeURIComponent(d.value))}break;default:break}}return k.join("&")};var Spry;if(!Spry){Spry={}}if(!Spry.Widget){Spry.Widget={}}Spry.Widget.BrowserSniff=function(){var j=navigator.appName.toString();var e=navigator.platform.toString();var c=navigator.userAgent.toString();this.mozilla=this.ie=this.opera=this.safari=false;var g=/Opera.([0-9\.]*)/i;var d=/MSIE.([0-9\.]*)/i;var f=/gecko/i;var h=/(applewebkit|safari)\/([\d\.]*)/i;var a=false;if((a=c.match(g))){this.opera=true;this.version=parseFloat(a[1])}else{if((a=c.match(d))){this.ie=true;this.version=parseFloat(a[1])}else{if((a=c.match(h))){this.safari=true;this.version=parseFloat(a[2])}else{if(c.match(f)){var k=/rv:\s*([0-9\.]+)/i;a=c.match(k);this.mozilla=true;this.version=parseFloat(a[1])}}}}this.windows=this.mac=this.linux=false;this.Platform=c.match(/windows/i)?"windows":(c.match(/linux/i)?"linux":(c.match(/mac/i)?"mac":c.match(/unix/i)?"unix":"unknown"));this[this.Platform]=true;this.v=this.version;if(this.safari&&this.mac&&this.mozilla){this.mozilla=false}};Spry.is=new Spry.Widget.BrowserSniff();Spry.Widget.ValidationConfirm=function(c,a,b){b=Spry.Widget.Utils.firstValid(b,{});if(!this.isBrowserSupported()){return}if(this.init(c,a,b)===false){return false}var d=["submit"].concat(Spry.Widget.Utils.firstValid(this.options.validateOn,[]));d=d.join(",");this.validateOn=0;this.validateOn=this.validateOn|(d.indexOf("submit")!=-1?Spry.Widget.ValidationConfirm.ONSUBMIT:0);this.validateOn=this.validateOn|(d.indexOf("blur")!=-1?Spry.Widget.ValidationConfirm.ONBLUR:0);this.validateOn=this.validateOn|(d.indexOf("change")!=-1?Spry.Widget.ValidationConfirm.ONCHANGE:0);if(Spry.Widget.ValidationConfirm.onloadDidFire){this.attachBehaviors()}else{Spry.Widget.ValidationConfirm.loadQueue.push(this)}};Spry.Widget.ValidationConfirm.ONCHANGE=1;Spry.Widget.ValidationConfirm.ONBLUR=2;Spry.Widget.ValidationConfirm.ONSUBMIT=4;Spry.Widget.ValidationConfirm.prototype.init=function(c,a,b){b=Spry.Widget.Utils.firstValid(b,[]);this.options=[];this.element=this.getElement(c);if(!this.element){this.showError("The element "+(!c||c==""?"to be validated is not defined!":(c+" doesn't exists!")));return false}else{if(this.element.nodeName.toUpperCase()=="INPUT"&&(typeof this.element.type=="undefined"||",RADIO,CHECKBOX,BUTTON,SUBMIT,IMAGE,".indexOf(","+this.element.type.toUpperCase+",")==-1)){this.input=this.element}else{this.input=Spry.Widget.Utils.getFirstChildWithNodeNameAtAnyLevel(this.element,"INPUT")}}if(!this.input){this.showError("Element "+c+" doesn't contain any form input!");return false}var d=this.getElement(a);this.firstInput=false;if(!d){this.showError("The element "+(!a||a==""?"that contains the value to be validated is not defined!":(a+" doesn't exists!")));return false}if(d.nodeName.toUpperCase()!="INPUT"){this.firstInput=Spry.Widget.Utils.getFirstChildWithNodeNameAtAnyLevel(d,"INPUT")}else{if(typeof d.type=="undefined"||",RADIO,CHECKBOX,BUTTON,SUBMIT,IMAGE,".indexOf(","+d.type.toUpperCase()+",")==-1){this.firstInput=d}}if(!this.firstInput){this.showError("Element "+a+" doesn't contain any form input!");return false}this.event_handlers=[];this.validClass="confirmValidState";this.focusClass="confirmFocusState";this.requiredClass="confirmRequiredState";this.invalidClass="confirmInvalidState";b.isRequired=Spry.Widget.Utils.firstValid(b.isRequired,true);b.additionalError=Spry.Widget.Utils.firstValid(b.additionalError,false);if(b.additionalError){b.additionalError=this.getElement(b.additionalError)}Spry.Widget.Utils.setOptions(this,b);Spry.Widget.Utils.setOptions(this.options,b)};Spry.Widget.ValidationConfirm.loadQueue=[];Spry.Widget.ValidationConfirm.onloadDidFire=false;Spry.Widget.ValidationConfirm.prototype.getElement=function(a){if(a&&typeof a=="string"){a=document.getElementById(a)}return a};Spry.Widget.ValidationConfirm.processLoadQueue=function(c){Spry.Widget.ValidationConfirm.onloadDidFire=true;var d=Spry.Widget.ValidationConfirm.loadQueue;var a=d.length;for(var b=0;b<a;b++){d[b].attachBehaviors()}};Spry.Widget.ValidationConfirm.addLoadListener=function(a){if(typeof window.addEventListener!="undefined"){window.addEventListener("load",a,false)}else{if(typeof document.addEventListener!="undefined"){document.addEventListener("load",a,false)}else{if(typeof window.attachEvent!="undefined"){window.attachEvent("onload",a)}}}};Spry.Widget.ValidationConfirm.addLoadListener(Spry.Widget.ValidationConfirm.processLoadQueue);Spry.Widget.ValidationConfirm.prototype.destroy=function(){if(this.event_handlers){for(var b=0;b<this.event_handlers.length;b++){Spry.Widget.Utils.removeEventListener(this.event_handlers[b][0],this.event_handlers[b][1],this.event_handlers[b][2],false)}}try{delete this.element}catch(c){}try{delete this.input}catch(c){}try{delete this.event_handlers}catch(c){}try{delete this.options}catch(c){}var d=Spry.Widget.Form.onSubmitWidgetQueue;var a=d.length;for(var b=0;b<a;b++){if(d[b]==this){d.splice(b,1);break}}};Spry.Widget.ValidationConfirm.prototype.attachBehaviors=function(){if(this.event_handlers&&this.event_handlers.length>0){return}var b=this.event_handlers;if(this.input){var a=this;this.input.setAttribute("AutoComplete","off");if(this.validateOn&Spry.Widget.ValidationConfirm.ONCHANGE){var d=Spry.is.mozilla||Spry.is.opera||Spry.is.safari?"input":Spry.is.ie?"propertychange":"change";b.push([this.input,d,function(f){if(a.isDisabled()){return true}return a.validate(f||event)}]);if(Spry.is.mozilla||Spry.is.safari){b.push([this.input,"dragdrop",function(f){if(a.isDisabled()){return true}return a.validate(f)}])}else{if(Spry.is.ie){b.push([this.input,"drop",function(f){if(a.isDisabled()){return true}return a.validate(event)}])}}}b.push([this.input,"blur",function(f){if(a.isDisabled()){return true}return a.onBlur(f||event)}]);b.push([this.input,"focus",function(f){if(a.isDisabled()){return true}return a.onFocus(f||event)}]);for(var c=0;c<this.event_handlers.length;c++){Spry.Widget.Utils.addEventListener(this.event_handlers[c][0],this.event_handlers[c][1],this.event_handlers[c][2],false)}this.form=Spry.Widget.Utils.getFirstParentWithNodeName(this.input,"FORM");if(this.form){if(!this.form.attachedSubmitHandler&&!this.form.onsubmit){this.form.onsubmit=function(f){f=f||event;return Spry.Widget.Form.onSubmit(f,f.srcElement||f.currentTarget)};this.form.attachedSubmitHandler=true}if(!this.form.attachedResetHandler){Spry.Widget.Utils.addEventListener(this.form,"reset",function(f){var f=f||event;return Spry.Widget.Form.onReset(f,f.srcElement||f.currentTarget)},false);this.form.attachedResetHandler=true}Spry.Widget.Form.onSubmitWidgetQueue.push(this)}}};Spry.Widget.ValidationConfirm.prototype.reset=function(){this.switchClassName(this.element,"");this.switchClassName(this.additionalError,"");this.removeClassName(this.element,this.focusClass);this.removeClassName(this.additionalError,this.focusClass);if(Spry.is.ie){this.input.forceFireFirstOnPropertyChange=true;this.input.removeAttribute("forceFireFirstOnPropertyChange")}};Spry.Widget.ValidationConfirm.prototype.validate=function(a){if(this.isRequired&&this.input.value==""){this.switchClassName(this.element,this.requiredClass);this.switchClassName(this.additionalError,this.requiredClass);return false}if(this.input.value.length>0&&this.input.value!=this.firstInput.value){this.switchClassName(this.element,this.invalidClass);this.switchClassName(this.additionalError,this.invalidClass);return false}this.switchClassName(this.element,this.validClass);this.switchClassName(this.additionalError,this.validClass);return true};Spry.Widget.ValidationConfirm.prototype.onBlur=function(a){this.removeClassName(this.element,this.focusClass);this.removeClassName(this.additionalError,this.focusClass);if(this.validateOn&Spry.Widget.ValidationConfirm.ONBLUR){this.validate(a)}};Spry.Widget.ValidationConfirm.prototype.onFocus=function(){this.addClassName(this.element,this.focusClass);this.addClassName(this.additionalError,this.focusClass)};Spry.Widget.ValidationConfirm.prototype.switchClassName=function(d,c){var b=[this.validClass,this.requiredClass,this.invalidClass];for(var a=0;a<b.length;a++){this.removeClassName(d,b[a])}this.addClassName(d,c)};Spry.Widget.ValidationConfirm.prototype.addClassName=function(b,a){if(!b||!a||(b.className&&b.className.indexOf(a)!=-1&&b.className.search(new RegExp("\\b"+a+"\\b"))!=-1)){return}b.className+=(b.className?" ":"")+a};Spry.Widget.ValidationConfirm.prototype.removeClassName=function(b,a){if(!b||!a||(b.className&&b.className.indexOf(a)!=-1&&b.className.search(new RegExp("\\b"+a+"\\b"))==-1)){return}b.className=b.className.replace(new RegExp("\\s*\\b"+a+"\\b","g"),"")};Spry.Widget.ValidationConfirm.prototype.isBrowserSupported=function(){return Spry.is.ie&&Spry.is.v>=5&&Spry.is.windows||Spry.is.mozilla&&Spry.is.v>=1.4||Spry.is.safari||Spry.is.opera&&Spry.is.v>=9};Spry.Widget.ValidationConfirm.prototype.isDisabled=function(){return this.input&&(this.input.disabled||this.input.readOnly)||!this.input};Spry.Widget.ValidationConfirm.prototype.showError=function(a){alert("Spry.ValidationConfirm ERR: "+a)};if(!Spry.Widget.Form){Spry.Widget.Form={}}if(!Spry.Widget.Form.onSubmitWidgetQueue){Spry.Widget.Form.onSubmitWidgetQueue=[]}if(!Spry.Widget.Form.validate){Spry.Widget.Form.validate=function(f){var e=true;var d=true;var c=Spry.Widget.Form.onSubmitWidgetQueue;var a=c.length;for(var b=0;b<a;b++){if(!c[b].isDisabled()&&c[b].form==f){d=c[b].validate();e=d&&e}}return e}}if(!Spry.Widget.Form.onSubmit){Spry.Widget.Form.onSubmit=function(b,a){if(Spry.Widget.Form.validate(a)==false){return false}return true}}if(!Spry.Widget.Form.onReset){Spry.Widget.Form.onReset=function(d,f){var c=Spry.Widget.Form.onSubmitWidgetQueue;var a=c.length;for(var b=0;b<a;b++){if(!c[b].isDisabled()&&c[b].form==f&&typeof(c[b].reset)=="function"){c[b].reset()}}return true}}if(!Spry.Widget.Form.destroy){Spry.Widget.Form.destroy=function(b){var c=Spry.Widget.Form.onSubmitWidgetQueue;for(var a=0;a<Spry.Widget.Form.onSubmitWidgetQueue.length;a++){if(c[a].form==b&&typeof(c[a].destroy)=="function"){c[a].destroy();a--}}}}if(!Spry.Widget.Form.destroyAll){Spry.Widget.Form.destroyAll=function(){var b=Spry.Widget.Form.onSubmitWidgetQueue;for(var a=0;a<Spry.Widget.Form.onSubmitWidgetQueue.length;a++){if(typeof(b[a].destroy)=="function"){b[a].destroy();a--}}}}if(!Spry.Widget.Utils){Spry.Widget.Utils={}}Spry.Widget.Utils.setOptions=function(d,c,a){if(!c){return}for(var b in c){if(a&&c[b]==undefined){continue}d[b]=c[b]}};Spry.Widget.Utils.firstValid=function(){var a=null;for(var b=0;b<Spry.Widget.Utils.firstValid.arguments.length;b++){if(typeof Spry.Widget.Utils.firstValid.arguments[b]!="undefined"){a=Spry.Widget.Utils.firstValid.arguments[b];break}}return a};Spry.Widget.Utils.getFirstChildWithNodeNameAtAnyLevel=function(a,c){var b=a.getElementsByTagName(c);if(b){return b[0]}return null};Spry.Widget.Utils.getFirstParentWithNodeName=function(a,b){while(a.parentNode&&a.parentNode.nodeName.toLowerCase()!=b.toLowerCase()&&a.parentNode.nodeName!="BODY"){a=a.parentNode}if(a.parentNode&&a.parentNode.nodeName.toLowerCase()==b.toLowerCase()){return a.parentNode}else{return null}};Spry.Widget.Utils.addEventListener=function(c,b,d,a){try{if(c.addEventListener){c.addEventListener(b,d,a)}else{if(c.attachEvent){c.attachEvent("on"+b,d,a)}}}catch(f){}};Spry.Widget.Utils.removeEventListener=function(c,b,d,a){try{if(c.removeEventListener){c.removeEventListener(b,d,a)}else{if(c.detachEvent){c.detachEvent("on"+b,d,a)}}}catch(f){}};
