
function pickRandom(range)
{if(Math.random)
return Math.round(Math.random()*(range-1));else
return(new Date().getTime()/1000)%range;}
var PositionReference={};Object.extend(PositionReference,{keepOnScreen:function(position,dimensions){var x=Math.min(document.body.offsetWidth-dimensions['width']-24,Math.max(position[0],0));var y=Math.min(document.body.offsetHeight-dimensions['height'],Math.max(position[1],0));return[x,y];}});PositionReference.AbstractReference=Class.create();Object.extend(PositionReference.AbstractReference.prototype,{initialize:function(element){this.element=$(element);},move:function(id){}});PositionReference.Under=Class.create();Object.extend(Object.extend(PositionReference.Under.prototype,PositionReference.AbstractReference.prototype),{move:function(id){var move=$(id);var moveDimensions=Element.getDimensions(move);var refPosition=Position.cumulativeOffset(this.element);var newPosition=[refPosition[0],refPosition[1]+this.element.offsetHeight];move.setStyle({left:newPosition[0]+"px",top:newPosition[1]+"px"});}});function getWindowHeight(){var windowHeight=0;if(typeof(window.innerHeight)=='number'){windowHeight=window.innerHeight;}
else{if(document.documentElement&&document.documentElement.clientHeight){windowHeight=document.documentElement.clientHeight;}
else{if(document.body&&document.body.clientHeight){windowHeight=document.body.clientHeight;}}}
return windowHeight;}
function getWindowWidth(){var windowWidth=0;if(typeof(window.innerWidth)=='number'){windowWidth=window.innerWidth;}
else{if(document.documentElement&&document.documentElement.clientWidth){windowWidth=document.documentElement.clientWidth;}
else{if(document.body&&document.body.clientWidth){windowWidth=document.body.clientWidth;}}}
return windowWidth;}
function setFooter(){var windowHeight=getWindowHeight();if(windowHeight>0){var footerElement=$('footer');if(footerElement){var contentHeight=$('body').offsetHeight;var footerHeight=footerElement.offsetHeight;if(windowHeight-(contentHeight+footerHeight)>=0){footerElement.style.top=(windowHeight-footerHeight)+'px';}
else{footerElement.style.top=(contentHeight-footerHeight)+'px';}}}}
function fillScreen(element){element.style.height=getWindowHeight()+'px';element.style.width=getWindowWidth()+'px';}
var DelayedExecuter=Class.create();Object.extend(DelayedExecuter.prototype,{initialize:function(callback,delay,name,options){this.name=name||'delayedExecuter';this.callback=callback;this.interval=(delay||1)*1000;var existing=DelayedExecuter.getExecuter(this.name);if(existing){existing.stop();}
this.options=Object.extend({before:function(){},condition:function(){return true},after:function(){}},options||{})
this.options.before();this.timeout=setTimeout(this.callback,this.interval);DelayedExecuter.register(this);},stop:function(){clearTimeout(this.timeout);}});DelayedExecuter.register=function(executer){if(!this.executers)
this.executers={};this.executers[executer.name]=executer;}
DelayedExecuter.getExecuter=function(name){if(this.executers)
return this.executers[name];}
DelayedExecuter.stopAll=function(){if(this.executers){$H(this.executers).keys().each(function(name){this.getExecuter(name).stop();});}}.bind(DelayedExecuter);var HoverObserver=Class.create();Object.extend(HoverObserver.prototype,{initialize:function(element,callback,delay,options){element=$(element);this.element=element;this.callback=callback;this.delay=delay;this.element.hovering=false;Event.observe(this.element,'click',this.stop.bindAsEventListener(this));Event.observe(this.element,'mouseover',this.mouseover.bindAsEventListener(this));Event.observe(this.element,'mouseout',function(){element.hovering=false;});},stop:function(){if(this.executer)
this.executer.stop();},mouseover:function(event){this.element.hovering=true;this.x=Event.pointerX(event);this.y=Event.pointerY(event);this.executer=new DelayedExecuter(function(){if(this.element.hovering){this.callback(this.x,this.y);}}.bind(this),this.delay);}});var Shadow=Class.create();Object.extend(Shadow.prototype,{initialize:function(parent,options){if(navigator.appVersion.match(/\bMSIE\b/)){return false;}
if(!parent)alert('not an element');this.parent=parent;this.baseInitialize(options);this.element=this.create();document.body.appendChild(this.element);},hide:function(){if(this.element){Element.hide(this.element);}},remove:function(){if(this.element){Element.remove(this.element);}},show:function(){if(this.element){Element.show(this.element);}},baseInitialize:function(options){this.options=Object.extend({blur:25,offset:0},options||{});},move:function(){if(!this.element)return false;Position.clone(this.parent,this.element,{offsetTop:this.options.offset,offsetLeft:this.options.offset});var dims=Element.getDimensions(this.parent);if(dims['height']<2*this.options.blur||dims['width']<2*this.options.blur){Element.hide(this.element);}else{Element.show(this.element);var offset=this.options.blur/2;this.element.style.width=dims['width']+offset+'px';this.element.style.height=dims['height']+offset+'px';}},create:function(){var alignments=['left','top','right','bottom'];blurPx=this.options.blur+"px";var shadow=Builder.node('div',{style:"position:absolute;overflow:hidden"});var center=document.createElement('div');alignments.each(function(alignment){center.style[alignment]=blurPx;});center.style.position='absolute';center.style.backgroundImage='url(/images/shadow/shadow_center.png)';shadow.appendChild(Builder.node('div',{style:''}));for(var i=0;i<=3;i++){var e=document.createElement('div');e.style.position='absolute';e.style.backgroundImage='url(/images/shadow/shadow_'+alignments[i][0]+'.png)';e.style[alignments[i]]='0px';if(i%2==0){e.style.width=blurPx;e.style.top=blurPx;e.style.bottom=blurPx;}else{e.style.height=blurPx;e.style.left=blurPx;e.style.right=blurPx;}
shadow.appendChild(e);}
for(var x=0;x<=3;x+=2){for(var y=1;y<=3;y+=2){var e=document.createElement('img');e.src='/images/shadow/shadow_'+alignments[y][0]+alignments[x][0]+'.png';e.style.position='absolute';e.id='bob';e.style.width=blurPx;e.style.height=blurPx;e.style[alignments[x]]="0px";e.style[alignments[y]]="0px";shadow.appendChild(e);}}
return shadow;}});var Dialog=Class.create();Object.extend(Dialog,{allowMultiple:false,cache:{},loadCache:function(data){Object.extend(this.cache,data);},expireCache:function(name){if(name){this.cache[name]=null;}else{this.cache={};}},refreshAll:function(){this.eachDialog(function(dlg){dlg.shadow.move();});},eachDialog:function(f){$H(this.dialogs).values().each(f);},cleanup:function(){if(!this.allowMultiple){this.hideAll();}},register:function(dlg){if(!this.dialogs){this.dialogs={};}
this.dialogs[dlg.name]=dlg;},hideAll:function(){this.eachDialog(function(dlg){if(dlg.visible){dlg.hide();}});},show:function(name){if(this.dialogs[name]){this.dialogs[name].show();}else{alert('Dialog does not exist.');}},hide:function(name){if(this.dialogs[name]){this.dialogs[name].hide();}},toggle:function(name){if(this.dialogs[name].visible){this.dialogs[name].hide();}else{this.dialogs[name].show();}},showOverlay:function(){var overlay=document.createElement('div');overlay.id="overlay";fillScreen(overlay);document.body.appendChild(overlay);},hideOverlay:function(){Element.remove('overlay');}});Object.extend(Dialog.prototype,{initialize:function(name,options){this.name=name;this.baseInitialize(options);this.options.htmlOptions=Object.extend(this.options.htmlOptions,{id:this.name});this.visible=false;Dialog.register(this);},baseInitialize:function(options){this.options=Object.extend({modal:false,closer:false,shadow:true,htmlOptions:{'class':'dialog subdialog'},contentUrl:null,content:Builder.node('span',"Loading..."),useCache:true,contentElement:null,position:null,onShow:Prototype.emptyFunction,onComplete:Prototype.emptyFunction,onHide:Prototype.emptyFunction,closerImage:'/images/closer.png',draggable:false},options||{});},getElement:function(){var e=Builder.node('div',this.options.htmlOptions);e.style.display='none';if(this.options.shadow){this.shadow=new Shadow(e);}
document.body.appendChild(e);return e;},toggle:function(){Dialog.toggle(this.name);},dragging:function(){if(this.shadow){this.shadow.hide();}},doneDragging:function(){if(this.shadow){this.shadow.move();this.shadow.show();}},show:function(){Dialog.cleanup();if(this.options.modal)
Dialog.showOverlay();this.element=this.getElement();if(this.options.draggable){new Draggable(this.element,{change:this.dragging.bind(this),revert:this.doneDragging.bind(this)});}
if(this.options.closer){var link=Builder.node('img',{src:this.options.closerImage});link.onclick=function(){this.cancel();return false}.bind(this);this.element.appendChild(Builder.node('div',{'class':'closer'},[link]));}
this.visible=true;this.move();Element.show(this.element);this.options.onShow();if(this.options.useCache){this.loadFromCache();}
if(this.element.innerHTML==''){this.element.appendChild(this.options.content);if(this.options.contentUrl){new Ajax.Updater(this.element,this.options.contentUrl,{evalScripts:true,onComplete:function(){this.saveToCache();this.shadow.move(),this.options.onComplete()}.bind(this)});}}else{this.shadow.move();this.options.onComplete();}
this.moveCallback=this.move.bind(this);this.escapeCallback=this.onkeyup.bind(this);if(!this.options['manualClose']){this.closeCallback=this.clickOut.bindAsEventListener(this);Event.observe(Prototype.Browser.IE?document.body:window,'mousedown',this.closeCallback);}
Event.observe(window,'resize',this.moveCallback);Event.observe(document.body,'keyup',this.escapeCallback);},clickOut:function(event){if(Position.within(this.element,Event.pointerX(event),Event.pointerY(event)))return;if(Element.detectAncestor(Event.element(event),function(element){return Element.hasClassName(element,'sticky');}))return
this.hide();},hide:function(){this.visible=false;if(this.options.modal)
Dialog.hideOverlay();this.options.onHide();Event.stopObserving(Prototype.Browser.IE?document.body:window,'mousedown',this.closeCallback);Event.stopObserving(window,'resize',this.moveCallback);Event.stopObserving(document.body,'keyup',this.escapeCallback);if(this.shadow){this.shadow.remove();}
Element.remove(this.element);this.element=null;},move:function(){if(this.options.position&&this.options.position.move){this.options.position.move(this.element);}
if(this.shadow){this.shadow.move();}},cancel:function(){this.hide();return false;},clearFields:function(){},saveToCache:function(){Dialog.cache[this.name]=this.element.innerHTML;},loadFromCache:function(){var c=Dialog.cache[this.name];if(c){this.element.innerHTML=c;}},onkeyup:function(e){if(!e)
{e=event;}
if(e.keyCode==Event.KEY_ESC)
{this.cancel();Event.stop(e);}}});Effect.SmartScale=Class.create();Object.extend(Object.extend(Effect.SmartScale.prototype,Effect.Base.prototype),{initialize:function(element,width,height,options){this.element=$(element);this.adjustment=0;this.newDims=[height,width];var options=Object.extend({},arguments[3]||{});this.start(options);},setup:function(){this.elementPositioning=this.element.getStyle('position');this.originalStyle={};['top','left','width','height'].each(function(k){this.originalStyle[k]=this.element.style[k];}.bind(this));this.originalTop=this.element.offsetTop;this.originalLeft=this.element.offsetLeft;this.dims=null;this.dims=[this.element.offsetHeight,this.element.offsetWidth];this.diffY=this.newDims[0]-this.dims[0];this.diffX=this.newDims[1]-this.dims[1];},update:function(position){this.setDimensions(this.dims[0]+position*this.diffY,this.dims[1]+position*this.diffX);},setDimensions:function(height,width){var d={};d.width=width+'px';d.height=height+'px';var topd=(height-this.dims[0])/2;var leftd=(width-this.dims[1])/2;d.top=Math.max(0,this.originalTop-topd)+'px';var windowWidth=Element.getDimensions(document.body)["width"];var newLeft=Math.max(0,this.originalLeft-leftd);var overlap=windowWidth-width-newLeft-40;var adjustment=Math.floor(Math.min(0,overlap));d.left=newLeft+adjustment+'px';this.element.setStyle(d);}});var ImageZoomer=Class.create();ImageZoomer.zoomed=[];ImageZoomer.unzoomAll=function(){this.zoomed.each(function(z){z.unzoom();});}.bind(ImageZoomer);Object.extend(ImageZoomer.prototype,{initialize:function(element,largeSrc,options){this.smallImage=$(element);this.options=Object.extend({condition:function(){return true},onZoom:Prototype.emptyFunction,onUnzoom:Prototype.emptyFunction},options||{});this.large=new Image();this.large.src=largeSrc;this.smallImage.onclick=this.zoom.bind(this);this.zoomed=false;this.img=null;ImageZoomer.zoomed.push(this);setZoomedOutStyle(this.smallImage);},unzoom:function(){if(this.img){this.options.onUnzoom.bind(this)(this.img);Element.remove(this.img);this.img=null;}
this.zoomed=false;Event.stopObserving(document.body,'mousedown',this.closeCallback);},adjust:function(){return true;if(!this.img)return false;},clickOut:function(event){if(Position.within(this.img,Event.pointerX(event),Event.pointerY(event)))return;if(Element.detectAncestor(Event.element(event),function(element){return Element.hasClassName(element,'sticky');}))return
this.unzoom();},reallyZoomed:function(){return this.img.width==this.large.width;},zoom:function(){ImageZoomer.unzoomAll();if(this.large.width<=this.smallImage.width){return false;}
if(!this.zoomed&&this.options['condition'].bind(this.smallImage)()){this.img=document.createElement('img');this.img.src=this.large.src;this.img.width=this.smallImage.width;this.img.height=this.smallImage.height;this.img.style.position="absolute";this.img.className=this.smallImage.className;setZoomedInStyle(this.img);this.img.title="Click to minimize";var sourceImage=new Image();sourceImage.src=this.smallImage.src;var sourcePos=Position.cumulativeOffset(this.options['positionElement']?$(this.options['positionElement']):this.smallImage);this.img.style.top=sourcePos[1]+"px";this.img.style.left=sourcePos[0]+"px";this.img.onclick=this.unzoom.bind(this);this.closeCallback=this.clickOut.bindAsEventListener(this);Event.observe(document.body,'mousedown',this.closeCallback);if(!navigator.appVersion.match(/\bMSIE\b/)){this.smallImage.blur();}
document.body.appendChild(this.img);new Effect.SmartScale(this.img,this.large.width,this.large.height,{beforeUpdate:this.adjust.bind(this),afterFinish:function(){if(this.img&&!this.zoomed&&this.reallyZoomed()){this.zoomed=true;this.options.onZoom.bind(this)(this.img);}}.bind(this)});}else{this.unzoom();}
return false;}});Editor=Class.create();Object.extend(Editor.prototype,{initialize:function(form,options){this.form=form;this.options=Object.extend({stripTags:true,blur:Prototype.emptyFunction,separator:' '},options||{});this.controls=[];this.getChildControls(this.form);},getChildControls:function(element){for(var i=0;i<element.childNodes.length;i++){var child=element.childNodes[i];if(child.tagName=="INPUT"||child.tagName=="SELECT"||child.tagName=="TEXTAREA"){this.controls.push(child);this.addControlBehaviors(child);}else{this.getChildControls(child);}};},getValue:function(){return Form.serialize(this.form);},getString:function(separator){var strings=[];this.controls.each(function(field){if(field.type!='hidden')
strings.push(this.getDisplayValue(field));}.bind(this));return strings.join(separator||this.options.separator);},getDisplayValue:function(field){if(Element.hasClassName(field,'private')){return'';}
var result='';switch(field.tagName){case"SELECT":result=field.options[field.selectedIndex].text;break;default:if(this.options.stripTags){field.value=field.value.stripTags();}
result=field.value;}
return result;},setValue:function(){},focus:function(event){var ctl=this.controls.detect(function(value,i){return value.type!='hidden'});if(ctl)
ctl.focus();},hasFocus:function(){return this.controls.detect(function(value,index){return value.hasFocus;});},checkBlur:function(){setTimeout(function(){if(!this.hasFocus()){this.options.blur();}}.bind(this),50);},reset:function(){},handleKey:function(event){switch(event.which){case Event.KEY_RETURN:this.options.blur();break;case Event.KEY_ESC:this.reset();break;}},addControlBehaviors:function(control){control.hasFocus=false;Event.observe(control,'focus',function(event){control.hasFocus=true;});Event.observe(control,'blur',function(){control.hasFocus=false;this.checkBlur();}.bind(this));Event.observe(control,'keydown',this.handleKey.bind(this));}});InPlaceEditor=Class.create();Object.extend(InPlaceEditor.prototype,{initialize:function(viewer,form,options){this.viewer=$(viewer);this.form=$(form);this.locked=false;this.options=Object.extend({url:null,separator:'',stripTags:true,prompt:'',save:true,onStartEditing:Prototype.emptyFunction(),onCommit:Prototype.emptyFunction,control:null,stopEditingIf:function(){return true},loading:Prototype.emptyFunction,loaded:function(){this.locked=false;},value:null},options||{});if(options['save']!=true)this.options.save=false;this.editor=new Editor(this.form,{stripTags:this.options.stripTags,blur:function(){setTimeout(function(){if(this.options.stopEditingIf())
this.stopEditing();else{}}.bind(this),100);}.bind(this)});this.addBehaviors();this.syncViewer();},getValue:function(){},setValue:function(value){},clear:function(){this.editor.controls.each(function(ctl){ctl.value=''});this.syncViewer();},startEditing:function(event){this.initialValue=this.editor.getValue();Element.hide(this.viewer);Element.show(this.form);Event.stop(event);this.editor.focus();},stopEditing:function(){if(this.options.confirm&&!eval(this.options.confirm)){return false;}
Element.hide(this.form);Element.show(this.viewer);this.newValue=this.editor.getValue();if(this.newValue!=this.initialValue){this.syncViewer();this.commit();}},syncViewer:function(){var blankstr=this.editor.getString('');var str=this.editor.getString(this.options.separator);if(blankstr.strip()==''){this.viewer.innerHTML=this.options.prompt;Element.addClassName(this.viewer,'prompt');}else{Element.removeClassName(this.viewer,'prompt');this.viewer.innerHTML=str;}},commit:function(){this.options.onCommit();if(this.options.save&&!(this.locked)){this.locked=true;new Ajax.Request(this.options.url,{parameters:this.editor.getValue(),Loading:this.options.loading,Loaded:this.options.loaded,evalScripts:true})}else{}
this.locked=false;},cancel:function(){},addBehaviors:function(element){this.viewer.title=this.options.prompt;this.form.onsubmit=function(){return false;};Event.observe(this.viewer,'focus',this.startEditing.bind(this));Event.observe(this.viewer,'click',this.startEditing.bindAsEventListener(this));Event.observe(this.viewer,'mousedown',function(event){Event.stop(event)}.bindAsEventListener(this));Event.observe(this.viewer,'mouseover',function(){Element.addClassName(this.viewer,'in_place_hover');}.bind(this));Event.observe(this.viewer,'mouseout',function(){Element.removeClassName(this.viewer,'in_place_hover');}.bind(this));}});var handOpenCursor=null;var handClosedCursor=null;var zoomInCursor=null;var zoomOutCursor=null;function initCursorConstants()
{if(handOpenCursor&&handClosedCursor&&zoomInCursor&&zoomOutCursor)
return;if(navigator.userAgent.indexOf("Gecko")>=0)
{handOpenCursor='-moz-grab';handClosedCursor='-moz-grabbing';zoomInCursor='-moz-zoom-in';zoomOutCursor='-moz-zoom-out';}
else
{handOpenCursor='url("/cursors/openhand.cur"), pointer';handClosedCursor='url("/cursors/closedhand.cur"), pointer';zoomInCursor='url("/cursors/zoomin.cur"), pointer';zoomOutCursor='url("/cursors/zoomout.cur"), pointer';}}
function setZoomedInStyle(element)
{initCursorConstants();Element.addClassName(element,'zoomed_image');element.style.cursor=zoomOutCursor;}
function setZoomedOutStyle(element)
{initCursorConstants();Element.removeClassName(element,'zoomed_image');element.style.cursor=zoomInCursor;}
function setHandCursorStyle(element)
{initCursorConstants();element=$(element);element.style.cursor=handOpenCursor;element.onmousedown=function(){element.style.cursor=handClosedCursor;}
element.onmouseup=function(){element.style.cursor=handOpenCursor;}
document.body.style.cursor='';}
function setClosedHandCursorStyle(element)
{initCursorConstants();element=$(element);element.style.cursor='';document.body.style.cursor=handClosedCursor;}
function startDragging(element){if(!element.dragging){element.dragging=true;initCursorConstants();element.style.cursor=handClosedCursor;}}
function resetCursor(element){element.style.cursor='';}
function stopDragging(element){if(element&&element.dragging){element.dragging=false;}}
function checkEmailAddress(emailVisibilityUrl,emailAddressId)
{var isVisible=$('email_address_checkbox_'+emailAddressId).checked;new Ajax.Request(emailVisibilityUrl,{asynchronous:true,evalScripts:true,parameters:"email_address_id="+emailAddressId+"&make_visible="+(isVisible?'1':'0'),onLoading:function(){spin()},onLoaded:function(){unspin()}});}
function expandNewEmailLink()
{Element.hide('expand_add_new_email');Element.show('collapse_add_new_email');Element.show('add_new_email');}
function collapseNewEmailLink()
{Element.show('expand_add_new_email');Element.hide('collapse_add_new_email');Element.hide('add_new_email');}
function showAttribution(element,content){var attribution=document.createElement('div');attribution.className='imageAttribution sticky';attribution.innerHTML=content;Position.clone(element.img,attribution,{setHeight:false,offsetTop:element.img.offsetHeight});document.body.appendChild(attribution);element.attribution=attribution;}
function hideAttribution(element){var attr=element.attribution;if(!attr)return;Element.remove(attr);element.attribution=null;}
function onSmartWinEvent(){this.openSmartWindow(locationForm);}
function createMarker(point){var marker=new YMarker(point);marker.addAutoExpand('Details...');YEvent.Capture(marker,EventsList.MouseClick,onSmartWinEvent);return marker;}
function createAddressField(){var node=$('contact_prototype').cloneNode(true);Element.show(node);return node;}
function addPrompt(element,text,options){options=Object.extend({promptClassName:'prompt',hoverClassName:'hover',activeClassName:'active'},options||{});element=$(element);var focus=function(){if(element.value==text){element.value='';}
Element.removeClassName(element,options.promptClassName);Element.removeClassName(element,options.hoverClassName);Element.addClassName(element,options.activeClassName);};var blur=function(){if(element.value==''||element.value==text){element.value=text;Element.addClassName(element,options.promptClassName);}
Element.removeClassName(element,options.activeClassName);}
Event.observe(element,'mouseover',function(){if(!Element.hasClassName(element,options.activeClassName)){Element.addClassName(element,options.hoverClassName);}});Event.observe(element,'mouseout',function(){Element.removeClassName(element,options.hoverClassName);});Event.observe(element,'focus',focus);Event.observe(element,'blur',blur);blur();}
function submitParentForm(control)
{new Ajax.Request(control.form.action,{evalScripts:true,parameters:Form.serialize(control.form)});}
var TabSet=Class.create();Object.extend(TabSet.prototype,{initialize:function(name,tabs,selected){this.tabs=tabs;this.name=name;this.showTab(selected||this.getSelected())},getSelected:function(){return $F(this.getSelectedTabElement());},getSelectedTabElement:function(){return this.name+'_selected_tab';},showTab:function(id){if($(this.tabs[0])!=this.getSelected()){Element.hide(this.tabs[0]);}
if(this.getSelected()!=id){Element.hide(this.getSelected());Element.removeClassName(this.getHeader(this.getSelected()),'selected');}
Element.show(id);Element.addClassName(this.getHeader(id),'selected');$(this.getSelectedTabElement()).value=id;},getHeader:function(id){return id+"_header";}});function showTab(id){}
function highlightTagsForProfile(profileId){$('user_taggings').className='all_tags_highlighted';var p=profilesToTags[profileId][0];for(var i=0,pl=p.length;i<pl;i++)
$(p[i]).className='agreeHighlighted';var p=profilesToTags[profileId][1];for(var i=0,pl=p.length;i<pl;i++)
$(p[i]).className='disagreeHighlighted';}
function unhighlightTags(profileId){$('user_taggings').className='';var p=originalColors[0];for(var i=0,pl=p.length;i<pl;i++)
$(p[i]).className='tag agree';var p=originalColors[1];for(var i=0,pl=p.length;i<pl;i++)
$(p[i]).className='tag disagree';}
function voterIdFromNum(profileId){return'voter_'+profileId;}
function tagIdFromTaggingLink(link){return link.id.substring(parseInt(link.id.indexOf("_",5))+1)}
function highlightProfilesForTag(tagId){$('all_voters').className='all_voters_highlighted';var t=tagsToProfiles[tagId][0];for(var i=0,tl=t.length;i<tl;i++){$('voter_'+t[i]).className='agreeHighlighted';}
var t=tagsToProfiles[tagId][1];for(var i=0,tl=t.length;i<tl;i++){$('voter_'+t[i]).className='disagreeHighlighted';}}
function unhighlightProfiles(tagId){$('all_voters').className='';var t=tagsToProfiles[tagId][0];for(var i=0,tl=t.length;i<tl;i++){$('voter_'+t[i]).className='voter_name';}
var t=tagsToProfiles[tagId][1];for(var i=0,tl=t.length;i<tl;i++){$('voter_'+t[i]).className='voter_name';}}
var TabSet=Class.create();Object.extend(TabSet.prototype,{initialize:function(name,tabs,selected){this.tabs=tabs;this.name=name;this.showTab(selected||this.getSelected())},getSelected:function(){return $F(this.getSelectedTabElement());},getSelectedTabElement:function(){return this.name+'_selected_tab';},showTab:function(id){if($(this.tabs[0])!=this.getSelected()){Element.hide(this.tabs[0]);}
if(this.getSelected()!=id){Element.hide(this.getSelected());Element.removeClassName(this.getHeader(this.getSelected()),'selected');}
Element.show(id);Element.addClassName(this.getHeader(id),'selected');$(this.getSelectedTabElement()).value=id;},getHeader:function(id){return id+"_header";}});function showTab(id){}
function getDomainName(url){if(url==''||url==null){return url;}
var matches=url.match(/:\/\/(www\.)?([^\/:]+)/,'$2');if(matches){return matches[2];}else{return url;}}
function loadFavicon(url,element){if(element.loaded)return;var known={'friendster.com':'http://images.friendster.com/images/friendster2.ico','evite.com':'http://evite.com/images/favicon.ico'}
var domain=getDomainName(url);var src=known[domain];if(src){element.loaded=true;element.src=src;}else{var base='http://'+url.replace(/^(http:\/\/)?([^/]+).*/,'$2')+'/';var names=['favicon.ico','favicon.gif'];names.each(function(name){var img=new Image();img.onload=function(){if(!element.loaded){element.loaded=true;element.src=img.src;}}
img.src=base+name;});}}
function hackBody(){var oldAppend=typeof(document.body.appendChild)=="function"?document.body.appendChild.bind(document.body):document.body.appendChild;document.body.appendChild=function(element){switch(element.id){case'searchMap_veplacelistpanel':break;case'searchMap_vemessagepanel':break;case'map_veplacelistpanel':break;case'map_vemessagepanel':break;default:oldAppend(element);break;}}}
Event.observe(window,'load',hackBody);function slide(src,link,text,target,attr){this.src=src;this.link=link;this.text=text;this.target=target;this.attr=attr;if(document.images){this.image=new Image();}
this.loaded=false;this.load=function(){if(!document.images){return;}
if(!this.loaded){this.image.src=this.src;this.loaded=true;}}
this.hotlink=function(){var mywindow;if(!this.link)return;if(this.target){if(this.attr){mywindow=window.open(this.link,this.target,this.attr);}else{mywindow=window.open(this.link,this.target);}
if(mywindow&&mywindow.focus)mywindow.focus();}else{location.href=this.link;}}}
function slideshow(slideshowname){this.name=slideshowname;this.repeat=true;this.prefetch=-1;this.image;this.textid;this.textarea;this.timeout=3000;this.slides=new Array();this.current=0;this.timeoutid=0;this.add_slide=function(slide){var i=this.slides.length;if(this.prefetch==-1){slide.load();}
this.slides[i]=slide;}
this.play=function(timeout){this.pause();if(timeout){this.timeout=timeout;}
if(typeof this.slides[this.current].timeout!='undefined'){timeout=this.slides[this.current].timeout;}else{timeout=this.timeout;}
this.timeoutid=setTimeout(this.name+".loop()",timeout);}
this.pause=function(){if(this.timeoutid!=0){clearTimeout(this.timeoutid);this.timeoutid=0;}}
this.update=function(){if(!this.valid_image()){return;}
if(typeof this.pre_update_hook=='function'){this.pre_update_hook();}
var slide=this.slides[this.current];var dofilter=false;if(this.image&&typeof this.image.filters!='undefined'&&typeof this.image.filters[0]!='undefined'){dofilter=true;}
slide.load();if(dofilter){if(slide.filter&&this.image.style&&this.image.style.filter){this.image.style.filter=slide.filter;}
this.image.filters[0].Apply();}
this.image.src=slide.image.src;if(dofilter){this.image.filters[0].Play();}
this.display_text();if(typeof this.post_update_hook=='function'){this.post_update_hook();}
if(this.prefetch>0){var next,prev,count;next=this.current;prev=this.current;count=0;do{if(++next>=this.slides.length)next=0;if(--prev<0)prev=this.slides.length-1;this.slides[next].load();this.slides[prev].load();}while(++count<this.prefetch);}}
this.goto_slide=function(n){if(n==-1){n=this.slides.length-1;}
if(n<this.slides.length&&n>=0){this.current=n;}
this.update();}
this.goto_random_slide=function(include_current){var i;if(this.slides.length>1){do{i=Math.floor(Math.random()*this.slides.length);}while(i==this.current);this.goto_slide(i);}}
this.next=function(){if(this.current<this.slides.length-1){this.current++;}else if(this.repeat){this.current=0;}
this.update();}
this.previous=function(){if(this.current>0){this.current--;}else if(this.repeat){this.current=this.slides.length-1;}
this.update();}
this.shuffle=function(){var i,i2,slides_copy,slides_randomized;slides_copy=new Array();for(i=0;i<this.slides.length;i++){slides_copy[i]=this.slides[i];}
slides_randomized=new Array();do{i=Math.floor(Math.random()*slides_copy.length);slides_randomized[slides_randomized.length]=slides_copy[i];for(i2=i+1;i2<slides_copy.length;i2++){slides_copy[i2-1]=slides_copy[i2];}
slides_copy.length--;}while(slides_copy.length);this.slides=slides_randomized;}
this.get_text=function(){return(this.slides[this.current].text);}
this.get_all_text=function(before_slide,after_slide){all_text="";for(i=0;i<this.slides.length;i++){slide=this.slides[i];if(slide.text){all_text+=before_slide+slide.text+after_slide;}}
return(all_text);}
this.display_text=function(text){if(!text){text=this.slides[this.current].text;}
if(this.textarea&&typeof this.textarea.value!='undefined'){this.textarea.value=text;}
if(this.textid){r=this.getElementById(this.textid);if(!r){return false;}
if(typeof r.innerHTML=='undefined'){return false;}
r.innerHTML=text;}}
this.hotlink=function(){this.slides[this.current].hotlink();}
this.save_position=function(cookiename){if(!cookiename){cookiename=this.name+'_slideshow';}
document.cookie=cookiename+'='+this.current;}
this.restore_position=function(cookiename){if(!cookiename){cookiename=this.name+'_slideshow';}
var search=cookiename+"=";if(document.cookie.length>0){offset=document.cookie.indexOf(search);if(offset!=-1){offset+=search.length;end=document.cookie.indexOf(";",offset);if(end==-1)end=document.cookie.length;this.current=parseInt(unescape(document.cookie.substring(offset,end)));}}}
this.noscript=function(){$html="\n";for(i=0;i<this.slides.length;i++){slide=this.slides[i];$html+='<P>';if(slide.link){$html+='<a href="'+slide.link+'">';}
$html+='<img src="'+slide.src+'" ALT="slideshow image">';if(slide.link){$html+="<\/a>";}
if(slide.text){$html+="<BR>\n"+slide.text;}
$html+="<\/P>"+"\n\n";}
$html=$html.replace(/\&/g,"&amp;");$html=$html.replace(/</g,"&lt;");$html=$html.replace(/>/g,"&gt;");return('<pre>'+$html+'</pre>');}
this.loop=function(){if(this.current<this.slides.length-1){next_slide=this.slides[this.current+1];if(next_slide.image.complete==null||next_slide.image.complete){this.next();}}else{this.next();}
this.play();}
this.valid_image=function(){if(!this.image)
{return false;}
else{return true;}}
this.getElementById=function(element_id){if(document.getElementById){return document.getElementById(element_id);}
else if(document.all){return document.all[element_id];}
else if(document.layers){return document.layers[element_id];}else{return undefined;}}
this.set_image=function(imageobject){if(!document.images)
return;this.image=imageobject;}
this.set_textarea=function(textareaobject){this.textarea=textareaobject;this.display_text();}
this.set_textid=function(textidstr){this.textid=textidstr;this.display_text();}}
function updateElements(data){$H(data).keys().each(function(id){var element=$(id);if(element){element.innerHTML=data[id];}})}
Element.detectAncestor=function(element,callback){while(true){if(!element.tagName)break;if(callback(element)){return element;}
if(element.parentNode&&element.parentNode.tagName!='BODY')
{element=element.parentNode;}else{break;}}
return null;}
var globalHandlers={onLoading:function(){spin()},onLoaded:function(){unspin()}};Ajax.Responders.register(globalHandlers);function preloadImages(urls){var img=new Image();urls.each(function(url){img.src=url+"&nocache=1"});}
var dialog=null;function clickNav(href)
{var serialized=Form.serialize('search_form').replace('category=','old_category=');var connector=href.indexOf("?")>0?"&":"?";window.location=href+connector+serialized;return false;}
function toggleImage(id){var img=$(id);if(img.src.match(/_off\./)){img.src=img.src.replace(/_off\./,'_on.');}else{img.src=img.src.replace(/_on\./,'_off.');}}
Position.moveUnder=function(reference,element,resize){resize=resize||false;Position.clone(reference,element,{setHeight:false,offsetTop:reference.offsetHeight});}
function setMessageAndHighlight(element,message)
{element.innerHTML=message;new Effect.Highlight(element);}
function highlight(id)
{var containerId=[id,'_container'].join('');var element=$(id);var elementContainer=$(containerId);if(element){if(elementContainer&&!Element.visible(elementContainer)){Element.show(elementContainer);new Effect.Highlight(element,{afterFinish:function(element){new Effect.Fade(elementContainer)}});}else{var oldStyle={'background-color':element.style.backgroundColor,'color':element.style.color};new Effect.Highlight(element,{afterFinish:function(){Element.setStyle(element,oldStyle);}});}}}
function getStatusArea(area)
{return area?$(area):top.document.getElementById('status');}
function setStatus(message,area)
{setMessageAndHighlight(getStatusArea(area),message);}
function spin(element)
{Element.addClassName(document.body,'waiting');if(element){$(element).innerHTML='<img src="\/images\/spinner.gif" width="16" height="16"\/>';}
else{}}
function unspin(element)
{Element.removeClassName(document.body,'waiting');if(element)
$(element).innerHTML='';else{}}
function clearStatus()
{var statusArea=getStatusArea();if(statusArea)
statusArea.innerHTML='';}
function dialogFromName(name){return $(name+"_dialog");}
function showDialog(name){dialog=name;var dlg=dialogFromName(name);if(dlg)dlg.show();clearStatus();}
function showLogin(){var lb=new lightbox($('login_link'));lb.activate();}
function clickLoginLink()
{showLoginTab();focusLoginTab();return false;}
function loginPrompt()
{clickSignupLink();}
function clickSignupLink()
{showSignupTab();showDialog('member');focusSignupTab();return false;}
function getPageSize()
{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;}
arrayPageSize=new Array(pageWidth,pageHeight,windowWidth,windowHeight)
return arrayPageSize;}
function showOverlay()
{var overlay=document.createElement('div');overlay.id="overlay";fillScreen(overlay);document.body.appendChild(overlay);}
function fillScreen1(overlay){var arrayPageSize=getPageSize();overlay.style.width=(arrayPageSize[0]+'px');overlay.style.height=(arrayPageSize[1]+'px');var screenWidth=window.screen.width;if(document.body.clientWidth)
screenWidth=document.body.clientWidth;else if(window.innerWidth)
screenWidth=window.innerWidth;}
function hideOverlay()
{Element.remove('overlay');}
function validateSignupForm(signupForm)
{if(!signupForm.at_least.checked)
{alert('Sorry, due to federal regulations, you\'ve got to be at least 13 years old to register on Spock.');return false;}
if(signupForm.signup_first_name.value.length==0)
{alert('That doesn\'t look like a name to me...');signupForm.signup_first_name.focus();return false;}
var regEx=/^[\w\d][_\.\-\w\d+]*@[\w\d][\.\-\w\d]*\.\w{2,}$/;if(!signupForm.signup_user_email_address.value||!signupForm.signup_user_email_address.value.match(regEx))
{alert('That is not a valid email address.  What\'re you trying to pull?');signupForm.signup_user_email_address.focus();return false;}
if(signupForm.signup_user_password.value.length<4)
{alert('Dude, passwords must be at least 4 characters long.  You don\'t want someone stealing your account.');signupForm.signup_user_password.focus();return false;}
return true;}
function validateLoginForm(loginForm)
{if(!loginForm.login_user_email_address.value)
{alert('You forgot to enter an email address.');loginForm.login_user_email_address.focus();return false;}
if(!loginForm.login_user_password.value)
{alert('You forgot to enter a password.');loginForm.login_user_password.focus();return false;}}
function keepPositionOnscreen(position,dimensions){var x=Math.min(document.body.offsetWidth-dimensions['width']-24,Math.max(position[0],0));var y=Math.min(document.body.offsetHeight-dimensions['height'],Math.max(position[1],0));return[x,y];}
function moveUnder(idMove,idUnder)
{var under=$(idUnder);var move=$(idMove);var moveDimensions=Element.getDimensions(move);var refPosition=Position.cumulativeOffset(under);var newPosition=[refPosition[0],refPosition[1]+under.offsetHeight];newPosition=keepPositionOnscreen(newPosition,moveDimensions);move.setStyle({left:newPosition[0]+"px",top:newPosition[1]+"px"});}
function moveOver(box,tag,title)
{box.style.left=Position.cumulativeOffset(tag)[0]+Position.cumulativeOffset(title)[0]+Position.cumulativeOffset(box)[0]-2+"px";box.style.top=Position.cumulativeOffset(tag)[1]-Position.cumulativeOffset(title)[1]+Position.cumulativeOffset(box)[1]-2+"px";}
function hideAllDialogs()
{if($('add_tag_dialog'))
Element.hide('add_tag_dialog');}
function hide(element)
{if($(element))
Element.hide(element);}
function hideIfEqual(element,ifEqualToElement,dialogName)
{if(element==ifEqualToElement&&Element.visible(dialogName))
hideAllDialogs();else
{hideAllDialogs();Element.show(dialogName);}}
var showTagDialogSource=null;function showAddTagDialog(name,id,clickedElement)
{moveUnder('add_tag_dialog',clickedElement);hideIfEqual(clickedElement,showTagDialogSource,'add_tag_dialog');showTagDialogSource=clickedElement;$('add_tag_target_user_id').value=id;$('add_tag').value='';$('add_tag').focus();}
function getElementsByClassName(oElm,strTagName,oClassNames)
{var arrElements=(strTagName=="*"&&document.all)?document.all:oElm.getElementsByTagName(strTagName);var arrReturnElements=new Array();var arrRegExpClassNames=new Array();if(typeof oClassNames=="object")
{for(var i=0;i<oClassNames.length;i++)
{arrRegExpClassNames.push(new RegExp("(^|\\s)"+oClassNames[i].replace(/\-/g,"\\-")+"(\\s|$)"));}}
else
{arrRegExpClassNames.push(new RegExp("(^|\\s)"+oClassNames.replace(/\-/g,"\\-")+"(\\s|$)"));}
var oElement;var bMatchesAll;for(var j=0;j<arrElements.length;j++)
{oElement=arrElements[j];bMatchesAll=true;for(var k=0;k<arrRegExpClassNames.length;k++)
{if(!arrRegExpClassNames[k].test(oElement.className))
{bMatchesAll=false;break;}}
if(bMatchesAll)
{arrReturnElements.push(oElement);}}
return(arrReturnElements)}
function hideElements(classToHide)
{array=getElementsByClassName(document,'*',classToHide)
for(var i=0;i<array.length;++i)
Element.hide(array[i])}
function addAutocorrectItemToList(tryHidden,didHidden,search,selectedItem)
{if(!selectedItem.innerHTML)
return;var searchBox=$(search);var currentSearch=searchBox.value;var lastCommaIndex=currentSearch.lastIndexOf(',');var prefixStartIndex=lastCommaIndex>0?(lastCommaIndex+1):0;var prefix=currentSearch.substring(prefixStartIndex,currentSearch.length)
var tryField=$(tryHidden);var didField=$(didHidden);if(prefix!=selectedItem.innerHTML&&didField.value.length<50&&tryField.value.length<50)
{if(tryField.value!='')
{tryField.value+=',';didField.value+=',';}
tryField.value+=prefix;didField.value+=selectedItem.innerHTML.unescapeHTML();}
searchBox.value=currentSearch.substring(0,prefixStartIndex)+selectedItem.innerHTML.unescapeHTML();searchBox.focus();}
function toggleFocus(toggleElem,focusElem)
{Element.toggle(toggleElem)
if(Element.visible(toggleElem))
$(focusElem).focus();}
function submitAddTagForm(add_tag_url,form)
{new Ajax.Request(add_tag_url,{asynchronous:true,evalScripts:true,onLoaded:function(request){unspin()},onLoading:function(request){spin()},parameters:Form.serialize(form)});return false;}
function resetAdvancedFilters(defaultLocation,ageLowLimit,ageHighLimit)
{$('name').value='';$('tag').value='';$('location').value=defaultLocation;$('require_picture_checkbox').checked=false;$('gender_').checked=true;var trusted_contacts_filter=$('trusted_contact_filter');if(trusted_contacts_filter)
trusted_contacts_filter.checked=false;$('age_from').value='';$('age_to').value='';}
function toggleAdvancedSearch(ageLowLimit,ageHighLimit,ageFrom,ageTo,defaultLocation)
{$$('.auto_complete').each(function(elem){Element.hide(elem);});if(Element.visible("advanced_search"))
{filteredLocation=$('location').value==defaultLocation?'':$('location').value
$('search').value=[$('name').value,$('tag').value,filteredLocation].reject(function(value,index){return value==""}).join(' ')
resetAdvancedFilters(defaultLocation,ageLowLimit,ageHighLimit);Element.hide('advanced_search');Element.show('basic_search');$('search').focus();}
else
{$('search').value='';Element.show('advanced_search');Element.hide('basic_search');$('name').focus();}
setFooter();}
function submitSearchForm(form,urlForSearch)
{var inputs=Form.getElements(form);var params=[];for(var i=0;i<inputs.length;++i)
{var input=inputs[i];if(input.name=='q'){var query=input.value.replace(/-/g,'#45').replace(/ /g,'-').replace(/\//g,'#46');urlForSearch=[urlForSearch,query].join('/').replace('//','/');urlForSearch=escape(urlForSearch);continue;}
if(input.value=='')
continue;if(input.name=='b')
continue;if(input.name=='view'&&input.value=='list')
continue;if(input.name=='where'&&(input.value=='World'||input.value==''))
continue;if(input.name=='page_number'&&input.value=='1')
continue;var serialized=Form.Element.serialize(input);if(serialized)
params.push(serialized);}
location.href=params.length>0?[urlForSearch,params.join('&')].join('?'):urlForSearch;return false;}
function showWaiting(message){waitingDiv=$('waiting_div');Position.prepare();xOffset=Position.deltaX;yOffset=Position.deltaY;waitingDiv.style.display='block';wdOffset=Position.cumulativeOffset(waitingDiv);desiredX=(xOffset+wdOffset[0]).toString();desiredY=(yOffset+wdOffset[1]).toString();$('waiting_text').innerHTML=message;waitingDiv.style.left=desiredX+"px";waitingDiv.style.top=desiredY+"px";spin('waiting_div_spinner');}
var fields=['invite_form_first_name','invite_form_last_name','invite_form_tags'];function enableFields(){fields.each(function(e){$(e).disabled=false;});$('user_status').innerHTML='';$('invite_form_add').value="Add";$('invite_form_add').disabled=false;}
function disableFields(){fields.each(function(e){$(e).disabled=true;});}
var Spock={};Spock.Autocompleter=Class.create();Object.extend(Object.extend(Spock.Autocompleter.prototype,Ajax.Autocompleter.prototype),{baseInitialize:function(element,update,options){this.element=$(element);this.update=$(update);this.hasFocus=false;this.changed=false;this.active=false;this.index=0;this.entryCount=0;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});}
Element.show(update);};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);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,"keypress",this.onKeyPress.bindAsEventListener(this));},getEntry:function(index){if(index>=0)
return this.update.firstChild.childNodes[index];},onKeyPress:function(event){if(this.active)
switch(event.keyCode){case Event.KEY_TAB:case Event.KEY_RETURN:if(this.index>=0){this.selectEntry();Event.stop(event);}else{this.hide();return;}
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();if(Prototype.Browser.WebKit)Event.stop(event);return;case Event.KEY_DOWN:this.markNext();this.render();if(Prototype.Browser.WebKit)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);},getCurrentEntry:function(){if(this.index>=0)
return this.getEntry(this.index);},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=-1;if(this.entryCount==1&&this.options.autoSelect){this.selectEntry();this.hide();}else{this.render();}}},onClick:function(event){var element=Event.findElement(event,'LI');this.index=element.autocompleteIndex;this.selectEntry();this.hide();if(this.element.id=='search')
setTimeout(function(){submitSearchForm($('search_form'),mainSearchUrl);},5);}});function showLoginTab()
{Element.show('login_tab');Element.hide('signup_tab');Element.hide('success_tab');}
function focusSignupTab(){Field.focus('signup_user_name');}
function focusLoginTab(){Field.focus('login_user_email_address');}
function showSignupTab()
{Element.show('signup_tab');Element.hide('login_tab');Element.hide('success_tab');}
function showInfo(text)
{getStatusArea().innerHTML=(text);}
function makeDialog(id){var element=$(id);new Draggable(element,{handle:'dialog_handle'});element.findChildren=function(selector){return $$('#'+this.id+' '+selector);}.bind(element);element.isModal=function(){return this.className.indexOf('modal')>=0;}.bind(element);element.show=function(){if(this.isModal())
showOverlay();Element.show(this);var childFields=this.findChildren('input');for(var i=0;i<childFields.length;++i){if(childFields[i].enabled&&childFields[i].type!='hidden'){Field.focus(childFields[i]);break;}}}.bind(element);element.hide=function(){if(this.isModal())
hideOverlay();var errors=this.findChildren('.error');for(var i=0;i<errors.length;i++)
errors[i].innerHTML='';Element.hide(this);}.bind(element);element.cancel=function(){this.hide();this.clearFields();return false;}.bind(element);element.clearFields=function(){this.findChildren('td input').each(function(item){if(item.type!='submit'){item.value='';}});this.findChildren('textarea').each(function(item){item.value='';});}.bind(element);element.onkeyup=function(e){if(!e)
{e=event;}
if(e.keyCode==Event.KEY_ESC)
{this.cancel();Event.stop(e);}}.bind(element)}
function disableAndMessage(button,msg){button.disabled=true;button.value=msg;button.form.submit();}
function updateFavoriteStates(data){$H(data).keys().each(function(id){var state=data[id];var iconId=['profile',id,'favorite_status_icon'].join('_');var icon=$(iconId);if(icon){switch(state){case null:Element.hide(icon);break;case'self':icon.src='/images/you22.gif';icon.alt='  YOU ARE HERE  ';icon.title=icon.alt;icon.style.visibility='visible';icon.onclick='alert("foo")';break;case true:icon.src='/images/favorite_on.gif';icon.alt=state?'Remove Favorite':'Add Favorite';icon.title=icon.alt;icon.style.visibility='visible';break;}}});}
function toggleStatus(image,url){if(image.src.match('you')){return;}
var states=['_off.','_on.'];var status=!!image.src.match(states[1]);image.src=image.src.replace(states[0+status],states[0+!status]);new Ajax.Request(url,{asynchronous:true,parameters:$H({status:0+!status}).toQueryString()});}
function showVoteDialog(id,url,options){options=Object.extend({useCache:true},options||{});(new Dialog(id+'_dialog',{useCache:options['useCache'],position:new PositionReference.Under(id),content:Builder.node('img',{src:'/images/spinner.gif'}),contentUrl:url,onComplete:function(){if(options['showCallback'])options['showCallback']();if(options['focus']){var e=$(options['focus']);e.focus();}},onShow:function(){Element.addClassName(id,'highlighted');},onHide:function(){Element.removeClassName(id,'highlighted');}})).show();}
window.onresize=function(){}
function getWindowHeight(){var windowHeight=0;if(typeof(window.innerHeight)=='number'){windowHeight=window.innerHeight;}
else{if(document.documentElement&&document.documentElement.clientHeight){windowHeight=document.documentElement.clientHeight;}
else{if(document.body&&document.body.clientHeight){windowHeight=document.body.clientHeight;}}}
return windowHeight;}
function setFooter(){return;if(document.getElementById){var windowHeight=getWindowHeight();if(windowHeight>0){var contentHeight=0;var contentHeight=document.body.offsetHeight;var footerElement=document.getElementById('footer');var footerContentElement=document.getElementById('footer_contents');var footerHeight=footerContentElement.offsetHeight;var top=Math.max(windowHeight-footerHeight,contentHeight);footerElement.style.top=top+'px';}}}
function safeParseInt(s){var i=parseInt(s);if(isNaN(i)){return 0;}
return i;}
function searchformSaneAge(){var f=$('age_from');var t=$('age_to');var fv=safeParseInt(f.options[f.selectedIndex].value);var tv=safeParseInt(t.options[t.selectedIndex].value);if(tv-fv<0&&tv>1){t.selectedIndex=f.selectedIndex;}}
function clearPeoplePicker(){$('people_picker_activator').innerHTML='(Choose person...)';$('profile_relationship_type_name').value='';$('people_picker_picture').innerHTML='';$('people_picker_name').innerHTML='';$('profile_relationship_from_profile_id').value='';}
function activatePeoplePicker(url){var id='people_picker_activator';var dlg=new Dialog('people_picker',{onShow:function(){Element.addClassName(id,'highlighted');},onHide:function(){Element.removeClassName(id,'highlighted');},useCache:true,position:new PositionReference.Under(id),content:Builder.node('img',{src:'/images/spinner.gif'}),contentUrl:url,onComplete:function(){$('people_picker_query').focus()}});dlg.show();}
function pickPerson(id,caption,pictureContainer){$('people_picker_activator').innerHTML='(Change...)';$('people_picker_id').value=id;$('people_picker_name').innerHTML=caption;$('people_picker_picture').innerHTML='';if(pictureContainer!=''){$('people_picker_picture').appendChild(Builder.node('img',{src:pictureContainer,'class':'profile_image'}));}
Dialog.hideAll();$('profile_relationship_type_name').focus();}
function showAddNameDialog(url){var id='add_name_link';var dlg=new Dialog('add_name_dialog',{onShow:function(){Element.addClassName(id,'highlighted');},onHide:function(){Element.removeClassName(id,'highlighted');},useCache:true,position:new PositionReference.Under(id),content:Builder.node('img',{src:'/images/spinner.gif'}),contentUrl:url,onComplete:function(){$('add_name').focus()}});dlg.show();}
function hover(element){Element.addClassName(element,'hover');}
function unhover(element){Element.removeClassName(element,'hover');}
Event.observe(window,'load',function(){if(document.cookie.indexOf('C=')==-1){var favs=document.getElementsByClassName('clickable');for(var i=0;i<favs.length;i++){}}});function tooltipOn(container,tipobj){Element.show(tipobj);Element.addClassName(container,'tthigh');}
function tooltipOff(container,tipobj){Element.hide(tipobj);Element.removeClassName(container,'tthigh');}
