/* Copyright © Fabasoft R&D Software GmbH & Co KG, A-4020 Linz, 1995-2006. */
var g_vappctrltimeout=null
var g_listkey=""
var g_listtable=null
var g_listmenus=new Array()
var g_ctrlalt = false
function vappka_keydown(){
var evt =window.event
var keycode=evt.keyCode
if(!vappka_controlkey(keycode)){
vappka_stop()}
var isalt = g_ismoz ? evt.altKey : evt.altLeft
var isshift = g_ismoz ? evt.shiftKey : evt.shiftLeft
var isctrl = g_ismoz ? evt.ctrlKey : evt.ctrlLeft
if(g_ismoz && !g_ctrlalt){
g_ctrlalt = isctrl || isalt}
else if(g_ismoz && (g_ctrlalt && (isctrl || isalt))){
g_ctrlalt = false}
switch(keycode){
case 13:
if(vappmenuisopen()){
var menu = g_ismoz ? window.document.getElementById("fscm") : g_fscpopup.document
menuselect=vappka_getmenuselect(menu)
if(menuselect){
menuselect.click()}
return false}
else{
var src=evt.srcElement
if(src){
switch(src.tagName){
case "SELECT":
case "TEXTAREA":
break
case "INPUT":
if(window.g_mobileconfig){
return false}
return vappdosubmit()
break
case "A":
var parentclass=vappgetparent(src).className
if( parentclass=="FscPortalTab" || parentclass=="ConfigurePortal" || parentclass=="FscBranch"){
src.click()}
break
default:
return false
break}}}
break
case 32:
if(!isalt){
break}
case 18:
vappka_start()
break
case 27:
g_listkey=""
window.status=""
vappclearlistselectors()
if(!vappiswbt()){
vappspan_hide('fscs')
vappspan_hide('fscm')}
break
case 9:
break
case 33:
if(isalt && isshift){
vappka_clickpage("next")}
break
case 34:
if(isalt && isshift){
vappka_clickpage("prev")}
break
case 35:
if(isalt && isshift){
vappka_clickpage("tail")}
break
case 36:
if(isalt && isshift){
vappka_clickpage("head")}
break
case 37:
vappka_shift('fscs', 'left')
break
case 39:
vappka_shift('fscs', 'right')
break
case 38:
if(vappmenuisopen()){
vappka_ctxmenuchange('up')}
vappka_shift('fscs', 'up')
break
case 40:
if(vappmenuisopen()){
vappka_ctxmenuchange('down')}
vappka_shift('fscs', 'down')
break
case 117:
return false
break
default:
if((48<=keycode && keycode<=57) && isalt){
var currlistkey=String.fromCharCode(keycode)
g_listkey=g_listkey+currlistkey
window.status="["+g_listkey+"]"}
if((48<=keycode && keycode<=90) || keycode==186 || keycode==192 || keycode==222 ){
var keystr=vappgetkeystring(keycode)
if(isalt || (g_ismoz && g_ctrlalt && !isalt && !isctrl)){
if(isshift){
var keys=vappka_getpageakeys()
var td=keys[keystr]
if(null!=td){
td.children[0].click()
td.style.backgroundColor='red'
evt.cancelBubble=true
return false}}
else if(isctrl || (g_ismoz && g_ctrlalt && !isalt && !isctrl)){
var headframe=vapp_getheadframe()
if(headframe){
var tds=headframe.getElementsByTagName("TD")
if(null!=tds){
var keys=vappka_getportalkeys(tds)
var td=keys[keystr]
if(null!=td){
td.click()
evt.cancelBubble=true
return false}}}}
else{
var tdtags=window.document.getElementsByTagName("TD")
var oldmenuselect
if(vappmenuisopen()){
var menu = g_ismoz ? window.document.getElementById("fscm") : g_fscpopup.document
tdtags=menu.getElementsByTagName("td")
oldmenuselect=vappka_getmenuselect(menu)}
if(null!=tdtags){
var oldidx=-1
var newmenuselect
var currtags=new Array()
for(var idx=0; idx<tdtags.length; idx++){
var tdtag=tdtags[idx]
if(tdtag.className=='FscMenu'){
var accessKey = g_ismoz && tdtag.attributes && tdtag.attributes.getNamedItem("accessKey") ? tdtag.attributes.getNamedItem("accessKey").value : tdtag.accessKey
if(accessKey==keystr){
currtags[currtags.length]=tdtag
if(oldmenuselect==tdtag){
oldidx=currtags.length}}}}
if(oldidx >= 0){
oldmenuselect.style.color='#000000'
oldmenuselect.style.backgroundColor='#dfdfdf'
if(oldidx < currtags.length){
newmenuselect=currtags[oldidx]}
else{
newmenuselect=currtags[0]}}
else{
newmenuselect=currtags[0]}
if(currtags.length>0 && null!=newmenuselect){
if(currtags.length==1&& null!=newmenuselect){
newmenuselect.click()}
else if(currtags.length > 1 && null!=newmenuselect){
var menu = g_ismoz ? window.document.getElementById("fscm") : g_fscpopup.document
vappka_setmenuselect(menu,newmenuselect)
newmenuselect.focus()
newmenuselect.style.color='#000000'
newmenuselect.style.backgroundColor='#C5C5C5'}
evt.cancelBubble=true
return false}}
var atags=window.document.getElementsByTagName("A")
if(null!=atags){
for(var idx=0; idx<atags.length; idx++){
var atag=atags[idx]
if(atag.className=='FscSkip' && atag.href!=""){
var listtable=vappgetparentbyclassname(atag, "FscData0Grid", 10)
var listiddat=atag.href.split("#skip")[1]
var listid=listiddat.split("_")[1]
if(listid==g_listkey){
vappclearlistselectors()
vappsetlistfocus(listtable)
vappsetlistmenus(listtable)
listtable.style.backgroundColor='red'
g_listtable=listtable
evt.cancelBubble=true
return false}}}}
if(null!=atags && currtags.length<2){
for(var idx=0; idx<atags.length; idx++){
var atag=atags[idx]
if(atag.className=='FscBranchPage'){
if(atag.accessKey==keystr){
atag.click()
atag.style.backgroundColor='red'
evt.cancelBubble=true
return false}}
if(atag.className=='FscMenu'){
if(atag.accessKey==keystr){
if(null!=g_listtable && g_listmenus.length>0){
var currsourceindex=atag.sourceIndex
if(null!=currsourceindex){
for(var idx2=0; idx2<g_listmenus.length; idx2++){
var menusourceindex=g_listmenus[idx2].sourceIndex
if(currsourceindex==menusourceindex){
atag.click()
evt.cancelBubble=true
return false}}}}
else{
atag.click()
evt.cancelBubble=true
return false}}}}}}}}}}
function vappclearlistselectors(){
g_listmenus.length=0
g_listtable=null
var tables=window.document.getElementsByTagName("TABLE")
if(null!=tables){
for(var idx=0; idx<tables.length; idx++){
var table=tables[idx]
if(table.className=='FscData0Grid'){
table.style.backgroundColor=""}}}}
function vappsetlistmenus(table){
g_listmenus.length=0
var atags=table.getElementsByTagName("A")
if(null!=atags){
for(var idx=0; idx<atags.length; idx++){
var atag=atags[idx]
if(atag.className=='FscMenu'){
g_listmenus[g_listmenus.length]=atag}}}}
function vappsetlistfocus(table){
var focusset=false
var spans=table.getElementsByTagName("SPAN")
if(null!=spans){
for(var idx=0; idx<spans.length; idx++){
var span=spans[idx]
if(span.className=="FscObjectLink"){
span.focus()
focusset=true
break}}}
if(!focusset){
var inps=table.getElementsByTagName("INPUT")
if(null!=inps){
inps[0].focus()}}}
function vappka_mousemove(){
if(vappmousemoved){
if(vappmousemoveX!=window.event.screenX || vappmousemoveY!=window.event.screenY){
vappspan_hide('fscs')}}
else{
vappmousemoved++
vappmousemoveX=window.event.screenX
vappmousemoveY=window.event.screenY}}
function vappka_show(){
if(g_ismb){
vappka_stop()
var fscs=window.document.getElementById('fscs')
vappmousemoved=0
if(null!=fscs){
var html=vappka_genhtml()
fscs.innerHTML=html
if(html!=""){
fscs.style.left = "0px"
fscs.style.top  = "0px"
ctlHideElements("select","fscs")
fscs.style.visibility='visible'
if(g_isie){
fscs.setCapture()}
fscs.onmousemove=vappka_mousemove}}}}
function vappka_start(){
if(null==g_vappctrltimeout){
g_vappctrltimeout=window.setTimeout("vappka_show()", 2000)}}
function vappka_stop(){
if(null!=g_vappctrltimeout){
window.clearTimeout(g_vappctrltimeout)}
g_vappctrltimeout=null}
function vappka_genportalhtml(){
var portalhtml=""
var headframe=null
if(window.className=="FscBody"){
headframe=window}
else{
headframe=vapp_getheadframe()}
if(headframe){
var tds = null
try{
tds = headframe.document.getElementsByTagName("TD")}
catch(error){
tds = headframe.getElementsByTagName("TD")}
if(null!=tds){
var haveportal=false
var keys=vappka_getportalkeys(tds)
if(null!=keys){
for(key in keys){
var td=keys[key]
if(null!=td){
if(!haveportal){
haveportal=true}
var span=td.getElementsByTagName("SPAN")[0]
if(null!=span){
span.innerHTML=vappka_genboldinnerhtm(span,key)}
portalhtml+=vappka_genhtmlentry(td.innerText, "ALT+CTRL+"+key)}}}}}
return portalhtml}
function vappka_genctxmenuhtml(){
var ctxmenuhtml=""
var tdtags=window.document.getElementsByTagName("TD")
if(vappmenuisopen()){
var menu = g_ismoz ? window.document.getElementById("fscm") : g_fscpopup.document
tdtags=menu.getElementsByTagName("TD")}
if(null!=tdtags){
for(var idx=0; idx<tdtags.length; idx++){
var tdtag=tdtags[idx]
if(tdtag.className=='FscMenu'){
var accessKey = g_ismoz && tdtag.attributes && tdtag.attributes.getNamedItem("accessKey") ? tdtag.attributes.getNamedItem("accessKey").value : tdtag.accessKey
if(accessKey){
tdtag.innerHTML=vappka_genboldinnerhtm(tdtag,accessKey)
ctxmenuhtml+=vappka_genhtmlentry(tdtag.innerText, "ALT+"+accessKey)}}}}
return ctxmenuhtml}
function vappka_genlisthtml(table,id){
var listhtml=""
var tablesummary=""
if(table.summary!=""){
tablesummary=table.summary}
else{
var subtables=table.getElementsByTagName("TABLE")
for(var si=0; si<subtables.length; si++){
if(subtables[si].summary!=""){
tablesummary=subtables[si].summary
break}}}
if(tablesummary==""){
tablesummary=table.getElementsByTagName("TR")[0].innerText.split("\n")[0]}
listhtml+=vappka_genhtmllist(tablesummary,"ALT+"+id)
var atags=table.getElementsByTagName("A")
if(null!=atags){
for(var idx=0; idx<atags.length; idx++){
var atag=atags[idx]
if(atag.className=='FscMenu'){
if(atag.accessKey){
atag.innerHTML=vappka_genboldinnerhtm(atag,atag.accessKey)
listhtml+=vappka_genhtmlentrylist(atag.innerText, "ALT+"+atag.accessKey)}}}}
return listhtml}
function vappka_genhtml(){
var html=""
var brancheshtml=""
var listhtml=""
var menuhtml=""
var atags=window.document.getElementsByTagName("A")
if(null!=atags){
for(var idx=0; idx<atags.length; idx++){
var atag=atags[idx]
if(atag.className=='FscSkip' && atag.href!=""){
var listtable=vappgetparentbyclassname(atag, "FscData0Grid", 10)
var listiddat=atag.href.split("#skip")[1]
var listid=listiddat.split("_")[1]
if(null!=listtable && null!=listid){
listhtml+=vappka_genlisthtml(listtable, listid)}}
if(atag.className=='FscBranchPage'){
var text=(atag.children[0].innerText!="") ? atag.children[0].innerText : atag.getElementsByTagName("IMG")[0].alt
if(atag.accessKey && text){
var spantag=atag.getElementsByTagName("SPAN")
if(spantag.length>0){
spantag[0].innerHTML=vappka_genboldinnerhtm(spantag[0],atag.accessKey)}
else{
atag.innerHTML=vappka_genboldinnerhtm(atag,atag.accessKey)}
brancheshtml+=vappka_genhtmlentry(text, "ALT+"+atag.accessKey)}}}}
var ctxmenuhtml=vappka_genctxmenuhtml()
var pageshtml=vappka_genpageshtml()
var portalhtml=vappka_genportalhtml()
html=brancheshtml
if(html && (menuhtml || ctxmenuhtml)){
html+=vappka_genhtmlentrysep()}
if(ctxmenuhtml){
html+=ctxmenuhtml}
if(listhtml){
html+=listhtml}
else{
if(menuhtml){
html+=menuhtml}}
if(html && pageshtml){
html+=vappka_genhtmlentrysep()}
html+=pageshtml
if(html && portalhtml){
html+=vappka_genhtmlentrysep()}
html+=portalhtml
if(html){
html="<table class='FscKeyAssistantTable'>"+html+"</table>"}
return html}
function vappka_clickpage(op){
var tds=window.document.getElementsByTagName("TD")
var tabtds=new Array()
var tabtdidx=0
for(var idx=0; idx<tds.length; idx++){
var td=tds[idx]
if(0==td.className.indexOf("FscPageTab")){
tabtds[tabtdidx]=td
tabtdidx++}}
if(null!=tabtds){
var taketd=null
for(var idx=0; idx<tabtds.length; idx++){
var td=tabtds[idx]
if(op=="next"){
if(td.className=='FscPageTabOn'){
taketd=tabtds[idx+1]}}
else if(op=="prev"){
if(td.className=='FscPageTabOn'){
taketd=tabtds[idx-1]}}
else if(op=="head"){
if(0==td.className.indexOf("FscPageTab")){
taketd=tabtds[0]}}
else if(op=="tail"){
if(0==td.className.indexOf("FscPageTab")){
taketd=tabtds[tabtds.length-1]}}
if(null!=taketd){
if(0==td.className.indexOf("FscPageTab")){
taketd.style.backgroundColor='red'
taketd.click()}
break}}}}
function vappka_controlkey(key){
var x=false
if((key==17 || key==37 || key==39 || key==38 || key==40 || key==18 || key==54 || key==33 || key==34 || key==35 || key==36)){
x=true}
return x}
function vappka_keyup(){
if(g_ismoz){
g_ctrlalt = false}
if(vappka_controlkey(window.event.keyCode)){
vappka_stop()}}
function vappka_shift(id, direction){
var fscs=window.document.getElementById(id)
if(null!=fscs){
if(fscs.style.visibility!='hidden'){
var x=parseInt(fscs.style.left)
var y=parseInt(fscs.style.top)
switch(direction){
case "left":
x=x-10
break
case "right":
x=x+10
break
case "up":
y=y-10
break
case "down":
y=y+10}
fscs.style.left=x + "px"
fscs.style.top=y + "px"}}}
function vappka_getpageakeys(){
var keys=new Array()
var tds=window.document.getElementsByTagName("TD")
if(null!=tds){
for(var idx=0; idx<tds.length; idx++){
var td=tds[idx]
if(0==td.className.indexOf('FscPageTab')){
var text=td.innerText
for(var idx2=0; idx2<text.length; idx2++){
var key=text.charAt(idx2).toUpperCase()
if("A"<=key && key<="Z"){
if(null==keys[text.charAt(idx2).toUpperCase()]){
keys[text.charAt(idx2).toUpperCase()]=td
break}}}}}}
return keys}
function vappka_getportalkeys(tds){
var keys=new Array()
if(null!=tds){
for(var idx=0; idx<tds.length; idx++){
var td=tds[idx]
if(0==td.className.indexOf('FscPortalTab')){
var text=td.innerText
for(var idx2=0; idx2<text.length; idx2++){
var key=text.charAt(idx2).toUpperCase()
if("A"<=key && key<="Z"){
if(null==keys[text.charAt(idx2).toUpperCase()]){
keys[text.charAt(idx2).toUpperCase()]=td
break}}}}}}
return keys}
function vappka_genhtmllist(listname,shortcut){
var html="<tr><td colspan='2' style='background-color:black'></td></tr>"
html+="<tr><td>"+listname+"</td><td><b>"+shortcut+"</b>&nbsp;</td></tr>"
return html}
function vappka_genhtmlentrylist(name,shortcut){
return "<tr><td>  "+name+"</td><td><b>"+shortcut+"</b>&nbsp;</td></tr>"}
function vappka_genhtmlentry(name,shortcut){
return "<tr><td>"+name+"</td><td><b>"+shortcut+"</b>&nbsp;</td></tr>"}
function vappka_genhtmlentrysep(){
return "<tr><td colspan='2' style='background-color:black'></td></tr>"}
function vappka_genboldinnerhtm(atag, akey){
var innerhtm=atag.innerHTML
var newhtm=""
if(akey){
boldakey="<b>"
boldakey+=akey
boldakey+="</b>"
if(innerhtm.toLowerCase().indexOf(boldakey.toLowerCase())==-1){
innertexts=atag.innerText.split(" ")
var i=0
var innertext=""
while(innertexts[i]=="" && i<innertexts.length){
i++}
while(innertexts[i]!="" && i<innertexts.length){
innertext+=innertexts[i]
if(innertexts[i+1]!=""){
innertext+=" "}
i++}
htmstrings=innerhtm.split(innertext)
keypos=innertext.indexOf(akey)
if(keypos==-1){
keypos=innertext.indexOf(akey.toLowerCase())
boldakey=boldakey.toLowerCase()}
if(keypos!=-1){
var prekey=innertext.substr(0,keypos)
var postkey=innertext.substr(keypos+1)
var newinnerhtm=prekey
newinnerhtm+=boldakey
newinnerhtm+=postkey
var j=0
if(htmstrings){
if(htmstrings.length>=2){
while(j<htmstrings.length-2){
newhtm+=htmstrings[j]
newhtm+=innertext
j++}
newhtm+=htmstrings[j]
j++
newhtm+=newinnerhtm
newhtm+=htmstrings[j]}
else{
newhtm=newinnerhtm}}
else{
newhtm=newinnerhtm}}
else{
newhtm=innerhtm}}
else{
newhtm=innerhtm}}
else{
newhtm=innerhtm}
return newhtm}
function vappka_genpageshtml(){
var pageshtml=""
var tds=window.document.getElementsByTagName("TD")
if(null!=tds){
var havepages=false
var keys=vappka_getpageakeys()
if(null!=keys){
for(key in keys){
var td=keys[key]
if(null!=td){
if(!havepages){
havepages=true}
var span=td.getElementsByTagName("SPAN")[0]
if(null!=span){
span.innerHTML=vappka_genboldinnerhtm(span,key)}
pageshtml+=vappka_genhtmlentry(td.innerText, "ALT+SHIFT+"+key)}}}}
return pageshtml}
function vappka_getmenuselect(menu){
var menuselect
var menutable = menu.getElementsByTagName("TABLE")[0]
if(null!=menutable){
menuselect=menutable.getAttribute("vappmenuselect")}
return menuselect}
function vappka_setmenuselect(menu,tag){
var menutable = menu.getElementsByTagName("TABLE")[0]
if(null!=menutable){
menuselect=menutable.setAttribute("vappmenuselect",tag)}}
function vappka_getmenuitem(tags,oldmenuselect,mode){
var idx=0
var tag=oldmenuselect
if(null!=oldmenuselect){
for(var inx=0; inx<tags.length; inx++){
var currtag=tags[inx]
if(currtag==oldmenuselect){
idx=inx
break}}}
switch(mode){
case "init":
for(var index=idx; index<tags.length; index++){
var currtag=tags[index]
if(currtag.className=='FscMenu'){
tag=currtag
break}}
break
case "down":
idx++
for(var index=idx; index<tags.length; index++){
var currtag=tags[index]
if(currtag.className=='FscMenu'){
tag=currtag
break}}
break
case "up":
idx--
for(var index=idx; index>=0; index--){
var currtag=tags[index]
if(currtag.className=='FscMenu'){
tag=currtag
break}}
break
default:
break}
return tag}
function vappka_ctxmenuchange(mod){
var menu = g_ismoz ? window.document.getElementById("fscm") : g_fscpopup.document
if(null!=menu){
var tdtags=menu.getElementsByTagName("TD")
var oldmenuselect=vappka_getmenuselect(menu)
var newmenuselect
if(null==oldmenuselect){
newmenuselect=vappka_getmenuitem(tdtags,oldmenuselect,"init")}
else{
newmenuselect=vappka_getmenuitem(tdtags,oldmenuselect,mod)}
if(null!=newmenuselect){
vappka_setmenuselect(menu,newmenuselect)
newmenuselect.focus()
newmenuselect.style.backgroundColor='#C5C5C5'}
if(null!=oldmenuselect){
oldmenuselect.style.backgroundColor='#dfdfdf'}}}