// (C) 2007-2012 Qualtrics, Inc.

String.prototype.parseColor=function(){var color='#';if(this.slice(0,4)=='rgb('){var cols=this.slice(4,this.length-1).split(',');var i=0;do{color+=parseInt(cols[i]).toColorPart()}while(++i<3);}else{if(this.slice(0,1)=='#'){if(this.length==4)for(var i=1;i<4;i++)color+=(this.charAt(i)+this.charAt(i)).toLowerCase();if(this.length==7)color=this.toLowerCase();}}
return(color.length==7?color:(arguments[0]||this));};Element.collectTextNodes=function(element){return $A($(element).childNodes).collect(function(node){return(node.nodeType==3?node.nodeValue:(node.hasChildNodes()?Element.collectTextNodes(node):''));}).flatten().join('');};Element.collectTextNodesIgnoreClass=function(element,className){return $A($(element).childNodes).collect(function(node){return(node.nodeType==3?node.nodeValue:((node.hasChildNodes()&&!Element.hasClassName(node,className))?Element.collectTextNodesIgnoreClass(node,className):''));}).flatten().join('');};Element.setContentZoom=function(element,percent){element=$(element);element.setStyle({fontSize:(percent/100)+'em'});if(Prototype.Browser.WebKit)window.scrollBy(0,0);return element;};Element.getInlineOpacity=function(element){return $(element).style.opacity||'';};Element.forceRerendering=function(element){try{element=$(element);var n=document.createTextNode(' ');element.appendChild(n);element.removeChild(n);}catch(e){}};var Effect={_elementDoesNotExistError:{name:'ElementDoesNotExistError',message:'The specified DOM element does not exist, but is required for this effect to operate'},Transitions:{linear:Prototype.K,sinoidal:function(pos){return(-Math.cos(pos*Math.PI)/2)+.5;},reverse:function(pos){return 1-pos;},flicker:function(pos){var pos=((-Math.cos(pos*Math.PI)/4)+.75)+Math.random()/4;return pos>1?1:pos;},wobble:function(pos){return(-Math.cos(pos*Math.PI*(9*pos))/2)+.5;},pulse:function(pos,pulses){return(-Math.cos((pos*((pulses||5)-.5)*2)*Math.PI)/2)+.5;},spring:function(pos){return 1-(Math.cos(pos*4.5*Math.PI)*Math.exp(-pos*6));},none:function(pos){return 0;},full:function(pos){return 1;}},DefaultOptions:{duration:1.0,fps:100,sync:false,from:0.0,to:1.0,delay:0.0,queue:'parallel'},tagifyText:function(element){var tagifyStyle='position:relative';if(Prototype.Browser.IE)tagifyStyle+=';zoom:1';element=$(element);$A(element.childNodes).each(function(child){if(child.nodeType==3){child.nodeValue.toArray().each(function(character){element.insertBefore(new Element('span',{style:tagifyStyle}).update(character==' '?String.fromCharCode(160):character),child);});Element.remove(child);}});},multiple:function(element,effect){var elements;if(((typeof element=='object')||Object.isFunction(element))&&(element.length))
elements=element;else
elements=$(element).childNodes;var options=Object.extend({speed:0.1,delay:0.0},arguments[2]||{});var masterDelay=options.delay;$A(elements).each(function(element,index){new effect(element,Object.extend(options,{delay:index*options.speed+masterDelay}));});},PAIRS:{'slide':['SlideDown','SlideUp'],'blind':['BlindDown','BlindUp'],'appear':['Appear','Fade']},toggle:function(element,effect,options){element=$(element);effect=(effect||'appear').toLowerCase();return Effect[Effect.PAIRS[effect][element.visible()?1:0]](element,Object.extend({queue:{position:'end',scope:(element.id||'global'),limit:1}},options||{}));}};Effect.DefaultOptions.transition=Effect.Transitions.sinoidal;Effect.ScopedQueue=Class.create(Enumerable,{initialize:function(){this.effects=[];this.interval=null;},_each:function(iterator){this.effects._each(iterator);},add:function(effect){var timestamp=new Date().getTime();var position=Object.isString(effect.options.queue)?effect.options.queue:effect.options.queue.position;switch(position){case'front':this.effects.findAll(function(e){return e.state=='idle'}).each(function(e){e.startOn+=effect.finishOn;e.finishOn+=effect.finishOn;});break;case'with-last':timestamp=this.effects.pluck('startOn').max()||timestamp;break;case'end':timestamp=this.effects.pluck('finishOn').max()||timestamp;break;}
effect.startOn+=timestamp;effect.finishOn+=timestamp;if(!effect.options.queue.limit||(this.effects.length<effect.options.queue.limit))
this.effects.push(effect);if(!this.interval)
this.interval=setInterval(this.loop.bind(this),15);},remove:function(effect){this.effects=this.effects.reject(function(e){return e==effect});if(this.effects.length==0){clearInterval(this.interval);this.interval=null;}},loop:function(){var timePos=new Date().getTime();for(var i=0,len=this.effects.length;i<len;i++)
this.effects[i]&&this.effects[i].loop(timePos);}});Effect.Queues={instances:$H(),get:function(queueName){if(!Object.isString(queueName))return queueName;return this.instances.get(queueName)||this.instances.set(queueName,new Effect.ScopedQueue());}};Effect.Queue=Effect.Queues.get('global');Effect.Base=Class.create({position:null,start:function(options){if(options&&options.transition===false)options.transition=Effect.Transitions.linear;this.options=Object.extend(Object.extend({},Effect.DefaultOptions),options||{});this.currentFrame=0;this.state='idle';this.startOn=this.options.delay*1000;this.finishOn=this.startOn+(this.options.duration*1000);this.fromToDelta=this.options.to-this.options.from;this.totalTime=this.finishOn-this.startOn;this.totalFrames=this.options.fps*this.options.duration;this.render=(function(){function dispatch(effect,eventName){if(effect.options[eventName+'Internal'])
effect.options[eventName+'Internal'](effect);if(effect.options[eventName])
effect.options[eventName](effect);}
return function(pos){if(this.state==="idle"){this.state="running";dispatch(this,'beforeSetup');if(this.setup)this.setup();dispatch(this,'afterSetup');}
if(this.state==="running"){pos=(this.options.transition(pos)*this.fromToDelta)+this.options.from;this.position=pos;dispatch(this,'beforeUpdate');if(this.update)this.update(pos);dispatch(this,'afterUpdate');}};})();this.event('beforeStart');if(!this.options.sync)
Effect.Queues.get(Object.isString(this.options.queue)?'global':this.options.queue.scope).add(this);},loop:function(timePos){if(timePos>=this.startOn){if(timePos>=this.finishOn){this.render(1.0);this.cancel();this.event('beforeFinish');if(this.finish)this.finish();this.event('afterFinish');return;}
var pos=(timePos-this.startOn)/this.totalTime,frame=(pos*this.totalFrames).round();if(frame>this.currentFrame){this.render(pos);this.currentFrame=frame;}}},cancel:function(){if(!this.options.sync)
Effect.Queues.get(Object.isString(this.options.queue)?'global':this.options.queue.scope).remove(this);this.state='finished';},event:function(eventName){if(this.options[eventName+'Internal'])this.options[eventName+'Internal'](this);if(this.options[eventName])this.options[eventName](this);},inspect:function(){var data=$H();for(property in this)
if(!Object.isFunction(this[property]))data.set(property,this[property]);return'#<Effect:'+data.inspect()+',options:'+$H(this.options).inspect()+'>';}});Effect.Parallel=Class.create(Effect.Base,{initialize:function(effects){this.effects=effects||[];this.start(arguments[1]);},update:function(position){this.effects.invoke('render',position);},finish:function(position){this.effects.each(function(effect){effect.render(1.0);effect.cancel();effect.event('beforeFinish');if(effect.finish)effect.finish(position);effect.event('afterFinish');});}});Effect.Tween=Class.create(Effect.Base,{initialize:function(object,from,to){object=Object.isString(object)?$(object):object;var args=$A(arguments),method=args.last(),options=args.length==5?args[3]:null;this.method=Object.isFunction(method)?method.bind(object):Object.isFunction(object[method])?object[method].bind(object):function(value){object[method]=value};this.start(Object.extend({from:from,to:to},options||{}));},update:function(position){this.method(position);}});Effect.Event=Class.create(Effect.Base,{initialize:function(){this.start(Object.extend({duration:0},arguments[0]||{}));},update:Prototype.emptyFunction});Effect.Opacity=Class.create(Effect.Base,{initialize:function(element){this.element=$(element);if(!this.element)throw(Effect._elementDoesNotExistError);if(Prototype.Browser.IE&&(!this.element.currentStyle.hasLayout))
this.element.setStyle({zoom:1});var options=Object.extend({from:this.element.getOpacity()||0.0,to:1.0},arguments[1]||{});this.start(options);},update:function(position){this.element.setOpacity(position);}});Effect.Move=Class.create(Effect.Base,{initialize:function(element){this.element=$(element);if(!this.element)throw(Effect._elementDoesNotExistError);var options=Object.extend({x:0,y:0,mode:'relative'},arguments[1]||{});this.start(options);},setup:function(){this.element.makePositioned();this.originalLeft=parseFloat(this.element.getStyle('left')||'0');this.originalTop=parseFloat(this.element.getStyle('top')||'0');if(this.options.mode=='absolute'){this.options.x=this.options.x-this.originalLeft;this.options.y=this.options.y-this.originalTop;}},update:function(position){this.element.setStyle({left:(this.options.x*position+this.originalLeft).round()+'px',top:(this.options.y*position+this.originalTop).round()+'px'});}});Effect.MoveBy=function(element,toTop,toLeft){return new Effect.Move(element,Object.extend({x:toLeft,y:toTop},arguments[3]||{}));};Effect.Scale=Class.create(Effect.Base,{initialize:function(element,percent){this.element=$(element);if(!this.element)throw(Effect._elementDoesNotExistError);var options=Object.extend({scaleX:true,scaleY:true,scaleContent:true,scaleFromCenter:false,scaleMode:'box',scaleFrom:100.0,scaleTo:percent},arguments[2]||{});this.start(options);},setup:function(){this.restoreAfterFinish=this.options.restoreAfterFinish||false;this.elementPositioning=this.element.getStyle('position');this.originalStyle={};['top','left','width','height','fontSize'].each(function(k){this.originalStyle[k]=this.element.style[k];}.bind(this));this.originalTop=this.element.offsetTop;this.originalLeft=this.element.offsetLeft;var fontSize=this.element.getStyle('font-size')||'100%';['em','px','%','pt'].each(function(fontSizeType){if(fontSize.indexOf(fontSizeType)>0){this.fontSize=parseFloat(fontSize);this.fontSizeType=fontSizeType;}}.bind(this));this.factor=(this.options.scaleTo-this.options.scaleFrom)/100;this.dims=null;if(this.options.scaleMode=='box')
this.dims=[this.element.offsetHeight,this.element.offsetWidth];if(/^content/.test(this.options.scaleMode))
this.dims=[this.element.scrollHeight,this.element.scrollWidth];if(!this.dims)
this.dims=[this.options.scaleMode.originalHeight,this.options.scaleMode.originalWidth];},update:function(position){var currentScale=(this.options.scaleFrom/100.0)+(this.factor*position);if(this.options.scaleContent&&this.fontSize)
this.element.setStyle({fontSize:this.fontSize*currentScale+this.fontSizeType});this.setDimensions(this.dims[0]*currentScale,this.dims[1]*currentScale);},finish:function(position){if(this.restoreAfterFinish)this.element.setStyle(this.originalStyle);},setDimensions:function(height,width){var d={};if(this.options.scaleX)d.width=width.round()+'px';if(this.options.scaleY)d.height=height.round()+'px';if(this.options.scaleFromCenter){var topd=(height-this.dims[0])/2;var leftd=(width-this.dims[1])/2;if(this.elementPositioning=='absolute'){if(this.options.scaleY)d.top=this.originalTop-topd+'px';if(this.options.scaleX)d.left=this.originalLeft-leftd+'px';}else{if(this.options.scaleY)d.top=-topd+'px';if(this.options.scaleX)d.left=-leftd+'px';}}
this.element.setStyle(d);}});Effect.Highlight=Class.create(Effect.Base,{initialize:function(element){this.element=$(element);if(!this.element)throw(Effect._elementDoesNotExistError);var options=Object.extend({startcolor:'#ffff99'},arguments[1]||{});this.start(options);},setup:function(){if(this.element.getStyle('display')=='none'){this.cancel();return;}
this.oldStyle={};if(!this.options.keepBackgroundImage){this.oldStyle.backgroundImage=this.element.getStyle('background-image');this.element.setStyle({backgroundImage:'none'});}
if(!this.options.endcolor)
this.options.endcolor=this.element.getStyle('background-color').parseColor('#ffffff');if(!this.options.restorecolor)
this.options.restorecolor=this.element.getStyle('background-color');this._base=$R(0,2).map(function(i){return parseInt(this.options.startcolor.slice(i*2+1,i*2+3),16)}.bind(this));this._delta=$R(0,2).map(function(i){return parseInt(this.options.endcolor.slice(i*2+1,i*2+3),16)-this._base[i]}.bind(this));},update:function(position){this.element.setStyle({backgroundColor:$R(0,2).inject('#',function(m,v,i){return m+((this._base[i]+(this._delta[i]*position)).round().toColorPart());}.bind(this))});},finish:function(){this.element.setStyle(Object.extend(this.oldStyle,{backgroundColor:this.options.restorecolor}));}});Effect.ScrollTo=function(element){var options=arguments[1]||{},scrollOffsets=document.viewport.getScrollOffsets(),elementOffsets=$(element).cumulativeOffset();if(options.offset)elementOffsets[1]+=options.offset;return new Effect.Tween(null,scrollOffsets.top,elementOffsets[1],options,function(p){scrollTo(scrollOffsets.left,p.round());});};Effect.Fade=function(element){element=$(element);var oldOpacity=element.getInlineOpacity();var options=Object.extend({from:element.getOpacity()||1.0,to:0.0,afterFinishInternal:function(effect){if(effect.options.to!=0)return;effect.element.hide().setStyle({opacity:oldOpacity});}},arguments[1]||{});return new Effect.Opacity(element,options);};Effect.Appear=function(element){element=$(element);var options=Object.extend({from:(element.getStyle('display')=='none'?0.0:element.getOpacity()||0.0),to:1.0,afterFinishInternal:function(effect){effect.element.forceRerendering();},beforeSetup:function(effect){effect.element.setOpacity(effect.options.from).show();}},arguments[1]||{});return new Effect.Opacity(element,options);};Effect.Puff=function(element){element=$(element);var oldStyle={opacity:element.getInlineOpacity(),position:element.getStyle('position'),top:element.style.top,left:element.style.left,width:element.style.width,height:element.style.height};return new Effect.Parallel([new Effect.Scale(element,200,{sync:true,scaleFromCenter:true,scaleContent:true,restoreAfterFinish:true}),new Effect.Opacity(element,{sync:true,to:0.0})],Object.extend({duration:1.0,beforeSetupInternal:function(effect){Position.absolutize(effect.effects[0].element);},afterFinishInternal:function(effect){effect.effects[0].element.hide().setStyle(oldStyle);}},arguments[1]||{}));};Effect.BlindUp=function(element){element=$(element);element.makeClipping();return new Effect.Scale(element,0,Object.extend({scaleContent:false,scaleX:false,restoreAfterFinish:true,afterFinishInternal:function(effect){effect.element.hide().undoClipping();}},arguments[1]||{}));};Effect.BlindDown=function(element){element=$(element);var elementDimensions=element.getDimensions();return new Effect.Scale(element,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:0,scaleMode:{originalHeight:elementDimensions.height,originalWidth:elementDimensions.width},restoreAfterFinish:true,afterSetup:function(effect){effect.element.makeClipping().setStyle({height:'0px'}).show();},afterFinishInternal:function(effect){effect.element.undoClipping();}},arguments[1]||{}));};Effect.SwitchOff=function(element){element=$(element);var oldOpacity=element.getInlineOpacity();return new Effect.Appear(element,Object.extend({duration:0.4,from:0,transition:Effect.Transitions.flicker,afterFinishInternal:function(effect){new Effect.Scale(effect.element,1,{duration:0.3,scaleFromCenter:true,scaleX:false,scaleContent:false,restoreAfterFinish:true,beforeSetup:function(effect){effect.element.makePositioned().makeClipping();},afterFinishInternal:function(effect){effect.element.hide().undoClipping().undoPositioned().setStyle({opacity:oldOpacity});}});}},arguments[1]||{}));};Effect.DropOut=function(element){element=$(element);var oldStyle={top:element.getStyle('top'),left:element.getStyle('left'),opacity:element.getInlineOpacity()};return new Effect.Parallel([new Effect.Move(element,{x:0,y:100,sync:true}),new Effect.Opacity(element,{sync:true,to:0.0})],Object.extend({duration:0.5,beforeSetup:function(effect){effect.effects[0].element.makePositioned();},afterFinishInternal:function(effect){effect.effects[0].element.hide().undoPositioned().setStyle(oldStyle);}},arguments[1]||{}));};Effect.Shake=function(element){element=$(element);var options=Object.extend({distance:20,duration:0.5},arguments[1]||{});var distance=parseFloat(options.distance);var split=parseFloat(options.duration)/10.0;var oldStyle={top:element.getStyle('top'),left:element.getStyle('left')};return new Effect.Move(element,{x:distance,y:0,duration:split,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:-distance*2,y:0,duration:split*2,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:distance*2,y:0,duration:split*2,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:-distance*2,y:0,duration:split*2,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:distance*2,y:0,duration:split*2,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:-distance,y:0,duration:split,afterFinishInternal:function(effect){effect.element.undoPositioned().setStyle(oldStyle);}});}});}});}});}});}});};Effect.SlideDown=function(element){element=$(element).cleanWhitespace();var oldInnerBottom=element.down().getStyle('bottom');var elementDimensions=element.getDimensions();return new Effect.Scale(element,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:window.opera?0:1,scaleMode:{originalHeight:elementDimensions.height,originalWidth:elementDimensions.width},restoreAfterFinish:true,afterSetup:function(effect){effect.element.makePositioned();effect.element.down().makePositioned();if(window.opera)effect.element.setStyle({top:''});effect.element.makeClipping().setStyle({height:'0px'}).show();},afterUpdateInternal:function(effect){effect.element.down().setStyle({bottom:(effect.dims[0]-effect.element.clientHeight)+'px'});},afterFinishInternal:function(effect){effect.element.undoClipping().undoPositioned();effect.element.down().undoPositioned().setStyle({bottom:oldInnerBottom});}},arguments[1]||{}));};Effect.SlideUp=function(element){element=$(element).cleanWhitespace();var oldInnerBottom=element.down().getStyle('bottom');var elementDimensions=element.getDimensions();return new Effect.Scale(element,window.opera?0:1,Object.extend({scaleContent:false,scaleX:false,scaleMode:'box',scaleFrom:100,scaleMode:{originalHeight:elementDimensions.height,originalWidth:elementDimensions.width},restoreAfterFinish:true,afterSetup:function(effect){effect.element.makePositioned();effect.element.down().makePositioned();if(window.opera)effect.element.setStyle({top:''});effect.element.makeClipping().show();},afterUpdateInternal:function(effect){effect.element.down().setStyle({bottom:(effect.dims[0]-effect.element.clientHeight)+'px'});},afterFinishInternal:function(effect){effect.element.hide().undoClipping().undoPositioned();effect.element.down().undoPositioned().setStyle({bottom:oldInnerBottom});}},arguments[1]||{}));};Effect.Squish=function(element){return new Effect.Scale(element,window.opera?1:0,{restoreAfterFinish:true,beforeSetup:function(effect){effect.element.makeClipping();},afterFinishInternal:function(effect){effect.element.hide().undoClipping();}});};Effect.Grow=function(element){element=$(element);var options=Object.extend({direction:'center',moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.full},arguments[1]||{});var oldStyle={top:element.style.top,left:element.style.left,height:element.style.height,width:element.style.width,opacity:element.getInlineOpacity()};var dims=element.getDimensions();var initialMoveX,initialMoveY;var moveX,moveY;switch(options.direction){case'top-left':initialMoveX=initialMoveY=moveX=moveY=0;break;case'top-right':initialMoveX=dims.width;initialMoveY=moveY=0;moveX=-dims.width;break;case'bottom-left':initialMoveX=moveX=0;initialMoveY=dims.height;moveY=-dims.height;break;case'bottom-right':initialMoveX=dims.width;initialMoveY=dims.height;moveX=-dims.width;moveY=-dims.height;break;case'center':initialMoveX=dims.width/2;initialMoveY=dims.height/2;moveX=-dims.width/2;moveY=-dims.height/2;break;}
return new Effect.Move(element,{x:initialMoveX,y:initialMoveY,duration:0.01,beforeSetup:function(effect){effect.element.hide().makeClipping().makePositioned();},afterFinishInternal:function(effect){new Effect.Parallel([new Effect.Opacity(effect.element,{sync:true,to:1.0,from:0.0,transition:options.opacityTransition}),new Effect.Move(effect.element,{x:moveX,y:moveY,sync:true,transition:options.moveTransition}),new Effect.Scale(effect.element,100,{scaleMode:{originalHeight:dims.height,originalWidth:dims.width},sync:true,scaleFrom:window.opera?1:0,transition:options.scaleTransition,restoreAfterFinish:true})],Object.extend({beforeSetup:function(effect){effect.effects[0].element.setStyle({height:'0px'}).show();},afterFinishInternal:function(effect){effect.effects[0].element.undoClipping().undoPositioned().setStyle(oldStyle);}},options));}});};Effect.Shrink=function(element){element=$(element);var options=Object.extend({direction:'center',moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.none},arguments[1]||{});var oldStyle={top:element.style.top,left:element.style.left,height:element.style.height,width:element.style.width,opacity:element.getInlineOpacity()};var dims=element.getDimensions();var moveX,moveY;switch(options.direction){case'top-left':moveX=moveY=0;break;case'top-right':moveX=dims.width;moveY=0;break;case'bottom-left':moveX=0;moveY=dims.height;break;case'bottom-right':moveX=dims.width;moveY=dims.height;break;case'center':moveX=dims.width/2;moveY=dims.height/2;break;}
return new Effect.Parallel([new Effect.Opacity(element,{sync:true,to:0.0,from:1.0,transition:options.opacityTransition}),new Effect.Scale(element,window.opera?1:0,{sync:true,transition:options.scaleTransition,restoreAfterFinish:true}),new Effect.Move(element,{x:moveX,y:moveY,sync:true,transition:options.moveTransition})],Object.extend({beforeStartInternal:function(effect){effect.effects[0].element.makePositioned().makeClipping();},afterFinishInternal:function(effect){effect.effects[0].element.hide().undoClipping().undoPositioned().setStyle(oldStyle);}},options));};Effect.Pulsate=function(element){element=$(element);var options=arguments[1]||{},oldOpacity=element.getInlineOpacity(),transition=options.transition||Effect.Transitions.linear,reverser=function(pos){return 1-transition((-Math.cos((pos*(options.pulses||5)*2)*Math.PI)/2)+.5);};return new Effect.Opacity(element,Object.extend(Object.extend({duration:2.0,from:0,afterFinishInternal:function(effect){effect.element.setStyle({opacity:oldOpacity});}},options),{transition:reverser}));};Effect.Fold=function(element){element=$(element);var oldStyle={top:element.style.top,left:element.style.left,width:element.style.width,height:element.style.height};element.makeClipping();return new Effect.Scale(element,5,Object.extend({scaleContent:false,scaleX:false,afterFinishInternal:function(effect){new Effect.Scale(element,1,{scaleContent:false,scaleY:false,afterFinishInternal:function(effect){effect.element.hide().undoClipping().setStyle(oldStyle);}});}},arguments[1]||{}));};Effect.Morph=Class.create(Effect.Base,{initialize:function(element){this.element=$(element);if(!this.element)throw(Effect._elementDoesNotExistError);var options=Object.extend({style:{}},arguments[1]||{});if(!Object.isString(options.style))this.style=$H(options.style);else{if(options.style.include(':'))
this.style=options.style.parseStyle();else{this.element.addClassName(options.style);this.style=$H(this.element.getStyles());this.element.removeClassName(options.style);var css=this.element.getStyles();this.style=this.style.reject(function(style){return style.value==css[style.key];});options.afterFinishInternal=function(effect){effect.element.addClassName(effect.options.style);effect.transforms.each(function(transform){effect.element.style[transform.style]='';});};}}
this.start(options);},setup:function(){function parseColor(color){if(!color||['rgba(0, 0, 0, 0)','transparent'].include(color))color='#ffffff';color=color.parseColor();return $R(0,2).map(function(i){return parseInt(color.slice(i*2+1,i*2+3),16);});}
this.transforms=this.style.map(function(pair){var property=pair[0],value=pair[1],unit=null;if(value.parseColor('#zzzzzz')!='#zzzzzz'){value=value.parseColor();unit='color';}else if(property=='opacity'){value=parseFloat(value);if(Prototype.Browser.IE&&(!this.element.currentStyle.hasLayout))
this.element.setStyle({zoom:1});}else if(Element.CSS_LENGTH.test(value)){var components=value.match(/^([\+\-]?[0-9\.]+)(.*)$/);value=parseFloat(components[1]);unit=(components.length==3)?components[2]:null;}
var originalValue=this.element.getStyle(property);return{style:property.camelize(),originalValue:unit=='color'?parseColor(originalValue):parseFloat(originalValue||0),targetValue:unit=='color'?parseColor(value):value,unit:unit};}.bind(this)).reject(function(transform){return((transform.originalValue==transform.targetValue)||(transform.unit!='color'&&(isNaN(transform.originalValue)||isNaN(transform.targetValue))));});},update:function(position){var style={},transform,i=this.transforms.length;while(i--)
style[(transform=this.transforms[i]).style]=transform.unit=='color'?'#'+
(Math.round(transform.originalValue[0]+
(transform.targetValue[0]-transform.originalValue[0])*position)).toColorPart()+
(Math.round(transform.originalValue[1]+
(transform.targetValue[1]-transform.originalValue[1])*position)).toColorPart()+
(Math.round(transform.originalValue[2]+
(transform.targetValue[2]-transform.originalValue[2])*position)).toColorPart():(transform.originalValue+
(transform.targetValue-transform.originalValue)*position).toFixed(3)+
(transform.unit===null?'':transform.unit);this.element.setStyle(style,true);}});Effect.Transform=Class.create({initialize:function(tracks){this.tracks=[];this.options=arguments[1]||{};this.addTracks(tracks);},addTracks:function(tracks){tracks.each(function(track){track=$H(track);var data=track.values().first();this.tracks.push($H({ids:track.keys().first(),effect:Effect.Morph,options:{style:data}}));}.bind(this));return this;},play:function(){return new Effect.Parallel(this.tracks.map(function(track){var ids=track.get('ids'),effect=track.get('effect'),options=track.get('options');var elements=[$(ids)||$$(ids)].flatten();return elements.map(function(e){return new effect(e,Object.extend({sync:true},options))});}).flatten(),this.options);}});Element.CSS_PROPERTIES=$w('backgroundColor backgroundPosition borderBottomColor borderBottomStyle '+'borderBottomWidth borderLeftColor borderLeftStyle borderLeftWidth '+'borderRightColor borderRightStyle borderRightWidth borderSpacing '+'borderTopColor borderTopStyle borderTopWidth bottom clip color '+'fontSize fontWeight height left letterSpacing lineHeight '+'marginBottom marginLeft marginRight marginTop markerOffset maxHeight '+'maxWidth minHeight minWidth opacity outlineColor outlineOffset '+'outlineWidth paddingBottom paddingLeft paddingRight paddingTop '+'right textIndent top width wordSpacing zIndex');Element.CSS_LENGTH=/^(([\+\-]?[0-9\.]+)(em|ex|px|in|cm|mm|pt|pc|\%))|0$/;String.__parseStyleElement=document.createElement('div');String.prototype.parseStyle=function(){var style,styleRules=$H();if(Prototype.Browser.WebKit)
style=new Element('div',{style:this}).style;else{String.__parseStyleElement.innerHTML='<div style="'+this+'"></div>';style=String.__parseStyleElement.childNodes[0].style;}
Element.CSS_PROPERTIES.each(function(property){if(style[property])styleRules.set(property,style[property]);});if(Prototype.Browser.IE&&this.include('opacity'))
styleRules.set('opacity',this.match(/opacity:\s*((?:0|1)?(?:\.\d*)?)/)[1]);return styleRules;};if(document.defaultView&&document.defaultView.getComputedStyle){Element.getStyles=function(element){var css=document.defaultView.getComputedStyle($(element),null);return Element.CSS_PROPERTIES.inject({},function(styles,property){styles[property]=css[property];return styles;});};}else{Element.getStyles=function(element){element=$(element);var css=element.currentStyle,styles;styles=Element.CSS_PROPERTIES.inject({},function(results,property){results[property]=css[property];return results;});if(!styles.opacity)styles.opacity=element.getOpacity();return styles;};}
Effect.Methods={morph:function(element,style){element=$(element);new Effect.Morph(element,Object.extend({style:style},arguments[2]||{}));return element;},visualEffect:function(element,effect,options){element=$(element);var s=effect.dasherize().camelize(),klass=s.charAt(0).toUpperCase()+s.substring(1);new Effect[klass](element,options);return element;},highlight:function(element,options){element=$(element);new Effect.Highlight(element,options);return element;}};$w('fade appear grow shrink fold blindUp blindDown slideUp slideDown '+'pulsate shake puff squish switchOff dropOut').each(function(effect){Effect.Methods[effect]=function(element,options){element=$(element);Effect[effect.charAt(0).toUpperCase()+effect.substring(1)](element,options);return element;};});$w('getInlineOpacity forceRerendering setContentZoom collectTextNodes collectTextNodesIgnoreClass getStyles').each(function(f){Effect.Methods[f]=Element[f];});Element.addMethods(Effect.Methods);
// (C) 2007-2012 Qualtrics, Inc.

var Builder={NODEMAP:{AREA:'map',CAPTION:'table',COL:'table',COLGROUP:'table',LEGEND:'fieldset',OPTGROUP:'select',OPTION:'select',PARAM:'object',TBODY:'table',TD:'table',TFOOT:'table',TH:'table',THEAD:'table',TR:'table'},node:function(elementName){elementName=elementName.toUpperCase();var parentTag=this.NODEMAP[elementName]||'div';var parentElement=document.createElement(parentTag);try{parentElement.innerHTML="<"+elementName+"></"+elementName+">";}catch(e){}
var element=parentElement.firstChild||null;if(element&&(element.tagName.toUpperCase()!=elementName))
element=element.getElementsByTagName(elementName)[0];if(!element)element=document.createElement(elementName);if(!element)return;if(arguments[1])
if(this._isStringOrNumber(arguments[1])||(arguments[1]instanceof Array)||arguments[1].tagName){this._children(element,arguments[1]);}else{var attrs=this._attributes(arguments[1]);if(attrs.length){try{parentElement.innerHTML="<"+elementName+" "+
attrs+"></"+elementName+">";}catch(e){}
element=parentElement.firstChild||null;if(!element){element=document.createElement(elementName);for(attr in arguments[1])
element[attr=='class'?'className':attr]=arguments[1][attr];}
if(element.tagName.toUpperCase()!=elementName)
element=parentElement.getElementsByTagName(elementName)[0];}}
if(arguments[2])
this._children(element,arguments[2]);return $(element);},_text:function(text){return document.createTextNode(text);},ATTR_MAP:{'className':'class','htmlFor':'for'},_attributes:function(attributes){var attrs=[];for(attribute in attributes)
attrs.push((attribute in this.ATTR_MAP?this.ATTR_MAP[attribute]:attribute)+'="'+attributes[attribute].toString().escapeHTML().gsub(/"/,'&quot;')+'"');return attrs.join(" ");},_children:function(element,children){if(children.tagName){element.appendChild(children);return;}
if(typeof children=='object'){children.flatten().each(function(e){if(typeof e=='object')
element.appendChild(e);else
if(Builder._isStringOrNumber(e))
element.appendChild(Builder._text(e));});}else
if(Builder._isStringOrNumber(children))
element.appendChild(Builder._text(children));},_isStringOrNumber:function(param){return(typeof param=='string'||typeof param=='number');},build:function(html){var element=this.node('div');$(element).update(html.strip());return element.down();},dump:function(scope){if(typeof scope!='object'&&typeof scope!='function')scope=window;var tags=("A ABBR ACRONYM ADDRESS APPLET AREA B BASE BASEFONT BDO BIG BLOCKQUOTE BODY "+"BR BUTTON CAPTION CENTER CITE CODE COL COLGROUP DD DEL DFN DIR DIV DL DT EM FIELDSET "+"FONT FORM FRAME FRAMESET H1 H2 H3 H4 H5 H6 HEAD HR HTML I IFRAME IMG INPUT INS ISINDEX "+"KBD LABEL LEGEND LI LINK MAP MENU META NOFRAMES NOSCRIPT OBJECT OL OPTGROUP OPTION P "+"PARAM PRE Q S SAMP SCRIPT SELECT SMALL SPAN STRIKE STRONG STYLE SUB SUP TABLE TBODY TD "+"TEXTAREA TFOOT TH THEAD TITLE TR TT U UL VAR").split(/\s+/);tags.each(function(tag){scope[tag]=function(){return Builder.node.apply(Builder,[tag].concat($A(arguments)));};});}};
// (C) 2007-2012 Qualtrics, Inc.

if(Object.isUndefined(Effect))
throw("dragdrop.js requires including script.aculo.us' effects.js library");var Droppables={drops:[],remove:function(element){this.drops=this.drops.reject(function(d){return d.element==$(element)});},add:function(element){element=$(element);var options=Object.extend({greedy:true,hoverclass:null,tree:false},arguments[1]||{});if(options.containment){options._containers=[];var containment=options.containment;if(Object.isArray(containment)){containment.each(function(c){options._containers.push($(c))});}else{options._containers.push($(containment));}}
if(options.accept)options.accept=[options.accept].flatten();Element.makePositioned(element);options.element=element;this.drops.push(options);},findDeepestChild:function(drops){deepest=drops[0];for(i=1;i<drops.length;++i)
if(Element.isParent(drops[i].element,deepest.element))
deepest=drops[i];return deepest;},isContained:function(element,drop){var containmentNode;if(drop.tree){containmentNode=element.treeNode;}else{containmentNode=element.parentNode;}
return drop._containers.detect(function(c){return containmentNode==c});},isAffected:function(point,element,drop){return((drop.element!=element)&&((!drop._containers)||this.isContained(element,drop))&&((!drop.accept)||(Element.classNames(element).detect(function(v){return drop.accept.include(v)})))&&Position.within(drop.element,point[0],point[1]));},deactivate:function(drop){if(drop.hoverclass)
Element.removeClassName(drop.element,drop.hoverclass);this.last_active=null;},activate:function(drop){if(drop.hoverclass)
Element.addClassName(drop.element,drop.hoverclass);this.last_active=drop;},show:function(point,element){if(!this.drops.length)return;var drop,affected=[];this.drops.each(function(drop){if(Droppables.isAffected(point,element,drop))
affected.push(drop);});if(affected.length>0)
drop=Droppables.findDeepestChild(affected);if(this.last_active&&this.last_active!=drop)this.deactivate(this.last_active);if(drop){Position.within(drop.element,point[0],point[1]);if(drop.onHover)
drop.onHover(element,drop.element,Position.overlap(drop.overlap,drop.element));if(drop!=this.last_active)Droppables.activate(drop);}},fire:function(event,element){if(!this.last_active)return;Position.prepare();if(this.isAffected([Event.pointerX(event),Event.pointerY(event)],element,this.last_active))
if(this.last_active.onDrop){this.last_active.onDrop(element,this.last_active.element,event);return true;}},reset:function(){if(this.last_active)
this.deactivate(this.last_active);}};var Draggables={drags:[],observers:[],register:function(draggable){if(this.drags.length==0){this.eventMouseUp=this.endDrag.bindAsEventListener(this);this.eventMouseMove=this.updateDrag.bindAsEventListener(this);this.eventKeypress=this.keyPress.bindAsEventListener(this);Event.observe(document,"mouseup",this.eventMouseUp);Event.observe(document,"mousemove",this.eventMouseMove);Event.observe(document,"keypress",this.eventKeypress);}
this.drags.push(draggable);},unregister:function(draggable){this.drags=this.drags.reject(function(d){return d==draggable});if(this.drags.length==0){Event.stopObserving(document,"mouseup",this.eventMouseUp);Event.stopObserving(document,"mousemove",this.eventMouseMove);Event.stopObserving(document,"keypress",this.eventKeypress);}},activate:function(draggable){if(draggable.options.delay){this._timeout=setTimeout(function(){Draggables._timeout=null;window.focus();Draggables.activeDraggable=draggable;}.bind(this),draggable.options.delay);}else{window.focus();this.activeDraggable=draggable;}},deactivate:function(){this.activeDraggable=null;},updateDrag:function(event){if(!this.activeDraggable)return;var pointer=[Event.pointerX(event),Event.pointerY(event)];if(this._lastPointer&&(this._lastPointer.inspect()==pointer.inspect()))return;this._lastPointer=pointer;this.activeDraggable.updateDrag(event,pointer);},endDrag:function(event){if(this._timeout){clearTimeout(this._timeout);this._timeout=null;}
if(!this.activeDraggable)return;this._lastPointer=null;this.activeDraggable.endDrag(event);this.activeDraggable=null;},keyPress:function(event){if(this.activeDraggable)
this.activeDraggable.keyPress(event);},addObserver:function(observer){this.observers.push(observer);this._cacheObserverCallbacks();},removeObserver:function(element){this.observers=this.observers.reject(function(o){return o.element==element});this._cacheObserverCallbacks();},notify:function(eventName,draggable,event){if(this[eventName+'Count']>0)
this.observers.each(function(o){if(o[eventName])o[eventName](eventName,draggable,event);});if(draggable.options[eventName])draggable.options[eventName](draggable,event);},_cacheObserverCallbacks:function(){['onStart','onEnd','onDrag'].each(function(eventName){Draggables[eventName+'Count']=Draggables.observers.select(function(o){return o[eventName];}).length;});}};var Draggable=Class.create({initialize:function(element){var defaults={handle:false,reverteffect:function(element,top_offset,left_offset){var dur=Math.sqrt(Math.abs(top_offset^2)+Math.abs(left_offset^2))*0.02;new Effect.Move(element,{x:-left_offset,y:-top_offset,duration:dur,queue:{scope:'_draggable',position:'end'}});},endeffect:function(element){var toOpacity=Object.isNumber(element._opacity)?element._opacity:1.0;new Effect.Opacity(element,{duration:0.2,from:0.7,to:toOpacity,queue:{scope:'_draggable',position:'end'},afterFinish:function(){Draggable._dragging[element]=false}});},zindex:1000,revert:false,quiet:false,scroll:false,scrollSensitivity:20,scrollSpeed:15,snap:false,delay:0};if(!arguments[1]||Object.isUndefined(arguments[1].endeffect))
Object.extend(defaults,{starteffect:function(element){element._opacity=Element.getOpacity(element);Draggable._dragging[element]=true;new Effect.Opacity(element,{duration:0.2,from:element._opacity,to:0.7});}});var options=Object.extend(defaults,arguments[1]||{});this.element=$(element);if(options.handle&&Object.isString(options.handle))
this.handle=this.element.down('.'+options.handle,0);if(!this.handle)this.handle=$(options.handle);if(!this.handle)this.handle=this.element;if(options.scroll&&!options.scroll.scrollTo&&!options.scroll.outerHTML){options.scroll=$(options.scroll);this._isScrollChild=Element.childOf(this.element,options.scroll);}
Element.makePositioned(this.element);this.options=options;this.dragging=false;this.eventMouseDown=this.initDrag.bindAsEventListener(this);Event.observe(this.handle,"mousedown",this.eventMouseDown);Draggables.register(this);},destroy:function(){Event.stopObserving(this.handle,"mousedown",this.eventMouseDown);Draggables.unregister(this);},currentDelta:function(){return([parseInt(Element.getStyle(this.element,'left')||'0'),parseInt(Element.getStyle(this.element,'top')||'0')]);},initDrag:function(event){if(!Object.isUndefined(Draggable._dragging[this.element])&&Draggable._dragging[this.element])return;if(Event.isLeftClick(event)){var src=Event.element(event);if((tag_name=src.tagName.toUpperCase())&&(tag_name=='INPUT'||tag_name=='SELECT'||tag_name=='OPTION'||tag_name=='BUTTON'||tag_name=='TEXTAREA'))return;var pointer=[Event.pointerX(event),Event.pointerY(event)];var pos=this.element.cumulativeOffset();this.offset=[0,1].map(function(i){return(pointer[i]-pos[i])});Draggables.activate(this);Event.stop(event);}},startDrag:function(event){this.dragging=true;if(!this.delta)
this.delta=this.currentDelta();if(this.options.zindex){this.originalZ=parseInt(Element.getStyle(this.element,'z-index')||0);this.element.style.zIndex=this.options.zindex;}
if(this.options.ghosting){this._clone=this.element.cloneNode(true);this._originallyAbsolute=(this.element.getStyle('position')=='absolute');if(!this._originallyAbsolute)
Position.absolutize(this.element);this.element.parentNode.insertBefore(this._clone,this.element);}
if(this.options.scroll){if(this.options.scroll==window){var where=this._getWindowScroll(this.options.scroll);this.originalScrollLeft=where.left;this.originalScrollTop=where.top;}else{this.originalScrollLeft=this.options.scroll.scrollLeft;this.originalScrollTop=this.options.scroll.scrollTop;}}
Draggables.notify('onStart',this,event);if(this.options.starteffect)this.options.starteffect(this.element);},updateDrag:function(event,pointer){if(!this.dragging)this.startDrag(event);if(!this.options.quiet){Position.prepare();Droppables.show(pointer,this.element);}
Draggables.notify('onDrag',this,event);this.draw(pointer);if(this.options.change)this.options.change(this);if(this.options.scroll){this.stopScrolling();var p;if(this.options.scroll==window){with(this._getWindowScroll(this.options.scroll)){p=[left,top,left+width,top+height];}}else{p=Position.page(this.options.scroll).toArray();p[0]+=this.options.scroll.scrollLeft+Position.deltaX;p[1]+=this.options.scroll.scrollTop+Position.deltaY;p.push(p[0]+this.options.scroll.offsetWidth);p.push(p[1]+this.options.scroll.offsetHeight);}
var speed=[0,0];if(pointer[0]<(p[0]+this.options.scrollSensitivity))speed[0]=pointer[0]-(p[0]+this.options.scrollSensitivity);if(pointer[1]<(p[1]+this.options.scrollSensitivity))speed[1]=pointer[1]-(p[1]+this.options.scrollSensitivity);if(pointer[0]>(p[2]-this.options.scrollSensitivity))speed[0]=pointer[0]-(p[2]-this.options.scrollSensitivity);if(pointer[1]>(p[3]-this.options.scrollSensitivity))speed[1]=pointer[1]-(p[3]-this.options.scrollSensitivity);this.startScrolling(speed);}
if(Prototype.Browser.WebKit)window.scrollBy(0,0);Event.stop(event);},finishDrag:function(event,success){this.dragging=false;if(this.options.quiet){Position.prepare();var pointer=[Event.pointerX(event),Event.pointerY(event)];Droppables.show(pointer,this.element);}
if(this.options.ghosting){if(!this._originallyAbsolute)
Position.relativize(this.element);delete this._originallyAbsolute;Element.remove(this._clone);this._clone=null;}
var dropped=false;if(success){dropped=Droppables.fire(event,this.element);if(!dropped)dropped=false;}
if(dropped&&this.options.onDropped)this.options.onDropped(this.element);Draggables.notify('onEnd',this,event);var revert=this.options.revert;if(revert&&Object.isFunction(revert))revert=revert(this.element);var d=this.currentDelta();if(revert&&this.options.reverteffect){if(dropped==0||revert!='failure')
this.options.reverteffect(this.element,d[1]-this.delta[1],d[0]-this.delta[0]);}else{this.delta=d;}
if(this.options.zindex)
this.element.style.zIndex=this.originalZ;if(this.options.endeffect)
this.options.endeffect(this.element);Draggables.deactivate(this);Droppables.reset();},keyPress:function(event){if(event.keyCode!=Event.KEY_ESC)return;this.finishDrag(event,false);Event.stop(event);},endDrag:function(event){if(!this.dragging)return;this.stopScrolling();this.finishDrag(event,true);Event.stop(event);},draw:function(point){var pos=this.element.cumulativeOffset();if(this.options.ghosting){var r=Position.realOffset(this.element);pos[0]+=r[0]-Position.deltaX;pos[1]+=r[1]-Position.deltaY;}
var d=this.currentDelta();pos[0]-=d[0];pos[1]-=d[1];if(this.options.scroll&&(this.options.scroll!=window&&this._isScrollChild)){pos[0]-=this.options.scroll.scrollLeft-this.originalScrollLeft;pos[1]-=this.options.scroll.scrollTop-this.originalScrollTop;}
var p=[0,1].map(function(i){return(point[i]-pos[i]-this.offset[i])}.bind(this));if(this.options.snap){if(Object.isFunction(this.options.snap)){p=this.options.snap(p[0],p[1],this);}else{if(Object.isArray(this.options.snap)){p=p.map(function(v,i){return(v/this.options.snap[i]).round()*this.options.snap[i]}.bind(this));}else{p=p.map(function(v){return(v/this.options.snap).round()*this.options.snap}.bind(this));}}}
var style=this.element.style;if((!this.options.constraint)||(this.options.constraint=='horizontal'))
style.left=p[0]+"px";if((!this.options.constraint)||(this.options.constraint=='vertical'))
style.top=p[1]+"px";if(style.visibility=="hidden")style.visibility="";},stopScrolling:function(){if(this.scrollInterval){clearInterval(this.scrollInterval);this.scrollInterval=null;Draggables._lastScrollPointer=null;}},startScrolling:function(speed){if(!(speed[0]||speed[1]))return;this.scrollSpeed=[speed[0]*this.options.scrollSpeed,speed[1]*this.options.scrollSpeed];this.lastScrolled=new Date();this.scrollInterval=setInterval(this.scroll.bind(this),10);},scroll:function(){var current=new Date();var delta=current-this.lastScrolled;this.lastScrolled=current;if(this.options.scroll==window){with(this._getWindowScroll(this.options.scroll)){if(this.scrollSpeed[0]||this.scrollSpeed[1]){var d=delta/1000;this.options.scroll.scrollTo(left+d*this.scrollSpeed[0],top+d*this.scrollSpeed[1]);}}}else{this.options.scroll.scrollLeft+=this.scrollSpeed[0]*delta/1000;this.options.scroll.scrollTop+=this.scrollSpeed[1]*delta/1000;}
Position.prepare();Droppables.show(Draggables._lastPointer,this.element);Draggables.notify('onDrag',this);if(this._isScrollChild){Draggables._lastScrollPointer=Draggables._lastScrollPointer||$A(Draggables._lastPointer);Draggables._lastScrollPointer[0]+=this.scrollSpeed[0]*delta/1000;Draggables._lastScrollPointer[1]+=this.scrollSpeed[1]*delta/1000;if(Draggables._lastScrollPointer[0]<0)
Draggables._lastScrollPointer[0]=0;if(Draggables._lastScrollPointer[1]<0)
Draggables._lastScrollPointer[1]=0;this.draw(Draggables._lastScrollPointer);}
if(this.options.change)this.options.change(this);},_getWindowScroll:function(w){var T,L,W,H;with(w.document){if(w.document.documentElement&&documentElement.scrollTop){T=documentElement.scrollTop;L=documentElement.scrollLeft;}else if(w.document.body){T=body.scrollTop;L=body.scrollLeft;}
if(w.innerWidth){W=w.innerWidth;H=w.innerHeight;}else if(w.document.documentElement&&documentElement.clientWidth){W=documentElement.clientWidth;H=documentElement.clientHeight;}else{W=body.offsetWidth;H=body.offsetHeight;}}
return{top:T,left:L,width:W,height:H};}});Draggable._dragging={};var SortableObserver=Class.create({initialize:function(element,observer){this.element=$(element);this.observer=observer;this.lastValue=Sortable.serialize(this.element);},onStart:function(){this.lastValue=Sortable.serialize(this.element);},onEnd:function(){Sortable.unmark();if(this.lastValue!=Sortable.serialize(this.element))
this.observer(this.element)}});var Sortable={SERIALIZE_RULE:/^[^_\-](?:[A-Za-z0-9\-\_]*)[_](.*)$/,sortables:{},_findRootElement:function(element){while(element.tagName.toUpperCase()!="BODY"){if(element.id&&Sortable.sortables[element.id])return element;element=element.parentNode;}},options:function(element){element=Sortable._findRootElement($(element));if(!element)return;return Sortable.sortables[element.id];},destroy:function(element){element=$(element);var s=Sortable.sortables[element.id];if(s){Draggables.removeObserver(s.element);s.droppables.each(function(d){Droppables.remove(d)});s.draggables.invoke('destroy');delete Sortable.sortables[s.element.id];}},create:function(element){element=$(element);var options=Object.extend({element:element,tag:'li',dropOnEmpty:false,tree:false,treeTag:'ul',overlap:'vertical',constraint:'vertical',containment:element,handle:false,only:false,delay:0,hoverclass:null,ghosting:false,quiet:false,scroll:false,scrollSensitivity:20,scrollSpeed:15,format:this.SERIALIZE_RULE,elements:false,handles:false,onChange:Prototype.emptyFunction,onUpdate:Prototype.emptyFunction},arguments[1]||{});this.destroy(element);var options_for_draggable={revert:true,quiet:options.quiet,scroll:options.scroll,scrollSpeed:options.scrollSpeed,scrollSensitivity:options.scrollSensitivity,delay:options.delay,ghosting:options.ghosting,constraint:options.constraint,handle:options.handle};if(options.starteffect)
options_for_draggable.starteffect=options.starteffect;if(options.reverteffect)
options_for_draggable.reverteffect=options.reverteffect;else
if(options.ghosting)options_for_draggable.reverteffect=function(element){element.style.top=0;element.style.left=0;};if(options.endeffect)
options_for_draggable.endeffect=options.endeffect;if(options.zindex)
options_for_draggable.zindex=options.zindex;var options_for_droppable={overlap:options.overlap,containment:options.containment,tree:options.tree,hoverclass:options.hoverclass,onHover:Sortable.onHover};var options_for_tree={onHover:Sortable.onEmptyHover,overlap:options.overlap,containment:options.containment,hoverclass:options.hoverclass};Element.cleanWhitespace(element);options.draggables=[];options.droppables=[];if(options.dropOnEmpty||options.tree){Droppables.add(element,options_for_tree);options.droppables.push(element);}
(options.elements||this.findElements(element,options)||[]).each(function(e,i){var handle=options.handles?$(options.handles[i]):(options.handle?$(e).select('.'+options.handle)[0]:e);options.draggables.push(new Draggable(e,Object.extend(options_for_draggable,{handle:handle})));Droppables.add(e,options_for_droppable);if(options.tree)e.treeNode=element;options.droppables.push(e);});if(options.tree){(Sortable.findTreeElements(element,options)||[]).each(function(e){Droppables.add(e,options_for_tree);e.treeNode=element;options.droppables.push(e);});}
this.sortables[element.identify()]=options;Draggables.addObserver(new SortableObserver(element,options.onUpdate));},findElements:function(element,options){return Element.findChildren(element,options.only,options.tree?true:false,options.tag);},findTreeElements:function(element,options){return Element.findChildren(element,options.only,options.tree?true:false,options.treeTag);},onHover:function(element,dropon,overlap){if(Element.isParent(dropon,element))return;if(overlap>.33&&overlap<.66&&Sortable.options(dropon).tree){return;}else if(overlap>0.5){Sortable.mark(dropon,'before');if(dropon.previousSibling!=element){var oldParentNode=element.parentNode;element.style.visibility="hidden";dropon.parentNode.insertBefore(element,dropon);if(dropon.parentNode!=oldParentNode)
Sortable.options(oldParentNode).onChange(element);Sortable.options(dropon.parentNode).onChange(element);}}else{Sortable.mark(dropon,'after');var nextElement=dropon.nextSibling||null;if(nextElement!=element){var oldParentNode=element.parentNode;element.style.visibility="hidden";dropon.parentNode.insertBefore(element,nextElement);if(dropon.parentNode!=oldParentNode)
Sortable.options(oldParentNode).onChange(element);Sortable.options(dropon.parentNode).onChange(element);}}},onEmptyHover:function(element,dropon,overlap){var oldParentNode=element.parentNode;var droponOptions=Sortable.options(dropon);if(!Element.isParent(dropon,element)){var index;var children=Sortable.findElements(dropon,{tag:droponOptions.tag,only:droponOptions.only});var child=null;if(children){var offset=Element.offsetSize(dropon,droponOptions.overlap)*(1.0-overlap);for(index=0;index<children.length;index+=1){if(offset-Element.offsetSize(children[index],droponOptions.overlap)>=0){offset-=Element.offsetSize(children[index],droponOptions.overlap);}else if(offset-(Element.offsetSize(children[index],droponOptions.overlap)/2)>=0){child=index+1<children.length?children[index+1]:null;break;}else{child=children[index];break;}}}
dropon.insertBefore(element,child);Sortable.options(oldParentNode).onChange(element);droponOptions.onChange(element);}},unmark:function(){if(Sortable._marker)Sortable._marker.hide();},mark:function(dropon,position){var sortable=Sortable.options(dropon.parentNode);if(sortable&&!sortable.ghosting)return;if(!Sortable._marker){Sortable._marker=($('dropmarker')||Element.extend(document.createElement('DIV'))).hide().addClassName('dropmarker').setStyle({position:'absolute'});document.getElementsByTagName("body").item(0).appendChild(Sortable._marker);}
var offsets=dropon.cumulativeOffset();Sortable._marker.setStyle({left:offsets[0]+'px',top:offsets[1]+'px'});if(position=='after')
if(sortable.overlap=='horizontal')
Sortable._marker.setStyle({left:(offsets[0]+dropon.clientWidth)+'px'});else
Sortable._marker.setStyle({top:(offsets[1]+dropon.clientHeight)+'px'});Sortable._marker.show();},_tree:function(element,options,parent){var children=Sortable.findElements(element,options)||[];for(var i=0;i<children.length;++i){var match=children[i].id.match(options.format);if(!match)continue;var child={id:encodeURIComponent(match?match[1]:null),element:element,parent:parent,children:[],position:parent.children.length,container:$(children[i]).down(options.treeTag)};if(child.container)
this._tree(child.container,options,child);parent.children.push(child);}
return parent;},tree:function(element){element=$(element);var sortableOptions=this.options(element);var options=Object.extend({tag:sortableOptions.tag,treeTag:sortableOptions.treeTag,only:sortableOptions.only,name:element.id,format:sortableOptions.format},arguments[1]||{});var root={id:null,parent:null,children:[],container:element,position:0};return Sortable._tree(element,options,root);},_constructIndex:function(node){var index='';do{if(node.id)index='['+node.position+']'+index;}while((node=node.parent)!=null);return index;},sequence:function(element){element=$(element);var options=Object.extend(this.options(element),arguments[1]||{});return $(this.findElements(element,options)||[]).map(function(item){return item.id.match(options.format)?item.id.match(options.format)[1]:'';});},setSequence:function(element,new_sequence){element=$(element);var options=Object.extend(this.options(element),arguments[2]||{});var nodeMap={};this.findElements(element,options).each(function(n){if(n.id.match(options.format))
nodeMap[n.id.match(options.format)[1]]=[n,n.parentNode];n.parentNode.removeChild(n);});new_sequence.each(function(ident){var n=nodeMap[ident];if(n){n[1].appendChild(n[0]);delete nodeMap[ident];}});},serialize:function(element){element=$(element);var options=Object.extend(Sortable.options(element),arguments[1]||{});var name=encodeURIComponent((arguments[1]&&arguments[1].name)?arguments[1].name:element.id);if(options.tree){return Sortable.tree(element,arguments[1]).children.map(function(item){return[name+Sortable._constructIndex(item)+"[id]="+
encodeURIComponent(item.id)].concat(item.children.map(arguments.callee));}).flatten().join('&');}else{return Sortable.sequence(element,arguments[1]).map(function(item){return name+"[]="+encodeURIComponent(item);}).join('&');}}};Element.isParent=function(child,element){if(!child.parentNode||child==element)return false;if(child.parentNode==element)return true;return Element.isParent(child.parentNode,element);};Element.findChildren=function(element,only,recursive,tagName){if(!element.hasChildNodes())return null;tagName=tagName.toUpperCase();if(only)only=[only].flatten();var elements=[];$A(element.childNodes).each(function(e){if(e.tagName&&e.tagName.toUpperCase()==tagName&&(!only||(Element.classNames(e).detect(function(v){return only.include(v)}))))
elements.push(e);if(recursive){var grandchildren=Element.findChildren(e,only,recursive,tagName);if(grandchildren)elements.push(grandchildren);}});return(elements.length>0?elements.flatten():[]);};Element.offsetSize=function(element,type){return element['offset'+((type=='vertical'||type=='height')?'Height':'Width')];};
// (C) 2007-2012 Qualtrics, Inc.

if(typeof Effect=='undefined')
throw("controls.js requires including script.aculo.us' effects.js library");var Autocompleter={};Autocompleter.Base=Class.create({baseInitialize:function(element,update,options){element=$(element);this.element=element;this.update=$(update);this.hasFocus=false;this.changed=false;this.active=false;this.index=0;this.entryCount=0;this.oldElementValue=this.element.value;if(this.setOptions)
this.setOptions(options);else
this.options=options||{};this.options.paramName=this.options.paramName||this.element.name;this.options.tokens=this.options.tokens||[];this.options.frequency=this.options.frequency||0.4;this.options.minChars=this.options.minChars||1;this.options.onShow=this.options.onShow||function(element,update){if(!update.style.position||update.style.position=='absolute'){update.style.position='absolute';Position.clone(element,update,{setHeight:false,offsetTop:element.offsetHeight});}
Effect.Appear(update,{duration:0.15});};this.options.onHide=this.options.onHide||function(element,update){new Effect.Fade(update,{duration:0.15})};if(typeof(this.options.tokens)=='string')
this.options.tokens=new Array(this.options.tokens);if(!this.options.tokens.include('\n'))
this.options.tokens.push('\n');this.observer=null;this.element.setAttribute('autocomplete','off');Element.hide(this.update);Event.observe(this.element,'blur',this.onBlur.bindAsEventListener(this));Event.observe(this.element,'keydown',this.onKeyPress.bindAsEventListener(this));},show:function(){if(Element.getStyle(this.update,'display')=='none')this.options.onShow(this.element,this.update);if(!this.iefix&&(Prototype.Browser.IE)&&(Element.getStyle(this.update,'position')=='absolute')){new Insertion.After(this.update,'<iframe id="'+this.update.id+'_iefix" '+'style="display:none;position:absolute;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);" '+'src="javascript:false;" frameborder="0" scrolling="no"></iframe>');this.iefix=$(this.update.id+'_iefix');}
if(this.iefix)setTimeout(this.fixIEOverlapping.bind(this),50);},fixIEOverlapping:function(){Position.clone(this.update,this.iefix,{setTop:(!this.update.style.height)});this.iefix.style.zIndex=1;this.update.style.zIndex=2;Element.show(this.iefix);},hide:function(){this.stopIndicator();if(Element.getStyle(this.update,'display')!='none')this.options.onHide(this.element,this.update);if(this.iefix)Element.hide(this.iefix);},startIndicator:function(){if(this.options.indicator)Element.show(this.options.indicator);},stopIndicator:function(){if(this.options.indicator)Element.hide(this.options.indicator);},onKeyPress:function(event){if(this.active)
switch(event.keyCode){case Event.KEY_TAB:case Event.KEY_RETURN:this.selectEntry();Event.stop(event);case Event.KEY_ESC:this.hide();this.active=false;Event.stop(event);return;case Event.KEY_LEFT:case Event.KEY_RIGHT:return;case Event.KEY_UP:this.markPrevious();this.render();Event.stop(event);return;case Event.KEY_DOWN:this.markNext();this.render();Event.stop(event);return;}
else
if(event.keyCode==Event.KEY_TAB||event.keyCode==Event.KEY_RETURN||(Prototype.Browser.WebKit>0&&event.keyCode==0))return;this.changed=true;this.hasFocus=true;if(this.observer)clearTimeout(this.observer);this.observer=setTimeout(this.onObserverEvent.bind(this),this.options.frequency*1000);},activate:function(){this.changed=false;this.hasFocus=true;this.getUpdatedChoices();},onHover:function(event){var element=Event.findElement(event,'LI');if(this.index!=element.autocompleteIndex)
{this.index=element.autocompleteIndex;this.render();}
Event.stop(event);},onClick:function(event){var element=Event.findElement(event,'LI');this.index=element.autocompleteIndex;this.selectEntry();this.hide();},onBlur:function(event){setTimeout(this.hide.bind(this),250);this.hasFocus=false;this.active=false;},render:function(){if(this.entryCount>0){for(var i=0;i<this.entryCount;i++)
this.index==i?Element.addClassName(this.getEntry(i),"selected"):Element.removeClassName(this.getEntry(i),"selected");if(this.hasFocus){this.show();this.active=true;}}else{this.active=false;this.hide();}},markPrevious:function(){if(this.index>0)this.index--;else this.index=this.entryCount-1;this.getEntry(this.index).scrollIntoView(true);},markNext:function(){if(this.index<this.entryCount-1)this.index++;else this.index=0;this.getEntry(this.index).scrollIntoView(false);},getEntry:function(index){return this.update.firstChild.childNodes[index];},getCurrentEntry:function(){return this.getEntry(this.index);},selectEntry:function(){this.active=false;this.updateElement(this.getCurrentEntry());},updateElement:function(selectedElement){if(this.options.updateElement){this.options.updateElement(selectedElement);return;}
var value='';if(this.options.select){var nodes=$(selectedElement).select('.'+this.options.select)||[];if(nodes.length>0)value=Element.collectTextNodes(nodes[0],this.options.select);}else
value=Element.collectTextNodesIgnoreClass(selectedElement,'informal');var bounds=this.getTokenBounds();if(bounds[0]!=-1){var newValue=this.element.value.substr(0,bounds[0]);var whitespace=this.element.value.substr(bounds[0]).match(/^\s+/);if(whitespace)
newValue+=whitespace[0];this.element.value=newValue+value+this.element.value.substr(bounds[1]);}else{this.element.value=value;}
this.oldElementValue=this.element.value;this.element.focus();if(this.options.afterUpdateElement)
this.options.afterUpdateElement(this.element,selectedElement);},updateChoices:function(choices){if(!this.changed&&this.hasFocus){this.update.innerHTML=choices;Element.cleanWhitespace(this.update);Element.cleanWhitespace(this.update.down());if(this.update.firstChild&&this.update.down().childNodes){this.entryCount=this.update.down().childNodes.length;for(var i=0;i<this.entryCount;i++){var entry=this.getEntry(i);entry.autocompleteIndex=i;this.addObservers(entry);}}else{this.entryCount=0;}
this.stopIndicator();this.index=0;if(this.entryCount==1&&this.options.autoSelect){this.selectEntry();this.hide();}else{this.render();}}},addObservers:function(element){Event.observe(element,"mouseover",this.onHover.bindAsEventListener(this));Event.observe(element,"click",this.onClick.bindAsEventListener(this));},onObserverEvent:function(){this.changed=false;this.tokenBounds=null;if(this.getToken().length>=this.options.minChars){this.getUpdatedChoices();}else{this.active=false;this.hide();}
this.oldElementValue=this.element.value;},getToken:function(){var bounds=this.getTokenBounds();return this.element.value.substring(bounds[0],bounds[1]).strip();},getTokenBounds:function(){if(null!=this.tokenBounds)return this.tokenBounds;var value=this.element.value;if(value.strip().empty())return[-1,0];var diff=arguments.callee.getFirstDifferencePos(value,this.oldElementValue);var offset=(diff==this.oldElementValue.length?1:0);var prevTokenPos=-1,nextTokenPos=value.length;var tp;for(var index=0,l=this.options.tokens.length;index<l;++index){tp=value.lastIndexOf(this.options.tokens[index],diff+offset-1);if(tp>prevTokenPos)prevTokenPos=tp;tp=value.indexOf(this.options.tokens[index],diff+offset);if(-1!=tp&&tp<nextTokenPos)nextTokenPos=tp;}
return(this.tokenBounds=[prevTokenPos+1,nextTokenPos]);}});Autocompleter.Base.prototype.getTokenBounds.getFirstDifferencePos=function(newS,oldS){var boundary=Math.min(newS.length,oldS.length);for(var index=0;index<boundary;++index)
if(newS[index]!=oldS[index])
return index;return boundary;};Ajax.Autocompleter=Class.create(Autocompleter.Base,{initialize:function(element,update,url,options){this.baseInitialize(element,update,options);this.options.asynchronous=true;this.options.onComplete=this.onComplete.bind(this);this.options.defaultParams=this.options.parameters||null;this.url=url;},getUpdatedChoices:function(){this.startIndicator();var entry=encodeURIComponent(this.options.paramName)+'='+
encodeURIComponent(this.getToken());this.options.parameters=this.options.callback?this.options.callback(this.element,entry):entry;if(this.options.defaultParams)
this.options.parameters+='&'+this.options.defaultParams;new Ajax.Request(this.url,this.options);},onComplete:function(request){this.updateChoices(request.responseText);}});Autocompleter.Local=Class.create(Autocompleter.Base,{initialize:function(element,update,array,options){this.baseInitialize(element,update,options);this.options.array=array;},getUpdatedChoices:function(){this.updateChoices(this.options.selector(this));},setOptions:function(options){this.options=Object.extend({choices:10,partialSearch:true,partialChars:2,ignoreCase:true,fullSearch:false,selector:function(instance){var ret=[];var partial=[];var entry=instance.getToken();var count=0;for(var i=0;i<instance.options.array.length&&ret.length<instance.options.choices;i++){var elem=instance.options.array[i];var foundPos=instance.options.ignoreCase?elem.toLowerCase().indexOf(entry.toLowerCase()):elem.indexOf(entry);while(foundPos!=-1){if(foundPos==0&&elem.length!=entry.length){ret.push("<li><strong>"+elem.substr(0,entry.length)+"</strong>"+
elem.substr(entry.length)+"</li>");break;}else if(entry.length>=instance.options.partialChars&&instance.options.partialSearch&&foundPos!=-1){if(instance.options.fullSearch||/\s/.test(elem.substr(foundPos-1,1))){partial.push("<li>"+elem.substr(0,foundPos)+"<strong>"+
elem.substr(foundPos,entry.length)+"</strong>"+elem.substr(foundPos+entry.length)+"</li>");break;}}
foundPos=instance.options.ignoreCase?elem.toLowerCase().indexOf(entry.toLowerCase(),foundPos+1):elem.indexOf(entry,foundPos+1);}}
if(partial.length)
ret=ret.concat(partial.slice(0,instance.options.choices-ret.length));return"<ul>"+ret.join('')+"</ul>";}},options||{});}});Field.scrollFreeActivate=function(field){setTimeout(function(){Field.activate(field);},1);};Ajax.InPlaceEditor=Class.create({initialize:function(element,url,options){this.url=url;this.element=element=$(element);this.prepareOptions();this._controls={};arguments.callee.dealWithDeprecatedOptions(options);Object.extend(this.options,options||{});if(!this.options.formId&&this.element.id){this.options.formId=this.element.id+'-inplaceeditor';if($(this.options.formId))
this.options.formId='';}
if(this.options.externalControl)
this.options.externalControl=$(this.options.externalControl);if(!this.options.externalControl)
this.options.externalControlOnly=false;this._originalBackground=this.element.getStyle('background-color')||'transparent';this.element.title=this.options.clickToEditText;this._boundCancelHandler=this.handleFormCancellation.bind(this);this._boundComplete=(this.options.onComplete||Prototype.emptyFunction).bind(this);this._boundFailureHandler=this.handleAJAXFailure.bind(this);this._boundSubmitHandler=this.handleFormSubmission.bind(this);this._boundWrapperHandler=this.wrapUp.bind(this);this.registerListeners();},checkForEscapeOrReturn:function(e){if(!this._editing||e.ctrlKey||e.altKey||e.shiftKey)return;if(Event.KEY_ESC==e.keyCode)
this.handleFormCancellation(e);else if(Event.KEY_RETURN==e.keyCode)
this.handleFormSubmission(e);},createControl:function(mode,handler,extraClasses){var control=this.options[mode+'Control'];var text=this.options[mode+'Text'];if('button'==control){var btn=document.createElement('input');btn.type='submit';btn.value=text;btn.className='editor_'+mode+'_button';if('cancel'==mode)
btn.onclick=this._boundCancelHandler;this._form.appendChild(btn);this._controls[mode]=btn;}else if('link'==control){var link=document.createElement('a');link.href='#';link.appendChild(document.createTextNode(text));link.onclick='cancel'==mode?this._boundCancelHandler:this._boundSubmitHandler;link.className='editor_'+mode+'_link';if(extraClasses)
link.className+=' '+extraClasses;this._form.appendChild(link);this._controls[mode]=link;}},createEditField:function(){var text=(this.options.loadTextURL?this.options.loadingText:this.getText());var fld;if(1>=this.options.rows&&!/\r|\n/.test(this.getText())){fld=document.createElement('input');fld.type='text';var size=this.options.size||this.options.cols||0;if(0<size)fld.size=size;}else{fld=document.createElement('textarea');fld.rows=(1>=this.options.rows?this.options.autoRows:this.options.rows);fld.cols=this.options.cols||40;}
fld.name=this.options.paramName;fld.value=text;fld.className='editor_field';if(this.options.submitOnBlur)
fld.onblur=this._boundSubmitHandler;this._controls.editor=fld;if(this.options.loadTextURL)
this.loadExternalText();this._form.appendChild(this._controls.editor);},createForm:function(){var ipe=this;function addText(mode,condition){var text=ipe.options['text'+mode+'Controls'];if(!text||condition===false)return;ipe._form.appendChild(document.createTextNode(text));};this._form=$(document.createElement('form'));this._form.id=this.options.formId;this._form.addClassName(this.options.formClassName);this._form.onsubmit=this._boundSubmitHandler;this.createEditField();if('textarea'==this._controls.editor.tagName.toLowerCase())
this._form.appendChild(document.createElement('br'));if(this.options.onFormCustomization)
this.options.onFormCustomization(this,this._form);addText('Before',this.options.okControl||this.options.cancelControl);this.createControl('ok',this._boundSubmitHandler);addText('Between',this.options.okControl&&this.options.cancelControl);this.createControl('cancel',this._boundCancelHandler,'editor_cancel');addText('After',this.options.okControl||this.options.cancelControl);},destroy:function(){if(this._oldInnerHTML)
this.element.innerHTML=this._oldInnerHTML;this.leaveEditMode();this.unregisterListeners();},enterEditMode:function(e){if(this._saving||this._editing)return;this._editing=true;this.triggerCallback('onEnterEditMode');if(this.options.externalControl)
this.options.externalControl.hide();this.element.hide();this.createForm();this.element.parentNode.insertBefore(this._form,this.element);if(!this.options.loadTextURL)
this.postProcessEditField();if(e)Event.stop(e);},enterHover:function(e){if(this.options.hoverClassName)
this.element.addClassName(this.options.hoverClassName);if(this._saving)return;this.triggerCallback('onEnterHover');},getText:function(){return this.element.innerHTML.unescapeHTML();},handleAJAXFailure:function(transport){this.triggerCallback('onFailure',transport);if(this._oldInnerHTML){this.element.innerHTML=this._oldInnerHTML;this._oldInnerHTML=null;}},handleFormCancellation:function(e){this.wrapUp();if(e)Event.stop(e);},handleFormSubmission:function(e){var form=this._form;var value=$F(this._controls.editor);this.prepareSubmission();var params=this.options.callback(form,value)||'';if(Object.isString(params))
params=params.toQueryParams();params.editorId=this.element.id;if(this.options.htmlResponse){var options=Object.extend({evalScripts:true},this.options.ajaxOptions);Object.extend(options,{parameters:params,onComplete:this._boundWrapperHandler,onFailure:this._boundFailureHandler});new Ajax.Updater({success:this.element},this.url,options);}else{var options=Object.extend({method:'get'},this.options.ajaxOptions);Object.extend(options,{parameters:params,onComplete:this._boundWrapperHandler,onFailure:this._boundFailureHandler});new Ajax.Request(this.url,options);}
if(e)Event.stop(e);},leaveEditMode:function(){this.element.removeClassName(this.options.savingClassName);this.removeForm();this.leaveHover();this.element.style.backgroundColor=this._originalBackground;this.element.show();if(this.options.externalControl)
this.options.externalControl.show();this._saving=false;this._editing=false;this._oldInnerHTML=null;this.triggerCallback('onLeaveEditMode');},leaveHover:function(e){if(this.options.hoverClassName)
this.element.removeClassName(this.options.hoverClassName);if(this._saving)return;this.triggerCallback('onLeaveHover');},loadExternalText:function(){this._form.addClassName(this.options.loadingClassName);this._controls.editor.disabled=true;var options=Object.extend({method:'get'},this.options.ajaxOptions);Object.extend(options,{parameters:'editorId='+encodeURIComponent(this.element.id),onComplete:Prototype.emptyFunction,onSuccess:function(transport){this._form.removeClassName(this.options.loadingClassName);var text=transport.responseText;if(this.options.stripLoadedTextTags)
text=text.stripTags();this._controls.editor.value=text;this._controls.editor.disabled=false;this.postProcessEditField();}.bind(this),onFailure:this._boundFailureHandler});new Ajax.Request(this.options.loadTextURL,options);},postProcessEditField:function(){var fpc=this.options.fieldPostCreation;if(fpc)
$(this._controls.editor)['focus'==fpc?'focus':'activate']();},prepareOptions:function(){this.options=Object.clone(Ajax.InPlaceEditor.DefaultOptions);Object.extend(this.options,Ajax.InPlaceEditor.DefaultCallbacks);[this._extraDefaultOptions].flatten().compact().each(function(defs){Object.extend(this.options,defs);}.bind(this));},prepareSubmission:function(){this._saving=true;this.removeForm();this.leaveHover();this.showSaving();},registerListeners:function(){this._listeners={};var listener;$H(Ajax.InPlaceEditor.Listeners).each(function(pair){listener=this[pair.value].bind(this);this._listeners[pair.key]=listener;if(!this.options.externalControlOnly)
this.element.observe(pair.key,listener);if(this.options.externalControl)
this.options.externalControl.observe(pair.key,listener);}.bind(this));},removeForm:function(){if(!this._form)return;this._form.remove();this._form=null;this._controls={};},showSaving:function(){this._oldInnerHTML=this.element.innerHTML;this.element.innerHTML=this.options.savingText;this.element.addClassName(this.options.savingClassName);this.element.style.backgroundColor=this._originalBackground;this.element.show();},triggerCallback:function(cbName,arg){if('function'==typeof this.options[cbName]){this.options[cbName](this,arg);}},unregisterListeners:function(){$H(this._listeners).each(function(pair){if(!this.options.externalControlOnly)
this.element.stopObserving(pair.key,pair.value);if(this.options.externalControl)
this.options.externalControl.stopObserving(pair.key,pair.value);}.bind(this));},wrapUp:function(transport){this.leaveEditMode();this._boundComplete(transport,this.element);}});Object.extend(Ajax.InPlaceEditor.prototype,{dispose:Ajax.InPlaceEditor.prototype.destroy});Ajax.InPlaceCollectionEditor=Class.create(Ajax.InPlaceEditor,{initialize:function($super,element,url,options){this._extraDefaultOptions=Ajax.InPlaceCollectionEditor.DefaultOptions;$super(element,url,options);},createEditField:function(){var list=document.createElement('select');list.name=this.options.paramName;list.size=1;this._controls.editor=list;this._collection=this.options.collection||[];if(this.options.loadCollectionURL)
this.loadCollection();else
this.checkForExternalText();this._form.appendChild(this._controls.editor);},loadCollection:function(){this._form.addClassName(this.options.loadingClassName);this.showLoadingText(this.options.loadingCollectionText);var options=Object.extend({method:'get'},this.options.ajaxOptions);Object.extend(options,{parameters:'editorId='+encodeURIComponent(this.element.id),onComplete:Prototype.emptyFunction,onSuccess:function(transport){var js=transport.responseText.strip();if(!/^\[.*\]$/.test(js))
throw('Server returned an invalid collection representation.');this._collection=eval(js);this.checkForExternalText();}.bind(this),onFailure:this.onFailure});new Ajax.Request(this.options.loadCollectionURL,options);},showLoadingText:function(text){this._controls.editor.disabled=true;var tempOption=this._controls.editor.firstChild;if(!tempOption){tempOption=document.createElement('option');tempOption.value='';this._controls.editor.appendChild(tempOption);tempOption.selected=true;}
tempOption.update((text||'').stripScripts().stripTags());},checkForExternalText:function(){this._text=this.getText();if(this.options.loadTextURL)
this.loadExternalText();else
this.buildOptionList();},loadExternalText:function(){this.showLoadingText(this.options.loadingText);var options=Object.extend({method:'get'},this.options.ajaxOptions);Object.extend(options,{parameters:'editorId='+encodeURIComponent(this.element.id),onComplete:Prototype.emptyFunction,onSuccess:function(transport){this._text=transport.responseText.strip();this.buildOptionList();}.bind(this),onFailure:this.onFailure});new Ajax.Request(this.options.loadTextURL,options);},buildOptionList:function(){this._form.removeClassName(this.options.loadingClassName);this._collection=this._collection.map(function(entry){return 2===entry.length?entry:[entry,entry].flatten();});var marker=('value'in this.options)?this.options.value:this._text;var textFound=this._collection.any(function(entry){return entry[0]==marker;}.bind(this));this._controls.editor.update('');var option;this._collection.each(function(entry,index){option=document.createElement('option');option.value=entry[0];option.selected=textFound?entry[0]==marker:0==index;option.appendChild(document.createTextNode(entry[1]));this._controls.editor.appendChild(option);}.bind(this));this._controls.editor.disabled=false;Field.scrollFreeActivate(this._controls.editor);}});Ajax.InPlaceEditor.prototype.initialize.dealWithDeprecatedOptions=function(options){if(!options)return;function fallback(name,expr){if(name in options||expr===undefined)return;options[name]=expr;};fallback('cancelControl',(options.cancelLink?'link':(options.cancelButton?'button':options.cancelLink==options.cancelButton==false?false:undefined)));fallback('okControl',(options.okLink?'link':(options.okButton?'button':options.okLink==options.okButton==false?false:undefined)));fallback('highlightColor',options.highlightcolor);fallback('highlightEndColor',options.highlightendcolor);};Object.extend(Ajax.InPlaceEditor,{DefaultOptions:{ajaxOptions:{},autoRows:3,cancelControl:'link',cancelText:'cancel',clickToEditText:'Click to edit',externalControl:null,externalControlOnly:false,fieldPostCreation:'activate',formClassName:'inplaceeditor-form',formId:null,highlightColor:'#ffff99',highlightEndColor:'#ffffff',hoverClassName:'',htmlResponse:true,loadingClassName:'inplaceeditor-loading',loadingText:'Loading...',okControl:'button',okText:'ok',paramName:'value',rows:1,savingClassName:'inplaceeditor-saving',savingText:'Saving...',size:0,stripLoadedTextTags:false,submitOnBlur:false,textAfterControls:'',textBeforeControls:'',textBetweenControls:''},DefaultCallbacks:{callback:function(form){return Form.serialize(form);},onComplete:function(transport,element){new Effect.Highlight(element,{startcolor:this.options.highlightColor,keepBackgroundImage:true});},onEnterEditMode:null,onEnterHover:function(ipe){ipe.element.style.backgroundColor=ipe.options.highlightColor;if(ipe._effect)
ipe._effect.cancel();},onFailure:function(transport,ipe){alert('Error communication with the server: '+transport.responseText.stripTags());},onFormCustomization:null,onLeaveEditMode:null,onLeaveHover:function(ipe){ipe._effect=new Effect.Highlight(ipe.element,{startcolor:ipe.options.highlightColor,endcolor:ipe.options.highlightEndColor,restorecolor:ipe._originalBackground,keepBackgroundImage:true});}},Listeners:{click:'enterEditMode',keydown:'checkForEscapeOrReturn',mouseover:'enterHover',mouseout:'leaveHover'}});Ajax.InPlaceCollectionEditor.DefaultOptions={loadingCollectionText:'Loading options...'};Form.Element.DelayedObserver=Class.create({initialize:function(element,delay,callback){this.delay=delay||0.5;this.element=$(element);this.callback=callback;this.timer=null;this.lastValue=$F(this.element);Event.observe(this.element,'keyup',this.delayedListener.bindAsEventListener(this));},delayedListener:function(event){if(this.lastValue==$F(this.element))return;if(this.timer)clearTimeout(this.timer);this.timer=setTimeout(this.onTimerEvent.bind(this),this.delay*1000);this.lastValue=$F(this.element);},onTimerEvent:function(){this.timer=null;this.callback(this.element,$F(this.element));}});
// (C) 2007-2012 Qualtrics, Inc.

if(!Control)var Control={};Control.Slider=Class.create({initialize:function(handle,track,options){var slider=this;if(Object.isArray(handle)){this.handles=handle.collect(function(e){return $(e)});}else{this.handles=[$(handle)];}
this.track=$(track);this.options=options||{};this.axis=this.options.axis||'horizontal';this.increment=this.options.increment||1;this.step=parseInt(this.options.step||'1');this.range=this.options.range||$R(0,1);this.value=0;this.values=this.handles.map(function(){return 0});this.spans=this.options.spans?this.options.spans.map(function(s){return $(s)}):false;this.options.startSpan=$(this.options.startSpan||null);this.options.endSpan=$(this.options.endSpan||null);this.restricted=this.options.restricted||false;this.maximum=this.options.maximum||this.range.end;this.minimum=this.options.minimum||this.range.start;this.alignX=parseInt(this.options.alignX||'0');this.alignY=parseInt(this.options.alignY||'0');this.trackLength=this.maximumOffset()-this.minimumOffset();this.handleLength=this.isVertical()?(this.handles[0].offsetHeight!=0?this.handles[0].offsetHeight:this.handles[0].style.height.replace(/px$/,"")):(this.handles[0].offsetWidth!=0?this.handles[0].offsetWidth:this.handles[0].style.width.replace(/px$/,""));this.active=false;this.dragging=false;this.disabled=false;if(this.options.disabled)this.setDisabled();this.allowedValues=this.options.values?this.options.values.sortBy(Prototype.K):false;if(this.allowedValues){this.minimum=this.allowedValues.min();this.maximum=this.allowedValues.max();}
this.eventMouseDown=this.startDrag.bindAsEventListener(this);this.eventMouseUp=this.endDrag.bindAsEventListener(this);this.eventMouseMove=this.update.bindAsEventListener(this);this.handles.each(function(h,i){i=slider.handles.length-1-i;slider.setValue(parseFloat((Object.isArray(slider.options.sliderValue)?slider.options.sliderValue[i]:slider.options.sliderValue)||slider.range.start),i);h.makePositioned().observe("mousedown",slider.eventMouseDown);});this.track.observe("mousedown",this.eventMouseDown);document.observe("mouseup",this.eventMouseUp);document.observe("mousemove",this.eventMouseMove);this.initialized=true;},dispose:function(){var slider=this;Event.stopObserving(this.track,"mousedown",this.eventMouseDown);Event.stopObserving(document,"mouseup",this.eventMouseUp);Event.stopObserving(document,"mousemove",this.eventMouseMove);this.handles.each(function(h){Event.stopObserving(h,"mousedown",slider.eventMouseDown);});},setDisabled:function(){this.disabled=true;},setEnabled:function(){this.disabled=false;},getNearestValue:function(value){if(this.allowedValues){if(value>=this.allowedValues.max())return(this.allowedValues.max());if(value<=this.allowedValues.min())return(this.allowedValues.min());var offset=Math.abs(this.allowedValues[0]-value);var newValue=this.allowedValues[0];this.allowedValues.each(function(v){var currentOffset=Math.abs(v-value);if(currentOffset<=offset){newValue=v;offset=currentOffset;}});return newValue;}
if(value>this.range.end)return this.range.end;if(value<this.range.start)return this.range.start;return value;},setValue:function(sliderValue,handleIdx){if(!this.active){this.activeHandleIdx=handleIdx||0;this.activeHandle=this.handles[this.activeHandleIdx];this.updateStyles();}
handleIdx=handleIdx||this.activeHandleIdx||0;if(this.initialized&&this.restricted){if((handleIdx>0)&&(sliderValue<this.values[handleIdx-1]))
sliderValue=this.values[handleIdx-1];if((handleIdx<(this.handles.length-1))&&(sliderValue>this.values[handleIdx+1]))
sliderValue=this.values[handleIdx+1];}
sliderValue=this.getNearestValue(sliderValue);this.values[handleIdx]=sliderValue;this.value=this.values[0];this.handles[handleIdx].style[this.isVertical()?'top':'left']=this.translateToPx(sliderValue);this.drawSpans();if(!this.dragging||!this.event)this.updateFinished();},setValueBy:function(delta,handleIdx){this.setValue(this.values[handleIdx||this.activeHandleIdx||0]+delta,handleIdx||this.activeHandleIdx||0);},translateToPx:function(value){return Math.round(((this.trackLength-this.handleLength)/(this.range.end-this.range.start))*(value-this.range.start))+"px";},translateToValue:function(offset){return((offset/(this.trackLength-this.handleLength)*(this.range.end-this.range.start))+this.range.start);},getRange:function(range){var v=this.values.sortBy(Prototype.K);range=range||0;return $R(v[range],v[range+1]);},minimumOffset:function(){return(this.isVertical()?this.alignY:this.alignX);},maximumOffset:function(){return(this.isVertical()?(this.track.offsetHeight!=0?this.track.offsetHeight:this.track.style.height.replace(/px$/,""))-this.alignY:(this.track.offsetWidth!=0?this.track.offsetWidth:this.track.style.width.replace(/px$/,""))-this.alignX);},isVertical:function(){return(this.axis=='vertical');},drawSpans:function(){var slider=this;if(this.spans)
$R(0,this.spans.length-1).each(function(r){slider.setSpan(slider.spans[r],slider.getRange(r))});if(this.options.startSpan)
this.setSpan(this.options.startSpan,$R(0,this.values.length>1?this.getRange(0).min():this.value));if(this.options.endSpan)
this.setSpan(this.options.endSpan,$R(this.values.length>1?this.getRange(this.spans.length-1).max():this.value,this.maximum));},setSpan:function(span,range){if(this.isVertical()){span.style.top=this.translateToPx(range.start);span.style.height=this.translateToPx(range.end-range.start+this.range.start);}else{span.style.left=this.translateToPx(range.start);span.style.width=this.translateToPx(range.end-range.start+this.range.start);}},updateStyles:function(){this.handles.each(function(h){Element.removeClassName(h,'selected')});Element.addClassName(this.activeHandle,'selected');},startDrag:function(event){if(Event.isLeftClick(event)){if(!this.disabled){this.active=true;var handle=Event.element(event);var pointer=[Event.pointerX(event),Event.pointerY(event)];var track=handle;if(track==this.track){var offsets=this.track.cumulativeOffset();this.event=event;this.setValue(this.translateToValue((this.isVertical()?pointer[1]-offsets[1]:pointer[0]-offsets[0])-(this.handleLength/2)));var offsets=this.activeHandle.cumulativeOffset();this.offsetX=(pointer[0]-offsets[0]);this.offsetY=(pointer[1]-offsets[1]);}else{while((this.handles.indexOf(handle)==-1)&&handle.parentNode)
handle=handle.parentNode;if(this.handles.indexOf(handle)!=-1){this.activeHandle=handle;this.activeHandleIdx=this.handles.indexOf(this.activeHandle);this.updateStyles();var offsets=this.activeHandle.cumulativeOffset();this.offsetX=(pointer[0]-offsets[0]);this.offsetY=(pointer[1]-offsets[1]);}}}
Event.stop(event);}},update:function(event){if(this.active){if(!this.dragging)this.dragging=true;this.draw(event);if(Prototype.Browser.WebKit)window.scrollBy(0,0);Event.stop(event);}},draw:function(event){var pointer=[Event.pointerX(event),Event.pointerY(event)];var offsets=this.track.cumulativeOffset();pointer[0]-=this.offsetX+offsets[0];pointer[1]-=this.offsetY+offsets[1];this.event=event;this.setValue(this.translateToValue(this.isVertical()?pointer[1]:pointer[0]));if(this.initialized&&this.options.onSlide)
this.options.onSlide(this.values.length>1?this.values:this.value,this);},endDrag:function(event){if(this.active&&this.dragging){this.finishDrag(event,true);Event.stop(event);}
this.active=false;this.dragging=false;},finishDrag:function(event,success){this.active=false;this.dragging=false;this.updateFinished();},updateFinished:function(){if(this.initialized&&this.options.onChange)
this.options.onChange(this.values.length>1?this.values:this.value,this);this.event=null;}});
// (C) 2007-2012 Qualtrics, Inc.

function QBuilder(nodeName,options,children)
{if(Qualtrics.Browser.IE&&Qualtrics.Browser.Version<9&&(nodeName=='input'||nodeName=='textarea')||nodeName=='select')
{return QInputBuilder(nodeName,options,children);}
var el=document.createElement(nodeName);if(!children&&typeof options!='object')
{children=options;}
else
{for(nom in options)
{if(nom=='className')
{el.className=options.className;}
else if(nom=='id')
{el.id=options.id;}
else if(nom=='name')
{el.name=options.name;}
else if(nom.substring(0,2)=='on')
{el[nom]=Function(options[nom]);}
else if(nom=='checked')
{if(options[nom])
{el.defaultChecked=true;el.setAttribute('checked','checked');}}
else if(nom=='htmlFor')
{el.htmlFor=options[nom];el.setAttribute('for',options[nom]);}
else if(nom=='style')
{$(el).setStyle(options[nom]);}
else
{el.setAttribute(nom,options[nom]);}}}
if(children)
{if(typeof children==='object')
{if(children.length)
{for(var i=0,len=children.length;i<len;++i)
{var ch=children[i];if(ch===undefined)
{ch='undefined';}
if(typeof ch=='string'||typeof ch=='number')
{el.appendChild(document.createTextNode(ch));}
else if(ch)
{if(ch.nodeType)
{el.appendChild(ch);}
else
{el.appendChild(document.createTextNode(String(ch)));}}
else
{console.warn('QBuilder::ch is null.');}}}}
else
{var node;if(typeof children=='string'||typeof children=='number')
{node=document.createTextNode(children);}
else
{node=children;}
el.appendChild(node);}}
return el;}
function QInputBuilder(nodeName,options,children)
{var attr='';for(nom in options)
{var val=options[nom];var key='';switch(nom)
{case'className':key='class';break;case'id':key='id';break;case'checked':if(options[nom])
{key='checked';}
break;case'htmlFor':key='for'
break;default:key=nom;}
attr+=key+'="'+val+'" ';}
var parent=QBuilder('div');parent.innerHTML='<'+nodeName+' '+attr+' />';var el=parent.firstChild.cloneNode(true);removeElement(parent);if(children)
{var type=typeof children;if(type==='object')
{for(var i=0,len=children.length;i<len;++i)
{var ch=children[i];var node;if(typeof ch=='string'||typeof ch=='number')
{node=document.createTextNode(ch);}
else
{node=ch;}
el.appendChild(node);}}
else if(type=='string'||type=='number')
{el.appendChild(document.createTextNode(children));}}
return el;}
function QEntity(str,mode){str=(str)?str:"";mode=(mode)?mode:"string";var e=document.createElement("div");e.innerHTML=str;if(mode=="numeric"){return"&#"+e.innerHTML.charCodeAt(0)+";";}
else if(mode=="utf16"){var un=e.innerHTML.charCodeAt(0).toString(16);while(un.length<4)un="0"+un;return"\\u"+un;}
else return e.innerHTML;}
// (C) 2007-2012 Qualtrics, Inc.

var inlineEditor=Class.create();var inlineEditor_lastParentObj=null;inlineEditor.instance=null;inlineEditor.getInstance=function(){return inlineEditor.instance;}
inlineEditor.clear=function()
{if(inlineEditor.getInstance())
{inlineEditor.getInstance().removeInlineEditor();}}
inlineEditor.allowClose=function()
{if(inlineEditor.getInstance())
{inlineEditor.getInstance().allowClose();}}
inlineEditor.prototype={parentObj:null,element:null,optionsElement:null,menuButtonElement:null,documentClickObserver:null,skipAnEvent:0,positionShiftTriggers:null,getInner:null,editorType:null,height:null,seriesIndex:null,lastTextLength:0,lastChoiceHeight:0,align:'left',repeatCount:0,blockKeyUp:false,initTime:null,eventType:null,padding:[2,3,2,3],borderWidth:[2,1,1,2],initialize:function(parentObj,options)
{if(window.BaseForm&&BaseForm.getInstance()&&!BaseForm.getInstance().getPermission('editQuestions'))
{return;}
if(this.removeInlineEditor(options)===false)
{return;}
if(!options)options={};this.options=options;this.lang=options.lang||'EN';if(parentObj.beforeEdit)
{parentObj.beforeEdit(this);}
this.padding=this.options.padding||this.padding;this.borderWidth=this.options.borderWidth||this.borderWidth;inlineEditor_lastParentObj=parentObj;this.initTime=new Date();Event.KEY_SPACE=32;Event.KEY_SHIFT=16;Event.KEY_CTRL=17;Event.KEY_ALT=18;Event.CAPS=20;this.parentObj=parentObj;if(options.seriesIndex!=undefined)
{this.seriesIndex=options.seriesIndex;options.select=true;}
var thisObj=this;parentObj.editing=1;if(parentObj&&$(parentObj.id))
{$(parentObj.id).addClassName('Editing');}
this.positionShiftTriggers=new Array();this.cachedInner=this.parentObj.getInner(this.seriesIndex,this.lang);if(options.evt)
{var evt=options.evt;this.eventType=evt.type;if(this.eventType=='mousedown')
{this.skipAnEvent=true;setTimeout(this.cancelSkipEvent.bind(this),1);}}
this.createEditor(evt,options);if(this.editorType=='iframe')
{if(parentObj&&parentObj.styleSheetPath!=undefined)
{var inlineEditorObj=this;new Ajax.Request(parentObj.styleSheetPath,{onSuccess:function(transport)
{inlineEditorObj.externalStyles=transport.responseText;inlineEditorObj.insertExternalStyles();},onFailure:function(transport)
{QError('Cannot load styleSheetPath:  '+parentObj.styleSheetPath);}});}}
this.parentObj.originalText=this.parentObj.getText(this.seriesIndex,this.lang);this.sanitizeText();if(this.parentObj.options)
{this.optionsElement=this.createOptions();}
if(this.parentObj.hasMenu||this.parentObj.buildMenu)
{this.menuButtonElement=QBuilder('div',{className:'inlineEditorOptions',editordowncallback:'showMenu'});}
if(this.parentObj.buildInlineEditorMenuButton)
{this.menuButtonElement=this.parentObj.buildInlineEditorMenuButton(this.seriesIndex);}
$(this.element).setStyle({padding:this.padding[0]+'px'+' '+this.padding[1]+'px'+' '+this.padding[2]+'px'+' '+this.padding[3]+'px'});$(this.element).setStyle({borderWidth:this.borderWidth[0]+'px'+' '+this.borderWidth[1]+'px'+' '+this.borderWidth[2]+'px'+' '+this.borderWidth[3]+'px'});if(this.editorType=='fck')
{}
if(this.editorType!='iframe')
{if(options&&options.evt&&options.evt.type=='mousedown')
{var oneTimeSelectFunction=function(evt)
{if(!evt)var evt=window.event;Event.stopObserving(document,'mouseup',oneTimeSelectFunction);thisObj.updateDom(thisObj.parentObj.getText(thisObj.seriesIndex,thisObj.lang));if(options&&options.select)
{thisObj.selectAll();}
else if(parentObj.getEdited)
{thisObj.autoFocus();}}
Event.observe(document,'mouseup',oneTimeSelectFunction);}}
thisObj.setDocumentClickObserver();var htmlStorage=this.element.innerHTML;this.element.innerHTML='';if($('pageDiv'))
$('pageDiv').appendChild(this.element);else if($('mainContentDiv'))
$('mainContentDiv').appendChild(this.element);this.element.innerHTML=htmlStorage;htmlStorage=null;this.updateEditorPosition();if(this.editorType=='fck')
{if(this.options.overlay!==false)
{this.overlayObj=QualtricsCPTools.Overlay.ShowOverlay({parentId:'pagefade',zindex:9998});}
var ckWidth=this.options.ckWidth||$(this.element).offsetWidth;var ckHeight=this.options.ckHeight||$(this.element).offsetHeight;var contentsLangDirection=(this.lang=='AR'||this.lang=='HE')?'rtl':'ltr';var fckStorageUnit=QBuilder('div',{id:'fckStorageUnit'},[this.interimInput]);$('pageDiv').appendChild(fckStorageUnit);if(Qualtrics.User.language)
this.fck=CKEDITOR.replace(this.interimInput,{width:ckWidth,height:ckHeight,language:Qualtrics.User.language,contentsLangDirection:contentsLangDirection,on:{instanceReady:function(e){e.editor.focus();}}});else
this.fck=CKEDITOR.replace(this.interimInput,{width:ckWidth,height:ckHeight,language:this.lang,contentsLangDirection:contentsLangDirection,on:{instanceReady:function(e){e.editor.focus();}}});$('fckStorageUnit').setStyle({position:'absolute',top:this.top+'px',left:this.left+'px',zIndex:'12000',display:'block'});CKEDITOR.on('instanceReady',this.updateFCKPosition.bind(this));}
if(this.fck&&this.editorType=='fck')
{if($('fckStorageUnit'))
{if(this.fck)
{this.fck.updating=true;setTimeout(this.updateFckText.bind(this),100);}}}
if(options.zIndex||this.parentObj.zIndex)
{$(this.element).setStyle({zIndex:options.zIndex||this.parentObj.zIndex});}
if(this.optionsElement)
{$('pageDiv').appendChild(this.optionsElement);this.setupOptions();}
if(this.menuButtonElement)
{$('pageDiv').appendChild(this.menuButtonElement);this.setupMenuButton();}
this.updateDom(parentObj.getText(this.seriesIndex,this.lang));if(!oneTimeSelectFunction)
{if(options&&options.select)
{this.selectAll();}
else{this.deferredAutoFocus();}}
if(this.parentObj.onEdit)
{this.parentObj.onEdit();}
inlineEditor.instance=this;},getInner:function(update)
{if(!this.cachedInner||update)
{this.cachedInner=this.parentObj.getInner(this.seriesIndex,this.lang);}
return this.cachedInner;},restart:function()
{this.parentObj.edit(null,null,{select:true,seriesIndex:this.seriesIndex,lang:this.lang});},cancelSkipEvent:function()
{this.skipAnEvent=false;},updateFckText:function()
{var editor=inlineEditor.getInstance();if(editor)
{var data=editor.parentObj.getText(this.seriesIndex,this.lang);this.setFckText(data);}},setFckText:function(data)
{if(this.fck.setData)
{this.fck.setData(data);this.fck.updating=false;this.fck.focus();}
else
{var that=this;CKEDITOR.on('loaded',function()
{that.fck.setData(data);that.fck.updating=false;if(that.fck.focus)
that.fck.focus();});}},deferredAutoFocus:function()
{var thisObj=this;setTimeout(function(){thisObj.autoFocus()},1);},autoFocus:function()
{if(this.parentObj.getEdited)
{if(this.parentObj.getEdited(this.lang))
{this.focus();}
else
{this.selectAll();}}
else
{this.focus();}},focus:function(opt_position)
{var caretPosition=opt_position;var anchorNode=null;if(typeof opt_position=='object')
{caretPosition=opt_position.offset;anchorNode=opt_position.node;}
if(anchorNode&&anchorNode.descendantOf&&!$(anchorNode.descendantOf(this.getTextElement())))
{anchorNode=null;caretPosition=null;}
if(!this.element)
{return;}
var textObj=this.getTextElement();if(this.editorType=='textarea')
{if(caretPosition===undefined)
{var val=this.getValue();if(val)caretPosition=val.length;}
if(this.element.createTextRange)
{var end=caretPosition;var range=this.element.createTextRange();if(range){range.collapse(true);range.moveStart('character',end);range.moveEnd('character',end);try{range.select();}catch(e){if($(this.element).focus)
$(this.element).focus();}}}
else
{if($(this.element).focus)
{$(this.element).focus();if(this.element.setSelectionRange)
{var end=caretPosition;try{this.element.setSelectionRange(end,end);}catch(e)
{}}}}}
else if(this.editorType=='div')
{if(document.body.createTextRange)
{textObj.focus();var textrange=document.selection.createRange();textrange.moveToElementText(textObj);textrange.collapse(false);textrange.select();}
else
{if(textObj)
{textObj.focus();if(!anchorNode)
{anchorNode=textObj.childNodes[textObj.childNodes.length-1];caretPosition=undefined;}
if(caretPosition===undefined)
{caretPosition=anchorNode.length||anchorNode.textContent&&anchorNode.textContent.length;}
if(caretPosition!==undefined)
{var sel=window.getSelection();if(sel.setPosition)
{sel.setPosition(anchorNode,caretPosition);}
else
{sel.selectAllChildren(anchorNode);sel.collapseToStart();sel.extend(anchorNode,caretPosition);sel.collapseToEnd();}}}}}
else if(this.editorType=='iframe')
{var that=this;if(this.element&&this.element.contentWindow&&this.iFrameLoaded)
{if(!anchorNode)
{anchorNode=textObj.childNodes[textObj.childNodes.length-1];caretPosition=undefined;}
if(anchorNode.firstChild&&anchorNode.firstChild.nodeType===3)
{anchorNode=anchorNode.firstChild;}
if(caretPosition===undefined)
{if(anchorNode.length)
{caretPosition=anchorNode.length}}
try{var win=that.element.contentWindow;that.element.contentDocument.execCommand('SelectAll',false,"");selObj=win.getSelection();selObj.collapseToEnd();win.focus();if(caretPosition!==undefined)
{var range=win.getSelection().getRangeAt(0);range.setStart(anchorNode,caretPosition);range.setEnd(anchorNode,caretPosition);}
win.focus();}
catch(e)
{console.log('anchorNode',anchorNode)
console.log('caretPosition',caretPosition)
console.error(e)}}}},selectAll:function(debug)
{if(this.editorType=='textarea')
{if(this.element)
{var that=this;(function(){if(that.element)
{that.element.focus();that.element.select();}}).defer();}}
else if(this.editorType=='div')
{if(document.body.createTextRange)
{var textrange=document.body.createTextRange();try{textrange.moveToElementText(this.getTextElement());textrange.execCommand('SelectAll',false,"");}catch(e)
{}}
else if(window.getSelection()&&window.getSelection().setBaseAndExtent){window.getSelection().setBaseAndExtent(this.getTextElement(),0,this.getTextElement(),this.getTextElement().childNodes.length);}
else
{if(this.getTextElement()){this.getTextElement().focus();document.execCommand('selectAll',false,null);}}}
else if(this.editorType=='iframe')
{var that=this;setTimeout(function(){if(that.element&&that.element.contentWindow)
{that.element.contentWindow.focus();that.element.contentDocument.execCommand('bold',false,"");that.element.contentDocument.execCommand('bold',false,"");that.element.contentDocument.execCommand('selectAll',false,null);}},100);}},getCaret:function(node){if(!node)node=this.getTextElement();if(document.selection){var c="\001",sel=document.selection.createRange();dul=sel.duplicate(),len=0;dul.moveToElementText(node);sel.text=c;len=dul.text.indexOf(c);sel.moveStart('character',-1);sel.text="";if(len<0)
{len=this.getValue().length;}
return{node:null,offset:null,bookmark:sel.getBookmark()};}
else if(node.selectionStart)
{return{node:null,offset:node.selectionStart,end:node.selectionEnd};}
else(window.getSelection())
{var win=this.element.contentWindow||window;var range=win.getSelection().getRangeAt(0);return{node:range.startContainer,offset:range.startOffset};}
return 0;},getSelectionRange:function(){var element=this.getTextElement();if(document.selection&&document.selection.createRange)
{var elementRange=document.selection.createRange();elementRange.moveToElementText(element);var allDocRange=elementRange.duplicate();allDocRange.moveStart('textedit',-1);var rangeStart=allDocRange.text.length-elementRange.text.length;var originalRange=document.selection.createRange();var selectionLength=originalRange.text.length;originalRange.moveStart('textedit',-1);var selectionEnd=originalRange.text.length-rangeStart;if(selectionEnd<0)
{selectionEnd=0;}
var selectionStart=selectionEnd-selectionLength;return{start:selectionStart,end:selectionEnd};}
else if(element.selectionStart||element.selectionStart=='0')
{return{start:element.selectionStart,end:element.selectionEnd};}},insertExternalStyles:function()
{if(this.externalStyles&&this.editorType=='iframe')
{if(this.iFrameLoaded)
{var doc=this.element.contentDocument;if(doc)
{var head=doc.getElementsByTagName('head')[0];if(head)
{var styleResets=QBuilder('style',{type:'text/css',title:'StyleResets',rel:'stylesheet',media:'screen'},this.externalStyles);head.appendChild(styleResets);}}
return;}}},createEditor:function(evt,options)
{if(!evt){var evt=window.event}
var forceTextArea=(evt&&evt.ctrlKey)||(evt&&evt.metaKey);var content=this.parentObj.getText(this.seriesIndex,this.lang);if(options&&options.richText!=undefined)
{forceTextArea=!options.richText;}
if(options&&options.fck)
{this.editorType='fck';this.interimInput=QBuilder('textarea',{id:'inlineEditor_FCKInput',style:'visibility:hidden;'},[content]);this.element=QBuilder('div',{id:'InlineEditorElement',className:'inlineEditor',style:'background:white'},[this.interimInput]);this.updateEditorWidth();}
else
{if(this.parentObj.html&&!forceTextArea)
{if(QBuilder('div').contentEditable===undefined)
{this.editorType='iframe';var that=this;var inlineEditor=Builder.node('iframe',{id:'InlineEditorElement',className:'inlineEditor',scrolling:'no',style:'line-height:0px; vertical-align:bottom',name:'inlineEditor',frameBorder:0},content);$(inlineEditor).setStyle({opacity:0});Event.observe(inlineEditor,'load',function(){var doc=null;if(inlineEditor.contentDocument)
{doc=inlineEditor.contentDocument;win=inlineEditor.contentWindow;that.loaded=true;that.iFrameLoaded=true;if(doc)
{var bod=doc.getElementsByTagName('body')[0];bod.innerHTML=that.parentObj.getText(that.seriesIndex,that.lang);doc.designMode="on";bod.contentEditable='true';bod.style.margin='0px';that.element=inlineEditor;that.setupEditor();that.updateEditorWidth();$(inlineEditor).setStyle({opacity:''});that.autoFocus();bod=null;inlineEditor=null;if(that.parentObj.styleSheetPath)
{that.insertExternalStyles();}}}});that.element=inlineEditor;inlineEditor.activate=function(){}}
else
{this.editorType='div';var inlineEditor=QBuilder('div',{className:'inlineEditor'},[QBuilder('div',{id:'InlineEditorElement',scrolling:'no',contentEditable:true,frameborder:"no",style:'outline:none'})]);this.element=inlineEditor;inlineEditor=null;this.getTextElement().innerHTML=content;this.setupEditor();}}
else
{if(content)content=content.strip();this.editorType='textarea';var inlineEditor=QBuilder('textarea',{id:'InlineEditorElement',className:'inlineEditor',type:'text',autocomplete:'off',name:'inlineEditor'});inlineEditor.value=content;this.element=inlineEditor;inlineEditor=null;this.setupEditor();}}},sanitizeText:function()
{var text=this.parentObj.getText(this.seriesIndex,this.lang);if(this.editorType=='textarea')
{var newText=String(text).replace(/\t/g," ");if(newText!=text)
{text=newText;this.updateText(text);this.setValue(text);}}},hasRichText:function(opt_text,var_args)
{if(opt_text===undefined)
{opt_text=this.getValue();}
var stripped=this.getStrippedFormatting(opt_text);if(opt_text!==stripped)
{return true;}
return false;},getStrippedFormatting:function(text)
{return QualtricsCPTools.stripFormatting(text);},removeFormatting:function()
{var text=this.getValue();var stripped=String(this.getStrippedFormatting(text));this.updateText(stripped);this.setValue(stripped);},updateRemoveFormattingButton:function(opt_text,var_args)
{var toolbar=$('RichTextToolBar');if(opt_text===undefined)
{opt_text=this.getValue();}
if(toolbar)
{if(this.hasRichText(opt_text))
{$(toolbar).addClassName('HasRichText');}
else
{$(toolbar).removeClassName('HasRichText');}}},createOptions:function()
{if(this.parentObj.html)
{var viewModeClass="Normal";if(this.editorType=='textarea')
{viewModeClass="Code";}
var modeOptions=QBuilder('div',{className:'Section inlineEditorHTMLButtons '+viewModeClass},[QBuilder('div',{className:'LeftCap'}),QBuilder('div',{className:'MidSection'},[QBuilder('span',{className:'NormalButton',editorupcallback:'switchToRichText',p1:'$evt'},'Normal View'),QBuilder('span',{className:'CodeButton',editorupcallback:'switchToTextArea',p1:'$evt'},'HTML View')]),QBuilder('div',{className:'RightCap'})]);var removeFormatting=QBuilder('div',{className:'Section RemoveFormatting'},[QBuilder('div',{className:'LeftCap'}),QBuilder('div',{className:'MidSection'},[QBuilder('span',{className:'Button',editorupcallback:'removeFormatting'},'Remove Formatting')]),QBuilder('div',{className:'RightCap'})]);var fck=QBuilder('div',{className:'Section'},[QBuilder('div',{className:'LeftCap'}),QBuilder('div',{className:'MidSection'},[QBuilder('span',{className:'Button',editorupcallback:'switchToFCK'},getMessage('ResultsSection','RichTextEditor')+'...')]),QBuilder('div',{className:'RightCap'})]);var pipedText='';pipedText=QBuilder('div',{className:'Section'},[QBuilder('div',{className:'LeftCap'}),QBuilder('div',{className:'MidSection'},[QBuilder('span',{className:'Button',editordowncallback:'openPipedText($el)'},getMessage('Piping','PipedText')+'...')]),QBuilder('div',{className:'RightCap'})]);var options=QBuilder('div',{id:'RichTextToolBar',className:'RichTextToolBar'},[fck,pipedText,removeFormatting,modeOptions]);}
else if(this.editorType=='textarea')
{if(this.parentObj.multiline)
{options=QBuilder('div',{className:'inlineEditorHTMLButtons Code'},[QBuilder('div',{className:'LeftCap'}),QBuilder('div',{className:'MidSection'},[QBuilder('span',{className:'NormalButton',editorupcallback:'switchToRichText'},'Normal View'),QBuilder('span',{className:'CodeButton'},'Code View')]),QBuilder('div',{className:'RightCap'})]);}}
return options;},showMenu:function(clickedEl)
{if(!clickedEl)clickedEl=this.menuButtonElement;QMenu.showMenu(this.parentObj.buildMenu,clickedEl,{scope:this.parentObj,p1:this.seriesIndex,p2:this.lang});return;},stopHideOptionsSequence:function()
{if(this.timer)
{this.timer.stop();}
$(this.optionsElement).setStyle({opacity:1});},startHideOptionsSequence:function()
{if($(this.optionsElement)&&$(this.optionsElement).hasClassName('Expanded'))
{if(this.showTimer)
{this.showTimer.stop();}
$(this.optionsElement).setStyle({opacity:0.5});var that=this;this.timer=new PeriodicalExecuter(function(pe){pe.stop();pe=null;that.hideOptions();},1.7);}},hideOptions:function()
{if($(this.optionsElement))
{$(this.optionsElement).setStyle({opacity:1});$(this.optionsElement).setStyle({width:''});$(this.optionsElement).removeClassName('Expanded');}},optionsClick:function(evt)
{if(Event.isLeftClick(evt))
{Qualtrics.Event.baseDistributerReader(evt,Event.element(evt),'editorclickcallback',this);Event.stop(evt);}},optionsDown:function(evt)
{if(Event.isLeftClick(evt))
{Qualtrics.Event.baseDistributerReader(evt,Event.element(evt),'editordowncallback',this);Event.stop(evt);}},optionsUp:function(evt)
{if(Event.isLeftClick(evt))
{Qualtrics.Event.baseDistributerReader(evt,Event.element(evt),'editorupcallback',this);Event.stop(evt);}},toggleTextEntry:function()
{this.parentObj.toggleTextEntry();this.parentObj.parentObj.refreshCanvas();this.cachedInner=null;this.checkPositionShift();},switchToTextArea:function(evt)
{var minHeight=150;var height=$(this.getInner()).getHeight();if(height<minHeight)
{height=minHeight;}
var parentObj=this.parentObj;var editor=parentObj.edit(evt,null,{richText:false,lang:this.lang,transitional:true});$(editor.getTextElement()).setStyle({fontFamily:'Courier, monospace',fontWeight:'normal',height:height+'px',overflow:'auto'});editor.codeViewMode=true;},switchToRichText:function(evt)
{var parentObj=this.parentObj;parentObj.edit(evt,null,{richText:true,lang:this.lang,transitional:true});},switchToFCK:function(evt)
{var parentObj=this.parentObj;var lang=this.lang;new inlineEditor(parentObj,{evt:evt,fck:true,lang:lang,transitional:true,ckHeight:this.options.ckWidth,ckHeight:this.options.ckHeight});},openPipedText:function(clickedEl)
{QModules.loadModule('pipedtext.js');if(Qualtrics.PipedText)
{this.keepOpen=true;var pipedText=new Qualtrics.PipedText(clickedEl,'inlineEditor.insert',{position:this.getCaret()});pipedText.menu.onClose=this.allowClose.bind(this);}},allowClose:function()
{this.keepOpen=false;},removeChoice:function()
{this.removeInlineEditor();this.parentObj.removeSelectionAndRefresh();},setupOptions:function()
{var that=this;if(!this.parentObj.multiline)
{}
that.optionsElement.onclick=function(evt){if(!evt)evt=window.event;that.optionsClick(evt);}
that.optionsElement.onmousedown=function(evt){if(!evt)evt=window.event;that.optionsDown(evt);}
that.optionsElement.onmouseup=function(evt){if(!evt)evt=window.event;that.optionsUp(evt);}},setupMenuButton:function()
{var that=this;if(this.menuButtonElement)
{that.menuButtonElement.onclick=function(evt){if(!evt)evt=window.event;that.optionsClick(evt);}
that.menuButtonElement.onmousedown=function(evt){if(!evt)evt=window.event;that.optionsDown(evt);}
that.menuButtonElement.onmouseup=function(evt){if(!evt)evt=window.event;that.optionsUp(evt);}}},setupEditor:function()
{var inner=this.getInner();if(!inner)
{inner=this.getInner(true);}
var parentFontSize=($(inner).getStyle('font-size'));var parentFontFamily=($(inner).getStyle('font-family'));var parentFontWeight=($(inner).getStyle('font-weight'));var parentAlign=($(inner).getStyle('text-align'));if(inner.parentNode)
{var vAlign=($(inner.parentNode).getStyle('vertical-align'));}
if(parentFontSize)
{this.getTextElement().style.fontSize=parentFontSize;}
if(!this.parentObj.html)
{var parentLineHeight=($(this.getInner()).getStyle('line-height'));if(parentLineHeight)
{this.getTextElement().style.lineHeight=parentLineHeight;}}
if(parentFontFamily)
{this.getTextElement().style.fontFamily=parentFontFamily;}
if(parentFontWeight)
{this.getTextElement().style.fontWeight=parentFontWeight;}
if(parentAlign&&parentAlign=='right')
{this.getTextElement().style.textAlign=parentAlign;this.align=parentAlign;}
if(this.lang=='AR'||this.lang=='HE'){this.getTextElement().style.direction='rtl';}
if(vAlign)
{this.vAlign=vAlign;}
var that=this;var eventElement=that.getEventElement();if(eventElement.attachEvent)
{eventElement.attachEvent('onkeydown',that.doKeyDown,false);eventElement.attachEvent('onkeyup',that.doKeyUp,false);eventElement.attachEvent('onkeypress',that.doKeyPress,false);eventElement.attachEvent('onpaste',that.realPaste,false);}
else
{eventElement.addEventListener('keydown',that.doKeyDown,false);eventElement.addEventListener('keyup',that.doKeyUp,false);eventElement.addEventListener('keypress',that.doKeyPress,false);if(that.editorType=='iframe')
{eventElement.addEventListener('dragdrop',that.doDrop,false);}
else
{eventElement.addEventListener('drop',that.doDrop,false);}
if(Qualtrics.Browser.Features.onPaste)
{eventElement.addEventListener('paste',that.realPaste,false);}
else
{that.lastText=that.getValue();eventElement.addEventListener('input',that.doInputPaste,false);}}
eventElement=null;},hasCustomKeyMap:function(key)
{var thisObj=inlineEditor.getInstance();var parentObj=thisObj.parentObj;if(parentObj.keyMap&&parentObj.keyMap[key]!==undefined)
{return true;}
return false;},useCustomKeyMap:function(key,evt)
{var thisObj=inlineEditor.getInstance();var parentObj=thisObj.parentObj;if(parentObj.keyMap&&parentObj.keyMap[key]!==undefined)
{if(parentObj[parentObj.keyMap[key]])
{var target=parentObj[parentObj.keyMap[key]](thisObj,evt);if(target&&target.edit)
{target.edit(null,null,{select:true,lang:thisObj.lang});}}
else
{if(parentObj.keyMap[key]===null)
{return true;}
if(parentObj.keyMap[key]==='close')
{this.removeInlineEditor();return false;}}
return true;}
return false;},doKeyDown:function(evt)
{if(!evt)var evt=window.event;var thisObj=inlineEditor.getInstance();thisObj.blockKeyUp=false;var parentObj=thisObj.parentObj;thisObj.repeatCount++;if(parentObj.onKeyDown&&parentObj.onKeyDown(evt)===false)
{Event.stop(evt);return false;}
if(evt.keyCode==Event.KEY_BACKSPACE)
{thisObj.parentObj.changed=true;if(thisObj.hasCustomKeyMap('backspace'))
{var result=thisObj.useCustomKeyMap('backspace',evt);return;}}
else if(evt.keyCode==Event.KEY_ESC)
{if((evt.keyCode==Event.KEY_ESC)&&thisObj.hasCustomKeyMap('esc'))
{return thisObj.useCustomKeyMap('esc',evt);}
if(thisObj)
{thisObj.setValue(parentObj.originalText);thisObj.removeInlineEditor('keydown');Event.stop(evt);return;}}
else if(evt.keyCode==Event.KEY_UP||(evt.keyCode==Event.KEY_TAB&&evt.shiftKey))
{if((evt.keyCode==Event.KEY_UP)&&thisObj.hasCustomKeyMap('up'))
{return thisObj.useCustomKeyMap('up');}
var customUp=thisObj.useCustomKeyMap('up',evt);Event.stop(evt);if((evt.shiftKey&&evt.keyCode==Event.KEY_TAB)&&thisObj.hasCustomKeyMap('shiftTab'))
{return thisObj.useCustomKeyMap('shiftTab',evt);}
var prevSelection=parentObj.getPrev&&parentObj.getPrev(thisObj.seriesIndex);if(prevSelection)
{prevSelection.edit(null,null,{select:true,lang:thisObj.lang});}
else
{var prevGroup=parentObj.getPrevGroup&&parentObj.getPrevGroup(thisObj.seriesIndex);if(prevGroup)
{prevGroup.edit(null,null,{select:true,lang:thisObj.lang});}}
return false;}
else if(evt.keyCode==Event.KEY_DOWN||evt.keyCode==Event.KEY_TAB)
{if(evt.keyCode==Event.KEY_TAB)
{Event.stop(evt);if(thisObj.codeViewMode)
{thisObj.insert('\t');return true;}}
if((evt.keyCode==Event.KEY_DOWN)&&thisObj.hasCustomKeyMap('down'))
{return thisObj.useCustomKeyMap('down',evt);}
if((evt.keyCode==Event.KEY_TAB)&&thisObj.hasCustomKeyMap('tab'))
{return thisObj.useCustomKeyMap('tab',evt);}
var nextSelection=parentObj.getNext&&parentObj.getNext(thisObj.seriesIndex);if(nextSelection)
{nextSelection.edit(null,null,{select:true,lang:thisObj.lang});}
else
{var nextGroup=parentObj.getNextGroup&&parentObj.getNextGroup(thisObj.seriesIndex);if(nextGroup)
{nextGroup.edit(null,null,{select:true,lang:thisObj.lang});}}
return false;}
else if(evt.keyCode==Event.KEY_LEFT||evt.keyCode==Event.KEY_RIGHT)
{if(evt.metaKey&&Qualtrics.Browser.Gecko)
{Event.stop(evt);}
if(evt.keyCode==Event.KEY_LEFT)
{if(evt.ctrlKey&&!evt.shiftKey)
{if(parentObj.getLeft)
{var leftSelection=parentObj.getLeft();if(leftSelection)
{leftSelection.edit(null,null,{select:true,lang:thisObj.lang});Event.stop(evt);return false;}}
return true;}
if(parentObj.keyMap&&parentObj.keyMap['left'])
{var selectionRange=thisObj.getSelectionRange();var caretPos=selectionRange.start;if(caretPos==selectionRange.end&&caretPos==0&&thisObj.hasCustomKeyMap('left'))
{Event.stop(evt);return thisObj.useCustomKeyMap('left',evt);}}}
else if(evt.keyCode==Event.KEY_RIGHT)
{if(evt.ctrlKey&&!evt.shiftKey)
{if(parentObj.getRight)
{var rightSelection=parentObj.getRight();if(rightSelection)
{rightSelection.edit(null,null,{select:true,lang:thisObj.lang});Event.stop(evt);return false;}}
return true;}
if(parentObj.keyMap&&parentObj.keyMap['right'])
{var selectionRange=thisObj.getSelectionRange();var caretPos=selectionRange.start;if(caretPos==selectionRange.end&&caretPos==thisObj.getValue().length&&thisObj.hasCustomKeyMap('right'))
{Event.stop(evt);return thisObj.useCustomKeyMap('right',evt);}}}}
else if(evt.keyCode==Event.KEY_SPACE)
{if(thisObj.editorType=='textarea')
{var inputText=thisObj.getValue();if(inputText.charCodeAt(inputText.length-1)==Event.KEY_SPACE)
{Event.stop(evt);}}}
if(evt.keyCode!=Event.KEY_RETURN)
{if(thisObj.isModifyKey(evt))
{if(thisObj.parentObj.maxlength!==undefined&&thisObj.getValue().length>=thisObj.parentObj.maxlength)
{if(evt.keyCode!=Event.KEY_BACKSPACE&&evt.keyCode!=Event.KEY_DELETE)
{Event.stop(evt);return;}}
if(!thisObj.parentObj.multiline)
{thisObj.estimateEditorWidth();}}
thisObj.updateText(thisObj.getValue());thisObj.parentObj.fresh=0;}},doKeyUp:function(evt)
{var thisObj=inlineEditor.getInstance();thisObj.repeatCount=0;if(thisObj.blockKeyUp)
{return;}
if(thisObj.isModifyKey(evt))
{thisObj.updateText(thisObj.getValue());}},isModifyKey:function(evt)
{if(evt.keyCode!=Event.KEY_SHIFT&&evt.keyCode!=Event.KEY_CTRL&&evt.keyCode!=Event.KEY_ALT&&evt.keyCode!=Event.KEY_CAPS&&evt.keyCode!=Event.KEY_LEFT&&evt.keyCode!=Event.KEY_RIGHT&&evt.keyCode!=Event.KEY_UP&&evt.keyCode!=Event.KEY_DOWN&&evt.keyCode!=Event.KEY_TAB&&evt.keyCode!=224&&!evt.ctrlKey&&!evt.metaKey)
{return true;}
return false;},doKeyPress:function(evt)
{if(!evt)var evt=window.event;var thisObj=inlineEditor.getInstance();var parentObj=thisObj.parentObj;if(evt.keyCode==Event.KEY_RETURN)
{if(evt.shiftKey&&thisObj.hasCustomKeyMap('shiftEnter'))
{Event.stop(evt);return thisObj.useCustomKeyMap('shiftEnter',evt);}
if(thisObj.hasCustomKeyMap('enter'))
{Event.stop(evt);return thisObj.useCustomKeyMap('enter',evt);}
if(thisObj.parentObj.multiline)
{if(window.QuestionActions){var questionObj=thisObj.parentObj.parentObj;questionObj.checkForHeightShift();}}
else
{Event.stop(evt);}}
else if(evt.keyCode==Event.KEY_TAB)
{Event.stop(evt);}
else if(thisObj.parentObj.onType)
{if(thisObj.isModifyKey(evt))
{thisObj.parentObj.onType(thisObj,thisObj.seriesIndex,thisObj.lang);thisObj.parentObj.changed=true;}}
else if(thisObj.isModifyKey(evt)&&evt.keyCode!=Event.KEY_BACKSPACE)
{var validChars=thisObj.parentObj.validChars;if(typeof validChars=='string')validChars=new RegExp(validChars);if(validChars)
{var code='';if(evt.charCode)
code=evt.charCode;else
code=evt.keyCode;if(code)
{var chr=String.fromCharCode(code);if(chr&&!chr.match(validChars))
{Event.stop(evt);}}}}},insert:function(text,position)
{var locatorText="<span id='qtmpinsert'>"+text+"</span>";var input=this.getTextElement();if(this.editorType=='div')
{if(document.selection)
{this.focus(position);document.selection.createRange().pasteHTML(text);this.updateText(this.getValue());return;}
else
{this.focus(position);document.execCommand("InsertHTML",false,locatorText);}}
else if(this.editorType=='iframe')
{if(this.iFrameLoaded)
{this.element.contentDocument.execCommand('inserthtml',false,locatorText);}}
else if(this.editorType=='textarea')
{position=position||{};var val=this.getValue();var firstPos=position.offset||val.length;var secondPos=position.end||firstPos;var first=val.substring(0,firstPos);var last=val.substring(secondPos);this.setValue(first+text+last);this.updateText(this.getValue());this.focus({offset:(first+text).length});return;}
var doc=this.element.contentDocument||document;var locatorNode=doc.getElementById('qtmpinsert');var textNode=doc.createTextNode(text);if(locatorNode)
{locatorNode.parentNode.insertBefore(textNode,locatorNode);locatorNode.parentNode.removeChild(locatorNode);}
if(!Qualtrics.Browser.WebKit)
{this.focus.bind(this,{node:textNode,offset:text.length})();}
this.updateDom();this.updateText(this.getValue());this.updateEditorWidth();},doDrop:function(evt)
{var thisObj=inlineEditor.getInstance();setTimeout(function(){thisObj.updateText(thisObj.getValue());},100);},doInputPaste:function(evt)
{var thisObj=inlineEditor.getInstance();var oldString=thisObj.lastText;var newString=thisObj.getValue();var diff=newString.length-oldString.length;var pasteDetected=false;if(Math.abs(diff)>1)
{pasteDetected=true;}
else if(diff===1)
{var firstPart=newString.substring(0,newString.length-1);if(firstPart!==oldString)
{pasteDetected=true;}}
else if(diff===-1)
{var firstPart=oldString.substring(0,oldString.length-1);if(firstPart!==newString)
{pasteDetected=true;}}
else if(diff===0)
{if(oldString!==newString)
{pasteDetected=true;}}
if(pasteDetected)
{thisObj.doPaste(evt);}
thisObj.lastText=newString;},doPaste:function(evt)
{var thisObj=inlineEditor.getInstance();if(thisObj.repeatCount>0)
{thisObj.blockKeyUp=true;}
thisObj.doParse.bind(thisObj).defer();},realPaste:function(evt)
{var thisObj=inlineEditor.getInstance();var oldVal=thisObj.getValue();if(thisObj&&thisObj.editorType!='textarea')
{if(thisObj.parentObj.onPaste)
{thisObj.parentObj.onPaste.bind(thisObj.parentObj).defer(thisObj,oldVal);}}
thisObj.doPaste(evt);},doParse:function()
{var thisObj=inlineEditor.getInstance();if(thisObj)
{if(thisObj.parentObj.parse&&thisObj.parentObj.parse(thisObj.getValue(),thisObj.seriesIndex,thisObj.lang))
{return;}
thisObj.updateText(thisObj.getValue());}},getTextElement:function()
{if(this.editorType=='iframe')
{if(this.element.contentDocument)
{var doc=this.element.contentDocument;if(doc)
{var bod=doc.getElementsByTagName('body')[0];return bod;}}}
else if(this.editorType=='div')
{if(this.element)
return this.element.firstChild;}
else if(this.editorType=='textarea')
{return this.element;}
else if(this.editorType=='fck')
{if(this.element)
return this.element.firstChild;}
return false;},getEventElement:function()
{if(this.editorType=='iframe')
{if(this.element&&this.element.contentDocument)
{return this.element.contentDocument;}}
return this.element;},getValue:function()
{if(this.element)
{if(this.editorType=='div')
{return this.getTextElement().innerHTML;}
else if(this.editorType=='iframe')
{if(this.iFrameLoaded)
{return this.getTextElement().innerHTML;}
if(this.parentObj.getText)
{return this.parentObj.getText();}}
else if(this.editorType=='fck')
{if(this.fck)
{if(this.fck.getData)
{var data=this.fck.getData();}
if(data!==null&&!this.fck.updating)
{return data;}}
if(this.parentObj.getText)
{return this.parentObj.getText();}
else
{return this.getTextElement().innerHTML;}}
else
{return this.getTextElement().value;}}
return null;},getPlainTextValue:function()
{var val=this.getValue();if(val!=undefined)
{return val.stripTags();}
return"";},setValue:function(v)
{if(this.editorType=='textarea')
{this.getTextElement().value=String(v);}
else
{this.getTextElement().innerHTML=String(v);}},setDocumentClickObserver:function()
{var that=this;that.documentClickObserver=that.removeByDocumentClick.bindAsEventListener(that);Event.observe(document,'mousedown',that.documentClickObserver);},removeDocumentClickObserver:function()
{Event.stopObserving(document,'mousedown',this.documentClickObserver);},removeByDocumentClick:function(evt)
{if(this.element)
{if(Event.isLeftClick(evt))
{if(this.skipAnEvent)
{this.skipAnEvent=false;return;}
var clickedEl=Event.element(evt);var parent=clickedEl.parentNode;if(clickedEl.getAttribute('keepeditoropen')){return;}
if(clickedEl.getAttribute('keepeditoropenforever')){this.keepOpen=true;return;}
if(clickedEl.id=='InlineEditorElement')
{return;}
var iswithin=(Position.within(this.element,mousePos[0],mousePos[1]));if(!iswithin)
{if(this.editorType=='fck')
{var overlayId=this.overlayObj&&this.overlayObj._id;if(overlayId)
{if($(clickedEl).id==overlayId)
{this.overlayObj.remove();}
else
{return;}}}
var removed=this.removeInlineEditor('doc click');if(removed===false)
{return}
if(clickedEl&&clickedEl.nodeName=='INPUT'&&!clickedEl.disabled)
{Form.Element.focus(clickedEl);}
clickedEl=null;}}}},getHeight:function()
{return this.height;},getTotalPaddingWidth:function()
{return this.padding[1]+this.padding[3]+this.borderWidth[1]+this.borderWidth[3];},getTotalPaddingHeight:function()
{return this.padding[0]+this.padding[2]+this.borderWidth[0]+this.borderWidth[2];},updateEditorWidth:function()
{var existingEditorPaddingWidth=this.getTotalPaddingWidth();var existingEditorPaddingHeight=this.getTotalPaddingHeight();if(this.parentObj.getDimensions)
{var dims=this.parentObj.getDimensions();if(dims&&(dims.width||dims.height))
{if(dims.width)
{$(this.element).setStyle({width:(dims.width-existingEditorPaddingWidth)+'px'});}
if(dims.height)
{$(this.element).setStyle({height:(dims.height-existingEditorPaddingHeight)+'px'});}
return;}}
var inputMargin=10;var choiceWidth=this.getInner().offsetWidth;var choiceHeight=this.getInner().offsetHeight;if(choiceHeight==0)
choiceHeight=this.lastChoiceHeight;else
this.lastChoiceHeight=choiceHeight;inputMargin=this.getInputMargin();var nextLetterWidth=10;if(this.parentObj.getNextLetterWidth)
{nextLetterWidth=this.parentObj.getNextLetterWidth();}
var inputText=this.getValue();if(inputText!=undefined)
{if(inputText.charCodeAt(inputText.length-1)==Event.KEY_SPACE)
{nextLetterWidth+=10;}
if(!this.parentObj.multiline)
{if(inputText!=undefined&&inputText.length===0)
{$(this.element).addClassName('WillBeDeleted');}else{$(this.element).removeClassName('WillBeDeleted');}}
if(Qualtrics.Browser.WebKit)
{choiceWidth=(choiceWidth+10);}
this.width=(choiceWidth-(inputMargin*2)+nextLetterWidth);$(this.element).setStyle({width:this.width+'px'});if(!this.codeViewMode)
{$(this.element).setStyle({height:choiceHeight+'px'});}
var newHeight=choiceHeight+existingEditorPaddingHeight;if(this.height&&newHeight!=this.height)
{this.updateEditorPosition();}
this.height=newHeight;this.updateButtonPosition();if(this.parentObj.multiline)
{var optionsWidth=154;var optionsHeight=17;if(this.optionsElement)
{$(this.optionsElement).setStyle({left:this.left+'px',top:(this.top-optionsHeight)+'px',width:this.width+'px'});}}
if(this.parentObj.onUpdate)
{this.parentObj.onUpdate(this);}}},updateFCKPosition:function(ev)
{if(ev.editor&&ev.editor._&&ev.editor._.cke_contents&&ev.editor._.cke_contents.$)
{$('fckStorageUnit').setStyle({zIndex:'12000',display:'block'});var top=this.top;var left=this.left;var contents=ev.editor._.cke_contents.$;var toolbar=$(contents).up().previous();if(toolbar)
{top-=toolbar.offsetHeight;}
$('fckStorageUnit').setStyle({position:'absolute',top:top+'px',left:left+'px'});}},updateButtonPosition:function(opt_width)
{if(this.menuButtonElement)
{var optionsHeight=19;var textBoxPadding=8;if(this.menuButtonElement)
{$(this.menuButtonElement).setStyle({left:(this.left+(opt_width||this.width)+textBoxPadding)+'px',top:(this.top)+'px'});}}},estimateEditorWidth:function()
{var estimatedWidth=$(this.element).offsetWidth;estimatedWidth=estimatedWidth;$(this.element).setStyle({width:(estimatedWidth)+'px'});this.updateButtonPosition(estimatedWidth);},updateEditorPosition:function()
{this.top=undefined;this.left=undefined;if(this.parentObj.getPosition)
{var pos=this.parentObj.getPosition();if(pos&&(pos.top!==undefined||pos.left!==undefined))
{this.top=pos.top;this.left=pos.left;}}
if(this.top==undefined||this.left==undefined)
{var element=this.getInner();if(element)
{var scrollElement=element;var scrollOffset=[0,0];do{if(scrollElement.nodeName!=='HTML'&&scrollElement.nodeName!=='BODY')
{scrollOffset[0]+=scrollElement.scrollLeft||0;scrollOffset[1]+=scrollElement.scrollTop||0;}
scrollElement=scrollElement.parentNode;}while(scrollElement);var pos=Position.cumulativeOffset(element);pos[0]-=scrollOffset[0];pos[1]-=scrollOffset[1];pos=Q_Window.preparePos(pos);var inputMargin=this.getInputMargin();var rightOffset=this.getRightOffset();var leftOffset=this.getLeftOffset();var nextLetterOffset=-3;var vOffset=-2;if(Qualtrics.Browser.IE)
{vOffset=0;leftOffset+=2;}
if(Qualtrics.Browser.Safari)
{leftOffset+=3;if(this.vAlign&&this.vAlign=='middle')
{if(this.height)
{var parentHeight=element&&element.parentNode.offsetHeight;if(parentHeight)
{vOffset+=(parentHeight/2)-(this.height/2);}}}}
this.left=pos[0]+inputMargin+nextLetterOffset-leftOffset;this.top=pos[1]+vOffset;}}
if(this.element)
{$(this.element).setStyle({left:this.left+'px',top:this.top+'px'});}},getRightOffset:function()
{var rightOffset=0;if(this.parentObj.rightOffset!=undefined)
{rightOffset=this.parentObj.rightOffset;}
return rightOffset;},getLeftOffset:function()
{if(this.parentObj.getLeftOffset)
{return this.parentObj.getLeftOffset();}
else
{if(this.align=='center')
{return 6;}
return 2;}},getInputMargin:function()
{var inputMargin=10;if(this.parentObj.margin!=undefined)
{inputMargin=this.parentObj.margin;}
var padding=$(this.getInner()).getStyle('paddingLeft');padding=padding.substr(0,padding.indexOf('px'));return Number(padding);},checkPositionShift:function()
{if(this.align&&this.align!=='left')
{this.updateEditorPosition();this.updateEditorWidth();return;}
var el=$(this.parentObj.id);if(el)
{var parent=el.parentNode;var quickTop=el.offsetTop+parent.offsetTop;var quickLeft=el.offsetLeft+parent.offsetLeft;if(this.positionShiftTriggers[0]!=quickLeft||this.positionShiftTriggers[1]!=quickTop)
{this.updateEditorPosition();this.updateEditorWidth();}
this.positionShiftTriggers[0]=quickLeft;this.positionShiftTriggers[1]=quickTop;}},updateDom:function(text,opt_forceUpdate,opt_updatePosition)
{var display=text||this.parentObj.getText(this.seriesIndex,this.lang);var domNode=this.getInner();if(display=='')
{display='<br />';}
if(domNode)
{if(!this.parentObj.html)
{domNode.innerHTML='';domNode.appendChild(document.createTextNode(display));if(Qualtrics.Browser.WebKit)
{var oldDisplay=domNode.style.display;if(oldDisplay=='inline')
{domNode.style.display='block';domNode.offsetWidth;domNode.style.display=oldDisplay;}}}
else
{domNode.innerHTML=display;}
if(opt_updatePosition!==false)
{this.updateEditorWidth();this.checkPositionShift();}}
this.updateRemoveFormattingButton(text);domNode=null;},updateText:function(text,opt_forceUpdate,opt_updatePosition)
{text=String(text)
if(text.length>20000)
{alert('You have exceeded the size limit. Please reduce your text');return;}
var now=new Date();if(!opt_forceUpdate&&this.lastUpdateTime&&this.lastUpdateTime>now-300)
{this.parentObj.setText(text,this.seriesIndex,this.lang);this.delayedUpdateText(text);return;}
this.cancelDelayedUpdateText();this.lastUpdateTime=now;this.parentObj.setText(text,this.seriesIndex,this.lang);this.updateDom(text,opt_forceUpdate,opt_updatePosition);if(this.parentObj&&this.parentObj.parentObj&&this.parentObj.parentObj.setEdited)
{this.parentObj.parentObj.setEdited(1);}
if(this.parentObj&&this.parentObj.setEdited)
{this.parentObj.setEdited(1);}},delayedUpdateText:function(text)
{if(this.updateTextDelay)
{clearTimeout(this.updateTextDelay);}
var that=this;this.updateTextDelay=setTimeout(function(){that.updateTextDelay=null;that.updateText(text);},0.4);},cancelDelayedUpdateText:function()
{if(this.updateTextDelay)
{clearTimeout(this.updateTextDelay);this.updateTextDelay=null;}},finishEdit:function()
{if(this.parentObj)
{this.getInner().innerHTML=this.parentObj.getText(this.seriesIndex,this.lang);this.updateEditorWidth();}},removeInlineEditor:function(options)
{var inlineEditorObj=inlineEditor.getInstance();options=options||{};if(inlineEditorObj)
{if(inlineEditorObj.keepOpen)
{return false;}
var val=inlineEditorObj.getValue();val=val.strip();if(inlineEditorObj.parentObj.maxlength!==undefined&&inlineEditorObj.getValue().length>=inlineEditorObj.parentObj.maxlength)
{inlineEditorObj.setValue(inlineEditorObj.getValue().truncate(inlineEditorObj.parentObj.maxlength));}
if(val)
{inlineEditorObj.codeViewMode=false;if(inlineEditorObj.parentObj&&inlineEditorObj.parentObj.changed||inlineEditorObj.parentObj.originalText&&inlineEditorObj.parentObj.originalText!=inlineEditorObj.parentObj.getText(inlineEditorObj.seriesIndex,inlineEditorObj.lang))
{inlineEditorObj.parentObj.changed=true;inlineEditorObj.updateText(val,true,false);}
else
{inlineEditorObj.updateDom(val,true,false);}}
inlineEditorObj.cancelDelayedUpdateText();if(inlineEditorObj.parentObj.multiline&&!inlineEditorObj.parentObj.html)
{$(inlineEditorObj.cachedInner).setStyle({'whiteSpace':''});}
if((inlineEditorObj.editorType=='textarea')||(inlineEditorObj.editorType=='fck'))
{var inner=inlineEditorObj.getInner(inlineEditorObj.seriesIndex,inlineEditorObj.lang);if(inner)
{inner.innerHTML=inlineEditorObj.parentObj.getText(inlineEditorObj.seriesIndex,inlineEditorObj.lang);}}
var optionsNode=inlineEditorObj.optionsElement;var menuButtonNode=inlineEditorObj.menuButtonElement;if(optionsNode)
{optionsNode.onmouseover=null;optionsNode.onmouseout=null;optionsNode.onclick=null;optionsNode.onmousedown=null;optionsNode.onmouseup=null;}
if(menuButtonNode)
{menuButtonNode.onmouseover=null;menuButtonNode.onclick=null;menuButtonNode.onmouseout=null;menuButtonNode.onmousedown=null;menuButtonNode.onmouseup=null;}
optionsNode=null;menuButtonNode=null;var eventElement=inlineEditorObj.getEventElement();if(eventElement)
{if(eventElement.detachEvent)
{eventElement.detachEvent('onkeydown',inlineEditorObj.doKeyDown,false);eventElement.detachEvent('onkeyup',inlineEditorObj.doKeyUp,false);eventElement.detachEvent('onkeypress',inlineEditorObj.doKeyPress,false);eventElement.detachEvent('onpaste',inlineEditorObj.realPaste,false);}
else
{eventElement.removeEventListener('keydown',inlineEditorObj.doKeyDown,false);eventElement.removeEventListener('keyup',inlineEditorObj.doKeyUp,false);eventElement.removeEventListener('keypress',inlineEditorObj.doKeyPress,false);if(Qualtrics.Browser.Features.onPaste)
{eventElement.removeEventListener('paste',inlineEditorObj.realPaste,false);}
else
{eventElement.removeEventListener('input',inlineEditorObj.doInputPaste,false);}}}
eventNode=null;if(inlineEditorObj.getPlainTextValue()!=undefined)
{if(trim(inlineEditorObj.getPlainTextValue()).length===0&&val.indexOf('img')==-1&&val.indexOf('embed')==-1&&val.indexOf('object')==-1)
{if(inlineEditorObj.parentObj.onEmpty&&!options.transitional&&!options.clean)
{inlineEditorObj.parentObj.onEmpty(inlineEditorObj.seriesIndex,inlineEditorObj.lang);}}}
var editorEl=$(inlineEditorObj.element);inlineEditorObj.element=null;if(editorEl)
{removeElement(editorEl);}
var optionsEl=$(inlineEditorObj.optionsElement);inlineEditorObj.optionsElement=null;if(optionsEl)
{removeElement(optionsEl);}
var menuEl=$(inlineEditorObj.menuButtonElement);inlineEditorObj.menuButtonElement=null;if(menuEl)
{removeElement(menuEl);}
inlineEditorObj.removeDocumentClickObserver();inlineEditorObj.documentClickObserver=null;if(inlineEditorObj.parentObj)
{inlineEditorObj.parentObj.editing=0;}
if(inlineEditorObj.parentObj&&$(inlineEditorObj.parentObj.id))
{$(inlineEditorObj.parentObj.id).removeClassName('Editing');}
if(inlineEditorObj.parentObj&&inlineEditorObj.parentObj._afterEdit)
{inlineEditorObj.parentObj._afterEdit.call(inlineEditorObj.parentObj,inlineEditorObj,inlineEditorObj.seriesIndex,inlineEditorObj.lang);}
if(inlineEditorObj.parentObj&&inlineEditorObj.parentObj.afterEdit)
{inlineEditorObj.parentObj.afterEdit.call(inlineEditorObj.parentObj,inlineEditorObj,inlineEditorObj.seriesIndex,inlineEditorObj.lang);}
if(inlineEditorObj.editorType=='fck')
{inlineEditorObj.updateText(val,true,false);if(inlineEditorObj.fck)
{inlineEditorObj.fck.destroy();}
if($('fckStorageUnit'))
{$('fckStorageUnit').remove();}}
inlineEditorObj.parentObj.changed=false;inlineEditorObj.cachedInner=null;inlineEditorObj=null;inlineEditor.instance=null;inlineEditor.fck=null;}
return true;}}
var Editable=Class.create();Editable.bindedEdit=function(domNode,varPath,opt_instanceId,opt_optionsObjectName)
{var parts=QualtricsCPTools.getDotSyntaxParts(varPath,opt_instanceId);var editable=new Editable($(domNode),parts.root,parts.callBack,opt_optionsObjectName);return editable.edit();}
Object.extend(Editable.prototype,{objType:'',text:'',id:null,bindedParentObj:null,edited:0,bindedName:null,originalText:null,changed:false,initialize:function(idOrElement,opt_bindedParentObj,opt_variableToBind,opt_optionsObjectName)
{if(idOrElement)
{if(!this.multiline)
{this.keyMap={enter:'close'};}
this.bindedParentObj=opt_bindedParentObj;if(typeof idOrElement=='string')
{this.id=idOrElement;this.domNode=$(this.id);}
else
{this.id=QualtricsCPTools.createNewId('E');this.domNode=idOrElement;}
if(this.getInner())
{this.text=this.getInner().innerHTML;}
if(opt_variableToBind!=null)
{this.bindedName=opt_variableToBind;}
if(opt_optionsObjectName)
{if(typeof opt_optionsObjectName=='string')opt_optionsObjectName=window[opt_optionsObjectName];Object.extend(this,opt_optionsObjectName);}}},edit:function(event,options)
{options=options||{};options.evt=event;var e=new inlineEditor(this,options);return e;},updateBinded:function()
{if(this.bindedName!==null&&this.bindedParentObj)
{if(this.bindedParentObj[this.bindedName]&&typeof this.bindedParentObj[this.bindedName]=='function')
{this.bindedParentObj[this.bindedName](this.text);}
else
{this.bindedParentObj[this.bindedName]=this.text;}}},onEmpty:function(seriesIndex,lang)
{this.revert();},revert:function(seriesIndex,lang)
{if(inlineEditor.getInstance())
{inlineEditor.getInstance().updateText(this.originalText,true);this.setText(this.originalText);}},getEdited:function()
{return this.edited;},setEdited:function(v)
{this.edited=v;},getText:function()
{return this.text;},setText:function(v)
{this.text=v;this.updateBinded();},getInner:function()
{return this.domNode||$(this.id);},refresh:function(seriesIndex,lang)
{if(this.getInner(seriesIndex,lang))
this.getInner(seriesIndex,lang).innerHTML=this.getText(seriesIndex,lang);},afterEdit:function()
{}});
// (C) 2007-2012 Qualtrics, Inc.

function makeSortable(listIds){if(listIds.constructor!=Array){var listIds=[listIds];}
for(var i=0;i<listIds.length;i++){var listId=listIds[i];Sortable.create(listId,{dropOnEmpty:true,containment:listIds,constraint:false,scroll:window,onChange:function(o){rankOrderAll(listIds);updateInputValues(listIds);},onUpdate:function(o){updateInputValues(listIds);}});if('ontouchstart'in document.documentElement)
{var ul=$(listId);var sortable=Sortable.sortables[listId];for(var x=0,len=sortable.draggables.length;x<len;++x)
{var draggable=sortable.draggables[x];var li=draggable.element;Event.observe(li,'touchstart',draggable.eventMouseDown);Event.observe(document,'touchend',Draggables.eventMouseUp);Event.observe(document,'touchmove',Draggables.eventMouseMove);}}}}
function updateInputValues(listIds){if(listIds.constructor!=Array){var listIds=[listIds];}
for(var i=0;i<listIds.length;i++){var listId=listIds[i];var rank="";var choice="";var choiceId="";list=$(listId);var groupId=list.getAttribute('rel');for(var j=0;j<list.childNodes.length;j++){var choiceItem=list.childNodes[j];if(choiceItem.nodeName!='LI')
continue;choiceId=choiceItem.id;for(var ranki=0;ranki<choiceItem.childNodes.length;ranki++){if(choiceItem.childNodes[ranki].className=="rank"){rank=(choiceItem.childNodes[ranki].innerHTML);}}
for(var ranki=0;ranki<choiceItem.childNodes.length;ranki++){if(choiceItem.childNodes[ranki].className=="choice"){choice=(choiceItem.childNodes[ranki].innerHTML);}}
if($(choiceId+"~Group")){if(listId.indexOf('items')==-1){if(list.getAttribute("maxChoices"))
{if(list.childNodes.length>list.getAttribute("maxChoices"))
{list.previous(1).addClassName("ValidationError");list.previous().innerHTML=maxChoicesMsg;list.previous().addClassName("ValidationError");}
else
{list.previous(1).removeClassName("ValidationError");list.previous().innerHTML="";list.previous().removeClassName("ValidationError");}}
$(choiceId+"~Group").value=groupId;$(choiceId+"~Rank").value=rank;}else{$(choiceId+"~Group").value="";$(choiceId+"~Rank").value="";}}else if($(choiceId+"~Rank")){$(choiceId+"~Rank").value=rank;}else{console.error("Error! there is no input: "+listId+"~Rank");}}}}
function rankOrderAll(listIds){for(var i=0;i<listIds.length;i++){var listId=listIds[i];list=$(listId);if(!list.edited)
{$(list).removeClassName('NotEdited');$(list).addClassName('Edited');list.edited=true;}
rankOrder(list);}}
function rankOrder(list){var rank=0;for(var i=0;i<list.childNodes.length;i++){var listItem=list.childNodes[i];if(!listItem||listItem.nodeName!='LI')
continue;rank++;if(i%2==0){listItem.className="BorderColor "+list.getAttribute('regularClass');}else{listItem.className="BorderColor "+list.getAttribute('altClass');}
var listItemContents=(list.childNodes[i].childNodes);for(var j=0;j<listItemContents.length;j++){if(listItemContents[j].className=="rank"){listItemContents[j].innerHTML=rank;}}}}
// (C) 2007-2012 Qualtrics, Inc.

if(window.Effect)
{Effect.Scroll=Class.create();Object.extend(Object.extend(Effect.Scroll.prototype,Effect.Base.prototype),{initialize:function(element){this.element=$(element);var options=Object.extend({x:0,y:0,mode:'absolute'},arguments[1]||{});this.start(options);},setup:function(){if(this.options.continuous&&!this.element._ext){this.element.cleanWhitespace();this.element._ext=true;this.element.appendChild(this.element.firstChild);}
this.originalLeft=this.element.scrollLeft;this.originalTop=this.element.scrollTop;if(this.options.mode=='absolute'){this.options.x-=this.originalLeft;this.options.y-=this.originalTop;}else{}},update:function(position){this.element.scrollLeft=this.options.x*position+this.originalLeft;this.element.scrollTop=this.options.y*position+this.originalTop;}});Effect.ScrollContainerTo=Class.create();Object.extend(Object.extend(Effect.ScrollContainerTo.prototype,Effect.Scroll.prototype),{initialize:function(element,toElement){this.element=$(element);Position.prepare();if(!toElement.parentNode||!element.parentNode)
{return;}
var element_y=Position.cumulativeOffset($(element))[1];var toElement_y=Position.cumulativeOffset($(toElement))[1];var y=toElement_y-element_y;var offset=0;var options=arguments[2];if(options&&options.offset)
{offset=options.offset;}
options=Object.extend({x:0,y:y+offset,mode:'absolute'},options||{});this.start(options);}});Effect.ScrollToY=Class.create();Object.extend(Object.extend(Effect.ScrollToY.prototype,Effect.Base.prototype),{initialize:function(y){this.y=y;this.start(arguments[1]||{});},setup:function(){Position.prepare();var offsets=[0,this.y];var max=window.innerHeight?window.height-window.innerHeight:document.body.scrollHeight-
(document.documentElement.clientHeight?document.documentElement.clientHeight:document.body.clientHeight);this.scrollStart=Position.deltaY;this.delta=(offsets[1]>max?max:offsets[1])-this.scrollStart;if(!this.delta)
{this.cancel();}},update:function(position){Position.prepare();window.scrollTo(Position.deltaX,this.scrollStart+(position*this.delta));}});Effect.OverlayHighlight=function(element,options){var overlayOptions=Object.extend({color:'#ffff99'},arguments[1]||{});element=QualtricsCPTools.Highlighter.autoHighlight(element,overlayOptions).element;var oldOpacity=Element.getInlineOpacity(element);options=Object.extend({from:element.getOpacity()||1.0,to:0.0,afterFinishInternal:function(effect){if(effect.options.to!=0)return;effect.element.hide().setStyle({opacity:oldOpacity});}},arguments[1]||{});return new Effect.Opacity(element,options);}}
Draggable.prototype.updateDrag=function(event,pointer){if(!this.dragging)this.startDrag(event);var fixedOffset=[0,0];if(this.options.fixedPosition)
{fixedOffset=[getScrollInfo()[0],getScrollInfo()[1]]}
if(!this.options.quiet){Position.prepare();var point=pointer;point[0]-=fixedOffset[0];point[1]-=fixedOffset[1];Droppables.show(point,this.element);}
pointer[0]+=fixedOffset[0];pointer[1]+=fixedOffset[1];Draggables.notify('onDrag',this,event);this.draw(pointer);if(this.options.change)this.options.change(this);if(this.options.scroll){this.stopScrolling();var p;if(this.options.scroll==window){with(this._getWindowScroll(this.options.scroll)){p=[left,top,left+width,top+height];}}else{p=Position.page(this.options.scroll).toArray();p[0]+=fixedOffset[0];p[1]+=fixedOffset[1];p.push(p[0]+this.options.scroll.offsetWidth);p.push(p[1]+this.options.scroll.offsetHeight);}
var speed=[0,0];if(pointer[0]<(p[0]+this.options.scrollSensitivity))speed[0]=pointer[0]-(p[0]+this.options.scrollSensitivity);if(pointer[1]<(p[1]+this.options.scrollSensitivity))speed[1]=pointer[1]-(p[1]+this.options.scrollSensitivity);if(pointer[0]>(p[2]-this.options.scrollSensitivity))speed[0]=pointer[0]-(p[2]-this.options.scrollSensitivity);if(pointer[1]>(p[3]-this.options.scrollSensitivity))speed[1]=pointer[1]-(p[3]-this.options.scrollSensitivity);this.startScrolling(speed);}
if(Prototype.Browser.WebKit&&!Qualtrics.Browser.MobileWebKit)window.scrollBy(0,0);var el=Event.element(event);if(el&&el.getAttribute('distancedragged'))
{if(!el.dragTracker)
{el.dragTracker=[pointer[0],pointer[1]];}
var distanceDragged=[Math.abs(pointer[0]-el.dragTracker[0]),Math.abs(pointer[1]-el.dragTracker[1])];el.setAttribute('distancedraggedx',distanceDragged[0]);el.setAttribute('distancedraggedy',distanceDragged[1]);el.setAttribute('distancedragged',distanceDragged[0]+distanceDragged[1]);}
Event.stop(event);}
Draggable.prototype._getWindowScroll=function(w){var T,L,W,H;with(w.document){if(w.document.documentElement&&documentElement.scrollTop){T=documentElement.scrollTop;L=documentElement.scrollLeft;}else if(w.document.body){T=body.scrollTop||window.pageYOffset||0;L=body.scrollLeft||window.pageXOffset||0;}
if(w.innerWidth){W=w.innerWidth;H=w.innerHeight;}else if(w.document.documentElement&&documentElement.clientWidth){W=documentElement.clientWidth;H=documentElement.clientHeight;}else{W=body.offsetWidth;H=body.offsetHeight}}
return{top:T,left:L,width:W,height:H};}
Draggable.prototype.scroll=function(){var current=new Date();var delta=current-this.lastScrolled;this.lastScrolled=current;if(this.scrollSpeed[1]<0&&this.options.scroll.scrollTop!==undefined&&this.options.scroll.scrollTop<1)
{return;}
if(this.options.scroll==window){with(this._getWindowScroll(this.options.scroll)){if(this.scrollSpeed[0]||this.scrollSpeed[1]){var d=delta/1000;this.options.scroll.scrollTo(left+d*this.scrollSpeed[0],top+d*this.scrollSpeed[1]);}}}else{this.options.scroll.scrollLeft+=this.scrollSpeed[0]*delta/1000;this.options.scroll.scrollTop+=this.scrollSpeed[1]*delta/1000;}
Position.prepare();Droppables.show(Draggables._lastPointer,this.element);Draggables.notify('onDrag',this);if(this._isScrollChild){Draggables._lastScrollPointer=Draggables._lastScrollPointer||$A(Draggables._lastPointer);Draggables._lastScrollPointer[0]+=this.scrollSpeed[0]*delta/1000;Draggables._lastScrollPointer[1]+=this.scrollSpeed[1]*delta/1000;if(Draggables._lastScrollPointer[0]<0)
Draggables._lastScrollPointer[0]=0;if(Draggables._lastScrollPointer[1]<0)
Draggables._lastScrollPointer[1]=0;this.draw(Draggables._lastScrollPointer);}
if(this.options.change)this.options.change(this);}
Draggable.prototype.initDrag=function(event){if(this.element.hasAttribute('grabClass'))
$(this.element).addClassName(this.element.getAttribute('grabClass'));var trash=$('g'+this.element.parentNode.id);if(trash)
QualtricsTools.fastDown($(trash),'icon').appear({duration:0.5});if(!Object.isUndefined(Draggable._dragging[this.element])&&Draggable._dragging[this.element])return;if(Event.isLeftClick(event)||event.touches){var src=Event.element(event);var el=Event.element(event)
if(el)
{el.dragTracker=null;el.setAttribute('distancedraggedx','0');el.setAttribute('distancedraggedy','0');el.setAttribute('distancedragged','0');}
if(src.getAttribute('preventDrag'))
{return}
if((tag_name=src.tagName.toUpperCase())&&(tag_name=='INPUT'||tag_name=='SELECT'||tag_name=='OPTION'||tag_name=='BUTTON'||tag_name=='TEXTAREA'))return;var pointer=[Event.pointerX(event),Event.pointerY(event)];var pos=Position.cumulativeOffset(this.element);this.offset=[0,1].map(function(i){return(pointer[i]-pos[i])});Draggables.activate(this);Event.stop(event);}}
Draggable.prototype.endDrag2=Draggable.prototype.endDrag;Draggable.prototype.endDrag=function(event)
{if(this.element.hasAttribute('grabClass'))
$(this.element).removeClassName(this.element.getAttribute('grabClass'));var trash=$('g'+this.element.parentNode.id);if(trash)
QualtricsTools.fastDown($(trash),'icon').fade({duration:0.5});this.endDrag2(event);}
Effect.SlideRight=function(element){element=$(element);Element.cleanWhitespace(element);var oldInnerRight=Element.getStyle(element.firstChild,'right');var elementDimensions=Element.getDimensions(element);return new Effect.Scale(element,100,Object.extend({scaleContent:false,scaleY:false,scaleFrom:0,scaleMode:{originalHeight:elementDimensions.height,originalWidth:elementDimensions.width},restoreAfterFinish:true,afterSetup:function(effect){with(Element){makePositioned(effect.element);makePositioned(effect.element.firstChild);if(window.opera)setStyle(effect.element,{top:''});makeClipping(effect.element);setStyle(effect.element,{width:'0px'});show(element);}},afterUpdateInternal:function(effect){with(Element){setStyle(effect.element.firstChild,{right:(effect.dims[0]-effect.element.clientWidth)+'px'});}},afterFinishInternal:function(effect){with(Element){undoClipping(effect.element);undoPositioned(effect.element.firstChild);undoPositioned(effect.element);setStyle(effect.element.firstChild,{right:oldInnerRight});}}},arguments[1]||{}));}
Effect.SlideLeft=function(element){element=$(element);Element.cleanWhitespace(element);var oldInnerRight=Element.getStyle(element.firstChild,'right');return new Effect.Scale(element,0,Object.extend({scaleContent:false,scaleY:false,scaleMode:'box',scaleFrom:100,restoreAfterFinish:true,beforeStartInternal:function(effect){with(Element){makePositioned(effect.element);makePositioned(effect.element.firstChild);if(window.opera)setStyle(effect.element,{top:''});makeClipping(effect.element);show(element);}},afterUpdateInternal:function(effect){with(Element){setStyle(effect.element.firstChild,{right:(effect.dims[0]-effect.element.clientWidth)+'px'});}},afterFinishInternal:function(effect){with(Element){[hide,undoClipping].call(effect.element);undoPositioned(effect.element.firstChild);undoPositioned(effect.element);setStyle(effect.element.firstChild,{right:oldInnerRight});}}},arguments[1]||{}));}
Effect.BlindLeft=function(element){element=$(element);element.makeClipping();return new Effect.Scale(element,0,Object.extend({scaleContent:false,scaleY:false,restoreAfterFinish:true,afterFinishInternal:function(effect){effect.element.hide().undoClipping();}},arguments[1]||{}));}
Effect.BlindRight=function(element){element=$(element);var elementDimensions=element.getDimensions();return new Effect.Scale(element,100,Object.extend({scaleContent:false,scaleY:false,scaleFrom:0,scaleMode:{originalHeight:elementDimensions.height,originalWidth:elementDimensions.width},restoreAfterFinish:true,afterSetup:function(effect){effect.element.makeClipping().setStyle({width:'0px'}).show();},afterFinishInternal:function(effect){effect.element.undoClipping();}},arguments[1]||{}));}
Effect.Transitions.InQuad=function(x){return x*x}
Effect.Transitions.OutQuad=function(x){return-1*x*(x-2);}
Effect.Transitions.InExpo=function(x){return(x==0)?0:Math.pow(2,10*(x-1));}
Effect.Transitions.Elastic=function(x){if(x==0||x==1)
return x;var p=0.3;var s=p/4;return-(Math.pow(2,10*(x-=1))*Math.sin((x*1-s)*(2*Math.PI)/p));}
var INQUAD=Effect.Transitions.InQuad;var OUTQUAD=Effect.Transitions.OutQuad
var INEXPO=Effect.Transitions.InExpo;var ELASTIC=Effect.Transitions.Elastic;Effect.Transitions.Elastic=function(pos){return-1*Math.pow(4,-8*pos)*Math.sin((pos*6-1)*(2*Math.PI)/2)+1;};Effect.Transitions.SwingFromTo=function(pos){var s=5.70158;if((pos/=0.5)<1)return 0.5*(pos*pos*(((s*=(1.525))+1)*pos-s));return 0.5*((pos-=2)*pos*(((s*=(1.525))+1)*pos+s)+2);};Effect.Transitions.SwingFrom=function(pos){var s=1.70158;return pos*pos*((s+1)*pos-s);};Effect.Transitions.SwingTo=function(pos){var s=1.70158;return(pos-=1)*pos*((s+1)*pos+s)+1;};Effect.Transitions.Bounce=function(pos){if(pos<(1/2.75)){return(7.5625*pos*pos);}else if(pos<(2/2.75)){return(7.5625*(pos-=(1.5/2.75))*pos+0.75);}else if(pos<(2.5/2.75)){return(7.5625*(pos-=(2.25/2.75))*pos+0.9375);}else{return(7.5625*(pos-=(2.625/2.75))*pos+0.984375);}};Effect.Transitions.BouncePast=function(pos){if(pos<(1/2.75)){return(7.5625*pos*pos);}else if(pos<(2/2.75)){return 2-(7.5625*(pos-=(1.5/2.75))*pos+0.75);}else if(pos<(2.5/2.75)){return 2-(7.5625*(pos-=(2.25/2.75))*pos+0.9375);}else{return 2-(7.5625*(pos-=(2.625/2.75))*pos+0.984375);}};Effect.Transitions.EaseFromTo=function(pos){if((pos/=0.5)<1)return 0.5*Math.pow(pos,4);return-0.5*((pos-=2)*Math.pow(pos,3)-2);};Effect.Transitions.EaseFrom=function(pos){return Math.pow(pos,4);};Effect.Transitions.EaseTo=function(pos){return Math.pow(pos,0.25);};Control.Slider.prototype.initialize=function(handle,track,options){var slider=this;if(Object.isArray(handle)){this.handles=handle.collect(function(e){return $(e)});}else{this.handles=[$(handle)];}
this.track=$(track);this.options=options||{};this.axis=this.options.axis||'horizontal';this.increment=this.options.increment||1;this.step=parseInt(this.options.step||'1');this.range=this.options.range||$R(0,1);this.value=0;this.values=this.handles.map(function(){return 0});this.spans=this.options.spans?this.options.spans.map(function(s){return $(s)}):false;this.options.startSpan=$(this.options.startSpan||null);this.options.endSpan=$(this.options.endSpan||null);this.restricted=this.options.restricted||false;this.maximum=this.options.maximum||this.range.end;this.minimum=this.options.minimum||this.range.start;this.alignX=parseInt(this.options.alignX||'0');this.alignY=parseInt(this.options.alignY||'0');this.trackLength=this.maximumOffset()-this.minimumOffset();this.handleLength=this.isVertical()?(this.handles[0].offsetHeight!=0?this.handles[0].offsetHeight:this.handles[0].style.height.replace(/px$/,"")):(this.handles[0].offsetWidth!=0?this.handles[0].offsetWidth:this.handles[0].style.width.replace(/px$/,""));this.active=false;this.dragging=false;this.disabled=false;if(this.options.disabled)this.setDisabled();this.allowedValues=this.options.values?this.options.values.sortBy(Prototype.K):false;if(this.allowedValues){this.minimum=this.allowedValues.min();this.maximum=this.allowedValues.max();}
this.eventMouseDown=this.startDrag.bindAsEventListener(this);this.eventMouseUp=this.endDrag.bindAsEventListener(this);this.eventMouseMove=this.update.bindAsEventListener(this);this.handles.each(function(h,i){i=slider.handles.length-1-i;slider.setValue(parseFloat((Object.isArray(slider.options.sliderValue)?slider.options.sliderValue[i]:slider.options.sliderValue)||slider.range.start),i);h.makePositioned().observe("mousedown",slider.eventMouseDown);});this.track.observe("mousedown",this.eventMouseDown);document.observe("mouseup",this.eventMouseUp);document.observe("mousemove",this.eventMouseMove);this.track.observe("touchstart",this.eventMouseDown);document.observe("touchend",this.eventMouseUp);document.observe("touchmove",this.eventMouseMove);this.initialized=true;}
Control.Slider.prototype.update=function(event){if(this.active){if(!this.dragging)this.dragging=true;this.draw(event);if(Prototype.Browser.WebKit&&!event.touches)window.scrollBy(0,0);Event.stop(event);}}
Control.Slider.prototype.startDrag=function(event){if(Event.isLeftClick(event)||event.touches){if(!this.disabled){this.active=true;var handle=Event.element(event);var pointer=[Event.pointerX(event),Event.pointerY(event)];var track=handle;if(track==this.track){var offsets=Position.cumulativeOffset(this.track);this.event=event;this.setValue(this.translateToValue((this.isVertical()?pointer[1]-offsets[1]:pointer[0]-offsets[0])-(this.handleLength/2)));offsets=Position.cumulativeOffset(this.activeHandle);this.offsetX=(pointer[0]-offsets[0]);this.offsetY=(pointer[1]-offsets[1]);}else{while((this.handles.indexOf(handle)==-1)&&handle.parentNode)
handle=handle.parentNode;if(this.handles.indexOf(handle)!=-1){this.activeHandle=handle;this.activeHandleIdx=this.handles.indexOf(this.activeHandle);this.updateStyles();offsets=Position.cumulativeOffset(this.activeHandle);this.offsetX=(pointer[0]-offsets[0]);this.offsetY=(pointer[1]-offsets[1]);}}
this.draw(event);}
Event.stop(event);}}
// (C) 2007-2012 Qualtrics, Inc.

Object.extend(Qualtrics,{Browser:{IE:!!(window.attachEvent&&!window.opera),Opera:!!window.opera,WebKit:navigator.userAgent.indexOf('AppleWebKit/')>-1,Safari:navigator.userAgent.indexOf('Safari/')>-1,MobileWebKit:navigator.userAgent.indexOf('AppleWebKit/')>-1&&navigator.userAgent.indexOf('Mobile/')>-1,Gecko:navigator.userAgent.indexOf('Gecko')>-1&&navigator.userAgent.indexOf('KHTML')==-1,Firefox:navigator.userAgent.indexOf('Firefox')>-1,Version:null,Features:null,getVersion:function()
{var ua=navigator.userAgent.toLowerCase();var v=99;if(Qualtrics.Browser.Firefox)
{v=ua.substring(ua.lastIndexOf('firefox/')+8,ua.lastIndexOf('firefox/')+10);v=v.replace('.','');}
else if(Qualtrics.Browser.WebKit)
{v=ua.substring(ua.indexOf('applewebkit/')+12,ua.indexOf(' (khtml'));if(v.indexOf('.')!=-1)
{v=v.substring(0,v.indexOf('.'));}}
else if(Qualtrics.Browser.IE)
{v=ua.substring(ua.indexOf('msie ')+5,ua.indexOf('; w'));}
return Number(v);},getFeatures:function()
{var b=Qualtrics.Browser;var f={onPaste:(!((b.Firefox&&b.Version<3)||b.Opera))};return f;}},Error:function(msg)
{QError(msg);if(window.customErrorHandler)
{window.customErrorHandler(msg);}},isEmpty:function(obj)
{if(Object.isArray(obj))
{if(!obj.length)return true}
else if(!Object.values(obj).length)
{return true;}
return false;},getArrayValues:function(obj)
{if(Object.isArray(obj))
{return obj}
else
{return Object.values(obj);}},alphaNumericValidation:function(el,evt)
{if(el.getAttribute('validation'))
{var validation=el.getAttribute('validation');if(validation=='Number'||validation=='AlphaNumeric')
{if((evt.keyCode>=48&&evt.keyCode<=57&&!evt.shiftKey)||(evt.keyCode>=96&&evt.keyCode<=105)||(evt.keyCode==8)||(evt.keyCode==9)||(evt.keyCode==12)||(evt.keyCode==27)||(evt.keyCode==37)||(evt.keyCode==39)||(evt.keyCode==46)||(evt.keyCode==190&&!evt.shiftKey)||(evt.keyCode==110&&!evt.shiftKey)||(evt.keyCode==188&&!evt.shiftKey)||(evt.keyCode==109&&!evt.shiftKey)||(evt.keyCode==189&&!evt.shiftKey)||evt.metaKey||evt.ctrlKey)
{}
else
{if(validation=='Number')
{Event.stop(evt);return false;}
if(validation=='AlphaNumeric')
{if(evt.keyCode>=65&&evt.keyCode<=90)
{}
else
{Event.stop(evt);return false;}}}}}
return true;},getInputValue:function(input)
{var val=input.value,autoclear=input.getAttribute('autoclear');if(autoclear&&val==autoclear)
val='';return val;},Cache:{cache:{},set:function(key,val)
{this.cache[key]=val;},get:function(key)
{if(this.cache[key]!==null&&typeof(this.cache[key])!='undefined')
return this.cache[key];else
return null;},unset:function(key)
{delete this.cache[key];}},getMessage:function(var_args)
{var sectionName='Javascript',params=null,tag=arguments[1]||arguments[0];if(arguments[1])
{sectionName=arguments[0];params=Array.prototype.slice.call(arguments,2);}
var messages=window.javascriptMessages;if(window.javascriptMessages)
{if(tag&&messages&&window.javascriptMessages[sectionName])
{var message=window.javascriptMessages[sectionName][tag];if(message)
{if(Qualtrics&&Qualtrics.System&&Qualtrics.System.productName=='ThreeSixty'&&tag!='Survey'&&tag!='Survey1'&&tag!='Survey2'&&tag!='Survey3'&&tag!='Form'&&tag!='Form1'&&tag!='Form2'&&tag!='Form3')
{message=message.replace(getMessage('SiteWide','Survey'),getMessage('SiteWide','Form'));message=message.replace(getMessage('SiteWide','Survey1'),getMessage('SiteWide','Form1'));message=message.replace(getMessage('SiteWide','Survey2'),getMessage('SiteWide','Form2'));message=message.replace(getMessage('SiteWide','Survey3'),getMessage('SiteWide','Form3'));}
if(params&&params.length)
{for(i=0,len=params.length;i<len;++i)
{message=message.replace("%"+(i+1),params[i]);}}
return message;}}}
return'#'+tag;},parseJSON:function(json,opt_silent)
{try{if(json)
{if(typeof json=='string')
{var parsed=json.evalJSON();return parsed;}
else if(typeof json=='object')
{return json;}}}catch(e)
{if(!opt_silent)
console.error(e);}
return false;},getHashCode:function(str)
{var hash1=(5381<<16)+5381;var hash2=hash1;var hashPos=0;while(hashPos<str.length){hash1=((hash1<<5)+hash1+(hash1>>27))^str.charCodeAt(hashPos);if(hashPos==str.length-1){break;}
hash2=((hash2<<5)+hash2+(hash2>>27))^str.charCodeAt(hashPos+1);hashPos+=2;}
return hash1+(hash2*1566083941);}});Qualtrics.Browser.Version=Qualtrics.Browser.getVersion();Qualtrics.Browser.Features=Qualtrics.Browser.getFeatures();var OverRegistry=[]
var dragInProgress=false;var suspendOvers=false;function clearOverRegistry(){if(suspendOvers)return;for(i=0;i<OverRegistry.length;i++){var elem=OverRegistry[i];var cn=Element.classNames(elem);cn.remove("Over");}
OverRegistry.clear();}
function AddOver(el,options)
{if(!el)
return;if(window.dragInProgress!=undefined)
{if(window.dragInProgress)return;if(window.suspendOvers)return;}
var className=(options&&options.className||"Over");$(el).addClassName(className);OverRegistry.push(el);if(options&&options.onComplete){options.onComplete(el,options);}}
function RemoveOver(el,options){if(window.dragInProgress!=undefined)
{if(window.dragInProgress)return;if(window.suspendOvers)return;}
var className=(options&&options.className||"Over");$(el).removeClassName(className);clearOverRegistry();if(options&&options.onComplete){options.onComplete(el,options);}}
function getOverClosure(type,opt_options)
{return function(evt)
{evt=evt||window.event;if(evt)
{var el=(opt_options&&opt_options.element)||Event.element(evt);if(window[type])
{window[type](el,opt_options);}}}}
function AddOverHelper(el)
{if(!el.overAdded)
{el.overAdded=true;Event.observe(el,'mouseover',function()
{AddOver(el);});Event.observe(el,'mouseout',function()
{RemoveOver(el);});}}
var translationTip={originalText:'',suggestionText:'',section:'',item:'',userLang:'',userID:'',span:'',event:'',keepTip:false,off:function()
{if($('translationTip'))
{setTimeout("translationTip.removeTip()",750);}},on:function(el,ev,section,item,lang,userID)
{if($('translationTip'))
return;this.span=el;this.event=ev;this.section=section;this.item=item;this.userLang=lang;this.userID=userID;if(true)
setTimeout("translationTip.addTip()",750)},keepAlive:function(value)
{this.keepTip=value;if(value==false)
this.off();},removeTip:function(override){if((!this.keepTip&&$('translationTip')&&!$('suggestionText').value)||override)
{$('translationTip').remove();}},addTip:function(){var el=this.span;var coordinates=Element.positionedOffset(el);var event=this.event;if(!event)event=window.event;var mouseCoordinates=getMousePosition(event);this.originalText=el.innerHTML;var x=mouseCoordinates[0];var y=mouseCoordinates[1];var stripped=this.originalText.replace(/(<([^>]+)>)/ig,"");var translationTip=QBuilder('div',{id:'translationTip',onmouseover:'translationTip.keepAlive(true)',onmouseout:'translationTip.keepAlive(false)',style:'left:'+x+'px; top:'+y+'px;'},[QBuilder('div',{className:'header'},[QBuilder('h3',{},[getMessage('SiteWide','SuggestTranslation')])]),QBuilder('div',{className:'content'},[QBuilder('div',{id:'translationTipContent'},[QBuilder('div',{},[getMessage('SiteWide','CurrentText')]),QBuilder('div',{},[this.originalText])]),QBuilder('div',{},[getMessage('SiteWide','BetterSuggestion')]),QBuilder('input',{type:'text',id:'suggestionText'},[])]),QBuilder('div',{className:'footer'},[QBuilder('div',{className:'translationTipButton',id:'submitTranslation',onclick:'translationTip.submitSuggestion()'},[getMessage('SiteWide','Submit')]),QBuilder('div',{className:'translationTipButton',onclick:'translationTip.removeTip(true)'},[getMessage('SiteWide','Close')]),QBuilder('div',{className:'clear'},[])])]);$('body').appendChild(translationTip);},submitSuggestion:function(){if($('submitTranslation')&&$('submitTranslation').hasClassName('disabled'))
return;$('submitTranslation').addClassName('disabled');if($('suggestionText')&&$('suggestionText').value)
this.suggestionText=$('suggestionText').value;else
{$('translationTipContent').innerHTML=getMessage('SiteWide','NoSuggestion');this.off();return;}
var url='http://reporting.qualtrics.com/projects/translations.php?userID='+this.userID+'&suggestion='+this.suggestionText+'&sectionTag='+this.section+'&messageTag='+this.item+'&language='+this.userLang;new Ajax.Request(url,{params:{userID:this.userID,translation:this.suggestionText,sectionTag:this.section,messageTag:this.item,language:this.userLang},onSuccess:function(transport){$('translationTipContent').innerHTML=getMessage('SiteWide','TranslationReceived');this.off();},onFailure:function(transport){$('translationTipContent').innerHTML=getMessage('SiteWide','TranslationNotReceived');this.off();}});}}
Cookie={createCookie:function(name,value,days){if(days){var date=new Date();date.setTime(date.getTime()+(days*24*60*60*1000));var expires="; expires="+date.toGMTString();}
else
expires="";document.cookie=name+"="+value+expires+"; path=/";},readCookie:function(name){var nameEQ=name+"=";var ca=document.cookie.split(';');for(var i=0;i<ca.length;i++){var c=ca[i];while(c.charAt(0)==' ')c=c.substring(1,c.length);if(c.indexOf(nameEQ)==0)return c.substring(nameEQ.length,c.length);}
return null;},readCookieNames:function(){var cookies=[];var ca=document.cookie.split(';');ca.each(function(item){var index=item.indexOf('=');cookies.push(item.substring(0,index));});return cookies;},eraseCookie:function(name){Cookie.createCookie(name,"",-1);},acceptsCookies:function(){if(typeof navigator.cookieEnabled=='boolean'){return navigator.cookieEnabled;}
Cookie.createCookie('_test','1');var val=Cookie.readCookie('_test');Cookie.eraseCookie('_test');return val=='1';}}
function stopEnterSubmit(evt)
{if(evt.keyCode==Event.KEY_RETURN)
{Event.stop(evt);return false;}}
function pressSubmitButtonOnEnter(evt,id)
{if(evt.keyCode==Event.KEY_RETURN)
{Event.stop(evt);$(id).click();return false;}}
function number_format(number,decimals,dec_point,thousands_sep)
{if(!decimals||decimals>0)
{var decimalPos=String(number).indexOf(".");if(decimalPos===-1)
{decimals=0;}
else
{var numOfCharactersAfterDecimal=String(number).substring(decimalPos+1).length;if(decimals)
decimals=Math.min(numOfCharactersAfterDecimal,decimals);else
decimals=numOfCharactersAfterDecimal;}}
var n=number;var c=isNaN(decimals=Math.abs(decimals))?2:decimals;var d=dec_point==undefined?".":dec_point;var t=thousands_sep==undefined?",":thousands_sep;var s=n<0?"-":"";var i=parseInt(n=Math.abs(+n||0).toFixed(c))+"";var j=(j=i.length)>3?j%3:0;var finalNum=s+(j?i.substr(0,j)+t:"")+i.substr(j).replace(/(\d{3})(?=\d)/g,"$1"+t)+(c?d+Math.abs(n-i).toFixed(c).slice(2):"");return finalNum;}
function trim(str)
{return str.replace(/^\s+|\s+$/g,'');}
function UpdateCSTotal(CSQuestion,DesiredSum)
{var displayOrderEl=$("QR~"+CSQuestion+"~DisplayOrder");var displayedChoices=(displayOrderEl)?displayOrderEl.value.split('|'):[];var TotalCount=0;for(var i=0;i<displayedChoices.length;i++)
{var CurrentChoice="QR~"+CSQuestion+"~"+displayedChoices[i];var choiceEl=$(CurrentChoice);if(choiceEl)
{TotalCount+=Number(choiceEl.value.replace(/,/g,''))*1000;}}
TotalCount/=1000;if(TotalCount==DesiredSum||DesiredSum==-1)
$(CSQuestion+"_Total").style.color="";else
$(CSQuestion+"_Total").style.color="red";TotalCount=number_format(TotalCount);$(CSQuestion+"_Total").value=TotalCount;}
function UpdateMatrixCSTotal(Question,choiceId,desiredSum)
{if(!desiredSum)
desiredSum=-1;var questionId=Question;if(questionId.indexOf('~')!=-1)
{choiceId=questionId.substring(questionId.indexOf('~')+1);questionId=questionId.substring(0,questionId.indexOf('~'));}
var displayOrderEl=$("QR~"+questionId+"~AnswerDisplayOrder");var displayedAnswers=(displayOrderEl)?displayOrderEl.value.split('|'):[];var TotalCount=0;for(var i=0;i<displayedAnswers.length;i++)
{var CurrentAnswer="QR~"+questionId+"~"+choiceId+"~"+displayedAnswers[i];var answerEl=$(CurrentAnswer);if(answerEl)
{TotalCount+=Number(answerEl.value.replace(/,/g,''))*1000;}}
TotalCount/=1000;var OutputCell=questionId+"~"+choiceId+"_Total";if(TotalCount==desiredSum||desiredSum==-1)
$(OutputCell).style.color="";else
$(OutputCell).style.color="red";TotalCount=number_format(TotalCount);$(OutputCell).value=TotalCount;}
function UpdateMatrixCSTotalVert(Question,answerId,desiredSum)
{if(!desiredSum)
desiredSum=-1;var questionId=Question;if(questionId.indexOf('~')!=-1)
{answerId=questionId.substring(questionId.indexOf('~')+1);questionId=questionId.substring(0,questionId.indexOf('~'));}
var displayOrderEl=$("QR~"+questionId+"~DisplayOrder");var displayedChoices=(displayOrderEl)?displayOrderEl.value.split('|'):[];var TotalCount=0;for(var i=0;i<displayedChoices.length;i++)
{var CurrentAnswer="QR~"+questionId+"~"+displayedChoices[i]+"~"+answerId;var answerEl=$(CurrentAnswer);if(answerEl)
{TotalCount+=Number(answerEl.value.replace(/,/g,''))*1000;}}
TotalCount/=1000;var OutputCell=questionId+"~"+answerId+"_Total";if(TotalCount==desiredSum||desiredSum==-1)
$(OutputCell).style.color="";else
$(OutputCell).style.color="red";TotalCount=number_format(TotalCount);$(OutputCell).value=TotalCount;}
function updateConjointTotal(prefix,total_levels)
{var conjoint_level=1;var total_count=0;var features=$('featuresShown').value.split(',');for(var i=0;i<features.length;i++)
{conjoint_level=features[i];level_element=prefix+"~"+conjoint_level+"~UCS";if($(level_element))
total_count+=Number($(level_element).value);conjoint_level++;}
var output_element=prefix+"~Total";if(total_count==100)
document.Page.elements[output_element].style.color="";else
document.Page.elements[output_element].style.color="red";document.Page.elements[output_element].value=total_count;}
function SBChangeOrder(selectionID,offset)
{offset=Number(offset);var element=$(selectionID);if((offset!=-1&&offset!=1)||element==null)
return;var index=element.selectedIndex;if(index==-1||index+offset<0||index+offset>=element.options.length)
return;var optionA=new Option(element.options[index].text,element.options[index].value,0,1);optionA.nomove=element.options[index].nomove;var optionB=new Option(element.options[index+offset].text,element.options[index+offset].value);optionB.nomove=element.options[index+offset].nomove;element.options[index]=optionB;element.options[index+offset]=optionA;element.focus();}
function moveItemToSelectionBox(oldSelectionBoxID,newSelectionBoxID,deleteOption){var old_element=$(oldSelectionBoxID);var new_element=$(newSelectionBoxID);if(old_element==null||new_element==null)
{return;}
var old_element_length=old_element.options.length;for(var index=0;index<old_element_length;index++)
{if(old_element.options[index].selected)
{var option=old_element.options[index];option=new Option(option.text,option.value);option.referer=oldSelectionBoxID;if(deleteOption)
{old_element.options[index--]=null;old_element_length=old_element.options.length;}
new_element.options.add(option);}}
old_element.focus();}
function deleteItemFromSelectionBox(selectionBoxID)
{var element=$(selectionBoxID);if(element==null)
{return;}
var index=element.selectedIndex;if(index==-1)
return;var newSelected=index-1;var element_length=element.options.length;for(index=0;index<element_length;index++)
{if(element.options[index].selected)
{element.options[index--]=null;element_length=element.options.length;if(index<0)
index=0;}}
if(newSelected>=0)
element.options[newSelected].selected=true;else
element.options[0].selected=true;element.focus();}
function updateDrillDown(selectPrefix,answerMap,answers,depth,maxDepth,value)
{var hasAnswerMap=false;for(var test in answerMap)
{hasAnswerMap=true;break;}
if(!hasAnswerMap||depth>maxDepth)
{return;}
var selectedAnswer=parseValue(value);var currentSelect=$(selectPrefix+depth);var nextSelect=$(selectPrefix+(depth+1));if(currentSelect&&selectedAnswer!=false)
{var selectValue="QR~"+selectPrefix+depth+"~"+selectedAnswer;currentSelect.value=selectValue;}
if(nextSelect)
{nextSelect.disabled=true;nextSelect.options.length=0;if(selectedAnswer!=false||depth==0)
{var valuePrefix=nextSelect.name+'~';var newAnswers=createDDAnswers(answerMap,answers,selectedAnswer,depth);var i=0;nextSelect.options[i++]=new Option('','');for(var answerID in newAnswers)
nextSelect.options[i++]=new Option(newAnswers[answerID],valuePrefix+answerID);nextSelect.disabled=false;}
for(i=depth+2;i<=maxDepth;i++)
{var select=$(selectPrefix+i);select.options.length=0;select.disabled=true;}}}
function parseValue(value)
{if(value==false||value.indexOf('~')==-1)
return value;var startIndex=value.lastIndexOf('~')+1;var endIndex=value.length;return value.substring(startIndex,endIndex);}
function createDDAnswers(answerMap,DDanswers,selectedAnswer,depth)
{var answerArray=getAnswerArray(answerMap,selectedAnswer,depth);var answers=new Object();for(var answerID in answerArray)
answers[answerID]=DDanswers[answerID].substring(DDanswers[answerID].lastIndexOf('~ ')+1);return answers;}
function getAnswerArray(answerMap,selectedAnswer,depth)
{if(answerMap=='')
return false;if(depth==0)
return answerMap;for(var answerID in answerMap)
{if(answerID==selectedAnswer)
return answerMap[answerID];var answerArray=getAnswerArray(answerMap[answerID],selectedAnswer);if(answerArray!=false)
return answerArray;}
return false;}
function validateNumber(event)
{var keyCode=event.keyCode;if(keyCode==8||keyCode==9||keyCode==35||keyCode==36||keyCode==37||keyCode==39||keyCode==46)
return true;if(keyCode==0)
keyCode=event.which;if(keyCode==46)
return true;if(keyCode==45)
return true;if(keyCode>=48&&keyCode<=57||keyCode<=97&&keyCode>=122)
return true;return false;}
function noneOfTheAboveCheck(postTag,choiceId,notAChoice,thisID)
{if(choiceId=="")
var items=document.Page.elements[postTag+"~DisplayOrder"].value.split('|');else
{items=document.Page.elements[postTag+"~AnswerDisplayOrder"].value.split('|');postTag=postTag+"~"+choiceId;}
if(thisID==notAChoice)
{var thisCheckBox=$(postTag+"~"+thisID);if(thisCheckBox.checked)
{for(var i=0;i<items.length;i++)
{var checkBox=$(postTag+"~"+items[i]);if(thisID==items[i]||!checkBox)
continue;checkBox.checked=false;}}}
else
{var notAChoiceCheckBox=$(postTag+"~"+notAChoice);notAChoiceCheckBox.checked=false;}}
function exclusiveAnswerCheck(postTag,group,elementId)
{try
{if($(postTag+"~AnswerDisplayOrder"))
var displayedChoices=$F(postTag+"~AnswerDisplayOrder").split('|');else if($(postTag+"~DisplayOrder"))
displayedChoices=$F(postTag+"~DisplayOrder").split('|');else
return;}
catch(e)
{console.log(e);}
var isExclusive=$(group+"~"+elementId).getAttribute('exclusive');for(var i=0;i<displayedChoices.length;i++)
{var checkBox=$(group+"~"+displayedChoices[i]);var id=displayedChoices[i];if(isExclusive==1)
{if(elementId==id||!checkBox)
continue;checkBox.checked=false;}
else
{if(checkBox&&checkBox.getAttribute('exclusive')==1)
checkBox.checked=false;}}}
function exclusiveChoiceCheck(postTag,group,choiceId,elementId)
{try
{if($(postTag+"~DisplayOrder"))
var displayedChoices=$F(postTag+"~DisplayOrder").split('|');else
return;}
catch(e)
{console.log(e);}
var isExclusive=$(group+"~"+elementId).getAttribute('choiceexclusive');for(var i=0;i<displayedChoices.length;i++)
{var checkBox=$(postTag+"~"+displayedChoices[i]+'~'+elementId);var id=displayedChoices[i];if(isExclusive==1)
{if(choiceId==id||!checkBox)
{continue;}
checkBox.checked=false;}
else
{if(checkBox&&checkBox.getAttribute('choiceexclusive')==1)
checkBox.checked=false;}}}
function rankOrderRadioCheck(colId,selectedRow,numRows)
{for(var row=0;row<numRows;row++)
{if(row==selectedRow)
continue;var radio=$(colId+"~"+row);if(radio.checked==true)
radio.checked=false;}}
function InsertSlider(SliderName,Direction,min,max,DefaultValue,GraphicDirectory,SliderValue)
{var html=generateSliderDOM(SliderName,Direction,min,max,DefaultValue,GraphicDirectory,SliderValue);document.write(html.innerHTML);(function(){createSlider(SliderName,Direction,min,max,DefaultValue,GraphicDirectory,SliderValue)}).delay();}
function generateSliderDOM(SliderName,Direction,min,max,DefaultValue,GraphicDirectory,SliderValue)
{if(!!SliderValue)
DefaultValue=SliderValue;var SliderNM=SliderName;var SliderImage=SliderName+"_Image";var sliderPath='../WRQualtricsShared/SlidingScales/'+GraphicDirectory+'/';var ssImages=QBuilder('div',{className:'SSImage'});for(var i=min;i<=max;i++)
{var display=(i==DefaultValue)?'block':'none';var img=QBuilder('img',{src:sliderPath+i+'.gif',id:'Image_'+SliderName+'@'+i});$(img).setStyle({display:display});$(ssImages).appendChild(img);}
var track=QBuilder('a',{className:'SSTrack',id:'DV_'+SliderName},[QBuilder('span',{className:'handle',id:'H_'+SliderName})]);var ret=QBuilder('div');if(Direction=='vertical')
{ret.appendChild(QBuilder('table',{className:'SSDisplay '+Direction+'bar'},[QBuilder('tbody',{},[QBuilder('tr',{},[QBuilder('td',{},[ssImages]),QBuilder('td',{},[track])])])]));}
else
{ret.appendChild(QBuilder('table',{className:'SSDisplay '+Direction+'bar'},[QBuilder('tbody',{},[QBuilder('tr',{},[QBuilder('td',{},[ssImages])]),QBuilder('tr',{},[QBuilder('td',{},[track])])])]));}
var opts={'type':'hidden',id:SliderName,'name':SliderName};if(!!SliderValue)
opts['value']=SliderValue;ret.appendChild(Builder.node('input',opts));return ret;}
function createSlider(SliderName,Direction,min,max,DefaultValue,GraphicDirectory,SliderValue)
{if(!!SliderValue)
DefaultValue=SliderValue;var slider='DV_'+SliderName;var handle='H_'+SliderName;var range=$R(parseInt(min),parseInt(max));var defValue=DefaultValue;if(Direction=='vertical')
{DefaultValue=range.end-DefaultValue+parseInt(min);}
var activated=false;var mySlider=new Control.Slider(handle,slider,{range:range,values:$A(range),axis:Direction,sliderValue:DefaultValue,onSlide:function(value)
{if(!this.value&&this.value!=0)
{this.value=defValue;}
if(this.axis=='vertical')
value=this.range.end-value+this.range.start;if($('Image_'+SliderName+'@'+this.value))
$('Image_'+SliderName+'@'+this.value).setStyle({display:'none'});if($('Image_'+SliderName+'@'+value))
$('Image_'+SliderName+'@'+value).setStyle({display:'block'});this.value=value;},onChange:function(value){if(!activated)
{activated=true;$(slider).addClassName('activated');}
if(this.axis=='vertical')
value=this.range.end-value+this.range.start;$(SliderName).value=value;}});}
function submitForm(formID)
{var form=$(formID);if(form)
{Event.fire(form,'submit');if(form.onsubmit)
form.onsubmit();if(form.submit)
form.submit();return true;}}
function submitFormJumpTo(formID,jumpTo)
{$(formID).action=jumpTo;submitForm(formID);}
function getMousePosition(e)
{if(e.pageX&&e.pageY)
{posx=e.pageX;posy=e.pageY;}
else if(e.clientX&&e.clientY)
{posx=e.clientX+window.scrollInfo[0];posy=e.clientY+window.scrollInfo[1];}
return[posx,posy];}
function setPosition(obj,newX,newY)
{$(obj).setStyle({top:newY+'px',left:newX+'px'});}
function findPosX(obj)
{var curleft=0;if(obj.offsetParent)
{while(obj.offsetParent)
{curleft+=obj.offsetLeft
obj=obj.offsetParent;}}
else if(obj.x)
curleft+=obj.x;return curleft;}
function findPosY(obj)
{var curtop=0;if(obj.offsetParent)
{while(obj.offsetParent)
{curtop+=obj.offsetTop
obj=obj.offsetParent;}}
else if(obj.y)
curtop+=obj.y;return curtop;}
function autoCheck(id,text)
{var el=$(id);if(el==null)
return;if(el&&el.id!=id)
return;var type=el.getAttribute('type');if(type=='checkbox'||type=='radio')
{if(text==''||text==null)
el.checked=false;else
el.checked=true;}
if($(el).onclick)
$(el).onclick();}
function SmartScroller_SetCoords()
{var scrollX,scrollY;if(document.all)
{if(!document.documentElement.scrollLeft)
scrollX=document.body.scrollLeft;else
scrollX=document.documentElement.scrollLeft;if(!document.documentElement.scrollTop)
scrollY=document.body.scrollTop;else
scrollY=document.documentElement.scrollTop;}
else
{scrollX=window.pageXOffset;scrollY=window.pageYOffset;}
el=$('xWindowCoord');if(el)
el.value=scrollX;el=$('yWindowCoord');if(el)
el.value=scrollY;}
function SmartScroller_getCoordX()
{el=$('xWindowCoord');if(el)
return el.value;return null;}
function SmartScroller_getCoordY()
{var el=$('yWindowCoord');if(el)
return el.value;return null;}
function SmartScroller_Scroll()
{if((window.windowX||window.windowY))
{window.scrollTo(window.windowX,window.windowY);}}
var SEonSubmit={add:function(onSubmitFunction)
{Event.observe('Page','submit',onSubmitFunction);}}
var SEonClick={add:function(onClickFunction)
{Event.observe('Page','click',onClickFunction);}}
var SEonMouseDown={add:function(onMouseDownFunction)
{Event.observe('Page','mouseup',onMouseDownFunction);}}
var IeFixFlashFixOnload=function(){}
function refreshPage()
{}
function Q_UpdatePage()
{}
function SlideToggle(el,options)
{if(el.inAction!=true)
{el.inAction=true;if(options&&options.onStart)
{options.onStart();}
if(Element.getStyle(el,'display')=='block')
{if(options&&options.ExpandOnly==true)
{el.inAction=false;if(options&&options.onExit)
{options.onExit();}
return;}
if(options&&options.toggleArrow)
{ArrowToggle(options.toggleArrow,{ContractOnly:true});}
new Effect.BlindUp(el,{duration:options.duration||0.15,afterFinish:function()
{el.inAction=false;if(refreshPage)
{refreshPage();}
if(Q_UpdatePage)
{Q_UpdatePage();}
if(options&&options.onContract)
{options.onContract();}
if(options&&options.onFinish)
{options.onFinish();}
if(options&&options.onExit)
{options.onExit();}}});}
else
{if(options&&options.ContractOnly==true)
{el.inAction=false;if(options&&options.onExit)
{options.onExit();}
return;}
if(options&&options.toggleArrow)
{ArrowToggle(options.toggleArrow,{ExpandOnly:true});}
if(options&&options.beforeExpand){options.beforeExpand();}
new Effect.BlindDown(el,{duration:options.duration||0.15,afterFinish:function()
{el.inAction=false;if(refreshPage)
{refreshPage();}
if(Q_UpdatePage)
{Q_UpdatePage();}
if(options&&options.onExpand)
{options.onExpand();}
if(options&&options.onFinish)
{options.onFinish();}
if(options&&options.onExit)
{options.onExit();}}});}}}
function ArrowToggle(TitleDiv,options){if(options&&options.ContractOnly){$(TitleDiv).addClassName("Collapsed");return;}
if(options&&options.ExpandOnly){$(TitleDiv).removeClassName("Collapsed");return;}
if(Element.hasClassName(TitleDiv,'Collapsed')){$(TitleDiv).removeClassName("Collapsed");}else{$(TitleDiv).addClassName("Collapsed");}}
function HelpToggle()
{SlideToggle($('HelpContent'),{onContract:function()
{Element.setStyle($('HelpButton'),{borderBottom:'1px solid #FCD570'});$('GapCloser').hide();},beforeExpand:function()
{Element.setStyle($('HelpButton'),{borderBottom:'none'});$('GapCloser').show();}});}
function fillVerticalSpace(element,container)
{try
{if(element)
{if(!container||container.tagName=='body')
fillBody=true;else
fillBody=false;var newHeight=0;var headerAndFooterHeight=0;var mainContentDiv=$('mainContentDiv');if(mainContentDiv)
{if(fillBody)
{headerAndFooterHeight+=Position.cumulativeOffset(mainContentDiv)[1];}
else if($('popupMainHeaderDiv'))
{headerAndFooterHeight+=Position.cumulativeOffset(mainContentDiv)[1]-Position.cumulativeOffset($('popupMainHeaderDiv'))[1];}}
var topOfFooterDiv=$('topOfFooter');var botOfFooterDiv=$('bottomOfFooter');var footerDiv=$('popupMainFooterDiv');if(topOfFooterDiv&&botOfFooterDiv)
{var footerHeight=Position.cumulativeOffset(botOfFooterDiv)[1]-Position.cumulativeOffset(topOfFooterDiv)[1];headerAndFooterHeight+=footerHeight;}
else if(footerDiv)
{footerHeight=footerDiv.offsetHeight;headerAndFooterHeight+=footerHeight;}
if(fillBody)
{if(window.innerHeight)
{newHeight=window.innerHeight-headerAndFooterHeight;}
else
{newHeight=document.documentElement.clientHeight-headerAndFooterHeight;}}
else
{newHeight=$(container).offsetHeight-headerAndFooterHeight;}
element.style.height=newHeight+'px';}}
catch(e)
{console.error(e);}}
function resizedWindow()
{fillVerticalSpace($('mainContentDiv'));}
function removeElement(element){var garbageBin=$('IELeakGarbageBin');if(!garbageBin)
{garbageBin=QBuilder('DIV');garbageBin.id='IELeakGarbageBin';garbageBin.style.display='none';document.body.appendChild(garbageBin);}
garbageBin.appendChild(element);garbageBin.innerHTML='';}
function getMessage(msg)
{return'#'+msg;}
var QualtricsTools={createNewId:function(prefix)
{return prefix+'_'+(Math.round(Math.random()*100000000));},createFauxGUID:function(prefix)
{var S=function(){return"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".charAt(Math.floor(Math.random()*59));};return prefix+'_'+S()+S()+S()+S()+S()+S()+S()+S()+S()+S()+S()+S()+S()+S()+S();},focusInput:function(el,opt_pos)
{if(opt_pos==undefined)
{$(el).focus();return;}
if(el&&el.createTextRange)
{var range=el.createTextRange();if(range){range.collapse(true);range.moveStart('character',opt_pos);range.moveEnd('character',opt_pos);try{range.select();}catch(e){}}}
else if(el)
{if($(el).focus)
{$(el).focus();if(el.setSelectionRange)
{try{el.setSelectionRange(opt_pos,opt_pos);}catch(e)
{}}}}},getPageSize:function()
{var xScroll,yScroll;if(window.innerHeight&&window.scrollMaxY){xScroll=document.body.scrollWidth;yScroll=window.innerHeight+window.scrollMaxY;}else if(document.body.scrollHeight>document.body.offsetHeight){xScroll=document.body.scrollWidth;yScroll=document.body.scrollHeight;}else{xScroll=document.body.offsetWidth;yScroll=document.body.offsetHeight;}
var windowWidth,windowHeight;if(self.innerHeight){windowWidth=self.innerWidth;windowHeight=self.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){windowWidth=document.documentElement.clientWidth;windowHeight=document.documentElement.clientHeight;}else if(document.body){windowWidth=document.body.clientWidth;windowHeight=document.body.clientHeight;}
if(yScroll<windowHeight){pageHeight=windowHeight;}else{pageHeight=yScroll;}
if(xScroll<windowWidth){pageWidth=windowWidth;}else{pageWidth=xScroll;}
var arrayPageSize={pageWidth:pageWidth,pageHeight:pageHeight,windowWidth:windowWidth,windowHeight:windowHeight,0:pageWidth,1:pageHeight,2:windowWidth,3:windowHeight};return arrayPageSize;},getScrollInfo:function()
{if(document.viewport.getScrollOffsets)
{var scrollOffsets=document.viewport.getScrollOffsets();return[scrollOffsets.left,scrollOffsets.top];}
return[0,0]},getInstanceHelper:function(registry,idString)
{return function(id)
{if(registry.push)
{for(var i=0,len=registry.length;i<len;++i)
{if(registry[i][idString]==id)
{return registry[i];}}}
else
{if(registry[id])
{return registry[id];}}}},fastDown:function(startNode,className,maxDepth)
{if($(startNode).hasClassName(className))
{return startNode;}
var parentNode=startNode;var lastRealNode=null;if(maxDepth==undefined)
{maxDepth=10;}
for(var i=0;i<maxDepth;++i)
{if(!parentNode.firstChild)
{break;}
var child=parentNode.firstChild;if(child&&child.nodeType==3&&child.nextSibling)
{child=child.nextSibling;}
if(child)
{if(child.nodeType==1)
{if($(child).hasClassName(className))
{return child;}
else if(child.nextSibling&&child.nextSibling.nodeType==1&&$(child.nextSibling).hasClassName(className))
{return child.nextSibling;}
parentNode=child;}}}
if(!className)return child;return $(startNode).down('.'+className);},fastUp:function(startNode,className,maxDepth)
{if(!$(startNode)||!$(startNode).hasClassName)
return null;if($(startNode).hasClassName(className))
{return startNode;}
var thisNode=startNode;if(maxDepth==undefined)
{maxDepth=10;}
for(var i=0;i<maxDepth;++i)
{var parent=thisNode.parentNode;if(parent)
{if(parent.nodeType==1)
{if($(parent).hasClassName(className))
{return parent;}
thisNode=parent;}}}
return $(startNode).up('.'+className);},BrowserInfo:{cachedBrowserInfo:null,Flash:{isIE:(navigator.appVersion.indexOf("MSIE")!=-1)?true:false,isWin:(navigator.appVersion.toLowerCase().indexOf("win")!=-1)?true:false,isOpera:(navigator.userAgent.indexOf("Opera")!=-1)?true:false,ControlVersion:function()
{var version;var axo;var e;try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");version=axo.GetVariable("$version");}catch(e){}
if(!version)
{try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");version="WIN 6,0,21,0";axo.AllowScriptAccess="always";version=axo.GetVariable("$version");}catch(e){}}
if(!version)
{try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");version=axo.GetVariable("$version");}catch(e){}}
if(!version)
{try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");version="WIN 3,0,18,0";}catch(e){}}
if(!version)
{try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");version="WIN 2,0,0,11";}catch(e){version=-1;}}
return version;},GetSwfVer:function(){var flashVer=-1;if(navigator.plugins!=null&&navigator.plugins.length>0){if(navigator.plugins["Shockwave Flash 2.0"]||navigator.plugins["Shockwave Flash"]){var swVer2=navigator.plugins["Shockwave Flash 2.0"]?" 2.0":"";var flashDescription=navigator.plugins["Shockwave Flash"+swVer2].description;var descArray=flashDescription.split(" ");var tempArrayMajor=descArray[2].split(".");var versionMajor=tempArrayMajor[0];var versionMinor=tempArrayMajor[1];var versionRevision=descArray[3];if(versionRevision==""){versionRevision=descArray[4];}
if(versionRevision[0]=="d"){versionRevision=versionRevision.substring(1);}else if(versionRevision[0]=="r"){versionRevision=versionRevision.substring(1);if(versionRevision.indexOf("d")>0){versionRevision=versionRevision.substring(0,versionRevision.indexOf("d"));}}
flashVer=versionMajor+"."+versionMinor+"."+versionRevision;}}
else if(navigator.userAgent.toLowerCase().indexOf("webtv/2.6")!=-1)flashVer=4;else if(navigator.userAgent.toLowerCase().indexOf("webtv/2.5")!=-1)flashVer=3;else if(navigator.userAgent.toLowerCase().indexOf("webtv")!=-1)flashVer=2;else if(this.isIE&&this.isWin&&!this.isOpera){flashVer=this.ControlVersion();}
return flashVer;}},_parseUserAgent:function()
{var browserInfo={};var agentString=navigator.userAgent;browserInfo.ua=navigator.userAgent;console.log("UserAgent:",browserInfo.ua);var uaPattern=/(([^\/\s]*)\/([^\s;]*))/;var pattern;var matches=true;while(matches)
{matches=uaPattern.exec(agentString);if(matches)
{console.log('matches',matches);agentString=RegExp.rightContext;if(matches[2]&&matches[2].toLowerCase)
{switch(matches[2].toLowerCase())
{case'chrome':browserInfo.browser=matches[2];browserInfo.version=matches[3];matches=false;break;case'firefox':case'netscape':case'safari':case'camino':case'mosaic':case'galeon':case'opera':case'mozilla':case'konqueror':browserInfo.browser=matches[2];browserInfo.version=matches[3];}}}}
agentString=navigator.userAgent;if(browserInfo.browser=='Mozilla')
{if(browserInfo.browser=='Mozilla'&&agentString.indexOf('(compatible;')!=-1)
{pattern=/\(compatible; ([^ ]*)[ \/]([^;]*).*/;matches=pattern.exec(agentString);if(matches)
{browserInfo.browser=matches[1];browserInfo.version=matches[2];}}}
switch(browserInfo.browser.toLowerCase())
{case'msie':pattern=/\(compatible;[^;]*;\s*([^;\)]*)/;matches=pattern.exec(agentString);browserInfo.os=matches[1];break;case'opera':pattern=/\(([^;\)]*)/;matches=pattern.exec(agentString);browserInfo.os=matches[1];break;case'konqueror':pattern=/Konqueror[^;]*;\s*([^;\)]*)/;matches=pattern.exec(agentString);browserInfo.os=matches[1];break;case'safari':if(agentString.indexOf('iPhone')!=-1)
{browserInfo.browser+=" iPhone";}
pattern=/Version\/([^ ]*)/;matches=pattern.exec(agentString);browserInfo.version=matches&&matches[1];case'firefox':default:pattern=/U;\s*([^;\)]*)/;matches=pattern.exec(agentString);if(matches)
browserInfo.os=matches[1];else
{pattern=/\([^;]*;\s*([^;\)]*)/;matches=pattern.exec(agentString);browserInfo.os=matches[1];}
break;}
browserInfo.resolution={x:screen.width,y:screen.height};browserInfo.java=navigator.javaEnabled()?1:0;browserInfo.flashVersion=this.Flash.GetSwfVer();if(browserInfo.flashVersion&&browserInfo.flashVersion.replace)
{browserInfo.flashVersion=browserInfo.flashVersion.replace(/,/g,'.');browserInfo.flashVersion=browserInfo.flashVersion.replace(/WIN /g,'');}
return browserInfo;},getBrowserInfo:function()
{if(!this.cachedBrowserInfo)
this.cachedBrowserInfo=this._parseUserAgent();return this.cachedBrowserInfo;}},cumulativeScrollOffset:function(element)
{var scrollElement=element;var scrollOffset=[0,0];do{if(scrollElement.nodeName!=='HTML'&&scrollElement.nodeName!=='BODY')
{scrollOffset[0]+=scrollElement.scrollLeft||0;scrollOffset[1]+=scrollElement.scrollTop||0;}
scrollElement=scrollElement.parentNode;}while(scrollElement);return scrollOffset;},addToHiddenHelper:function(element)
{var hidden=$('QHiddenHelper');if(!hidden)
{hidden=QBuilder('div',{id:'QHiddenHelper'});document.body.appendChild(hidden);}
hidden.appendChild($(element));},getSurveySelectMenu:function(opt_filter,opt_action)
{if(!opt_action)
{opt_action='PageAction(setActiveSurvey, $surveyId)';}
var items=[];if(Qualtrics.folders&&opt_filter===undefined&&!Object.isArray(Qualtrics.folders['SurveyFolders']))
{for(folderId in Qualtrics.folders['SurveyFolders'])
{var subMenuItems=[];for(surveyId in Qualtrics.folders['Surveys'])
{if(typeof Qualtrics.folders['Surveys'][surveyId]=='function')
{continue;}
var containingFolderId=Qualtrics.folders['Surveys'][surveyId]
if(folderId==containingFolderId&&Qualtrics.surveys[surveyId])
{var current_action=opt_action.replace('$surveyId',surveyId);subMenuItems.push({label:Qualtrics.surveys[surveyId],action:current_action,className:'Survey',defer:true});}}
var item={label:Qualtrics.folders['SurveyFolders'][folderId],className:'Folder',submenu:{items:subMenuItems}}
items.push(item);}
items.push({separator:true});}
for(surveyId in Qualtrics.surveys)
{var inFolder=Qualtrics.folders&&Qualtrics.folders['Surveys']&&Qualtrics.folders['Surveys'][surveyId];var showMenu=!inFolder;if(opt_filter!==undefined)
{showMenu=(Qualtrics.surveys[surveyId].toLowerCase().indexOf(opt_filter.toLowerCase())!=-1);}
if(showMenu)
{var current_action=opt_action.replace('$surveyId',surveyId);item={label:Qualtrics.surveys[surveyId],action:current_action,className:'Survey',defer:true}
items.push(item);}}
return{items:items,search:'QualtricsTools.getSurveySelectMenu($search, '+opt_action+')'}}}
window.getPageSize=QualtricsTools.getPageSize;function deleteChildren(node)
{if(node)
{if(!Qualtrics.Browser.IE)
{node.innerHTML="";}
else
{for(var x=node.childNodes.length-1;x>=0;--x)
{var childNode=node.childNodes[x];if(childNode.onmouseover)
{childNode.onmouseover=null;}
if(childNode.onmouseout)
{childNode.onmouseout=null;}
if(childNode.onmousedown)
{childNode.onmousedown=null;}
if(childNode.onclick)
{childNode.onclick=null;}
if(childNode.hasChildNodes()){deleteChildren(childNode);}
node.removeChild(childNode);if(childNode.outerHTML){childNode.outerHTML='';}
childNode=null;}
node=null;}}}
var QualtricsSETools={highlightOn:false,killHighlight:false,highlightRegistry:[],unHighlightAll:function()
{for(var i=0,len=QualtricsSETools.highlightRegistry.length;i<len;++i)
{var questionNode=QualtricsSETools.highlightRegistry[i];$(questionNode).removeClassName('Highlight');questionNode=null;}
QualtricsSETools.highlightRegistry=[];},highlightHandler:function(evt)
{QualtricsSETools.unHighlightAll();if(QualtricsSETools.highlightOn==true)
{var clickedEl=Event.element(evt);var questionNode=QualtricsTools.fastUp(clickedEl,'QuestionOuter');if(questionNode)
{QualtricsSETools.highlightRegistry.push(questionNode);$(questionNode).addClassName('Highlight');}
questionNode=null;clickedEl=null;}},questionHighlighter:function()
{if(!this.highlightOn)
{Event.observe(document,'mousedown',QualtricsSETools.highlightHandler);if(!this.killHighlight)
this.highlightOn=true;}},killHighlighter:function()
{this.killHighlight=true;},scrollToDiv:function(id)
{new Effect.ScrollTo(id,{afterFinish:function(){try{var p=$(id);found=false;while(!found)
{p=$(p.nextSibling);if(p==null)
found=true;else if(p.hasClassName&&p.hasClassName('QuestionOuter'))
found=true;}
if(p)
{new Effect.Highlight(p);}}
catch(e)
{console.error(e);}}});},replaceButtons:function()
{var next=$('NextButton');var save=$('SaveButton');var prev=$('PreviousButton');var parentNode=next?next.parentNode:(prev?prev.parentNode:null);if(parentNode)
{var innerHTML="<input type=hidden id='buttonPressed' name='' value='1' />";if(next)
{innerHTML+="<button style=\"display: none;\" id=\"submitPageFeauBTN\" type=\"submit\">Fandango</button>"+"<div id='NextButton' role='button' aria-labelledby='NextLabel' onclick=\"if(!this.disabled){Qualtrics.SurveyEngine.navClick(this, 'NextButton'); };  \">"
+"<label id='NextLabel' class='offScreen'>Next</label><span class='ButtonLeft'></span><span class='ButtonText' id='NextButtonText'>"+next.value+"</span><span class='ButtonRight'></span></div>";}
if(save)
{innerHTML+="<button style=\"display: none;\" id=\"submitPageFeauBTN\" type=\"submit\">Fandango</button>"+"<div id='SaveButton' role='button' aria-labelledby='SaveLabel' onclick=\"if(!this.disabled){Qualtrics.SurveyEngine.navClick(this, 'SavePageButton'); };  \">"
+"<label id='SaveLabel' class='offScreen'>Save</label><span class='ButtonLeft'></span><span class='ButtonText' id='SaveButtonText'>"+save.value+"</span><span class='ButtonRight'></span></div>";}
if(prev)
{innerHTML+="<button style=\"display: none;\" id=\"submitPageFeauBTN\" type=\"submit\">Fandango</button>"+"<div id='PreviousButton' role='button' aria-labelledby='PreviousLabel' onclick=\"if(!this.disabled){Qualtrics.SurveyEngine.navClick(this, 'PreviousButton');};  \">"
+"<label id='PreviousLabel' class='offScreen' >Previous</label><span class='ButtonLeft'></span><span class='ButtonText' id='PreviousButtonText'>"+prev.value+"</span><span class='ButtonRight'></span></div>";}
parentNode.innerHTML=innerHTML;return;if(next)
{parentNode.removeChild(next);var newNext=QBuilder('button',{type:'submit',id:'NextButton'},[QBuilder('span',{className:'ButtonLeft'}),QBuilder('span',{className:'ButtonText'},[next.value]),QBuilder('span',{className:'ButtonRight'})]);parentNode.appendChild(newNext);newNext.onclick=function()
{$('buttonPressed').name='NextButton';};}
if(prev)
{parentNode.removeChild(prev);var newPrev=QBuilder('button',{type:'submit',id:'PreviousButton'},[QBuilder('span',{className:'ButtonLeft'}),QBuilder('span',{className:'ButtonText'},[prev.value]),QBuilder('span',{className:'ButtonRight'})]);parentNode.appendChild(newPrev);newPrev.onclick=function()
{$('buttonPressed').name='PreviousButton';};}}}};var QHeatMap=Class.create({initialize:function(id)
{this.clickedPoint=null;this.clickCounter=0;this.clickHistory=1;this.clickReg=[];this.id=id;var that=this;this.clickdownFunction=this.clickdown.bind(this);this.clickupFunction=this.clickup.bind(this);Event.observe($(this.id+"_Container"),'mousedown',that.clickdownFunction);Event.observe($(this.id+"_Container"),'mouseup',that.clickupFunction);this.imageContainer=$(this.id+"_Container");this.image=$(this.id);if($F(id+'_ClickY')&&$F(id+'_ClickX'))
{this.presetPoint($F(id+'_ClickX'),$F(id+'_ClickY'));}},clickdown:function(event)
{Event.stop(event);},drawCrossHair:function()
{var height=$(this.image).offsetHeight;var width=$(this.image).offsetWidth;var horiz=QBuilder('div',{id:this.id+'_chh',className:'chh'},' ');var vert=QBuilder('div',{id:this.id+'_chv',className:'chv'},' ');$(horiz).setStyle({width:width+'px',top:'0px',left:'0px',opacity:0.6});$(vert).setStyle({height:height+'px',top:'0px',left:'0px',opacity:0.6});$(this.imageContainer).appendChild(horiz);$(this.imageContainer).appendChild(vert);},setPoint:function(event)
{if(!event)event=window.event;var pointID=this.id+"_Point_"+this.clickCounter++;var pointerX=event.offsetX||event.layerX;var pointerY=event.offsetY||event.layerY;console.log(event.layerX+"   "+event.layerY+"   "+event.offsetX+"   "+event.offsetY);var realX=pointerX;var realY=pointerY;this.clickedPoint=this.generatePoint(pointID,realX,realY);this.imageContainer.appendChild(this.clickedPoint);return[realX,realY];},generatePoint:function(id,x,y)
{var point=QBuilder('div',{id:id,className:'point'});$(point).setStyle({top:y-2+'px',left:x-2+'px'});point.setAttribute('x',x);point.setAttribute('y',y);return point;},presetPoint:function(x,y)
{var pointID=this.id+"_Point_"+this.clickCounter++;var realX=x;var realY=y;this.clickedPoint=this.generatePoint(pointID,realX,realY);this.imageContainer.appendChild(this.clickedPoint);var loc=[realX,realY];if(!$(this.id+'_chh'))
{this.drawCrossHair();}
new Effect.Morph(this.id+'_chh',{transition:this.EaseFrom,duration:0.5,style:{top:loc[1]+'px'}});new Effect.Morph(this.id+'_chv',{transition:this.EaseFrom,duration:0.5,style:{left:loc[0]+'px'}});this.recordClick();this.clickedPoint=null;},clickup:function(event)
{if(!event)event=window.event;var element=Event.element(event);if(element==this.image)
{var loc=this.setPoint(event);if(!$(this.id+'_chh'))
{this.drawCrossHair();}
new Effect.Morph(this.id+'_chh',{transition:this.EaseFrom,duration:0.5,style:{top:loc[1]+'px'}});new Effect.Morph(this.id+'_chv',{transition:this.EaseFrom,duration:0.5,style:{left:loc[0]+'px'}});this.recordClick();this.clickedPoint=null;}},EaseFrom:function(pos){return Math.pow(pos,2);},recordClick:function()
{if(this.clickedPoint)
{var pointID=this.clickedPoint.id;var x=this.clickedPoint.getAttribute('x');var y=this.clickedPoint.getAttribute('y');this.addToRegistry(pointID,x,y);}},addToRegistry:function(point,x,y)
{var pointInfo={id:point,x:x,y:y};var push=true;if(this.clickReg.length==this.clickHistory)
{var removable=this.clickReg[0];if(point!=removable.id)
{$(removable.id).remove();this.clickReg.splice(0,1);}
else
{push=false;}}
if(push)
this.clickReg.push(pointInfo);$(this.id+'_ClickX').value=x;$(this.id+'_ClickY').value=y;}});var QHotSpot={selectRegion:function(selector,postTagChoiceId)
{console.log('toggling choice:'+postTagChoiceId);if(selector=='OnOff')
{if($(postTagChoiceId).value==1)
{$(postTagChoiceId).value=2;$(postTagChoiceId+'-Region').addClassName('Like');}
else
{$(postTagChoiceId).value=1;$(postTagChoiceId+'-Region').removeClassName('Like');}}
else if(selector=='LikeDislike')
{$(postTagChoiceId+'-Region').removeClassName('Like');$(postTagChoiceId+'-Region').removeClassName('Dislike');if($(postTagChoiceId).value==1)
{$(postTagChoiceId).value=2;}
else if($(postTagChoiceId).value==2)
{$(postTagChoiceId).value=3;$(postTagChoiceId+'-Region').addClassName('Like');}
else
{$(postTagChoiceId).value=1;$(postTagChoiceId+'-Region').addClassName('Dislike');}}
else
{console.log("WARNING: HotSpot.tpl::Unknown selector: '+selector+'");}}};if(Qualtrics.ofcData==undefined)
Qualtrics.ofcData={};if(Qualtrics.ofcImages==undefined)
Qualtrics.ofcImages={};Qualtrics.ofcGetData=function(id)
{return Qualtrics.ofcData[id];}
function ofc_ready(chart_id)
{Element.fire(document,"OFC:ofc_ready_"+chart_id[0]);}
function ofc_stoped_animating(chart_id)
{Element.fire(document,"Event:ofc_stoped_animating_"+chart_id[0]);}
function save_image(imageId)
{imageId=imageId[0];var eId=$(imageId).getAttribute('eid');var vId=$(imageId).getAttribute('vid');var filename=$(imageId).getAttribute('graphName')+".png";var binary=$(imageId).get_img_binary();new Ajax.Request('Ajax.php?action=SaveFlashImage',{parameters:{imageBinary:binary,vid:vId,eid:eId},onSuccess:function(transport){var link=transport.responseText;window.location='File.php?flashImage=true&F='+link+'&filename='+filename;}});}
function saveFlashImages(options)
{if(!options)
options={};if(Object.keys(Qualtrics.ofcImages).size()<=0)
{if(options&&options.onComplete)
options.onComplete();}
else
{var params;if(!options.url)
options.url="Ajax.php";if(options.reportId)
params="&ReportID="+options.reportId;else
params='';var binary=Object.toJSON(Qualtrics.ofcImages);new Ajax.Request(options.url+"?action=saveFlashImages"+params,{method:'post',parameters:{'binary':binary},onComplete:function()
{msg('Saving Flash Images...');Qualtrics.ofcImages={};if(options.onComplete)
options.onComplete();}});}}
function changePagePosition(foreward,pageCount)
{if(!Qualtrics.currentReportPage)
{Qualtrics.currentReportPage=0;}
var curPage=Qualtrics.currentReportPage;$('page'+curPage).toggleClassName('visible');if(foreward)
{curPage=(curPage<pageCount-1)?curPage+1:0;}
else
{curPage=(curPage>0)?curPage-1:pageCount-1;}
$('page'+curPage).toggleClassName('visible');$('pageNumberDisplay').update(curPage+1);Qualtrics.currentReportPage=curPage;}
function addReportNavigator(pageCount)
{return QBuilder('div',{id:'ReportNavigator'},[QBuilder('div',{},[QBuilder('a',{className:'qbutton',clickcallback:'changePagePosition',p1:false,p2:pageCount},[QBuilder('span',{className:'icon previous'})]),QBuilder('span',{id:'pageNumberDisplay'},1),QBuilder('a',{className:'qbutton',clickcallback:'changePagePosition',p1:true,p2:pageCount},[QBuilder('span',{className:'icon next'})])])]);}
FileUploader={prevFileID:'',buildFileUploadIFrame:function(qID,maxSize)
{var iframe=Builder.node('iframe',{id:'FileUploader',scrolling:'no',name:'FileUploader',frameBorder:0,src:'blank.html'});$(iframe).setStyle({width:'0px',height:'0px'});var fileField=QBuilder('input',{id:'fileField',type:'file',size:'48',name:'fileField',autocomplete:'off',qid:qID});var form=QBuilder('form',{id:'fileUploadForm',enctype:'multipart/form-data',method:'post',action:'Ajax.php?action=uploadRFile',target:'FileUploader'},[QBuilder('div',{className:'inputContainer'},[QBuilder('div',{className:'fileInputContainer',id:'fileInputContainer'},[QBuilder('input',{type:'hidden',value:maxSize,name:'MAX_FILE_SIZE'}),fileField])]),QBuilder('input',{type:'hidden',id:'QID',name:'QID',value:qID})]);var frameDiv=QBuilder('div',{},[form,iframe]);$('fIFrame~'+qID).contentWindow.document.write(frameDiv.innerHTML);$('fIFrame~'+qID).contentWindow.document.body.style.background='transparent';new Form.Element.Observer($('fIFrame~'+qID).contentWindow.document.getElementById('fileField'),0.2,FileUploader.clearOldAndSubmit);},clearOldAndSubmit:function(el,value)
{var qid=el.getAttribute('qid');if($('fileInfo~'+qid))
$('fileInfo~'+qid).remove();$('Filename~'+qid).value='';$('TmpFilepath~'+qid).value='';$('FileType~'+qid).value='';$('Size~'+qid).value='';$('loadingImage~'+qid).show();$('loadingError~'+qid).hide();$('fileInfoCont~'+qid).hide();if(value!='')
{$('fIFrame~'+qid).contentWindow.document.getElementById('fileUploadForm').submit();if(/AppleWebKit|MSIE/.test(navigator.userAgent)){new Ajax.Request("blank.html",{asynchronous:false});}}},fail:function(qid,errorMsg)
{$('fileInfoCont~'+qid).hide();if($('fileInfo~'+qid))
$('fileInfo~'+qid).remove();if(errorMsg)
$('loadingError~'+qid).innerHTML=errorMsg;$('loadingImage~'+qid).hide();$('loadingError~'+qid).show();$('Filename~'+qid).value='';$('TmpFilepath~'+qid).value='';$('FileType~'+qid).value='';$('Size~'+qid).value='';},uploadOnload:function(qID,fileData)
{if(fileData.errors&&fileData.errors!='')
{this.fail(qID,fileData.errors);return;}
$('loadingImage~'+qID).hide();$('loadingError~'+qID).hide();$('Filename~'+qID).value=fileData.origFilename;$('TmpFilepath~'+qID).value=fileData.fullpath;$('FileType~'+qID).value=fileData.type;$('Size~'+qID).value=fileData.size;$('fileInfoCont~'+qID).show();var filePreview=QBuilder('tr',{id:'filePreviewRow~'+qID},[QBuilder('td',{className:'right'},[QBuilder('img',{id:'imagePreviewRow~'+qID,src:'File.php?F='+fileData.fullpath+'&filePreview=true&PrevID='+this.prevFileID,className:'filePreview',onerror:'$(this).hide();'})])]);var nameInfo=QBuilder('tr',{id:'filenameInfoRow~'+qID},[QBuilder('td',{className:'right'},fileData.origFilename)])
var size=fileData.size;var sizeTag='B';if(size>1024)
{size/=1024;sizeTag='KB';}
if(size>1024)
{size/=1024;sizeTag='MB';}
var sizeInfo=QBuilder('tr',{id:'sizeInfoRow~'+qID},[QBuilder('td',{className:'right'},(Math.round(size*10)/10)+sizeTag)]);var typeInfo=QBuilder('tr',{id:'typeInfoRow~'+qID},[QBuilder('td',{className:'right'},fileData.type)]);var fileInfo=QBuilder('table',{className:'fileInfo',id:'fileInfo~'+qID},[QBuilder('tbody',{},[filePreview,nameInfo,sizeInfo,typeInfo])]);$('fileInfoCont~'+qID).appendChild(fileInfo);}};Qualtrics.objToHideButton=function(o)
{var showButton=QBuilder('input',{type:'button',value:'show'});var hideButton=QBuilder('input',{type:'button',value:'hide'});var obj=QBuilder('div',{},[QBuilder('pre',{},Qualtrics.objToString(o))]);var inner=QBuilder('div',{},[obj,hideButton]);$(inner).hide();Event.observe(hideButton,'click',function(){$(inner).hide();showButton.value='show';});Event.observe(showButton,'click',function(){if(showButton.value=='show')
{showButton.value='hide';$(inner).show();}
else
{showButton.value='show';$(inner).hide();}});var container=QBuilder('div',{},[showButton,inner]);return container;}
Qualtrics.objToString=function(obj,tab)
{tab=tab||0;var ret='';if(Object.isArray(obj))
obj=obj.toObject();for(var id in obj)
{ret+='\t'.times(tab);ret+=(id+' => ');if(typeof obj[id]=='object')
{ret+='\n';ret+=Qualtrics.objToString(obj[id],tab+1);}
else
{ret+=String(obj[id]);}
ret+='\n';}
return ret;}
function isNumeric(input)
{input=input.replace(/,/g,'');console.log('1 is ',input,'numeric?',(input-0)==input&&input.length>0);return(input-0)==input&&input.length>0;}
// (C) 2007-2012 Qualtrics, Inc.

var QModules={moduleBasePath:'../WRQualtricsShared/JavaScript/Modules/',basePath:'../',loadedModules:{},loadType:'eval',loadModule:function(path,options)
{var parsedPath=QModules.parsePath(path);var defaultOptions={method:'get',asynchronous:false,modulePath:path};if(options&&options.onComplete)
{defaultOptions.asynchronous=true;options.customOnComplete=options.onComplete;options.onComplete=null;}
if(QModules.loadType=='script')
{defaultOptions.evalJS=false;}
defaultOptions.evalJS=false;options=Object.extend(defaultOptions,options);options.onComplete=QModules.onModuleLoad;if(!QModules.loadedModules[path])
{if(options.killCache)
{var prefix='?';if(parsedPath.indexOf('?')!=-1)
{prefix='&';}
parsedPath+=prefix+'CacheKiller='+Math.random();}
var requestObj=new Ajax.Request(parsedPath,options);}
else if(options.customOnComplete)
{options.customOnComplete.defer();}},onModuleLoad:function(transport)
{if(transport.status==412&&!transport.request.options.killCache)
{transport.request.options.killCache=true;QModules.loadModule(transport.request.options.modulePath,transport.request.options);return;}
if(QModules.loadType=='script')
{try
{QModules.exec(transport.responseText);QModules.loadType="eval";}
catch(e)
{QES_Error('Error loading script module: '+e);}}
else if(transport.request.options.evalJS===false)
{try
{new Function(transport.responseText)();}
catch(e)
{QES_Error('Error running module: '+e);}}
if(transport.request.options.modulePath)
{QModules.loadedModules[transport.request.options.modulePath]='loaded';}
if(transport.status==200)
{if(transport.request.options.customOnComplete)
{try{transport.request.options.customOnComplete();}catch(e)
{console.error(e)}}}},loadStylesheet:function(path,options)
{options=options||{};var that=this;(function(){var fullPath='';if(path.indexOf('/')==-1)
{fullPath='../WRQualtricsShared/SharedStyleSheet.php?p='+path;}
else
{fullPath='../'+path;}
fullPath=QModules.getVersionedFile(fullPath,true);if(!QModules.loadedModules[fullPath])
{QModules.loadedModules[fullPath]='loaded';var link=QBuilder('link',{rel:'stylesheet',type:'text/css',href:fullPath});document.getElementsByTagName("head")[0].appendChild(link);}
if(options.onLoad&&options.triggerClass)
{var triggerElement=QBuilder('span',{className:options.triggerClass});$(triggerElement).hide();document.body.appendChild(triggerElement);new PeriodicalExecuter(function(pe){var color=$(triggerElement).getStyle('color');if(color=='#abcdef'||color=='rgb(171, 205, 239)')
{pe.stop();options.onLoad(path,options.triggerClass);}},.2);}}).defer();},exec:function(code)
{if((code+='').blank())
return;var script,scriptId;var head=$$('head').first()||$(document.documentElement);if(document.loaded)
{script=new Element('script',{type:'text/javascript'});try
{script.appendChild(document.createTextNode(code));}
catch(e)
{script.text=code}
head.insert(script);}
else
{scriptId='__prototype_exec_script';document.write('<script id="'+scriptId+'" type="text/javascript">'+code+'<\/script>');script=$(scriptId);}
script.remove();},loadExternalModule:function(path,callback)
{var head=$$('head').first()||$(document.documentElement);var script=new Element('script',{type:'text/javascript',src:path});head.insert(script);},isLoaded:function(path)
{if(!QModules.loadedModules[path])
return false;else
return true;},parsePath:function(path)
{path=QModules.getVersionedFile(path);if(path.indexOf('http')===0)
{QModules.loadType="script";return path;}
if(path.indexOf('./')==0)
{path=QModules.moduleBasePath+path.substr(2);}
else if(path.search('/')==-1)
{path=QModules.moduleBasePath+path;}
else
{path=QModules.basePath+path;}
return path;},unload:function(path)
{if(QModules.loadedModules[path])
{delete QModules.loadedModules[path];}},getVersionedFile:function(file,forceParamVersioning)
{if(typeof qVersion!='undefined')
{var matches=file.match(/(.*)\.(js|css|jpg|gif|png)$/i);if(matches&&!forceParamVersioning)
{return matches[1]+"."+qVersion+"."+matches[2];}
else
{var prefix='?';if(file.indexOf('?')!=-1)
{prefix='&';}
return file+prefix+'v='+qVersion;}}
else
return file;}}
// (C) 2007-2012 Qualtrics, Inc.

Qualtrics.Event={preventEvents:function(duration)
{Qualtrics.Event.preventingEvents=true;setTimeout(Qualtrics.Event.stopPreventingEvents,duration||100);},stopPreventingEvents:function()
{Qualtrics.Event.preventingEvents=false;},addBubbleUp:function(domNode)
{var descendants=$(domNode).descendants();for(var i=0,len=descendants.length;i<len;++i)
{descendants[i].setAttribute('bubbleup',true);}},preventingEvents:false,baseDistributerReader:function(evt,el,callbackType,opt_rootObject)
{if(window.QualtricsCPTools)
{QualtricsCPTools.resetTimeoutTimer();}
if(el&&el.getAttribute)
{if(el.getAttribute('disabled')=='disabled')
return;var callback=null;var bubble=el.getAttribute('bubbleup')||null;if(bubble==='false')
{bubble=false;}
if(el&&el.getAttribute&&el.getAttribute(callbackType))
{callback=el.getAttribute(callbackType);}
else if((el.tagName=='SPAN'||el.tagName=='EM'||el.tagName=='IMG'||el.tagName=='P'||el.tagName=='B'||el.tagName=='STRONG'))
{if(bubble!==false&&el.parentNode)
{bubble=true;el=el.parentNode;}}
if(bubble)
{var node=el;while(node)
{if(node.getAttribute(callbackType))
{callback=node.getAttribute(callbackType);el=node;node=null;}
else if(node.getAttribute('bubbleup')||node.tagName=='SPAN')
{node=node.parentNode;}
else
{node=null;}}}
if(callback)
{Qualtrics.Event.baseDistributer(evt,el,callback,opt_rootObject);}}},baseDistributer:function(event,clickedEl,clickCallBack,opt_rootObject)
{if(Qualtrics.Event.preventingEvents)return;if(typeof clickCallBack!='string')
{return;}
var params=Qualtrics.Event.packageParameters(clickedEl);var parameterMap={'$el':clickedEl||(event&&Event.element(event)),'$evt':event,'$val':this.getInputValue(clickedEl)}
var instanceId=clickedEl.getAttribute('instanceid');if(clickedEl.getAttribute('defer'))
{Qualtrics.Event.executeDotSyntax.curry(clickCallBack,instanceId,opt_rootObject,null,parameterMap,params).defer();}
else
{Qualtrics.Event.executeDotSyntax(clickCallBack,instanceId,opt_rootObject,null,parameterMap,params);}},getInputValue:function(el)
{if(el)
{if(el.type=='checkbox')
{return el.checked;}
return el.value;}},packageParameters:function(el)
{var paramIndex=1;var params=[];while(paramIndex!==null)
{var param=el.getAttribute('p'+paramIndex);if(param!==null)
{if(param==='false')
param=false;if(param==='true')
param=true;params.push(param);paramIndex++;}
else
{paramIndex=null;}}
return params;},parseParam:function(param,evt,opt_target)
{opt_target=opt_target||(evt&&Event.element(evt));if(param=='$evt')
{param=evt;}
else if(param=='$el')
{param=opt_target;}
else if(param=='$val')
{if(opt_target.type=='checkbox')
{param=opt_target.checked;}
else
{param=opt_target.value;}}
return param;},globalClickHandler:function(evt)
{if(!evt){evt=window.event}
var el=Event.element(evt);if(el.tagName=='INPUT')
{if(el.getAttribute('autoselect'))
{if(el.value==el.getAttribute('autoselect'))$(el).activate();}
if(el.getAttribute('autoclear'))
{if(el.value==el.getAttribute('autoclear')){QualtricsTools.focusInput(el,0);}}
else if(el.getAttribute('autohide'))
{if(Qualtrics.Inputs)
Qualtrics.Inputs.autoHideClick(el);}
else if(el.getAttribute('autoclearonclick'))
{if(el.value==el.getAttribute('autoclearonclick')){el.value='';$(el).removeClassName('AutoClearMessage');}}}
if(el.getAttribute&&el.getAttribute('distancedragged')&&el.getAttribute('distancedragged')>3)
{return;}
Qualtrics.Event.baseDistributerReader(evt,el,'clickcallback');},globalOverHandler:function(evt)
{evt=evt||window.event;var el=Event.element(evt);Qualtrics.Event.baseDistributerReader(evt,el,'overcallback');},globalOutHandler:function(evt)
{evt=evt||window.event;var el=Event.element(evt);Qualtrics.Event.baseDistributerReader(evt,el,'outcallback');},globalDownHandler:function(evt)
{evt=evt||window.event;var el=Event.element(evt);Qualtrics.Event.baseDistributerReader(evt,el,'downcallback');},globalUpHandler:function(evt)
{evt=evt||window.event;var el=Event.element(evt);if(Event.isLeftClick(evt))
{Qualtrics.Event.baseDistributerReader(evt,el,'mouseupcallback');if(window.customMouseUp)
{window.customMouseUp(evt);}}},globalDblClickHandler:function(evt)
{evt=evt||window.event;var el=Event.element(evt);Qualtrics.Event.baseDistributerReader(evt,el,'doubleclickcallback');},globalKeyDownHandler:function(evt)
{if(!evt){evt=window.event}
var el=Event.element(evt);if(el&&el.getAttribute)
{if(Qualtrics.Menu)
{Qualtrics.Menu.handleKeyDown(evt);}
if(el.getAttribute('keyentercallback'))
{if(evt.keyCode==Event.KEY_RETURN)
{Event.stop(evt);Qualtrics.Event.baseDistributer(evt,el,el.getAttribute('keyentercallback'));}}
if(el.getAttribute('keytabcallback'))
{if(evt.keyCode==Event.KEY_TAB)
{Event.stop(evt);Qualtrics.Event.baseDistributer(evt,el,el.getAttribute('keytabcallback'));}}
if(el.getAttribute('keydowncallback'))
{Qualtrics.Event.baseDistributerReader(evt,el,'keydowncallback');}
if(el.getAttribute('autoclear'))
{if(el.value==el.getAttribute('autoclear')){el.value='';$(el).removeClassName('AutoClearMessage');}}
if(el.getAttribute('autohide'))
{if(Qualtrics.Inputs)
Qualtrics.Inputs.autoHideKeyDown(el,evt);}
if(el.getAttribute('numericupdown'))
{Qualtrics.Event.numericUpDown(el,evt);}
if(el.getAttribute('validation'))
{if(!Qualtrics.alphaNumericValidation(el,evt))
return false;}}
if(Qualtrics.customKeyDown)
{Qualtrics.customKeyDown(evt);}
if(evt.keyCode==Event.KEY_BACKSPACE&&!Qualtrics.Reporting)
{if(el.nodeName=='INPUT'||el.nodeName=='TEXTAREA'||window.inlineEditor.getInstance())
{}
else
{Event.stop(evt);}}
if(evt.keyCode==90)
{if(el&&el.nodeName=='INPUT'||el.nodeName=='TEXTAREA')
{}
else
{if(evt.metaKey||evt.ctrlKey)
{if(evt.shiftKey)
{Qualtrics.History.getInstance().redo();}
else
{Qualtrics.History.getInstance().undo();}}}}
if(evt.keyCode==32)
{if(el&&el.nodeName=='INPUT'||el.nodeName=='TEXTAREA')
{}
else
{if(Q_Window.getWindowCount())
Event.stop(evt);}}
if(Qualtrics.savePage)
{if(evt.keyCode==83&&(evt.ctrlKey||evt.metaKey))
{Event.stop(evt);Qualtrics.savePage(true);return false;}}},globalKeyUpHandler:function(evt)
{var el=Event.element(evt);if(el.getAttribute('autohide'))
{if(Qualtrics.Inputs)
Qualtrics.Inputs.autoHideKeyUp(el,evt);}
if(el.getAttribute('qautosuggest'))
{QModules.loadModule('QAutoSuggest.js');if(el.qAutoSuggest)
{el.qAutoSuggest.handleKeyPress(evt);}
else
{var instanceid=el.getAttribute('instanceid');var list=Qualtrics.Event.executeDotSyntax(el.getAttribute('qautosuggest'),instanceid);var as=new Qualtrics.AutoSuggest(el,{keycallback:true,list:list});as.handleKeyPress(evt);el.qAutoSuggest=as;}}
if(el.getAttribute('qautocomplete'))
{QModules.loadModule('QAutoComplete.js');if(el.qAutoComplete)
{el.qAutoComplete.handleKeyPress(evt);}
else
{instanceid=el.getAttribute('instanceid');list=Qualtrics.Event.executeDotSyntax(el.getAttribute('qautocomplete'),instanceid);var ac=new QAutoComplete(el,{keycallback:true,list:list});ac.handleKeyPress(evt);el.qAutoComplete=ac;}}
if(el.getAttribute('numericmax')||el.getAttribute('numericmin'))
{Qualtrics.Event.limit(el,evt);}
Qualtrics.Event.baseDistributerReader(evt,el,'keyupcallback');if(evt.keyCode==Event.KEY_DELETE||evt.keyCode==Event.KEY_BACKSPACE)
{if(el.getAttribute('autoclear'))
{if(el.value=='')
{el.value=el.getAttribute('autoclear');$(el).addClassName('AutoClearMessage');QualtricsTools.focusInput(el,0);}}}},executeDotSyntax:function(command,opt_instanceId,opt_root,opt_forcedParams,opt_parameterMap,opt_defaultParams)
{if(command)
{if(command.indexOf(';')!=-1)
{var commands=command.split(';');var lastValue=null;for(var i=0,len=commands.length;i<len;++i)
{lastValue=Qualtrics.Event.executeDotSyntax(commands[i].strip(),opt_instanceId,opt_root,opt_forcedParams,opt_parameterMap,opt_defaultParams);}
return lastValue;}
var pkg=Qualtrics.Event.getDotSyntaxParts(command,opt_instanceId,opt_root);var params=pkg[3]||opt_defaultParams||[];if(opt_forcedParams&&opt_forcedParams.length)
{params=opt_forcedParams;}
if(opt_parameterMap)
{for(var i=0,len=params.length;i<len;++i)
{var param=params[i];if(opt_parameterMap[params[i]]!==undefined)
{params[i]=opt_parameterMap[params[i]];}
if(params[i]=='$availableVariables')
{params[i]=opt_parameterMap;}
if(typeof param=='string'&&param.indexOf('.')!==-1)
{var dotSyntaxParts=param.split('.');var base=dotSyntaxParts[0];var newParam=dotSyntaxParts[1];if(opt_parameterMap[base]&&opt_parameterMap[base][newParam])
{params[i]=opt_parameterMap[base][newParam];}
else if(opt_parameterMap[base])
{params[i]=undefined;}}}}
var returnVal=pkg[0].apply(pkg[1],params);return returnVal;}},getDotSyntaxValue:function(command,opt_root)
{var pkg=Qualtrics.Event.getDotSyntaxParts(command,null,opt_root,true);if(pkg&&pkg.root&&pkg.callBack)
{return pkg.root[pkg.callBack];}},callbackHasParams:function(command)
{if(command.lastIndexOf(')')===command.length-1)
{return true;}
return false;},getDotSyntaxParts:function(command,opt_instanceId,opt_alternateRoot,opt_quiet)
{var params;if(Qualtrics.Event.callbackHasParams(command))
{var openIndex=command.indexOf('(');if(openIndex!=-1)
{var paramsString=command.substring(openIndex+1,command.lastIndexOf(')'));var str=paramsString;if(str)
{var tokens=[];var i=-1;do{i=str.indexOf(',');var openP=str.indexOf('(');var closeP=str.indexOf(')');if(openP>-1&&openP<i)
{i=str.indexOf(',',closeP);}
if(i>-1)
{tokens.push(str.substring(0,i));str=str.substring(i+1);}}while(i>-1)
tokens.push(str);params=tokens;params=params.invoke('strip');}
command=command.substring(0,openIndex)}}
if(command.lastIndexOf(':')!=-1)
{opt_instanceId=command.substring(command.lastIndexOf(':')+1);command=command.substring(0,command.lastIndexOf(':'));}
var parts=command.split('.');var root=opt_alternateRoot||window;var method=null;var _this=window;var callBack=null;for(i=0,len=parts.length;i<len;++i)
{method=root[parts[i]];if(parts[i+1])
{if(!method)
{if(!opt_quiet)
{console.error('getDotSyntaxParts: Cannot find object: '+parts[i]+' in: '+command);}
return;}
root=method;method=root[parts[i+1]];}
else
{method=root[parts[i]];callBack=parts[i];_this=root;}}
if(root.getInstance)
{if(root.getInstance(opt_instanceId)&&root.getInstance(opt_instanceId)[callBack]!==undefined)
{method=root.getInstance(opt_instanceId)[callBack];_this=root.getInstance(opt_instanceId);}}
if(method===undefined)
{if(!opt_quiet)
{console.error('getDotSyntaxParts 2: Cannot find object: '+callBack+' in: '+command);}
return;}
if(params)
{for(i=0,len=params.length;i<len;++i)
{if(params[i]=='null')
{params[i]=null;}}}
var pkg={};pkg.method=method;pkg.callBack=callBack;pkg.root=_this;pkg.params=params;pkg[0]=method;pkg[1]=pkg.root;pkg[2]=callBack;pkg[3]=params;return pkg;},numericUpDown:function(el,evt)
{var val=el.value;if(!isNaN(val))
{val*=1;switch(evt.keyCode)
{case Event.KEY_DOWN:if(val>0)
el.value=val-1;Event.stop(evt);break;case Event.KEY_UP:el.value=val+1;Event.stop(evt);break;}}},limit:function(el,evt)
{var max=el.getAttribute('numericmax');var min=el.getAttribute('numericmin');var val=el.value;if(val!==null&&isNaN(val))
{return;}
val*=1;if(max!==null&&!isNaN(max))
{max*=1;if(val>max)
{el.value=max;}}
if(min!==null&&!isNaN(min))
{min*=1;if(val<min)
{el.value=min;}}}}
Event.observe(document,'click',Qualtrics.Event.globalClickHandler);Event.observe(document,'dblclick',Qualtrics.Event.globalDblClickHandler);Event.observe(document,'mousedown',Qualtrics.Event.globalDownHandler);Event.observe(document,'mouseup',Qualtrics.Event.globalUpHandler);Event.observe(document,'keydown',Qualtrics.Event.globalKeyDownHandler);Event.observe(document,'keyup',Qualtrics.Event.globalKeyUpHandler);var mousePos=new Array();Event.observe(document,'mousemove',updateMousePos);function updateMousePos(event,forcedY){if(event){mousePos[0]=((event.pageX)||(event.clientX+window.scrollInfo[0]));mousePos[1]=((event.pageY)||(event.clientY+window.scrollInfo[1]));if(forcedY)
{mousePos[1]=forcedY;}
if(window.Q_Window)
{var chopped=Q_Window.getChopOffset();if(chopped)
{if(chopped[0])mousePos[0]=mousePos[0]-chopped[0];if(chopped[1])mousePos[1]=mousePos[1]-chopped[1];}}
if(window.updateCustomMousePos)
{window.updateCustomMousePos(event);}}}
// (C) 2007-2012 Qualtrics, Inc.

function QError(msg)
{console.error('QES_Error '+msg);console.trace();}
function PageAction(ClientAction,Section,SubSection,SubSubSection,repeatable,dontChangeAction)
{if(Qualtrics.savePage)
{Qualtrics.savePage(false);Event.stopObserving(window,'unload',Qualtrics.savePageOnUnload);}
if(ClientAction=='ChangePage')
{var pathArray=window.location.pathname;var pathname=pathArray.substring(0,pathArray.lastIndexOf("/"));window.location=pathname+'?ClientAction=ChangePage&s='+Section+'&ss='+SubSection+'&sss='+SubSubSection;}
else
{var page=$('Page');page.ClientAction.value=ClientAction;page.Section.value=Section;if(SubSection===undefined)
{SubSection='';}
if(SubSubSection===undefined)
{SubSubSection='';}
page.SubSection.value=SubSection;page.SubSubSection.value=SubSubSection;if((typeof(repeatable)=='string'&&repeatable=='true')||(typeof(repeatable)!='string'&&repeatable))
{page.Repeatable.value='1';}
if(!dontChangeAction)
page.action='?';submitForm(page);if(Qualtrics.Browser.IE&&Qualtrics.Browser.Version==6)
{window.href=window.href;}
page.ClientAction.value='';return false;}}
function PageActionGet(ClientAction,Section,SubSection,SubSubSection,repeatable)
{var page=$('Page');page.method='GET';(function(){return PageAction(ClientAction,Section,SubSection,SubSubSection,repeatable);}).defer();return;}
function PageActionJumpTo(ClientAction,Section,SubSection,SubSubSection,jump_to)
{var page=$('Page');page.ClientAction.value=ClientAction;page.Section.value=Section;page.SubSection.value=SubSection;page.SubSubSection.value=SubSubSection;page.action=jump_to;submitForm(page);return false;}
function is_int(mixed_var){if(typeof mixed_var!=='number'){return false;}
if(parseFloat(mixed_var)!=parseInt(mixed_var)){return false;}
return true;}
function array_merge(){var args=Array.prototype.slice.call(arguments);var retObj={},k,j=0,i=0;var retArr;for(i=0,retArr=true;i<args.length;i++){if(!(args[i]instanceof Array)){retArr=false;break;}}
if(retArr){return args;}
var ct=0;for(i=0,ct=0;i<args.length;i++){if(args[i]instanceof Array){for(j=0;j<args[i].length;j++){retObj[ct++]=args[i][j];}}else{for(k in args[i]){if(is_int(k)){retObj[ct++]=args[i][k];}else{retObj[k]=args[i][k];}}}}
return retObj;}
function array_merge_recursive(arr1,arr2){var idx='';if((arr1&&(arr1 instanceof Array))&&(arr2&&(arr2 instanceof Array))){for(idx in arr2){arr1.push(arr2[idx]);}}else if((arr1&&(arr1 instanceof Object))&&(arr2&&(arr2 instanceof Object))){for(idx in arr2){if(idx in arr1){if(typeof arr1[idx]=='object'&&typeof arr2=='object'){arr1[idx]=array_merge_recursive(arr1[idx],arr2[idx]);}else{arr1[idx]=arr2[idx];}}else{arr1[idx]=arr2[idx];}}}
return arr1;}
var ScriptQuery=function(scriptPath){this.scriptPath=scriptPath;}
ScriptQuery.prototype={parse:function(url){var result={};if(!url)
url=this.scriptPath;var query=url.split('?')[1];if(!query)
return null;var components=query.split('&');for(var i=0;i<components.length;i++){var pair=components[i].split('=');var name=pair[0],value=pair[1];if(!result[name])result[name]=[];if(!value){value='true';}else{try{value=decodeURIComponent(value);}catch(e){value=unescape(value);}}
var values=result[name];values[values.length]=value;}
return result;},flatten:function(url){var queries=this.parse(url);for(var name in queries){queries[name]=queries[name][0];}
return queries;},toString:function(){return'ScriptQuery [path='+this.scriptPath+']';}}
var ClosePopupWindows={closePopUpWindow:function(opt_windowName)
{if(!window.opener)
{var queries=new ScriptQuery().parse(window.location.href);if(opt_windowName||queries&&parent.Q_Window.getWindow(queries['WID']))
{Q_Window.closeWindow(opt_windowName||queries['WID']);}
else
{Q_Window.closeWindow();}}
else
{window.close();}},_cleanUrl:function(url,removeQuery)
{if(removeQuery)
{var index=url.lastIndexOf('?');if(index!=-1)
url=url.substring(0,index);}
index=url.lastIndexOf('#');if(index!=-1)
url=url.substring(0,index);return url;},closeWindowAndRefreshMaster:function()
{if(!window.opener)
{var url=this._cleanUrl(parent.location.href);parent.location.href=url;parent.location.href=url;}
else
{url=this._cleanUrl(window.opener.location.href);window.opener.location.href=url;window.opener.location.href=url;}
this.closePopUpWindow();},closeWindowAndSubmitMaster:function(clientAction,bookmark)
{if(!bookmark)
bookmark='';try
{if(!window.opener)
{if(parent&&parent.document.Page)
{if(parent.document.Page.ClientAction)
parent.document.Page.ClientAction.value=clientAction;if(parent.document.Page.onsubmit)
parent.document.Page.onsubmit();parent.document.Page.submit();}}
else
{if(window.opener&&window.opener.document.Page)
{window.opener.document.Page.ClientAction.value=clientAction;if(window.opener.document.Page.onsubmit)
window.opener.document.Page.onsubmit();window.opener.document.Page.submit();}}}
catch(e)
{console.error('closeWindowAndSubmitMaster error:'+e);}
this.closePopUpWindow();}}
function createFCKEditor(id,width,height,updateOnSubmit,surveyId,instanceReadyFunc,options)
{if($(id))
{var offsetHeight=112;if(!width)
{width=$(id).getWidth();}
if(!height)
{height=$(id).offsetHeight-offsetHeight;}}
if(instanceReadyFunc==undefined)
{instanceReadyFunc=function(e){e.editor.focus();};}
if(!options)
{options={};}
var options=Object.extend(options,{width:width,height:height,on:{instanceReady:instanceReadyFunc}});var firstButton=null;switch(surveyId)
{case'LibMessage':firstButton='QSurveyLink';break;case'TSInviteOrReminderMessage':firstButton='QThreeSixtyLink';break;}
var QFileButton='QFile';if(Qualtrics.System.productName=='ThreeSixty')
{QFileButton='';}
if(firstButton!=null)
{options.toolbar=[[firstButton,'QSmartText','QImage',QFileButton,'QVideo','-','SpecialChar','Table','Link','Unlink','PasteFromWord'],['Undo','Redo'],['JustifyLeft','JustifyCenter','JustifyRight','-','Outdent','Indent','-','NumberedList','BulletedList'],['Source'],'/',['RemoveFormat'],['Font','FontSize'],['Bold','Italic','Underline','-','Subscript','Superscript'],['BGColor','TextColor']];}
var ckid=$(id).id;if(CKEDITOR.instances&&CKEDITOR.instances[ckid])
{CKEDITOR.remove(CKEDITOR.instances[ckid]);}
var editor=CKEDITOR.replace(id,options);if(updateOnSubmit){Event.observe('Page','submit',function(){if(editor)
{var data=editor.getData();$(id).value=data;}});}
return editor;}
function submitAllCheckBoxes(notCheckedValue)
{var elements=document.getElementsByTagName("input");for(var i=0;i<elements.length;i++)
{if(elements[i].getAttribute("type")=="checkbox")
{if(!elements[i].checked)
{if(elements[i].getAttribute("notCheckedValue"))
var elemNotCheckedValue=elements[i].getAttribute("notCheckedValue");else
elemNotCheckedValue=notCheckedValue;elements[i].style.visibility='hidden';elements[i].checked=true;elements[i].value=elemNotCheckedValue;}}}}
function submitButton(element,formID,inputID,inputName,inputValue)
{var form=$(formID);var input=$(inputID);if(input)
{input.setAttribute('name',inputName);input.setAttribute('value',inputValue);}
submitForm(formID);}
function setupCalendarObserver(elementID,buttonElementID,destinationElementID)
{var calendarClickObserver=function(event){Event.stopObserving($(elementID),'click',calendarClickObserver);Event.stop(event);displayCalendar($(destinationElementID),"yyyy-mm-dd",$(buttonElementID),false,null);var calendarCloseCheck=function(event){if(event&&!event.findElement('#calendarDiv'))
{closeCalendar();Event.stopObserving(document,'click',calendarCloseCheck);$(elementID).observe('click',calendarClickObserver);}};Event.observe(document,'click',calendarCloseCheck);};$(elementID).observe('click',calendarClickObserver);}
function qualtricsPopupCalendar(buttonElementID,destinationElementID,xoffset,yoffset)
{displayCalendar($(destinationElementID),"yyyy-mm-dd",$(buttonElementID),false,null);}
function qualtricsPopupCalendarWithTime(buttonElementID,destinationElementID,xoffset,yoffset)
{displayCalendar($(destinationElementID),"yyyy-mm-dd hh:ii",$(buttonElementID),true,null);}
function qualtricsPopupCalendarMonthPicker(buttonElementID,destinationElementID,xoffset,yoffset)
{Qualtrics.QMonthPicker.displayCalendar($(destinationElementID),"yyyy-mm",$(buttonElementID),false);}
function getPositioningExtras(width,height)
{if(!Qualtrics.Browser.Gecko||screen.width==null||screen.width=='undefined'||screen.availLeft==null||screen.availLeft=='undefined')
return'';var left=(screen.width-width)/2;if(screen.availLeft>100||screen.availLeft<100)
left+=screen.availLeft;var top=(screen.height-height)/2;if(screen.availTop>50||screen.availTop<50)
top+=screen.availTop;return"left="+left+",top="+top+",";}
var fullscreenCallBack=false;var fullscreenOnComplete=false;function assignFullScreen(el){el.onmousedown=function(){if($('FullScreenLabel')){new Effect.Fade($('FullScreenLabel'),{duration:0.5,afterFinish:function(){$('FullScreenLabel').remove()}});}
el.downFlag=true;var cn=Element.classNames(el);if(Element.hasClassName(el,'FullScreenActivated')){cn.remove("FullScreenActivated")}else{cn.add("FullScreenActivated")}}
el.onmouseup=function(){el.downFlag=false;}
el.onmouseout=function(){if(el.downFlag){if($(el).hasClassName("FullScreenActivated")){$(el).removeClassName("FullScreenActivated");}else{$(el).addClassName("FullScreenActivated");}}
el.downFlag=false;$(el).removeClassName("Over");}
el.onclick=function(){toggleFullScreen(el);clearOverRegistry();}}
function toggleFullScreen(el,options){if(!el)
{el=$('FullScreen');}
if(fullscreenCallBack)
{fullscreenCallBack();}
else
{if(el.isFull)
{if(options&&options.fullScreenOnly)
{return;}
$(document.body).removeClassName('Full');$('center').setStyle({width:null});$('Toolbar').setStyle({width:null,marginRight:'0',left:'0'});el.isFull=false;}
else
{$(document.body).addClassName('Full');$('center').setStyle({width:'100%'});$('Toolbar').setStyle({width:'100%',marginRight:'0',left:'0'});el.isFull=true;}
if(options&&options.preventOnComplete)
{return;}
if(fullscreenOnComplete){fullscreenOnComplete();}}}
function chunk(a,s)
{for(var x,i=0,c=-1,l=a.length,n=[];i<l;i++)
(x=i%s)?n[c][x]=a[i]:n[++c]=[a[i]];return n;}
function getScrollInfo()
{return QualtricsTools.getScrollInfo();}
function updateScroll()
{window.scrollInfo=getScrollInfo();}
function getPageCenter(offsetObject)
{var offsetX=0;var offsetY=0;var scrollInfo=getScrollInfo();if(offsetObject)
{var width=$(offsetObject).getWidth();var height=$(offsetObject).getHeight();offsetX=Math.round(width/2);offsetY=Math.round(height/2);}
var s=getPageSize();var x=s[2];var y=s[3];return[Math.round(x/2)-offsetX+scrollInfo[0],Math.round(y/2)-offsetY+scrollInfo[1]];}
function stripNewLines(text)
{return text.replace(/(\n\r|\n|\r)/g,' ');}
function isValidDate(dateStr)
{return QualtricsCPTools.regex.date.test(dateStr);}
function isValidEmail(email)
{return QualtricsCPTools.regex.email.test(email);}
function isValidURL(url)
{return QualtricsCPTools.regex.url.test(url);}
function isValidGUID(str,prefix)
{if(prefix)
{return QualtricsCPTools.regex.guid.test(str)&&str.startsWith(prefix+'_');}
else
return QualtricsCPTools.regex.guid.test(str);}
window.getMessage=Qualtrics.getMessage;function benchmark(startd,end,label){var seconds=(end.getTime()-startd.getTime())/1000;var time=Math.round(seconds*100)/100;return(label+": "+time);}
if(!Qualtrics.Messages)
Qualtrics.Messages={};Object.extend(Qualtrics.Messages,{mouseDown:false,mouseDrag:false});Event.observe(window,'load',runOnLoads);function runOnLoads()
{if($('MessageBox'))
{Event.observe($('MessageBox'),'mouseover',HoldMessageBox);Event.observe($('MessageBox'),'mouseout',ReleaseMessageBox);Event.observe($('MessageBox'),'click',function(evt)
{if(evt)
{var el=Event.element(evt);if(evt.ctrlKey)
{QualtricsCPTools.hideDebugs=true;}
if(el&&el.tagName!='INPUT'&&el.tagName!='BUTTON'&&el.tagName!='A'&&!Qualtrics.Messages.mouseDrag)
{var ignoreClick=false;var depth=3;var depthEl=el;while(depth>=0&&ignoreClick==false)
{if(depthEl.getAttribute('ignoreMsgClick')=='1')
{ignoreClick=true;}
if(depthEl.parentNode)
{depthEl=depthEl.parentNode;depth--;}
else
{depth=-1;}}
if(!ignoreClick)
HideMessage(true);}}});Event.observe($('MessageBox'),'mousedown',function(evt)
{Qualtrics.Messages.mouseDown=true;Qualtrics.Messages.mouseDrag=false;});Event.observe($('MessageBox'),'mouseup',function(evt)
{Qualtrics.Messages.mouseDown=false;});Event.observe($('MessageBox'),'mousemove',function(evt)
{if(Qualtrics.Messages.mouseDown)
Qualtrics.Messages.mouseDrag=true;});$('MessageBox').oncontextmenu=function(){PermaMessageBox();return false;}}
if(Qualtrics.Browser.IE&&Qualtrics.Browser.Version<7)
{var days=0;var today=new Date();var year=2010;var eoy=new Date(year,11,31);var diff=Date.UTC(eoy.getYear(),eoy.getMonth(),eoy.getDate(),0,0,0)-Date.UTC(today.getYear(),today.getMonth(),today.getDate(),0,0,0);days=diff/1000/60/60/24;if(days<0)
days=0;if($('SystemMessageArea'))
{var browserWarning;$('SystemMessageArea').appendChild(QualtricsCPTools.roundy(QBuilder('div',null,[browserWarning=QBuilder('div',{className:'message'}),QBuilder('br'),getMessage('SiteWide','BrowserUpgrade'),QBuilder('ul',null,[QBuilder('li',null,[QBuilder('a',{href:'http://www.getfirefox.com',className:'Firefox',target:'_blank'},[QBuilder('strong',{className:'icon'}),QBuilder('strong',null,'Firefox'),QBuilder('span',null,' (Free)')])]),QBuilder('li',null,[QBuilder('a',{href:'http://www.google.com/chrome',className:'Chrome',target:'_blank'},[QBuilder('strong',{className:'icon'}),QBuilder('strong',null,'Chrome'),QBuilder('span',null,' (Free)')])]),QBuilder('li',null,[QBuilder('a',{href:'http://www.microsoft.com/windows/Internet-explorer/default.aspx',className:'IE8',target:'_blank'},[QBuilder('strong',{className:'icon'}),QBuilder('strong',null,'Internet Explorer 8'),QBuilder('span',null,' (Free)')])]),QBuilder('li',null,[QBuilder('a',{href:'http://code.google.com/chrome/chromeframe/',className:'IE8',target:'_blank'},[QBuilder('strong',{className:'icon'}),QBuilder('strong',null,'Chrome Frame Plugin'),QBuilder('span',null,' (Free)')])])]),QBuilder('div',{className:'clear'})]),{className:'BrowserWarning',id:'BrowserWarning'}));browserWarning.innerHTML=getMessage('SiteWide','BrowserWarning');}}}
Qualtrics.Inputs={autoHideFocus:function(evt)
{if(!evt)evt=window.event;var el=Event.element(evt);Qualtrics.Inputs.autoHideFade(el);},autoHideClick:function(el)
{Qualtrics.Inputs.autoHideFade(el);},autoHideFade:function(el)
{var forEl=$(el.getAttribute('autohide'));if(forEl&&!forEl.autofaded)
{forEl.autofaded=true;$(forEl).addClassName('Fade');}
if(!el.onblur)
{el.onblur=Qualtrics.globalBlurHandler;}
Qualtrics.Inputs.autoHide(el);},autoHide:function(el)
{var forEl=$(el.getAttribute('autohide'));if(forEl&&$(forEl))
{if(el.value!=''&&!forEl.autohidden)
{forEl.autohidden=true;$(forEl).hide();}}},autoShow:function(el)
{if(el.getAttribute('autohide'))
{var forEl=$(el.getAttribute('autohide'));if(forEl)
{if(el.value==''&&forEl.autohidden)
{forEl.autohidden=false;$(forEl).show();}}}},autoHideBlur:function(el)
{if(el.getAttribute('autohide'))
{var forEl=$(el.getAttribute('autohide'));if(forEl)
{if(forEl.autofaded)
{forEl.autofaded=false;$(forEl).removeClassName('Fade');}
Qualtrics.Inputs.autoShow(el);}}},checkForPrepopulatedValue:function(el)
{Qualtrics.Inputs.autoHideFade(el);},watchInputsForAutoComplete:function(var_args)
{var args=arguments;setInterval(function(){Qualtrics.Inputs.checkInputsForAutoComplete.apply(this,args)},100);},checkInputsForAutoComplete:function(var_args)
{for(var i=0,len=arguments.length;i<len;++i)
{Qualtrics.Inputs.autoHide(arguments[i]);}},autoHideKeyUp:function(el,evt)
{if(el.getAttribute('autohide')){var forEl=$(el.getAttribute('autohide'));if(el.value=='')
{if(evt&&evt.keyCode==Event.KEY_DELETE||evt.keyCode==Event.KEY_BACKSPACE)
{if(forEl)
{forEl.autohidden=false;$(forEl).show();}}}
else
{forEl.autohidden=true;$(forEl).hide();}}},autoHideKeyDown:function(el,evt)
{if(el.getAttribute('autohide'))
{var forEl=$(el.getAttribute('autohide'));if(forEl)
{forEl.autohidden=true;$(forEl).hide();}
if(el.value=='')
{if(evt&&evt.keyCode==Event.KEY_TAB)
{forEl.autohidden=false;$(forEl).show();}}}}}
Qualtrics.globalBlurHandler=function(evt)
{evt=evt||window.event;var clickedEl=Event.element(evt);Qualtrics.Inputs.autoHideBlur(clickedEl);var callback=clickedEl.getAttribute('blurcallback');Qualtrics.Event.baseDistributerReader(evt,clickedEl,'blurcallback');}
Qualtrics.globalContextMenuHandler=function(evt)
{evt=evt||window.event;var el=Event.element(evt);if(el.nodeName=='INPUT')
{if(el.getAttribute('autoclear')&&el.value==el.getAttribute('autoclear')){el.value='';$(el).removeClassName('AutoClearMessage');}
else if(el.getAttribute('autohide'))
{if(el.getAttribute('autohide')){var forEl=$(el.getAttribute('autohide'));if(forEl)
{$(forEl).hide();}}}}}
Event.observe(document,'contextmenu',Qualtrics.globalContextMenuHandler);if(!Qualtrics.showPermissionError_ActivateSurvey)
{Qualtrics.showPermissionError_ActivateSurvey=function()
{alert(getMessage('ErrorCodes','ESEC35'));}}
Qualtrics.showPermissionError_DeactivateSurvey=function()
{alert(getMessage('ErrorCodes','ESEC26'));}
Qualtrics.showPermissionError_ActivateSurvey_XDataCenter=function()
{alert(getMessage('ErrorCodes','ESEC35'));}
Qualtrics.showPermissionError_DeactivateSurvey_XDataCenter=function()
{alert(getMessage('ErrorCodes','ESEC26'));}
var QualtricsCPTools={cachedFixedPosSupport:null,regex:{email:/^([a-zA-Z0-9\'_\+\.\-\&\/])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/,url:/(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/,guid:/^[0-9a-zA-Z]{1,4}_[0-9a-zA-Z]{11,15}$/,date:/^\d{4}(\-|\/|\.)\d{1,2}(\-|\/|\.)\d{1,2}$/,number:/^[0-9]+$/,SSOUserName:/.+#.+/},ttOn:function(evt,el,sn,tag,ul,uID){translationTip.on(el,evt,sn,tag,ul,uID);},showTip:function(template,options){var src='CleanAjax.php?action=ShowTip&t='+template;var tipWindow=new Q_Window({id:'tipWindow',width:'400px',padding:0});var tip=QBuilder('div',{className:'HelpTip',id:'ShowTip'});new Ajax.Updater(tip,src,{evalScripts:true,onComplete:function(){if(options.onComplete)
{try
{options.onComplete();}
catch(e)
{console.error(e)}}
tipWindow.center();},asynchronous:options.asynchronous===undefined?true:options.asynchronous});tipWindow.setContent(tip);},closeTip:function(){Q_Window.closeWindow('tipWindow');},inviteFriend:function(){var win=new Q_Window({id:'inviteFriend',width:'auto',title:"Invite a Friend to use Qualtrics",buttons:[{icon:'cancel',className:'negative',text:'Cancel',clickcallback:'Q_Window.closeWindow'},{icon:'check',text:'Send',id:'SendInvite',className:'disabled',clickcallback:'QualtricsCPTools.inviteFriendCallbacks.save'}]});var content=QBuilder('form',{id:'inviteFriendForm'},[QBuilder('div',null,[QBuilder('strong',null,"Friend's Email"),QBuilder('br'),QBuilder('input',{type:'text',className:'TextBox',id:'email',name:'email',keyupcallback:'QualtricsCPTools.inviteFriendCallbacks.checkEmail'})]),QBuilder('div',null,[QBuilder('strong',null,'Message'),QBuilder('br'),QBuilder('textarea',{name:'message',className:'TextBox'},"I use Qualtrics for my research and have been impressed with it.  I thought you might like to try it out.  I have arranged for you to have a free account.")])]);win.setContent(content);win.showCenter();$('email').activate();},inviteFriendCallbacks:{save:function()
{if(!$('SendInvite').hasClassName('disabled'))
{new Ajax.Request('Ajax.php?action=InviteFriend',{parameters:$('inviteFriendForm').serialize(),onSuccess:function()
{$('SendInvite').addClassName('disabled');var count=Number($('inviteNum').innerHTML);if(count>0)
count--;$('inviteNum').innerHTML=count;msg('Invitation Sent');Q_Window.closeWindow();}})}},checkEmail:function()
{if(QualtricsCPTools.regex.email.test($F('email')))
{$('SendInvite').removeClassName('disabled');}
else
{$('SendInvite').addClassName('disabled');}}},showAlertDialog:function(options)
{var okText='OK';if(options.okText)
okText=options.okText;var icon='check';if(options.icon)
icon=options.icon;var button=QBuilder('a',{className:'qbutton'},okText);var buttons=(options.buttons)?options.buttons:[];if(icon&&icon!='none'&&options.buttons&&!buttons[0].icon)
buttons[0]['icon']=icon;var win=new Q_Window({id:'alertDialog',width:'auto',title:options.title,buttons:buttons,closeButton:true});if(!options.okCallBack)
{options.okCallBack=function(){win.close();}}
else
{var f=options.okCallBack;options.okCallBack=function()
{try{f();}
catch(e)
{console.error('callback function error:'+e);}
win.close();}}
if(buttons.length==0)
{Event.observe(button,'click',options.okCallBack);win.rightFooterArea.appendChild(button);}
var content=QBuilder('table',{},[QBuilder('tbody',null,[QBuilder('tr',null,[QBuilder('th',null,[QBuilder('div',{className:'warningGraphic'})]),QBuilder('td',null,[QBuilder('div',{className:'message'},[options.message])])])])]);win.setContent(content);win.showCenter();},showUpgradeDialog:function(contentType)
{var win=new Q_Window({id:'UpgradeAccountPopup',width:'auto',height:'auto',title:'Upgrade your account to use this feature',closeButton:true});new Ajax.Request('Ajax.php?action=GetUpgradePopupContent',{parameters:{content:contentType},onComplete:function(transport){var content="";if(transport.responseText==""){content=QBuilder('div',{className:'main'},[QBuilder('div',{className:'content'},[QBuilder('div',{className:'clear'},[QBuilder('div',{className:'whole'},[QBuilder('h3',{},getMessage('ErrorCodes','ESEC69'))])]),QBuilder('div',{className:'clear'},[QBuilder('div',{className:'half'},[QBuilder('a',{className:'upgrade button',clickcallback:'QualtricsCPTools.showUpgradeForm',p1:contentType,p2:'UpgradeAccountPopup'},'Upgrade My Account')]),QBuilder('div',{className:'half'},[QBuilder('a',{className:'noThanks button',clickcallback:'Q_Window.closeWindow',p1:'UpgradeAccountPopup'},'No Thanks')])])])]);}
else
{var json=transport.responseText.evalJSON();if(json["Feature"])
{contentType=json["Feature"];}
var benefits=QBuilder('ul');for(var i=0,ilen=json.Benefits.Benefit.length;i<ilen;i++)
{benefits.appendChild(QBuilder('li',{},json.Benefits.Benefit[i]));}
content=QBuilder('div',{className:'main'},[QBuilder('div',{className:'content'},[QBuilder('div',{className:'clear'},[QBuilder('div',{className:'whole'},[QBuilder('h2',{},json.Headline)])]),QBuilder('div',{className:'clear'},[QBuilder('div',{className:'oneThird'},[QBuilder('img',{src:"../WRQualtricsShared/UpgradePopup/Images/"+json.Image})]),QBuilder('div',{className:'twoThirds'},[QBuilder('h3',{},'Benefits:'),benefits])]),QBuilder('div',{className:'clear'},[QBuilder('div',{className:'whole'},[QBuilder('h3',{},'Real World Application:'),QBuilder('p',{},json.RealWorldApplication)])]),QBuilder('div',{className:'clear'},[QBuilder('div',{className:'half'},[QBuilder('a',{className:'upgrade button',clickcallback:'QualtricsCPTools.showUpgradeForm',p1:contentType,p2:'UpgradeAccountPopup'},'Upgrade My Account')]),QBuilder('div',{className:'half'},[QBuilder('a',{className:'noThanks button',clickcallback:'Q_Window.closeWindow',p1:'UpgradeAccountPopup'},'No Thanks')])])])]);}
win.setContent(content);win.center();}});},showUpgradeForm:function(product,windowId)
{var surveyLink='http://survey.qualtrics.com/SE?SID=SV_57Kh0tDIadK4Vy4';if(windowId)
{win=Q_Window.closeWindow(windowId);}
if(!product)
{product='Unknown';}
var url=surveyLink
+'&Name='+Qualtrics.User['name']
+'&Email='+Qualtrics.User.email
+'&userId='+Qualtrics.User.userId
+'&product='+product
+'&Q_lang='+Qualtrics.User.language;url=encodeURI(url);var win=new Q_Window({id:'UpgradeAccountSurvey',width:'560px',height:'500px',url:url,closeButton:true});},showWhyUpgradeDialog:function()
{var win=new Q_Window({id:'WhyUpgradeLightbox',width:750,height:650,content:QBuilder('a',{clickcallback:'QualtricsCPTools.showUpgradeForm',p1:false,p2:'WhyUpgradeLightbox'},[QBuilder('img',{src:'../WRQualtricsShared/Graphics/WhyUpgrade.png'})]),closeButton:true});},showHelpMenu:function(qualtricsLink,wikiLink,helpLink)
{return QMenu.showMenu({items:[{display:getMessage('SiteWide','QualtricsUniversity'),params:{href:wikiLink+'/'+helpLink,target:'_blank'}}]},$('HelpButton'));},showParticipantHelpMenu:function()
{return QMenu.showMenu({items:[{display:'Participant FAQ',params:{href:'http://www.qualtrics.com/university/360/participants',target:'_blank'}}]},$('HelpButton'));},showActivateConfirmation:function(options)
{options.activate=true;this.showDeleteConfirmation(options);},showDeleteConfirmation:function(options)
{if(typeof(options)=="string")
{options=options.evalJSON();}
if(!(options instanceof Object))
{options={};}
var title='Delete';var strongConfirm=false;var secondConfirm=false;var deleteButtonText='Delete';var deleteMessage='Are you sure you wish to delete this item?';var confirmDeleteText=getMessage('SiteWide','ConfirmDelete').toLowerCase();var deleteCallBackParameters={};var confirmAction=null;var windowZIndex=options.windowZIndex;var deletingMessage=getMessage('Deleting');var activate=false;if(options.title)
{title=options.title;}
if(options.strong)
{strongConfirm=true;}
if(options.secondConfirm)
{secondConfirm=true;}
if(options.deleteButtonText)
{deleteButtonText=options.deleteButtonText;}
if(options.deleteMessage)
{deleteMessage=options.deleteMessage;}
if(options.deletingMessage)
{deletingMessage=options.deletingMessage;}
if(options.deleteCallBackParameters)
{deleteCallBackParameters=options.deleteCallBackParameters;}
if(options.confirmAction)
{confirmAction=options.confirmAction;}
if(options.confirmDeleteText)
{confirmDeleteText=options.confirmDeleteText;}
if(options.activate)
{activate=options.activate;}
this.advancedOptions=options.advancedOptions;this.deleteConfirmationCompleteOnEnter=function(e)
{if(!e)e=window.event;if(e.keyCode==Event.KEY_RETURN)
{QualtricsCPTools.deleteConfirmationComplete(e);Event.stop(e);}}
this.deleteConfirmationCancel=function()
{Q_Window.closeAllWindows('deleteConfirmation');}
this.deleteConfirmationComplete=function(e)
{var skipStrong=false;var skipSecond=false;if(e.shiftKey&&(e.ctrlKey||e.metaKey))
{skipStrong=true;skipSecond=true;}
if(deleteCallBackParameters.strong)
{if(skipStrong)
{Event.stop(e);}
else
{var confirmed=$('confirmationInput').value.toLowerCase();var confirmCloseText=getMessage('SiteWide','ConfirmClose').toLowerCase();if(confirmAction&&confirmAction=='Deactivate')
{if(confirmed!=confirmCloseText&&confirmed!='"'+confirmCloseText+'"')
{alert(getMessage('SiteWide','MustConfirmClose'));return false;}}
else
{if(confirmed!=confirmDeleteText&&confirmed!='"'+confirmDeleteText+'"'){alert(getMessage('SiteWide','MustConfirmDeletion'));return false;}}}
if($('CloseSessions'))
{deleteCallBackParameters.ajaxParameters['CloseSessions']=$('CloseSessions').checked;}
if(deleteCallBackParameters.secondConfirm&&!skipSecond)
{var newOptions=deleteCallBackParameters.options;newOptions['strong']=false;newOptions['deleteMessage']=deleteCallBackParameters.options.confirmMessage;this.confirmedOptions={};for(var s in this.advancedOptions)
{if($('advancedOptionCheckbox'+s).checked)
{newOptions['deleteMessage']+='<br/><br/> - '+this.advancedOptions[s].label;this.confirmedOptions[s]=true;}}
newOptions.hideAdvancedOptions=true;Q_Window.closeAllWindows('deleteConfirmation');this.showDeleteConfirmation(newOptions);return false;}}
if(deleteCallBackParameters.ajaxAction)
{var action=deleteCallBackParameters.ajaxAction;var parametersForAjax=deleteCallBackParameters.ajaxParameters;if(this.advancedOptions!=null)
{for(var s in this.advancedOptions)
{if((this.confirmedOptions&&this.confirmedOptions[s])||($('advancedOptionCheckbox'+s)&&$('advancedOptionCheckbox'+s).checked))
{parametersForAjax[s]='true';}}}
if(options.optionalInput)
{if($(options.optionalInputName)&&$(options.optionalInputName).checked)
{parametersForAjax[options.optionalInputName]='true';}}
if(parametersForAjax!='')
{new Ajax.Request('Ajax.php?action='+action,{parameters:parametersForAjax,onComplete:function(transport){Q_Window.closeAllWindows('deleteConfirmation');if(confirmAction&&confirmAction=='Deactivate')
{if(!parametersForAjax.admin||parametersForAjax.admin!=1)
{MySurveys.uncheckElement(parametersForAjax.el,parametersForAjax.SID,parametersForAjax.svd);}}
if(deleteCallBackParameters.ajaxOnComplete)
{QualtricsCPTools.executeDotSyntax(deleteCallBackParameters.ajaxOnComplete,null,null,null,{'$transport':transport});}},onSuccess:function(transport){Q_Window.closeAllWindows('deleteConfirmation');if(confirmAction&&confirmAction=='Deactivate')
{if(!parametersForAjax.admin||parametersForAjax.admin!=1)
{MySurveys.uncheckElement(parametersForAjax.el,parametersForAjax.SID,parametersForAjax.svd);}}
if(deleteCallBackParameters.ajaxOnSuccess)
{QualtricsCPTools.executeDotSyntax(deleteCallBackParameters.ajaxOnSuccess,null,null,null,{'$transport':transport});}}});}}
else if(deleteCallBackParameters.javascriptAction)
{var params=deleteCallBackParameters.javascriptParameters||[];if(!Object.isArray(params))
params=[params];var instanceid=deleteCallBackParameters.javascriptInstanceId||null;QualtricsCPTools.executeDotSyntax(deleteCallBackParameters.javascriptAction,instanceid,null,null,null,params);Q_Window.closeAllWindows('deleteConfirmation');return true;}
else if(deleteCallBackParameters.javascriptFunction)
{deleteCallBackParameters.javascriptFunction();Q_Window.closeAllWindows('deleteConfirmation');return true;}
if(confirmAction&&confirmAction=='Deactivate')
{deletingMessage=getMessage('Deactivating');}
else if(options.deletingMessage)
{deletingMessage=options.deletingMessage;}
var button=$('ConfirmDeleteButton');if(button)
{$(button).setAttribute('clickcallback','');$(button).addClassName('Disabled');$('ConfirmDeleteButton').innerHTML=deletingMessage;}}
var confirmTextInput=QBuilder('input',{autocomplete:'off',type:'text',id:'confirmationInput',name:'confirmationInput',className:'TextBox'});Event.observe(confirmTextInput,'keydown',QualtricsCPTools.deleteConfirmationCompleteOnEnter);deleteCallBackParameters.strong=strongConfirm;deleteCallBackParameters.secondConfirm=secondConfirm;deleteCallBackParameters.options=options;if(confirmAction&&confirmAction=='Deactivate')
{var confirmationForm=QBuilder('div',{id:'deleteConfirmationForm'},[QBuilder('div',{className:'confirmMessage'},[getMessage('SiteWide','MustEnterClose',getMessage('SiteWide','ConfirmClose'))]),confirmTextInput,QBuilder('table',{className:'PopUpWarningTable'},[QBuilder('tbody',null,[QBuilder('tr',{},[QBuilder('td',{},[QBuilder('input',{type:'checkbox',name:'CloseSessions',id:'CloseSessions',value:'true',checked:'true',className:'checkbox'})]),QBuilder('td',{},[QBuilder('div',{className:'PopUpWarningText'},[getMessage('UserSurveysSection','CloseSessions')])])])])])]);}
else
{confirmationForm=QBuilder('div',{id:'deleteConfirmationForm'},[QBuilder('div',{className:'confirmMessage'},getMessage('SiteWide','MustEnterDelete',confirmDeleteText)),confirmTextInput]);}
var strongConfirmHeading=QBuilder('div',{className:'deleteHeader'},getMessage('SiteWide','WarningCaption'));var className=options.className||'';var contentClass='deleteConfirmationContainer '+(strongConfirm?'strong':'')+' '+className;var contentChildren=[QBuilder('div',{className:'deleteWarningGraphic'}),QBuilder('div',{className:'rightContainer'},[(strongConfirm)?strongConfirmHeading:'',QBuilder('div',{className:'deleteMessage',id:'deleteMessage'},''),(strongConfirm)?confirmationForm:'']),QBuilder('div',{className:'clear'})];if(this.advancedOptions!=null&&!options.hideAdvancedOptions)
{checkboxes=[];for(var advOption in this.advancedOptions){var label=this.advancedOptions[advOption].label;var value=this.advancedOptions[advOption].value;checkboxes.push(QBuilder('input',{className:'checkbox',id:'advancedOptionCheckbox'+advOption,type:'checkbox',checked:value}));checkboxes.push(QBuilder('label',{'for':'advancedOptionCheckbox'+advOption},label));}
contentChildren.push(QBuilder('br',{}));contentChildren.push(QBuilder('b',{},[QBuilder('div',{className:'deleteConfirmation'},checkboxes)]));}
if(options.optionalInput)
{var optionalInput=[];optionalInput.push(QBuilder('input',{className:'checkbox',type:'checkbox',id:options.optionalInputName,name:options.optionalInputName}));optionalInput.push(QBuilder('label',{'for':options.optionalInputName},options.optionalInputLabel));contentChildren.push(QBuilder('br',{}));contentChildren.push(QBuilder('div',{className:'deleteConfirmation'},optionalInput));}
var content=QBuilder('div',{className:contentClass},contentChildren);var alreadyActiveConfirm=Q_Window.getInstanceByWindowName('deleteConfirmation');if(alreadyActiveConfirm)
{console.error('Already a delete confirm active. Cannot have more than one. Aborting...');return;}
var buttonOptions=null
if(activate)
{buttonOptions=[{icon:'',text:getMessage('SiteWide','Cancel'),click:'QualtricsCPTools.deleteConfirmationCancel',className:'neutral'},{icon:'check',text:deleteButtonText,click:'QualtricsCPTools.deleteConfirmationComplete',p1:'$evt',className:'positive',id:'ConfirmDeleteButton'}];}
else
{buttonOptions=[{icon:'',text:getMessage('SiteWide','Cancel'),click:'QualtricsCPTools.deleteConfirmationCancel',className:'neutral'},{icon:'cancel',text:deleteButtonText,click:'QualtricsCPTools.deleteConfirmationComplete',p1:'$evt',className:'negative',id:'ConfirmDeleteButton'}];}
var deleteConfirmation=new Q_Window({id:'deleteConfirmation',title:title,width:'auto',height:'auto',zIndex:windowZIndex,closeButton:true,buttons:buttonOptions});deleteConfirmation.setContent(content);$('deleteMessage').innerHTML=deleteMessage;deleteConfirmation.center();if(options.strong&&$(confirmTextInput))
$(confirmTextInput).focus();},createNewId:QualtricsTools.createNewId,getInstanceHelper:QualtricsTools.getInstanceHelper,getPageSize:function()
{return getPageSize();},select:function(el,start,end)
{$(el).focus();if(document.selection)
{var completeEntry=el.createTextRange();completeEntry.findText(el.value.substring(start,end));completeEntry.select();}
else{el.setSelectionRange(start,end);}},focusInput:function(el,opt_pos)
{return QualtricsTools.focusInput(el,opt_pos);},Overlay:{hasOverlay:false,suspend:false,ShowOverlay:function(options){if(!QualtricsCPTools.Overlay.suspend)
{return new Q_Overlay(options);}},HideOverlay:function(hideWindow,options){if(!QualtricsCPTools.Overlay.suspend)
{Q_Overlay.removeAll();}}},roundy:function(insideDiv,options)
{if(!options)options={};options=Object.extend({id:'','className':'','color':'black','hasClose':false,rootType:'div'},options);return QBuilder(options.rootType,{id:options.id,className:'RoundedCorners Roundy '+options.className},[QBuilder('div',{className:'TopRight'},[QBuilder('div',{className:'BottomLeft'},[QBuilder('div',{className:'BottomRight'},[insideDiv])])])]);},fadeElement:function(id)
{var afterFinish;if(window['QES_Global'])
{afterFinish=QES_Global.getTopCacheClearFunction();}
new Effect.Fade($(id),{duration:0.5,afterFinish:afterFinish});},executeDotSyntax:Qualtrics.Event.executeDotSyntax,getDotSyntaxParts:Qualtrics.Event.getDotSyntaxParts,preventEvents:Qualtrics.Event.preventEvents,stopPreventingEvents:Qualtrics.Event.stopPreventingEvents,buildDotSyntaxStringFromNode:function(node)
{var callback=node.getAttribute('clickcallback');var instanceid=node.getAttribute('instanceid');var params=QualtricsCPTools.packageParameters(node);return QualtricsCPTools.buildDotSyntaxString(callback,params,instanceid);},buildDotSyntaxString:function(command,parameters,instanceid)
{if(!command)
return false;var str=command;if(instanceid)
{str+=(':'+instanceid);}
if(parameters&&parameters.length)
{str+='(';for(var i=0,ilen=parameters.length;i<ilen;i++)
{str+=parameters[i];if(i<parameters.length-1)
str+=',';}
str+=')';}
else if(str.indexOf('(')==-1)
{str+='()'}
return str;},stripComments:function(text)
{return text.replace(/<!--(.|\n|\r)*?-->/g,"");},stripFormatting:function(text)
{text=QualtricsCPTools.stripComments(text);text=text.replace(/<[Bb][Rr][^>]*>/g,"##br##");text=text.replace(/<\/[Pp]>/g,"##/p##");text=text.replace(/<[Pp][^>]*>/g,"##p##");text=text.replace(/<[Ii][Mm][Gg][^>]/g,"##img##");text=text.stripTags();text=text.replace(/##br##/g,"<br>");text=text.replace(/##p##/g,"<P>");text=text.replace(/##\/p##/g,"</P>");text=text.replace(/##img##/g,"<img ");return text;},stripMostFormatting:function(text)
{text=QualtricsCPTools.stripComments(text);text=text.replace(/<[Bb][Rr][^>]*>/g,"~#br#~");text=text.replace(/<[Pp][^>]*>/g,"~#p#~");text=text.replace(/<\/[Pp]>/g,"~#/p#~");text=text.replace(/<[Bb][^>]*>/g,"~#b#~");text=text.replace(/<\/[Bb]>/g,"~#/b#~");text=text.replace(/<[Ss][Tt][Rr][Oo][Nn][Gg][^>]*>/g,"~#strong#~");text=text.replace(/<\/[Ss][Tt][Rr][Oo][Nn][Gg]>/g,"~#/strong#~");text=text.replace(/<[Ee][Mm][^>]*>/g,"~#em#~");text=text.replace(/<\/[Ee][Mm]>/g,"~#/em#~");text=text.replace(/<[Uu][^>]*>/g,"~#u#~");text=text.replace(/<\/[Uu]>/g,"~#/u#~");text=text.replace(/<[Ii][^>]*>/g,"~#i#~");text=text.replace(/<\/[Ii]>/g,"~#/i#~");text=text.replace(/<[Tt][Aa][Bb][Ll][Ee][^>]*>/g,"~#table#~");text=text.replace(/<\/[Tt][Aa][Bb][Ll][Ee]>/g,"~#/table#~");text=text.replace(/<[Tt][Rr][^>]*>/g,"~#tr#~");text=text.replace(/<\/[Tt][Rr]>/g,"~#/tr#~");text=text.replace(/<[Tt][Dd][^>]*>/g,"~#td#~");text=text.replace(/<\/[Tt][Dd]>/g,"~#/td#~");text=text.replace(/<[Tt][Hh][^>]*>/g,"~#th#~");text=text.replace(/<\/[Tt][Hh]>/g,"~#/th#~");text=text.stripTags();text=text.replace(/~#br#~/g,"<br />");text=text.replace(/~#p#~/g,"<p>");text=text.replace(/~#\/p#~/g,"</p>");text=text.replace(/~#b#~/g,"<strong>");text=text.replace(/~#\/b#~/g,"</strong>");text=text.replace(/~#u#~/g,"<u>");text=text.replace(/~#\/u#~/g,"</u>");text=text.replace(/~#i#~/g,"<em>");text=text.replace(/~#\/i#~/g,"</em>");text=text.replace(/~#strong#~/g,"<strong>");text=text.replace(/~#\/strong#~/g,"</strong>");text=text.replace(/~#em#~/g,"<em>");text=text.replace(/~#\/em#~/g,"</em>");text=text.replace(/~#table#~/g,"<table class='UserTable'>");text=text.replace(/~#\/table#~/g,"</table>");text=text.replace(/~#tr#~/g,"<tr>");text=text.replace(/~#\/tr#~/g,"</tr>");text=text.replace(/~#td#~/g,"<td>");text=text.replace(/~#\/td#~/g,"</td>");text=text.replace(/~#th#~/g,"<th>");text=text.replace(/~#\/th#~/g,"</th>");return text;},selectSurveyOnload:function()
{var select=$('SurveySelect');if(select&&select.options&&select.options[select.selectedIndex].getAttribute('folder')==1)
{if(Qualtrics.Browser.Gecko)
select.addClassName('FireFoxFolder');}},selectSurvey:function(select)
{if(select.options[select.selectedIndex].getAttribute('folder')==1)
{select.addClassName('Folder');if(Qualtrics.Browser.Gecko)
select.addClassName('FireFoxFolder');var folders=$('SurveySelector');var selects=folders.getElementsByTagName('div');var showElement=null;var hideElement=null;for(var i=0;i<selects.length;i++)
{var element=$(selects[i]);if(element.getAttribute('folderDiv')=='1')
{if("SurveyFolder_"+select.value==element.id)
{showElement=element;}
else
{if(element.getStyle('display')!='none')
{hideElement=element;}}}}
if(hideElement&&showElement)
{var hidden=false;select.blur();hideElement.focus();Effect.Appear(showElement,{duration:0.5,afterUpdate:function()
{if(!hidden)
{hideElement.setStyle({display:'none'});hidden=true;}},afterFinish:function(){}});}
else
{select.blur();hidden=false;if(showElement)
{new Effect.BlindRight(showElement,{duration:0.35,afterUpdate:function()
{if(!hidden)
{showElement.focus();hidden=true;}},afterFinish:function()
{showElement.focus();}});}}}
else
{select.removeClassName('Folder');select.removeClassName('FireFoxFolder');PageAction("setActiveSurvey",select.value);}},smartTruncateSelectBox:function(selectNode,opt_size,opt_cutSize,opt_startAt)
{var cutSize=opt_cutSize||3;var startAt=0;if(opt_startAt!==undefined)
{startAt=opt_startAt;}
var size=opt_size||100;var list=selectNode.childNodes;var uniques={};var uniquesCount=0;for(var i=startAt,len=list.length;i<len;++i)
{var opt=list[i].innerHTML.strip();var lastPart=opt.substring(opt.length-cutSize,opt.length);if(!uniques[lastPart])
{++uniquesCount;}
uniques[lastPart]=1;}
var percentThatHaveTheSameEnding=uniquesCount/(list.length-startAt);for(i=startAt,len=list.length;i<len;++i)
{if(list[i].innerHTML.length>size)
{var full=list[i].innerHTML;if(percentThatHaveTheSameEnding<0.6)
{list[i].innerHTML=list[i].innerHTML.truncate(size);}
else
{list[i].innerHTML=QualtricsCPTools.middleTruncate(list[i].innerHTML,size);}
list[i].title=full;}}},middleTruncate:function(v,size,rep)
{if(v.length>size)
{if(rep==undefined)
{rep='...';}
var middle=(size/2)-(rep.length);var end=v.substring(v.length-middle,v.length);var start=v.substring(0,middle);v=start+rep+end;}
return v;},setTimeoutTimer:function()
{var page=$('Page');if(page&&page.ClientAction)
{QualtricsCPTools.preventSessionTimeout();QualtricsCPTools.resetTimeoutTimer();if(Qualtrics.TimeoutInterval)
{clearInterval(Qualtrics.TimeoutInterval);}
Qualtrics.TimeoutInterval=setInterval(function(){Qualtrics.TimeoutTimerCountDown--;if(Qualtrics.TimeoutTimerCountDown==0)
{new Ajax.Request('Ajax.php?action=getRemainingSessionMinutes',{onSuccess:function(transport)
{var minutesRemaining=transport.responseText.evalJSON();var minutesLeeway=10;if(minutesRemaining<=minutesLeeway)
{if(Qualtrics.savePage)
Qualtrics.savePage();var countDown=120;var win=new Q_Window('Keepalive',{title:'You are about to be logged out due to inactivity',buttons:[{text:'Cancel',click:'QualtricsCPTools.cancelTimeout'},'close:PageAction(Logout)|Logout']});win.setContent(QBuilder('div',{},['If you do nothing you will automatically be logged out in ',QBuilder('span',{id:'TimeoutTimer'},countDown),' Seconds']));if(Qualtrics.TimeoutMiniTimer)
{Qualtrics.TimeoutMiniTimer.stop();}
Qualtrics.TimeoutMiniTimer=new PeriodicalExecuter(function(pe){if($('TimeoutTimer'))
{countDown--;$('TimeoutTimer').innerHTML=countDown;if(countDown<1)
{pe.stop();PageAction('Logout');}}
else
{pe.stop();}},1);}
else
Qualtrics.TimeoutTimerCountDown=Math.min(minutesRemaining-minutesLeeway,55);}});}},60*1000);}},cancelTimeout:function()
{Q_Window.closeWindow('Keepalive');QualtricsCPTools.resetTimeoutTimer();if(Qualtrics.TimeoutMiniTimer)
{Qualtrics.TimeoutMiniTimer.stop();}
QualtricsCPTools.keepAlive();},resetTimeoutTimer:function()
{Qualtrics.TimeoutTimerCountDown=55;QualtricsCPTools.keepAlive();},resetKeepAliveTimer:function()
{Qualtrics.KeepAliveTimerCountDown=30;},keepAlive:function()
{if(Qualtrics.KeepAliveTimerCountDown<=0)
{new Ajax.Request('Ajax.php?action=keepAlive');QualtricsCPTools.resetKeepAliveTimer();}},preventSessionTimeout:function()
{QualtricsCPTools.resetKeepAliveTimer();if(Qualtrics.KeepAliveInterval)
{clearInterval(Qualtrics.KeepAliveInterval);}
Qualtrics.KeepAliveInterval=setInterval(function(){Qualtrics.KeepAliveTimerCountDown--;},60*1000);},getBooleanClassName:function(variable,value,className)
{return(variable==value)?className:'';},activateSurveyAccessibilityCheck:function(callback,surveyID)
{QModules.loadModule('Accessibility.js');Accessibility.activateSurveyAccessibilityCheck(callback,surveyID);},buildAccountMenu:function(hideMessageCenter)
{return{className:'AccountMenu',items:[{display:Qualtrics.System.brandDescription,disabled:true,className:'BrandName'},{display:Qualtrics.User.name+' - '+Qualtrics.User.accountType,disabled:true,className:'UserName'},{display:getMessage('SiteMenu','AccountSettings')+'...',action:'PageAction(ChangePage, UserSettingsSection, UserSettings)',defer:true},hideMessageCenter?'':{display:getMessage('SiteMenu','ReadMessages')+'... <b>('+Qualtrics.User.newMessageCount+')</b>',action:'PageAction(ChangePage,MessageCenterSection,MessageCenter, ,true)',defer:true},{separator:true},{display:getMessage('SiteMenu','RefreshAccount'),action:'PageAction(RefreshUserInformation)',defer:true},{display:getMessage('SiteMenu','Logout'),action:'PageAction(Logout)',defer:true}]}},browserSupportsFixedPosition:function()
{if(this.cachedFixedPosSupport===null)
{var testBox=QBuilder('div');$(testBox).setStyle({position:'fixed',top:'0px'});$('pageDiv').appendChild(testBox);var pos=testBox.offsetTop;removeElement(testBox);if(pos===0)
{this.cachedFixedPosSupport=true;}
else
{this.cachedFixedPosSupport=false;}}
return this.cachedFixedPosSupport;},updateScrollables:function(scrollableId,parentContainer,scrollableWrapperId)
{if($(scrollableId))
{var scrollTop=getScrollInfo()[1];var scrollablePos;if(scrollableWrapperId!=null)
{scrollablePos=Position.cumulativeOffset($(scrollableWrapperId))[1];}
else
{if($(parentContainer))
{scrollablePos=Position.cumulativeOffset($(parentContainer))[1];}}
var newScrollable=scrollTop-scrollablePos;if(newScrollable<0)
{newScrollable=0;}
var fixedPosition=this.browserSupportsFixedPosition();if($(parentContainer)){var parentHeight=$(parentContainer).getHeight();var height=$(scrollableId).getHeight();var parentOffset=Position.cumulativeOffset($(parentContainer))[1];var distanceFromBottom=parentHeight-(scrollablePos-parentOffset);if(height+newScrollable>=distanceFromBottom)
{newScrollable=distanceFromBottom-height;if(newScrollable<0)
{newScrollable=0;}
fixedPosition=false;}}
if(fixedPosition)
{if(scrollTop>scrollablePos)
{var width=$(scrollableId).getWidth();newScrollable=0;$(scrollableId).setStyle({position:'fixed',width:width+'px'});}
else
{$(scrollableId).setStyle({position:'static'});fixedPosition=false;}
$(scrollableId).setStyle({top:(newScrollable)+'px'});}
else
{$(scrollableId).setStyle({position:'relative'});$(scrollableId).setStyle({top:(newScrollable)+'px'});}
return fixedPosition;}}}
QualtricsCPTools.Highlighter=Class.create();QualtricsCPTools.Highlighter.registry=new Array();QualtricsCPTools.Highlighter.autoHighlight=function(element,options)
{if($(element))
{if(!options){options={};}
options.targetObj=element;if(options&&options.type&&options.type=='class')
{return new QualtricsCPTools.Highlighter(options).render();}
else
{var width=$(element).getWidth();var height=$(element).getHeight();var pos=Position.cumulativeOffset($(element));options.x=pos[0];options.y=pos[1];options.width=width;options.height=height;}
return new QualtricsCPTools.Highlighter(options).render();}}
QualtricsCPTools.Highlighter.getAll=function()
{return QualtricsCPTools.Highlighter.registry;}
QualtricsCPTools.Highlighter.removeAll=function()
{for(var i=0,len=QualtricsCPTools.Highlighter.registry.length;i<len;++i)
{QualtricsCPTools.Highlighter.registry[i].remove();}
QualtricsCPTools.Highlighter.registry.length=0;}
QualtricsCPTools.Highlighter.getById=function(id)
{for(var i=0,len=QualtricsCPTools.Highlighter.registry.length;i<len;++i)
{if(QualtricsCPTools.Highlighter.registry[i].id==id)
return QualtricsCPTools.Highlighter.registry[i];}
return null;}
QualtricsCPTools.Highlighter.prototype={id:null,x:null,y:null,width:null,height:null,element:null,options:null,backgroundColor:null,color:null,opacity:0.6,type:'overlay',className:null,zIndex:10001,targetObj:null,initialize:function(options)
{if(options&&options.type)
{this.type=options.type;}
if(options&&options.className)
{this.className=options.className;}
if(options&&options.id)
{this.id=options.id;}
if(options&&options.targetObj)
{this.targetObj=options.targetObj;}
else
{if(options&&options.type=="class")
{console.error('if you use a "class" highlighter, you must use options.targetObj');return;}}
if(options&&options.backgroundColor)
{if(options.backgroundColor=='red')
{options.backgroundColor='#C75E5E';}
if(options.backgroundColor=='blue')
{options.backgroundColor='#3D72D6';}
this.backgroundColor=options.backgroundColor;}
if(options&&options.color)
{if(options.color=='red')
{options.color='#C75E5E';}
if(options.color=='blue')
{options.color='#3D72D6';}
this.color=options.color;}
if(options&&options.opacity)
{this.opacity=options.opacity;}
if(options&&options.zIndex)
{this.zIndex=options.zIndex;}
if(this.type=='overlay')
{var x=options.x;var y=options.y;var width=options.width;var height=options.height;if(!options||x==undefined||y==undefined||width==undefined||height==undefined)
{return QES_Error('an overlay highlight needs x, y, width, and height in the options');}
this.x=Number(x)+1;this.y=Number(y)+1;this.width=Number(width);this.height=Number(height);if(Qualtrics.Browser.IE)
{this.x=Number(x)+2;this.y=Number(y)+2;}
if(options&&options.padding)
{this.x=this.x-(options.padding)
this.y=this.y-(options.padding);this.width=this.width+(options.padding*2);this.height=this.height+(options.padding*2);}
if(!options||!options.backgroundColor)
{this.backgroundColor='white';}
if(this.color)this.backgroundColor=this.color;}
this.options=options;QualtricsCPTools.Highlighter.registry.push(this);return this;},render:function()
{if(this.type=='overlay')
{var highlighter=QBuilder('div',{className:'Highlighter'});if(this.options.caption)
{highlighter.appendChild(QBuilder('div',{className:'Caption'},this.options.caption));}
$(highlighter).setStyle({opacity:this.opacity,position:'absolute',zIndex:this.zIndex,backgroundColor:this.backgroundColor,top:this.y+'px',left:this.x+'px',width:this.width+'px',height:this.height+'px'});$('pageDiv').appendChild(highlighter);this.element=highlighter;}
else if(this.type=='class')
{$(this.targetObj).addClassName(this.className);if(this.backgroundColor)
{$(this.targetObj).setStyle({backgroundColor:this.backgroundColor});}
if(this.color)
{$(this.targetObj).setStyle({color:this.color});}}
if(this.options&&this.options.onclick)
{var el=this.element;if(this.targetObj)
{el=this.targetObj;}
el.onclick=this.options.onclick;$(el).setStyle({cursor:'pointer'});}
return this;},remove:function()
{if(this.type=='overlay')
{if($(this.element))
{if(this.options&&this.options.onclick)
this.element.onclick=null;removeElement(this.element);}}
else if(this.type=='class')
{if($(this.targetObj))
{$(this.targetObj).removeClassName(this.className);if(this.backgroundColor)
{$(this.targetObj).setStyle({backgroundColor:''});}
if(this.color)
{$(this.targetObj).setStyle({color:''});}
if(this.options&&this.options.onclick)
this.targetObj.onclick=null;$(this.targetObj).setStyle({cursor:''});}}}}
QualtricsCPTools.errorHandlers={timeoutRedirect:false,timeout:function(msg)
{if(QualtricsCPTools.errorHandlers.timeoutRedirect)
return;alert(msg);QualtricsCPTools.errorHandlers.timeoutRedirect=true;var s=window.location+'';window.location=s.substring(0,s.indexOf('?'));}};QualtricsCPTools.parseHeaderJSON=function(json,transport)
{if(json)
{if(json['error']&&json['error'].length)
{for(var i=0,error;error=json['error'][i];++i)
{if(QualtricsCPTools.errorHandlers[error['code']])
{QualtricsCPTools.errorHandlers[error['code']](error['message']);}}}
ShowMessage(json,transport);}}
QualtricsCPTools.velocimeter={currentVelocity:[0,0],lastPos:null,intervalObj:null,callbacks:null,nextCallbackIndex:'1',started:false,add:function(callback)
{if(!QualtricsCPTools.velocimeter.callbacks)QualtricsCPTools.velocimeter.callbacks={};var index=QualtricsCPTools.velocimeter.nextCallbackIndex;QualtricsCPTools.velocimeter.callbacks[index]=callback;QualtricsCPTools.velocimeter.nextCallbackIndex=String(Number(QualtricsCPTools.velocimeter.nextCallbackIndex)+1);if(!QualtricsCPTools.velocimeter.started)
{QualtricsCPTools.velocimeter.start();}
return index;},remove:function(callbackIndex)
{delete QualtricsCPTools.velocimeter.callback[callbackIndex];for(i in QualtricsCPTools.velocimeter.callbacks)
{return;}
QualtricsCPTools.velocimeter.stop();},start:function()
{QualtricsCPTools.velocimeter.currentVelocity=[0,0];QualtricsCPTools.velocimeter.lastPos=[window.mousePos[0],window.mousePos[1]];QualtricsCPTools.velocimeter.intervalObj=setInterval(QualtricsCPTools.velocimeter.measureVelocity,50);QualtricsCPTools.velocimeter.started=true;},stop:function()
{if(this.intervalObj)
{clearInterval(this.intervalObj);this.intervalObj=null;}
QualtricsCPTools.velocimeter.callbacks=null;QualtricsCPTools.velocimeter.started=false;},measureVelocity:function()
{QualtricsCPTools.velocimeter.currentVelocity=[window.mousePos[0]-QualtricsCPTools.velocimeter.lastPos[0],window.mousePos[1]-QualtricsCPTools.velocimeter.lastPos[1]];QualtricsCPTools.velocimeter.lastPos=[window.mousePos[0],window.mousePos[1]];QualtricsCPTools.velocimeter.executeCallBacks();},executeCallBacks:function()
{for(i in QualtricsCPTools.velocimeter.callbacks)
{QualtricsCPTools.velocimeter.callbacks[i](QualtricsCPTools.velocimeter.currentVelocity);}}}
QualtricsCPTools.arrayIntersect=function(a,b,opt_shouldSort)
{a=a.clone();b=b.clone();if(!!opt_shouldSort)
{a.sort();b.sort();}
var result=[];while(a.length>0&&b.length>0)
{if(a[0]<b[0])
a.shift();else if(a[0]>b[0])
b.shift();else
{result.push(a.shift());b.shift();}}
return result;}
window.Q_GlobalLogic={getDataFromLocator:function(locator)
{var data={};var aggregate=false;if(locator)
{var parts=locator.split('/');data.type=parts[3];if(locator.startsWith('qo://'))
{data.quotaId=parts[2];var queryIndex=locator.indexOf('?');if(queryIndex!=-1)
{var queryParam=locator.substr(queryIndex+1)
var queryParts=queryParam.split('=');if(queryParts[0]=='SV')
data.surveyId=queryParts[1];}}
else
{data.questionId=parts[2];if(data.questionId&&data.questionId.indexOf('#')!=-1)
{var questionParts=data.questionId.split('#');data.questionId=questionParts[0];data.aggregateId=questionParts[1];aggregate=true;}
if(parts[4]=='Group')
{data.choiceId=parts[5];data.answerIndex=parts[6];data.subType='Group';}
else if(parts[4]=='Rank')
{data.choiceId=parts[5];data.subType='Rank';}
else
{if(data.type=='DisplayableQuestion')
{return data;}
else if(data.type=='SelectableAnswer'||data.type=='SelectedAnswerCount'||data.type=='SelectedChoicesCount')
{data.answerId=parts[4];}
else if(data.type=='Region')
{data.regionId=parts[4];}
else
{data.choiceId=parts[4];}
if(parts.length>5)
{data.answerId=parts[5];}}
if(aggregate)
{if(data.type=='SelectableAnswer'||data.type=='SelectedAnswerCount'||data.type=='SelectedChoicesCount')
{data.answerSeriesIndex=parts[4];}
else
{data.choiceId=parts[4];data.answerSeriesIndex=parts[5];data.answerId=data.aggregateId;}
if(data.answerSeriesIndex!==undefined)
{data.answerSeriesIndex--;}}}}
return data;},getLocatorParts:function(locator)
{if(!locator)
return{};var ret={};var typeStart=locator.indexOf('://');if(typeStart==-1)
return{};ret.type=locator.substring(0,typeStart);var str=locator.substring(typeStart+3);var parts=str.split('?');ret.base=parts[0];var query=parts[1];var subparts=query.split('&');ret.query={};for(var i=0,ilen=subparts.length;i<ilen;i++)
{var kvp=subparts[i].split('=');var key=kvp[0];var val=kvp[1];ret.query[key]=val;}
return ret;},getLocatorFromDataObject:function(data)
{var location1=data['regionId']||data['choiceId']||data.location1;var opt_location2=data['answerId']||data['answerIndex']||data.location2;var id=data.questionId||data.quotaId||data.elementId;var type=data.type;var subType=data.subType;var opt_id2=data.aggregateId;switch(type)
{case'Quota':if(id&&location1)
{var locator="qo://"+id+"/";if(location1!='QuotaMet'&&location1!='QuotaNotMet')
{location1='QuotaCount';}
locator+=location1;if(opt_location2)
{locator+=('?SV='+opt_location2);}}
else
{locator=null;}
break;case'Status':var prefix='';var key='';switch(data.elementType)
{case'Survey':prefix='s';if(location1=='IsActive'||location1=='IsNotActive')
key='SurveyStatus';break;case'Poll':prefix='p';if(location1=='IsActive'||location1=='IsNotActive')
key='Active';break;}
locator=prefix+'://'+id+'/'+key;break;case'EmbeddedData':locator='e://Field/'+id;break;case'PanelMember':locator='m://'+id;break;case'SurveyDirectorActionCount':locator='sd://'+id+'/'+location1+'/Count';break;default:if(!opt_location2)
{opt_location2=undefined;}
if(!opt_id2)
{opt_id2=undefined;}
if(opt_id2)
{id+='#'+opt_id2;}
if(data.aggregateId!==undefined)
{if(data.answerSeriesIndex!=undefined)
{opt_location2=Number(data.answerSeriesIndex)+1;}
else
{opt_location2=null;}}
if(location1===undefined||location1===null)
{if(opt_location2!==undefined&&opt_location2!==null)
{location1=opt_location2;opt_location2=null;}}
locator='q://'+id+'/'+type;if(subType)
{locator+='/'+subType;}
if(location1)
{locator+='/'+location1;}
if(opt_location2!==undefined&&opt_location2!==null&&opt_location2!=="")
{locator+='/'+opt_location2;}
break;}
return locator;},getLocatorFromData:function(id,type,location1,opt_location2,opt_id2,opt_subType)
{var data={type:type}
switch(type)
{case'Quota':data.quotaId=id;data.location1=location1;data.location2=opt_location2;break;case'Status':data.elementId=id;data.elementType=opt_location2;data.location1=location1;break;case'SurveyDirectorActionCount':data.elementId=id;data.location1=location1;break;case'EmbeddedData':data.elementId=id;break;case'PanelMember':data.elementId=id;break;default:data.questionId=id;data.location1=location1;data.location2=opt_location2;data.subType=opt_subType;break;}
return Q_GlobalLogic.getLocatorFromDataObject(data);},getDefaultLocatorType:function(questionType,selector)
{var retVal='';switch(questionType)
{case'DB':case'FileUpload':retVal='DisplayableQuestion';break;case'TE':retVal='ChoiceTextEntryValue';break;case'CS':case'RO':case'Slider':case'Timing':retVal='ChoiceNumericEntryValue';break;case'Matrix':if(selector&&selector=='RO')
{retVal='ChoiceNumericEntryValue';}
else
{retVal='SelectableChoice';}
break;case'SBS':retVal='SelectableAnswer';break;default:retVal='SelectableChoice';break;}
return retVal;},getDefaultOperator:function(locatorType)
{var retVal='';switch(locatorType)
{case'DisplayableQuestion':retVal='Displayed';break;case'SelectableAnswer':case'SelectableChoice':case'DisplayableChoice':retVal='Selected';break;case'ChoiceNumericEntryValue':case'ChoiceTextEntryValue':case'AnswerNumericEntryValue':case'AnswerTextEntryValue':case'SelectedAnswerCount':case'SelectedChoicesCount':retVal='NotEmpty';break;case'EmbeddedField':retVal='EqualTo';break;case'UploadedFile':retVal='Uploaded';break;case'UploadedFileSize':retVal='GreaterThan';break;case'UploadedFileType':retVal='Document';break;}
return retVal;},needsValueBox:function(condition)
{switch(condition)
{case'Displayed':case'NotDisplayed':case'Selected':case'NotSelected':case'Empty':case'NotEmpty':case'QuotaMet':case'QuotaNotMet':case'ClickedIn':case'NotClickedIn':case'Uploaded':case'NotUploaded':case'Document':case'Spreadsheet':case'Graphic':case'PDF':return false;break;default:return true;break;}},getQuestionIdFromLocator:function(locator)
{var data=Q_GlobalLogic.getDataFromLocator(locator)
var questionId=data.questionId;if(data.aggregateId)
{questionId+='#'+data.aggregateId;}
return questionId;},getQuestionLeftOperand:function(questionId,choiceLocator,operator,opt_location1,opt_location2)
{var locatorData=Q_GlobalLogic.getDataFromLocator(choiceLocator);if(operator=='Displayed'||operator=='NotDisplayed')
{if(locatorData.type=='SelectableAnswer')
{locatorData['type']='AnswerDisplayed';}
else
{locatorData['type']='ChoiceDisplayed';}}
locatorData.location1=opt_location1;locatorData.location2=opt_location2;return Q_GlobalLogic.getLocatorFromDataObject(locatorData);},getTypeFromLocator:function(locator)
{return this.getDataFromLocator(locator).type;}}
Ajax.Responders.register({onComplete:function(responseObj){if(responseObj)
{try
{var json;if(Ajax.Response)
responseObj=new Ajax.Response(responseObj);if(responseObj.evalJSON)
{json=responseObj.evalJSON();}
else
{json=responseObj.headerJSON;}
QualtricsCPTools.parseHeaderJSON(json,responseObj.transport);}
catch(e)
{console.error(e)}}}});Ajax.Responders.register({onCreate:function(request)
{try
{var t='';if($('T')&&$('T').getAttribute('value'))
t=$('T').getAttribute('value');request.url+=(request.url.include('?')?'&':'?')+"T="+t;}
catch(e)
{console.error(e);}},onComplete:function(requester,trans,xjson)
{if(trans.transport.responseText)
{if(trans.transport.responseText.indexOf('PHP Fatal error:')!=-1)
{console.error("Ajax Fatal Error: "+trans.responseText);}}}});var EditorPopup=Class.create({initialize:function(options)
{this.options=options||{};this.id=QualtricsCPTools.createNewId('EP');EditorPopup.reg[this.id]=this;this.width=650;this.height=300;if(options.width)
this.width=options.width;if(options.height)
this.height=options.height;if(options.contents)
{this.contents=options.contents;}
else
{this.contents='';}
this.clearButton={icon:'popup',align:'left',text:getMessage('SiteWide','Clear'),click:'EditorPopup.clear',instanceid:this.id,className:'negative'};this.restoreButton={icon:'next',align:'left',text:getMessage('SiteWide','RestoreSize'),click:"EditorPopup.resizePopupToDefault()",instanceid:this.id};this.fullScreenButton={icon:'previous',align:'left',text:getMessage('SiteWide','FullScreen'),click:"EditorPopup.resizePopupToFullScreen()",instanceid:this.id};var buttonsArray=[{icon:'cancel',text:getMessage('SiteWide','Cancel'),click:'EditorPopup.cancel',instanceid:this.id,className:'negative'},{icon:'check',text:getMessage('SiteWide','Save'),click:'EditorPopup.save',instanceid:this.id,className:'positive'}];if(options.fullScreenButton)
buttonsArray.push(this.fullScreenButton);if(options.clearButton)
buttonsArray.push(this.clearButton);if(options.buttons&&options.buttons instanceof Array)
{buttonsArray=buttonsArray.concat(options.buttons);}
this.contentContainer=QBuilder('div',{});this.popup=new Q_Window({id:this.options.id?this.options.id:'EditorPopup',title:options.title,width:'auto',height:'auto',buttons:buttonsArray});this.popup.setContent(this.contentContainer);if(typeof(options.contents)!='undefined')
{if(Object.isString(options.contents))
{this.setEditorContent();}
else
{if(options.contents.ajaxAction)
{this.setupAjaxContents();}}}},setHeaderContent:function(header)
{this.popup.updateHeader(header);},setEditorContent:function()
{this.ta=QBuilder('textarea',{id:this.id},[this.contents]);$(this.ta).setStyle({width:this.width+'px',height:this.height-90+'px'});this.contentContainer.appendChild(this.ta);var that=this;var options={on:{instanceReady:function(e){that.popup.center();e.editor.focus();}}};if(this.options.toolbar)
options.toolbar=this.options.toolbar;if(this.width)
options.width=this.options.width;if(this.height)
options.height=this.options.height;(function(){that.editor=CKEDITOR.replace(that.ta,options)}).defer();},setupAjaxContents:function()
{var waiter=QAjaxWaiter.showMediumRing();this.contentContainer.appendChild(waiter);$(waiter).setStyle({width:this.width+'px',height:this.height+'px'});this.popup.center();if(this.options.contents.ajaxAction)
{var that=this;new Ajax.Request('Ajax.php?action='+this.options.contents.ajaxAction,{parameters:this.options.contents.ajaxParams,onSuccess:function(transport)
{that.contents=transport.responseText;that.contentContainer.innerHTML='';that.setEditorContent();}});}},save:function()
{console.log(this.editor.getData())
if(this.options.saveCallBack(this.editor.getData())!==false)
{this.closeWindow();}},cancel:function()
{this.closeWindow();},clear:function()
{$(this.ta).value="";},closeWindow:function()
{Q_Window.closeWindow(this.popup.options.id);},resizePopupToFullScreen:function(toResize)
{var win=Q_Window.getInstance('EditorPopup');var left_buttons=$(win.footerNode).down('.LeftButtons');left_buttons.innerHTML="";left_buttons.appendChild(win.buildButton(this.restoreButton));left_buttons.appendChild(win.buildButton(this.clearButton));var viewport=getPageSize();var width=viewport.windowWidth-win.getResizeOffset('x')-20;var height=viewport.windowHeight-win.getResizeOffset('y')-20;toResize=toResize||this.ta;$(toResize).setStyle({width:width+"px",height:height+"px"});win.setSize(width,height);win.center();},resizePopupToDefault:function(toResize)
{var win=Q_Window.getInstance('EditorPopup');var left_buttons=$(win.footerNode).down('.LeftButtons');left_buttons.innerHTML="";left_buttons.appendChild(win.buildButton(this.fullScreenButton));left_buttons.appendChild(win.buildButton(this.clearButton));toResize=toResize||this.ta;$(toResize).setStyle({width:this.width+"px",height:this.height+"px"});win.setSize(this.width,this.height);win.center();}});EditorPopup.reg={};EditorPopup.getInstance=QualtricsCPTools.getInstanceHelper(EditorPopup.reg);var CodeMirrorEditorPopup=Class.create(EditorPopup,{setEditorContent:function(opt_replacementContents)
{var container=QBuilder('div',{className:'cssEditorContainer'});if(opt_replacementContents)
{this.contents=opt_replacementContents;}
this.ta=QBuilder('textarea',{id:this.id},this.contents);container.appendChild(this.ta);this.popup.setContent(container);QModules.loadModule('/WRQualtricsShared/JavaScript/CodeMirror/js/codemirror.js');this.loadEditor.curry(this).delay();},loadEditor:function(that)
{that.editor=new CodeMirror(window.CodeMirror.replace($(that.ta)),{parserfile:that.options.parserfile,stylesheet:that.options.stylesheet,path:"../WRQualtricsShared/JavaScript/CodeMirror/js/",autoMatchParens:true,content:that.contents,textWrapping:false,height:that.height+'px',width:that.width+'px'});that.popup.center();},save:function()
{if(this.options.saveCallBack(this.editor.getCode())!==false)
{this.closeWindow();}},clear:function(optionalCode)
{this.editor.setCode(optionalCode||"");},resizePopupToFullScreen:function($super)
{$super(this.editor.frame);},resizePopupToDefault:function($super)
{$super(this.editor.frame);}});var CSSEditorPopup=Class.create(CodeMirrorEditorPopup,{initialize:function($super,options)
{options.parserfile=["parsecss.js"];options.stylesheet="../WRQualtricsShared/JavaScript/CodeMirror/css/csscolors.css";$super(options);}});var JavascriptEditorPopup=Class.create(CodeMirrorEditorPopup,{initialize:function($super,options)
{options.parserfile=["tokenizejavascript.js","parsejavascript.js"];options.stylesheet="../WRQualtricsShared/JavaScript/CodeMirror/css/jscolors.css";$super(options);},clear:function($super,optionalCode)
{$super(optionalCode||JavascriptEditorPopup.defaultJS);},save:function()
{var code=this.editor.getCode();if(code==JavascriptEditorPopup.defaultJS)
code="";if(this.options.saveCallBack(code)!==false)
{this.closeWindow();}}});JavascriptEditorPopup.defaultJS='Qualtrics.SurveyEngine.addOnload(function()\n{\n/*Place Your Javascript Below This Line*/\n\n});';var AjaxQueue={queue:[],type:'QUEUE',state:0,stateExecuting:1,stateStopped:0,setType:function(type)
{this.type=type;},push:function(job)
{this.queue.push(job);if(this.state==this.stateStopped)
{this.execute();}},clear:function()
{this.queue.length=0;this.state=this.stateStopped;},execute:function()
{if(this.queue.length>0)
{this.state=this.stateExecuting;var job;if(this.type=='QUEUE')
{job=this.queue[0];this.queue.splice(0,1);}
else if(this.type=='STACK')
{job=this.queue.pop();}
var that=this;var url;if(!job.url)
url='Ajax.php?action='+job.action;else
url=job.url;var ajaxType='Request';if(job.cached)
{ajaxType='CachedRequest';}
new Ajax[ajaxType](url,{parameters:job.parameters,onSuccess:function(transport)
{try
{job.onSuccess(transport);}
catch(e)
{console.warn('Queued Job Callback could not be run: '+e);}},onComplete:function()
{that.execute();}});}
else
{this.state=this.stateStopped;}}};var JobQueue={queue:[],type:'QUEUE',waitForFinish:false,setType:function(type)
{this.type=type;},push:function(job)
{this.queue.push(job);},pop:function()
{if(this.queue.length>0)
{var job=this.queue.pop();var that=this;job.call();}},setCurrentJobStatus:function(status)
{if(this.currentJob)
this.currentJob.callStatus=status;},execute:function()
{if(this.queue.length>0)
{var job;if(this.type=='QUEUE')
{job=this.queue[0];this.queue.splice(0,1);}
else if(this.type=='STACK')
{job=this.queue.pop();}
this.currentJob=job;job.call();if(this.waitForFinish)
{var that=this;that.executor=new PeriodicalExecuter(function(pe)
{if(job.callStatus=='finished')
{pe.stop();that.execute();}},.5);}
else
{this.execute();}}},getJobCount:function()
{return this.queue.length;},clear:function()
{this.queue.length=0;}}
var QAjaxWaiter={showBar:function(node,options)
{options=options||{};options.className='candyBarLoadingImage';return this.show(node,options);},showSmallRing:function(node,options)
{options=options||{};options.className='smallRingLoadingImage';return this.show(node,options);},showSmallBar:function(node,options)
{options=options||{};options.className='smallBarLoadingImage';return this.show(node,options);},showMediumRing:function(node,options)
{options=options||{};options.className='mediumRingLoadingImage';return this.show(node,options);},show:function(node,options)
{var className='candyBarLoadingImage';if(options.className!=undefined)
className=options.className;if(node==undefined)
{return QBuilder('div',{className:className});}
options=options||{};var replace;if(options.repNode==undefined)
replace=true;else
replace=options.repNode;var type;if(options.type==undefined)
type='div';else
type=options.type;if($(node))
{var dimensions=$(node).getDimensions();if(replace)
{deleteChildren($(node));}
if(type=='div')
{$(node).appendChild(QBuilder('div',{className:className}));}
else if(type=='tbody')
{var colSpan;if(options.colSpan==undefined)
colSpan=1;else
colSpan=options.colSpan;var nst=false;if(options.nst!=undefined)
nst=options.nst;var td=QBuilder('td',{colSpan:colSpan},[QBuilder('div',{className:className})]);$(td).setStyle({height:dimensions.height+'px'});var loadingimage=QBuilder('tr',{},[(nst)?QBuilder('td',{className:"Col_Selected"}):'',td]);$(node).appendChild(loadingimage);}}
return $(node);}}
Qualtrics.savePageOnUnload=function()
{if(typeof Qualtrics!==undefined&&Qualtrics.savePage)
{Qualtrics.savePage(false);}}
Event.observe(window,'unload',Qualtrics.savePageOnUnload);QualtricsCPTools.setTimeoutTimer();Qualtrics.disableInput=function(el)
{if($(el))
{var parentNode=$(el).up();var cover=QBuilder('div',{className:'disablingCover'});$(cover).setStyle({backgroundColor:'#ffffff',opacity:.6,position:'absolute'});cover.clonePosition($(el));$('body').appendChild(cover);}}
Qualtrics.QButtonBuilder={build:function(options)
{if(!options.id)
options.id=QualtricsCPTools.createNewId('BTN');var buttonClass='';if(options.buttonClass)
buttonClass=options.buttonClass;var className='qbutton '+buttonClass;var iconClass='';if(options.iconType)
{iconClass='icon '+options.iconType;}
var clickcallback=options.clickcallback;return QBuilder('a',{id:options.id,className:className,href:'javascript:void(0);',clickcallback:clickcallback},[QBuilder('span',{className:iconClass}),options.buttonText]);}};Qualtrics.DateTools={months:["January","February","March","April","May","June","July","August","September","October","November","December"],mysqlTimeStampToDate:function(timestamp)
{var regex=/^([0-9]{2,4})-([0-1][0-9])-([0-3][0-9]) (?:([0-2][0-9]):([0-5][0-9]):([0-5][0-9]))?$/;var p=timestamp.replace(regex,"$1 $2 $3 $4 $5 $6").split(' ');return new Date(p[0],p[1]-1,p[2],p[3],p[4],p[5]);},dateToMysqlTimeStamp:function(date)
{var year=date.getFullYear();var month=date.getMonth()+1;if(month<10)
month='0'+month;var day=date.getDate();if(day<10)
day='0'+day;var hour=date.getHours();if(hour<10)
hour='0'+hour;var min=date.getMinutes();if(min<10)
min='0'+min;var sec=date.getSeconds();if(sec<10)
sec='0'+sec;return year+'-'+month+'-'+day+' '+hour+':'+min+':'+sec;},roundDay:function(d,up)
{if(!d)
d=new Date();return new Date(d.getFullYear(),d.getMonth(),d.getDate(),up?23:0,up?59:0,up?59:0);},getFormattedDate:function(date)
{if(!date)
var d=new Date();else
var d=new Date(date);return this.months[d.getMonth()]+' '+d.getDate()+', '+d.getFullYear();},getDurationText:function(start,end)
{var duration=end-start;return Qualtrics.DateTools.getFormattedTime(duration/1000);},getFormattedTime:function(time)
{var sec=time;var min=0;var str='';var hasDay=false;if(time>=60)
{min=Math.floor(time/60);sec=time%60;if(min>=60)
{var hour=Math.floor(min/60);min=min%60;if(hour>=24)
{hasDay=true;var day=Math.floor(hour/24);hour=hour%24;str+=(day+'d ');}
str+=(hour+'h ');}}
str+=(min+'m ');if(!hasDay)
str+=(sec+'s ');return str;}};Qualtrics.RichTextEditor=Class.create({readyQueue:[],initialize:function(options)
{this.options=options||{};if(this.options.value)
this.val=this.options.value;this.id=QualtricsCPTools.createNewId('RTE');Qualtrics.RichTextEditor.reg[this.id]=this;this.ready=false;this.heightOffset=-83;},buildContainer:function()
{this.container=QBuilder('div',{className:'QualtricsRTE'});},buildEditor:function()
{var that=this;var options={on:{instanceReady:function(e){try
{that.ready=true;e.editor.focus();that.editorReady();if(that.options.onReady)
that.options.onReady();}
catch(err)
{console.error(err)}}}};var style={};if(this.options.width)
{options.width=this.options.width;style.width=this.options.width+'px';}
if(this.options.height)
{options.height=this.options.height+this.heightOffset;style.height=this.options.height+'px';}
if(this.options.toolbar)
options.toolbar=this.options.toolbar;$(this.container).setStyle(style);(function(){that.editor=CKEDITOR.appendTo(that.container,options);}).defer();this.setText(this.options.value);},build:function()
{this.buildContainer();this.buildEditor();return this.container;},editorReady:function()
{while(this.readyQueue.length)
{this.readyQueue[0]();this.readyQueue.splice(0,1);}},replace:function(id,options)
{this.editor=CKEDITOR.replace(id,options);},setText:function(val)
{this.val=val;var that=this;var f=function(){if(that.editor)that.editor.setData(val);}
this.execute(f);},resetDirty:function()
{var that=this;var f=function(){if(that.editor)that.editor.resetDirty();}
this.execute(f);},execute:function(f)
{if(this.ready)f();else this.readyQueue.push(f);},getText:function()
{if(this.editor)
return this.editor.getData();else if(this.val)
return this.val;},destroy:function()
{var that=this;var f=function(){if(that.editor)that.editor.destroy();that.editor=null;}
this.execute(f);}});Qualtrics.RichTextEditor.reg={};Qualtrics.RichTextEditor.getInstance=QualtricsCPTools.getInstanceHelper(Qualtrics.RichTextEditor.reg);function disableSelects()
{var elements=$$(".menuButton");var elements2=$$(".menuButton b b b");elements.each(function(el){el.setAttribute('onclick',"return false;");el.addClassName('Disabled');});elements2.each(function(el){el.setAttribute('downcallback','');});elements=$$('input');elements.each(function(el)
{el.disabled=true;});elements=$$('select');elements.each(function(el)
{el.disabled=true;});}
Object.extend(Qualtrics,{removeLabelHint:function(e)
{var textBox=this;textBox.removeClassName('Initial');if(textBox.value==getMessage('SiteWide','EnterLabelHint'))
{textBox.value='';}
Event.stopObserving(textBox,'click');Event.stopObserving(textBox,'keydown');},renumberFirstChildOnSort:function(li)
{if(li)
{var ul=li.parentNode;var childs=$(ul).childElements();for(var i=0,len=childs.length;i<len;++i)
{$(childs[i]).down().innerHTML=(i+1);}}}});Qualtrics.EditableSpan=Class.create(Editable,{objType:'EditableSpan',keyMap:{enter:'onEnter'},maxlength:255,initialize:function(id,parent,callback)
{this.parentObj=parent;this.callback=callback;this.id=id;Qualtrics.EditableSpan.reg[this.id]=this;},onEnter:function()
{inlineEditor.getInstance().removeInlineEditor();},afterEdit:function()
{this.text=stripNewLines(this.text);var name=this.text;if(name)
{this.callback(this.id,name);}},onEmpty:function()
{this.text=this.originalText;$(this.id).innerHTML=this.text;}});Qualtrics.EditableSpan.reg={};Qualtrics.EditableSpan.getInstance=QualtricsCPTools.getInstanceHelper(Qualtrics.EditableSpan.reg,'id');Qualtrics.History=Class.create({undoStack:null,redoStack:null,initialize:function()
{Qualtrics.History._instance=this;this.undoStack=[];this.redoStack=[];},addAction:function(description,undoActionDef,redoActionDef)
{if(Qualtrics.History.suppressAddAction)
{return;}
if(!redoActionDef)
{console.error('Created undo without a redo, bad programmer');}
if(undoActionDef.parameters)
{this.autoPackageParameters(undoActionDef.parameters);}
if(redoActionDef.parameters)
{this.autoPackageParameters(redoActionDef.parameters);}
this.undoStack.push({description:description,undo:undoActionDef,redo:redoActionDef});},autoPackageParameters:function(params)
{for(var i=0,len=params.length;i<len;++i)
{if(params[i]&&typeof params[i]=='object'&&!params[i].qPacked)
{params[i]=Qualtrics.History.Actions.buildParameter(params[i]);}}},undo:function()
{var action=this.undoStack.pop();if(action)
{this.executeAction(action.undo);this.redoStack.push(action);}},redo:function()
{var action=this.redoStack.pop();if(action)
{this.executeAction(action.redo);this.undoStack.push(action)}},executeAction:function(actionDef)
{Qualtrics.History.suppressAddAction=true;Qualtrics.History.Actions.execute(actionDef);Qualtrics.History.suppressAddAction=false;}});Qualtrics.History.getInstance=function()
{if(!Qualtrics.History._instance)
{return new Qualtrics.History();}
return Qualtrics.History._instance;}
Qualtrics.History.Actions={buildParameter:function(var_args)
{var a=arguments[0];if(typeof a=='object')
{if(Object.isArray(a))
{return Qualtrics.History.Actions.buildParameter_ObjectArray(a);}
else
{return Qualtrics.History.Actions.buildParameter_Object(a);}}
else if(typeof a=='number')
{return Qualtrics.History.Actions.buildParameter_Number(a);}
else if(typeof a=='string')
{return Qualtrics.History.Actions.buildParameter_String(a);}
else if(typeof a=='boolean')
{return Qualtrics.History.Actions.buildParameter_Boolean(a);}
if(a===undefined)
{return undefined;}
if(a===null)
{return null;}
console.warn('Could not build parameter for arguments',arguments,typeof a);return null;},buildParameter_ObjectArray:function(a)
{var param={};param.type='Array'
param.items=[];param.qPacked=true;for(var i=0,len=a.length;i<len;++i)
{param.items[i]=Qualtrics.History.Actions.buildParameter(a[i]);}
return param;},buildParameter_Object:function(a)
{if(a===null)
{return null;}
if(a.actionPath)
{var param={};param.type='Object'
param.qPacked=true;param.actionPath=a.actionPath;if(a.getInstanceId&&a.getInstanceId())
{param.instanceId=a.getInstanceId();}
return param;}
else
{var param={};param.type='Object';param.qPacked=true;param.items={};for(var key in a)
{if(typeof a[key]!=='function')
param.items[key]=Qualtrics.History.Actions.buildParameter(a[key]);}
return param;}
return null;},buildParameter_Number:function(a)
{return a;},buildParameter_String:function(a)
{return a;},buildParameter_Boolean:function(a)
{return a;},recreateParametersFromDef:function(parametersDef)
{var params=[];for(var i=0,len=parametersDef.length;i<len;++i)
{params.push(Qualtrics.History.Actions.recreateParameterFromDef(parametersDef[i]));}
return params;},recreateParameterFromDef:function(paramDef)
{if(paramDef==null)
{return null;}
if(paramDef==undefined)
{return undefined;}
if(typeof paramDef=='object')
{if(paramDef.type)
{if(paramDef.type=='Array')
{var param=[];for(var i=0,len=paramDef.items.length;i<len;++i)
{param.push(Qualtrics.History.Actions.recreateParameterFromDef(paramDef.items[i]))}
return param;}
else if(paramDef.type=='Object')
{if(paramDef.actionPath)
{var pkg=Qualtrics.Event.getDotSyntaxParts(paramDef.actionPath);if(pkg&&pkg.root&&pkg.callBack)
{var obj=pkg.root[pkg.callBack];if(obj.getInstance)
{var instance=obj.getInstance(paramDef.instanceId);if(instance)
{return instance;}}
return obj;}}
else if(paramDef.items)
{var param={};for(var key in paramDef.items)
{param[key]=Qualtrics.History.Actions.recreateParameterFromDef(paramDef.items[key]);}
return param;}}}}
if(typeof paramDef=='number'||typeof paramDef=='string'||typeof paramDef=='boolean')
{return paramDef;}
console.warn('could not recreate parameterDef',paramDef);return null;},execute:function(actionDef)
{if(actionDef.action)
{var action=actionDef.action;var instanceId=actionDef.instanceId;var root=null;var parameters=null;var paramMap=null;var defaultParams=null;if(actionDef.parameters)
{parameters=Qualtrics.History.Actions.recreateParametersFromDef(actionDef.parameters);}
Qualtrics.Event.executeDotSyntax(actionDef.action,instanceId,root,parameters,paramMap,defaultParams);}}}
// (C) 2007-2012 Qualtrics, Inc.

var messageFadeTimer=null;var MessageFade=null;var PermaMessage=false;function PermaMessageBox()
{HoldMessageBox();if(PermaMessage)
{$('MessageBox').setStyle({opacity:0.9});}
PermaMessage=!PermaMessage;}
function HoldMessageBox()
{clearTimeout(messageFadeTimer);if(MessageFade)
MessageFade.cancel();$('MessageBox').setStyle({opacity:1});}
function ReleaseMessageBox(time)
{if(typeof time!='number')
{time=false;}
if(!time)
{time=1000;}
if(!PermaMessage)
{$('MessageBox').setStyle({backgroundColor:''});$('MessageBox').setStyle({opacity:0.90});messageFadeTimer=setTimeout("HideMessage();",time);}}
function msgDebug(str){var json={"debug":[str]};ShowMessage(json);}
function msg(str,id,limit)
{ShowMessageStr(str,id,limit);}
function ShowMessageStr(str,id,limit){var json={"message":[{msg:str}]};if(id)
{json={"message":[{id:id,msg:str}]};}
ShowMessage(json,null,limit);}
function ShowMessage(json,obj,limit){if(limit===undefined)
{limit=2;}
if(json)
{var msgDom=$('MessageBox');if(!msgDom)return;var msg=json.message;var debug=json.debug;if(json.message){for(var i=0,len=msg.length;i<len;++i){var inside=QBuilder('div',{className:'message'},msg[i]['msg']);var id=msg[i]['id'];if(id){if($('msgId_'+id))
{removeElement($('msgId_'+id));}
$(inside).id='msgId_'+id;}
if(msgDom.childNodes.length>limit){removeElement(msgDom.firstChild);}
msgDom.appendChild(inside);inside=null;}}
if(!QualtricsCPTools.hideDebugs)
{if(json.debug)
{for(var i=0,len=debug.length;i<len;++i)
{var inside=constructDebugData(debug[i],true);msgDom.appendChild(inside);inside=null;}}
if(json.debugHtml){var debugHtml=json.debugHtml;for(var i=0,len=debugHtml.length;i<len;++i)
{var inside=constructDebugData(debugHtml[i],true);msgDom.appendChild(inside);inside=null;}
debugHtml=null;}
if(json.longDebug)
{var longDebug=json.longDebug;var button=QBuilder('button',{},'Show Debug');button.onclick=ShowLongMessages;msgDom.appendChild(button);}}
if(MessageFade){MessageFade.cancel();}
clearTimeout(messageFadeTimer);msgDom.show();ReleaseMessageBox(500);msg=null;debug=null;}}
function ShowLongMessages(event)
{if(!event)event=window.event;Event.stop(event);new Ajax.Request(AjaxMessaging.longDebugURL,{parameters:{},onSuccess:function(transport)
{var json=transport.responseText.evalJSON();var newWindow=window.open('','AJAX Debug','height=800,width=800,scrollbars=yes,resizable=yes,titlebar=yes');var doc=newWindow.document;if(json['debugHtml'])
{var html=json['debugHtml'];for(var i=0,ilen=html.length;i<ilen;i++)
{doc.write(html[i]['label']);doc.write(html[i]['msg']);}}
if(json['debug'])
{var dbg=json['debug'];doc.write('<pre>');for(var i=0,ilen=dbg.length;i<ilen;i++)
{var out;if(dbg[i]['label']){out=dbg[i]['label']+" : ";out+=dbg[i]['msg'];}
else
{out=dbg[i];}
out+='\n';doc.write(out);}
doc.write('</pre>');}
if(json['message'])
{doc.write('MESSAGE<br/>');doc.write('not supported yet')}
doc.close();}});}
function constructDebugData(msg,showHtml)
{try
{if(msg['label'])
{var inside=QBuilder('div',{className:"debug"});inside.onmouseover=function(){AddOver(this);};inside.onmouseout=function(){RemoveOver(this);};var label=QBuilder('p',msg['label']);if(showHtml)
{var content=QBuilder('pre',{ignoreMsgClick:'0'});content.innerHTML=msg['msg'];}
else
{var content=QBuilder('pre',{ignoreMsgClick:'0'},msg['msg']);}
label.innerHTML=label.innerHTML+" &crarr;";var hideFlag=QBuilder('div',{className:"HiddenDebug"},[label,content]);inside.appendChild(hideFlag);hideFlag=null;label=null;content=null;return inside;}}
catch(e)
{}
var inside=QBuilder('div',{className:"debug"},[QBuilder('pre',msg)]);return inside;}
function HideMessage(instant)
{if(MessageFade){MessageFade.cancel();MessageFade=null;}
if(instant){clearTimeout(messageFadeTimer);$('MessageBox').setStyle({display:'none'});deleteChildren($('MessageBox'));}
if(typeof Effect!='undefined')
{MessageFade=new Effect.Fade($('MessageBox'),{duration:2,from:0.9,to:0,afterFinish:function(){$('MessageBox').setStyle({display:'block'});$('MessageBox').setStyle({opacity:1});deleteChildren($('MessageBox'));MessageFade=null;}});}}
AjaxMessaging={longDebugURL:'Ajax.php?action=GetLongDebug'};
// (C) 2007-2012 Qualtrics, Inc.

window.Q_Window=Class.create();Q_Window._chopOffset=null;Q_Window.getChopOffset=function()
{if(parent)
{try
{return parent.Q_Window._chopOffset;}
catch(e)
{}}
return Q_Window._chopOffset;}
Q_Window.preparePos=function(pos)
{var offset=Q_Window.getChopOffset();if(offset&&pos&&pos.length==2)
{if(offset[0])pos[0]=pos[0]-offset[0];if(offset[1])pos[1]=pos[1]-offset[1];}
return pos;}
Q_Window.registry={};Q_Window.openedOrder=[];Q_Window.getWindowCount=function()
{var reg=Q_Window.getRegistry();var count=0;for(var id in reg)
{count++;}
return count;}
Q_Window.getInstance=function(id)
{var reg=Q_Window.getRegistry();if(id)
{if(reg[id])
return reg[id];var namedWindow=Q_Window.getInstanceByWindowName(id);if(namedWindow)return namedWindow;}
else
{for(var i=Q_Window.openedOrder.length-1;i>=0;--i)
{if(reg[Q_Window.openedOrder[i]])
{return reg[Q_Window.openedOrder[i]];}}
for(id in reg)
return reg[id];}
return null;}
Q_Window.getInstanceByWindowName=function(windowName)
{var reg=Q_Window.getRegistry();var foundInstances=[];for(id in reg)
{if(reg[id].windowName==windowName)
{foundInstances.push(reg[id]);}}
if(foundInstances.length==1)
{return foundInstances[0];}
else if(foundInstances.length>1)
{var highestZIndex=-1;var highestZIndexInstance=null;for(var i=0;i<foundInstances.length;i++)
{if(foundInstances[i].zIndex>highestZIndex)
{highestZIndex=foundInstances[i].zIndex;highestZIndexInstance=foundInstances[i];}}
return highestZIndexInstance;}
return false;}
Q_Window.getRegistry=function(id)
{var reg=Q_Window.registry;reg=Q_Window.registry;return reg;}
Q_Window.getRoot=function()
{var root=window;var last=window;try
{var limit=0;while(root.parent&&limit<10)
{root.name;if(root.parent==root)
break;last=root;root=root.parent;limit++;}}
catch(e)
{return last;}
return root;}
Q_Window.setRegistry=function(windowObj)
{Q_Window.registry[windowObj.id]=windowObj;Q_Window.openedOrder.push(windowObj.id);}
Q_Window.removeFromRegistry=function(id)
{delete Q_Window.registry[id];}
Q_Window.isRegistryEmpty=function()
{for(el in Q_Window.registry)
{return false;}
return true;}
Q_Window.getWindow=function(windowName)
{return Q_Window.getInstance(windowName);}
Q_Window.closeWindow=function(windowName)
{var inst=Q_Window.getInstance(windowName);if(inst)
inst.destroy();}
Q_Window.closeAllWindows=function(windowName)
{if(windowName)
{var inst=Q_Window.getInstanceByWindowName(windowName);while(inst)
{inst.destroy();inst=Q_Window.getInstanceByWindowName(windowName);}}
else
{while(Q_Window.getInstance())
Q_Window.getInstance().destroy();}}
Q_Window.addObserver=function(windowName)
{}
Q_Window.resizeWatcher=null;Q_Window.centerTimer=null;Q_Window.centerWindows=function()
{if(Q_Window.centerTimer)
{clearTimeout(Q_Window.centerTimer);Q_Window.centerTimer=null;}
Q_Window.centerTimer=setTimeout(function(){var reg=Q_Window.getRegistry();for(id in reg)
{if(reg[id].keepCentering)
{reg[id].center();}}},50);}
Q_Window.setChopOffset=function(v)
{Q_Window._chopOffset=v;}
Q_Window.currentZIndex=10001;Q_Window.getNextZIndex=function()
{Q_Window.currentZIndex+=100;return Q_Window.currentZIndex;}
Q_Window.setCurrentZIndex=function(z)
{Q_Window.currentZIndex=z;}
Q_Window.getCurrentZIndex=function()
{return Q_Window.currentZIndex;}
Q_Window.getInstanceOrCreate=function(windowName,options)
{var win=Q_Window.getInstanceByWindowName(windowName);if(win&&options&&options.buttons!==undefined)
{if(win.footerNode)
{deleteChildren(win.footerNode);if(options.buttons)
{win.footerNode.appendChild(win.buildButtons(options.buttons));}}}
if(!win)
{win=new Q_Window(windowName,options);}
return win;}
Q_Window.prototype={width:'600px',height:'auto',element:null,headerDom:null,innerElement:null,className:'',url:null,windowName:null,id:null,keepCentering:false,buttons:null,title:null,pctHeight:null,pctWidth:null,closeButton:false,fitContents:false,padding:null,zIndex:10000,autoWidth:false,autoHeight:true,buttonReg:{},initialize:function(windowName,options,var_args)
{this.initTime=new Date();this.id=QualtricsTools.createNewId('QW');if(arguments.length==1&&typeof windowName=='object')
{options=windowName;options.id=options.id||this.id;this.windowName=options.id;if(options.id)
{this.className=options.id;}}
else
{this.windowName=windowName;this.className=windowName;}
options=options||{};this.options=options;for(option in options)
{if(option!='id')
this[option]=options[option];}
Q_Window.setRegistry(this);var startZIndex=Q_Window.getCurrentZIndex();this.setSize(this.width,this.height,false);if(options&&options.zIndex)
{this.zIndex=options.zIndex;}
else
{this.zIndex=Q_Window.getNextZIndex();}
this.zDiff=this.zIndex-startZIndex;Q_Window.setCurrentZIndex(this.zIndex);if(!options.buttons&&options.closeButton===undefined)
{options.closeButton=true;}
this.render();this.disableScroll();this.focusInput();if(options.content)
{this.setContent(options.content);}},focusInput:function(opt_node)
{var inputs=(opt_node||this.innerElement).getElementsByTagName('INPUT');if(inputs)
{for(var i=0,len=inputs.length;i<len;++i)
{var type=inputs[i].getAttribute('type');if((type=='text')&&(!inputs[i].disabled))
{Form.Element.focus(inputs[i]);break;}}}},getFocusInputFunction:function(iframe)
{var that=this;return function()
{if(that.hasBeenFocused)
{return function(){};}
that.hasBeenFocused=true;try
{that.focusInput(iframe.contentDocument||iframe.contentWindow.document);}
catch(e)
{}};},build:function()
{this.innerElement=QBuilder('div',{id:this.id,className:'Q_Window PopUp'});if(this.options.id)
{this.innerElement.id=this.options.id;}
if(this.stylesheet)
{QModules.loadStylesheet(this.stylesheet);}
this.element=QBuilder('div',{className:'Q_WindowBorder '+this.className});if(this.title)
{this.headerDom=QBuilder('div',{className:'Q_WindowHeader'},[this.buildTitle(this.title,{closeButton:this.closeButton})]);this.element.appendChild(this.headerDom);}
else if(this.headerDom)
{this.element.appendChild(this.headerDom);}
this.element.appendChild(this.innerElement);if(this.options&&this.options.closeButton&&!this.title)
{this.element.appendChild(QBuilder('div',{clickcallback:'Q_Window.destroy',instanceid:this.id,className:'Q_WindowClose'}));}
if(this.url)
{var scrolling='no';if(this.options.iframescrolling)
{scrolling='auto';}
var iframe=QBuilder('iframe',{className:'Q_WindowFrame',frameBorder:'0',scrolling:scrolling,src:this.url});var waiter=QAjaxWaiter.showMediumRing();$(iframe).hide();this.innerElement.appendChild(waiter);this.innerElement.appendChild(iframe);var that=this;(function()
{iframe.src=that.url;Event.observe(iframe,'load',function(){$(iframe).show();$(waiter).hide();that.getFocusInputFunction(iframe);Q_Window.centerWindows();if(iframe.contentDocument&&iframe.contentDocument.body&&$(iframe.contentDocument.body).addClassName)
{$(iframe.contentDocument.body).addClassName('iframe');}});}).defer();var frameHeight='100%';var frameWidth='100%';if(this.options.frameHeight)
frameHeight=this.options.frameHeight;if(this.options.frameWidth)
frameWidth=this.options.frameWidth;$(iframe).setStyle({width:frameWidth,height:frameHeight,border:'none',marginBottom:'-3px'});this.iframe=iframe;this.setSize(this.width,this.height);}
if(this.ajaxUrl)
{new Ajax.Updater(this.innerElement,this.ajaxUrl);this.setSize(this.width,this.height);}
this.footerNode=QBuilder('div',{className:'Q_WindowFooterContainer'});this.element.appendChild(this.footerNode);if(this.buttons)
{this.footerNode.appendChild(this.buildButtons(this.buttons))}
if(this.padding!==null)
{this.innerElement.style.padding=this.padding+'px';}
if(this.zIndex!==null)
{$(this.element).setStyle({zIndex:this.zIndex});}
return this.element;},updateHeader:function(domNode)
{deleteChildren(this.headerDom)
this.headerDom.appendChild(domNode);},buildButtons:function(buttonsArray)
{var footer=QBuilder('div',{className:'Q_WindowFooter'});this.leftFooterArea=QBuilder('div',{className:'LeftButtons'});;this.rightFooterArea=QBuilder('div',{className:'RightButtons'});;for(var i=0,len=buttonsArray.length;i<len;++i)
{if(buttonsArray[i]&&buttonsArray[i].align&&buttonsArray[i].align=='left')
{this.leftFooterArea.appendChild(this.buildButton(buttonsArray[i]));}
else
{this.rightFooterArea.appendChild(this.buildButton(buttonsArray[i]));}}
footer.appendChild(this.leftFooterArea);footer.appendChild(this.rightFooterArea);return footer;},buildTitle:function(title,options)
{options=options||{};var h2=QBuilder('h2');var bundle=[h2];if(typeof title=='string')
{h2.innerHTML=title;bundle=[h2];}
else if(typeof title.push=='function')
{bundle=title;}
else
{h2=QBuilder('h2',null,[title]);bundle=[h2];}
var header=QBuilder('div',{},[QBuilder('div',{className:'Q_WindowHeaderInner'},bundle)]);if(options.closeButton&&(!this.options.buttons||(this.options.buttons&&this.options.buttons.length<2)))
{header.appendChild(QBuilder('div',{clickcallback:'Q_Window.closeWindow',p1:this.windowName,instanceId:this.id,className:'Q_WindowCloseSQ'}));}
return header;},buildIframeCover:function()
{this.iFrameCover=QBuilder('iframe',{className:'Q_WindowIframeCover',src:'blank.html'});var windowHeight=window.innerHeight;if(!windowHeight||windowHeight==0)
windowHeight=document.body.clientHeight;$(this.iFrameCover).setStyle({opacity:0,zIndex:this.zIndex-2,backgroundColor:'blue',position:'absolute',left:'1px',top:'0px',width:'100%',height:windowHeight+'px'});return this.iFrameCover;},disableScroll:function()
{if($('pageDiv'))
{if(!document.body.scrollDisabled)
{var scrollInfo=QualtricsTools.getScrollInfo();var xscroll=0-scrollInfo[0];var yscroll=0-scrollInfo[1];if(Qualtrics.Browser.Gecko&&Qualtrics.Browser.Version<3)
{Q_Window.setChopOffset([xscroll,yscroll]);$('pageDiv').setStyle({position:'relative',top:yscroll+'px'});$(document.body).setStyle({overflow:'hidden'});}
else if(Qualtrics.Browser.Gecko)
{$('pageDiv').setStyle({position:'relative'});$(document.body).setStyle({overflow:'hidden'});}
else
{$(document.body.parentNode).setStyle({overflow:'hidden'});}
if(document.body.parentNode.clientHeight<document.body.parentNode.scrollHeight||Qualtrics.Browser.IE)
{var scrollBarWidth='16px';if(Qualtrics.Browser.IE)scrollBarWidth='17px';$(document.body).setStyle({marginRight:scrollBarWidth});}
document.body.scrollDisabled=true;}}},enableScroll:function()
{if($('pageDiv'))
{var chopped=Q_Window.getChopOffset();var x=chopped&&chopped[0]||0;var y=chopped&&chopped[1]||0;if(Qualtrics.Browser.Gecko&&Qualtrics.Browser.Version<3)
{$(document.body).setStyle({overflow:''});}
else if(Qualtrics.Browser.Gecko)
{$('pageDiv').setStyle({position:''});$(document.body).setStyle({overflow:''});}
else
{$(document.body.parentNode).setStyle({overflow:''});}
$(document.body).setStyle({marginRight:'0px'});$('pageDiv').setStyle({position:'',top:'',left:''});if(y||x)
{var scrollY=0-(Number(y));var scrollX=0-(Number(x));if(scrollY||scrollX)
{window.scrollTo(scrollX,scrollY);}}
Q_Window.setChopOffset(null);document.body.scrollDisabled=false;document.body.scrollTop=document.body.scrollTop+1;document.body.scrollTop=document.body.scrollTop-1;}},render:function()
{if(Qualtrics.Browser.IE&&Qualtrics.Browser.Version<7)
{document.body.appendChild(this.buildIframeCover());}
var overlayOptions={zIndex:this.zIndex-1,id:this.windowName};if(this.options.overrideOverlayWidth)
{var scrollOffsets=document.viewport.getScrollOffsets();overlayOptions.dim={width:scrollOffsets[0]+document.body.scrollWidth+'px'};}
if(this.options.overlayOpacity!==undefined)
{overlayOptions.opacity=this.options.overlayOpacity;}
if(window.Q_Overlay)
{if(this.overlayClose)
{this.overlayObj=new Q_Overlay(Object.extend(overlayOptions,{onClick:this.getCloseFunction()}));}
else
{this.overlayObj=new Q_Overlay(overlayOptions);}}
document.body.appendChild(this.build());this.center();},getResizeOffset:function(axis)
{var defaultOffset=80;if(axis=='y')
{var offset=90;if(this.title)offset+=defaultOffset;return offset;}
return defaultOffset;},getForcedDimensionPreserveScroll:function(axis,max)
{var axisString='width';if(axis=='y')axisString='height';var offset=this.getResizeOffset(axis);var innerInnerDim={width:this.innerElement.scrollWidth,height:this.innerElement.scrollHeight};if(innerInnerDim[axisString]>max-offset)
{this.innerElement.style['position']='relative';this.innerElement.style['overflow'+axis.capitalize()]='auto';return max-offset+'px';}
return false;},resize:function()
{var newHeight,newWidth;if(window.QualtricsTools)
{var windowSize=QualtricsTools.getPageSize();if(this.pctHeight||this.pctWidth)
{if(this.pctHeight)
{newHeight=String(Math.round(this.pctHeight*windowSize[3]-80));}
if(this.pctWidth)
{newWidth=String(Math.round(this.pctWidth*windowSize[2]));}}
if(!this.pctHeight)
{if(this.autoHeight)
{$(this.innerElement).setStyle({height:'auto'});}
var forcedHeight=this.getForcedDimensionPreserveScroll('y',windowSize[3]);if(forcedHeight)
{newHeight=forcedHeight;}}
if(!this.pctWidth)
{if(this.autoWidth)
{$(this.innerElement).setStyle({width:'auto'});}
var forcedWidth=this.getForcedDimensionPreserveScroll('x',windowSize[2]);if(forcedWidth)
{newWidth=forcedWidth;}}
newHeight=newHeight||this.height;newWidth=newWidth||this.width;if(newHeight&&newHeight!='auto'&&newHeight.startsWith&&!newHeight.startsWith('-'))
{var h=newHeight;if(!String(h).endsWith('px'))
{h+='px';}
$(this.innerElement).setStyle({height:h});}
if(newWidth&&newWidth!='auto'&&newWidth.startsWith&&!newWidth.startsWith('-'))
{var w=newWidth;if(!String(w).endsWith('px'))
{w+='px';}
$(this.innerElement).setStyle({width:w});}
this.calculatedHeight=newHeight;this.calculatedWidth=newWidth;if(this.options.onResize)
this.options.onResize();}},setupEvents:function()
{Event.observe(document,'keypress',this.keyPress);},destroyEvents:function()
{Event.stopObserving(document,'keypress',this.keyPress);},keyPress:function(evt)
{if(evt.keyCode==Event.KEY_ESC)
{Q_Window.closeWindow();}},close:function()
{this.destroy();},destroy:function(opt_enableScroll)
{if(this.element)
{var currentZIndex=Q_Window.getCurrentZIndex();if(this.onClose)
{try
{if(this.onClose()===false)
{return false;}}
catch(e)
{console.log('Error in onclose event',e);}}
this.destroyEvents();Q_Window.removeFromRegistry(this.id);if(this.contentParent)
{this.contentParent.appendChild(this.content)}
this.content=null;removeElement(this.element);this.element=null;if(this.iFrameCover)
{removeElement(this.iFrameCover);this.iFrameCover=null;}
if(this.overlayObj)
{this.overlayObj.remove();}
if(Q_Window.isRegistryEmpty())
{if((opt_enableScroll||opt_enableScroll===undefined))
{this.enableScroll();}}
if(this.zDiff)
{Q_Window.setCurrentZIndex(currentZIndex-this.zDiff);}
if(this.keepingCentered)
{window.onresize=null;}
if(this.headerDom)
{this.headerDom=null;}
return true;}},transformIntoLoading:function()
{$(this.innerElement).setStyle({width:this.innerElement.offsetWidth+'px',height:this.innerElement.offsetHeight+'px',padding:0});this.showLoading();new Effect.Morph(this.innerElement,{transition:INQUAD,duration:0.3,style:{height:'60px',width:'350px'},afterUpdate:this.center.bind(this,null,false)});},showLoading:function()
{deleteChildren(this.innerElement);var loading=QBuilder('div',{className:'candyBarLoadingImage'});$(loading).setOpacity(0);this.innerElement.appendChild(loading);new Effect.Opacity(loading,{from:0.0,to:1.0,duration:0.5});},getCloseFunction:function()
{var that=this;return function()
{that.destroy();};},appendChild:function(node)
{this.innerElement.appendChild(node);},setContent:function(node)
{if(!node)return;if(typeof node=='string')
{node=QBuilder('div',null,[node]);}
this.content=node;if(node.parentNode)
{this.contentParent=node.parentNode;}
this.clear();this.appendChild(node);$(node).show();this.setSize(this.width,this.height,false);this.center();},morphContent:function(options)
{options=options||{};if(!options.content)options.content=options;if(options.content)
{deleteChildren(this.innerElement);this.setContent(options.content);this.center();}},getContent:function()
{return this.innerElement;},clear:function()
{deleteChildren(this.getContent());},center:function(el,opt_skipResize)
{if(this.beforeCenter)
{this.beforeCenter();}
if(opt_skipResize!==false)
{this.resize();}
if(!el)el=this.element;var dim=Element.getDimensions(el);var scrollInfo=QualtricsTools.getScrollInfo();var pageDim=QualtricsTools.getPageSize();var browserWidth=pageDim[2];var browserHeight=pageDim[3];if(window.alternateQWindowOverflow)
{scrollInfo=[window.alternateQWindowOverflow.scrollLeft,window.alternateQWindowOverflow.scrollTop];browserHeight=window.alternateQWindowOverflow.offsetHeight;}
var scrollBarOffset=0;var center=(browserWidth/2)-(dim.width/2)+scrollInfo[0]-scrollBarOffset;var middle=(browserHeight/2)-(dim.height/2)+scrollInfo[1];center=Math.round(center)+'px';middle=Math.round(middle)+'px';$(el).setStyle({left:center,top:middle});if(this.keepCentered)
{this.keepCentered();}},buildButton:function(buttonObj)
{if(buttonObj==undefined)
{return;}
if(typeof buttonObj=='string')
{var type=buttonObj,obj={},text=null,action=null;if(buttonObj.indexOf('|')!=-1){text=buttonObj.substring(buttonObj.indexOf('|')+1);type=buttonObj.substring(0,buttonObj.indexOf('|'));}
if(type.indexOf(':')!=-1){action=type.substring(buttonObj.indexOf(':')+1);type=type.substring(0,buttonObj.indexOf(':'));}
type=type.toLowerCase();switch(type)
{case'cancel':{obj.text=getMessage('SiteWide','Cancel');obj=Object.extend(obj,{id:this.windowName+'CancelButton',icon:'cancel',click:'Q_Window.closeWindow('+this.windowName+')',className:'negative'});break;}
case'closewithoutsaving':{obj.text=getMessage('EditSection','CloseWithoutSaving');obj=Object.extend(obj,{id:this.windowName+'CancelButton',icon:'cancel',click:'Q_Window.closeWindow('+this.windowName+')',className:'negative'});break;}
case'close':{obj.text=getMessage('SiteWide','Close');obj=Object.extend(obj,{id:this.windowName+'CancelButton',icon:'cancel',click:'Q_Window.closeWindow('+this.id+')',className:'negative'});break;}
case'save':{obj=Object.extend(obj,{id:this.windowName+'SaveButton',icon:'check',text:getMessage('SiteWide','Save'),className:'positive'});break;}
case'ok':{obj=Object.extend(obj,{id:this.windowName+'OKButton',icon:'check',text:getMessage('SiteWide','OK'),className:'positive'});break;}}
if(action)
{obj.click=action;if(type.indexOf('save')!=-1)
{obj.click='Q_Window.saveButtonHelper:'+this.windowName+'('+action+')';}
if(type=='ok')
{obj.click='Q_Window.okButtonHelper:'+this.windowName+'('+action+')';}}
if(text)
{obj.text=text;}
buttonObj=obj;}
var className='';if(buttonObj.className)
{className=' '+buttonObj.className;}
var style='';if(buttonObj.style)
{style=' '+buttonObj.style;}
var elementType='a';if(buttonObj['button'])
{elementType='button';}
if(buttonObj.domNode)
{var button=Qualtrics.Event.executeDotSyntax(buttonObj.domNode);}
else
{var button=QBuilder(elementType,{className:'qbutton'+className+style});}
if(elementType=='a')
{button.setAttribute('href','javascript:void(0)');}
if(buttonObj.icon)
{button.appendChild(QBuilder('span',{className:'icon '+buttonObj.icon}))}
if(buttonObj.text)
{button.appendChild(document.createTextNode(buttonObj.text));}
if(buttonObj.click)
{button.setAttribute('clickcallback',buttonObj.click);}
if(buttonObj.clickcallback)
{button.setAttribute('clickcallback',buttonObj.clickcallback);}
if(buttonObj.instanceid)
{button.setAttribute('instanceid',buttonObj.instanceid);}
var buttonIndex=1;while(buttonObj['p'+buttonIndex]!=undefined)
{button.setAttribute('p'+buttonIndex,buttonObj['p'+buttonIndex]);buttonIndex++;}
if(buttonObj.id)
{button.id=buttonObj.id;this.buttonReg[button.id]=button;}
if(buttonObj.type)
{button.type=buttonObj.type;}
return button;},getButton:function(id)
{return this.buttonReg[id];},isButtonDisabled:function(id)
{return $(this.getButton(id)).hasClassName('disabled');},busifyButton:function(id,message)
{var button=this.getButton(id);if(!button)
{button=this.getButton(this.windowName+id+'Button');}
button=$(button);$(button).addClassName('disabled');$(button).addClassName('Disabled');button.disabled=true;button.originalHTML=button.innerHTML;if(message)
button.innerHTML=message;if(button.hasAttribute('clickcallback'))
{button.setAttribute('pendingcallback',button.getAttribute('clickcallback'));button.removeAttribute('clickcallback');}},unbusifyButton:function(id)
{var button=$(this.getButton(id));if(button)
{$(button).removeClassName('disabled');$(button).removeClassName('Disabled');button.disabled=false;if(button.originalHTML)
button.innerHTML=button.originalHTML;}
if(button.hasAttribute('pendingcallback'))
{button.setAttribute('clickcallback',button.getAttribute('pendingcallback'));button.removeAttribute('pendingcallback');}},disableButton:function(id)
{$(this.getButton(id)).addClassName('disabled');},enableButton:function(id)
{$(this.getButton(id)).removeClassName('disabled');},reenableButton:function(buttonType)
{var id=this.windowName+buttonType+'Button';this.unbusifyButton(id);},saveButtonHelper:function(action)
{var button=$(this.windowName+'SaveButton');if(button&&!button.disabled)
{button.originalHTML=button.innerHTML;button.innerHTML=this.customSavingMessage||'Saving...';button.disabled=true;button.addClassName('Disabled');QualtricsCPTools.executeDotSyntax(action);}},okButtonHelper:function(action)
{this.destroy();QualtricsCPTools.executeDotSyntax(action);},keepCentered:function()
{this.keepCentering=true;if(!Q_Window.resizeWatcher)
{Q_Window.resizeWatcher=Event.observe(window,'resize',function(evt){Qualtrics.Cache.unset('PageSize');Q_Window.centerWindows();});}},showCenter:function()
{this.center();},getSize:function()
{return{width:this.width,height:this.height};},setSize:function(width,height,opt_resize)
{this.width=String(width);this.height=String(height);this.pctWidth=null;this.pctHeight=null;var that=this;['height','width'].map(function(s){if(String(that[s]).endsWith('%'))
{that['pct'+s.capitalize()]=parseInt(that[s].substr(0,that[s].indexOf('%')),10)/100;}
else if(that[s]!=='auto'&&!String(that[s]).endsWith('px'))
{}
that['auto'+s.capitalize()]=(that[s]=='auto');});if(opt_resize!==false)
this.resize();},getInnerDimensions:function()
{return $(this.innerElement).getDimensions();},setTitle:function(title)
{var closeButton=this.closeButton;this.updateHeader(this.buildTitle(title,{closeButton:closeButton}));}}
window.Q_Overlay=Class.create();Q_Overlay.reg=[];Q_Overlay.getInstance=QualtricsTools.getInstanceHelper(Q_Overlay.reg,'_id');Q_Overlay.removeAll=function()
{var i=Q_Overlay.reg.length;while(i--)
{Q_Overlay.reg[i].remove();}}
Q_Overlay.prototype={_id:null,overlayName:null,initialize:function(options)
{options=options||{}
this.options=options;Q_Overlay.reg.push(this);this._id=QualtricsTools.createNewId('QO');var opacity=0.6;if(options.opacity!==undefined){opacity=options.opacity;}
var overlayId="Overlay";if(options.id){overlayId=options.id;}
this.overlayName=overlayId;var objOverlay=QBuilder('div',{id:this._id,className:'Overlay Overlay_'+this.overlayName,style:"display:none"});if(options.onClick)
{objOverlay.onclick=options.onClick;}
if(options.keepMenuOpen)
{Event.observe(document.body,'mousedown',this.mouseDownHandler);}
if(options.onClose)
{this.onClose=options.onClose;}
if(options.parentId){options.append=options.parentId}
if(options.append){$(options.append).appendChild(objOverlay);}else{document.body.appendChild(objOverlay);}
if($('pageDiv'))
{$('pageDiv').addClassName('HideOnOverlay');}
var arrayPageSize=getPageSize();Element.setStyle(objOverlay,{height:arrayPageSize[1]+'px'});if(options.dim){if(options.dim.width){Element.setStyle($(objOverlay),{width:options.dim.width});}
if(options.dim.height){Element.setStyle(objOverlay,{height:options.dim.height});}
if(options.dim.x){Element.setStyle($(objOverlay),{left:options.dim.x+'px'});}
if(options.dim.y){Element.setStyle($(objOverlay),{top:options.dim.y+'px'});}}
if(options.zindex)options.zIndex=options.zindex;if(options.zIndex){Element.setStyle($(objOverlay),{zIndex:options.zIndex});}
if(options.color){Element.setStyle($(objOverlay),{backgroundColor:options.color});}
$(objOverlay).show();$(objOverlay).setStyle({opacity:opacity});objOverlay.style.opacity=opacity;this.domNode=objOverlay;objOverlay=null;this.manageMultipleOverlays();},manageMultipleOverlays:function()
{if(this.options.dontManageOverlays)
{return;}
if(Q_Overlay.reg.length)
{for(var i=0,len=Q_Overlay.reg.length;i<len;++i)
{if(i<len-1)
{Q_Overlay.reg[i].domNode&&$(Q_Overlay.reg[i].domNode).setStyle({backgroundColor:'transparent'});}
else
{Q_Overlay.reg[i].domNode&&$(Q_Overlay.reg[i].domNode).setStyle({backgroundColor:''});}}}},getPosition:function()
{for(var i=0,len=Q_Overlay.reg.length;i<len;++i)
{if(Q_Overlay.reg[i]._id==this._id)
return i;}},remove:function(options)
{Event.stopObserving(document.body,'mousedown',this.mouseDownHandler);if(this.onClose)
{this.onClose();}
if(this.domNode){removeElement(this.domNode);this.domNode=null;}
var pos=this.getPosition();Q_Overlay.reg.splice(pos,1);if(!Q_Overlay.reg.length)
{if($('pageDiv'))
$('pageDiv').removeClassName('HideOnOverlay');}
this.manageMultipleOverlays();},mouseDownHandler:function(evt)
{if(!evt)
evt=window.event;evt.cancelBubble=true;if(evt.stopPropagation)
evt.stopPropagation();}}
// (C) 2007-2012 Qualtrics, Inc.

Qualtrics.Menu={menuPaneStack:[],buildMenuButton:function(title,menuCallBack,options)
{var innerTitle=QBuilder('span',{});if(title=='')
{$(innerTitle).update('&nbsp;');}
else
{$(innerTitle).update(title);}
var className;options=options||{};if(options.className)
{className=' '+options.className;}
else
{className='';}
var callbacktype=options.callbacktype||'downcallback';var p3='';if(typeof options!='string')
{p3=Object.toJSON(options);}
var buttonId=(options&&options.buttonId||options.id)||QualtricsTools.createNewId('BTN');var button;var b;if(options.theme)
{button=QBuilder('a',{id:buttonId,className:'ThemedMenuButton menuButton_'+options.theme+className},[b=QBuilder('b',{p1:menuCallBack,p2:'$el',p3:p3,p4:'$evt',preventDrag:'true'},[title])])}
else
{button=QBuilder('a',{id:buttonId,className:'menuButton'+className},[QBuilder('b',{preventDrag:'true'},[QBuilder('b',{preventDrag:'true'},[b=QBuilder('b',{p1:menuCallBack,p2:'$el',p3:p3,p4:'$evt',preventDrag:'true'},[options.icon!==false?QBuilder('span',{className:'icon'}):'',innerTitle])])])]);}
if(!options.menuButtonCallback)
{options.menuButtonCallback='Qualtrics.Menu.showMenu';}
b.setAttribute(callbacktype,options.menuButtonCallback);button.callbackNode=b;b.aNode=button;if(options.menuItemSelectCallback)
{button.setAttribute('menuitemselectcallback',options.menuItemSelectCallback);}
if(options.initialValue)
{button.callbackNode.setAttribute('currentvalue',options.initialValue);}
return button;},buildSelectMenuButton:function(initialValue,fieldName,options)
{var buttonId=fieldName+'_Button';options=options||{};var list=options.list||{};var className=options.className?'SelectMenuButton '+options.className:'SelectMenuButton';var menuButtonOptions=Object.extend(options,{menuType:'SelectMenuPane',className:className,buttonId:buttonId,fieldName:fieldName,list:list,useArrayIndex:options.useArrayIndex,initialValue:initialValue,p1:fieldName,p2:buttonId,p3:'$options'});if(!initialValue&&Object.keys(list).length&&!options.prompt)
{initialValue=Object.keys(list)[0];}
var value=initialValue;if(list[initialValue])
{if(typeof list[initialValue]=='object')
{var html=list[initialValue].label||list[initialValue];if(typeof html=='object')
{value=html.value;}}
else
{value=list[initialValue];}}
if(value===null&&options.prompt)
{value=options.prompt;}
var button=Qualtrics.Menu.buildMenuButton(value,'Qualtrics.Menu.buildSelectMenu',menuButtonOptions);Qualtrics.Menu.setupMenuButtonInput.curry(initialValue,fieldName,button).defer();return button;},setupMenuButtonInput:function(initialValue,fieldName,button)
{if(!$(fieldName))
{var input=QBuilder('input',{type:'hidden',id:fieldName,name:fieldName,value:initialValue});if(initialValue===null&&input.getAttribute('value')=='null')
input.value=null;if(button&&button.firstChild)
button.firstChild.appendChild(input);}
else
{if(!$(fieldName).value)$(fieldName).value=initialValue;}},buildSelectMenu:function(fieldName,buttonId,options)
{options=Qualtrics.Menu.processOptions(options);var menuList=Qualtrics.Menu.buildSelectMenuList(fieldName,buttonId,options.list,options.useArrayIndex);if(options.search)
menuList.search=options.search;return menuList;},buildSelectMenuList:function(fieldName,buttonId,list,opt_useArrayIndex)
{var callbackNode=$(buttonId).callbackNode;var currentValue=($(fieldName)&&$(fieldName).value)||callbackNode&&callbackNode.getAttribute('currentvalue');var isArray=false;if(list.push&&typeof list.push=='function')
{isArray=true;}
if(list&&!Qualtrics.isEmpty(list))
{var items=[];for(var listId in list)
{var key=listId;if(isArray&&!opt_useArrayIndex)
{key=list[listId];}
var itemOptions={};if(typeof list[listId]=='object')
{itemOptions=list[listId];}
var html=itemOptions.label||list[listId];var listItem=html;var className='';if(typeof html=='function')
{continue;}
if(typeof html=='object')
{if(html.className)
{className=' '+html.className;}
html=html.value;}
var checked=false;if(listId==currentValue)checked=true;if(isArray&&!opt_useArrayIndex)
{if(list[listId]==currentValue)checked=true;}
var item={display:html,className:className,value:key,checked:checked,parameters:{p1:fieldName,p2:buttonId,p3:key,p4:list[listId]}};if(typeof listItem=='object')
{item=listItem;}
if(list[listId].action)
{item.action=list[listId].action;}
items.push(item);}
return{items:items,togglecheckexclusive:true};}
else
{return{string:getMessage('SiteWide','NoResults')};}},showMenu:function(menuBuilder,parentButton,options,evt)
{if(evt)
{Event.stop(evt);}
if(Qualtrics.Menu.findMenu(menuBuilder))
{return;}
options=this.processOptions(options);var opt_parentMenu=options.parentMenu;if(parentButton&&parentButton.aNode)
{$(parentButton.aNode).addClassName('HasActiveMenu');}
if(options.checkForFixed)
{options.fixed=this.isFixed(parentButton);}
if(options.menuType)
{return new Qualtrics[options.menuType](menuBuilder,parentButton,opt_parentMenu,options,evt);}
return new Qualtrics.MenuPane(menuBuilder,parentButton,opt_parentMenu,options,evt);},isFixed:function(element)
{if(element.parentNode)
{do{element=element.offsetParent;if(element&&element.style&&element.style.position&&element.style.position=='fixed')
{return true;}}while(element);}
return false;},findMenu:function(menuBuilder)
{for(var i=0,len=Qualtrics.Menu.menuPaneStack.length;i<len;++i)
{if(Qualtrics.Menu.menuPaneStack[i].menuBuilder==menuBuilder)
{return Qualtrics.Menu.menuPaneStack[i];}}},removeMenuPaneFromStack:function(menuPane)
{Qualtrics.Menu.menuPaneStack.splice(menuPane.getStackIndex(),1);},getActiveMenuPane:function()
{if(!Qualtrics.Menu.menuPaneStack.length)
{return null;}
return Qualtrics.Menu.menuPaneStack[Qualtrics.Menu.menuPaneStack.length-1];},processVelocity:function(velocity)
{var activeSubMenuParentIndex=Qualtrics.Menu.menuPaneStack.length-2;var activeSubMenuIndex=Qualtrics.Menu.menuPaneStack.length-1;if(activeSubMenuParentIndex<0)activeSubMenuParentIndex=0;var activeParent=Qualtrics.Menu.menuPaneStack[activeSubMenuParentIndex];var activeSubMenu=Qualtrics.Menu.menuPaneStack[activeSubMenuIndex];if(!activeParent)
{if(window.QualtricsCPTools)
QualtricsCPTools.velocimeter.stop();Qualtrics.Menu.velocityProcessor=null;return;}
var dir=activeSubMenu.forcedDirection||activeSubMenu.direction;if(dir=='right'&&velocity[0]<2||dir=='left'&&velocity[0]>-2)
{activeParent.traveling=false;}
else
{activeParent.traveling=true;}
if(!activeParent.traveling&&activeParent.hideSubMenuOnLowVelocity&&activeParent.menuUl)
{activeParent.hideSubMenu();}
else if(activeParent.suppressedSubMenu&&!activeParent.traveling)
{activeParent.getSubMenuShowClosure(activeParent.suppressedSubMenu.menu,activeParent.suppressedSubMenu.button,activeParent.suppressedSubMenu.options)();}},processOptions:function(options)
{options=options||{};if(typeof options=='string')
{try{options=options.evalJSON();}catch(e){console.error(e);}}
return options;},documentDownHandler:function(evt)
{if(!Qualtrics.Menu.documentObserver)
{return;}
if(Qualtrics.Menu.menuPaneStack.length)
{var clickedOnAnyMenu=false;var menuClicked=null;var menusToClose=[];for(var i=0,len=Qualtrics.Menu.menuPaneStack.length;i<len;++i)
{var menuPane=Qualtrics.Menu.menuPaneStack[i];var menu=menuPane.menuDom;if(menu)
{if(Event.element(evt).id=='QMenu')return;var offset=Element.cumulativeOffset(menu);var isWithinMenu=(mousePos[1]<offset[1]+menu.offsetHeight&&mousePos[1]>offset[1]&&mousePos[0]>offset[0]&&mousePos[0]<offset[0]+menu.offsetWidth);if(isWithinMenu)
{menuClicked=menuPane;clickedOnAnyMenu=true;continue;}}
if(menuPane.menuUl&&Event.element(evt)==menuPane.menuUl.openedByNode)
{menusToClose.push(menuPane);continue;}
if(Event.isLeftClick(evt))
{if(menuPane.skipNextClose)
{menuPane.skipNextClose=false;continue;}
menusToClose.push(menuPane);}}
if(!clickedOnAnyMenu)
{Qualtrics.Menu.destroyAllMenus();clearOverRegistry();}
else if(menusToClose.length)
{for(var i=0,len=menusToClose.length;i<len;++i)
{if(menusToClose[i].options.menuWithinMenu&&menusToClose[i]!=menuClicked.parentMenu)
{menusToClose[i].destroy(true);}}
clearOverRegistry();}}},destroyAllMenus:function()
{while(Qualtrics.Menu.menuPaneStack[Qualtrics.Menu.menuPaneStack.length-1])
Qualtrics.Menu.menuPaneStack[Qualtrics.Menu.menuPaneStack.length-1].destroy(true);},destroyMenu:function(menuId)
{var menuPane=Qualtrics.MenuPane.getInstance(menuId);if(menuPane){menuPane.destroy(true);}},deactivateArrowMode:function()
{for(var i=Qualtrics.Menu.menuPaneStack.length-1;i>-1;--i)
{Qualtrics.Menu.menuPaneStack[i].deactivateArrowMode();}},handleKeyDown:function(evt)
{var el=Event.element(evt)
{if(el.nodeName=='INPUT')
{return;}}
if((evt.keyCode>36&&evt.keyCode<41||evt.keyCode==Event.KEY_RETURN)&&Qualtrics.Menu.getActiveMenuPane())
{switch(evt.keyCode)
{case 40:Qualtrics.Menu.down(evt);break;case 38:Qualtrics.Menu.up(evt);break;case 39:Qualtrics.Menu.right(evt);break;case 37:Qualtrics.Menu.left(evt);break;case Event.KEY_RETURN:Qualtrics.Menu.enter(evt);break;}}},down:function(evt)
{if(evt)
{Event.stop(evt);}
var menuPane=Qualtrics.Menu.getActiveMenuPane();var item=menuPane.getActiveMenuItem();if(item)
{if(item.nextSibling)
{if($(item.nextSibling).hasClassName('Separator')&&item.nextSibling.nextSibling)
{menuPane.selectItem(item.nextSibling.nextSibling);}
else
{menuPane.selectItem(item.nextSibling);}}}
else
{if(Qualtrics.Menu.getActiveMenuPane().menuUl)
{menuPane.selectItem(Qualtrics.Menu.getActiveMenuPane().menuUl.firstChild);}}},up:function(evt)
{if(evt)
{Event.stop(evt);}
var menuPane=Qualtrics.Menu.getActiveMenuPane();var item=menuPane.getActiveMenuItem();if(item)
{if(item.previousSibling)
{if($(item.previousSibling).hasClassName('Separator')&&item.previousSibling.previousSibling)
{menuPane.selectItem(item.previousSibling.previousSibling);}
else
{menuPane.selectItem(item.previousSibling);}}}
else
{if(Qualtrics.Menu.getActiveMenuPane().menuUl)
{menuPane.selectItem(Qualtrics.Menu.getActiveMenuPane().menuUl.lastChild);}}},right:function(evt)
{var menuPane=Qualtrics.Menu.getActiveMenuPane();var item=menuPane.getActiveMenuItem();if(item)
{var link=$(item).down&&$(item).down();if(item&&item.hasSubMenu)
{if(link.getAttribute('submenu'))
{menuPane.getDynamicSubMenuClosure(link.getAttribute('submenu'),link)();if(evt)
{Event.stop(evt);}}}
else
{}}},left:function()
{var menuPane=Qualtrics.Menu.getActiveMenuPane();if(menuPane.parentMenu)
{var parentLink=menuPane.parentButton;menuPane.destroy();if(parentLink&&parentLink.parentNode.tagName=='LI')
{menuPane.selectItem.bind(menuPane,parentLink.parentNode).delay(1);}
if(evt)
{Event.stop(evt);}}
else
{}},enter:function(evt)
{var menuPane=Qualtrics.Menu.getActiveMenuPane();var item=menuPane.getActiveMenuItem();menuPane.flashSelectionAndDestroyMenu();menuPane.artificiallyExecuteMenuItem(item);},drawOutline:function()
{var parentNode=$('pageDiv')||document.body;if(!Qualtrics.Menu.outlineContainer)
{Qualtrics.Menu.outlineContainer=QBuilder('div',{className:'MenuOutlineContainer'});}
if(!Qualtrics.Menu.outlineContainer.parentNode)
{parentNode.appendChild(Qualtrics.Menu.outlineContainer);}
Qualtrics.Menu.outlineContainer.innerHTML='';for(var i=0,len=Qualtrics.Menu.menuPaneStack.length;i<len;++i)
{var m=Qualtrics.Menu.menuPaneStack[i];var bg=QBuilder('div',{className:'MenuOutline'});m.menuOutlineDom=bg;Qualtrics.Menu.outlineContainer.appendChild(bg);m.positionOutline();}},getAjaxData:function(url,ajaxDef,opt_delay,source)
{ajaxDef=ajaxDef||{};if(Qualtrics.Menu.activeAjaxRequest)
{Qualtrics.Menu.activeAjaxRequest.abort();}
if(Qualtrics.Menu.activeAjaxTimer)
{clearTimeout(Qualtrics.Menu.activeAjaxTimer);}
var executeAjax=function(){Qualtrics.Menu.activeAjaxTimer=null;Qualtrics.Menu.activeAjaxRequest=new Ajax.CachedRequest(url,{source:source,parameters:ajaxDef.parameters,onComplete:function(transport){if(ajaxDef.onComplete)
{ajaxDef.onComplete(transport);}
Qualtrics.Menu.activeAjaxRequest=null;},onFailure:function(transport)
{console.error('ajax fail');}});};if(opt_delay)
{Qualtrics.Menu.activeAjaxTimer=setTimeout(executeAjax,opt_delay);}
else
{executeAjax();}},getMultiAjaxData:function(requests,ajaxDef,opt_delay)
{ajaxDef=ajaxDef||{};if(Qualtrics.Menu.activeAjaxRequest)
{Qualtrics.Menu.activeAjaxRequest.abort();}
if(Qualtrics.Menu.activeAjaxTimer)
{clearTimeout(Qualtrics.Menu.activeAjaxTimer);}
var executeAjax=function(){Qualtrics.Menu.activeAjaxTimer=null;Qualtrics.Menu.activeAjaxRequest=new Ajax.MultipleCachedRequest(requests,{onComplete:function(transport){if(ajaxDef.onComplete)
{ajaxDef.onComplete(transport);}
Qualtrics.Menu.activeAjaxRequest=null;},abort:function()
{}});}
if(opt_delay)
{Qualtrics.Menu.activeAjaxTimer=setTimeout(executeAjax,opt_delay);}
else
{executeAjax();}},keepMenuOpen:function()
{if(Qualtrics.Menu.menuCloseTimer)
{clearTimeout(Qualtrics.Menu.menuCloseTimer);}},toggleCheck:function(li,options)
{if(li){if(options&&options.selectOne){if(li.getAttribute('menugroup'))
{options.group=li.getAttribute('menugroup');}
Qualtrics.Menu.uncheckAll(li.parentNode,options);$(li).addClassName('check');}else{if($(li).hasClassName('check')){$(li).removeClassName('check');}else{$(li).addClassName('check');}}}},toggleCheckByEvent:function(evt,options)
{if(evt)
{evt.cancelBubble=true;var li=(Event.findElement(evt,'li'));Qualtrics.Menu.toggleCheck(li,options);}},nodeHasGroup:function(node,groups)
{for(var i=0,len=groups.length;i<len;++i)
{var valid=false;if(node.getAttribute('menugroup')==groups[i])
{return true;}}
return false;},uncheckAll:function(ul,options)
{if(ul){var childs=$(ul).immediateDescendants();for(var i=0,len=childs.length;i<len;++i){var li=childs[i];if(options&&options.group)
{if(li.getAttribute('menugroup')!=options.group)
{continue;}}
if(options&&options.groups)
{if(!Qualtrics.Menu.nodeHasGroup(li,options.groups))
{continue;}}
$(li).removeClassName('check');}
childs=null;}},positionMenus:function()
{for(var i=0,len=Qualtrics.Menu.menuPaneStack.length;i<len;++i)
{Qualtrics.Menu.menuPaneStack[i].positionMenu();}},hideMenuOnMouseOut:function()
{var menu=$('QMenu');if(menu)
{$(menu).setStyle({opacity:0.85});menu.onmouseout=Qualtrics.Menu.beginHideMenuSequence;menu.onmouseover=Qualtrics.Menu.cancelHideMenuSequence;}},beginHideMenuSequence:function()
{var menu=$('QMenu');if(menu)
{Qualtrics.Menu.fadeEffect=setTimeout(Qualtrics.Menu.destroyAllMenus,500);}},cancelHideMenuSequence:function()
{if(Qualtrics.Menu.fadeEffect)
{clearTimeout(Qualtrics.Menu.fadeEffect);}},refreshMenu:function()
{var a=Qualtrics.Menu.getActiveMenuPane();if(a)
{a.refreshMenu();}},refreshAllMenus:function()
{for(var i=Qualtrics.Menu.menuPaneStack.length-1;i>-1;--i)
{Qualtrics.Menu.menuPaneStack[i].refreshMenu();}}}
Qualtrics.MenuPane=Class.create();Qualtrics.MenuPane.getInstance=QualtricsTools.getInstanceHelper(Qualtrics.Menu.menuPaneStack,'id');Qualtrics.MenuPane.prototype={type:'MenuPane',destroyed:false,direction:null,alignment:null,parentMenu:null,parentButton:null,arrowSelectedItem:null,closeSubMenuOnMouseOut:false,onClose:null,fieldName:null,needsMouseOverEventObserver:null,paginate:false,perpage:null,startIndex:0,searchTerm:null,startMousePos:null,initialize:function(menuBuilder,parentButton,opt_parentMenu,options,opt_evt)
{if(typeof options=='string')
{options=options.evalJSON();}
this.id=QualtricsTools.createNewId('MP');this.options=options||{};this.menuBuilder=menuBuilder;this.parentMenu=opt_parentMenu;this.parentButton=parentButton;this.buttonInfo={};if(this.parentButton)
{this.getButtonInfo();if(this.parentButton.getAttribute('currentvalue'))
{this.currentValue=this.parentButton.getAttribute('currentvalue');}}
this.startMousePos=[window.mousePos[0],window.mousePos[1]];if(this.options.fieldName)
{this.fieldName=this.options.fieldName;}
if(!this.parentMenu&&!this.options.menuWithinMenu&&!this.options.allowMultipleMenus)
{Qualtrics.Menu.destroyAllMenus();}
if(this.options.menuWithinMenu)
{this.skipNextClose=true;}
Qualtrics.Menu.menuPaneStack.push(this);this.direction=this.options.direction||this.getAutoDirection();this.alignment=this.options.alignment||this.getAutoAlignment();this.constructMenu(menuBuilder,this.options,opt_evt);this.insertMenu();if(this.needsMouseOverEventObserver)
{Event.observe(this.menuDom,'mouseover',this.distributeMouseOvers.bind(this));}
if(options.onMenuOpen)
{Qualtrics.Event.executeDotSyntax(options.onMenuOpen,null,null,null,{'$menuPane':this});}},distributeMouseOvers:function(evt)
{Qualtrics.Event.baseDistributerReader(evt,Event.element(evt),'menupanemouseover',this);},insertMenu:function()
{if(this.menuDom)
{var parentNode=this.options.parentNode||$('pageDiv')||document.body;if(this.options.relative)
{$(this.parentButton).setStyle({position:'relative'});parentNode=this.parentButton;}
if(parentNode!==this.menuDom.parentNode)
{parentNode.appendChild(this.menuDom);}
this.setupSubMenus();this.positionMenu();if(this.searchInputDom)
{QualtricsTools.focusInput(this.searchInputDom,0);}
this.setupRemoveObserver.bind(this).defer();}},setupRemoveObserver:function()
{if(!Qualtrics.Menu.documentObserver&&!Qualtrics.Menu.overlayObj)
{if(this.options.useOverlay)
{Qualtrics.Menu.overlayObj=new Q_Overlay({parentId:'pagefade',zindex:1999997,opacity:0,dontManageOverlays:true,onClick:function(){Qualtrics.Menu.overlayObj.remove();},onClose:function(){Qualtrics.Menu.destroyAllMenus.defer();clearOverRegistry();}});}
else
{Qualtrics.Menu.documentObserver=Event.observe(document,'mousedown',Qualtrics.Menu.documentDownHandler);}}},constructMenu:function(menuBuilder,opt_options,opt_evt)
{var menu=this.buildMenu((menuBuilder||this.menuBuilder),opt_options,opt_evt)
if(menu)
{if(this.parentButton)
{$(this.parentButton).addClassName('ActiveSubMenu');}
if(this.parentMenu)
{this.menuDom=menu;this.addClassNames();$(this.parentMenu.menuUl).addClassName('HasActiveSubMenu');}
else
{var className='';if(this.options.className)
{className=this.options.className;}
if(this.menuDef&&this.menuDef.className)
{className+=' '+this.menuDef.className;}
if(this.options.outline)
{className+=' DarkShadow';}
else
{className+=' RoundedShadow';}
this.menuDom=QBuilder('div',{className:className,id:'QMenu'},[menu]);}
if(this.options.relative)
{$(this.parentButton).setStyle({zIndex:$(this.menuDom).getStyle('zIndex')||2000000});$(this.menuDom).addClassName('RelativelyPositioned');}
if(!this.menuUl)
{if(this.menuDom.tagName=='UL')
{this.menuUl=this.menuDom;}
else
{this.menuUl=$(this.menuDom).down('ul');}}}
return this.menuDom;},getButtonInfo:function()
{if(!this.buttonInfo||!this.buttonInfo.height||!this.buttonInfo.width||!this.buttonInfo.top||!this.buttonInfo.left)
{this.buttonInfo=Object.extend({height:this.parentButton.offsetHeight,width:this.parentButton.offsetWidth},this.getButtonPos());}
return this.buttonInfo;},refreshMenu:function()
{this.replaceMenuDefinition(this.menuBuilder);},addClassNames:function()
{if(this.parentMenu)
{$(this.menuDom).addClassName('QSubMenu');}
if(this.options.className)
{$(this.menuDom).addClassName(this.options.className);}
if(this.options.outline)
{$(this.menuDom).addClassName('DarkShadow');}
else
{$(this.menuDom).addClassName('RoundedShadow');}},getRootMenu:function()
{var root=this;while(root.parentMenu)
{root=root.parentMenu;}
return root;},getAppropriateOffset:function()
{return this.options.relative?Position.cumulativeOffset(this.menuDom):{left:this.menuDom.offsetLeft,top:this.menuDom.offsetTop};},getCumulativeOffset:function()
{var offset=this.getAppropriateOffset();var root=this;while(root.parentMenu)
{root=root.parentMenu;var border=root.getBorderWidth();var currentOffset=root.getAppropriateOffset()
offset.left+=currentOffset.left+border;offset.top+=currentOffset.top+border;if(Qualtrics.Browser.IE)
{offset.left-=1;offset.top-=1;}}
return offset;},getBorderWidth:function()
{if(window.getComputedStyle){var border=getComputedStyle(this.menuDom,'').getPropertyValue('border-top-width');}else{var border=this.menuDom.currentStyle.borderWidth;}
return Number(border.substring(0,border.length-2));},getStackIndex:function()
{return Qualtrics.Menu.menuPaneStack.indexOf(this);},buildMenu:function(menuBuilder,opt_options,opt_evt)
{if(typeof menuBuilder=='string')
{if(menuBuilder.startsWith('{'))
{this.menuDom=this.evaluateMenuDefinition(menuBuilder,opt_options);}
else if(menuBuilder.endsWith(')')&&(menuBuilder.indexOf("'")!=-1||menuBuilder.indexOf('"')!=-1))
{console.warn('buildMenu had to resort to eval, try to avoid this');this.menuDom=this.buildMenu(eval(menuBuilder),opt_options);}
else if(menuBuilder.indexOf('.')!=-1)
{var paramIndex=1;var params=null;while(paramIndex!==null)
{var param=this.options['p'+paramIndex];if(param!==undefined)
{if(!params)params=[];params.push(param);paramIndex++;}
else
{paramIndex=null;}}
this.menuDom=this.buildMenu(Qualtrics.Event.executeDotSyntax(menuBuilder,this.options.instanceid,null,params,{'$options':this.options,'$el':this.parentButton,'$evt':opt_evt,'$parentMenu':this.parentMenu,'$menuPane':this}),opt_options);}
else
{console.warn('legacy menu');if($(menuBuilder))
{var ul=$(menuBuilder);if(!Qualtrics.Menu.prebuiltMenuCache)
{Qualtrics.Menu.prebuiltMenuCache={};}
Qualtrics.Menu.prebuiltMenuCache[menuBuilder]=ul;this.menuDom=ul;}
else if(Qualtrics.Menu.prebuiltMenuCache&&Qualtrics.Menu.prebuiltMenuCache[menuBuilder])
{this.menuDom=Qualtrics.Menu.prebuiltMenuCache[menuBuilder];}}}
else if(typeof menuBuilder=='function')
{if(this.options.scope)
{this.menuDom=this.buildMenu(menuBuilder.call(this.options.scope,this.options.p1,this.options.p2),opt_options);}
else
{this.menuDom=this.buildMenu(menuBuilder(),opt_options);}}
else if(typeof menuBuilder=='object')
{if(!menuBuilder.tagName)
{this.menuDom=this.evaluateMenuDefinition(menuBuilder,opt_options);}
else
{this.menuDom=menuBuilder;}}
if(this.menuDom)
{this.observeMenuUp(this.menuDom);}
return this.menuDom;},createMenuDefFromFlatObject:function(obj)
{var items=[];for(var key in obj)
{items.push({display:obj[key],value:key});}
return{items:items};},evaluateMenuDefinition:function(def,options)
{def=def||{};options=options||{};if(typeof def=='string')
{if(!def.startsWith('{'))
{return this.evaluateMenuDefinition(Qualtrics.Event.executeDotSyntax(def.callback));}
try{def=def.evalJSON();}catch(e)
{console.error('Could not evaluate JSON of Menu Def; setting to empty.');def={};}}
if(def.ajax)
{return this.evaluateAjaxMenu(def);}
if(def.multiAjax)
{return this.evaluateMultipleAjaxMenu(def);}
this.menuDef=def;this.originalItemCount=0;if(def.items)
{this.originalItemCount=def.items.length}
if(this.options.processDefinition)
{def=this.options.processDefinition(def,this.options);}
if(Object.values(def).length)
{var menuAttributes={};if(def.keepmenuopen)
{this.options.keepmenuopen=def.keepmenuopen;}
if(def.menuClass)
{menuAttributes.className=def.menuClass;}
if(this.options.menuClass)
{menuAttributes.className=this.options.menuClass;}
if(def.className)
{menuAttributes.className=def.className;}
if(def.id)
{menuAttributes.id=def.id;}
this.menuUl=QBuilder('ul',{className:'QMenuList'});if(def.width)
{this.menuUl.style.width=def.width+'px';}
if(def.className)
{this.menuUl.className=def.className;}
var header=document.createDocumentFragment();if(def.search)
{var value=getMessage('SiteWide','Search')+'...';if(this.searchTerm)
value=this.searchTerm;this.headerDom=QBuilder('div',{className:'MenuSearch'},[this.searchInputDom=QBuilder('input',{type:'text',className:'TextBox AutoClearMessage',keyupcallback:'Qualtrics.MenuPane.search:'+this.id+'($val, $el, $evt)',autoclear:getMessage('SiteWide','Search')+'...',value:value})]);}
if(def.title)
{this.headerDom=this.buildHeader(QBuilder('h2',{},[def.title]));}
if(def.header)
{this.headerDom=this.buildHeader(def.header);}
if(this.headerDom)
{header.appendChild(this.headerDom);}
if(Qualtrics.Browser.IE&&Qualtrics.Browser.Version<8)
{if(this.searchInputDom)
{$(this.searchInputDom).setStyle({width:'200px'});}}
this.menuDom=QBuilder('div',menuAttributes,[QBuilder('div',{className:'OverflowWrapper'},[header,this.menuUl])]);if(def.domNode)
{var domNode=Qualtrics.Event.executeDotSyntax(def.domNode);if(domNode)
this.menuDom=domNode;if(def.width)
{this.menuDom.style.width=def.width+'px';}}
if(def.height)
{this.options.height=def.height;}
if(def.items)
{this.addMenuItems(def.items,options);}
if(def.loading)
{this.menuUl.appendChild(QBuilder('li',{className:'Loading'}));}
else if(this.paginate)
{var next='';var prev='';if(this.startIndex>0)
prev=QBuilder('a',{className:'Pagination left',href:'javascript:void(0)',clickcallback:'Qualtrics.MenuPane.prevPage:'+this.id},'Previous');if(this.startIndex+this.perpage<def.count)
next=QBuilder('a',{className:'Pagination right',href:'javascript:void(0)',clickcallback:'Qualtrics.MenuPane.nextPage:'+this.id},'Next')
if(prev||next)
{this.menuDom.appendChild(QBuilder('div',{className:'Pagination'},[prev,next,QBuilder('div',{className:'clear'})]));}}
if(def.string)
{this.menuUl.appendChild(QBuilder('li',null,[QBuilder('a',{className:'MenuItemLink'},def.string)]));}
this.observeMenuUp(this.menuDom);}
this.menuIsEvaluated();return this.menuDom;},buildHeader:function(content)
{return QBuilder('div',{className:'Header'},[content]);},updateHeader:function(content)
{deleteChildren(this.headerDom);if(typeof content=='string')
{this.headerDom.innerHTML=content;}
else
{this.headerDom.appendChild(content);}},menuIsEvaluated:function()
{if(this.onShowMenu)
{this.onShowMenu(this.options);}},evaluateAjaxMenu:function(def)
{if(!def.ajax)
{return false;}
var delay=def.delay||false;if(this.parentMenu)
{delay=200;}
var params=def.ajax.parameters||{};var action=def.ajax.action;var url=def.ajax.url;if(def.ajax.url&&def.ajax.url.startsWith&&def.ajax.url.startsWith('http'))
{action='WebService';params['url']=def.ajax.url;url='CleanAjax.php?action='+action;}
else if(action)
{url='Ajax.php?action='+action;}
if(def.paginate&&!this.paginate)
{this.paginate=true;this.perpage=def.perpage;}
if(this.paginate)
{def.ajax.parameters.start=this.startIndex;def.ajax.parameters.perpage=this.perpage;}
if(!this.searchTerm)
var loadingDom=this.evaluateMenuDefinition({loading:true,fixed:def.ajax.fixed});else
def.ajax.parameters.Search=this.searchTerm.toLowerCase();var source=undefined;if(def.ajax.parameters&&def.ajax.parameters.PageItemID)
{source=def.ajax.action+def.ajax.parameters.PageItemID;}
Qualtrics.Menu.getAjaxData(url,{parameters:def.ajax.parameters,onComplete:this.getAjaxComplete(loadingDom,def.ajax)},delay,source);if(loadingDom)
return loadingDom;else
return this.menuDom;},evaluateMultipleAjaxMenu:function(def)
{if(!def.multiAjax)
{return false;}
var delay=def.delay||false;if(this.parentMenu)
{delay=200;}
var loadingDom=this.evaluateMenuDefinition({loading:true});Qualtrics.Menu.getMultiAjaxData(def.multiAjax.requests,{onComplete:this.getMultiAjaxComplete(loadingDom,def.multiAjax)},delay);return loadingDom;},addMenuItems:function(items,options)
{options=options||{};if(items.length)
{for(var i=0,len=items.length;i<len;++i)
{if(items[i])
this.addMenuItem(items[i],i);}}
else
{var emptyString=options.empty||'No Results';this.menuUl.appendChild(QBuilder('li',{className:'Empty Disabled'},[QBuilder('a',{className:'MenuItemLink'},[emptyString])]));}},addMenuItem:function(item,index)
{var link=null;var liParams={};if(item.domNode)
{var domNode=Qualtrics.Event.executeDotSyntax(item.domNode);if(domNode)
link=domNode;if(item.disabled)
liParams.className='Disabled';if(item.action)
{domNode.setAttribute('mouseupcallback',this.getItemCallback(item,index));}
if(item.bubbleup)
{var descendants=$(domNode).descendants();for(var i=0,len=descendants.length;i<len;++i)
{descendants[i].setAttribute('bubbleup',true);}}}
if(item.type=='TextInput')
{link=this.addTextInputItem(item);}
if(!link)
{var icon=this.getItemIcon(item);var display=this.getItemDisplay(item);var value=this.getItemValue(item);var className=this.getItemClass(item);var parameters=this.getItemParameters(item,index);if(!link)
{link=item.separator?display:QBuilder('a',parameters,[icon]);}
if(item.blockContent)
{link=QBuilder('div',parameters,[icon]);$(link).addClassName('BlockMenuItem');}
if(typeof display=='string')
{link.innerHTML=link.innerHTML+display;}
else
{link.appendChild(display);}
if(className){liParams.className=className;}
if(item.id)
{liParams.id=item.id;}
if(item.group)
{liParams['menugroup']=item.group;}
if(item.onmouseover)
{link.setAttribute('menupanemouseover',item.onmouseover);this.needsMouseOverEventObserver=true;}
if(item.submenu&&!item.disabled)
{var subMenuDef=item.submenu;if(typeof subMenuDef=='object')
{subMenuDef=Object.toJSON(subMenuDef);}
link.setAttribute('submenu',subMenuDef);}}
this.menuUl.appendChild(QBuilder('li',liParams,[link]));},addTextInputItem:function(item)
{var input=QBuilder('input',{type:'text',className:'TextBox'});var label='';if(item.action)
{input.setAttribute('keyentercallback','Qualtrics.Menu.destroyAllMenus; '+item.action);if(item.realTime)
{input.setAttribute('keyupcallback',item.action);}}
if(item.validation)
{input.setAttribute('validation',item.validation)}
if(item.display)
{input.setAttribute('autoclear',item.display);$(input).addClassName('AutoClearMessage');input.value=item.display;}
if(item.label)
{label=QBuilder('label',{},item.label);}
if(item.value!=undefined)
{input.value=item.value;}
if(item.focus)
{QualtricsTools.focusInput.curry(input).defer()}
return QBuilder('div',{className:'MenuInputContainer'},[label,input]);},updateMenuUl:function(def)
{deleteChildren(this.menuUl);if(def.ajax)
{return this.evaluateAjaxMenu(def);}
this.addMenuItems(def.items);},getMenuItemById:function(itemId)
{for(var i=0;i<this.menuDef.items.length;i++)
{if(this.menuDef.items[i].id==itemId)
return this.menuDef.items[i];}},getMenuItemPath:function(opt_idOnly)
{var id;var parent=this;var path=[];if(this.selectionNode)
{if(opt_idOnly)
path.push(this.selectionNode.id);else
path.push(this.getMenuItemById(this.selectionNode.id));}
while(parent!=null)
{if(parent.parentButton&&parent.parentMenu)
{if(opt_idOnly)
path.push(parent.parentButton.id);else
path.push(parent.parentMenu.getMenuItemById(parent.parentButton.id));}
parent=parent.parentMenu;}
return path.reverse();},getItemClass:function(item)
{var checked=item.checked;if(this.options.selectMenu&&this.currentValue==item.value)
{checked=true;}
var className=(item.className||'');if(item.separator)
{className+=' Separator';}
if(checked)
{className+=' check';}
if(item.disabled)
{className+=' Disabled';}
return className;},getItemParameters:function(item,index)
{if(item.params)
{item.parameters=item.params;}
var parameters={};if(!parameters.className)
{parameters.className='';}
parameters.className+=' MenuItemLink';var clickcallback=this.getItemCallback(item,index);if(clickcallback)
{parameters.mouseupcallback=clickcallback;if(Qualtrics.Browser.IE6)
{parameters.href='javascript:void(0)';}}
if(item.parameters)
{Object.extend(parameters,item.parameters);}
if(item.defer)
{parameters.defer=item.defer;}
if(item.uncheckGroup)
{parameters.uncheckGroup=item.uncheckGroup;}
if(this.menuDef&&this.menuDef.togglecheck)
{parameters['togglecheck']='true';}
if(this.menuDef&&this.menuDef.togglecheckexclusive!=undefined||this.options.selectMenu)
{if(this.menuDef.togglecheckexclusive||this.options.selectMenu)
parameters['togglecheckexclusive']='true';else
parameters['togglecheckexclusive']='false';}
else if(item.checked!=undefined)
{parameters['togglecheck']='true';}
parameters['itemindex']=index;return parameters;},getItemCallback:function(item,index)
{var callback='';var value=this.getItemValue(item);var display=this.getItemDisplay(item);if(item.action)
{callback=item.action;}
callback=callback.replace('$menuPaneId',this.id);callback=callback.replace('$value',value);return callback;},getItemIcon:function(item)
{if(item.icon!==false&&this.menuDef.icon!==false)
{if(typeof item.icon!='boolean')
return QBuilder('span',{className:'icon '+item.icon});else
return QBuilder('span',{className:'icon'});}
else
{return'';}},getItemDisplay:function(item)
{if(item.separator)
{return'-';}
var display=item.display;if(!item.display&&(item.display!=0||item.display!='0'))
{display=item.label;}
if(typeof display=='number')
display=String(display);if(this.processItemDisplay)
{display=this.processItemDisplay(display,item);}
if(display===undefined||display===null)
{display='';}
var truncate=item.truncate||this.menuDef.truncate||false;if(truncate)
{display=QualtricsCPTools.middleTruncate(display,truncate);}
return(!display)?'\xa0':display;},getItemValue:function(item)
{var value='';if(item.value);value=item.value;return value;},search:function(s,el,evt)
{if(evt&&evt.keyCode>36&&evt.keyCode<41||evt.keyCode==Event.KEY_RETURN)
{return;}
var sCopy=s;s=s.toLowerCase();if(this.searchTerm&&sCopy==this.searchTerm)
return;var cleared='';if(el.getAttribute('autoclear'))
{cleared=el.getAttribute('autoclear').toLowerCase();if(s==cleared)
{s=undefined;}}
this.hideSubMenu();var filtered=false;if(s&&this.menuDef.search&&this.menuDef.search!==true)
{if(typeof this.menuDef.search=='string'&&this.menuDef.search.startsWith('{"ajax'))
{var searchAjax=Qualtrics.parseJSON(this.menuDef.search);searchAjax.ajax.parameters.Search=s;this.searchTerm=sCopy;this.startIndex=0;this.customFilteredMenu=true;this.evaluateAjaxMenu(searchAjax);}
else
{var filterDef=Qualtrics.Event.executeDotSyntax(this.menuDef.search,null,null,null,{'$search':s});if(filterDef.items)
{this.customFilteredMenu=true;this.replaceItemsWithNewDef(filterDef);}
filtered=true;}}
else
{this.searchTerm=null;if(this.customFilteredMenu)
{this.replaceItemsWithNewDef(this.menuDef);}
filtered=this.filterMenu(s,el,evt);}
this.positionMenu();this.positionOutline();if(filtered)
{Qualtrics.Menu.down();}},filterMenu:function(s,el,evt)
{if(this.menuUl)
{var children=$(this.menuUl).childElements();for(var i=0,len=children.length;i<len;++i)
{if(!children[i].firstChild)
continue;var text=children[i].firstChild.textContent||children[i].firstChild.innerText||'';text=text.toLowerCase();if(s&&s.length>0&&text.indexOf(s)==-1)
{children[i].hide();}
else
{children[i].show();}}}},replaceItemsWithNewDef:function(menuDef)
{Qualtrics.Menu.deactivateArrowMode();deleteChildren(this.menuUl);this.addMenuItems(menuDef.items);this.subMenuSetupComplete=false;this.setupSubMenus();if(menuDef.count!=null&&this.menuDom.childElementCount>2)
{if(menuDef.count>this.perpage)
this.menuDom.lastElementChild.show();else
this.menuDom.lastElementChild.hide();}
if(this.searchTerm&&this.menuDom.childElementCount>2)
{this.menuDom.removeChild(this.menuDom.children[2]);var next='';var prev='';if(this.startIndex>0)
prev=QBuilder('a',{className:'Pagination left',href:'javascript:void(0)',clickcallback:'Qualtrics.MenuPane.prevPage:'+this.id},'Previous');if(this.startIndex+this.perpage<menuDef.count)
next=QBuilder('a',{className:'Pagination right',href:'javascript:void(0)',clickcallback:'Qualtrics.MenuPane.nextPage:'+this.id},'Next')
if(prev||next)
{this.menuDom.appendChild(QBuilder('div',{className:'Pagination'},[prev,next,QBuilder('div',{className:'clear'})]));}}},getAjaxComplete:function(loadingDom,ajaxOptions)
{var that=this;ajaxOptions=ajaxOptions||{};return function(transport)
{try{if(that.searchTerm||loadingDom.offsetWidth)
{var response=transport.responseText;if(ajaxOptions.preparser)
{var params=[response];var paramMap={$response:response,$ajaxParams:transport.request.parameters,$menuDef:that.menuDef,$parentMenu:that.parentMenu};if(ajaxOptions.preparams)
{for(var param in ajaxOptions.preparams)
params.push(ajaxOptions.preparams[param]);}
response=Qualtrics.Event.executeDotSyntax(ajaxOptions.preparser,null,null,null,paramMap,params);}
if(ajaxOptions.postparser)
{var params=[response];var paramMap={$response:response,$ajaxParams:transport.request.parameters,$menuDef:that.menuDef,$parentMenu:that.parentMenu};response=Qualtrics.Event.executeDotSyntax(ajaxOptions.postparser,null,null,null,paramMap,params);}
if(that.searchTerm)
that.replaceItemsWithNewDef(response);else
that.replaceMenuDefinition(response);}}catch(e)
{console.error('cant parse menu def: '+e);}}},getMultiAjaxComplete:function(loadingDom,ajaxOptions)
{var that=this;ajaxOptions=ajaxOptions||{};return function(transport)
{try{if(that.searchTerm||loadingDom.offsetWidth)
{var response=transport.responseText;if(ajaxOptions.preparser)
{var params=[response];var paramMap={$response:response,$ajaxParams:transport.request.parameters,$menuDef:that.menuDef,$parentMenu:that.parentMenu};if(ajaxOptions.preparams)
{for(var param in ajaxOptions.preparams)
params.push(ajaxOptions.preparams[param]);}
response=Qualtrics.Event.executeDotSyntax(ajaxOptions.preparser,null,null,null,paramMap,params);}
if(ajaxOptions.postparser)
{var params=[response];var paramMap={$response:response,$ajaxParams:transport.request.parameters,$menuDef:that.menuDef,$parentMenu:that.parentMenu};response=Qualtrics.Event.executeDotSyntax(ajaxOptions.postparser,null,null,null,paramMap,params);}
if(that.searchTerm)
that.replaceItemsWithNewDef(response);else
that.replaceMenuDefinition(response);}}catch(e)
{console.error('cant parse menu def: '+e);}}},replaceMenuDefinition:function(newMenuDef)
{var forcedPosition=null;if(this.options.mousePosition)
{forcedPosition={top:this.top,left:this.left,right:this.right}}
var that=this;var oldDom=that.menuDom;var newDom=that.constructMenu(newMenuDef,{empty:'No Results'});if(newDom)
{if(oldDom)
{oldDom.parentNode.insertBefore(newDom,oldDom);newDom.id=oldDom.id;}
else
{this.insertMenu();}
if(that.parentMenu)
{that.addClassNames();that.setupSubMenuEvents();}
that.positionMenu(forcedPosition);that.deactivateArrowMode();that.subMenuSetupComplete=false;that.setupSubMenus(newDom);if(that.searchInputDom&&!this.searchTerm)
{QualtricsTools.focusInput(that.searchInputDom,0);}}
if(oldDom)
{oldDom.onmouseup=null;removeElement(oldDom);}},setupSubMenus:function(menuDiv)
{if(this.subMenuSetupComplete)
{return;}
this.subMenuSetupComplete=true;if(this.menuUl)
{var ul=this.menuUl;var children=$(ul).childElements();var widestItem=0;for(var i=0,len=children.length;i<len;++i)
{var foundSub=null;var link=$(children[i]).down&&$(children[i]).down();if(link)
{var width=link.offsetWidth;if(width>widestItem)
{widestItem=width;}
var submenuOptions={mouse:true}
if(this.options.outline)
{submenuOptions.outline=this.options.outline;}
if(link.getAttribute('menuclass'))
{submenuOptions.className=link.getAttribute('menuclass');}
if(link.getAttribute('submenu'))
{foundSub=true;link.onmouseover=this.getDynamicSubMenuClosure(link.getAttribute('submenu'),children[i],submenuOptions);}
else if(!link.hasClassName('Pagination'))
{var subMenu=$(link).next();if(subMenu)
{foundSub=true;link.onmouseover=this.getSubMenuShowClosure(subMenu,children[i],submenuOptions);$(subMenu).hide();$(subMenu).addClassName('QSubMenu');}}
if(foundSub)
{this.hasSubMenus=true;children[i].hasSubMenu=true;link.appendChild(QBuilder('span',{className:'ArrowIcon'}));$(children[i]).addClassName('HasSubMenu');}
else
{link.onmouseover=this.getSubMenuHideClosure({mouse:true});}}}
if(Qualtrics.Browser.IE&&Qualtrics.Browser.Version<8)
{var paddingOffset=null;for(var i=0,len=children.length;i<len;++i)
{var link=$(children[i]).down&&$(children[i]).down();if(link)
{if(paddingOffset===null)
{var paddingLeftRight=[$(link).getStyle('paddingLeft'),$(link).getStyle('paddingRight')].invoke('replace','px','');paddingOffset=Number(paddingLeftRight[0])+Number(paddingLeftRight[1]);}
if(widestItem&&paddingOffset)
{$(link).setStyle({width:(widestItem-paddingOffset)+'px'});}}
if(children[i].className.indexOf('Separator')!=-1)
{$(children[i]).setStyle({width:(widestItem-paddingOffset)+'px'});}}}
if(this.hasSubMenus)
{if(!Qualtrics.Menu.velocityProcessor&&window.QualtricsCPTools)
{Qualtrics.Menu.velocityProcessor=QualtricsCPTools.velocimeter.add(Qualtrics.Menu.processVelocity);}}}},getAutoDirection:function()
{if(this.options.mousePosition)
{var pageSize=getPageSize();return(mousePos[0]>pageSize[0]/2)?'left':'right';}
var page=$('center')||document.body;var pageWidth=$(page).getWidth();var pagePos=Position.cumulativeOffset(page);var pageCenter=pagePos[0]+((pagePos[0]+pageWidth)/2);if(this.buttonInfo.left<pageCenter)
{return'right'}
return'left';},getAutoAlignment:function()
{if(this.direction=='left')
{return'right';}
else
{return'left';}},positionMenu:function(opt_forcePosition)
{this.forcedDirection=null;if(this.options.positionCallback)
{var position=this.options.positionCallback();if(position.y&&position.x)
{var topPos=position.y;$(this.menuDom).setStyle({top:topPos+'px',left:position.x+'px'});return;}
if(position.width)
{$(this.menuDom).setStyle({width:position.width+'px'});}}
var pageSize=getPageSize();if(this.parentMenu)
{$(this.menuDom).show();}
var menuWidth=this.menuDom.offsetWidth;var topPos=this.buttonInfo.top+this.buttonInfo.height-1;var leftPos=this.buttonInfo.left+1;var rightPos=leftPos+this.buttonInfo.width-menuWidth;if(this.options.mousePosition)
{topPos=mousePos[1]+1;leftPos=mousePos[0]+1;rightPos=mousePos[0]-menuWidth-1;}
if(this.options.fixed||(this.menuDef&&this.menuDef.fixed))
{topPos+=scrollInfo[1];}
if(this.options.position=='horizontal')
{leftPos=this.buttonInfo.left+this.buttonInfo.width;topPos=this.buttonInfo.top;rightPos=0-menuWidth;}
if(this.parentMenu)
{topPos-=this.parentMenu.menuUl.scrollTop;leftPos=this.parentMenu.menuUl.offsetWidth;rightPos=0-menuWidth;}
if(this.options.relative)
{leftPos=0;topPos=this.buttonInfo.height;rightPos=0-menuWidth+this.buttonInfo.width;}
if(opt_forcePosition)
{var f=opt_forcePosition;if(f.top)
{topPos=f.top;}
if(f.left)
{leftPos=f.left;}
if(f.right)
{rightPos=f.right;}}
if(this.alignment=='left')
{$(this.menuDom).setStyle({top:topPos+'px',left:leftPos+'px'});}
else
{$(this.menuDom).setStyle({top:topPos+'px',left:rightPos+'px'});}
this.top=topPos;this.left=leftPos;this.right=rightPos;var cumulativeOffset=this.getCumulativeOffset();var breathingRoom=40;if(this.direction=='right'&&cumulativeOffset.left+menuWidth>(pageSize[0]-breathingRoom))
{rightPos=Math.max(this.buttonInfo.width-cumulativeOffset.left,rightPos);this.forcedDirection='left';$(this.menuDom).setStyle({top:topPos+'px',left:rightPos+'px'});}
else if(this.direction=='left'&&cumulativeOffset.left<0)
{this.forcedDirection='right';$(this.menuDom).setStyle({top:topPos+'px',left:leftPos+'px'});}
if(this.options.height)
{this.clipMenu(this.options.height);}
this.adjustMenu({leftPos:leftPos,rightPos:rightPos,topPos:topPos});if(this.options.outline)
{Qualtrics.Menu.drawOutline();}
if(this.options.positionOverRide)
{Qualtrics.Event.executeDotSyntax(this.options.positionOverRide,null,null,null,null,[this.menuDom])}},adjustMenu:function(options)
{options=options||{};var leftPos=options.leftPos||0;var rightPos=options.rightPos||0;var topPos=options.topPos||0;var pageSize=getPageSize();var cumulativeOffset=this.getCumulativeOffset();var viewHeight=pageSize[3];var viewBottom=scrollInfo[1]+viewHeight;var menuTop=this.menuDom.offsetTop;var menuHeight=this.menuDom.offsetHeight;var padding=24;var clippedY=cumulativeOffset.top+menuHeight-viewBottom;if(clippedY>0)
{var adjustedTop=null;var adjustedLeft=null;if(leftPos<this.buttonInfo.left+this.buttonInfo.width-10)
{var buttonHeadRoom=this.buttonInfo.top-scrollInfo[1];if(this.options.fixed)
{buttonHeadRoom=this.buttonInfo.top;}
if(menuHeight<buttonHeadRoom)
{if(!this.options.relative)
{adjustedTop=this.buttonInfo.top-menuHeight;if(this.options.fixed)
{buttonHeadRoom=adjustedTop+=scrollInfo[1];}}}
else
{if(!this.options.dontAdjustHorizontally)
{if(this.direction=='right')
{adjustedLeft=leftPos+this.buttonInfo.width;}
else
{adjustedLeft=rightPos-(this.buttonInfo.width);}}}}
if(!adjustedTop)
{var remainder=0;var headRoom=cumulativeOffset.top-scrollInfo[1];if(this.options.dontAdjustHorizontally)
{clippedY+=this.buttonInfo.height;}
if(clippedY>headRoom)
{remainder=clippedY-headRoom;clippedY=headRoom;}
adjustedTop=topPos-clippedY;if(remainder>0)
{var listHeight=this.menuUl.offsetHeight;var maxHeight=listHeight-remainder;this.clipMenu(maxHeight-(padding*2));adjustedTop+=padding;}
else
{adjustedTop-=padding;}}
if(adjustedTop)
{$(this.menuDom).setStyle({top:(adjustedTop)+'px'});}
if(adjustedLeft)
{var menuWidth=this.menuDom.offsetWidth;if(pageSize[2]<menuWidth)
{$(this.menuDom).setStyle({width:(pageSize[2]-adjustedLeft-10)+'px'});$(this.menuDom).down().setStyle({width:((pageSize[2]-adjustedLeft)-10)+'px',overflowX:'auto'});}
$(this.menuDom).setStyle({left:(adjustedLeft)+'px'});}}
else if(pageSize[2]<this.menuDom.offsetWidth)
{if(this.direction=='right')
{adjustedLeft=leftPos+this.buttonInfo.width;}
else
{adjustedLeft=rightPos-(this.buttonInfo.width);}
$(this.menuDom).setStyle({width:(pageSize[2]-adjustedLeft-10)+'px',left:(adjustedLeft)+'px'});$(this.menuDom).down().setStyle({width:((pageSize[2]-adjustedLeft)-10)+'px',overflowX:'auto'});}},clipMenu:function(height)
{$(this.menuUl).setStyle({height:height+'px',overflowX:'visible',overflowY:'scroll',position:'relative'});},getButtonPos:function()
{if(this.options.customPositionCallback)
{var rm=Qualtrics.Event.getDotSyntaxParts(this.options.customPositionCallback);return rm.method.apply(rm.root,[this.parentButton]);}
if(this.parentMenu)
{var topPos=this.parentButton.offsetTop;return{left:this.parentButton.offsetLeft,top:topPos};}
var pos=Position.cumulativeOffset(this.parentButton);var scrollOffsets=QualtricsTools.cumulativeScrollOffset(this.parentButton);pos[0]-=scrollOffsets[0];pos[1]-=scrollOffsets[1];if(Qualtrics.Browser.IE&&this.menuDef&&this.menuDef.fixed)
{pos[0]+=scrollInfo[0];pos[1]+=scrollInfo[1];}
return{left:pos[0],top:pos[1]};},positionOutline:function()
{if(this.menuOutlineDom)
{var bg=this.menuOutlineDom;var m=this;var offset=m.getCumulativeOffset();bg.style.left=offset.left+'px';bg.style.top=offset.top+'px';bg.style.width=m.menuDom.offsetWidth+'px';bg.style.height=m.menuDom.offsetHeight+'px';}},getActiveMenuItem:function()
{var menu=this.menuUl;if(this.arrowMode)
{if(this.arrowSelectedItem)
{this.selectionNode=this.arrowSelectedItem;return this.selectionNode;}}
if(menu)
{var menuTopScroll=this.menuDom.scrollTop;$(menu).cleanWhitespace();var childs=menu.childNodes;var selectionNode=null;for(var i=0,len=childs.length;i<len;++i)
{if($(childs[i]).cumulativeOffset)
{var offset=$(childs[i]).cumulativeOffset();if(menu.scrollTop)
{offset[1]-=menu.scrollTop;}
var strangeBottomOffset=1;var isWithinChild=(mousePos[0]>offset[0]&&mousePos[0]<offset[0]+childs[i].offsetWidth&&mousePos[1]>(offset[1]-menuTopScroll)&&mousePos[1]<(offset[1]+childs[i].offsetHeight-menuTopScroll+strangeBottomOffset));if(isWithinChild)
{selectionNode=childs[i];this.selectionNode=selectionNode;return this.selectionNode;}}}}},observeMenuUp:function(menuNode)
{if(!menuNode.mouseUpObserver)
{menuNode.mouseUpObserver=true;menuNode.onmouseup=this.flashSelectionAndDestroyMenu;}},flashSelectionAndDestroyMenu:function(evt)
{if(!evt)evt=window.event;if(evt)
{if(!evt.keyCode&&!Event.isLeftClick(evt))
{return;}
var clickedEl=Event.element(evt);if(clickedEl&&!evt.keyCode)
{if(clickedEl.id=='QMenu'||clickedEl.tagName=='UL')return;if(clickedEl.nodeName=='INPUT')return;if(clickedEl.getAttribute('keepmenuopen'))return;clickedEl=null;}}
var menu=Qualtrics.Menu.getActiveMenuPane();var selectionNode=menu.getActiveMenuItem();var itemDef={};var link=null;if(selectionNode)
{if($(selectionNode).hasClassName('Disabled')||$(selectionNode).hasClassName('Pagination'))
{return;}
$(selectionNode).cleanWhitespace();link=selectionNode.firstChild;if(link&&link.nodeType==1)
{if(link.getAttribute('itemindex'))
{if(menu.menuDef.items)
{itemDef=menu.menuDef.items[link.getAttribute('itemindex')];}}
if(link.getAttribute('uncheckGroup'))
{var groups=link.getAttribute('uncheckGroup').split(',');if(selectionNode&&selectionNode.parentNode)
{Qualtrics.Menu.uncheckAll(selectionNode.parentNode,{groups:groups});}}
if(link.getAttribute('togglecheck'))
{QMenu.toggleCheck(selectionNode);}
if(link.getAttribute('togglecheckexclusive'))
{QMenu.toggleCheck(selectionNode,{selectOne:true});}
if(link.getAttribute('keepmenuopen'))
{return;}}
else
{return;}
$(selectionNode.firstChild).addClassName('SelectionFlash');$(selectionNode.firstChild).removeClassName.bind(selectionNode.firstChild,'SelectionFlash').delay(0.1);}
if(menu.options.keepmenuopen)
return;var shouldRunSelectionFunctions=true;if(!link||link.nodeName!='A')
{if(menu.options&&menu.options.closeMenuOnNonMenuItem===false)
{return;}}
if(selectionNode&&menu&&shouldRunSelectionFunctions)
{clearTimeout(Qualtrics.Menu.menuCloseTimer);Qualtrics.Menu.menuCloseTimer=Qualtrics.Menu.destroyMenu.curry(menu.id).delay(0.3);if(menu.type!='SelectMenuPane')
{var selectCallBack=menu.options['menuItemSelectCallback']||(menu.menuDef&&menu.menuDef['menuItemSelectCallback']);if(selectCallBack)
{var params=[selectionNode];var parameterMap={'$selected':selectionNode,'$value':itemDef.value,'$item':itemDef}
Qualtrics.Event.executeDotSyntax.curry(selectCallBack,null,null,null,parameterMap,params).defer();}}}
if(selectionNode&&menu.options.selectMenu&&itemDef)
{menu.currentValue=itemDef.value;if(menu.parentButton)
{menu.parentButton.setAttribute('currentvalue',menu.currentValue);}
var text=menu.getItemDisplay(itemDef);menu.setButtonText(text);}
menu=null;},artificiallyExecuteMenuItem:function(liNode)
{if(liNode&&$(liNode).down)
{var a=$(liNode).down();if(a)
{var clickcallback=a.getAttribute('clickcallback')||a.getAttribute('mouseupcallback');var instanceid=a.getAttribute('instanceid');var i=0,params=[];do{i++;var param=a.getAttribute('p'+i);if(param)
{params.push(param);}}while(param);if(clickcallback)
{Qualtrics.Event.executeDotSyntax(clickcallback,instanceid,null,params);}}}},getDynamicSubMenuClosure:function(subMenu,button,options)
{options=Qualtrics.Menu.processOptions(options);options.right=0;return this.getSubMenuShowClosure(subMenu,button,options);},getSubMenuShowClosure:function(menuBuilder,button,options)
{var that=this;options=options||{};options.parentNode=this.menuDom;return function(evt)
{if(that.parentMenu)
{that.parentMenu.traveling=false;}
if(options.mouse)
{Qualtrics.Menu.deactivateArrowMode();}
var activeMenuPane=Qualtrics.Menu.getActiveMenuPane();if(activeMenuPane.getRootMenu().id!=that.getRootMenu().id)
{return;}
if(that.activeSubMenu&&that.activeSubMenu.parentButton==button)
{that.hideSubMenuOnLowVelocity=false;that.suppressedSubMenu=null;return;}
that.hideSubMenuOnLowVelocity=false;that.showSubMenu.bind(that,menuBuilder,button,options)();}},getSubMenuHideClosure:function(options)
{var that=this;options=options||{};return function(evt)
{that.hideSubMenuOnLowVelocity=false;that.suppressedSubMenu=null;var activeMenu=Qualtrics.Menu.getActiveMenuPane()
if(options.mouse)
{Qualtrics.Menu.deactivateArrowMode();}
if(activeMenu&&activeMenu.parentMenu)
{if(activeMenu==that.activeSubMenu)
{activeMenu.parentMenu.hideSubMenuOnLowVelocity=true;}
else
{that.hideSubMenu();}}}},getSubMenuHideSequenceClosure:function(subMenu)
{var menuPane=this;return function()
{if(menuPane.suppressedSubMenu&&menuPane.suppressedSubMenu.menu==subMenu)
{menuPane.suppressedSubMenu=null;}
if(menuPane.showTimer)
{clearTimeout(menuPane.showTimer);menuPane.showTimer=null;}
menuPane.hideSubMenuOnLowVelocity=true;}},showSubMenu:function(subMenu,button,options)
{options=Qualtrics.Menu.processOptions(options);this.showTimer=null;if(this.traveling)
{this.suppressedSubMenu={menu:subMenu,button:button,options:options};return false;}
this.suppressedSubMenu=null;this.hideSubMenu();options.position="horizontal";if(this.type=="SelectMenuPane")
{Object.extend(options,this.options);this.activeSubMenu=new Qualtrics.SelectMenuPane(subMenu,button,this,options);}
else
{this.activeSubMenu=new Qualtrics.MenuPane(subMenu,button,this,options);}
this.activeSubMenu.setupSubMenuEvents()
if(this.arrowMode)
{Qualtrics.Menu.down(subMenu);}},setupSubMenuEvents:function(subMenuBuilder,menuDom,button)
{if(this.parentMenu)
{if(this.getRootMenu().options.closeSubMenuOnMouseOut)
{this.parentButton.onmouseout=this.parentMenu.getSubMenuHideSequenceClosure(this.menuDom);this.menuDom.onmouseout=this.parentMenu.getSubMenuHideSequenceClosure(this.menuDom);}
this.menuDom.onmouseover=this.parentMenu.getSubMenuShowClosure(this.menuBuilder,this.parentButton);}},hideSubMenu:function()
{if(this.activeSubMenu)
{this.activeSubMenu.destroy();}},destroy:function(opt_recursive)
{this.destroyed=true;Qualtrics.Menu.removeMenuPaneFromStack(this);if(this.menuOutlineDom)
{removeElement(this.menuOutlineDom);}
if(this.parentButton)
{$(this.parentButton).removeClassName('ActiveSubMenu');}
if(this.parentMenu)
{if(this.activeSubMenu)
{this.activeSubMenu.destroy();}
if($(this.parentMenu.menuUl))
$(this.parentMenu.menuUl).removeClassName('HasActiveSubMenu');if(this.menuDom)
{$(this.menuDom).hide();}
if(this.menuDom)
{this.menuDom.onmouseup=null;if($(this.menuDom).parentNode!=null)
{$(this.menuDom).remove();}}
this.parentMenu.activeSubMenu=null;this.parentMenu.hideSubMenuOnLowVelocity=null;if(opt_recursive)
{this.parentMenu.destroy(opt_recursive);}}
else
{this.selectionNode=null;if(!Qualtrics.Menu.menuPaneStack.length)
{Event.stopObserving(document,'mousedown',Qualtrics.Menu.documentDownHandler);Qualtrics.Menu.documentObserver=null;if(Qualtrics.Menu.overlayObj)
{Qualtrics.Menu.overlayObj.remove();Qualtrics.Menu.overlayObj=null;}}
if(this.menuDom)
{this.menuDom.onmouseup=null;if($(this.menuDom).parentNode!=null)
{$(this.menuDom).remove();}}
this.menuDom=null;this.menuUl=null;this.searchInput=null;}
if(this.parentButton&&this.parentButton.aNode)
{$(this.parentButton.aNode).removeClassName('HasActiveMenu');}
if(this.options.onMenuClose)
{Qualtrics.Event.executeDotSyntax(this.options.onMenuClose,null,null,null,{'$menuPane':this});}
if(this.onClose)
{try{this.onClose();}catch(e)
{throw(e)}}},activateArrowMode:function()
{this.setupMouseModeEvents();this.arrowMode=true;$(this.menuUl).addClassName('ArrowSelectMode');},deactivateArrowMode:function()
{if(this.arrowMode)
{$(this.menuUl).removeClassName('ArrowSelectMode');this.arrowMode=false;this.arrowSelectedItem=null;if(!this.parentMenu)
{this.menuUl.onmouseover=null;}
this.hideSubMenu();}},setupMouseModeEvents:function()
{if(this.menuUl&&!this.parentMenu)
{this.menuUl.onmouseover=Qualtrics.Menu.deactivateArrowMode;}},unselectAll:function()
{var children=$(this.menuUl).childElements();for(var i=0,len=children.length;i<len;++i)
{var li=children[i];li.removeClassName('ArrowSelected');}},selectItem:function(liNode)
{if(!this.arrowMode)
{this.activateArrowMode();}
this.unselectAll();this.arrowSelectedItem=liNode;$(liNode).addClassName('ArrowSelected');},setButtonText:function(text)
{var button=this.parentButton;if(button)
{var textNode='';var aTag=QualtricsTools.fastUp(button,'menuButton');if(aTag)
{textNode=aTag.callbackNode;}
else
{textNode=QualtricsTools.fastDown(button);if(textNode)
{textNode=textNode.parentNode;}}
if(textNode)
{try
{textNode.innerHTML=text;}
catch(err)
{console.error(err);textNode[textNode.innerText?'innerText':'textContent']=text;}}}},setupMenuButtonInput:function(initialValue,fieldName,button)
{if(!$(fieldName))
{var input=QBuilder('input',{type:'hidden',id:fieldName,name:fieldName,value:initialValue});if(button&&button.firstChild)
button.firstChild.appendChild(input);}
else
{if(!$(fieldName).value)$(fieldName).value=initialValue;}
button.setAttribute('currentvalue',initialValue);},nextPage:function()
{this.startIndex+=this.perpage;this.hideSubMenu();Qualtrics.Menu.keepMenuOpen();this.refreshMenu();},prevPage:function()
{if(this.startIndex>0)
{this.startIndex-=this.perpage;this.hideSubMenu();Qualtrics.Menu.keepMenuOpen();this.refreshMenu();}}};Qualtrics.SelectMenuPane=Class.create(Qualtrics.MenuPane,{type:'SelectMenuPane',initialize:function($super,menuBuilder,parentButton,opt_parentMenu,options)
{$super(menuBuilder,parentButton,opt_parentMenu,options);},getItemCallback:function(item,itemIndex)
{if(item.disabled)
{return false;}
return(item.action)?item.action:'Qualtrics.SelectMenuPane.selectMenuItemSelect:'+this.id+'('+itemIndex+')';},selectMenuItemSelect:function(itemIndex)
{var item=this.menuDef.items[itemIndex];var fieldName=this.options.fieldName;var value=this.getItemValue(item);if(!value)
{if(!item.unselectable)
return;}
if($(fieldName))
{$(fieldName).value=value;}
var button=this.parentButton;if(button)
{button.setAttribute('currentvalue',value);}
var text=this.getItemDisplay(item);var truncate=this.menuDef.truncate;if(truncate)
{text.truncate(truncate);}
var selectCallBack=this.options['menuItemSelectCallback']||button.getAttribute('menuitemselectcallback');if(this.selectionNode)
this.setButtonText(text);if(selectCallBack&&this.selectionNode)
{var selectedNode=this.selectionNode;var aNode=$(selectedNode).down('a');if(!value)
{value=aNode.getAttribute('p3');}
if(!text)
{text=aNode.getAttribute('p4');}
var params=[this.options.buttonId,value,text];var parameterMap={'$selected':selectedNode,'$value':value,'$label':text,'$fieldName':fieldName,'$buttonId':this.options.buttonId,'$menuDef':this.menuDef,'$item':item}
if(Qualtrics.Event.callbackHasParams(selectCallBack))
{params=null;}
Qualtrics.Event.executeDotSyntax.curry(selectCallBack,null,null,params,parameterMap).defer();}}});Qualtrics.SelectMenuPane.getInstance=QualtricsTools.getInstanceHelper(Qualtrics.Menu.menuPaneStack,'id');QMenu={buildMenuButton:function(title,menuCallBack,options)
{return Qualtrics.Menu.buildMenuButton(title,menuCallBack,options);},buildSelectMenuButton:function(initialValue,fieldName,options)
{return Qualtrics.Menu.buildSelectMenuButton(initialValue,fieldName,options);},buildAjaxMenuButton:function(title,options)
{var fieldName=options.fieldName;var buttonId=fieldName+'_Button';var opt_url=options.opt_url;var searchParam=null;if(options.searchParam)
searchParam=options.searchParam;var menuOptions={className:'SelectMenuButton',menuType:'SelectMenuPane',buttonId:buttonId,fieldName:fieldName,searchParam:searchParam,url:opt_url,p1:fieldName,p2:buttonId,p3:'$options',menuItemSelectCallback:options.menuItemSelectCallback||null};menuOptions.selectMenu=true;var button=QMenu.buildMenuButton(title,'QMenu.buildAjaxMenu',menuOptions);return button;},buildSelectMenu:function(fieldName,buttonId,options)
{return Qualtrics.Menu.buildSelectMenu(fieldName,buttonId,options)},buildAjaxMenu:function(fieldName,buttonId,options)
{var button=$(options.p2);var params={};if(options.searchParam)
{params[options.searchParam]=options.searchText;}
var menuDef={ajax:{url:options.url,parameters:params,preparser:'QMenu.parseOldAjaxList'}}
return menuDef;},parseOldAjaxList:function(list)
{list=list.evalJSON();var items=[];for(id in list['List'])
{if(typeof list['List'][id]=='function')
{continue;}
items.push({display:list['List'][id],value:id,icon:'false'});}
return{items:items};},keepMenuOpen:function()
{Qualtrics.Menu.keepMenuOpen();},showMenu:function(menuBuilder,clickedEl,options,opt_evt)
{Qualtrics.Menu.showMenu(menuBuilder,clickedEl,options,opt_evt);},toggleCheck:function(li,options)
{Qualtrics.Menu.toggleCheck(li,options);},isMenuExists:function()
{if($('QMenu'))
return true;else
return false;},positionMenu:function()
{Qualtrics.Menu.positionMenus();},mousedownHandler:Qualtrics.Menu.documentDownHandler,destroyMenu:Qualtrics.Menu.destroyAllMenus,buildComboBoxMenu:function(inputId,items)
{console.warn('buildComboBoxMenu is deprecated');var menu=QBuilder('ul');menu.appendChild(QMenu.buildComboBoxMenuItems(inputId,items));return menu;},buildComboBoxMenuItems:function(inputId,items)
{console.warn('buildComboBoxMenuItems is deprecated');var menu=document.createDocumentFragment();var values=Qualtrics.getArrayValues(items);if(values&&values.length)
{for(var i=0,len=values.length;i<len;++i)
{menu.appendChild(QBuilder('li',{},[QBuilder('a',{className:'MenuItemLink',href:'javascript:void(0)',clickcallback:'QMenu.setComboBoxValue',p1:inputId,p2:values[i]},[values[i]])]))}}
else
{menu.appendChild(QBuilder('li',{style:'width:100px'},'\xa0'));}
return menu;},setComboBoxValue:function(id,val)
{console.warn('setComboBoxValue is deprecated');$(id).value=val;Qualtrics.Event.baseDistributerReader(null,$(id),'comboboxupdatecallback');},hideMenuOnMouseOut:function()
{Qualtrics.Menu.hideMenuOnMouseOut();},refreshMenu:function()
{Qualtrics.Menu.refreshMenu();}}
// (C) 2007-2012 Qualtrics, Inc.

window.QPDFPrinter={pageSizes:{Letter:{width:935,height:1210},Legal:{width:935,height:1541},A4:{width:910,height:1286}},pageSizeOffset:1,pageMargin:25,enablePDF:true,getStylesheets:function()
{var styleSheets=document.styleSheets;var ret='<style>\n';for(var i=0;i<styleSheets.length;i++)
{var href=styleSheets[i].href;var cssRules=styleSheets[i].cssRules;var path='';if(href)
{path=href.substr(0,href.lastIndexOf('/'));path=path.substr(0,path.lastIndexOf('/'));}
for(var j=0;j<cssRules.length;j++)
{var css=cssRules[j].cssText;if(css.indexOf('../')!=-1)
{css=css.replace('..',path);}
ret+=css+'\n';}}
ret+='</style>\n';return ret;},getStylesheetLinks:function()
{var ret='';try{var styleSheets=document.styleSheets;var path=window.location.href;path=path.substr(0,path.lastIndexOf('/'));path=path.substr(0,path.lastIndexOf('/'));for(var i=0;i<styleSheets.length;i++)
{var href=styleSheets[i].href;if(href)
{if(href.indexOf('../')!=-1)
{href=href.replace('..',path);}
href+=((href.indexOf('?')!=-1)?'&x=':'?=')+Math.random();ret+='<link rel="stylesheet" type="text/css" href="'+href+'" />\n';}
else
{var cssRules=styleSheets[i].cssRules||styleSheets[i].rules;ret+='<style>';for(var j=0;j<cssRules.length;j++)
{var css=cssRules[j].cssText;if(css)
{if(css.indexOf('../')!=-1)
{css=css.replace('..',path);}
ret+=css+'\n';}}
ret+='</style>';}}}
catch(e)
{console.error(e)}
return ret;},printPDF:function(nodeList,options)
{if(Qualtrics.Browser.IE&&Qualtrics.Browser.Version<7)
{alert('PDF creation is not currently supported in Internet Explorer 6. Please upgrade your browser.');return;}
options=options||{};if(Qualtrics.pdfOptions)
{Object.extend(options,Qualtrics.pdfOptions);}
var filenameInput=QBuilder('div',{},[QBuilder('label',{},'File name'),QBuilder('input',{className:'TextBox',id:'pdffilename',name:'pdffilename',value:options.filename})]);var poCheck=QBuilder('input',{type:'radio',id:'pdforientationPortrait',name:'pdforientation'});var loCheck=QBuilder('input',{type:'radio',id:'pdforientationLandscape',name:'pdforientation'});var popts={'letter':QBuilder('option',{value:'Letter'},'Letter'),'legal':QBuilder('option',{value:'Legal'},'Legal'),'a4':QBuilder('option',{value:'A4'},'A4')};if(options.pageSize)
{$(popts[options.pageSize]).writeAttribute('selected');}
var pageSize=QBuilder('select',{id:'pdfPageSize',name:'pdfpageSize'},Object.values(popts));if(options.orientation=='landscape')
{loCheck.checked=true;loCheck.defaultChecked=true}
else
{poCheck.checked=true;poCheck.defaultChecked=true;}
var orientationInput=QBuilder('div',{id:'PDFOrientationInput'},[poCheck,QBuilder('label',{htmlFor:'pdforientationPortrait'},'Portrait'),loCheck,QBuilder('label',{htmlFor:'pdforientationLandscape'},'Landscape'),QBuilder('br'),QBuilder('label',{htmlFor:'pdfPageSize'},'Page Size'),pageSize]);var autoSizeInput=QBuilder('fieldSet',{},[QBuilder('input',{type:'checkbox',name:"AutoSizePDFToggle",id:"AutoSizePDFToggle",clickcallback:'QPDFPrinter.toggleAutoSize:'+this.id}),QBuilder('label',{htmlFor:"AutoSizePDFToggle"},"Do not resize content")]);var panel=QBuilder('div',{className:'pdfExportOptions'},[filenameInput,autoSizeInput,orientationInput]);var buttonText=options.exportButtonText?options.exportButtonText:'Export'
QPDFPrinter.nodeList=nodeList;QPDFPrinter.options=options;var win=new Q_Window({id:'QPDFPrinter',width:'auto',height:'auto',title:options.title||'PDF Export',zIndex:options.zIndex,buttons:[{icon:'cancel',text:'Close',click:'QPDFPrinter.close',className:'negative'},{icon:'',text:buttonText,click:'QPDFPrinter.printFromDialog',className:'positive'},{icon:'',text:'Preview',id:'PDFPreviewButton',click:'QPDFPrinter.printPreview',className:'positive',align:"left"}]});win.setContent(panel);},toggleAutoSize:function()
{$('PDFPreviewButton').toggle();$('PDFOrientationInput').toggle();QPDFPrinter.options.noAutoSize=$('AutoSizePDFToggle').checked;},printPreview:function()
{var win=new Q_Window({id:'QPDFPrinterPreview',width:'90%',height:'90%',title:'PDF Export',buttons:[{icon:'cancel',text:'Close',click:'Q_Window.closeWindow(QPDFPrinterPreview)',className:'negative'},{icon:'',text:'Export',click:'QPDFPrinter.printFromDialog',className:'positive'}]});this.buildPages();var previewPages=[];if(QPDFPrinter.options.noAutoPage)
{previewPages=this.pages;}
else
{for(var i=0,ilen=this.pages.length;i<ilen;i++)
{var page=this.pages[i];var width=parseInt($(page).getStyle('width'));if(width>this.pageWidth)
{page=QBuilder('div',{},[page]);console.log(this.pageWidth,width);var wScale=(this.pageWidth)/width;$(page).setStyle({'zoom':wScale,'MozTransform':'scale('+wScale+')','MozTransformOrigin':'left top'});}
var prevPage=QBuilder('div',{className:"PDFPreviewPage"},[page]);$(prevPage).setStyle({"width":(this.pageWidth+2*this.pageMargin)+"px","height":(this.pageHeight+2*this.pageMargin)+"px"});previewPages.push(prevPage);}}
var preview=QBuilder('div',{className:'PDFPreview'},previewPages);win.setContent(preview);var zoom=($('QPDFPrinterPreview').offsetWidth-40)/(this.pageWidth+2*this.pageMargin);if(zoom<1)
{var style={'zoom':zoom,'MozTransform':'scale('+zoom+')','MozTransformOrigin':'left top'};$(preview).setStyle(style);}},generateNodeInfo:function()
{if(!(QPDFPrinter.nodeList instanceof Array))
{QPDFPrinter.nodeList=new Array(QPDFPrinter.nodeList);}
var nodeList=QPDFPrinter.nodeList;var nodeInfo=[];var max={};var min={};for(var i=0,ilen=nodeList.length;i<ilen;i++)
{var node=nodeList[i];console.log("node"+i,node);var dims={'width':node.offsetWidth,'height':node.offsetHeight};if(dims.height==0||dims.width==0)
{QualtricsTools.addToHiddenHelper(node);dims=$(node).getDimensions();}
var count=1;var child=$(node).down(count);var childWidth=$(child).getWidth();while(count<3&&typeof child!='undefined'&&dims.width<childWidth)
{dims.width=childWidth;count++;child=$(node).down(count);childWidth=$(child).getWidth();}
if(!max.width||max.width<dims.width)
{max.width=dims.width;}
if(!max.height||max.height<dims.height)
{max.height=dims.height;}
if(!min.width||min.width>dims.width)
{min.width=dims.width;}
if(!min.height||min.height>dims.height)
{min.height=dims.height;}
nodeInfo.push({size:dims,index:i});}
this.nodeInfo={max:max,min:min,info:nodeInfo};return this.nodeInfo.info;;},buildPages:function()
{this.pages=[];var options=QPDFPrinter.options
if(options.noAutoPage)
{this.pages=this.nodeList;return;}
this.generateNodeInfo();var pageSize=$('pdfPageSize').value||"Letter";var orientation=($('pdforientationLandscape')&&$('pdforientationLandscape').checked)?"Landscape":"Portrait";pageSize=this.pageSizes[pageSize];var pageMargin=this.pageMargin;this.pageWidth=((orientation=="Landscape")?pageSize.height:pageSize.width)-2*pageMargin;this.pageHeight=((orientation=="Landscape")?pageSize.width:pageSize.height)-2*pageMargin;var pageHeightDif=0;var pageArray=[];var scale=1;for(var i=0,ilen=this.nodeInfo.info.length;i<ilen;i++)
{var newScale=scale;var nodeInfo=this.nodeInfo.info[i];var node=this.nodeList[nodeInfo.index].cloneNode(true);if(nodeInfo.size.width>this.pageWidth*scale||nodeInfo.size.height>this.pageHeight*scale)
{newScale=this.getPageScale(this.pageWidth,this.pageHeight,nodeInfo.size.width,nodeInfo.size.height);if(newScale<scale)
newScale=scale;}
if(nodeInfo.size.height>this.pageHeight*newScale-pageHeightDif)
{this.addPage(pageArray,scale);pageHeightDif=0;pageArray=[];newScale=Math.max(this.getPageScale(this.pageWidth,this.pageHeight,nodeInfo.size.width,nodeInfo.size.height),1);}
scale=newScale;pageArray.push(node);pageHeightDif+=nodeInfo.size.height;}
this.addPage(pageArray,scale);QPDFPrinter.options.margin=0;QPDFPrinter.options.baseCSS="";},addPage:function(pageArray,scale)
{var pageClass=QPDFPrinter.options.pageClass||"";var page=QBuilder('div',{className:'PDFPage '+pageClass},pageArray);$(page).setStyle({"width":(this.pageWidth*scale)+"px","height":(this.pageHeight*scale)+"px","margin":(this.pageMargin*scale)+"px "
+(this.pageMargin*scale)+"px 0"});this.pages.push(page);},getPageScale:function(pageWidth,pageHeight,itemWidth,itemHeight)
{var widthScale=(itemWidth)/pageWidth;var heightScale=itemHeight/pageHeight;var scale=widthScale>heightScale?widthScale:heightScale;return scale;},printFromDialog:function()
{var nodeList=this.nodeList;var options=QPDFPrinter.options;if(options.noAutoSize)
{this.generateNodeInfo();options.nodeInfo=this.nodeInfo.info;}
else
{this.buildPages();nodeList=QPDFPrinter.pages;}
if($('pdffilename')&&$('pdffilename').value)
{var filename=$('pdffilename').value;if(filename.indexOf('.pdf')==-1)
filename+='.pdf';options.filename=filename;}
if($('pdforientationLandscape')&&$('pdforientationLandscape').checked)
{options.orientation='landscape';}
if($('pdforientationPortrait')&&$('pdforientationPortrait').checked)
{options.orientation='portrait';}
if($('pdfPageSize'))
{options.size=$('pdfPageSize').value;}
if(!options.ajaxAction)
QualtricsCPTools.showTip('GenericDownload',{onComplete:function(){QPDFPrinter.print(nodeList,options);}});else
QPDFPrinter.print(nodeList,options);QPDFPrinter.close();},close:function()
{Q_Window.closeWindow('QPDFPrinterPreview');Q_Window.closeWindow('QPDFPrinter');},print:function(nodeList,options)
{options=options||{};options.paginate=true;var htmlArray=[];var css='';var baseCSS=options.baseCSS||"overflow:hidden; float:left;";var path=window.location.href;path=path.substr(0,path.lastIndexOf('/'));path=path.substr(0,path.lastIndexOf('/'))+'/';if(typeof(options.includeCSS)!='undefined'&&options.includeCSS)
{css=this.getStylesheetLinks();}
if(options.customCSS)
{css+='<style>'+options.customCSS+'</style>'}
if(!(nodeList instanceof Array))
{nodeList=new Array(nodeList);}
for(var i=0,ilen=nodeList.length;i<ilen;i++)
{var node=nodeList[i];var outer=QBuilder('div',{},[node]);var baseHTML=outer.innerHTML;if(baseHTML.indexOf('../')!=-1)
{baseHTML=baseHTML.replace(/\.\.\//g,path);}
var html='<html><head><meta http-equiv="content-type" content="text/html; charset=UTF-8" />'+css+'</head><body style="min-width:0; background:#fff;">';html+='<div style="'+baseCSS+'" class="ToPDF">';html+=baseHTML;html+='</div>';html+='</body></html>';htmlArray.push(html);}
var jsonHTML=Object.toJSON(htmlArray);var external=false;if(typeof(options.external)!='undefined')
{external=options.external;}
if(options.ajaxAction)
{new Ajax.Request('Ajax.php?action='+options.ajaxAction,{parameters:{HTML:jsonHTML,Options:Object.toJSON(options)},onComplete:options.ajaxOnComplete});}
else if(window.PageAction)
{PageAction('GeneratePDF',jsonHTML,Object.toJSON(options),null,true,external);}
else
{QPDFPrinter.postWith('PDF.php',{Section:jsonHTML,SubSection:Object.toJSON(options)});}},postWith:function(to,p){var myForm=document.createElement("form");myForm.method="post";myForm.action=to;for(var k in p){var myInput=document.createElement("input");myInput.setAttribute("name",k);myInput.setAttribute("value",p[k]);myForm.appendChild(myInput);}
document.body.appendChild(myForm);myForm.submit();document.body.removeChild(myForm);}};
// (C) 2007-2012 Qualtrics, Inc.

var QXLSPrinter={printXLS:function(html,options)
{var jsonHTML=Object.toJSON(html);PageAction('GenerateXLS',jsonHTML,Object.toJSON(options),null,true);}};
// (C) 2007-2012 Qualtrics, Inc.

QComboBox={reg:{},cachedLists:{},destroyAll:function()
{for(var id in QComboBox.reg)
{QComboBox.destroy(id);}},destroy:function(id)
{if(QComboBox.reg[id].inputObserver)
QComboBox.reg[id].inputObserver.stop();},buildComboBoxButton:function(options)
{options.p1='$options';options.direction='left';var p3='';if(options)
{if(typeof options!='string')
{p3=Object.toJSON(options);}}
var buttonId=(options&&options.buttonId)||QualtricsCPTools.createNewId('BTN');var button=QBuilder('button',{type:'button',id:buttonId,className:'ComboBoxButton',downcallback:'QMenu.showMenu',p1:'QComboBox.buildComboBoxList',p2:'$el',p3:p3},'V');return button;},replaceSelect:function(select,options)
{select=$(select);var opts=select.options;var name=select.getAttribute('name');var id=select.getAttribute('id');var precache={};var defaultValue=opts[0].value;var defaultText=opts[0].text;var autoComplete=true;if(options.autoComplete===false)
autoComplete=false;for(var i=0,ilen=opts.length;i<ilen;i++)
{var opt=opts[i];var value=opt.value;var text=opt.text;precache[value]=text;if(opt.selected||(opt.hasAttribute&&opt.hasAttribute('selected')))
{defaultText=text;defaultValue=value;}}
if(!this.list)
this.list={};this.list[name]=precache;var comboBoxOpts={inputId:id+'Text',inputName:name+'Text',inputValueID:id,autoSearch:false,inputBoxParameterName:name,defaultValue:defaultValue,defaultText:defaultText,selectedField:'',onSelectCallBack:'',cacheAjaxResults:false,precachedList:precache,replaceSelect:true,autoComplete:autoComplete};if(typeof options=='object')
Object.extend(comboBoxOpts,options);var comboBox=QComboBox.buildComboBox(comboBoxOpts);var parent=select.parentNode;if(parent)
{parent.appendChild(comboBox);Element.remove($(select));}
return comboBox;},buildComboBox:function(options)
{if(!options)
options={};var inputId='';if(options.inputId)
inputId=options.inputId;else
{inputId=QualtricsCPTools.createNewId('CMB');options.inputId=inputId;}
var inputName='';if(options.inputName)
inputName=options.inputName;else
inputName=inputId;if(options.filterOnClick===null)
options.filterOnClick=false;if(options.showButton==undefined)
options.showButton=true;options.type='ComboBox';var autoclearClass='';var inputClass='';if(options.inputClass!==null)
inputClass=' '+options.inputClass;var defaultValue='';var defaultText='';if(options.defaultValue)
defaultValue=options.defaultValue;if(options.defaultText)
defaultText=options.defaultText;if(options.prompt)
{autoclearClass=' AutoClearMessage';defaultValue=options.prompt;}
var inputField=QBuilder('input',{autocomplete:'off',className:'TextBox'+autoclearClass+inputClass,type:'text',id:inputId,name:inputName,value:defaultText});if(options.prompt)
{inputField.setAttribute('autoclear',options.prompt);}
var button='';if(options.showButton)
button=QComboBox.buildComboBoxButton(options);var comboBox=QBuilder('div',{className:'QComboBox'},[inputField,button]);QComboBox.reg[inputId]={};if(options.autoSearch)
QComboBox.reg[inputId].inputObserver=new Form.Element.Observer(inputField,1,QComboBox.showComboBoxList);if(options.autoComplete&&options.precachedList)
{inputField.setAttribute('qautocomplete','QComboBox.getCachedList('+options.inputBoxParameterName+')');QModules.loadModule('QAutoComplete.js');}
QComboBox.reg[inputId].options=options;QComboBox.reg[inputId].button=button;QComboBox.reg[inputId].input=inputField;QComboBox.reg[inputId].showComboBox=true;if(options.selectedField)
{if(!$(options.selectedField))
{var input=QBuilder('input',{type:'hidden',id:options.selectedField,name:options.selectedField});if(defaultValue)
input.value=defaultValue
comboBox.appendChild(input);QComboBox.reg[inputId].hiddenInput=input;}
else
{QComboBox.reg[inputId].hiddenInput=$(options.selectedField);}}
if(options.replaceSelect)
{var input=QBuilder('input',{type:'hidden',id:options.inputValueID,name:options.inputBoxParameterName});if(defaultValue)
input.value=defaultValue
comboBox.appendChild(input);QComboBox.reg[inputId].hiddenInput=input;}
if(options.emulateSelect)
{Event.observe(inputField,'keypress',function(e){Event.stop(e)});inputField.addClassName('readonly');if(options.precachedList)
{var firstID;var firstValue;for(var id in options.precachedList)
{firstID=id;firstValue=options.precachedList[id];break;}
QComboBox.reg[inputId].hiddenInput.value=firstID;inputField.value=firstValue;}
inputField.setAttribute('clickcallback','QComboBox.showComboBoxListOnClick($evt)');}
else if(options.replaceSelect)
{new Form.Element.Observer(inputField,.2,function(el,value){input.value=value;});}
if(options.onEnter)
{Event.observe(inputField,'keypress',options.onEnter);}
return comboBox;},clearCache:function()
{this.cachedLists={};},getCachedList:function(name)
{return this.list[name];},getInstance:function(id)
{if(QComboBox.reg[id])
return QComboBox.reg[id];else
return false;},insertSelectedValue:function(id,key,value)
{var comboBox=QComboBox.getInstance(id);if(comboBox)
{comboBox.showComboBox=false;if(comboBox.hiddenInput)
comboBox.hiddenInput.value=key;if(comboBox.input)
{$(comboBox.input).removeClassName('AutoClearMessage')
comboBox.input.value=value;$(comboBox.input).addClassName('validated');}
if(comboBox.options.onSelectCallBack)
{var callback=comboBox.options.onSelectCallBack;callback();}
setTimeout(function(){comboBox.showComboBox=true},1000);}},disable:function(id)
{var comboBox=QComboBox.getInstance(id);comboBox.showComboBox=false;},enable:function(id)
{var comboBox=QComboBox.getInstance(id);comboBox.showComboBox=true;},remove:function(id)
{if($('QMenu'))
$('QMenu').remove();},showComboBoxListOnClick:function(e)
{var el=Event.element(e);var val='';if(el.tagName=='INPUT')
val=el.value;this.showComboBoxList(el,val);},showComboBoxList:function(el,value)
{var comboBox=QComboBox.getInstance(el.id);if(comboBox)
{if(comboBox.showComboBox)
{var options=comboBox.options;var button=comboBox.button;if(comboBox.input)
{comboBox.input.value=value;$(comboBox.input).removeClassName('validated');}
options.filterOnClick=true;if(value!='')
QMenu.showMenu('QComboBox.buildComboBoxList',button,Object.toJSON(options));else
{QComboBox.remove(el.id);}}}},buildComboBoxList:function(options)
{options=this.processOptions(options);var url='';if(options.url)
url=options.url;var params={};if(options.params)
params=options.params;var searchVal='';if(options.autoSearch&&options.filterOnClick&&options.inputBoxParameterName)
{searchVal=$F(options.inputId);params[options.inputBoxParameterName]=searchVal;}
var menu=QBuilder('ul',{className:'ComboBox',id:options.inputId+'_menu'});menu.appendChild(QBuilder('li',{className:'Loading'},[]))
var cacheAjaxResults=true;var useAjax=true;if(options.cacheAjaxResults!==undefined)
{cacheAjaxResults=options.cacheAjaxResults;}
if(searchVal!='')
{cacheAjaxResults=false;}
if(cacheAjaxResults&&QComboBox.cachedLists[options.inputId])
{useAjax=false;}
if(options.precachedList)
{useAjax=false;QComboBox.cachedLists[options.inputId]=options.precachedList;}
var ajaxIndex='List';if(options.AjaxResultIndex)
ajaxIndex=options.AjaxResultIndex;var noResults=true;if(useAjax)
{new Ajax.Request('Ajax.php?action='+options.ajaxAction,{parameters:params,onComplete:function(transport)
{deleteChildren(menu);try{var items=transport.responseText.evalJSON();}catch(e){}
var list=items[ajaxIndex];if(cacheAjaxResults)
{QComboBox.cachedLists[options.inputId]=list;}
if(list&&Object.values(list).length&&!(list instanceof Array))
{for(var id in list)
{var listEntry=list[id];var regEx=new RegExp(searchVal,'i');var match=listEntry.match(regEx);if(match)
{noResults=false;var innerText=listEntry.replace(regEx,"<span class='match'>"+match+"</span>");var inner=QBuilder('a',{className:'MenuItemLink',href:'javascript:void(0)',clickcallback:'QComboBox.insertSelectedValue',p1:options.inputId,p2:id,p3:list[id]});inner.innerHTML=innerText;menu.appendChild(QBuilder('li',{},[inner]));}}}
if(noResults)
{menu.appendChild(QBuilder('li',{className:'NoResults'},getMessage('SiteWide','NoResults')));}
QComboBox.resizeOnChange(menu);}});}
else
{deleteChildren(menu);var list=QComboBox.cachedLists[options.inputId];if(list&&Object.values(list).length&&!(list instanceof Array))
{for(var id in list)
{var listEntry=list[id];var regEx=new RegExp(searchVal,'i');var match=listEntry.match(regEx);if(match)
{noResults=false;var innerText=listEntry.replace(regEx,"<span class='match'>"+match+"</span>");var inner=QBuilder('a',{className:'MenuItemLink',href:'javascript:void(0)',clickcallback:'QComboBox.insertSelectedValue',p1:options.inputId,p2:id,p3:list[id]});inner.innerHTML=innerText;menu.appendChild(QBuilder('li',{},[inner]));}}}
if(noResults)
{menu.appendChild(QBuilder('li',{className:'Loading'},getMessage('SiteWide','NoResults')));}}
return menu;},resizeOnChange:function(menuDiv)
{var viewHeight=getPageSize()[3];var viewBottom=scrollInfo[1]+viewHeight;var menuHeight=menuDiv.offsetHeight;var topPos=$(menuDiv).cumulativeOffset().top;var clippedY=topPos+menuHeight-(viewBottom-10);if(clippedY>0)
{$(menuDiv).setStyle({height:menuHeight-clippedY+'px',overflowY:'scroll',width:(menuDiv.offsetWidth+20)+'px'});}},processOptions:function(options)
{if(typeof options=='string')
{options=options.evalJSON();}
return options;}};Qualtrics.ComboBox=Class.create({initialize:function(options)
{this.id=QualtricsCPTools.createNewId('CMB');Qualtrics.ComboBox.reg[this.id]=this;options=options||{};if(!options.inputId)
options.inputId=QualtricsCPTools.createNewId('CMB');if(!options.hiddenInputId)
options.hiddenInputId=QualtricsCPTools.createNewId('CMBHI');if(!options.inputName)
options.inputName=QualtricsCPTools.createNewId('CMB');if(!options.hiddenInputName)
options.hiddenInputName=QualtricsCPTools.createNewId('CMB');if(!options.buttonId)
options.buttonId=QualtricsCPTools.createNewId('CMB');this.options=options;var listOptions={combobox:this,listType:'qAutoComplete'};if(options.filtered)
{listOptions.filtered=options.filtered;}
Object.extend(listOptions,this.options.list);if(options.list.type=='static')
{this.activelist=new Qualtrics.ComboBoxStaticList(listOptions);}
else if(options.list.type=='ajax')
{this.activelist=new Qualtrics.ComboBoxAjaxList(listOptions);}},build:function()
{this.input=this.buildInput();this.hiddenInput=this.buildHiddenInput();this.button=this.buildButton();if(this.options.disableInput)
{this.cover=QBuilder('div',{className:'cover',downcallback:'Qualtrics.ComboBox.showListOnButtonClick',instanceid:this.id});var that=this;(function(){Element.clonePosition(that.cover,that.input);}).defer();}
else
{this.cover='';}
var className='QComboBox';if(this.options.className)
className+=(' '+this.options.className);var comboBox=QBuilder('div',{className:className},[this.input,this.button,this.hiddenInput,this.cover]);return comboBox;},buildInput:function()
{var inputClass='';if(this.options.inputClass)
inputClass=' '+this.options.inputClass;var defaultText='';var inputField=QBuilder('input',{autocomplete:'off',className:'TextBox'+inputClass,type:'text',id:this.options.inputId,name:this.options.inputName,instanceid:this.id,comboboxhiddeninput:this.options.hiddenInputId});var text='';if(this.options.defaultValue)
{text=this.activelist.getValue(this.options.defaultValue);if(text===false)
{var list=this.activelist;list.updateValue.bind(list).defer(this.options.defaultValue);text=this.options.defaultValue;}}
if(this.options.defaultText)
{text=this.options.defaultText;}
if(text==''&&this.options.prompt)
{$(inputField).addClassName('AutoClearMessage');defaultText=this.options.prompt;inputField.setAttribute('autoclear',this.options.prompt);text=this.options.prompt;}
inputField.value=text;if(this.options.disableInput)
{Event.observe(inputField,'keypress',function(e){Event.stop(e)});Event.observe(inputField,'focus',function(e){inputField.blur();Event.stop(e)});}
new Form.Element.Observer(inputField,0.2,this.inputChange.bind(this));if(this.options.autoComplete)
{inputField.setAttribute('qautocomplete','Qualtrics.ComboBox.getActiveList');}
return inputField;},buildHiddenInput:function()
{var defaultValue='';if(this.options.defaultValue)
defaultValue=this.options.defaultValue;var input=QBuilder('input',{type:'hidden',id:this.options.hiddenInputId,name:this.options.hiddenInputName,value:defaultValue,comboboxinput:this.options.inputId});return input;},buildButton:function()
{var button=QBuilder('button',{tabindex:'-1',type:'button',id:this.options.buttonId,className:'ComboBoxButton',preventdragscroll:true,downcallback:'Qualtrics.ComboBox.showListOnButtonClick',instanceid:this.id},'V');return button;},showListOnButtonClick:function()
{if(this.menupane&&this.menupane.menuDom)
{this.hideList();}
else
{this.showList();}},hideList:function()
{this.menupane.destroy();},showList:function()
{var params=this.activelist.getMenuParameters();var options={className:'ComboBoxMenuPane',input:this.input};this.menupane=new Qualtrics.ComboBoxMenuPane(params,this.button,null,options);},searchList:function()
{},getActiveList:function()
{return this.activelist.getList();},getText:function()
{var v=this.input.value;if(v==this.input.getAttribute('autoclear'))
return'';return this.input.value;},getValue:function()
{return this.hiddenInput.value;},inputChange:function(el,value)
{var key=this.activelist.getKey(value);if(key===false)
{var list=this.activelist;list.updateValue.bind(list).defer(key);key=value;}
this.setHiddenInput(key);if(this.options.onChange)
this.options.onChange(this.hiddenInput.value,this.input.value);},setInput:function(val)
{if(this.input.value!=val)
{this.input.value=val;if(this.options.onInputChange)
this.options.onInputChange(this.input);}},setHiddenInput:function(val)
{if(this.hiddenInput.value!=val)
{this.hiddenInput.value=val;if(this.options.onHiddenInputChange)
this.options.onHiddenInputChange(this.hiddenInput);}},selectItem:function(value,text)
{$(this.input).removeClassName('AutoClearMessage');this.setInput(text);this.setHiddenInput(value);if(this.options.onSelect)
{this.options.onSelect(value,text);}}});Qualtrics.ComboBox.reg={};Qualtrics.ComboBox.getInstance=QualtricsCPTools.getInstanceHelper(Qualtrics.ComboBox.reg);Qualtrics.ComboBox.replaceSelect=function(select,options)
{select=$(select);var name=select.getAttribute('name');var id=select.getAttribute('id');var opts=select.options;var precache={};if(opts.length)
{var defaultValue=opts[0].value;var defaultText=opts[0].text;for(var i=0,ilen=opts.length;i<ilen;i++)
{var opt=opts[i];var value=opt.value;var text=opt.text;precache[value]=text;if(opt.selected||(opt.hasAttribute&&opt.hasAttribute('selected')))
{defaultValue=value;}}}
var defaultOptions={inputId:id,hiddenInputName:name,defaultValue:defaultValue,autoSearch:false,autoComplete:false,disableInput:true,list:{type:'static',values:precache}};defaultOptions=Object.extend(defaultOptions,options);var comboBox=new Qualtrics.ComboBox(defaultOptions);var parent=select.parentNode;if(parent)
{parent.appendChild(comboBox.build());Element.remove($(select));}
return comboBox;};Qualtrics.DataList=Class.create({initialize:function(options)
{this.options=options||{};this.list={};this.id=QualtricsCPTools.createNewId('DL');Qualtrics.DataList.reg[this.id]=this;},setList:function(list)
{if(Object.isArray(list))
{var temp={};for(var i=0,ilen=list.length;i<ilen;i++)
{temp[i]=list[i];}
list=temp;}
this.list=list;},getKey:function(val)
{for(id in this.list)
{if(this.list[id]==val)
return id;}
return false;},getValue:function(key)
{if(this.list[key])
return this.list[key];else
return false;},getList:function()
{return this.list;}});Qualtrics.DataList.reg={};Qualtrics.DataList.getInstance=QualtricsCPTools.getInstanceHelper(Qualtrics.DataList.reg);Qualtrics.ComboBoxList=Class.create(Qualtrics.DataList,{initialize:function($super,options)
{$super(options);},setList:function(list)
{if(Object.isArray(list))
{var temp={};for(var i=0,ilen=list.length;i<ilen;i++)
{temp[i]=list[i];}
list=temp;}
this.list=list;try
{if(this.options.combobox.input&&this.options.listType&&this.options.combobox.input[this.options.listType])
{this.options.combobox.input[this.options.listType].setList(list);}}
catch(e)
{console.error('error updating autocomplete list: '+e);}},getMenuParameters:function()
{var params=this.buildParameters();return params;},updateValue:function(key)
{if(this.list[key])
{var comboBox=this.options.combobox;comboBox.setInput(this.list[key]);comboBox.setHiddenInput(key);}},buildParameters:function()
{var params={};var items=[];var list=this.list;if(list)
{for(id in list)
{items.push({display:list[id],value:id,action:'Qualtrics.ComboBox.selectItem',parameters:{instanceid:this.options.combobox.id,p1:id,p2:list[id]},icon:false});}}
params.items=items;return params;}});Qualtrics.ComboBoxStaticList=Class.create(Qualtrics.ComboBoxList,{initialize:function($super,options)
{$super(options);if(options.values)
{this.setList(options.values);}
else
{console.warn('No list values were assigned to the combobox.')}}});Qualtrics.ComboBoxAjaxList=Class.create(Qualtrics.ComboBoxList,{initialize:function($super,options)
{$super(options);if(options.values)
{this.setList(options.values);}},parseAjaxList:function(transport)
{try
{var list=transport.evalJSON();if(list.List)
{this.setList(list.List);}
else
{this.setList(list)}}
catch(e)
{this.setList({})}
var params=this.buildParameters();return params;},updateValue:function(key)
{var that=this;this.updateList({onAjaxComplete:function()
{if(that.list[key])
{var comboBox=that.options.combobox;comboBox.setInput(that.list[key]);comboBox.setHiddenInput(key);}
if(that.options.combobox.options.autoSuggest)
{that.options.combobox.showList();}}});},getList:function()
{this.updateList();return this.list;},updateList:function(options)
{if(this.ajaxDelay)
{clearTimeout(this.ajaxDelay);}
var that=this;this.ajaxDelay=setTimeout(function(){options=options||{};var ajaxParameters=that.getAjaxParameters();new Ajax.CachedRequest('Ajax.php?action='+that.options.ajaxAction,{parameters:ajaxParameters,onComplete:function(transport)
{var response=transport.responseText;that.parseAjaxList(response);if(options.onAjaxComplete)
options.onAjaxComplete();}});},20);},getAjaxParameters:function(options)
{options=options||{};var comboBox=this.options.combobox;var defaultAjaxParameters={};if(this.options.filtered)
defaultAjaxParameters[comboBox.options.inputName]=comboBox.getText();var params={};if(typeof this.options.ajaxParameters=='function')
{params=this.options.ajaxParameters();}
else
{params=this.options.ajaxParameters;}
var ajaxParameters=Object.extend(defaultAjaxParameters,params);return ajaxParameters;},getMenuParameters:function()
{var ajaxParameters=this.getAjaxParameters();var params={};params.ajax={action:this.options.ajaxAction,parameters:ajaxParameters,preparser:QualtricsCPTools.buildDotSyntaxString('Qualtrics.ComboBoxAjaxList.parseAjaxList',null,this.id)}
return params;}});Qualtrics.ComboBoxAjaxList.getInstance=QualtricsCPTools.getInstanceHelper(Qualtrics.DataList.reg);Qualtrics.ComboBoxMenuPane=Class.create(Qualtrics.MenuPane,{initialize:function($super,menuBuilder,parentButton,opt_parentMenu,options)
{$super(menuBuilder,parentButton,opt_parentMenu,options);},positionMenu:function()
{var input=this.options.input;var inputPos=$(input).cumulativeOffset();var inputScrollOffset=$(input).cumulativeScrollOffset();var comboboxWidth=input.offsetWidth+this.buttonInfo.width-3;if(comboboxWidth>this.menuDom.offsetWidth)
{$(this.menuDom).setStyle({width:comboboxWidth+'px'})}
var menuWidth=this.menuDom.offsetWidth;var menuScrollOffset=$(this.menuDom).cumulativeScrollOffset();var topPos=inputPos.top+input.offsetHeight-(inputScrollOffset.top-menuScrollOffset.top);var leftPos=inputPos.left+1;$(this.menuDom).setStyle({top:topPos+'px',left:leftPos+'px'});this.adjustMenu({topPos:topPos,leftPos:leftPos});},adjustMenu:function(options)
{var topPos=options.topPos||0;var viewHeight=getPageSize()[3];var viewBottom=scrollInfo[1]+viewHeight;var menuHeight=this.menuDom.offsetHeight;var clippedY=topPos+menuHeight-(viewBottom-10);if(clippedY>0)
{$(this.menuDom).setStyle({height:menuHeight-clippedY+'px',overflowY:'scroll',width:(this.menuDom.offsetWidth)+'px'});}}});
// (C) 2007-2012 Qualtrics, Inc.

Qualtrics.SurveyEngine={registry:{},getInstance:function(id)
{return this.registry[id];},addOnload:function(f)
{if($('body')&&$('body').hasClassName('EditSection'))
return;try
{var obj=new Qualtrics.SurveyEngine.QuestionData();obj.onload=f;Event.observe(window,'load',obj.onload.bind(obj));}
catch(e)
{console.error('SE API Error: '+e);}},setAccessibleSkin:function()
{console.log('Changing skin....');this.addEmbeddedData('ED~Q_Skin','Qualtrics|MQ|Accessible');window.noSEAutoSave=true;submitForm('Page');},addEmbeddedData:function(key,value)
{$('Page').appendChild(QBuilder('input',{type:'hidden',name:key,value:value}));},setEmbeddedData:function(key,value)
{var fieldName='ED~'+key;if($(fieldName))
{$(fieldName).value=value;}
else
{$('Header').appendChild(QBuilder('input',{type:'hidden',id:fieldName,name:fieldName,value:value}));}},getEmbeddedData:function(key)
{var fieldName='ED~'+key;if($(fieldName))
{return $(fieldName).value;}},globalKeyDownHandler:function(evt)
{if(document.body.id=='SurveyEngineBody')
{if(!evt){evt=window.event}
var el=Event.element(evt);if(el&&el.getAttribute)
Qualtrics.alphaNumericValidation(el,evt);var isButton=el.tagName=='BUTTON'||(el.tagName=='INPUT'&&el.type=='button');if(evt.keyCode==Event.KEY_RETURN&&el.tagName!='TEXTAREA'&&!isButton)
{Event.stop(evt);}}},displayErrorMessage:function(msg){alert(msg);},navClick:function(el,opt_buttonName,opt_confirmValidation)
{var event=null;if(el&&!el.nodeName)
{event=el;el=Event.element(el);}
if(el&&el.getAttribute&&el.getAttribute('confirmed'))
{opt_confirmValidation=true;}
if(opt_buttonName=='NextButton'||opt_buttonName=='PreviousButton')
{window.noSEAutoSave=true;}
if(opt_buttonName=='NextButton'&&Qualtrics.SurveyPage&&Qualtrics.SurveyPage.getInstance())
{if(!opt_confirmValidation&&!Qualtrics.SurveyPage.getInstance().validate())
{if(event)
{Event.stop(event);}
return false;}}
if(opt_buttonName&&$('buttonPressed'))
{$('buttonPressed').name=opt_buttonName;$('submitPageFeauBTN').click();}
else if(opt_buttonName&&$(opt_buttonName))
{$(opt_buttonName).setAttribute('confirmed',true);$(opt_buttonName).click();}
try{if(el)
{(function(){el.disabled=true;}).defer();(function(){el.disabled=false;}).delay(10);}}catch(e)
{}}};Qualtrics.SurveyEngine.QuestionInfo={};Qualtrics.SurveyEngine.QuestionData=Class.create({initialize:function(opt_questionId)
{var el=null;if(opt_questionId)
{this.questionContainer=$(opt_questionId);}
if(!this.questionContainer)
{var d=document.getElementsByTagName('script');el=d[d.length-1];this.questionContainer=$(el).up('.QuestionOuter')||$(el).up('question');}
if(this.questionContainer)
{this.questionId=this.questionContainer.getAttribute('questionid')||this.questionContainer.getAttribute('posttag');this.addOnClick();Qualtrics.SurveyEngine.registry[this.questionId]=this;}},addOnClick:function()
{this.questionclick=function(){};var that=this;Event.observe(this.questionContainer,'click',(function(event){that.questionclick(event,Event.element(event));}).bind(this));},disableNextButton:function()
{if($('NextButton'))
$('NextButton').disabled=true;},enableNextButton:function()
{if($('NextButton'))
$('NextButton').disabled=false;},showNextButton:function()
{if($('NextButton'))
$('NextButton').show();},hideNextButton:function()
{if($('NextButton'))
$('NextButton').hide();},clickNextButton:function()
{var nextButton=$('NextButton');if(nextButton&&nextButton.click)
nextButton.click();else if(nextButton&&nextButton.onclick)
nextButton.onclick();},disablePreviousButton:function()
{if($('PreviousButton'))
$('PreviousButton').disabled=true;},enablePreviousButton:function()
{if($('PreviousButton'))
$('PreviousButton').disabled=false;},showPreviousButton:function()
{if($('PreviousButton'))
$('PreviousButton').show();},hidePreviousButton:function()
{if($('PreviousButton'))
$('PreviousButton').hide();},clickPreviousButton:function()
{var previousButton=$('PreviousButton');if(previousButton&&previousButton.click)
previousButton.click();else if(previousButton&&previousButton.onclick)
previousButton.onclick();},hideChoices:function()
{var choices=this.getChoiceContainer();if($(choices))
$(choices).hide();},getQuestionContainer:function()
{return this.questionContainer;},getQuestionTextContainer:function()
{return $(this.questionContainer).down('.QuestionText');},getChoiceContainer:function()
{return $(this.questionContainer).down('.ChoiceStructure');},getInput:function(choiceId,answerId,opt_returnArray)
{var postTag=this.getPostTag()||this.questionId;var inputName='QR~'+postTag+((!choiceId!==null&&choiceId!==undefined)?('~'+choiceId):'');var valueName=inputName+((answerId!==null&&answerId!==undefined)?'~'+answerId:'');var input=null;if($(inputName)&&$(inputName).id==inputName&&($(inputName).nodeName=='INPUT'||$(inputName).nodeName=='TEXTAREA'||$(inputName).nodeName=='SELECT'))
{input=$(inputName);}
else if($(valueName)&&($(valueName).nodeName=='INPUT'||$(valueName).nodeName=='TEXTAREA'||$(valueName).nodeName=='SELECT'))
{input=$(valueName);}
else if($('Select~'+postTag))
{input=$('Select~'+postTag);}
else if($(valueName+'~TEXT'))
{input=$(valueName+'~TEXT');}
else
{if($('Page')[inputName])
{var control=$('Page')[inputName];if(!control.getAttribute)
{for(var i=0,ilen=control.length;i<ilen;i++)
{if(control[i].value==valueName)
{input=control[i];return input;}}
if(opt_returnArray)
{return control;}}
else
{input=control;}}}
return input;},setChoiceValueByRecodeValue:function()
{var choiceIds=this.getChoicesFromRecodeValue(arguments[0]);for(var i=0,ilen=choiceIds.length;i<ilen;i++)
{var cid=choiceIds[i];if(arguments.length==3)
{this.setChoiceAnswerValue(cid,arguments[1],arguments[2]);}
else
{this.setChoiceAnswerValue(cid,null,arguments[1]);}}},setChoiceValueByVariableName:function()
{var choiceIds=this.getChoicesFromVariableName(arguments[0]);for(var i=0,ilen=choiceIds.length;i<ilen;i++)
{var cid=choiceIds[i];if(arguments.length==3)
{this.setChoiceAnswerValue(cid,arguments[1],arguments[2]);}
else
{this.setChoiceAnswerValue(cid,null,arguments[1]);}}},setChoiceValue:function()
{if(arguments.length==3)
{this.setChoiceAnswerValue(arguments[0],arguments[1],arguments[2]);}
else
{this.setChoiceAnswerValue(arguments[0],null,arguments[1]);}},setChoiceAnswerValue:function(choiceId,answerId,value)
{var input=this.getInput(choiceId,answerId);if(input&&(input.getAttribute('type')||input.tagName))
{var inputType=input.getAttribute('type')||input.tagName;switch(inputType)
{case'checkbox':case'radio':input.checked=value;input.defaultChecked=value;break;case'SELECT':var postTag=this.getPostTag()||this.questionId;var valueName='QR~'+postTag+'~'+choiceId+(answerId!==null?'~'+answerId:'');for(var i=0,iLen=input.options.length;i<iLen;i++)
{if(input.options[i].value==valueName)
input.options[i].setAttribute('selected',true);}
break;default:input.value=value;break;}
return true;}
return false;},getChoiceValue:function(choiceId,subId)
{var ret=false;var input=this.getInput(choiceId,null,true);if(input&&input.getAttribute&&(input.getAttribute('type')||input.tagName))
{var inputType=input.getAttribute('type')||input.tagName;switch(inputType)
{case'checkbox':case'radio':ret=input.checked;break;case'SELECT':var postTag=this.getPostTag()||this.questionId
var valueName='QR~'+postTag+'~'+choiceId+(subId?'~'+subId:'');ret=input.options[input.selectedIndex].value==valueName;break;default:ret=input.value;break;}}
else if(input&&input.length)
{for(var i=0,ilen=input.length;i<ilen;i++)
{if(input[i].checked)
{return input[i].value;}}}
return ret;},getTextValue:function(opt_choiceId)
{var input=null;if(opt_choiceId)
{var input=this.getInput(opt_choiceId+'~TEXT',null);}
else
{var input=this.getInput();}
if(input)
{return input.value;}},getChoiceAnswerValue:function(choiceId,answerId,subId)
{var ret=null;var input=this.getInput(choiceId,answerId);if(input&&(input.getAttribute('type')||input.tagName))
{var inputType=input.getAttribute('type')||input.tagName;switch(inputType)
{case'checkbox':case'radio':ret=input.checked;break;case'SELECT':var postTag=this.getPostTag()||this.questionId
var valueName='QR~'+postTag+'~'+choiceId+(subId?'~'+subId:'');ret=input.options[input.selectedIndex].value==valueName;break;default:ret=input.value;break;}}
return ret;},getQuestionDisplayed:function()
{var questionIsHidden=this.questionContainer.getAttribute('hiddenbyinpagedisplaylogic')=='true'?true:false;return!questionIsHidden;},getChoiceDisplayed:function(choiceId,answerId,subId)
{var questionIsHidden=this.questionContainer.getAttribute('hiddenbyinpagedisplaylogic')=='true'?true:false;if(questionIsHidden)
{return false;}
var input=this.getInput(choiceId,answerId);if(input)
{if(subId)
{if(input.options[subId])
{return true;}}
else
{return true;}}
return false;},getQuestionInfo:function()
{if(Qualtrics.SurveyEngine&&Qualtrics.SurveyEngine.QuestionInfo&&Qualtrics.SurveyEngine.QuestionInfo[this.questionId])
{return Qualtrics.SurveyEngine.QuestionInfo[this.questionId];}
return null;},getPostTag:function()
{var questionInfo=this.getQuestionInfo();if(questionInfo&&questionInfo.postTag)
{return questionInfo.postTag;}
return null;},getChoiceRecodeValue:function(choiceId)
{var questionInfo=this.getQuestionInfo();if(questionInfo&&questionInfo['Choices'][choiceId])
{return questionInfo['Choices'][choiceId]['RecodeValue'];}},getChoiceVariableName:function(choiceId)
{var questionInfo=this.getQuestionInfo();if(questionInfo&&questionInfo['Choices'][choiceId])
{return questionInfo['Choices'][choiceId]['VariableName'];}},getChoicesFromVariableName:function(varName)
{return this.getChoicesFromQuestionInfo('VariableName',varName);},getChoicesFromRecodeValue:function(recodeVal)
{return this.getChoicesFromQuestionInfo('RecodeValue',recodeVal);},getChoices:function(type,val)
{var choices=[];var questionInfo=this.getQuestionInfo();if(questionInfo&&questionInfo['Choices'])
{for(var cid in questionInfo['Choices'])
{if(val==questionInfo['Choices'][cid][type])
{choices.push(cid);}}}
return choices;},getAnswers:function(type,val)
{var answers=[];var questionInfo=this.getQuestionInfo();if(questionInfo&&questionInfo['Answers'])
{for(var aid in questionInfo['Answers'])
{answers.push(aid);}}
return answers;},getSelectedChoices:function()
{var choices=this.getChoices();var selectedChoices=[];for(var i=0,len=choices.length;i<len;++i)
{if(this.getChoiceValue(choices[i]))
{selectedChoices.push(choices[i]);}}
return selectedChoices;},getSelectedAnswers:function()
{var choices=this.getChoices();var answers=this.getAnswers();var selectedAnswers={};for(var i=0,len=choices.length;i<len;++i)
{for(var a=0,alen=answers.length;a<alen;++a)
{if(this.getChoiceAnswerValue(choices[i],answers[a]))
{if(!selectedAnswers[answers[a]])
{selectedAnswers[answers[a]]=0;}
selectedAnswers[answers[a]]++;}}}
return selectedAnswers;},getSelectedAnswerValue:function(choiceId)
{var answers=this.getAnswers();var choices=this.getChoices();var selectedAnswerValue=null;for(var a=0,alen=answers.length;a<alen;++a)
{if(this.getChoiceAnswerValue(choiceId,answers[a],answers[a]))
{if(selectedAnswerValue==null||selectedAnswerValue>answers[a])
selectedAnswerValue=answers[a];}}
return selectedAnswerValue;}});Qualtrics.SurveyEngine.QuestionData.getInstance=function(questionId,opt_createNewInstance)
{if(Qualtrics.SurveyEngine.registry[questionId])
{return Qualtrics.SurveyEngine.registry[questionId];}
return new Qualtrics.SurveyEngine.QuestionData(questionId);}
Qualtrics.SurveyEngine.OnEndOfSurvey=function()
{try{var sid=$F('SurveyID');var ssid=$F('SessionID');if(window.top.postMessage)
{window.top.postMessage('closeQSIWindow','*');window.top.postMessage('QualtricsEOS|'+sid+'|'+ssid,'*');}
if(window.parent&&window.parent.qualtricsEndOfSurvey)
{window.parent.qualtricsEndOfSurvey.call(window.parent);}}
catch(e)
{}};Qualtrics.SurveyEngine.onPageLoad=function()
{try{if(window.parent)
{if(window.parent.qualtricsPageLoad)
{window.parent.qualtricsPageLoad.call(window.parent);}}}
catch(e)
{}};Qualtrics.SurveyEngine.savePageBeforeUnload=function()
{if(!window.noSEAutoSave)
{if(!$('submitPageFeauBTN'))
{if($('PreviousButton'))
$('PreviousButton').disable();if($('NextButton'))
$('NextButton').disable();}
if($F('SessionID')!='DummySessionID')
$('Page').request({parameters:{SavePageButton:true},asynchronous:false});}}
Qualtrics.SurveyEngine.changeLanguage=function()
{window.noSEAutoSave=true;submitForm('Page');}
Qualtrics.inputClickHelper=function(e)
{e=e||window.event;var el=Event.element(e);var kids=el.childNodes;var count=0;var inputNode=null;if(kids&&kids.length)
{for(i=0;i<kids.length;i++)
{if(kids[i].nodeName=='INPUT'&&(kids[i].type=='radio'||kids[i].type=='checkbox'))
{count++;inputNode=kids[i];}}}
if(el.nodeName=='LABEL'||el.nodeName=='INPUT')
return;if(count==1&&inputNode)
{inputNode.click();}
if(el.parentNode&&el.parentNode.nodeName=='LABEL'&&el.parentNode.click)
{el.parentNode.click();}}
Qualtrics.openPageInPDF=function()
{QModules.loadModule('WRQualtricsShared/JavaScript/Libraries/QPDFPrinter.js');var pages=[QBuilder('div',{},[$('SurveyEngineBody').cloneNode(true)])];QPDFPrinter.print(pages,{includeCSS:true,orientation:'portrait',filename:'surveysummary.pdf',paginate:true,background:true,margin:20,baseCSS:'width:860px; margin-left:20px; float:left;'});}
Event.observe(window,'load',function()
{if($('SurveyEngineBody'))
{if($('Page')&&$('Page').nodeName=="FORM"&&$('Page').findFirstElement()&&$('SurveyEngineBody').hasClassName('SkinVaccessible'))
{var first=$('Page').findFirstElement();first.focus();}
Event.observe('SurveyEngineBody','mousedown',Qualtrics.inputClickHelper);}});Event.observe(document,'keydown',Qualtrics.SurveyEngine.globalKeyDownHandler);
/*
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/

(function(){if(!window.CKEDITOR)window.CKEDITOR=(function(){var a={timestamp:'AA4E4NT',version:'3.4.2',revision:'6041',_:{},status:'unloaded',basePath:(function(){var d=window.CKEDITOR_BASEPATH||'';if(!d){var e=document.getElementsByTagName('script');for(var f=0;f<e.length;f++){var g=e[f].src.match(/(^|.*[\\\/])ckeditor(?:_basic)?(?:_source)?.js(?:\?.*)?$/i);if(g){d=g[1];break;}}}if(d.indexOf('://')==-1)if(d.indexOf('/')===0)d=location.href.match(/^.*?:\/\/[^\/]*/)[0]+d;else d=location.href.match(/^[^\?]*\/(?:)/)[0]+d;if(!d)throw 'The CKEditor installation path could not be automatically detected. Please set the global variable "CKEDITOR_BASEPATH" before creating editor instances.';return d;})(),getUrl:function(d){if(d.indexOf('://')==-1&&d.indexOf('/')!==0)d=this.basePath+d;if(this.timestamp&&d.charAt(d.length-1)!='/'&&!/[&?]t=/.test(d))d+=(d.indexOf('?')>=0?'&':'?')+'t='+this.timestamp;return d;}},b=window.CKEDITOR_GETURL;if(b){var c=a.getUrl;a.getUrl=function(d){return b.call(a,d)||c.call(a,d);};}return a;})();var a=CKEDITOR;if(!a.event){a.event=function(){};a.event.implementOn=function(b){var c=a.event.prototype;for(var d in c){if(b[d]==undefined)b[d]=c[d];}};a.event.prototype=(function(){var b=function(d){var e=d.getPrivate&&d.getPrivate()||d._||(d._={});return e.events||(e.events={});},c=function(d){this.name=d;this.listeners=[];};c.prototype={getListenerIndex:function(d){for(var e=0,f=this.listeners;e<f.length;e++){if(f[e].fn==d)return e;}return-1;}};return{on:function(d,e,f,g,h){var i=b(this),j=i[d]||(i[d]=new c(d));if(j.getListenerIndex(e)<0){var k=j.listeners;if(!f)f=this;if(isNaN(h))h=10;var l=this,m=function(o,p,q,r){var s={name:d,sender:this,editor:o,data:p,listenerData:g,stop:q,cancel:r,removeListener:function(){l.removeListener(d,e);}};e.call(f,s);return s.data;};m.fn=e;m.priority=h;for(var n=k.length-1;n>=0;n--){if(k[n].priority<=h){k.splice(n+1,0,m);return;}}k.unshift(m);}},fire:(function(){var d=false,e=function(){d=true;},f=false,g=function(){f=true;};return function(h,i,j){var k=b(this)[h],l=d,m=f;d=f=false;if(k){var n=k.listeners;if(n.length){n=n.slice(0);for(var o=0;o<n.length;o++){var p=n[o].call(this,j,i,e,g);if(typeof p!='undefined')i=p;if(d||f)break;}}}var q=f||(typeof i=='undefined'?false:i);d=l;f=m;return q;};})(),fireOnce:function(d,e,f){var g=this.fire(d,e,f);delete b(this)[d];return g;},removeListener:function(d,e){var f=b(this)[d];if(f){var g=f.getListenerIndex(e);if(g>=0)f.listeners.splice(g,1);}},hasListeners:function(d){var e=b(this)[d];
return e&&e.listeners.length>0;}};})();}if(!a.editor){a.ELEMENT_MODE_NONE=0;a.ELEMENT_MODE_REPLACE=1;a.ELEMENT_MODE_APPENDTO=2;a.editor=function(b,c,d,e){var f=this;f._={instanceConfig:b,element:c,data:e};f.elementMode=d||0;a.event.call(f);f._init();};a.editor.replace=function(b,c){var d=b;if(typeof d!='object'){d=document.getElementById(b);if(!d){var e=0,f=document.getElementsByName(b);while((d=f[e++])&&d.tagName.toLowerCase()!='textarea'){}}if(!d)throw '[CKEDITOR.editor.replace] The element with id or name "'+b+'" was not found.';}d.style.visibility='hidden';return new a.editor(c,d,1);};a.editor.appendTo=function(b,c,d){var e=b;if(typeof e!='object'){e=document.getElementById(b);if(!e)throw '[CKEDITOR.editor.appendTo] The element with id "'+b+'" was not found.';}return new a.editor(c,e,2,d);};a.editor.prototype={_init:function(){var b=a.editor._pending||(a.editor._pending=[]);b.push(this);},fire:function(b,c){return a.event.prototype.fire.call(this,b,c,this);},fireOnce:function(b,c){return a.event.prototype.fireOnce.call(this,b,c,this);}};a.event.implementOn(a.editor.prototype,true);}if(!a.env)a.env=(function(){var b=navigator.userAgent.toLowerCase(),c=window.opera,d={ie:/*@cc_on!@*/false,opera:!!c&&c.version,webkit:b.indexOf(' applewebkit/')>-1,air:b.indexOf(' adobeair/')>-1,mac:b.indexOf('macintosh')>-1,quirks:document.compatMode=='BackCompat',mobile:b.indexOf('mobile')>-1,isCustomDomain:function(){if(!this.ie)return false;var g=document.domain,h=window.location.hostname;return g!=h&&g!='['+h+']';}};d.gecko=navigator.product=='Gecko'&&!d.webkit&&!d.opera;var e=0;if(d.ie){e=parseFloat(b.match(/msie (\d+)/)[1]);d.ie8=!!document.documentMode;d.ie8Compat=document.documentMode==8;d.ie7Compat=e==7&&!document.documentMode||document.documentMode==7;d.ie6Compat=e<7||d.quirks;}if(d.gecko){var f=b.match(/rv:([\d\.]+)/);if(f){f=f[1].split('.');e=f[0]*10000+(f[1]||0)*100+(f[2]||0);}}if(d.opera)e=parseFloat(c.version());if(d.air)e=parseFloat(b.match(/ adobeair\/(\d+)/)[1]);if(d.webkit)e=parseFloat(b.match(/ applewebkit\/(\d+)/)[1]);d.version=e;d.isCompatible=!d.mobile&&(d.ie&&e>=6||d.gecko&&e>=10801||d.opera&&e>=9.5||d.air&&e>=1||d.webkit&&e>=522||false);d.cssClass='cke_browser_'+(d.ie?'ie':d.gecko?'gecko':d.opera?'opera':d.air?'air':d.webkit?'webkit':'unknown');if(d.quirks)d.cssClass+=' cke_browser_quirks';if(d.ie){d.cssClass+=' cke_browser_ie'+(d.version<7?'6':d.version>=8?document.documentMode:'7');if(d.quirks)d.cssClass+=' cke_browser_iequirks';
}if(d.gecko&&e<10900)d.cssClass+=' cke_browser_gecko18';return d;})();var b=a.env;var c=b.ie;if(a.status=='unloaded')(function(){a.event.implementOn(a);a.loadFullCore=function(){if(a.status!='basic_ready'){a.loadFullCore._load=1;return;}delete a.loadFullCore;var e=document.createElement('script');e.type='text/javascript';e.src=a.basePath+'ckeditor.js';document.getElementsByTagName('head')[0].appendChild(e);};a.loadFullCoreTimeout=0;a.replaceClass='ckeditor';a.replaceByClassEnabled=1;var d=function(e,f,g,h){if(b.isCompatible){if(a.loadFullCore)a.loadFullCore();var i=g(e,f,h);a.add(i);return i;}return null;};a.replace=function(e,f){return d(e,f,a.editor.replace);};a.appendTo=function(e,f,g){return d(e,f,a.editor.appendTo,g);};a.add=function(e){var f=this._.pending||(this._.pending=[]);f.push(e);};a.replaceAll=function(){var e=document.getElementsByTagName('textarea');for(var f=0;f<e.length;f++){var g=null,h=e[f],i=h.name;if(!h.name&&!h.id)continue;if(typeof arguments[0]=='string'){var j=new RegExp('(?:^|\\s)'+arguments[0]+'(?:$|\\s)');if(!j.test(h.className))continue;}else if(typeof arguments[0]=='function'){g={};if(arguments[0](h,g)===false)continue;}this.replace(h,g);}};(function(){var e=function(){var f=a.loadFullCore,g=a.loadFullCoreTimeout;if(a.replaceByClassEnabled)a.replaceAll(a.replaceClass);a.status='basic_ready';if(f&&f._load)f();else if(g)setTimeout(function(){if(a.loadFullCore)a.loadFullCore();},g*1000);};if(window.addEventListener)window.addEventListener('load',e,false);else if(window.attachEvent)window.attachEvent('onload',e);})();a.status='basic_loaded';})();})();


