function isDigit(allowNeg){return((event.keyCode>=48)&&(event.keyCode<=57)||(allowNeg&&(event.keyCode==45)))}
function getSelectValue(obj){return obj.options[obj.selectedIndex].value}
function getSelectText(obj){return obj.options[obj.selectedIndex].text}
function selectValue(obj,value){obj.selectedIndex=getSelectIndex(obj,value)}
function getSelectIndex(obj,value){for(var i=0;i<obj.options.length;i++){if(obj.options[i].value==value)return i}; return 0}
function getRadioValue(obj){if(!obj.length)return(obj.checked?obj.value:null);for(var i=0;i<obj.length;i++){if(obj[i].checked){return obj[i].value}};return null}
function setRadioValue(obj,val){for(var i=0;i<obj.length;i++)if(obj[i].value==val)obj[i].checked=true}

function toggleObj(){var args=toggleObj.arguments;for(var i=0;i<args.length;i++)if(eval(args[i]))eval(args[i]).style.display=(eval(args[i]).style.display=='none')?'inline':'none'}
function hideObj(){var args=hideObj.arguments;for(var i=0;i<args.length;i++)if(eval(args[i]))eval(args[i]).style.display='none';}
function showObj(){var args=showObj.arguments;for(var i=0;i<args.length;i++)if(eval(args[i]))eval(args[i]).style.display='inline';}
//function hideObj(){var args=hideObj.arguments;for(var i=0;i<args.length;i++){var el=eval(args[i]);if(el){if(el.length){for(var j=0;j<el.length;j++)el[j].style.display='none'}else{el.style.display='none';}}}}
//function showObj(){var args=showObj.arguments;for(var i=0;i<args.length;i++){var el=eval(args[i]);if(el){if(el.length){for(var j=0;j<el.length;j++)el[j].style.display='inline'}else{el.style.display='inline';}}}}
function disableObj(){var args=disableObj.arguments;for(var i=1;i<args.length;i++)eval(args[i]).disabled=args[0]}

function loadImages(){
	if(document.images){
		if(!document.a1) document.a1=new Array()
		var i,j=document.a1.length,argv=loadImages.arguments
		for(i=0;i<argv.length;i++){document.a1[j]=new Image;document.a1[j++].src=argv[i]}
	}
}
function fi(newSrc,id){var theImage=findImage(document,id,0);if(theImage&&id.search(new RegExp(xFi+'$'))<0){theImage.src=newSrc}}
function fi2(arg1,arg2){fi(arg1,arg2)}
function findImage(doc,name,j2){
	var theImage=false
	if(doc.images){if(doc.images[name])return doc.images[name];}
	if(doc.layers)
		for(var j=0;j<doc.layers.length;j++){
			theImage=findImage(doc.layers[j].document,name,0)
			if(theImage){return(theImage)}
		}
	return(false)
}

var xbtn50a='/sys/btn50a.gif', xbtn50b='/sys/btn50b.gif', xbtn50c='/sys/btn50c.gif'
var xbtn70a='/sys/btn70a.gif', xbtn70b='/sys/btn70b.gif', xbtn70c='/sys/btn70c.gif'
var xbtn100a='/sys/btn100a.gif', xbtn100b='/sys/btn100b.gif', xbtn100c='/sys/btn100c.gif'
// gInitList.add('loadImages(xbtn50b,xbtn50c,xbtn70b,xbtn70c,xbtn100b,xbtn100c)')

document.onmouseevent=new execObj()
if(ie){document.onmouseover=function(){document.onmouseevent.run('over')}
	document.onmouseout=function(){document.onmouseevent.run('out')}
	document.onmousedown=function(){document.onmouseevent.run('down')}
	document.onmouseup=function(){document.onmouseevent.run('up')}
	document.onmousemove=function(){document.onmouseevent.run('move');return !document.onmouseevent.cancelEvent}
	document.onmouseevent.cancelEvent=false }

document.onmouseevent.add('xbtn("ARG")')
function xbtn(e){
  function getReal(el,className){
    var t=el
    while(t!=null && t.tagName!='BODY'){
      if(t.className==className)return t
      t=t.parentElement
    }
    return el
  }
  var el=getReal(event.srcElement,'xbtn')
  if(!el||e=='move')return
  if(!el.style)return
	if(el.pressed&&e=='out')e='down'
	var sfx=[];sfx['out']='a';sfx['over']='b';sfx['down']='c';sfx['up']=sfx['over']
	// var bdr=[];bdr['out']='solid';bdr['over']='outset';bdr['down']='inset';bdr['up']=bdr['over']
  var bTL=[]; bTL['out']='Face';bTL['over']=bTL['up']='HighLight';bTL['down']='Shadow'
  var bBR=[]; bBR['out']='Face';bBR['over']=bBR['up']='Shadow';bBR['down']='HighLight'
	with(el.style)
	switch(getMField(0,el.className,' ')){
		// case "xbtn":border='1 '+bdr[e];break;
    case 'xbtn':borderTop=borderLeft='1 solid button'+bTL[e];borderBottom=borderRight='1 solid button'+bBR[e];break
		case 'xbtn50':backgroundImage='url('+eval('xbtn50'+sfx[e])+')';break
		case 'xbtn70':backgroundImage='url('+eval('xbtn70'+sfx[e])+')';break
		case 'xbtn100':backgroundImage='url('+eval('xbtn100'+sfx[e])+')';break
	}
}

var wnd // allow only 1 window!
function openWindow(url,name,w,h,pos,props){
	var left,top
	if(!pos||pos=='center'){left=(screen.width)?(screen.width-w)/2:100; top=(screen.height)?(screen.height-h)/2:100;}
	else{left=0;top=0}
	props='width='+w+',height='+h+',top='+top+',left='+left+(props==''?'':','+props)
	if(window.wnd&&!wnd.closed)wnd.close()
	wnd=window.open(url,name,props)
}
function unload(){if(window.wnd&&!wnd.closed)wnd.close()}
function nop(){}

var twInterval
function twClick(obj,inc,limit){obj.value=obj.value==''?0:(inc>0)?Math.min(eval(obj.value)+inc,limit):Math.max(eval(obj.value)+inc,limit)}
function twMousedown(cmd){eval(cmd);twInterval=setInterval(cmd,200)}
function twMouseup(){clearInterval(twInterval)}

function canModify(u,u2,g,g2){
  if(g==''||u==u2)return true
  if(g2=='')return false
  var ar=g.replace(/(^[|]*)|([|]*$)/g,'').split('|')
  for(var i=0;i<ar.length;i++)if(g2.search('|'+ar[i]+'|')>=0)return true
  return false
}
function accImage(u,u2,g,g2){
  if(u==u2)return('accOwner.gif')
  if(canModify(u,u2,g,g2))return('accWrite.gif')
  return 'accRead.gif'
}

function grpHas(u,g,f){if(g=='')return f;return g.indexOf('|'+u+'|')>=0}
function grpAdd(u,g){var t=grpDel(u,g); if(t=='')t='|';return t+u+'|'}
function grpDel(u,g){var t=g.replace('\|'+u+'\|','|').replace(/\|\|/g,'|'); return t=='|'?'':t}
function grpFormat(g){return g?g.replace(/^(\|)|(\|)$/g,'').replace(/\|/g,','):'&nbsp;'}