
CollapsiblePanel=Class.create();CollapsiblePanel.prototype={initialize:function(link,field,target){this.link=link;this.field=field;this.target=target;Event.observe(window,"load",this.setup.bindAsEventListener(this));},setup:function(){Event.observe(this.link,"click",this.onLinkClick.bindAsEventListener(this));},onLinkClick:function(){Element.toggle(this.target);var showing=Element.visible(this.target);Element.update(this.link,(showing?"Hide":"Show"));$(this.field).value=showing.toString().toLowerCase();}};
function __open(url,title,options){setTimeout(function(){window.open(url,title,options);},1);};function confirmDelete(){return confirm('Are you sure?');};
var DatePicker=Class.create({shortDays:["Su","Mo","Tu","We","Th","Fr","Sa"],medDays:["Sun","Mon","Tu","Wed","Thu","Fri","Sat"],longDays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],medMonths:["Jan","Feb","Mar","Apr","May","June","July","Aug","Sept","Oct","Nov","Dec"],longMonths:["January","February","March","April","May","June","July","August","September","October","November","December"],initialize:function(inputs,triggers,options){this.inputs=inputs||{};this.triggers=triggers||[];this.events=[];this.options=Object.extend({css:"picker",controlCss:"pickercontrol",dateCss:"pickerdate",selectedDateCss:"pickerdateselected",currentDateCss:"pickerdatecurrent",headerCss:"pickerheader",footerCss:"pickerfooter",shimCss:"pickershim",format:"mdy",waitForLoad:true},options);if(this.options.waitForLoad){Event.observe(document,"dom:loaded",this.setup.bindAsEventListener(this));}else{this.setup();}},destroy:function(){if(this.element){try{for(var i=0,n=this.hideEvents.length;i<n;i++){Event.stopObserving(this.hideEvents[i].element,this.hideEvents[i].action,this.hideEvents[i].callback);}}catch(e){}
for(var i=0,n=this.events.length;i<n;i++){Event.stopObserving(this.events[i].element,this.events[i].action,this.events[i].callback);}
this.events=[];if(this.shim){this.shim.remove();this.shim=null;}
this.element.remove();this.element=null;}},fill:function(date){date=new Date(Date.parse(date.toString()));date.setDate(1);this.viewDate=new Date(Date.parse(date.toString()));var tbody=this.element.select("tbody")[0].update("");this.element.select("thead th h1")[0].update(this.longMonths[date.getMonth()]+" "+date.getFullYear());var row=new Element("tr");tbody.insert(row);for(var i=0,n=date.getDay();i<n;i++){row.insert(new Element("td").update("&nbsp;"));}
do{var shortString=date.toShortDateString();var css=this.options.dateCss;if(shortString==new Date().toShortDateString())css+=" "+this.options.currentDateCss;if(this.selected&&shortString==this.selected.toShortDateString())css+=" "+this.options.selectedDateCss;row.insert(new Element("td").update(new Element("a",{"class":css,href:"javascript:void(0);"}).update(date.getDate().toString())));if(date.getDay()==6){row=new Element("tr");tbody.insert(row);}
date.setDate(date.getDate()+1);}while(date.getDate()>1);if(date.getDay()>0){for(var i=7,n=date.getDay();i>n;--i){row.insert(new Element("td").update("&nbsp;"));}}},getLocation:function(){var location={left:0,top:0};if(this.inputs.date){location=this.inputs.date.cumulativeOffset();location.top+=this.inputs.date.getHeight();}else if(this.inputs.year&&this.inputs.month&&this.inputs.day){var yl=this.inputs.year.cumulativeOffset();var ml=this.inputs.month.cumulativeOffset();var dl=this.inputs.day.cumulativeOffset();location={left:[yl.left,ml.left,dl.left].sort()[0],top:[yl.top,ml.top,dl.top].sort()[2]+this.inputs.year.getHeight()};}
return location;},getValue:function(){return this.parseInputs();},hide:function(){try{for(var i=0,n=this.hideEvents.length;i<n;i++){Event.stopObserving(this.hideEvents[i].element,this.hideEvents[i].action,this.hideEvents[i].callback);}}catch(e){}
this.element.hide();if(this.shim){this.shim.hide();}},observe:function(element,action,callback){Event.observe(element,action,callback);this.events.push({element:element,action:action,callback:callback});},parseInputs:function(){var date=null;try{if(this.inputs.date){var parts=$F(this.inputs.date).replace(/\-/g,"/").split("/");if(parts.length==3){var yearPos=2;if(this.options.format==='ymd'){yearPos=0;}
if(parts[yearPos].match(/^[0-9][0-9]/)&&parts[yearPos].length==2){parts[yearPos]='20'+parts[yearPos];}
parts=parts.invoke("replace",/^0/,"");switch(this.options.format){case("dmy"):date=new Date(parseInt(parts[2]),parseInt(parts[1])-1,parseInt(parts[0]));break;case("ymd"):date=new Date(parseInt(parts[0]),parseInt(parts[1])-1,parseInt(parts[2]));break;default:date=new Date(parseInt(parts[2]),parseInt(parts[0])-1,parseInt(parts[1]));break;}}}else if(this.inputs.year&&this.inputs.month&&this.inputs.day){date=new Date(parseInt($F(this.inputs.year)),parseInt($F(this.inputs.month))-1,parseInt($F(this.inputs.day)));}}catch(e){date=null;}
return!isNaN(date)?date:null;},setup:function(){this.hideEvents=[{element:document,action:"click",callback:this.onDocumentClick.bindAsEventListener(this)},{element:document,action:"keydown",callback:this.onDocumentKeyPress.bindAsEventListener(this)}];this.element=new Element("table",{"class":this.options.css,cellpadding:"0",cellspacing:"0",border:"0",style:"position:absolute;display:none;"});var thead=new Element("thead",{"class":this.options.headerCss});var tbody=new Element("tbody");var tfoot=new Element("tfoot",{"class":this.options.footerCss});var previous=new Element("a",{"class":this.options.controlCss,href:"javascript:void(0);",title:"Previous month"}).update("&lt;");var next=new Element("a",{"class":this.options.controlCss,href:"javascript:void(0);",title:"Next month"}).update("&gt;");var today=new Element("a",{"class":this.options.controlCss,href:"javascript:void(0);",title:"Today"}).update("Today");this.element.insert(thead).insert(tbody).insert(tfoot);document.body.appendChild(this.element);if(Prototype.Browser.IE){this.shim=new Element("iframe",{"class":this.options.shimCss,src:"javascript:false;",frameborder:"0",scrolling:"no",style:"position:absolute;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);display:none;"});document.body.appendChild(this.shim);}else{this.shim=null;}
var week=new Element("tr");this.shortDays.each(function(day){week.insert(new Element("td").update(day))});thead.insert(new Element("tr").insert(new Element("th").update(previous)).insert(new Element("th",{colspan:"5"}).update(new Element("h1"))).insert(new Element("th").update(next))).insert(week);tfoot.insert(new Element("tr").insert(new Element("th",{colspan:"7"}).update(today)));this.observe(previous,"click",this.onPreviousClick.bindAsEventListener(this));this.observe(next,"click",this.onNextClick.bindAsEventListener(this));this.observe(today,"click",this.onTodayClick.bindAsEventListener(this));this.observe(tbody,"click",this.onDateClick.bindAsEventListener(this));for(var i=0,n=this.triggers.length;i<n;i++){this.triggers[i]=$(this.triggers[i]);["click","focus"].each(function(action){this.observe(this.triggers[i],action,this.onTrigger.bindAsEventListener(this));}.bind(this))}
for(var prop in this.inputs){this.inputs[prop]=$(this.inputs[prop]);}},setValue:function(date){if(date){if(this.inputs.date){this.inputs.date.value=date.toShortDateString(this.options.format,true);}else if(this.inputs.year&&this.inputs.month&&this.inputs.day){var year=date.getFullYear();var month=date.getMonth()+1;var day=date.getDate();if(month<10)month="0"+month;if(day<10)day="0"+day;this.inputs.year.value=year.toString();this.inputs.month.value=month.toString();this.inputs.day.value=day.toString();}}else{for(var prop in this.inputs){this.inputs[prop].value="";}}
if(this.element.visible()){this.fill(this.parseInputs()||new Date());}},show:function(){if(!this.element.visible()){this.selected=this.parseInputs();this.fill(this.selected||new Date());var location=this.getLocation();this.element.setStyle({left:location.left+"px",top:location.top+"px"});this.element.show();if(this.shim){this.shim.show();this.shim.setStyle({width:this.element.getWidth()+"px",height:this.element.getHeight()+"px",left:location.left+"px",top:location.top+"px"});}
for(var i=0,n=this.hideEvents.length;i<n;i++){Event.observe(this.hideEvents[i].element,this.hideEvents[i].action,this.hideEvents[i].callback);}}},onDateClick:function(event){var element=Event.element(event);var value=element.innerHTML.trim();if(value&&element.tagName.toLowerCase()=="a"){var year=this.viewDate.getFullYear();var month=this.viewDate.getMonth();var day=parseInt(value);this.hide();this.setValue(new Date(year,month,day));}},onDocumentClick:function(event){var element=Event.element(event);var hide=element!=this.element&&!element.descendantOf(this.element);if(hide){for(var prop in this.inputs){if(element==this.inputs[prop]||element.descendantOf(this.inputs[prop])){hide=false;break;}}
if(hide){for(var i=0,n=this.triggers.length;i<n;i++){if(element==this.triggers[i]||element.descendantOf(this.triggers[i])){hide=false;break;}}}}
if(hide){this.hide();}},onDocumentKeyPress:function(event){var element=event.element();var keyCode=event.which||event.keyCode;if(keyCode==Event.KEY_ESC||keyCode==Event.KEY_TAB||(this.inputs.date&&element!=this.inputs.date)||(this.inputs.year&&element!=this.inputs.year&&this.inputs.month&&element!=this.inputs.month&&this.inputs.day&&(element!=this.inputs.day))){this.hide();}},onNextClick:function(event){this.fill(this.viewDate.addMonths(1));},onPreviousClick:function(event){this.fill(this.viewDate.addMonths(-1));},onTodayClick:function(event){this.fill(new Date());},onTrigger:function(event){this.show();}});if(!Object.isFunction(Date.prototype.addMonths)){Date.prototype.addMonths=function(i){var date=this.getDate();this.setDate(1);this.setMonth(this.getMonth()+i);var month=this.getMonth();this.setDate(date);if(this.getMonth()!=month){this.setDate(0);}
return this;};}
if(!Object.isFunction(Date.prototype.toShortDateString)){Date.prototype.toShortDateString=function(format,addZeros){format=format||"mdy";var day=this.getDate().toString();var month=(this.getMonth()+1).toString();if(addZeros){if(day<10)day="0"+day;if(month<10)month="0"+month;}
switch(format){case("mdy"):return month+"/"+day+"/"+this.getFullYear();case("ymd"):return this.getFullYear()+"/"+month+"/"+day;default:return day+"/"+month+"/"+this.getFullYear();}}}
DateRange=Class.create();DateRange.prototype={initialize:function(display,edit,startBox,endBox,startLabel,endLabel,changeLink,updateButton,cancelLink){this.ids={display:display,edit:edit,startBox:startBox,endBox:endBox,startLabel:startLabel,endLabel:endLabel,changeLink:changeLink,updateButton:updateButton,cancelLink:cancelLink};Event.observe(window,"load",this.setup.bindAsEventListener(this));},setup:function(){Event.observe(this.ids.changeLink,"click",this.onChangeClick.bindAsEventListener(this));Event.observe(this.ids.updateButton,"click",this.onUpdateClick.bindAsEventListener(this));Event.observe(this.ids.cancelLink,"click",this.onCancelClick.bindAsEventListener(this));},onChangeClick:function(){Element.hide(this.ids.display);Element.show(this.ids.edit);$(this.ids.startBox).value=$(this.ids.startLabel).innerHTML.trim();$(this.ids.endBox).value=$(this.ids.endLabel).innerHTML.trim();},onCancelClick:function(){Element.show(this.ids.display);Element.hide(this.ids.edit);},onUpdateClick:function(){var start=$F(this.ids.startBox).trim();var end=$F(this.ids.endBox).trim();if(start!=""){if(end!=""){Controls_Li_LeftNavigationLoggedIn.SetDateRange(start,end,function(status){if(status.success){$(this.ids.startLabel).innerHTML=start;$(this.ids.endLabel).innerHTML=end;window.location=window.location;}else{alert(status.reason);}}.bind(this));}else{alert("End date is required.");}}else{alert("Start date is required.");}}};
var Kay=(Kay||{});Kay.UI=(Kay.UI||{});Kay.UI.Dialog=Class.create();Kay.UI.Dialog.prototype={initialize:function(element,state,triggers,options){this.element=element;this.state=state;this.triggers=triggers;this.setOptions(options);if(this.options.waitForLoad){Event.observe(window,"load",this.setup.bindAsEventListener(this));}else{this.setup();}},createOverlay:function(){if(!this.overlay){var o=Builder.node("div",{className:this.options.overlayCss,style:"display:none;"});document.body.insertBefore(o,document.body.firstChild);Kay.UI.Util.createEvent(window,"resize",this.onWindowResize.bindAsEventListener(this),this.events);Kay.UI.Util.createEvent(window,"scroll",this.onWindowScroll.bindAsEventListener(this),this.events);this.overlay=o;}
if(Kay.UI.isIE&&!this.iframe){var i=Builder.node("iframe",{className:this.options.iframeCss,frameborder:"0",style:"display:none;"});document.body.insertBefore(i,document.body.firstChild);this.iframe=i;}},getScroll:function(){return{left:window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0,top:window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0};},hide:function(){if(this.overlay){new Effect.Fade(this.overlay,{duration:0.1});this.overlay.parentNode.removeChild(this.overlay);}
if(this.iframe){this.iframe.parentNode.removeChild(this.iframe);}
if(this.draggable){this.draggable.destroy();this.draggable=null;}
Kay.UI.Util.destroyEvents(this.events);this.overlay=null;this.iframe=null;this.element.hide();this.triggers.each(function(trigger){Kay.UI.Util.createEvent(trigger,"click",this.show.bindAsEventListener(this),this.triggerEvents);}.bind(this));if(this.state)this.state.value="false";this.options.onHide(this);},resizeOverlay:function(){var scroll=this.getScroll();var win={width:Kay.UI.Util.getClientWidth(),height:Kay.UI.Util.getClientHeight()};this.overlay.style.height=win.height+"px";this.overlay.style.left=scroll.left+"px";this.overlay.style.top=scroll.top+"px";if(this.iframe){this.iframe.style.height=win.height+"px";this.iframe.style.left=scroll.left+"px";this.iframe.style.top=scroll.top+"px";}},setOptions:function(options){this.options={draggable:true,mode:"windowed",handleCss:"dialoghandle",closeCss:"dialogclose",overlayCss:"dialogmodaloverlay",iframeCss:"dialogiframe",waitForLoad:false,onShow:Prototype.emptyFunction,onHide:Prototype.emptyFunction,enabler:null};Object.extend(this.options,options);},setup:function(){this.element=$(this.element);this.state=$(this.state);this.triggers=$A(this.triggers);this.events=$A([]);this.triggerEvents=$A([]);this.element.hide();this.triggers.each(function(trigger){Kay.UI.Util.createEvent(trigger,"click",this.show.bindAsEventListener(this),this.triggerEvents);}.bind(this));if(this.state&&this.state.value=="true"){this.show();}},show:function(){if(this.options.enabler==null||this.options.enabler()){if(this.options.mode=="modal"){this.createOverlay();this.resizeOverlay();new Effect.Appear(this.overlay,{duration:0.1,from:0.0,to:0.3});if(this.iframe){Element.show(this.iframe);}}
var size=Element.getDimensions(this.element);var scroll=this.getScroll();var win={width:Kay.UI.Util.getClientWidth(),height:Kay.UI.Util.getClientHeight()};var left=(win.width/2)-(size.width/2)+scroll.left;var top=(win.height/2)-(size.height/2)+scroll.top;left=(left<scroll.left)?scroll.left:left;top=(top<scroll.top)?scroll.top:top;this.element.style.left=left+"px";this.element.style.top=top+"px";var handle=document.getElementsByClassName(this.options.handleCss,this.element)[0];if(handle){if(this.options.draggable){this.draggable=new Draggable(this.element,{handle:handle,starteffect:false,endeffect:false});handle.style.cursor="move";}else{handle.style.cursor="auto";}
var close=document.getElementsByClassName(this.options.closeCss,handle)[0];if(close){Kay.UI.Util.createEvent(close,"click",this.hide.bindAsEventListener(this),this.events);}}
if(this.state)this.state.value="true";Kay.UI.Util.destroyEvents(this.triggerEvents);Element.show(this.element);this.options.onShow(this);}},onWindowResize:function(){this.resizeOverlay();},onWindowScroll:function(){this.resizeOverlay();}};
var FacilityEditor=Class.create();FacilityEditor.prototype={initialize:function(jurisdictions,levels){this.jurisdictions=jurisdictions;this.levels=levels;Event.observe(window,"load",this.setup.bindAsEventListener(this));},getTrialIndex:function(list){var index=-1;for(var i=0;i<list.options.length;i++){if(list==this.levels&&list.options[i].value=="Trial"){index=i;break;}else if(list.options[i].text.indexOf("Trial")==0){index=i;break;}}
return index;},setup:function(){this.jurisdictions=$(this.jurisdictions);this.levels=$(this.levels);if(this.jurisdictions.selectedIndex==this.getTrialIndex(this.jurisdictions)||this.levels.selectedIndex==this.getTrialIndex(this.levels)){this.jurisdictions.selectedIndex=this.getTrialIndex(this.jurisdictions);this.levels.selectedIndex=this.getTrialIndex(this.levels);}
Event.observe(this.jurisdictions,"change",this.onJurisdictionsChange.bindAsEventListener(this));Event.observe(this.levels,"change",this.onLevelsChange.bindAsEventListener(this));},onJurisdictionsChange:function(){if(this.jurisdictions.options[this.jurisdictions.selectedIndex].text.indexOf("Trial")==0){var index=this.getTrialIndex(this.levels);if(index>-1){this.levels.selectedIndex=index;}}else if($F(this.levels)=="Trial"){this.levels.selectedIndex=0;}},onLevelsChange:function(){if($F(this.levels)=="Trial"){var index=this.getTrialIndex(this.jurisdictions);if(index>-1){this.jurisdictions.selectedIndex=index;}}else if(this.jurisdictions.options[this.jurisdictions.selectedIndex].text.indexOf("Trial")==0){this.jurisdictions.selectedIndex=0;}}};
var FeaturedCountUpdater=Class.create({initialize:function(featuredBoxes,options){this.featuredBoxes=featuredBoxes;this.options=Object.extend({highlightCss:"highlight",waitForLoad:true},options);if(this.options.waitForLoad){Event.observe(document,"dom:loaded",this.setup.bind(this));}else{this.setup();}},setup:function(){for(var i=0,n=this.featuredBoxes.length;i<n;i++){var featuredBox=this.featuredBoxes[i];featuredBox.oldNumber=parseInt($F(featuredBox.boxId));Event.observe(featuredBox.boxId,"change",this.onBoxChange.bind(this,featuredBox));Event.observe(featuredBox.boxId,"keypress",this.onKeyPress.bindAsEventListener(this));}},onBoxChange:function(featuredBox){var number=$F(featuredBox.boxId);if(number){if(/^\d+$/.test(number)){if(number>=featuredBox.topStoryCount){var completed=false,elapsed=false;var div=$(featuredBox.boxId).up("div");$(featuredBox.boxId).addClassName(this.options.highlightCss);setTimeout(function(){elapsed=true;if(completed){$(featuredBox.boxId).removeClassName(this.options.highlightCss);}}.bind(this),1500);PbS.Members.FeatureCountUpdate.UpdateFeaturedCount(featuredBox.id,number,function(status,newNumber){completed=true;if(elapsed){$(featuredBox.boxId).removeClassName(this.options.highlightCss);}
if(status.success){$(featuredBox.boxId).value=newNumber;featuredBox.oldNumber=newNumber;}else{alert(status.reason);}}.bind(this));}else{alert("Featured count cannot be less than the current number of top stories.");$(featuredBox.boxId).value=featuredBox.oldNumber;}}else{alert("Priority must be a non-negative number.");}}else{alert("A priority value is required.");}},onKeyPress:function(event){var keyCode=event.which||event.keyCode;if(keyCode===Event.KEY_RETURN){event.stop();}}});
var NAC=(NAC||{});NAC.Util=(NAC.Util||{});NAC.Util.FlashLoader=function(sClassId,sCodeBase,sId,sWidth,sHeight,sMovie,oOptions){this.sClassId=sClassId;this.sCodeBase=sCodeBase;this.sId=sId;this.sWidth=sWidth;this.sHeight=sHeight;this.sMovie=sMovie;this.SetOptions(oOptions);this.BuildHtml();};NAC.Util.FlashLoader.prototype={SetOptions:function(oOptions){this.oOptions={align:"middle",allowScriptAccess:"sameDomain",bgColor:"#FFFFFF",deviceFont:"false",flashvars:"",loop:"false",menu:"false",play:"false",quality:"high",sAlign:"",scale:"",version:"8,0,0,0",wMode:"window"};for(property in oOptions){this.oOptions[property]=oOptions[property];}},BuildHtml:function(){var sAlign=this.oOptions.align;var sVersion=this.oOptions.version;var sParams='<param name="allowScriptAccess" value="'+this.oOptions.allowScriptAccess+'" />\n';sParams+='<param name="movie" value="'+this.sMovie+'" />\n';var sEmbedParams='allowScriptAccess="'+this.oOptions.allowScriptAccess+'" src="'+this.sMovie+'"';this.oOptions.align="";this.oOptions.allowScriptAccess="";this.oOptions.version="";for(property in this.oOptions){if(this.oOptions[property]!=""){sParams+='<param name="'+property+'" value="'+this.oOptions[property]+'" />\n';sEmbedParams+=' '+property+'="'+this.oOptions[property]+'"';}}
var sHtml='<object classid="'+this.sClassId+'" codebase="'+this.sCodeBase;sHtml+=(sVersion&&sVersion!="")?'#version='+sVersion+'" ':'" ';sHtml+='id="'+this.sId+'" width="'+this.sWidth+'" height="'+this.sHeight+'" align="'+sAlign+'">\n';sHtml+=sParams;sHtml+='<embed name="'+this.sId+'" width="'+this.sWidth+'" height="'+this.sHeight+'" align="'+sAlign+'" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" '+sEmbedParams+' />';sHtml+='</object>';document.open();document.write(sHtml);document.close();}};
var MapManager=Class.create({initialize:function(facilityName,address1,address2,city,state,zipcode,mapFrame,latitude,longitude,messageBox,options){this.facilityName=facilityName;this.address1=address1;this.address2=address2;this.city=city;this.state=state;this.zipcode=zipcode;this.mapFrame=mapFrame;this.latitude=latitude;this.longitude=longitude;this.messageBox=messageBox;this.options=Object.extend({waitForLoad:true,errorCss:'maperror'},options);if(this.options.waitForLoad){Event.observe(document,"dom:loaded",this.setup.bind(this));}else{this.setup();}},setup:function(){this.observeItems=[this.address1,this.address2,this.city,this.state,this.zipcode];this.observeItems.each(function(input){Event.observe(input,"change",this.getLocations.bindAsEventListener(this));}.bind(this));this.initializeMap();},initializeMap:function(){if(GBrowserIsCompatible()){this.map=new GMap2($(this.mapFrame));this.map.addControl(new GSmallMapControl(),new GControlPosition(G_ANCHOR_TOP_RIGHT,new GSize(10,10)));this.geocoder=new GClientGeocoder();this.getLocations();}},formatAddress:function(lastResort,options){this.noState=(!$F(this.state))?true:false;var address='United States';if(!this.noState){if($F(this.address1)&&$F(this.city)&&$F(this.state)&&$F(this.zipcode)){address=(lastResort)?$F(this.facilityName):$F(this.address1);if(options){address+=(" "+$F(this.address2));}
address+=(" "+$F(this.city)+" "+$(this.state).options[$(this.state).selectedIndex].text+" "+$F(this.zipcode));}else{address=$(this.state).options[$(this.state).selectedIndex].text;}}
return address;},getLocations:function(event){this.searchForAddress(this.formatAddress(false,false),function(isValid){if(!isValid){this.searchForAddress(this.formatAddress(false,true),function(isValid){if(!isValid){this.searchForAddress(this.formatAddress(true),function(isValid){if(!isValid){$(this.latitude).value=' ';$(this.longitude).value=' ';this.controlMessage(isValid);}}.bind(this));}}.bind(this));}}.bind(this));},searchForAddress:function(address,callback){this.geocoder.getLocations(address,function(callback,Status){var isValid=false;var point,placemark;var zoom=3;var accuracy=0;this.map.clearOverlays();if(Status.Status.code==200){isValid=true;var indexMax=(Status.Placemark.length>50)?50:Status.Placemark.length;for(var i=0;i<indexMax;i++){if(Status.Placemark[i].AddressDetails.Accuracy>=accuracy)
{placemark=Status.Placemark[i];accuracy=placemark.AddressDetails.Accuracy;}}
if(!this.noState){zoom=(accuracy>=5)?13:5;}
point=this.setMap(placemark,zoom);if(!this.noState){this.map.addOverlay(new GMarker(point));}
this.controlMessage(isValid,Status);if(placemark.AddressDetails.Accuracy>=5){$(this.latitude).value=point.y;$(this.longitude).value=point.x;}}
if(Object.isFunction(callback)){callback(isValid);}}.bind(this,callback));},controlMessage:function(isValid,options){if(isValid){this.manageError($(this.messageBox).update(options.Placemark[0].address).hasClassName(this.options.errorCss),isValid);}else{this.manageError($(this.messageBox).update('Warning: GoogleMaps cannot locate address.').hasClassName(this.options.errorCss),isValid);if($F(this.state)){this.geocoder.getLocations($(this.state).options[$(this.state).selectedIndex].text,function(Status){var point=this.setMap(Status.Placemark[0],5);}.bind(this));}}},setMap:function(Placemark,zoom){var point=new GLatLng(Placemark.Point.coordinates[1],Placemark.Point.coordinates[0]);this.map.setCenter(point,zoom);return point},manageError:function(hasError,isValid){if(isValid){if(hasError){$(this.messageBox).removeClassName(this.options.errorCss);}}else{if(!hasError){$(this.messageBox).addClassName(this.options.errorCss);}}}});
var PbS=(PbS||{});PbS.Notification=Class.create();PbS.Notification.prototype={initialize:function(id,targetId,enabler){this.enabler=enabler;Event.observe(targetId,"click",this.onTargetClick.bind(this,id));Event.observe(id+"_close","click",this.onCloseClick.bind(this,id));},createIFrame:function(size,pos){if(!this.iframe){this.iframe=Builder.node("iframe",{frameborder:"0",style:"left:"+
pos[0]+"px;top:"+pos[1]+"px;width:"+size.width+"px;height:"+
size.height+"px;z-index:99;position:absolute;"});document.body.appendChild(this.iframe);}},onCloseClick:function(id){if(this.iframe){this.iframe.parentNode.removeChild(this.iframe);this.iframe=null;}
Element.hide(id);},onTargetClick:function(id){var enabled=true;if(this.enabler&&typeof(this.enabler)=="function"&&!this.enabler()){enabled=false;}
if(enabled){var size=Element.getDimensions(id);var clientSize={width:Kay.UI.Util.getClientWidth(),height:Kay.UI.Util.getClientHeight()};var pos=[Math.round((clientSize.width/2)-(size.width/2)),Math.round((clientSize.height/2)-(size.height/2))];$(id).style.left=pos[0]+"px";$(id).style.top=pos[1]+"px";Element.show(id);Kay.UI.Util.ensureElementInView(id);this.createIFrame(size,Position.cumulativeOffset($(id)));}}};
var PbS=(PbS||{});PbS.ProfilePassword=Class.create();PbS.ProfilePassword.prototype={initialize:function(changeId,cancelId,viewId,editId,oldId,newId,confirmId,updateId,showOnLoad){Event.observe(changeId,"click",this.onChangeClick.bind(this,viewId,editId,updateId));Event.observe(cancelId,"click",this.onCancelClick.bind(this,viewId,editId,oldId,newId,confirmId,updateId));if(showOnLoad){this.onChangeClick(viewId,editId,updateId);}},onCancelClick:function(viewId,editId,oldId,newId,confirmId,updateId){$(updateId).value="false";$(oldId).value="";$(newId).value="";$(confirmId).value="";Element.hide(editId);Element.show(viewId);},onChangeClick:function(viewId,editId,updateId){$(updateId).value="true";Element.hide(viewId);Element.show(editId);}};
var QueryExporter={form:null,url:"",run:function(id){if(QueryExporter.form){QueryExporter.form.parentNode.removeChild(QueryExporter.form);QueryExporter.form=null;}
var form=new Element("form",{id:id+"_form",action:QueryExporter.url,enctype:"multipart/form-data",method:"post",target:id+"_iframe",style:"margin:0;padding:0;border:0;width:0;height:0;"});var iframe=new Element("iframe",{id:id+"_iframe",name:id+"_iframe",frameborder:"0",style:"width:0;height:0;margin:0;padding:0;border:0;"});var input=new Element("input",{type:"hidden",name:"id",value:id});form.insert(iframe).insert(input);document.body.appendChild(form);QueryExporter.form=form;form.submit();}};
var ResourcePrioritizer=Class.create({initialize:function(rows,options){this.rows=rows;this.options=Object.extend({highlightCss:"highlight",waitForLoad:true},options);if(this.options.waitForLoad){Event.observe(document,"dom:loaded",this.setup.bind(this));}else{this.setup();}},setup:function(){for(var i=0,n=this.rows.length;i<n;i++){var row=this.rows[i];row.number=parseInt($F(row.boxId));Event.observe(row.boxId,"change",this.onBoxChange.bind(this,row));Event.observe(row.boxId,"keypress",this.onKeyPress.bindAsEventListener(this));}},updateRange:function(oldNumber,newNumber){if(newNumber>oldNumber){this.rows.findAll(function(r){return r.number>oldNumber&&r.number<=newNumber;}).each(function(r){r.number--;$(r.boxId).value=r.number;});}else if(newNumber<oldNumber){this.rows.findAll(function(r){return r.number<oldNumber&&r.number>=newNumber;}).each(function(r){r.number++;$(r.boxId).value=r.number;});}},onBoxChange:function(row){var number=$F(row.boxId);if(number){if(/^\d+$/.test(number)){var completed=false,elapsed=false;var tr=$(row.boxId).up("tr");tr.addClassName(this.options.highlightCss);setTimeout(function(){elapsed=true;if(completed){tr.removeClassName(this.options.highlightCss);}}.bind(this),1500);PbS.Web.ResourcePrioritySort.Update(row.id,number,function(status,newNumber){completed=true;if(elapsed){tr.removeClassName(this.options.highlightCss);}
if(status.success){this.updateRange(row.number,newNumber);row.number=newNumber;$(row.boxId).value=newNumber;}else{alert(status.reason);}}.bind(this));}else{alert("Priority must be a  non-negative number.");}}else{alert("A priority value is required.");}},onKeyPress:function(event){var keyCode=event.which||event.keyCode;if(keyCode===Event.KEY_RETURN){event.stop();}}});
var ResourceSorter=Class.create({initialize:function(element,options){this.element=element;this.options=Object.extend({waitForLoad:true},options);if(this.options.waitForLoad){Event.observe(document,"dom:loaded",this.setup.bind(this));}else{this.setup();}},serialize:function(){return this._serialize(this.element,[]);},_serialize:function(element,map){var children=element.childElements();for(var i=0,n=children.length;i<n;i++){var child=children[i];if(child.tagName.toLowerCase()=="li"){var node={Id:/^item_([^_]+).*$/.exec(child.id)[1],Children:[],Name:child.innerHTML};var list=child.down("ul");if(list){this._serialize(list,node.Children);}
map.push(node);}}
return map;},setup:function(){this.element=$(this.element);Sortable.create(this.element,{tree:true,onUpdate:this.onSorted.bind(this)});},onSorted:function(){setTimeout(function(){PbS.Members.Web.ResourceTree.UpdateSort(null,this.serialize(),function(status){if(!status.success){alert(status.reason);}}.bind(this));}.bind(this),10);}});
var TemplatedResourceManager=Class.create({initialize:function(parentId,user,options){this.parentId=parentId;this.user=user;this.options=Object.extend({waitForLoad:true},options);if(this.options.waitForLoad){document.observe("dom:loaded",this.setup.bind(this));}else{this.setup();}},setup:function(){$$('a.templink').each(function(input){Event.observe(input,"click",this.onLinkClick.bindAsEventListener(this,input));}.bind(this));},onLinkClick:function(event,input){PbS.Web.ResourceFromTemplateCreator.CreateResourceFromTemplate(this.parentId,input.id,this.user,function(status,newGuid){if(status.success){window.location="../admin/resources.aspx?id="+encodeURIComponent(input.id)+"&pid="+encodeURIComponent(this.parentId);}else{alert('Could not template resource.');}}.bind(this));}});
var PbS=(PbS||{});PbS.ToggleRegion=Class.create();PbS.ToggleRegion.prototype={initialize:function(link,state,target,showingText,hidingText){this.link=link;this.state=state;this.target=target;this.showingText=showingText;this.hidingText=hidingText;Event.observe(link,"click",this.onLinkClick.bindAsEventListener(this));},onLinkClick:function(){var current=$F(this.state);$(this.state).value=(current=="true")?"false":"true";$(this.link).innerHTML=(current=="true")?this.hidingText:this.showingText;Element.toggle(this.target);}};