
var undefined;var Node=Node?Node:{};Node.ELEMENT_NODE=1;Node.ATTRIBUTE_NODE=2;Node.TEXT_NODE=3;Node.CDATA_SECTION_NODE=4;Node.ENTITY_REFERENCE_NODE=5;Node.ENTITY_NODE=6;Node.PROCESSING_INSTRUCTION_NODE=7;Node.COMMENT_NODE=8;Node.DOCUMENT_NODE=9;Node.DOCUMENT_TYPE_NODE=10;Node.DOCUMENT_FRAGMENT_NODE=11;Node.NOTATION_NODE=12;String.prototype.trim=function(){return this.replace(/^\s*(.+)/gi,"$1").replace(/\s*$/gi,"");};String.prototype.endsWith=function(s){if("string"!=typeof s){throw("IllegalArgumentException: Must pass a string to "+"String.endsWith()");}
var start=this.length-s.length;return this.substring(start)==s;};Array.prototype.contains=function(element){for(var i=0;i<this.length;i++){if(this[i]==element){return true;}}
return false;};Array.prototype.remove=function(element){var result=false;var array=[];for(var i=0;i<this.length;i++){if(this[i]==element){result=true;}else{array.push(this[i]);}}
this.clear();for(var i=0;i<array.length;i++){this.push(array[i]);}
array=null;return result;};Array.prototype.clear=function(){this.length=0;};Array.prototype.push=function(element){this[this.length]=element;return this.length;};Array.prototype.add=function(element){if(this.contains(element)){return false;}
this.push(element);return false;};Array.prototype.addAll=function(that){var result=false;for(var i=0;i<that.length;i++){if(this.add(that[i])){result=true;}}
return true;};var org=org?org:{};org.ditchnet=org.ditchnet?org.ditchnet:{};org.ditchnet.dom=org.ditchnet.dom?org.ditchnet.dom:{};org.ditchnet.jsp=org.ditchnet.jsp?org.ditchnet.jsp:{};org.ditchnet.util=org.ditchnet.util?org.ditchnet.util:{};org.ditchnet.event=org.ditchnet.event?org.ditchnet.event:{};org.ditchnet.jsp.TabUtils=function(){};org.ditchnet.jsp.TabUtils.TAB_CONTAINER_CLASS_NAME="ditch-tab-container";org.ditchnet.jsp.TabUtils.TAB_WRAP_CLASS_NAME="ditch-tab-wrap";org.ditchnet.jsp.TabUtils.TAB_CLASS_NAME="ditch-tab";org.ditchnet.jsp.TabUtils.TAB_BG_LEFT_CLASS_NAME="ditch-tab-bg-left";org.ditchnet.jsp.TabUtils.TAB_PANE_WRAP_CLASS_NAME="ditch-tab-pane-wrap";org.ditchnet.jsp.TabUtils.TAB_PANE_CLASS_NAME="ditch-tab-pane";org.ditchnet.jsp.TabUtils.tabContainer;org.ditchnet.jsp.TabUtils.tabWrap;org.ditchnet.jsp.TabUtils.tab;org.ditchnet.jsp.TabUtils.tabs;org.ditchnet.jsp.TabUtils.tabPanes;org.ditchnet.jsp.TabUtils.selectedIndex;org.ditchnet.dom.DomUtils=function(){};org.ditchnet.dom.DomUtils.FOCUSED_CLASS_NAME="ditch-focused";org.ditchnet.dom.DomUtils.UNFOCUSED_CLASS_NAME="ditch-unfocused";org.ditchnet.dom.DomUtils.show=function(target){target.style.display="";};org.ditchnet.dom.DomUtils.hide=function(target){target.style.display="none";};org.ditchnet.dom.DomUtils.setClassNameAsFocused=function(target){with(org.ditchnet.dom.DomUtils){removeClassName(target,UNFOCUSED_CLASS_NAME);addClassName(target,FOCUSED_CLASS_NAME);}};org.ditchnet.dom.DomUtils.setClassNameAsUnFocused=function(target){with(org.ditchnet.dom.DomUtils){removeClassName(target,FOCUSED_CLASS_NAME);addClassName(target,UNFOCUSED_CLASS_NAME);}};org.ditchnet.dom.DomUtils.addClassName=function(target,k){with(org.ditchnet.dom.DomUtils){if(!isElementNode(target)){throw new Error("Attempting to add a className to a non-Element"+" Node");}
var classNames=target.className.split(/\s+/g);if(classNames.contains(k)){return;}else{classNames.push(k);}
target.className=classNames.join(" ");target.className=target.className.trim();}}
org.ditchnet.dom.DomUtils.removeClassName=function(target,k){with(org.ditchnet.dom.DomUtils){if(!isElementNode(target)){throw new Error("Attempting to remove a className to a "+"non-Element Node");}
var classNames=target.className.split(/\s+/g);if(!classNames.contains(k)){return;}else{classNames.remove(k);}
target.className=classNames.join(" ");target.className=target.className.trim();}}
org.ditchnet.dom.DomUtils.isElementNode=function(target){return Node.ELEMENT_NODE==target.nodeType;};org.ditchnet.dom.DomUtils.hasId=function(target,id){return target.id==id;};org.ditchnet.dom.DomUtils.hasClassName=function(target,className){function _isLastOfMultpleClassNames(all,className){var spaceBefore=all.lastIndexOf(className)-1;return all.endsWith(className)&&all.substring(spaceBefore,spaceBefore+1)==" ";}
className=className.trim();var cn=target.className;if(!cn){return false;}
cn=cn.trim();if(cn==className){return true;}
if(cn.indexOf(className+" ")>-1){return true;}
if(_isLastOfMultpleClassNames(cn,className)){return true;}
return false;};org.ditchnet.dom.DomUtils.getFirstAncestorOrSelfByClassName=function(target,className){with(org.ditchnet.dom.DomUtils){var parent=target;do{if(isElementNode(parent)&&hasClassName(parent,className)){return parent;}}while(parent=parent.parentNode);}
return null;};org.ditchnet.dom.DomUtils.getFirstAncestorByClassName=function(target,className){with(org.ditchnet.dom.DomUtils){var parent=target;while(parent=parent.parentNode){if(isElementNode(parent)&&hasClassName(parent,className)){return parent;}}}
return null;};org.ditchnet.dom.DomUtils.getFirstChildByClassName=function(target,className){with(org.ditchnet.dom.DomUtils){var kids=target.childNodes;for(var i=0;i<kids.length;i++){var kid=kids[i];if(isElementNode(kid)&&hasClassName(kid,className)){return kid;}}}
return null;};org.ditchnet.dom.DomUtils.getChildrenByClassName=function(target,className){var result=[];with(org.ditchnet.dom.DomUtils){var kids=target.childNodes;for(var i=0;i<kids.length;i++){var kid=kids[i];if(isElementNode(kid)&&hasClassName(kid,className)){result.push(kid);}}}
return result;};org.ditchnet.dom.DomUtils.getFirstDescendantByClassNameBreadthFirst=function(target,className){var result;with(org.ditchnet.dom.DomUtils){if(result=getFirstChildByClassName(target,className)){return result;}
for(var i=0;i<target.childNodes.length;i++){result=getFirstDescendantByClassNameBreadthFirst(target.childNodes.item(i),className);if(result){return result;}}
return null;}};org.ditchnet.dom.DomUtils.getFirstDescendantByClassNameDepthFirst=function(target,className){var child;var result;with(org.ditchnet.dom.DomUtils){for(var i=0;i<target.childNodes.length;i++){child=target.childNodes.item(i);if(isElementNode(child)&&hasClassName(child,className)){return child;}
result=getFirstDescendantByClassNameDepthFirst(target.childNodes.item(i),className);if(result){return result;}}
return null;}};org.ditchnet.dom.DomUtils.getDescendantsByClassName=function(target,className){var result=[];with(org.ditchnet.dom.DomUtils){result.addAll(getChildrenByClassName(target,className));for(var i=0;i<target.childNodes.length;i++){result.addAll(getDescendantsByClassName(target.childNodes.item(i),className));}
return result;}};org.ditchnet.jsp.TabUtils.tabClicked=function(evt){var eventSource;with(org.ditchnet){evt=new event.Event(evt);eventSource=evt.getSource();eventSource=dom.DomUtils.getFirstAncestorOrSelfByClassName(eventSource,jsp.TabUtils.TAB_CLASS_NAME);jsp.TabUtils.switchTab(eventSource);evt.consume();}};org.ditchnet.jsp.TabUtils.switchTab=function(eventSource){with(org.ditchnet.jsp.TabUtils){findTabElements(eventSource);selectedIndex=determineSelectedIndex(eventSource);toggleTabVisibility(selectedIndex);}};org.ditchnet.jsp.TabUtils.setTabCookie=function(selectedIndex){with(org.ditchnet){var name="org.ditchnet.jsp.tabs:"+jsp.TabUtils.tabContainer.id;var value=selectedIndex;var c=new util.Cookie(name,value);util.Cookie.addPageCookie(c);}};org.ditchnet.jsp.TabUtils.findTabElements=function(eventSource){with(org.ditchnet){jsp.TabUtils.tab=eventSource;jsp.TabUtils.tabContainer=dom.DomUtils.getFirstAncestorByClassName(eventSource,jsp.TabUtils.TAB_CONTAINER_CLASS_NAME);jsp.TabUtils.tabWrap=dom.DomUtils.getFirstChildByClassName(jsp.TabUtils.tabContainer,jsp.TabUtils.TAB_WRAP_CLASS_NAME);jsp.TabUtils.tabs=dom.DomUtils.getChildrenByClassName(jsp.TabUtils.tabWrap,jsp.TabUtils.TAB_CLASS_NAME);jsp.TabUtils.tabPaneWrap=dom.DomUtils.getFirstChildByClassName(jsp.TabUtils.tabContainer,jsp.TabUtils.TAB_PANE_WRAP_CLASS_NAME);jsp.TabUtils.tabPanes=dom.DomUtils.getChildrenByClassName(jsp.TabUtils.tabPaneWrap,jsp.TabUtils.TAB_PANE_CLASS_NAME);}};org.ditchnet.jsp.TabUtils.determineSelectedIndex=function(eventSource){with(org.ditchnet.jsp.TabUtils){for(var i=0;i<tabs.length;i++){if(tabs[i]==eventSource){return i;}}}};org.ditchnet.jsp.TabUtils.toggleTabVisibility=function(selectedIndex){with(org.ditchnet){for(var i=0;i<jsp.TabUtils.tabPanes.length;i++){var tabPane=jsp.TabUtils.tabPanes[i];if(i==selectedIndex){dom.DomUtils.show(tabPane);dom.DomUtils.setClassNameAsFocused(jsp.TabUtils.tabs[i]);}else{dom.DomUtils.hide(tabPane);dom.DomUtils.setClassNameAsUnFocused(jsp.TabUtils.tabs[i]);}}}};org.ditchnet.jsp.TabUtils.tabLinkClicked=function(evt,selectedTabPaneId){var tabContainer,selectedTabPane,tabWrap,tabs,tabPaneWrap,tabPanes,selectedIndex;with(org.ditchnet){evt=new event.Event(evt);selectedTabPane=document.getElementById(selectedTabPaneId);tabContainer=dom.DomUtils.getFirstAncestorByClassName(selectedTabPane,jsp.TabUtils.TAB_CONTAINER_CLASS_NAME);tabWrap=dom.DomUtils.getFirstChildByClassName(tabContainer,jsp.TabUtils.TAB_WRAP_CLASS_NAME);tabs=dom.DomUtils.getChildrenByClassName(tabWrap,jsp.TabUtils.TAB_CLASS_NAME);tabPaneWrap=dom.DomUtils.getFirstAncestorByClassName(selectedTabPane,jsp.TabUtils.TAB_PANE_WRAP_CLASS_NAME);tabPanes=dom.DomUtils.getChildrenByClassName(tabPaneWrap,jsp.TabUtils.TAB_PANE_CLASS_NAME);for(var i=0;i<tabPanes.length;i++){if(tabPanes[i]==selectedTabPane){selectedIndex=i;break;}}
jsp.TabUtils.switchTab(tabs[selectedIndex]);window.scrollTo(0,0);evt.consume();}};org.ditchnet.jsp.TabUtils.prevTabButtonClicked=function(evt,tabContainerId){org.ditchnet.jsp.TabUtils.tabButtonClicked(evt,tabContainerId,true);};org.ditchnet.jsp.TabUtils.nextTabButtonClicked=function(evt,tabContainerId){org.ditchnet.jsp.TabUtils.tabButtonClicked(evt,tabContainerId,false);};org.ditchnet.jsp.TabUtils.tabButtonClicked=function(evt,tabContainerId,isPrev){var tabContainer,tabWrap,tabs,selectedIndex;with(org.ditchnet){evt=new event.Event(evt);tabContainer=document.getElementById(tabContainerId);tabWrap=dom.DomUtils.getFirstChildByClassName(tabContainer,jsp.TabUtils.TAB_WRAP_CLASS_NAME);tabs=dom.DomUtils.getChildrenByClassName(tabWrap,jsp.TabUtils.TAB_CLASS_NAME);for(var i=0;i<tabs.length;i++){if(dom.DomUtils.hasClassName(tabs[i],dom.DomUtils.FOCUSED_CLASS_NAME)){selectedIndex=(isPrev)?i-1:i+1;selectedIndex=(selectedIndex>=tabs.length)?0:(0>selectedIndex)?tabs.length-1:selectedIndex;break;}}
jsp.TabUtils.switchTab(tabs[selectedIndex]);evt.consume();}};org.ditchnet.jsp.TabEvent=function(source){this._source=source;with(org.ditchnet.jsp.TabUtils){this._tabContainer=tabContainer;this._selectedIndex=selectedIndex;this._tabPane=tabPanes[selectedIndex];}};org.ditchnet.jsp.TabEvent.prototype.getSource=function(){return this._source;};org.ditchnet.jsp.TabEvent.prototype.getSelectedIndex=function(){return this._selectedIndex;};org.ditchnet.jsp.TabEvent.prototype.getTab=function(){return this._source;};org.ditchnet.jsp.TabEvent.prototype.getTabContainer=function(){return this._tabContainer;};org.ditchnet.jsp.TabEvent.prototype.getTabPane=function(){return this._tabPane;};org.ditchnet.jsp.TabEvent.prototype.toString=function(){return"[ org.ditchnet.jsp.TabEvent object ]";};org.ditchnet.event.Event=function(evt){this._evt=evt?evt:window.event;this._source=this._evt.currentTarget?this._evt.currentTarget:this._evt.srcElement;};org.ditchnet.event.Event.prototype.getSource=function(){return this._source;};org.ditchnet.event.Event.prototype.consume=function(){if(this._evt.stopPropagation){this._evt.stopPropagation();this._evt.preventDefault();}else if(this._evt.cancelBubble){this._evt.cancelBubble=true;this._evt.returnValue=false;}};org.ditchnet.util.Cookie=function(name,value){this._name;this._value;this._path;this._secure;this._domain;this._expires;if(name){this.setName(name);}
if(value){this.setValue(value);}};org.ditchnet.util.Cookie.EQUALS="=";org.ditchnet.util.Cookie.DELIM="; ";org.ditchnet.util.Cookie.PATH="path";org.ditchnet.util.Cookie.SECURE="secure";org.ditchnet.util.Cookie.DOMAIN="domain";org.ditchnet.util.Cookie.EXPIRES="expires";org.ditchnet.util.Cookie.SUB_VALUE_DELIM=":"
org.ditchnet.util.Cookie.addPageCookie=function(c){document.cookie=c.toCookieString();};org.ditchnet.util.Cookie.getPageCookieString=function(){return document.cookie;};org.ditchnet.util.Cookie.pageHasCookieWithNameAndValue=function(c){var s=c.toNameValueString();return(Cookie.get().indexOf(s)>-1);};org.ditchnet.util.Cookie.pageHasCookieWithName=function(c){var s=c.getName();return(Cookie.get().indexOf(s)>-1);};org.ditchnet.util.Cookie.prototype.toCookieString=function(){with(org.ditchnet.util){var buff=new StringBuffer();buff.append(this.getName()).append(Cookie.EQUALS);if(typeof this.getValue()=="object"&&this.getValue().constructor==Array){var values=this.getValue();for(var i=0;i<values.length;i++){buff.append(values[i]).append(i==values.length-1?"":Cookie.SUB_VALUE_DELIM);}}else{buff.append(this.getValue())}
buff.append(Cookie.DELIM);buff.append(Cookie.PATH).append(Cookie.EQUALS).append(this.getPath()).append(Cookie.DELIM);buff.append(Cookie.EXPIRES).append(Cookie.EQUALS).append(this.getExpires()).append(Cookie.DELIM);if(this.getDomain()){buff.append(Cookie.DOMAIN).append(Cookie.EQUALS).append(this.getDomain()).append(Cookie.DELIM);}
if(this.isSecure()){buff.append(Cookie.SECURE).append(Cookie.DELIM);}}
return buff.toString();};org.ditchnet.util.Cookie.prototype.toNameValueString=function(){var buff=new org.ditchnet.util.StringBuffer();buff.append(this.getName()).append(Cookie.EQUALS).append(this.getValue());return buff.toString();};org.ditchnet.util.Cookie.prototype.getName=function(){return this._name;};org.ditchnet.util.Cookie.prototype.setName=function(name){this._name=name;};org.ditchnet.util.Cookie.prototype.getValue=function(){return this._value;};org.ditchnet.util.Cookie.prototype.setValue=function(value){this._value=value;};org.ditchnet.util.Cookie.prototype.getPath=function(){if(this._path===undefined){return"/";}else{return this._path;}};org.ditchnet.util.Cookie.prototype.setPath=function(path){this._path=path;};org.ditchnet.util.Cookie.prototype.isSecure=function(){return this._secure;};org.ditchnet.util.Cookie.prototype.setSecure=function(secure){this._secure=secure;};org.ditchnet.util.Cookie.prototype.getDomain=function(){return this._domain;};org.ditchnet.util.Cookie.prototype.setDomain=function(domain){this._domain=domain;};org.ditchnet.util.Cookie.prototype.getExpires=function(){if(this._expires===undefined){return this._getDefaultExpires();}else{return this._expires;}};org.ditchnet.util.Cookie.prototype.setExpires=function(expires){this._expires=expires;};org.ditchnet.util.Cookie.prototype._getDefaultDomain=function(){return window.location.hostname;};org.ditchnet.util.Cookie.prototype._getDefaultExpires=function(){var date=new Date();date.setFullYear(date.getFullYear()+10);return date.toGMTString();};org.ditchnet.util.StringBuffer=function(s){this._array=[];if(s&&typeof s!="string"){throw new Error("IllegalArgumentException: StringBuffer's "+"constructor accepts an optional String argument. Given:"+
(typeof s));}
if(s){this.append(s);}};org.ditchnet.util.StringBuffer.prototype.append=function(s){this._array.push(s);return this;};org.ditchnet.util.StringBuffer.prototype.toString=function(){return this._array.join("");};org.ditchnet.util.Map=function(o){this._obj=(o)?(o):new Object();};org.ditchnet.util.Map.prototype.put=function(key,value){this._obj[key]=value;};org.ditchnet.util.Map.prototype.get=function(key){if(!this._obj[key])return null;return this._obj[key];};org.ditchnet.util.Map.prototype.size=function(){var count=0;for(var key in this._obj)
count++;return count;};org.ditchnet.util.Map.prototype.isEmpty=function(){return this.size()==0;};org.ditchnet.util.Map.prototype.toString=function(){var buff=new org.ditchnet.util.StringBuffer();count=0;for(var key in this._obj){buff.append(key).append(" = ").append(this._obj[key]).append(count==this.size()-1?"":"\r\n");count++;}
return buff.toString();};org.ditchnet.util.Map.prototype.containsKey=function(key){if(this._obj[key]!==undefined){return true;}
return false;};org.ditchnet.util.Map.prototype.containsValue=function(value){for(var key in this._obj){if(this._obj[key]==value){return true;}}
return false;};org.ditchnet.util.Map.prototype.remove=function(key){if(this.containsKey(key)){delete this._obj[key];}};org.ditchnet.util.Map.prototype.keySet=function(){var keys=[];for(var key in this._obj){keys.push(key);}
return keys;};org.ditchnet.util.Map.prototype.values=function(){var values=new Collection();for(var key in this._obj){values.add(this._obj[key]);}
return values;};org.ditchnet.util.ParameterMap=function(q){this._map=new org.ditchnet.util.Map();this._q;if(q){this._q=q.substring(1);}
var pairs=this._q.split(/&+/g);var a;for(var i=0;i<pairs.length;i++){a=pairs[i].split(/=+/g);this._map.put(a[0],a[1]);}};org.ditchnet.util.ParameterMap.getPageParameterMap=function(){return new org.ditchnet.util.ParameterMap(window.location.search.toString());};org.ditchnet.util.ParameterMap.prototype.toQueryString=function(){var buff=new org.ditchnet.util.StringBuffer("?");var count=0;var key,value;var keys=this._map.keySet();for(var i=0;i<keys.length;i++){key=keys[i];value=this._map.get(key);buff.append(key).append("=").append(value).append(count==this._map.size()-1?"":"&");count++;}
return buff.toString();};
