var Window=Class.create();Window.prototype={initialize:function(id){if($(id))
alert("Window "+id+" is already register is the DOM!!, be sure to use setDestroyOnClose()")
this.hasEffectLib=String.prototype.parseColor!=null;this.options=Object.extend({className:"dialog",minWidth:100,minHeight:20,resizable:true,closable:true,minimizable:true,maximizable:true,draggable:true,userData:null,showEffect:(this.hasEffectLib?Effect.Appear:Element.show),hideEffect:(this.hasEffectLib?Effect.Fade:Element.hide),showEffectOptions:{},hideEffectOptions:{},effectOptions:null,parent:document.getElementsByTagName("body").item(0),title:"&nbsp;",url:null,onload:Prototype.emptyFunction,width:200,height:300,opacity:1},arguments[1]||{});if(this.options.effectOptions){Object.extend(this.options.hideEffectOptions,this.options.effectOptions);Object.extend(this.options.showEffectOptions,this.options.effectOptions);}
if(this.options.hideEffect==Element.hide)
this.options.hideEffect=function(){Element.hide(this.element);if(this.destroyOnClose)this.destroy();}.bind(this)
this.element=this._createWindow(id);this.eventMouseDown=this._initDrag.bindAsEventListener(this);this.eventMouseUp=this._endDrag.bindAsEventListener(this);this.eventMouseMove=this._updateDrag.bindAsEventListener(this);this.eventKeyPress=this._keyPress.bindAsEventListener(this);this.eventOnLoad=this._getWindowBorderSize.bindAsEventListener(this);this.eventMouseDownContent=this.toFront.bindAsEventListener(this);this.eventResize=this._recenter.bindAsEventListener(this);this.topbar=$(this.element.id+"_top");this.bottombar=$(this.element.id+"_bottom");this.content=$(this.element.id+"_content");Event.observe(this.topbar,"mousedown",this.eventMouseDown);Event.observe(this.bottombar,"mousedown",this.eventMouseDown);Event.observe(this.content,"mousedown",this.eventMouseDownContent);Event.observe(window,"load",this.eventOnLoad);Event.observe(window,"resize",this.eventResize);Event.observe(window,"scroll",this.eventResize);if(this.options.draggable){this.bottombar.addClassName("bottom_draggable");this.topbar.addClassName("top_draggable");}
if(this.options.resizable){this.sizer=$(this.element.id+"_sizer");Event.observe(this.sizer,"mousedown",this.eventMouseDown);}
this.useLeft=null;this.useTop=null;if(arguments[1].left!=null){this.element.setStyle({left:parseFloat(arguments[1].left)+'px'});this.useLeft=true;}
if(arguments[1].right!=null){this.element.setStyle({right:parseFloat(arguments[1].right)+'px'});this.useLeft=false;}
if(this.useLeft==null){this.element.setStyle({left:"0px"});this.useLeft=true;}
if(arguments[1].top!=null){this.element.setStyle({top:parseFloat(arguments[1].top)+'px'});this.useTop=true;}
if(arguments[1].bottom!=null){this.element.setStyle({bottom:parseFloat(arguments[1].bottom)+'px'});this.useTop=false;}
if(this.useTop==null){this.element.setStyle({top:"0px"});this.useTop=true;}
this.storedLocation=null;this.setOpacity(this.options.opacity);if(this.options.zIndex)
this.setZIndex(this.options.zIndex)
this.destroyOnClose=false;this._getWindowBorderSize();this.width=this.options.width;this.height=this.options.height;if(this.width&&this.height)
this.setSize(this.options.width,this.options.height);this.setTitle(this.options.title)
Windows.register(this);},destroy:function(){Windows.notify("onDestroy",this);Event.stopObserving(this.topbar,"mousedown",this.eventMouseDown);Event.stopObserving(this.bottombar,"mousedown",this.eventMouseDown);Event.stopObserving(this.content,"mousedown",this.eventMouseDownContent);Event.stopObserving(window,"load",this.eventOnLoad);Event.stopObserving(window,"resize",this.eventResize);Event.stopObserving(window,"scroll",this.eventResize);Event.stopObserving(this.content,"load",this.options.onload);if(this.sizer)
Event.stopObserving(this.sizer,"mousedown",this.eventMouseDown);if(this.options.url)
this.content.src='javascript:void(0)';if(this.iefix)
Element.remove(this.iefix);Element.remove(this.element);Windows.unregister(this);},setDelegate:function(delegate){this.delegate=delegate},getDelegate:function(){return this.delegate;},getContent:function(){return this.content;},setContent:function(id,autoresize,autoposition){var d=null;var p=null;if(autoresize)
d=Element.getDimensions(id);if(autoposition)
p=Position.cumulativeOffset($(id));var content=this.getContent()
content.appendChild($(id));$(id).show();if(autoresize)
this.setSize(d.width,d.height);if(autoposition)
this.setLocation(p[1]-this.heightN,p[0]-this.widthW);},setAjaxContent:function(url,options,showCentered,showModal){this.showFunction=showCentered?"showCenter":"show";this.showModal=showModal||false;if(options==null)
options={}
this.onComplete=options.onComplete;options.onComplete=this._setAjaxContent.bind(this);new Ajax.Request(url,options);},_setAjaxContent:function(originalRequest){this.getContent().innerHTML=originalRequest.responseText;if(this.onComplete)
this.onComplete(originalRequest);this[this.showFunction](this.showModal)},setCookie:function(name,expires,path,domain,secure){name=name||this.element.id;this.cookie=[name,expires,path,domain,secure];var value=WindowUtilities.getCookie(name)
if(value){var values=value.split(',');var x=values[0].split(':');var y=values[1].split(':');var w=parseFloat(values[2]),h=parseFloat(values[3]);var mini=values[4];var maxi=values[5];this.setSize(w,h);if(mini=="true")
this.doMinimize=true;else if(maxi=="true")
this.doMaximize=true;this.useLeft=x[0]=="l";this.useTop=y[0]=="t";this.element.setStyle(this.useLeft?{left:x[1]}:{right:x[1]});this.element.setStyle(this.useTop?{top:y[1]}:{bottom:y[1]});}},getId:function(){return this.element.id;},setDestroyOnClose:function(){Object.extend(this.options.hideEffectOptions,{afterFinish:this.destroy.bind(this)});this.destroyOnClose=true;},_initDrag:function(event){this.pointer=[Event.pointerX(event),Event.pointerY(event)];if(Event.element(event)==this.sizer){this.doResize=true;this.widthOrg=this.width;this.heightOrg=this.height;this.bottomOrg=parseFloat(this.element.getStyle('bottom'));this.rightOrg=parseFloat(this.element.getStyle('right'));Windows.notify("onStartResize",this);}
else{this.doResize=false;var closeButton=$(this.getId()+'_close');if(closeButton&&Position.within(closeButton,this.pointer[0],this.pointer[1]))
return;this.toFront();if(!this.options.draggable)
return;Windows.notify("onStartMove",this);}
Event.observe(document,"mouseup",this.eventMouseUp,false);Event.observe(document,"mousemove",this.eventMouseMove,false);WindowUtilities.disableScreen('__invisible__','__invisible__');document.body.ondrag=function(){return false;};document.body.onselectstart=function(){return false;};Event.stop(event);},_updateDrag:function(event){var pointer=[Event.pointerX(event),Event.pointerY(event)];var dx=pointer[0]-this.pointer[0];var dy=pointer[1]-this.pointer[1];if(this.doResize){this.setSize(this.widthOrg+dx,this.heightOrg+dy);dx=this.width-this.widthOrg
dy=this.height-this.heightOrg
if(!this.useLeft)
this.element.setStyle({right:(this.rightOrg-dx)+'px'});if(!this.useTop)
this.element.setStyle({bottom:(this.bottomOrg-dy)+'px'});}
else{this.pointer=pointer;if(this.useLeft)
this.element.setStyle({left:parseFloat(this.element.getStyle('left'))+dx+'px'});else
this.element.setStyle({right:parseFloat(this.element.getStyle('right'))-dx+'px'});if(this.useTop)
this.element.setStyle({top:parseFloat(this.element.getStyle('top'))+dy+'px'});else
this.element.setStyle({bottom:parseFloat(this.element.getStyle('bottom'))-dy+'px'});}
if(this.iefix)
this._fixIEOverlapping();this._removeStoreLocation();Event.stop(event);},_endDrag:function(event){WindowUtilities.enableScreen('__invisible__');if(this.doResize)
Windows.notify("onEndResize",this);else
Windows.notify("onEndMove",this);Event.stopObserving(document,"mouseup",this.eventMouseUp,false);Event.stopObserving(document,"mousemove",this.eventMouseMove,false);this._saveCookie()
Event.stop(event);document.body.ondrag=null;document.body.onselectstart=null;},_keyPress:function(event){},_createWindow:function(id){var className=this.options.className;var win=document.createElement("div");win.setAttribute('id',id);win.className="dialog";var content;if(this.options.url)
content="<iframe name=\""+id+"_content\"  id=\""+id+"_content\" src=\""+this.options.url+"\"> </iframe>";else
content="<div id=\""+id+"_content\" class=\""+className+"_content\"> </div>";var closeDiv=this.options.closable?"<div class='"+className+"_close' id='"+id+"_close' onmouseup='Windows.close(\""+id+"\")'> </div>":"";var minDiv=this.options.minimizable?"<div class='"+className+"_minimize' id='"+id+"_minimize' onmouseup='Windows.minimize(\""+id+"\")'> </div>":"";var maxDiv=this.options.maximizable?"<div class='"+className+"_maximize' id='"+id+"_maximize' onmouseup='Windows.maximize(\""+id+"\")'> </div>":"";var seAttributes=this.options.resizable?"class='"+className+"_sizer' id='"+id+"_sizer'":"class='"+className+"_se'";win.innerHTML=closeDiv+minDiv+maxDiv+"\
      <table id='"+id+"_row1' class=\"top table_window\">\
        <tr>\
          <td class='"+className+"_nw'>&nbsp;</td>\
          <td class='"+className+"_n'><div id='"+id+"_top' class='"+className+"_title title_window'>"+this.options.title+"</div></td>\
          <td class='"+className+"_ne'>&nbsp;</td>\
        </tr>\
      </table>\
      <table id='"+id+"_row2' class=\"mid table_window\">\
        <tr>\
          <td class='"+className+"_w'></td>\
            <td id='"+id+"_table_content' class='"+className+"_content' valign='top'>"+content+"</td>\
          <td class='"+className+"_e'></td>\
        </tr>\
      </table>\
        <table id='"+id+"_row3' class=\"bot table_window\">\
        <tr>\
          <td class='"+className+"_sw'>&nbsp;</td>\
            <td class='"+className+"_s'><div id='"+id+"_bottom' class='status_bar'>&nbsp;</div></td>\
            <td "+seAttributes+">&nbsp;</td>\
        </tr>\
      </table>\
    ";Element.hide(win);this.options.parent.insertBefore(win,this.options.parent.firstChild);Event.observe($(id+"_content"),"load",this.options.onload);return win;},setLocation:function(top,left){if(top<0)
top=0;if(left<0)
left=0
this.element.setStyle({top:top+'px'});this.element.setStyle({left:left+'px'});this.useLeft=true;this.useTop=true;},getSize:function(){return{width:this.width,height:this.height};},setSize:function(width,height){width=parseFloat(width);height=parseFloat(height);if(width<this.options.minWidth)
width=this.options.minWidth;if(height<this.options.minHeight)
height=this.options.minHeight;if(this.options.maxHeight&&height>this.options.maxHeight)
height=this.options.maxHeight;if(this.options.maxWidth&&width>this.options.maxWidth)
width=this.options.maxWidth;this.width=width;this.height=height;this.element.setStyle({width:width+this.widthW+this.widthE+"px"})
this.element.setStyle({height:height+this.heightN+this.heightS+"px"})
var content=$(this.element.id+'_content')
content.setStyle({height:height+'px'});content.setStyle({width:width+'px'});},updateHeight:function(){this.setSize(this.width,this.content.scrollHeight)},updateWidth:function(){this.setSize(this.content.scrollWidth,this.height)},toFront:function(){this.setZIndex(Windows.maxZIndex+20);Windows.notify("onFocus",this);},show:function(modal){if(modal){WindowUtilities.disableScreen(this.options.className,'overlay_modal',this.getId());this.modal=true;this.setZIndex(Windows.maxZIndex+20);Windows.unsetOverflow(this);Event.observe(document,"keypress",this.eventKeyPress);}
if(this.oldStyle)
this.getContent().setStyle({overflow:this.oldStyle});if(!this.width||!this.height){var size=WindowUtilities._computeSize(this.content.innerHTML,this.content.id,this.width,this.height,0)
if(this.height)
this.width=size+5
else
this.height=size+5}
this.setSize(this.width,this.height);if(this.centered)
this._center(this.centerTop,this.centerLeft);if(this.options.showEffect!=Element.show&&this.options.showEffectOptions)
this.options.showEffect(this.element,this.options.showEffectOptions);else
this.options.showEffect(this.element);this._checkIEOverlapping();Windows.notify("onShow",this);},showCenter:function(modal,top,left){this.centered=true;this.centerTop=top;this.centerLeft=left;this.show(modal);},isVisible:function(){return this.element.visible();},_center:function(top,left){var windowScroll=WindowUtilities.getWindowScroll();var pageSize=WindowUtilities.getPageSize();if(!top)
top=(pageSize.windowHeight-(this.height+this.heightN+this.heightS))/2;top+=windowScroll.top
if(!left)
left=(pageSize.windowWidth-(this.width+this.widthW+this.widthE))/2;left+=windowScroll.left
this.setLocation(top,left);this.toFront();},_recenter:function(event){if(this.modal){var pageSize=WindowUtilities.getPageSize();if($('overlay_modal')){$('overlay_modal').style.height=(pageSize.pageHeight+'px');$('overlay_modal').style.width=(pageSize.pageWidth+'px');}
if(this.centered)
this._center(this.centerTop,this.centerLeft);}},hide:function(){if(this.modal){WindowUtilities.enableScreen();Windows.resetOverflow();Event.stopObserving(document,"keypress",this.eventKeyPress);}
this.oldStyle=this.getContent().getStyle('overflow')||"auto"
this.getContent().setStyle({overflow:"hidden"});this.options.hideEffect(this.element,this.options.hideEffectOptions);if(this.iefix)
this.iefix.hide();Windows.notify("onHide",this);},minimize:function(){var r2=$(this.getId()+"_row2");var dh=r2.getDimensions().height;if(r2.visible()){var h=this.element.getHeight()-dh
r2.hide()
this.element.setStyle({height:h+"px"})
if(!this.useTop){var bottom=parseFloat(this.element.getStyle('bottom'));this.element.setStyle({bottom:(bottom+dh)+'px'});}}
else{var h=this.element.getHeight()+dh;this.element.setStyle({height:h+"px"})
if(!this.useTop){var bottom=parseFloat(this.element.getStyle('bottom'));this.element.setStyle({bottom:(bottom-dh)+'px'});}
r2.show();this.toFront();}
Windows.notify("onMinimize",this);this._saveCookie()},maximize:function(){if(this.storedLocation!=null){this._restoreLocation();if(this.iefix)
this.iefix.hide();}
else{this._storeLocation();Windows.unsetOverflow(this);var windowScroll=WindowUtilities.getWindowScroll();var pageSize=WindowUtilities.getPageSize();this.element.setStyle(this.useLeft?{left:windowScroll.left}:{right:windowScroll.left});this.element.setStyle(this.useTop?{top:windowScroll.top}:{bottom:windowScroll.top});this.setSize(pageSize.windowWidth-this.widthW-this.widthE,pageSize.windowHeight-this.heightN-this.heightS)
this.toFront();if(this.iefix)
this._fixIEOverlapping();}
Windows.notify("onMaximize",this);this._saveCookie()},isMinimized:function(){var r2=$(this.getId()+"_row2");return!r2.visible();},isMaximized:function(){return(this.storedLocation!=null);},setOpacity:function(opacity){if(Element.setOpacity)
Element.setOpacity(this.element,opacity);},setZIndex:function(zindex){this.element.setStyle({zIndex:zindex});Windows.updateZindex(zindex,this);},setTitle:function(newTitle){if(!newTitle||newTitle=="")
newTitle="&nbsp;";Element.update(this.element.id+'_top',newTitle);},setStatusBar:function(element){var statusBar=$(this.getId()+"_bottom");if(typeof(element)=="object"){if(this.bottombar.firstChild)
this.bottombar.replaceChild(element,this.bottombar.firstChild);else
this.bottombar.appendChild(element);}
else
this.bottombar.innerHTML=element;},_checkIEOverlapping:function(){if(!this.iefix&&(navigator.appVersion.indexOf('MSIE')>0)&&(navigator.userAgent.indexOf('Opera')<0)&&(this.element.getStyle('position')=='absolute')){new Insertion.After(this.element.id,'<iframe id="'+this.element.id+'_iefix" '+'style="display:none;position:absolute;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);" '+'src="javascript:false;" frameborder="0" scrolling="no"></iframe>');this.iefix=$(this.element.id+'_iefix');}
if(this.iefix)
setTimeout(this._fixIEOverlapping.bind(this),50);},_fixIEOverlapping:function(){Position.clone(this.element,this.iefix);this.iefix.style.zIndex=this.element.style.zIndex-1;this.iefix.show();},_getWindowBorderSize:function(event){var div=this._createHiddenDiv(this.options.className+"_n")
this.heightN=Element.getDimensions(div).height;div.parentNode.removeChild(div)
var div=this._createHiddenDiv(this.options.className+"_s")
this.heightS=Element.getDimensions(div).height;div.parentNode.removeChild(div)
var div=this._createHiddenDiv(this.options.className+"_e")
this.widthE=Element.getDimensions(div).width;div.parentNode.removeChild(div)
var div=this._createHiddenDiv(this.options.className+"_w")
this.widthW=Element.getDimensions(div).width;div.parentNode.removeChild(div);if(/Konqueror|Safari|KHTML/.test(navigator.userAgent))
this.setSize(this.width,this.height);if(this.doMaximize)
this.maximize();if(this.doMinimize)
this.minimize();},_createHiddenDiv:function(className){var objBody=document.getElementsByTagName("body").item(0);var win=document.createElement("div");win.setAttribute('id',this.element.id+"_tmp");win.className=className;win.style.display='none'
win.innerHTML=''
objBody.insertBefore(win,objBody.firstChild)
return win},_storeLocation:function(){if(this.storedLocation==null){this.storedLocation={useTop:this.useTop,useLeft:this.useLeft,top:this.element.getStyle('top'),bottom:this.element.getStyle('bottom'),left:this.element.getStyle('left'),right:this.element.getStyle('right'),width:this.width,height:this.height};}},_restoreLocation:function(){if(this.storedLocation!=null){this.useLeft=this.storedLocation.useLeft;this.useTop=this.storedLocation.useTop;this.element.setStyle(this.useLeft?{left:this.storedLocation.left}:{right:this.storedLocation.right});this.element.setStyle(this.useTop?{top:this.storedLocation.top}:{bottom:this.storedLocation.bottom});this.setSize(this.storedLocation.width,this.storedLocation.height);Windows.resetOverflow();this._removeStoreLocation();}},_removeStoreLocation:function(){this.storedLocation=null;},_saveCookie:function(){if(this.cookie){var value="";if(this.useLeft)
value+="l:"+(this.storedLocation?this.storedLocation.left:this.element.getStyle('left'))
else
value+="r:"+(this.storedLocation?this.storedLocation.right:this.element.getStyle('right'))
if(this.useTop)
value+=",t:"+(this.storedLocation?this.storedLocation.top:this.element.getStyle('top'))
else
value+=",b:"+(this.storedLocation?this.storedLocation.bottom:this.element.getStyle('bottom'))
value+=","+(this.storedLocation?this.storedLocation.width:this.width);value+=","+(this.storedLocation?this.storedLocation.height:this.height);value+=","+this.isMinimized();value+=","+this.isMaximized();WindowUtilities.setCookie(value,this.cookie)}}};var Windows={windows:[],observers:[],focusedWindow:null,maxZIndex:0,addObserver:function(observer){this.removeObserver(observer);this.observers.push(observer);},removeObserver:function(observer){this.observers=this.observers.reject(function(o){return o==observer});},notify:function(eventName,win){this.observers.each(function(o){if(o[eventName])o[eventName](eventName,win);});},getWindow:function(id){return this.windows.detect(function(d){return d.getId()==id});},getFocusedWindow:function(){return this.focusedWindow;},register:function(win){this.windows.push(win);},unregister:function(win){this.windows=this.windows.reject(function(d){return d==win});},close:function(id){var win=this.getWindow(id);if(win){if(win.getDelegate()&&!win.getDelegate().canClose(win))
return;if($(id+"_close"))
$(id+"_close").onclick=null;if($(id+"_minimize"))
$(id+"_minimize").onclick=null;if($(id+"_maximize"))
$(id+"_maximize").onclick=null;this.notify("onClose",win);win.hide();}},closeAll:function(){this.windows.each(function(w){Windows.close(w.getId())});},minimize:function(id){var win=this.getWindow(id)
if(win)
win.minimize();},maximize:function(id){var win=this.getWindow(id)
if(win)
win.maximize();},unsetOverflow:function(except){this.windows.each(function(d){d.oldOverflow=d.getContent().getStyle("overflow")||"auto";d.getContent().setStyle({overflow:"hidden"})});if(except&&except.oldOverflow)
except.getContent().setStyle({overflow:except.oldOverflow});},resetOverflow:function(){this.windows.each(function(d){if(d.oldOverflow)d.getContent().setStyle({overflow:d.oldOverflow})});},updateZindex:function(zindex,win){if(zindex>this.maxZIndex)
this.maxZIndex=zindex;this.focusedWindow=win;}};var Dialog={dialogId:null,win:null,onCompleteFunc:null,callFunc:null,parameters:null,confirm:function(content,parameters){if(typeof content!="string"){Dialog._runAjaxRequest(content,parameters,Dialog.confirm);return}
parameters=parameters||{};var okLabel=parameters.okLabel?parameters.okLabel:"Ok";var cancelLabel=parameters.cancelLabel?parameters.cancelLabel:"Cancel";var windowParam=parameters.windowParameters||{};windowParam.className=windowParam.className||"alert";okButtonClass="class ='"+(parameters.buttonClass?parameters.buttonClass+" ":"")+" ok_button'"
cancelButtonClass="class ='"+(parameters.buttonClass?parameters.buttonClass+" ":"")+" cancel_button'"
var content="\
   <div class='"+windowParam.className+"_message'>"+content+"</div>\
    <div class='"+windowParam.className+"_buttons'>\
     <input type='button' value='"+okLabel+"' onclick='Dialog.okCallback()'"+okButtonClass+"/>\
     <input type='button' value='"+cancelLabel+"' onclick='Dialog.cancelCallback()' "+cancelButtonClass+"/>\
    </div>\
  ";this._openDialog(content,parameters)
return this.win},alert:function(content,parameters){if(typeof content!="string"){Dialog._runAjaxRequest(content,parameters,Dialog.alert);return}
parameters=parameters||{};var okLabel=parameters.okLabel?parameters.okLabel:"Ok";var windowParam=parameters.windowParameters||{};windowParam.className=windowParam.className||"alert";okButtonClass="class ='"+(parameters.buttonClass?parameters.buttonClass+" ":"")+" ok_button'"
var content="\
   <div class='"+windowParam.className+"_message'>"+content+"</div>\
    <div class='"+windowParam.className+"_buttons'>\
     <input type='button' value='"+okLabel+"' onclick='Dialog.okCallback()'"+okButtonClass+"/>\
    </div>";return this._openDialog(content,parameters)},info:function(content,parameters){if(typeof content!="string"){Dialog._runAjaxRequest(content,parameters,Dialog.info);return}
parameters=parameters||{};parameters.windowParameters=parameters.windowParameters||{};var className=parameters.windowParameters.className||"alert";var content="<div id='modal_dialog_message' class='"+className+"_message'>"+content+"</div>";if(parameters.showProgress)
content+="<div id='modal_dialog_progress' class='"+className+"_progress'> </div>";parameters.windowParameters.ok=null;parameters.windowParameters.cancel=null;parameters.windowParameters.className=className;return this._openDialog(content,parameters)},setInfoMessage:function(message){$('modal_dialog_message').update(message);},closeInfo:function(){Windows.close(this.dialogId);},_openDialog:function(content,parameters){if(this.win)
this.win.destroy();if(!parameters.windowParameters.height&&!parameters.windowParameters.width){parameters.windowParameters.width=WindowUtilities.getPageSize().pageWidth/2;}
this.dialogId=parameters.id?parameters.id:'modal_dialog'
if(!parameters.windowParameters.height||!parameters.windowParameters.width){var size=WindowUtilities._computeSize(content,this.dialogId,parameters.windowParameters.width,parameters.windowParameters.height)
if(parameters.windowParameters.height)
parameters.windowParameters.width=size+5
else
parameters.windowParameters.height=size+5}
var windowParam=parameters&&parameters.windowParameters?parameters.windowParameters:{};windowParam.resizable=windowParam.resizable||false;windowParam.effectOptions=windowParam.effectOptions||{duration:1};windowParam.minimizable=false;windowParam.maximizable=false;windowParam.closable=false;this.win=new Window(this.dialogId,windowParam);this.win.getContent().innerHTML=content;this.win.showCenter(true,parameters.top,parameters.left);this.win.cancelCallback=parameters.cancel;this.win.okCallback=parameters.ok;return this.win;},_getAjaxContent:function(originalRequest){Dialog.callFunc(originalRequest.responseText,Dialog.parameters)},_runAjaxRequest:function(message,parameters,callFunc){if(message.options==null)
message.options={}
Dialog.onCompleteFunc=message.options.onComplete;Dialog.parameters=parameters;Dialog.callFunc=callFunc;message.options.onComplete=Dialog._getAjaxContent;new Ajax.Request(message.url,message.options);},okCallback:function(){if(!this.win.okCallback||this.win.okCallback(this.win))
this.win.hide();},cancelCallback:function(){this.win.hide();if(this.win.cancelCallback)
this.win.cancelCallback(this.win);}}
var isIE=navigator.appVersion.match(/MSIE/)=="MSIE";var WindowUtilities={getWindowScroll:function(){var w=window;var T,L,W,H;with(w.document){if(w.document.documentElement&&documentElement.scrollTop){T=documentElement.scrollTop;L=documentElement.scrollLeft;}else if(w.document.body){T=body.scrollTop;L=body.scrollLeft;}
if(w.innerWidth){W=w.innerWidth;H=w.innerHeight;}else if(w.document.documentElement&&documentElement.clientWidth){W=documentElement.clientWidth;H=documentElement.clientHeight;}else{W=body.offsetWidth;H=body.offsetHeight}}
return{top:T,left:L,width:W,height:H};},getPageSize:function(){var xScroll,yScroll;if(window.innerHeight&&window.scrollMaxY){xScroll=document.body.scrollWidth;yScroll=window.innerHeight+window.scrollMaxY;}else if(document.body.scrollHeight>document.body.offsetHeight){xScroll=document.body.scrollWidth;yScroll=document.body.scrollHeight;}else{xScroll=document.body.offsetWidth;yScroll=document.body.offsetHeight;}
var windowWidth,windowHeight;if(self.innerHeight){windowWidth=self.innerWidth;windowHeight=self.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){windowWidth=document.documentElement.clientWidth;windowHeight=document.documentElement.clientHeight;}else if(document.body){windowWidth=document.body.clientWidth;windowHeight=document.body.clientHeight;}
var pageHeight,pageWidth;if(yScroll<windowHeight){pageHeight=windowHeight;}else{pageHeight=yScroll;}
if(xScroll<windowWidth){pageWidth=windowWidth;}else{pageWidth=xScroll;}
return{pageWidth:pageWidth,pageHeight:pageHeight,windowWidth:windowWidth,windowHeight:windowHeight};},disableScreen:function(className,overlayId,contentId){WindowUtilities.initLightbox(overlayId,className);var objBody=document.getElementsByTagName("body").item(0);var objOverlay=$(overlayId);var pageSize=WindowUtilities.getPageSize();if(contentId&&isIE){$$('select').each(function(element){element.style.visibility="hidden"});$$('#'+contentId+' select').each(function(element){element.style.visibility="visible"});}
objOverlay.style.height=(pageSize.pageHeight+'px');objOverlay.style.width=(pageSize.windowWidth+'px');objOverlay.style.display='block';},enableScreen:function(id){id=id||'overlay_modal'
var objOverlay=$(id);if(objOverlay){objOverlay.style.display='none';if(isIE){$$('select').each(function(element){element.style.visibility="visible"});}
objOverlay.parentNode.removeChild(objOverlay);}},initLightbox:function(id,className){if($(id)){Element.setStyle(id,{zIndex:Windows.maxZIndex+10});}
else{var objBody=document.getElementsByTagName("body").item(0);var objOverlay=document.createElement("div");objOverlay.setAttribute('id',id);objOverlay.className="overlay_"+className
objOverlay.style.display='none';objOverlay.style.position='absolute';objOverlay.style.top='0';objOverlay.style.left='0';objOverlay.style.zIndex=Windows.maxZIndex+10;objOverlay.style.width='100%';objBody.insertBefore(objOverlay,objBody.firstChild);}},setCookie:function(value,parameters){document.cookie=parameters[0]+"="+escape(value)+
((parameters[1])?"; expires="+parameters[1].toGMTString():"")+
((parameters[2])?"; path="+parameters[2]:"")+
((parameters[3])?"; domain="+parameters[3]:"")+
((parameters[4])?"; secure":"");},getCookie:function(name){var dc=document.cookie;var prefix=name+"=";var begin=dc.indexOf("; "+prefix);if(begin==-1){begin=dc.indexOf(prefix);if(begin!=0)return null;}else{begin+=2;}
var end=document.cookie.indexOf(";",begin);if(end==-1){end=dc.length;}
return unescape(dc.substring(begin+prefix.length,end));},_computeSize:function(content,id,width,height,margin){if(margin==null)
margin=5;var objBody=document.getElementsByTagName("body").item(0);var tmpObj=document.createElement("div");tmpObj.setAttribute('id',id);if(height)
tmpObj.style.height=height+"px"
else
tmpObj.style.width=width+"px"
tmpObj.style.position='absolute';tmpObj.style.top='0';tmpObj.style.left='0';tmpObj.style.display='none';tmpObj.innerHTML=content;objBody.insertBefore(tmpObj,objBody.firstChild);var size;if(height)
size=$(id).getDimensions().width+margin;else
size=$(id).getDimensions().height+margin;objBody.removeChild(tmpObj);return size;}}
var charCount=1;var maxCharCount=2000;function displayRemLength(fieldName){var remField=document.getElementById(fieldName);if(remField!=null){remField.innerHTML=(maxCharCount-charCount>0)?maxCharCount-charCount:0;}}
function warnAfterLength(warningLength,fieldName,normalClass,warnClass){var msgField=document.getElementById(fieldName);if(maxCharCount-charCount<=warningLength){msgField.className=warnClass;}
else{msgField.className=normalClass;}}
function evalEntryLength(curField,maxLimit,discardXtra,errClass,normalClass,isJSpell){maxCharCount=maxLimit;if(curField==null)
return;var fieldLength=getCharCount((isJSpell)?curField.body.innerText:curField.value);if(fieldLength>maxLimit){if(errClass!=""){curField.className=errClass;}
if(discardXtra){showAllowedLength(curField,maxLimit,isJSpell);}}else if(normalClass!=""){curField.className=normalClass;}}
function getCharCount(curField){if(curField!=null){var temp=new String(curField);while(temp.indexOf('\r\n')>=0){temp=temp.replace('\r\n','  ');}
while(temp.indexOf('\n')>=0){temp=temp.replace('\n','  ');}
charCount=temp.length;return charCount;}
return 0;}
function showAllowedLength(curField,maxLimit,isJSpell){if(curField!=null)
{if(isJSpell){curField.body.innerText=curField.body.innerText.substr(0,maxLimit);window.status=curField.body.innerText;}
else{curField.value=curField.value.substr(0,maxLimit);window.status=curField.value;}}}
function forwardRequestToFriendsWindow(requestId){var url="/ForwardRequestToFriendPopup.do?requestId="+requestId;var win=new Window('forward_request_to_frineds_win_'+Math.random(),{className:"askv_cube",title:"Forward to Friends",width:520,height:450,minimizable:false,maximizable:false,resizable:true,url:url,hideEffectOptions:{duration:0.5},showEffectOptions:{duration:0.5}});win.setDestroyOnClose();win.toFront();win.showCenter(true);}
function reportAbuse(culpritType,culpritId)
{var abuseCategory=document.getElementById('report_abuse_category_'+culpritType+'_'+culpritId).value;var abuseDescription=encodeURIComponent(document.getElementById('report_abuse_text_'+culpritType+'_'+culpritId).value);var url='/ajax/ReportAbuse.do';var pars='culpritType='+culpritType+'&culpritId='+culpritId+'&abuseCategory='+abuseCategory+'&abuseDescription='+abuseDescription;if(culpritType=='PROFILE'){if(document.getElementById('report_abuse_'+culpritType+'_'+culpritId+'_nickname').checked){pars=pars+'&nickname=true';}
if(document.getElementById('report_abuse_'+culpritType+'_'+culpritId+'_avatar').checked){pars=pars+'&avatar=true';}
if(document.getElementById('report_abuse_'+culpritType+'_'+culpritId+'_city').checked){pars=pars+'&city=true';}}
ajaxUpdateDiv(url,pars,'get','report_abuse_div_'+culpritType+'_'+culpritId);hide('report_abuse_link_'+culpritType+'_'+culpritId);}
function suggestATag(requestId){var formId='suggest_alternate_tag_form_'+requestId;var contentDivId='tags_'+requestId;var suggest_tag_url="/ajax/UserSuggestedTag.do";ajaxFormSubmit(formId,suggest_tag_url,contentDivId);hide('suggest_a_tag_'+requestId);}
function onEnterSuggestATag(event,requestId){if(event.keyCode==13){suggestATag(requestId);return false;}
else{return true;}}
function voteForRequest(requestId,colorScheme,reload){if(isUserLoggedIn()){var url="/ajax/QuestionVote.do";var pars="requestId="+requestId+"&boxColor="+colorScheme;ajaxLoad(url,pars,'post','question_vote_div_'+requestId,'question_vote_progress_div_'+requestId,null,reload?function(){window.location.href="#";}:null);}
else{alert('You are not signed in - please sign in first.');}}
function suggestTagForRequest(requestId){if(isUserLoggedIn()){var str=prompt("List topics that you think should be associated with this question (comma separated):","");if(str){var url="/ajax/UserSuggestedTag.do";var pars="requestID="+requestId+"&questionListItem=true&suggestedTags="+str;ajaxLoad(url,pars,'post','tags_'+requestId,'tags_progress_'+requestId,null,null);}}
else{alert('You are not signed in - please sign in first.');}}
var documentLoadListenerFunctions=new Array();var documentUnloadListenerFunctions=new Array();function addCookie(name,value,days){var expires;if(days){var date=new Date();date.setTime(date.getTime()+(days*24*60*60*1000));expires="; expires="+date.toGMTString();}
else expires="";document.cookie=name+"="+value+expires+"; path=/";}
function readCookie(name){var nameEQ=name+"=";var ca=document.cookie.split(';');for(var i=0;i<ca.length;i++){var c=ca[i];while(c.charAt(0)==' ')c=c.substring(1,c.length);if(c.indexOf(nameEQ)==0)return c.substring(nameEQ.length,c.length);}
return null;}
function eraseCookie(name){addCookie(name,"",-1);}
function addDocumentLoadListenerFunction(fn){documentLoadListenerFunctions.push(fn);}
function documentLoadListener(){for(var i=0;i<documentLoadListenerFunctions.length;i++){eval(documentLoadListenerFunctions[i]);}}
function addDocumentUnloadListenerFunction(fn){documentUnloadListenerFunctions.push(fn);}
function documentUnloadListener(){for(var i=0;i<documentUnloadListenerFunctions.length;i++){eval(documentUnloadListenerFunctions[i]);}}
function hide(elementId){if(document.getElementById(elementId)!=null)
{document.getElementById(elementId).style.display="none";}}
function hideElt(element){if(element!=null){element.style.display="none";}}
function showBlock(elementId){if(document.getElementById(elementId)!=null)
{document.getElementById(elementId).style.display="block";}}
function showInline(elementId){if(document.getElementById(elementId)!=null)
{document.getElementById(elementId).style.display="inline";}}
function toggleHideShowReturnStatus(elementId){if(document.getElementById(elementId).style.display=="none"){document.getElementById(elementId).style.display="block";return true;}
else{document.getElementById(elementId).style.display="none";return false;}}
function toggleHideShow(elementId){toggleHideShowReturnStatus(elementId);}
function toggleHideShowInlineReturnStatus(elementId){if(document.getElementById(elementId).style.display=="none"){document.getElementById(elementId).style.display="inline";return true;}
else{document.getElementById(elementId).style.display="none";return false;}}
function toggleHideShowInline(elementId){toggleHideShowInlineReturnStatus(elementId);}
function toggleHideShowWithCtlReturnStatus(elementId,ctlPrefix){var isShown=toggleHideShowReturnStatus(elementId);toggleHideShow(ctlPrefix+"-hide");toggleHideShow(ctlPrefix+"-show");return isShown;}
function toggleHideShowWithCtl(elementId,ctlPrefix){toggleHideShowWithCtlReturnStatus(elementId,ctlPrefix);}
function toggleHideShowWithCtlInlineReturnStatus(elementId,ctlPrefix){var isShown=toggleHideShowReturnStatus(elementId);toggleHideShowInline(ctlPrefix+"-hide");toggleHideShowInline(ctlPrefix+"-show");return isShown;}
function toggleHideShowWithCtlInline(elementId,ctlPrefix){toggleHideShowWithCtlInlineReturnStatus(elementId,ctlPrefix);}
function nowEnteringText(element){element.innerHTML="";element.setAttribute("value","");element.setAttribute("class","enteringText");}
function setRelatedTagStyle(style){document.getElementById("related_tags").className=style;}
function isTextAreaBlankById(textAreaId,alertMsg){var result=false;var trimmedString=trim(document.getElementById(textAreaId).value);if(trimmedString.length<1){if(alertMsg!=undefined){alert(alertMsg);}
result=true;}
return result;}
function formatDateAshhmma(oDate){var hr=oDate.getHours();var hrToShow='';var ampm='';if(hr==0){hrToShow=12;ampm='am';}
else if(hr<12){hrToShow=hr;ampm='am';}
else if(hr==12){hrToShow=hr;ampm='pm';}
else if(hr>12){hrToShow=hr-12;ampm='pm';}
var mm=oDate.getMinutes();var mmToShow='';if(mm<10){mmToShow='0'+mm;}
else{mmToShow=mm;}
return hrToShow+":"+mmToShow+ampm;}
function isUserLoggedIn(){return(document.cookie.indexOf('a002_askville')!=-1);}
function updateBackToListCookie(listLocation){addCookie('a012_askville',escape(listLocation),3);}
function signIn(curUrl,avctx,newbieToWelcomePage){if(!document.cookie){alert("Sorry but you don't seem to have cookies enabled for your web browser. Without cookies, you will not be able to sign in to Askville.");return;}
var controller="/SignIn.do";if(!avctx){avctx='default';}
else if(avctx.match('signup')||avctx.match('signInOptIn1')||avctx.match('signInOptIn-ad1')){controller="/SignUpStart.do";}
if(curUrl==undefined){curUrl="";}
else{var extraParamInCurUrl='';if(curUrl.indexOf('?')>0||curUrl.indexOf('%3F')>0||curUrl.indexOf('%3f')>0){extraParamInCurUrl+='&';}
else{extraParamInCurUrl+='?';}
extraParamInCurUrl+='msgcode=sirc.retstat&signin=true'+window.location.hash;if(newbieToWelcomePage){extraParamInCurUrl+='&getStarted=true';}
curUrl=curUrl+escape(extraParamInCurUrl);}
window.location.href=controller+'?avctx=signin.'+avctx+'&action='+curUrl;}
function updateBackToListSpan(spanId,linkURL,linkText){var backToList=linkURL?linkURL:readCookie('a012_askville');if(backToList!=null&&backToList!=''){document.getElementById(spanId).innerHTML='<a onmouseover=\"if(document.getElementById(\'backImgId-'+spanId+'\') == null)return false;document.getElementById(\'backImgId-'+spanId+'\').src=\'http://g-ecx.images-amazon.com/images/G/01/askville/icons/arrow-left-hover-v0001.gif\'\" onmouseout=\"if(document.getElementById(\'backImgId-'+spanId+'\') == null)return false;document.getElementById(\'backImgId-'+spanId+'\').src=\'http://g-ecx.images-amazon.com/images/G/01/askville/icons/arrow-left-v0001.gif\'\" href=\"'+
unescape(backToList)+'\"><img id="backImgId-'+spanId+'" src=\"http://g-ecx.images-amazon.com/images/G/01/askville/icons/arrow-left-v0001.gif\" alt=\"back\" style=\"position:relative;top:4px;\" />'+(linkText?linkText:' back to question list')+'</a>&nbsp;';return true;}
else{return false;}}
function setCaretPos(obj,pos){if(obj.createTextRange){var range=obj.createTextRange();range.move("character",pos);range.select();}else if(obj.selectionStart){obj.focus();obj.setSelectionRange(pos,pos);}}
function isNavigationKey(e){var evt=e||window.event;var keynum=evt.keyCode;switch(keynum){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 188:return true;default:return false;}}
function trim(str){return str.replace(/^\s+|\s+$/g,'');}
function showAlphaLabFeedbackWindow(){var win=new Window('feedback_win_'+Math.random(),{className:"askv_cube",title:"Alpha Lab Feedback",width:480,height:350,minimizable:false,maximizable:false,resizable:true,url:"/AlphaLabFeedbackPopup.do",hideEffectOptions:{duration:0.5},showEffectOptions:{duration:0.5}});win.setDestroyOnClose();win.toFront();win.showCenter(true);}
function getDateStringToMinute(mins){var cd=new Date();var minBlock=Math.floor(cd.getMinutes()/mins);return cd.getFullYear()+'-'+cd.getMonth()+'-'+cd.getDate()+'-'+cd.getHours()+'-'+minBlock;}
var cur_user_message_div_id;function renderCommonMessageForm(div_id,recipientId,subject,submitJs,inputWidth,disableSpellCheck,curUrl,noCancel,toNickname){if(document.getElementById(cur_user_message_div_id)){hide(cur_user_message_div_id);}
cur_user_message_div_id=div_id;var url='/ajax/SubmitUserMessage.do';var pars='userId='+recipientId;if(subject){pars=pars+'&subject='+subject;}
if(submitJs){pars=pars+'&submitJs='+submitJs;}
if(inputWidth){pars=pars+'&inputWidth='+inputWidth;}
if(disableSpellCheck){pars=pars+'&disableSpellCheck='+disableSpellCheck;}
if(curUrl){pars=pars+'&cururl='+curUrl;}
if(noCancel){pars=pars+'&noCancel='+noCancel;}
if(toNickname){pars=pars+'&toNickname='+toNickname;}
ajaxUpdateDiv(url,pars,'get',div_id);showBlock(div_id);}
function userMessageFormSubmit(formId){ajaxFormSubmit(formId,'/ajax/SubmitUserMessage.do',cur_user_message_div_id);}
function pageXY(el){var XY={x:0,y:0};for(var node=el;node;node=node.offsetParent){XY.x+=node.offsetLeft;XY.y+=node.offsetTop;}
return XY;}
function windowHeight(){var myHeight=0;if(typeof(window.innerHeight)=='number'){myHeight=window.innerHeight;}
else if(document.documentElement&&document.documentElement.clientHeight){myHeight=document.documentElement.clientHeight;}
else if(document.body&&document.body.clientHeight){myHeight=document.body.clientHeight;}
return myHeight;}
function escapeHtmlBrackets(input){input=input.replace(/</g,"&lt;");input=input.replace(/>/g,"&gt;");return input;}
function scrollToDiv(id){var scrollDiv=document.getElementById(id);if(scrollDiv.scrollIntoView){scrollDiv.scrollIntoView(false);}
else{var XY=pageXY(scrollDiv);var scrollY=XY.y;if(scrollY>windowHeight()){scrollY-=windowHeight();}
window.scrollTo(0,scrollY);}}
function watchQuestion(requestId,resultDivId,progressDivId){if(isUserLoggedIn()){var url="/ajax/QuestionWatchList.do";var pars="action=modify&requestId="+requestId+"&status=STATUS_WATCHED";ajaxLoad(url,pars,'post',resultDivId,progressDivId);}
else{alert('Please sign-in before watching questions');}}
function showHelpPopupWindow(helpMsgId,w,h){var helpUrl="/HelpPopup.do?helpMsgId="+helpMsgId;if(typeof w=='undefined'){w=480;}
if(typeof h=='undefined'){h=350;}
var win=new Window('help_win_'+Math.random(),{className:"askv_cube",title:"Askville Help",width:w,height:h,minimizable:false,maximizable:false,resizable:true,url:helpUrl,hideEffectOptions:{duration:0.5},showEffectOptions:{duration:0.5}});win.setDestroyOnClose();win.toFront();win.showCenter(true);}
var submitcommentonce=false
function checkCommentSubmit(){if(!submitcommentonce){submitcommentonce=true;return true}
else{return false;}}
function addSearchProvider(){if(window.external&&window.external.AddSearchProvider){window.external.AddSearchProvider('http://askville.amazon.com/opensearch.xml');}
else{alert('Sorry, your browser does not support search providers.');}}
function showMainTopicsWindow(){var commentUrl='/MainTopicsWindow.do';var win=new Window('main_topic_win_'+Math.random(),{className:"askv_cube",title:'Popular Topics on Askville',width:300,height:360,minimizable:false,maximizable:false,resizable:true,url:commentUrl,hideEffectOptions:{duration:0.5},showEffectOptions:{duration:0.5}});win.setDestroyOnClose();win.showCenter(true);win.toFront();}
function showReportAbuseForm(id,type,curUrl){var pars='id='+id+'&type='+type+'&curUrl='+escape(curUrl);ajaxLoad('/ajax/ReportAbuseForm.do',pars,'get','report_abuse_div_'+type+'_'+id,'report_abuse_progress_'+type+'_'+id);}
function voteForRemoval(requestId){var result=confirm("If enough people vote to remove this question it will not be shown in the bonus box.\n\nAre you sure you want to do this?");if(result){var url="/ajax/NegativeQuestionVote.do";var pars="requestId="+requestId;ajaxLoad(url,pars,'post','bonus_question_link_div_'+requestId,'vote_for_removal_progress_'+requestId,null,afterRemoval)}}
function afterRemoval(){hide('answer_bonus_div');}
function expandBox(boxName){hide(boxName+"_expand");showBlock(boxName+"_collapse");showBlock(boxName+"_content");}
function collapseBox(boxName){hide(boxName+"_content");hide(boxName+"_collapse");showBlock(boxName+"_expand");}
function expandBoxPersist(boxName){expandBox(boxName);ajaxFireAndForget('/ajax/SetUserPref.do','p='+boxName+'&on=true','get')}
function collapseBoxPersist(boxName){collapseBox(boxName);ajaxFireAndForget('/ajax/SetUserPref.do','p='+boxName+'&on=false','get')}
function updateTextAreaHeight(ta,min,offset){if(ta.scrollHeight>(min-offset)){if(navigator.appVersion.match(/MSIE/)!="MSIE"){ta.style.height=0;}
ta.style.height=(ta.scrollHeight+offset)+"px";}}
function handleEnter(field,event){var keyCode=event.keyCode?event.keyCode:event.which?event.which:event.charCode;return keyCode!=13;}
function addToFriends(userId,contentIdPrefix){var url='/ajax/AskToBeFriend.do';var pars='targetUserId='+userId+'&uniqueContentId='+contentIdPrefix;ajaxLoad(url,pars,'get',contentIdPrefix+'_community_action_result',contentIdPrefix+'_community_action_wait');}
function friendRequestFormSubmit(formId,contentIdPrefix){hide(contentIdPrefix+'_friend_request_form');ajaxFormSubmit(formId,'/ajax/AskToBeFriend.do',contentIdPrefix+'_community_action_result',contentIdPrefix+'_community_action_wait');}
function friendRequestFormCancel(contentIdPrefix){hide(contentIdPrefix+'_community_action_result');}
function addToFaves(userId,contentIdPrefix){var url='/ajax/CommunityAction.do';var pars='targetUserId='+userId+'&action=addAsFave';ajaxLoad(url,pars,'get',contentIdPrefix+'_community_action_result',contentIdPrefix+'_community_action_wait');}
var showingProfileCard=null;function showProfileCard(cardId,userId,noCacheAwards){if(showingProfileCard){hide(showingProfileCard);}
showBlock(cardId);if(noCacheAwards||document.getElementById(cardId+'_award_result').innerHTML==''){var pars='userId='+userId;if(noCacheAwards){pars+='&skipCache='+noCacheAwards;}
ajaxLoad('/ajax/TopAwards.do',pars,'get',cardId+'_award_result',cardId+'_award_prog',null,function(){$j('#'+cardId+'_award_result .bubble_tip[title]').qtip({style:{background:'#F9F6E8',color:'black',tip:false,border:{color:'#C40',width:1,radius:1}},position:{corner:{target:'topMiddle',tooltip:'bottomLeft'}}});});}
showingProfileCard=cardId;}
function hideProfileCard(cardId){hide(cardId);showingProfileCard=null;}
function hideProfileCardOnBlur(e){if(showingProfileCard){var card=document.getElementById(showingProfileCard);var target=e?e.target:event.srcElement;if(target!=card&&target.className.indexOf('card_link')==-1&&target.className!='no_card_blur'){hideProfileCard(showingProfileCard);}}}
document.onclick=hideProfileCardOnBlur;function privateMessagePopup(userId,nickname){var helpUrl="/PrivateMessagePopup.do?userId="+userId+'&toNickname='+nickname;var w=480;var h=350;var win=new Window('email_win_'+Math.random(),{className:"askv_cube",title:"Private message for "+nickname,width:w,height:h,minimizable:false,maximizable:false,resizable:true,url:helpUrl,hideEffectOptions:{duration:0.5},showEffectOptions:{duration:0.5}});win.setDestroyOnClose();win.toFront();win.showCenter(true);}
function dismissNotification(notificationId,optionalURL){var callback=null;if(optionalURL){callback=function(){window.location=optionalURL;};}
$j('#notifySlider').hide("drop",{direction:"up"},1000);ajaxLoad('/ajax/DismissNotification.do','notificationId='+notificationId,'get',null,null,null,callback);}
function swalowEvent(e){if(!e)var e=window.event;e.cancelBubble=true;if(e.stopPropagation)e.stopPropagation();}
var mouseX=0;var mouseY=0;var isHoverActive=false;function captureMouse(){if(document.layers){document.captureEvents(Event.MOUSEMOVE);}
document.onmousemove=findMouseCrossBrowser;}
function findMouseCrossBrowser(e){if(document.all){mouseX=window.event.x+document.body.scrollLeft;mouseY=window.event.y+document.body.scrollTop;}
else if(document.layers||document.getElementById){mouseX=e.pageX;mouseY=e.pageY;}}
function moveHoverWithMouse(){var thingToManipulate=document.getElementById('1437');thingToManipulate.style.left=""+(mouseX+10)+"px";thingToManipulate.style.top=""+(mouseY+10)+"px";}
function findPos(obj){var curleft=0;var curtop=0;if(obj&&obj.offsetParent){curleft=obj.offsetLeft
curtop=obj.offsetTop
while(obj=obj.offsetParent){curleft+=obj.offsetLeft
curtop+=obj.offsetTop}}
return[curleft,curtop];}
function hideHoverDiv(id){isHoverActive=false;setTimeout('hideHoverActual(\''+id+'\')',400);}
function hideHoverActual(id){if(!isHoverActive){hide(id);document.getElementById(id).className='askville_hover greenbox';}}
function showHoverAnimRight(linkId,hoverId,contentId,width,height){showHoverAnimStep(1,linkId,hoverId,contentId,width,height,false);}
function showHoverRight(linkId,hoverId,contentId){showHoverAnimStep(1,linkId,hoverId,contentId,null,null,false,1);}
function showHoverAnimBottom(linkId,hoverId,contentId,width,height){showHoverAnimStep(1,linkId,hoverId,contentId,width,height,true);}
function showHoverBottom(linkId,hoverId,contentId){showHoverAnimStep(1,linkId,hoverId,contentId,null,null,true,1);}
function showHoverBottomDelay(linkId,hoverId,contentId){isHoverActive=true;setTimeout("showHoverBottomCheck('"+linkId+"','"+hoverId+"','"+contentId+"')",400);}
function showHoverBottomCheck(linkId,hoverId,contentId){if(isHoverActive){showHoverAnimStep(1,linkId,hoverId,contentId,null,null,true,1);}}
function showHoverAnimStep(step,linkId,hoverId,contentId,width,height,fromBottom,maxSteps){var hoverDiv=document.getElementById(hoverId);var link=document.getElementById(linkId);if(linkId==null){alert('missing id for link element');}
if(!maxSteps){maxSteps=3;}
isHoverActive=true;if(step==1){if(contentId!=null){hoverDiv.innerHTML='';}
if(fromBottom){hoverDiv.style.left=findPos(link)[0]+'px';hoverDiv.style.top=findPos(link)[1]+link.offsetHeight+'px';}
else{hoverDiv.style.left=findPos(link)[0]+link.offsetWidth+'px';hoverDiv.style.top=findPos(link)[1]+'px';}
hoverDiv.style.display='block';}
if(step<maxSteps){hoverDiv.style.width=width/(maxSteps-step)+'px';hoverDiv.style.height=height/(maxSteps-step)+'px';++step;setTimeout("showHoverAnimStep("+step+",'"+linkId+"', '"+hoverId+"','"+contentId+"', "+width+","+height+","+fromBottom+","+maxSteps+")",50);}
else{showHoverActual(hoverId,contentId,!fromBottom);}}
function showHoverActual(hoverId,contentId,autoScrollWidth){var hoverDiv=document.getElementById(hoverId);hoverDiv.className='askville_hover';if(contentId!=null){hoverDiv.innerHTML=document.getElementById(contentId).innerHTML;if(autoScrollWidth){window.scrollBy(hoverDiv.offsetWidth,0);}}}