﻿
var QuickBox=new Class({Implements:Options,options:{resizeDuration:600,resizeTransition:Fx.Transitions.Circ.easeOut,initialWidth:250,initialHeight:250,padding:10,animateCaption:true,counter:"Image {NUM} of {TOTAL}"},initialize:function(options){this.setOptions(options);this.anchors=$$("a[rel=quickbox]");this.anchors.each(function(a){a.store("caption",a.get("title")||a.getElement("img").get("alt"));a.addEvent("click",this.open.bindWithEvent(this,a));},this);this.overlay=new Element("div",{id:"qbOverlay",events:{click:this.close.bindWithEvent(this)}}).inject(document.body,"top");this.quickBox=new Element("div",{id:"qbBox",styles:{width:this.options.initialWidth,height:this.options.initialHeight,marginLeft:-(this.options.initialWidth/2),position:"absolute"}}).inject(document.body,"top");this.prevLink=new Element("a",{id:"qbPrev",href:"#"}).inject(this.quickBox);this.nextLink=this.prevLink.clone().setProperty("id","qbNext").injectInside(this.quickBox);this.stage=new Element("div",{id:"qbStage"}).inject(this.quickBox);this.prevLink.addEvent("click",this.changeImage.bindWithEvent(this,-1));this.nextLink.addEvent("click",this.changeImage.bindWithEvent(this,1));this.bottom=new Element("div",{id:"qbBottom"}).inject(this.quickBox);this.closeButton=new Element("div",{id:"qbClose",events:{click:this.close.bindWithEvent(this)}}).inject(this.bottom);this.caption=new Element("div",{id:"qbCaption"}).inject(this.bottom);this.counter=new Element("div",{id:"qbCounter"}).inject(this.bottom);var nextEffect=this.nextEffect.bind(this);this.fx={overlay:new Fx.Tween(this.overlay,{property:"opacity"}),resize:new Fx.Morph(this.quickBox,{duration:this.options.resizeDuration,transition:this.options.resizeTransition,onComplete:nextEffect}),show:new Fx.Tween(this.stage,{property:"opacity",onComplete:nextEffect}),bottom:new Fx.Tween(this.bottom,{property:"top",duration:400,onComplete:nextEffect})};this.active=false;document.addEvent("mousewheel",this.mouseWheelListener.bindWithEvent(this));document.addEvent("keydown",this.keyboardListener.bindWithEvent(this));},open:function(event,link){this.active=true;var size=window.getSize();var scroll=window.getScroll();var scrollSize=window.getScrollSize();var offset=Math.round((size.y<768)?size.y/36:size.y/10);var top=scroll.y+offset;this.overlay.setStyles({opacity:0,display:"block",width:scrollSize.x,height:scrollSize.y});this.quickBox.setStyles({display:"block",top:top});this.fx.overlay.start(0.8);this.startLoad(link);return false;},startLoad:function(link,preload){if(!link)return;var image=new Asset.image(link.get("href"),{onload:function(){if(!preload&&this.currentLink==link)this.nextEffect();}.bind(this)});if(!preload){this.stage.addClass("loading");this.stage.setStyle("display","block");this.stage.empty();this.bottom.setStyle("opacity",0);this.prevLink.setStyle("display","none");this.nextLink.setStyle("display","none");this.currentLink=link;this.currentCaption=link.retrieve("caption");this.currentImage=image;this.currentIndex=this.anchors.indexOf(link);this.step=1;}},keyboardListener:function(event){if(!this.active)return;if(event.key!="f5")event.preventDefault();switch(event.key){case"esc":case"x":case"q":this.close();break;case"b":case"p":case"left":this.changeImage(event,-1);break;case"f":case"n":case"right":this.changeImage(event,1);}},mouseWheelListener:function(event){if(!this.active)return;if(event.wheel>0)this.changeImage(event,-1);if(event.wheel<0)this.changeImage(event,1);},changeImage:function(event,step){event.preventDefault();var link=this.anchors[this.currentIndex+step];if(!link)return false;for(var f in this.fx)this.fx[f].cancel();this.startLoad(link);},nextEffect:function(){switch(this.step++){case 1:var w=this.currentImage.width+this.options.padding*2;var h=this.currentImage.height+this.options.padding*2;this.prevLink.setStyle("height",h);this.nextLink.setStyle("height",h);this.fx.resize.start({width:w,height:h,marginLeft:-(this.currentImage.width/2)});break;case 2:this.stage.removeClass("loading");this.stage.setStyle("opacity",0);this.currentImage.setStyle("margin",this.options.padding);this.currentImage.inject(this.stage);this.fx.show.start(1);break;case 3:this.prevLink.setStyle("display","block");this.nextLink.setStyle("display","block");if(this.options.animateCaption){if(this.options.counter){var total=this.anchors.length;var num=this.currentIndex+1;var counterText=this.options.counter;counterText=counterText.replace(/\{NUM\}/,num);counterText=counterText.replace(/\{TOTAL\}/,total);this.counter.set("text",counterText);}
this.caption.set("text",this.currentCaption);var height=this.bottom.getStyle("height").toInt();this.bottom.setStyles({opacity:1,top:-height});this.fx.bottom.start(0);}
break;case 4:this.startLoad(this.anchors[this.currentIndex-1],true);this.startLoad(this.anchors[this.currentIndex+1],true);break;}},close:function(){this.quickBox.setStyle("display","none");this.overlay.fade("out");this.active=false;}});var ActionChain={add:function(actions){this.actions=$merge(this.actions,actions);},apply:function(element){for(var index in this.actions){var action=this.actions[index];index=index.split(':');var selector=index[0];var method=index.length>1?index[1]:'domready';$(element).getElements(selector).addEvent(method,action);}}};window.addEvent('domready',function(){ActionChain.apply(document);});ActionChain.add({'#map_canvas':function(){initialize();document.body.addEvent('unload',function(){GUnload();});},'.remote_partial_link:click':function(){new Request({url:this.get('href'),onSuccess:function(htmlResponse){var partial=new Element('span',{html:htmlResponse});var target=$(this.get('data-inject_inside'));partial.inject(target);ActionChain.apply(target);}.bind(this)}).get();return false;},'#gallup_items':function(){var note=new Element('input',{id:'gallup_vote_note',name:'gallup_vote[note]',type:'text',width:'200px'});this.getElements('input[type=radio]').each(function(i){i.addEvent('change',function(){if(i.get('data-note')=='true'){note.set('value','');note.inject(i.getParent('p'));note.focus();}else{note.dispose();}});});},'body':function(){new QuickBox();}});AC_FL_RunContent=0;function AC_AddExtension(src,ext)
{if(src.indexOf('?')!=-1)
return src.replace(/\?/,ext+'?');else
return src+ext;}
function AC_Generateobj(objAttrs,params,embedAttrs)
{var str='<object ';for(var i in objAttrs)
str+=i+'="'+objAttrs[i]+'" ';str+='>';for(var i in params)
str+='<param name="'+i+'" value="'+params[i]+'" /> ';str+='<embed ';for(var i in embedAttrs)
str+=i+'="'+embedAttrs[i]+'" ';str+=' ></embed></object>';document.write(str);}
function AC_FL_RunContent(){var ret=AC_GetArgs
(arguments,".swf","movie","clsid:d27cdb6e-ae6d-11cf-96b8-444553540000","application/x-shockwave-flash");AC_Generateobj(ret.objAttrs,ret.params,ret.embedAttrs);}
function AC_SW_RunContent(){var ret=AC_GetArgs
(arguments,".dcr","src","clsid:166B1BCA-3F9C-11CF-8075-444553540000",null);AC_Generateobj(ret.objAttrs,ret.params,ret.embedAttrs);}
function AC_GetArgs(args,ext,srcParamName,classid,mimeType){var ret=new Object();ret.embedAttrs=new Object();ret.params=new Object();ret.objAttrs=new Object();for(var i=0;i<args.length;i=i+2){var currArg=args[i].toLowerCase();switch(currArg){case"classid":break;case"pluginspage":ret.embedAttrs[args[i]]=args[i+1];break;case"src":case"movie":args[i+1]=AC_AddExtension(args[i+1],ext);ret.embedAttrs["src"]=args[i+1];ret.params[srcParamName]=args[i+1];break;case"onafterupdate":case"onbeforeupdate":case"onblur":case"oncellchange":case"onclick":case"ondblClick":case"ondrag":case"ondragend":case"ondragenter":case"ondragleave":case"ondragover":case"ondrop":case"onfinish":case"onfocus":case"onhelp":case"onmousedown":case"onmouseup":case"onmouseover":case"onmousemove":case"onmouseout":case"onkeypress":case"onkeydown":case"onkeyup":case"onload":case"onlosecapture":case"onpropertychange":case"onreadystatechange":case"onrowsdelete":case"onrowenter":case"onrowexit":case"onrowsinserted":case"onstart":case"onscroll":case"onbeforeeditfocus":case"onactivate":case"onbeforedeactivate":case"ondeactivate":case"type":case"codebase":ret.objAttrs[args[i]]=args[i+1];break;case"width":case"height":case"align":case"vspace":case"hspace":case"class":case"title":case"accesskey":case"name":case"id":case"tabindex":ret.embedAttrs[args[i]]=ret.objAttrs[args[i]]=args[i+1];break;default:ret.embedAttrs[args[i]]=ret.params[args[i]]=args[i+1];}}
ret.objAttrs["classid"]=classid;if(mimeType)ret.embedAttrs["type"]=mimeType;return ret;}
function AC_AX_RunContent(){var ret=AC_AX_GetArgs(arguments);AC_Generateobj(ret.objAttrs,ret.params,ret.embedAttrs);}
function AC_AX_GetArgs(args){var ret=new Object();ret.embedAttrs=new Object();ret.params=new Object();ret.objAttrs=new Object();for(var i=0;i<args.length;i=i+2){var currArg=args[i].toLowerCase();switch(currArg){case"pluginspage":case"type":case"src":ret.embedAttrs[args[i]]=args[i+1];break;case"data":case"codebase":case"classid":case"id":case"onafterupdate":case"onbeforeupdate":case"onblur":case"oncellchange":case"onclick":case"ondblClick":case"ondrag":case"ondragend":case"ondragenter":case"ondragleave":case"ondragover":case"ondrop":case"onfinish":case"onfocus":case"onhelp":case"onmousedown":case"onmouseup":case"onmouseover":case"onmousemove":case"onmouseout":case"onkeypress":case"onkeydown":case"onkeyup":case"onload":case"onlosecapture":case"onpropertychange":case"onreadystatechange":case"onrowsdelete":case"onrowenter":case"onrowexit":case"onrowsinserted":case"onstart":case"onscroll":case"onbeforeeditfocus":case"onactivate":case"onbeforedeactivate":case"ondeactivate":ret.objAttrs[args[i]]=args[i+1];break;case"width":case"height":case"align":case"vspace":case"hspace":case"class":case"title":case"accesskey":case"name":case"tabindex":ret.embedAttrs[args[i]]=ret.objAttrs[args[i]]=args[i+1];break;default:ret.embedAttrs[args[i]]=ret.params[args[i]]=args[i+1];}}
return ret;}