/* Use IE JS conditional compilation to detect IE */

function IsIE() {
    var result = /*@cc_on!@*/false;
    return result;
}

function IsIE7() {
    /* 
     *  JS 5.7 is installed natively in IE7, but can be added to IE6 as an upgrade, so
     *  we check for IE and JS 5.7; if present, we make sure we're NOT running IE6.
     */
    var result = IsIE()/*@cc_on&& (@_jscript_version >= 5.7) && (window.XMLHttpRequest)@*/;
    return result;
}

var Doc={GetNamedElements:function(elementName){return document.getElementsByName(elementName);},GetNamedElement:function(elementName){return this.GetNamedElements(elementName)[0];},GetElement:function(elementId){return document.getElementById(elementId);},GetListElements:function(listId){var list=this.GetElement(listId);return list.getElementsByTagName("LI");},ShowElem:function(elementId,display){if(!display){display="block"}
this.SetElemDisplay(elementId,display)},HideElem:function(elementId){this.SetElemDisplay(elementId,"none")},ToggleElemDisplay:function(elementId,showDisplay){var elem=Doc.GetElement(elementId);var newDisplay;if(elem){var currentDisplay=elem.style.display;if(currentDisplay=="none")
{if(showDisplay){newDisplay=showDisplay}else{newDisplay="block"}}else{newDisplay="none"}
elem.style.display=newDisplay;}},SetElemDisplay:function(elementId,display){var elem=Doc.GetElement(elementId);if(elem){elem.style.display=display}},SetElemHTML:function(elementId,htmlString){var elem=Doc.GetElement(elementId);if(elem){elem.innerHTML=htmlString;}},SetElemValue:function(elementId,value){var elem=Doc.GetElement(elementId);if(elem){elem.value=value;}}};function parseUri(sourceUri){var uriPartNames=["source","protocol","authority","domain","port","path","directoryPath","fileName","query","anchor"];var uriParts=new RegExp("^(?:([^:/?#.]+):)?(?://)?(([^:/?#]*)(?::(\\d*))?)?((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[\\?#]|$)))*/?)?([^?#/]*))?(?:\\?([^#]*))?(?:#(.*))?").exec(sourceUri);var uri={};for(var i=0;i<10;i++){uri[uriPartNames[i]]=(uriParts[i]?uriParts[i]:"");}
if(uri.directoryPath.length>0){uri.directoryPath=uri.directoryPath.replace(/\/?$/,"/");}
return uri;}
function NavigateTo(url){var uriData=parseUri(url);if(window.location.protocol==uriData.protocol+":"&&window.location.pathname==uriData.path&&window.location.host==uriData.authority&&window.location.search==uriData.query)
{window.location.href=url;window.location.reload(true);}else{window.location.href=url;}}
function ShowStatus(msg){window.status=msg;}
function CalcRandom(){var retVal=Math.floor(Math.random()*1001);return retVal;}
function CheckExpired(){var request=CreateXmlHttpRequest();request.open("GET","/check_expired?rand="+CalcRandom(),true);request.onreadystatechange=function(){if(request.readyState==4){if(request.status==200){;}else if(request.status==403){if(window.location.href==request.responseText){window.location.hash="#popups=logged_out";window.location.reload();}else{window.location.href=request.responseText+"#popups=logged_out";}}}}
request.setRequestHeader("Cookie","");request.send(null);}
function IndexOfArrayElement(array,object){for(var i=0,length=array.length;i<length;i++){if(array[i]==object)return i;}
return-1;}
function RemoveArrayElement(array,object){var index=IndexOfArrayElement(array,object);if(index==-1){return;}else{array.splice(index,1);}}
function ArrayHasElement(array,object){return IndexOfArrayElement(array,object)>-1;}
function ConcatObjects(object1,object2){var newObject=object1;for(var key in object2){newObject[key]=object2[key]}
return newObject}
function UrlSub(url,keyword,value){newUrl=url.replace(":"+keyword,value);return newUrl;}
function UrlSubs(url,keywords,values){var newUrl=url;for(var i=0;i<keywords.length;i++){keyword=keywords[i]
value=values[i]
newUrl=newUrl.replace(":"+keyword,value);}
return newUrl;}
var SiteSearch={filterSection:"everywhere",timeoutId:null,kMenuTimeout:2000,_FixSections:function(){var searchSections=["everywhere","photography","illustration","thedatabase"]
for(var i=0;i<searchSections.length;++i){var link=document.getElementById("ss_"+searchSections[i]);if(link){if(this.filterSection==searchSections[i]){link.className="selected";}else{link.className="";}}}},ToggleSectionPopup:function(){var sectionPopup=document.getElementById("searchFloat");this._FixSections();if(sectionPopup){if(sectionPopup.style.display=="block"){this.StopTimeout();sectionPopup.style.display="none";}else{sectionPopup.style.display="block";}}},ClosePopup:function(){this.timeoutId=null;var sectionPopup=document.getElementById("searchFloat");sectionPopup.style.display="none";},StartTimeout:function(){this.timeoutId=setTimeout(this.ClosePopup,this.kMenuTimeout);},StopTimeout:function(){if(this.timeoutId!=null){clearTimeout(this.timeoutId);this.timeoutId=null;}},ResetTimeout:function(){clearTimeout(this.timeoutId);this.timeoutId=setTimeout(this.ClosePopup,this.kMenuTimeout);},CancelPopup:function(){this.StopTimeout();this.ClosePopup();},ClearSearch:function(){var searchText=document.getElementById("searchText").value;if(searchText=="enter name"){document.getElementById("searchText").value="";}},FillSearch:function(){var searchText=document.getElementById("searchText").value;if(searchText==""){document.getElementById("searchText").value="enter name";}},SetSection:function(section){this.filterSection=section;this._FixSections();this.StopTimeout();var sectionPopup=document.getElementById("searchFloat");sectionPopup.style.display="none";},SetSectionAndSubmit:function(section){this.SetSection(section);var searchText=document.getElementById("searchText").value;if(searchText!=""&&searchText!="enter name"){this.Search();}},Search:function(){this.StopTimeout();var searchText=document.getElementById("searchText").value;if(searchText!=""){PopupWindow.Register('siteSearch',{url:"/search?section="+escape(this.filterSection)+"&text="+escape(searchText),isDialog:true,fixTimeout:20000});PopupWindow.CreateRegistered('siteSearch');}},KeyPress:function(event){event=Events.FixEvent(event);var key;if(event.keyCode){key=event.keyCode;}else if(event.which){key=event.which;}
if(key==13){SiteSearch.Search();event.cancelBubble=true;if(event.stopPropagation)event.stopPropagation();if(event.preventDefault)event.preventDefault();return false;}else{return true;}}};function FakeButtonSubmit(id,value){var button=document.getElementById(id);var parent=button?button.parentNode:null;var form=null;while(parent){if(parent.nodeType==1&&parent.nodeName.toLowerCase()=="form"){form=parent;break;}else{parent=parent.parentNode;}}
if(form){var hiddenInput=null;if(button.name){hiddenInput=document.createElement("input");hiddenInput.type="hidden";hiddenInput.name=button.name;hiddenInput.value=value;form.appendChild(hiddenInput);}
form.submit();if(hiddenInput){form.removeChild(hiddenInput);}}}
function Ellipsize(str,limit){if(str.length<limit){return str}else{return str.slice(0,limit)+"...";}}
function GetParentForm(elem){var result=elem.parentNode;while(result){if(result.nodeType==1&&result.nodeName.toLowerCase()=="form"){return result;}else{result=result.parentNode;}}
return null;}
var gPendingButtons={};function IsFancyButtonEnabled(btn)
{var elem=(typeof btn==="string")?document.getElementById(btn):btn;if(elem){return elem.className==="btnSubmit"||elem.className==="btnReset";}else{return false;}}
function DisableFancyButton(btn)
{var elem=(typeof btn==="string")?document.getElementById(btn):btn;if(elem){if(IsFancyButtonEnabled(elem)){elem.className=(elem.className==="btnSubmit")?"btnSubmitInactive":"btnResetInactive";gPendingButtons[elem.id]=elem.href;elem.href="javascript:void(0)";}}}
function EnableFancyButton(btn)
{var elem=(typeof btn==="string")?document.getElementById(btn):btn;if(elem){if(!IsFancyButtonEnabled(elem)){elem.href=gPendingButtons[elem.id];delete gPendingButtons[elem.id];elem.className=(elem.className=="btnSubmitInactive")?"btnSubmit":"btnReset";}}}
var xmlHttpFactories=[function(){return new XMLHttpRequest();},function(){return new ActiveXObject("Msxml2.XMLHTTP");},function(){return new ActiveXObject("MSxml3.XMLHTTP");},function(){return new ActiveXObject("Microsoft.XMLHTTP");}];function CreateXmlHttpRequest(){var xmlHttp=null;for(var i=0;i<xmlHttpFactories.length;++i){try{xmlHttp=xmlHttpFactories[i]();}
catch(e){continue;}
break;}
return xmlHttp;}
postSuccessCodes=[200,201,204,304,1223];getSuccessCodes=[200,201,204,304,1223];function GetSucceeded(status){return ArrayHasElement(getSuccessCodes,status);}
function PostSucceeded(status){return ArrayHasElement(postSuccessCodes,status);}
function EncodeFormElements(form){var params="";for(var i=0;i<form.elements.length;i=i+1){if(form.elements.item(i).name){if(params!="")params+="&";if(form.elements.item(i).type=="checkbox"){if(form.elements.item(i).checked){params+=form.elements.item(i).name+"=on";}else{params+=form.elements.item(i).name+"=off";}}else if(form.elements.item(i).type=="radio"){if(form.elements.item(i).checked){params+=form.elements.item(i).name+"="+escape(form.elements.item(i).value);}}else{params+=form.elements.item(i).name+"="+escape(form.elements.item(i).value);}}}
params=params.replace("+","%2b")
params=params.replace("%20","+")
return params;}
function ajaxPostForm(form,path,callback,callbackParams){params=EncodeFormElements(form);var request=CreateXmlHttpRequest();request.open("POST",path,true);request.onreadystatechange=function(){if(request.readyState==4){if(callbackParams){callback(request,callbackParams);}else{callback(request);}}}
request.setRequestHeader("Content-type","application/x-www-form-urlencoded");request.setRequestHeader("Content-length",params.length);request.setRequestHeader("Connection","close");request.send(params);}
function ajaxPostData(url,data,successHandler,errorHandler,mimeType){var request=CreateXmlHttpRequest();request.open("POST",url,true);request.onreadystatechange=function(){if(request.readyState==4){if(ArrayHasElement(postSuccessCodes,request.status)){if(successHandler){successHandler(request.responseText);}}else{if(errorHandler){errorHandler(request.status,request.responseText);}}}}
if(mimeType){request.setRequestHeader("Content-type",mimeType);}else{request.setRequestHeader("Content-type","application/x-www-form-urlencoded");}
request.setRequestHeader("Content-length",data.length);request.setRequestHeader("Connection","close");request.send(data);return false;}
function ajaxGet(url,successHandler,errorHandler,callbackParms){var request=CreateXmlHttpRequest();request.open("GET",url,true);request.onreadystatechange=function(){if(request.readyState==4){if(ArrayHasElement(getSuccessCodes,request.status)){if(successHandler){if(callbackParms){successHandler(request.responseText,callbackParms)}else{successHandler(request.responseText)}}}else{if(errorHandler){if(callbackParms){errorHandler(request.status,request.responseText,callbackParms);}else{errorHandler(request.status,request.responseText)}}}}}
request.send(null);}
function HtmlEscape(str){return str.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;");}
var _scriptExecuted=false;function RunAjaxScript(responseText,ajaxScriptId,pageScriptId){var head=document.getElementsByTagName("head")[0];var oldScript=document.getElementById(pageScriptId);if(oldScript){head.removeChild(oldScript);}
var fetchScript=document.getElementById(ajaxScriptId);if(fetchScript==null){var re=/<script.*?id=\"([^\"]+)\".*?>([\s\S]*)<\/script>/ig;var match;while(match=re.exec(responseText)){if(match[1]==ajaxScriptId){eval(match[2]);break;}}}else{_scriptExecuted=false;var newScript=document.createElement("script");newScript.type="text/javascript";newScript.id=pageScriptId;newScript.innerHTML=fetchScript.innerHTML;head.appendChild(newScript);if(!_scriptExecuted){eval(fetchScript.innerText);}}}
var Events={FixEvent:function(event){if(!event)event=window.event
if(event.target){if(event.target.nodeType==3)event.target=event.target.parentNode}else if(event.srcElement){event.target=event.srcElement}
return event},RegisterEvent:function(element,type,callback){if(element.addEventListener){element.addEventListener(type,callback,false)}else if(element.attachEvent){if(!element._listeners)element._listeners=new Array()
if(!element._listeners[type])element._listeners[type]=new Array()
var workaroundFunc=function(){callback.apply(element,new Array())}
element._listeners[type][callback]=workaroundFunc
element.attachEvent('on'+type,workaroundFunc)}},UnregisterEvent:function(element,type,callback){if(element.removeEventListener){element.removeEventListener(type,callback,false)}else if(element.detachEvent){if(element._listeners&&element._listeners[type]&&element._listeners[type][callback]){element.detachEvent('on'+type,element._listeners[type][callback])}}}}
var PopupWindowUtils={ViewPortSize:function(){if(typeof window.innerHeight!='undefined'&&typeof window.scrollMaxY!='undefined'){pageWidth=window.innerWidth+window.scrollMaxX;pageHeight=window.innerHeight+window.scrollMaxY;}else if(document.body.scrollHeight>document.body.offsetHeight){pageWidth=document.body.scrollWidth;pageHeight=document.body.scrollHeight;}else{pageWidth=document.body.offsetWidth;pageHeight=document.body.offsetHeight;}
return{w:pageWidth,h:pageHeight}},ScrollOffset:function(){var dx=0;var dy=0;if(window.pageXOffset){dx=window.pageXOffset;}else if(document.body.scrollLeft){dx=document.body.scrollLeft;}else if(document.documentElement&&document.documentElement.scrollLeft){dx=document.documentElement.scrollLeft;}
if(window.pageYOffset){dy=window.pageYOffset;}else if(document.body.scrollTop){dy=document.body.scrollTop;}else if(document.documentElement&&document.documentElement.scrollTop){dy=document.documentElement.scrollTop;}
return{x:dx,y:dy}},ScrollBarSize:function(){if(window.innerWidth&&document.documentElement){return(window.innerWidth-document.documentElement.clientWidth);}else{return 0;}},ScreenSize:function(){if(window.innerWidth){screenWidth=window.innerWidth;screenHeight=window.innerHeight;}else if(document.documentElement){screenWidth=document.documentElement.clientWidth;screenHeight=document.documentElement.clientHeight;}else if(document.body.clientWidth){screenWidth=document.body.clientWidth;screenHeight=document.body.clientHeight;}else{screenWidth=document.body.offsetWidth;screenHeight=document.body.offsetHeight;}
return{w:screenWidth,h:screenHeight}},GetAbsolutePosition:function(element){var leftPos=element.offsetLeft;var topPos=element.offsetTop;var parentElement=element.offsetParent;while(parentElement!=null){leftPos+=parentElement.offsetLeft;topPos+=parentElement.offsetTop;parentElement=parentElement.offsetParent;}
return{x:leftPos,y:topPos};},ConvertToPixels:function(str,context){if(/px$/.test(str)){return parseInt(str);}
var tmp=document.createElement('div');tmp.style.visibility='hidden';tmp.style.position='absolute';tmp.style.lineHeight='0';if(/%$/.test(str)){context=context.parentNode||context;tmp.style.height=str;}else{tmp.style.borderStyle='solid';tmp.style.borderBottomWidth='0';tmp.style.borderTopWidth=str;}
if(!context){context=document.body;}
context.appendChild(tmp);var px=tmp.offsetHeight;context.removeChild(tmp);return px+'px';},GetComputedStyle:function(elem,style){var nonPixels=/(em|ex|pt|%)$/;var computedStyle;if(typeof elem.currentStyle!='undefined'){computedStyle=elem.currentStyle;}else{computedStyle=document.defaultView.getComputedStyle(elem,null);}
var val=computedStyle[style];if(nonPixels.test(val)){return PopupWindowUtils.ConvertToPixels(val,elem);}else if(val=="thin"){return 1;}else if(val=="medium"){return 2;}else if(val=="thick"){return 4;}else{return val;}}};var PopupWindow={kCalloutMargin:8,_openPopups:[],_openDialogs:0,_popupCount:0,_registeredTypes:{},minTop:0,minLeft:0,Create:function(params){var popupContainer=document.getElementById("popupContainer");var screenSize=PopupWindowUtils.ScreenSize();if(!params)params={};if(params.preLoad){params.preLoad(params);}
this._popupCount+=1;var divName="_popupdiv_"+this._popupCount;var frameName="_popupframe_"+this._popupCount;var popupDiv=document.createElement("DIV");popupDiv.id=divName;var popupTitle=document.createElement("H1");if(params.titleClass){popupTitle.className=params.titleClass;}else if(params.isDialog){popupTitle.className="popupDialogTitle";}else{popupTitle.className="popupWindowTitle";}
popupTitle.innerHTML=params.title?params.title:"Popup";this._CreateCloseButton(popupTitle,params.isDialog);popupDiv.appendChild(popupTitle);var popupIframe=document.createElement("IFRAME");popupIframe.name=frameName;popupIframe.id=frameName;if(params.secure){params.alreadyClosed=false;Events.RegisterEvent(popupIframe,"load",function(){if(popupIframe.style.visibility=="hidden"){PopupWindow.Fix(frameName);}else if(popupIframe.style.visibility=="visible"&&!params.alreadyClosed){params.alreadyClosed=true;PopupWindow.Close();}});}
var windowW=params.width?params.width:"400px";var windowH=params.height?params.height:"300px";popupIframe.frameBorder="0";popupDiv.style.visibility="hidden";popupDiv.appendChild(popupIframe);popupContainer.appendChild(popupDiv);if(params.isDialog){popupDiv.className=params.className?params.className:"popupDialog";}else if(params.callout){popupDiv.className=params.className?params.className:"popupCallout";}else{popupDiv.className=params.className?params.className:"popupWindow";}
popupDiv.style.position="absolute";popupDiv.style.left="0px";popupDiv.style.top="0px";popupDiv.style.width=windowW;popupDiv.style.height=windowH;if(params.isDialog||params.callout){popupDiv.style.zIndex="50004";}else{popupDiv.style.zIndex="50002";}
popupIframe.style.visibility="hidden";var measureW=popupDiv.offsetWidth;var measureH=popupDiv.offsetHeight;var posX=((screenSize.w-measureW)/2);var posY=((screenSize.h-measureH)/2);var borderH=parseInt(PopupWindowUtils.GetComputedStyle(popupDiv,"borderTopWidth"))+
parseInt(PopupWindowUtils.GetComputedStyle(popupDiv,"borderBottomWidth"));var borderW=parseInt(PopupWindowUtils.GetComputedStyle(popupDiv,"borderLeftWidth"))+
parseInt(PopupWindowUtils.GetComputedStyle(popupDiv,"borderTopWidth"));popupIframe.style.top=popupTitle.offsetHeight+"px";popupIframe.style.width=(measureW-borderW)+"px";popupIframe.style.height=(measureH-borderH-popupTitle.offsetHeight)+"px";popupDiv.style.left=params.x?params.x:(posX+"px");popupDiv.style.top=params.y?params.y:(posY+"px");var currentPopup={div:popupDiv,title:popupTitle,iframe:popupIframe,params:params,response:{}};if(!params.noBarrier){var pos=this._openPopups.push(currentPopup);if(pos>1){if(!params.isDialog&&!params.callout){this._openPopups[pos-2].div.style.zIndex="50000";}}
var barrier=document.getElementById((params.isDialog||params.callout)?"dialogBarrier":"popupBarrier");if(params.isDialog||params.callout){this._openDialogs+=1;}
var vpSize=PopupWindowUtils.ViewPortSize();var sbW=0;var sbH=0;if(vpSize.h>screenSize.h){sbW=PopupWindowUtils.ScrollBarSize();}
if(vpSize.w>screenSize.w){sbH=PopupWindowUtils.ScrollBarSize();}
barrier.style.cursor="wait";barrier.style.width=(vpSize.w-sbW)+"px";barrier.style.height=(vpSize.h-sbH)+"px";barrier.style.visibility="visible";if(params.isDialog||params.callout){barrier.style.zIndex="50003";}else{barrier.style.zIndex="50001";}}
if(params.url){this._LoadPopup(currentPopup,params.url);if(params.fixTimeout){currentPopup.fixTimeout=setTimeout("PopupWindow.Fix('"+frameName+"')",params.fixTimeout);}else{currentPopup.fixTimeout=setTimeout("PopupWindow.Fix('"+frameName+"')",10000);}}else if(params.staticContent){this._SetPopupContent(currentPopup,params.staticContent);}
return currentPopup;},Close:function(){if(this._openPopups.length==0){throw"No open popups!";}
var popupName=this._openPopups[this._openPopups.length-1].iframe.name;this.HandleEvent(popupName,"onClose");var popupContainer=document.getElementById("popupContainer");var popup=this._openPopups.pop();popup.div.style.visibility="hidden";popup.iframe.style.visibility="hidden";if(this._openPopups.length>0){this._openPopups[this._openPopups.length-1].div.style.zIndex="50002";}else{if(!popup.params.noBarrier){var barrier=document.getElementById("popupBarrier");barrier.style.visibility="hidden";barrier.style.width="0";barrier.style.height="0";barrier.style.zIndex="-50001";barrier.style.backgroundColor="";}}
if(!popup.params.noBarrier){if(popup.params.isDialog||popup.params.callout){this._openDialogs-=1;if(this._openDialogs==0){var barrier=document.getElementById("dialogBarrier");barrier.style.visibility="hidden";barrier.style.width="0";barrier.style.height="0";barrier.style.zIndex="-50003";barrier.style.backgroundColor="";}}}
setTimeout("document.getElementById('popupContainer').removeChild(document.getElementById('"+popup.div.id+"'))",0);if(popup.registeredName){this._ResetHash();}},ReplaceTop:function(params){if(this._openPopups.length==0){throw"No open popups";}
var currentPopup=this._openPopups[this._openPopups.length-1];var frameName=currentPopup.iframe.name;if(params.url){currentPopup.iframe.style.visibility="hidden";currentPopup.div.style.cursor="wait";currentPopup.params=params;this._LoadPopup(currentPopup,params.url);if(params.secure){currentPopup.fixTimeout=setTimeout("PopupWindow.Fix('"+frameName+"')",1000);}else{currentPopup.fixTimeout=setTimeout("PopupWindow.Fix('"+frameName+"')",5000);}}
return currentPopup;},ReplaceTopRegistered:function(name){var params=this._registeredTypes[name];if(params){var popup=this.ReplaceTop(params);popup.registeredName=name;this._ResetHash();return popup;}else{return null;}},GetTopmostRegistered:function(){for(var i=this._openPopups.length-1;i>=0;--i){if(this._openPopups[i].registeredName){return this._openPopups[i].registeredName;}}
return null;},Register:function(name,params){this._registeredTypes[name]=params;},Unregister:function(name){this._registeredTypes[name]=undefined;},CreateRegistered:function(name,noResetHash,dynamicParams,tempParams){var params=this._registeredTypes[name];var fullParams;if(params){fullParams=params;if(dynamicParams){fullParams=ConcatObjects(params,dynamicParams)}
if(tempParams){fullParams=ConcatObjects(fullParams,tempParams)}
var popup=this.Create(fullParams);popup.registeredName=name;if(!noResetHash){this._ResetHash(dynamicParams);}
return popup;}else{return null;}},HandleEvent:function(sender,eventName){var popup=this.FindPopup(sender);if(popup){if(popup.params[eventName]){var theDocument=null;var theWindow=null;if((typeof popup.params.secure=="undefined")||!popup.params.secure){theDocument=window.frames[popup.iframe.name].document;theWindow=window.frames[popup.iframe.name];if(window.frames[popup.iframe.name].contentWindow){theWindow=window.frames[popup.iframe.name].contentWindow;}}
popup.params[eventName]({popup:popup,frame:window.frames[popup.iframe.name],frameDocument:theDocument,frameWindow:theWindow});}}},TopInfo:function(){var popup=this._openPopups[this._openPopups.length-1];var theDocument=null;var theWindow=null;if((typeof popup.params.secure=="undefined")||!popup.params.secure){theDocument=window.frames[popup.iframe.name].document;theWindow=window.frames[popup.iframe.name];if(window.frames[popup.iframe.name].contentWindow){theWindow=window.frames[popup.iframe.name].contentWindow;}}
return{popup:popup,frame:window.frames[popup.iframe.name],frameDocument:theDocument,frameWindow:theWindow};},FindPopup:function(name){for(var i=this._openPopups.length-1;i>=0;--i){var popup=this._openPopups[i];if(popup.iframe.name==name){return popup;}}
return null;},ReCenterPopups:function(){for(var i=0;i<PopupWindow._openPopups.length;i++){PopupWindow.CenterPopup(PopupWindow._openPopups[i]);}},CenterPopup:function(popup){if(!popup.params.callout){var screenSize=PopupWindowUtils.ScreenSize();var pageSize=PopupWindowUtils.ViewPortSize();var scrollOffset=PopupWindowUtils.ScrollOffset();var scrollBarSize=PopupWindowUtils.ScrollBarSize();var scrollBarOffset={x:0,y:0};var popupDiv=popup.div;var measureW=popupDiv.offsetWidth;var measureH=popupDiv.offsetHeight;if(pageSize.h>screenSize.h){scrollBarOffset.x=scrollBarSize;}
var posX=((screenSize.w-scrollBarOffset.x-measureW)/2)+scrollOffset.x;var posY=((screenSize.h-scrollBarOffset.y-measureH)/2)+scrollOffset.y;if(posX<this.minLeft)posX=this.minLeft;if(posY<this.minTop)posY=this.minTop;var isFixed=false;if(popup.params.fixedX){posX=popup.params.fixedX;isFixed=true;}
if(popup.params.fixedY){posY=popup.params.fixedY;isFixed=true;}
if(popup.params.x){posX=popup.params.x;}
if(popup.params.y){posY=popup.params.y;}
if(IsIE()&&!IsIE7()){isFixed=false;}
if(isFixed){popupDiv.style.position="fixed";}else{popupDiv.style.position="absolute";}
popupDiv.style.left=(posX+"px");popupDiv.style.top=(posY+"px");}else{this.FixCallOut(popup);}
this.ReadjustBarrier();},FixCallOut:function(popup){var calloutSource=document.getElementById(popup.params.callout);calloutImage=document.createElement("img")
calloutImage.src="/static/images/callout.gif";if(calloutImage.width==0&&calloutImage.height==0){var calloutWidth=14;var calloutHeight=30;}else{var calloutWidth=calloutImage.width;var calloutHeight=calloutImage.height;}
position=PopupWindowUtils.GetAbsolutePosition(calloutSource);calloutImage.style.position="absolute";calloutImage.style.left="-"+calloutWidth+"px";popup.div.appendChild(calloutImage);popup.div.style.left=(position.x+4+calloutSource.offsetWidth+Math.floor(calloutWidth/2))+"px";var calloutCenter=position.y+Math.floor(calloutSource.offsetHeight/2);var calloutTop=calloutCenter-Math.floor(calloutHeight/2);var calloutBottom=calloutTop+calloutHeight;var divTop=parseInt(popup.div.style.top);var divBottom=divTop+popup.div.offsetHeight;if(calloutTop<=divTop+this.kCalloutMargin){var delta=divTop-calloutTop+this.kCalloutMargin;divTop-=delta;popup.div.style.top=divTop+"px";}
if(calloutBottom>=divBottom-this.kCalloutMargin){var delta=calloutBottom-divBottom+this.kCalloutMargin;divTop+=delta;popup.div.style.top=divTop+"px";}
calloutImage.style.top=(calloutTop-divTop)+"px";},ResizePopup:function(popup,w,h,titleHeight){var borderH=parseInt(PopupWindowUtils.GetComputedStyle(popup.div,"borderTopWidth"))+
parseInt(PopupWindowUtils.GetComputedStyle(popup.div,"borderBottomWidth"));var borderW=parseInt(PopupWindowUtils.GetComputedStyle(popup.div,"borderLeftWidth"))+
parseInt(PopupWindowUtils.GetComputedStyle(popup.div,"borderTopWidth"));var totalW=w+borderW;var totalH=h+borderH;popup.div.style.width=totalW+"px";popup.div.style.height=(totalH+titleHeight)+"px";popup.iframe.style.width=totalW+"px";popup.iframe.style.height=totalH+"px";if(!popup.params.secure&&popup.iframe.contentWindow){popup.iframe.contentWindow.document.body.style.width=totalW+"px";popup.iframe.contentWindow.document.body.style.height=totalH+"px";}
popup.iframe.style.top=titleHeight+"px";this.CenterPopup(popup);},Fix:function(sender){var popup=this.FindPopup(sender);if(popup){if(popup.fixTimeout){clearTimeout(popup.fixTimeout);popup.fixTimeout=null;this.HandleEvent(sender,"onCreate");var frame=window.frames[sender];var container=document.getElementById("popupContainer");var titleHeight=0;if(popup.params.title){popup.title.innerHTML=popup.params.title;this._CreateCloseButton(popup.title,popup.params.isDialog);}
if(!popup.params.secure){headers=frame.document.getElementsByTagName("H1");if(headers.length>0&&headers[0].className=="popupTitle"){popup.title.innerHTML=headers[0].innerHTML;this._CreateCloseButton(popup.title,popup.params.isDialog);headers[0].style.display="none";}}
titleHeight=popup.title.offsetHeight;if(!popup.params.width&&!popup.params.height&&!popup.params.secure&&frame.document.body&&frame.document.body.style.width&&frame.document.body.style.height)
{var w=frame.document.body.style.width;var h=frame.document.body.style.height;this.ResizePopup(popup,parseInt(PopupWindowUtils.ConvertToPixels(w,container)),parseInt(PopupWindowUtils.ConvertToPixels(h,container)),titleHeight)}
if(popup.params.callout){PopupWindow.FixCallOut(popup)}}
if(!popup.params.noBarrier){var barrier=document.getElementById("popupBarrier");barrier.style.cursor="default";popup.iframe.style.visibility="visible";popup.div.style.visibility="visible";popup.div.style.cursor="default";}
this.ReadjustBarrier();}},ReadjustBarrier:function(){var barrier=document.getElementById("popupBarrier");var screenSize=PopupWindowUtils.ScreenSize();var vpSize=PopupWindowUtils.ViewPortSize();var sbW=0;var sbH=0;if(vpSize.h>screenSize.h){sbW=PopupWindowUtils.ScrollBarSize();}
if(vpSize.w>screenSize.w){sbH=PopupWindowUtils.ScrollBarSize();}
if(barrier.offsetWidth!=0&&barrier.offsetHeight!=0){barrier.style.width=(vpSize.w-sbW)+"px";barrier.style.height=(vpSize.h-sbH)+"px";}
barrier=document.getElementById("dialogBarrier");if(barrier.offsetWidth!=0&&barrier.offsetHeight!=0){barrier.style.width=(vpSize.w-sbW)+"px";barrier.style.height=(vpSize.h-sbH)+"px";}},ReloadPopups:function(){if(this._reloading){return;}else{this._reloading=true;var hash=window.location.hash;if(hash.charAt(0)=="#"){hash=hash.slice(1);}
var params=hash.split("&");var unusedParams="";var popups=[];for(var i=0;i<params.length;++i){var m=params[i].match(/popups=(.+)/);if(m){popups.push(m[1]);}else{if(unusedParams!="")unusedParams+="&";unusedParams+=params[i];}}
for(var i=0;i<popups.length;++i){var popupNames=popups[i].split(",");for(var j=0;j<popupNames.length;++j){var dynamicParams={};if(unusedParams){dynamicParams=PopupWindow.StringAsDict(unusedParams);}
PopupWindow.CreateRegistered(popupNames[j],true,dynamicParams);}}
this._reloading=false;}},StringAsDict:function(aString){var stringList=aString.split("&");var newDict={};for(var index=0;index<stringList.length;index++){keyValue=stringList[index].split("=");newDict[keyValue[0]]=keyValue[1];}
return newDict;},_CreateCloseButton:function(titleDiv,isDialog){var link=document.createElement("A");link.href="javascript:void(PopupWindow.Close())";link.className="popupWindowClose";var closeButton=document.createElement("IMG");if(isDialog){closeButton.src="/static/images/close-dialogs.gif";if(IsIE()){closeButton.width=13;closeButton.height=13;}}else{closeButton.src="/static/images/closePop.gif";if(IsIE()){closeButton.width=59;closeButton.height=10;}}
closeButton.alt="Close";closeButton.title="Close";link.appendChild(closeButton);titleDiv.appendChild(link);},_LoadPopup:function(popup,url){popup.iframe.src=url;var frame=window.frames[popup.iframe.name];if(!popup.params.secure){frame.popupFrameName=popup.iframe.name;frame.popupInfo=popup;}},_SetPopupContent:function(popup,staticText){window.frames[popup.iframe.name].document.write(staticText);window.frames[popup.iframe.name].document.close();this.Fix(popup.iframe.name);},_FindMatchingPopupInfo:function(doc){for(var i=0;i<this._openPopups.length;++i){var popup=this._openPopups[i];var frameDoc=window.frames[popup.iframe.name].document;if(frameDoc==doc){return popup;}}
return null;},_GetPopupUrl:function(){var result="";for(var i=0;i<this._openPopups.length;++i){var popup=this._openPopups[i];if(popup.registeredName){if(result!="")result+=",";result+=popup.registeredName;}}
return(result=="")?result:"popups="+result},_CleanPopupUrl:function(){var hash=window.location.hash;if(hash.charAt(0)=="#"){hash=hash.slice(1);}
var params=hash.split("&");var unusedParams="";for(var i=0;i<params.length;++i){var m=params[i].match(/popups=(.+)/);;if(!m){if(unusedParams!="")unusedParams+="&";unusedParams+=params[i];}}
return unusedParams;},_ResetHash:function(args){var cleanedUrl=this._CleanPopupUrl();var popupUrl=this._GetPopupUrl();var newHash=""
if(cleanedUrl==""&&popupUrl==""){newHash="";}else if(cleanedUrl==""){newHash=popupUrl;}else if(popupUrl==""){newHash=cleanedUrl;}else{newHash=cleanedUrl+"&"+popupUrl;}
if(args){var argString="";for(key in args){var val=args[key]
argString+="&"+key+"="+val;}
newHash+=argString;}
if(window.location.hash!=""||newHash!=""){window.location.hash="#"+newHash;}}};Events.RegisterEvent(window,"load",PopupWindow.ReloadPopups);Events.RegisterEvent(window,"resize",PopupWindow.ReCenterPopups);function showPopupWindow(url,method,data,title,left,top,width,height){var popupWindow=getPopupWindow();var windowStyle=popupWindow.style;var background=document.getElementById("blockUI");windowStyle.display="block";background.style.display="block";if(left){windowStyle.left=left;}
if(top){windowStyle.top=top;}
if(width){windowStyle.width=width;}
if(height){windowStyle.height=height;}
loadWindowContents(url,method,data);setPageUrl(url,data,title,left,top,width,height);}
function loadWindowContents(url,method,data){var windowContent=getPopupWindowContent()
windowContent.contentWindow.document.body.innerHTML="<html><body><center>Loading...</center></body></html>";if(data){windowContent.src=url+"?"+data;}else{windowContent.src=url}}
function getPopupWindow(){return document.getElementById("popupwindow");}
function getPopupWindowContent(){return document.getElementById("windowcontent");}
function getPopupWindowDoc(){return getPopupWindowContent().contentDocument;}
function getPopupWindowElement(elementId){return getPopupWindowDoc().getElementById(elementId);}
function getPopupWindowSrc(){return getPopupWindowContent().src}
function setPageUrl(popupUrl,popupData,pageTitle,top,left,width,height){var callHash;var windowHash="#window=";var newUrl;var baseUrl;var index;var href=document.location.href
if(popupData){callHash=(popupUrl.substring(0,popupUrl.length))+"?"+popupData;}else{callHash=popupUrl.substring(0,popupUrl.length);}
index=href.indexOf('#');if(index>-1){baseUrl=href.substring(0,index);}else{baseUrl=href;}
windowHash+=',';if(left){windowHash+=left;}
windowHash+=',';if(top){windowHash+=top;}
windowHash+=',';if(width){windowHash+=width;}
windowHash+=',';if(height){windowHash+=height;}
var newHref=baseUrl+"#popup="+callHash;if(windowHash){newHref+=windowHash;}
document.location.href=newHref;return false;}
function resetPageUrl(){var href=document.location.href;var index=href.indexOf('#');if(index>-1){document.location.href=href.substring(0,index+1);}}
function showSearch(){var searchArea=document.searchform.searchArea.value;var searchTerms=document.searchform.searchTerms.value;var searchString="searchTerms="+searchTerms+"&searchArea= "+searchArea;return showPopupWindow("/search","POST",searchString,"Search");}
function showSectionSearch(){var searchTerms=document.getElementById("searchTerms").value;var searchArea=document.getElementById("searchArea").value;var searchString="searchTerms="+searchTerms+"&searchArea= "+searchArea;return showPopupWindow("/search","POST",searchString,"Search");}
function closePopupWindow(){document.getElementById("popupwindow").style.display="none";document.getElementById("blockUI").style.display="none";resetPageUrl();if(window.popupCloseCallback){popupCloseCallback()}}
function bookmarkMe(){var url='http://localhost:8080/search?searchTerms="test"&searchArea="test"'
var text='Workbook Search'
if(window.sidebar){window.sidebar.addPanel(text,url,"");}
else if(window.external){window.external.AddFavorite(url,text);}}
function ShowDialog(url,callback){if(callback){window.popupCloseCallback=function(){setTimeout(callback,0);window.popupCloseCallback=null;}}
showPopupWindow(url,null,null,null,null,null,"30em","10em");}
kPartial=0;kChecked=1;kUnchecked=2;TristateCheckboxes={oldClicks:{},oldChecks:{},mouseTarget:null,coldImages:[],hotImages:[],disabledImages:[],isHot:false,Initialize:function(){var checkboxes=document.getElementsByTagName("input");var replace=[];for(var i=0;i<checkboxes.length;++i){if(checkboxes[i].type=="checkbox"){replace.push(checkboxes[i]);}}
var img=document.createElement('img');img.src="/static/images/checkboxPartial.gif";img.style.visibility="hidden";img.style.display="none";this.coldImages.push(img);document.body.appendChild(img);img=document.createElement('img');img.src="/static/images/checkboxChecked.gif";img.style.visibility="hidden";img.style.display="none";this.coldImages.push(img);document.body.appendChild(img);img=document.createElement('img');img.src="/static/images/checkboxUnchecked.gif";img.style.visibility="hidden";img.style.display="none";this.coldImages.push(img);document.body.appendChild(img);img=document.createElement('img');img.src="/static/images/checkboxHotPartial.gif";img.style.visibility="hidden";img.style.display="none";this.hotImages.push(img);document.body.appendChild(img);img=document.createElement('img');img.src="/static/images/checkboxHotChecked.gif";img.style.visibility="hidden";img.style.display="none";this.hotImages.push(img);document.body.appendChild(img);img=document.createElement('img');img.src="/static/images/checkboxHotUnchecked.gif";img.style.visibility="hidden";img.style.display="none";this.hotImages.push(img);document.body.appendChild(img);img=document.createElement('img');img.src="/static/images/checkboxDisabledPartial.gif";img.style.visibility="hidden";img.style.display="none";this.disabledImages.push(img);document.body.appendChild(img);img=document.createElement('img');img.src="/static/images/checkboxDisabledChecked.gif";img.style.visibility="hidden";img.style.display="none";this.disabledImages.push(img);document.body.appendChild(img);img=document.createElement('img');img.src="/static/images/checkboxDisabledUnchecked.gif";img.style.visibility="hidden";img.style.display="none";this.disabledImages.push(img);document.body.appendChild(img);for(var i=0;i<replace.length;++i){this.ReplaceWithTristate(replace[i]);}},ReplaceWithTristates:function(rootElement){var checkboxes=rootElement.getElementsByTagName("input");var replace=[];for(var i=0;i<checkboxes.length;++i){if(checkboxes[i].type=="checkbox"){replace.push(checkboxes[i]);}}
for(var i=0;i<replace.length;++i){this.ReplaceWithTristate(replace[i]);}},ReplaceWithTristate:function(element){var newElement=document.createElement('img');newElement.alt="checkbox";newElement.className="tristateCheckbox"
if(element.disabled){var images=this.disabledImages;}else{var images=this.coldImages;}
if(element.indeterminate){newElement.src=images[kPartial].src;newElement.checked=true;newElement.indeterminate=true;}else if(element.checked){newElement.src=images[kChecked].src;newElement.checked=true;newElement.indeterminate=false;}else{newElement.src=images[kUnchecked].src;newElement.checked=false;newElement.indeterminate=false;}
var name=element.name;var id=element.id;var tag="";if(name==""){tag=id;}else{tag=name;}
element.id="";element.style.display="none";this.oldChecks[tag]=element;element.parentNode.insertBefore(newElement,element);if(element.onclick){this.oldClicks[tag]=element.onclick;}
newElement.name=name;newElement.id=id;newElement.disabled=(element.disabled)?true:false;newElement.onmousedown=this.MouseDownTristate;newElement.onmouseover=this.MouseOverTristate;newElement.onmouseout=this.MouseOutTristate;newElement.onmouseup=this.MouseUpTristate;newElement.onclick=this.ClickTristate;},MouseDownTristate:function(e){var evt=e||window.event;var evtTarget=evt.target||evt.srcElement;TristateCheckboxes.mouseTarget=evtTarget;TristateCheckboxes.MakeHot(evtTarget);return false;},MouseOverTristate:function(e){var evt=e||window.event;var evtTarget=evt.target||evt.srcElement;if(evtTarget==TristateCheckboxes.mouseTarget){TristateCheckboxes.MakeHot(evtTarget);}},MouseOutTristate:function(e){var evt=e||window.event;var evtTarget=evt.target||evt.srcElement;if(evtTarget==TristateCheckboxes.mouseTarget){TristateCheckboxes.MakeCold(evtTarget);}},MouseUpTristate:function(e){var evt=e||window.event;var evtTarget=evt.target||evt.srcElement;if(evtTarget==TristateCheckboxes.mouseTarget){TristateCheckboxes.MakeCold(evtTarget);TristateCheckboxes.mouseTarget=null;}},MakeHot:function(elem){this.isHot=true;if(!elem.disabled){if(elem.indeterminate){elem.src=this.hotImages[kPartial].src;}else if(elem.checked){elem.src=this.hotImages[kChecked].src;}else{elem.src=this.hotImages[kUnchecked].src;}}},MakeCold:function(elem){this.isHot=false;if(!elem.disabled){if(elem.indeterminate){elem.src=this.coldImages[kPartial].src;}else if(elem.checked){elem.src=this.coldImages[kChecked].src;}else{elem.src=this.coldImages[kUnchecked].src;}}},ToggleCheck:function(elem){if(elem.indeterminate){elem.indeterminate=false;}else{elem.checked=!elem.checked;}
if(elem.checked){elem.src=this.coldImages[kChecked].src;}else{elem.src=this.coldImages[kUnchecked].src;}
this.FixOldCheck(elem);},FixOldCheck:function(elem){var tag="";if(elem.name==""){tag=elem.id;}else{tag=elem.name;}
if(this.oldChecks[tag]){this.oldChecks[tag].checked=elem.checked;}},ClickTristate:function(e){var evt=e||window.event;var evtTarget=evt.target||evt.srcElement;if(!evtTarget.disabled){TristateCheckboxes.ToggleCheck(evtTarget);var tag="";if(evtTarget.name==""){tag=evtTarget.id;}else{tag=evtTarget.name;}
if(tag&&TristateCheckboxes.oldClicks[tag]){return TristateCheckboxes.oldClicks[tag](e);}}},Update:function(elem){var images=null;this.FixOldCheck(elem);if(elem.disabled){images=this.disabledImages;}else if(this.isHot){images=this.hotImages;}else{images=this.coldImages;}
if(elem.nodeName.toLowerCase()=="img"){if(elem.indeterminate){elem.src=images[kPartial].src;}else if(elem.checked){elem.src=images[kChecked].src;}else{elem.src=images[kUnchecked].src;}}}};function InitializeTristates(){TristateCheckboxes.Initialize()}