// /web/private/htdocs/staff/sponomar/TEST/corehtml/jsutils/utils.1.js.orig

var utils={KeyCode_TAB:9,KeyCode_DELETE:46,KeyCode_BACKSPACE:8,KeyCode_LEFT_ARROW:37,KeyCode_RIGHT_ARROW:39,KeyCode_HOME:36,KeyCode_END:35,KeyCode_PAGE_UP:33,KeyCode_PAGE_DOWN:34,KeyCode_UP_ARROW:38,KeyCode_DOWN_ARROW:40,KeyCode_ESC:27,KeyCode_ENTER:13,KeyCode_SPACE:32,KeyCode_SHIFT_KEY:16,KeyCode_CTRL_KEY:17,KeyCode_ALT_KEY:18,KeyCode_LEFT_MS_WINDOWS_KEY:91,KeyCode_RIGHT_MS_WINDOWS_KEY:92,KeyCode_MS_MENU_KEY:93,bIsIe:0/*@cc_on+1@*/,isObject:function(a){return(a&&typeof a=='object');},isArray:function(a){return this.isObject(a)&&a.constructor==Array;},getParent:function(obj){if(obj){var result=obj.parentNode;while(result&&result.nodeType!=1)result=result.nextSibling;if(result)return result;}
return null;},getFirstChild:function(obj){if(obj){var result=obj.firstChild;while(result&&result.nodeType!=1)result=result.nextSibling;if(result)return result;}
return null;},getNextSibling:function(obj,tagName){if(obj){var result=obj.nextSibling;if(tagName){var tn=tagName.toUpperCase();while(result&&result.tagName!=tn)result=result.nextSibling;}else{while(result&&result.nodeType!=1)result=result.nextSibling;}
return result;}
return null;},getPreviousSibling:function(obj,tagName){if(obj){var result=obj.previousSibling;if(tagName){var tn=tagName.toUpperCase();while(result&&result.tagName!=tn)result=result.previousSibling;}else{while(result&&result.nodeType!=1)result=result.previousSibling;}
return result;}
return null;},nextItem:function(item,nodeName){if(item==null)return null;var next=item.nextSibling;while(next!=null){if(next.nodeName==nodeName)return next;next=next.nextSibling;}
return null;},previousItem:function(item,nodeName){var previous=item.previousSibling;while(previous!=null){if(previous.nodeName==nodeName)return previous;previous=previous.previousSibling;}
return null},moveBefore:function(item1,item2){var parent=item1.parentNode;parent.removeChild(item1);parent.insertBefore(item1,item2);},moveAfter:function(item1,item2){var parent=item1.parentNode;parent.removeChild(item1);parent.insertBefore(item1,item2?item2.nextSibling:null);},insertAfter:function(parent,node,referenceNode){parent.insertBefore(node,referenceNode.nextSibling);},removeChildren:function(oObj){if(!oObj||typeof oObj!="object")return;while(oObj&&oObj.hasChildNodes()){this.removeAllChildren(oObj.firstChild);oObj.removeChild(oObj.firstChild);}},removeAllChildren:function(oObj){this.removeChildren(oObj);},getTextContent:function(x){/*@cc_on return x.text;@*/return x.textContent;},createCookie:function(name,value,days,path){if(days){var date=new Date();date.setTime(date.getTime()+(days*24*60*60*1000));var expires='; expires='+date.toGMTString();}else expires='';document.cookie=name+'='+value+expires+'; path='+(path?path:"/");},readCookie:function(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"";},eraseCookie:function(name){document.cookie=name+"=null; expires=Thu, 01-Jan-1970 00:00:01 GMT; domain=nih.gov; path=/";document.cookie=name+"=; expires=Thu, 01-Jan-1970 00:00:01 GMT; domain=nih.gov; path=/";document.cookie="";},addClass:function(element,className){if(!this.hasClass(element,className)){if(element.className)element.className+=" "+className;else element.className=className;}},removeClass:function(element,className){var regexp=new RegExp("(^|\\s)"+className+"(\\s|$)");var b=regexp.test(element.className);element.className=element.className.replace(regexp,"$2");return b;},hasClass:function(element,className){var regexp=new RegExp("(^|\\s)"+className+"(\\s|$)");return regexp.test(element.className);},getXY:function(obj){var b={x:0,y:0,w:obj.offsetWidth,h:obj.offsetHeight};if(obj.offsetParent){while(obj){b.x+=obj.offsetLeft;b.y+=obj.offsetTop;obj=obj.offsetParent;}}else if(obj.x){b.x=obj.x;b.y=obj.y;}
return b;},getBorders:function(oObj){var res={t:0,b:0,l:0,r:0,isInner:false};res.t=this.getStyle(oObj,"borderTopWidth");if(typeof(res.t)=="string"&&res.t!=""){res.b=this.getStyle(oObj,"borderBottomWidth");res.l=this.getStyle(oObj,"borderLeftWidth");res.r=this.getStyle(oObj,"borderRightWidth");}else{res.t=this.getStyle(oObj,"border-top-width");res.b=this.getStyle(oObj,"border-bottom-width");res.l=this.getStyle(oObj,"border-left-width");res.r=this.getStyle(oObj,"border-right-width");}
if(oObj.currentStyle){res.isInner=true;}
return res;},getPaddings:function(oObj){var res={t:0,b:0,l:0,r:0,isInner:false};res.t=this.getStyle(oObj,"paddingTop");if(typeof(res.t)=="string"&&res.t!=""){res.b=this.getStyle(oObj,"paddingBottom");res.l=this.getStyle(oObj,"paddingLeft");res.r=this.getStyle(oObj,"paddingRight");}else{res.t=this.getStyle(oObj,"padding-top");res.b=this.getStyle(oObj,"padding-bottom");res.l=this.getStyle(oObj,"padding-left");res.r=this.getStyle(oObj,"padding-right");}
if(oObj.currentStyle){res.isInner=true;}
return res;},getScrolls:function(){var dim={x:0,y:0};if(self.pageYOffset){dim.x=self.pageXOffset;dim.y=self.pageYOffset;}else if(document.documentElement){dim.x=document.documentElement.scrollLeft;dim.y=document.documentElement.scrollTop;}else if(document.body){dim.x=document.body.scrollLeft;dim.y=document.body.scrollTop;}
dim.x=parseInt(dim.x);dim.y=parseInt(dim.y);return dim;},getWindowDim:function(){var dim={w:0,h:0};if(self.innerHeight){dim.w=self.innerWidth;dim.h=self.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){dim.w=document.documentElement.clientWidth;dim.h=document.documentElement.clientHeight;}else if(document.body){dim.w=document.body.clientWidth;dim.h=document.body.clientHeight;}
dim.w=parseInt(dim.w);dim.h=parseInt(dim.h);return dim;},getPageDim:function(oObj){var dim={w:0,h:0};var test1,test2;var x;if(undefined==oObj){x=document.body;}else{x=oObj;}
var test1=parseInt(x.scrollHeight);var test2=parseInt(x.offsetHeight);if(test1>test2){dim.w=parseInt(x.scrollWidth);dim.h=test1;}else{dim.w=parseInt(x.offsetWidth);dim.h=test2;}
return dim;},getStyle:function(oObj,styleProp){var res;if(oObj.currentStyle){res=oObj.currentStyle[styleProp];}
if(typeof(res)!="string"){if(oObj.style){res=oObj.style[styleProp];}
if(typeof(res)!="string"){if(document.defaultView){res=document.defaultView.getComputedStyle(oObj,null).getPropertyValue(styleProp);}
if(typeof(res)!="string"){return null;}}}
return res;},drawText:function(sText,sId,add){if(!sId)sId="debug";var obj=document.getElementById(sId);if(obj){if(add)
obj.innerHTML="<br/>"+sText;else
obj.innerHTML+=sText;}},selectRange:function(oObj,iStart,iLength){if(!(oObj&&oObj.value))return;if(oObj.createTextRange){var oRange=oObj.createTextRange();oRange.moveStart("character",iStart);oRange.moveEnd("character",iLength-oObj.value.length);oRange.select();}else if(oObj.setSelectionRange){oObj.setSelectionRange(iStart,iLength);}
oObj.focus();},getSelection:function(){var text="";if(window.getSelection){text+=window.getSelection();}else if(document.getSelection){text+=document.getSelection();}else if(document.selection){text+=document.selection.createRange().text;}
return text;},getPlural:function x_Plural(iN,sSuffix){if(undefined==sSuffix){return(iN>1?"s":"");}else if("y"==sSuffix){return(iN>1?"ies":"");}else{return(iN>1?sSuffix+"s":sSuffix);}},getPeriodToString:function(iDelta){var x="Error, cannot convert '"+iDelta+"'";var sDir;iDelta=parseInt(iDelta);if(iDelta<0){sDir=" before";iDelta=-iDelta;}else
sDir=" ago";var iS=parseInt(iDelta/1000);var iM,iH,iD;if(iS<60){x=iS+" second"+this.getPlural(iS);}else{iM=parseInt(iS/60);if(iM<60){x=iM+" minute"+this.getPlural(iM);}else{iH=parseInt(iM/60);if(iH<24){iM=iM-iH*60;x=iH+" hour"+this.getPlural(iH)+" and "+iM+" minute"+this.getPlural(iM);}else{iD=parseInt(iH/24);iH-=iD*24;x=iD+" day"+this.getPlural(iD)+" and "+iH+" hour"+this.getPlural(iH);}}}
return x+sDir;},isEmail:function(s){var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;return(filter.test(s))},addEvent_guid:1,addEvent:function(element,type,handler){if(!handler.$$guid)handler.$$guid=this.addEvent_guid++;if(!element.events)element.events={};var handlers=element.events[type];if(!handlers){handlers=element.events[type]={};if(element["on"+type]){handlers[0]=element["on"+type];}}
handlers[handler.$$guid]=handler;element["on"+type]=handleEvent;function handleEvent(event){var returnValue=true;event=event||fixEvent(window.event);var handlers=this.events[event.type];for(var i in handlers){this.$$handleEvent=handlers[i];if(this.$$handleEvent(event)===false){returnValue=false;}}
return returnValue;};function fixEvent(event){event.preventDefault=fixEvent.preventDefault;event.stopPropagation=fixEvent.stopPropagation;return event;};fixEvent.preventDefault=function(){this.returnValue=false;};fixEvent.stopPropagation=function(){this.cancelBubble=true;};return handler.$$guid;},removeEvent:function(element,type,handler){if(element.events&&element.events[type]){delete element.events[type][handler.$$guid];return handler.$$guid;}
return null;},preventDefault:function(e){if(e.preventDefault)e.preventDefault();else window.event.returnValue=false;},getRelatedTarget:function(e){if(!e)var e=window.event;if(e.relatedTarget)return e.relatedTarget;else if(e.toElement)return e.toElement;else if(e.fromElement)return e.fromElement;},getTargetObj:function(eEvent){var oTarget;var e=eEvent||window.event;if(e==null)return null;if(e.srcElement==null)oTarget=e.target;else oTarget=e.srcElement;while(oTarget&&oTarget.nodeType!=1)oTarget=oTarget.parentNode;return oTarget;},printObj:function(oObj,iLevel){var s="";var sIdent="";if(!iLevel)iLevel=0;for(var i=0;i<iLevel;i++){sIdent+="__";}
for(var i in oObj){var ss=[];if("string"==typeof oObj[i]){ss=oObj[i].split("<");}
s+=sIdent+" "+i+" : ["+(typeof oObj[i])+"] : "+ss.join("&lt;")+"<br/>";}
return s;},jsLoader:{oLoaded:[],sBase:"",load:function(aScripts){var oS=document.getElementsByTagName("script");for(var j=0;j<oS.length;j++){if(oS[j].src=="")continue;this.oLoaded.push(oS[j].src);}
var sHost=document.location.protocol+"/"+"/"+document.location.host;var sPath=document.location.pathname;sPath=sPath.substring(0,sPath.lastIndexOf("/"))+"/";var oHead=document.getElementsByTagName("head")[0];for(var i=0;i<aScripts.length;i++){var sNewSrc=this.sBase+aScripts[i];if(sNewSrc.indexOf(":/"+"/")==-1){if(sNewSrc.indexOf("/")==0){sNewSrc=sHost+sNewSrc;}else{sNewSrc=sHost+sPath+sNewSrc;}}
var oS=document.getElementsByTagName("script");var b=true;for(var j=0;j<this.oLoaded.length;j++){if(sNewSrc==this.oLoaded[j]){b=false;}}
if(b){document.write("<script src='"+sNewSrc+"' type='text/javascript'></script>");this.oLoaded.push(sNewSrc);}}}},insertInHtml:function(text,obj){if(document.all){obj.innerHTML+=text;}else{var range=document.createRange();range.setStartAfter(obj);var docFrag=range.createContextualFragment(text);obj.appendChild(docFrag);}},replaceInHtml:function(text,obj){if(document.all){obj.innerHTML=text;}else{while(obj.hasChildNodes())obj.removeChild(obj.firstChild);var range=document.createRange();range.setStartAfter(obj);var docFrag=range.createContextualFragment(text);obj.appendChild(docFrag);}}};String.prototype.trimSpaces=function(trimMode){var targetString=this;var iPos=0;if(!trimMode)trimMode=0;if(trimMode==0||trimMode==1){if(targetString.charAt(iPos)==" "){while(targetString.charAt(iPos)==" ")iPos++;targetString=targetString.substr(iPos);}}
iPos=targetString.length-1;if(trimMode==0||trimMode==2){if(targetString.charAt(iPos)==" "){while(targetString.charAt(iPos)==" ")iPos--;targetString=targetString.substr(0,iPos+1);}}
return targetString;}
function $(){var elements=new Array();for(var i=0;i<arguments.length;i++){var element=arguments[i];if(typeof element=='string')
element=document.getElementById(element);if(arguments.length==1)
return element;elements.push(element);}
return elements;}
function $C(attrValue,attrName,node,tag){if("*"==attrValue){return $AN(attrName,node,tag);}
var oElements=new Array();if(!node)node=document;if(!tag)tag='*';if(!attrName)attrName='class';var els=node.getElementsByTagName(tag);var elsLen=els.length;var pattern=new RegExp("(^|\\s)"+attrValue+"(\\s|$)");var j=0;for(i=0;i<elsLen;i++){if(attrName=="class"&&pattern.test(els[i].className)){oElements[j++]=els[i];}else if(pattern.test(els[i].getAttribute(attrName))){oElements[j++]=els[i];}}
return oElements;}
function $AN(attrName,node,tag){var oElements=new Array();if(node==null)node=document;if(tag==null)tag='*';var els=node.getElementsByTagName(tag);for(i=0;i<els.length;i++){if(els[i].getAttribute(attrName)!=null){oElements[oElements.length]=els[i];}}
return oElements;}
function $N(name,node){var oElements=[];if(node==null)node=document;var els=node.getElementsByName(name);for(i=0;i<els.length;i++){oElements[oElements.length]=els[i];}
return oElements;}