//
// When inspecting this code, view it as a draft example designed for this specific site.
// It is source code with functionality as much as required, but as low as possible.
//
// Contact our professional serices for extended and generic functionality/libraries 
// in final quality structured design.
//
// objNav, (C) 2003 Ingenieurbuero Arno-Can Uestuensoez <info@i4p.de>
// objNav, (C) 2003 Engineering Office Arno-Can Uestuensoez <info@i4p.de>
//
// You can copy/modify and distribute this code under the conditions
// of the GNU GENERAL PUBLIC LICENSE Version 2.
//


function waitFor(obj, interMil, maxCnt){
   var ref=eval(obj);
   var ret=(ref);
   if(!ref&&(maxCnt>0)){
      maxCnt=maxCnt-1;
      setTimeout("var a=a+1;", interMil);
      ret=waitFor(obj, interMil, maxCnt);
   }
   return ret;
}


function writePropsTabSort(rOut, propsOf, fSiz, rExpr, not, wid){
   var re=new RegExp(rExpr);

   var a4s=new Array();
   for(var propname in propsOf){
      if(rExpr&&((!not&&!re.test(propname))||(not&&re.test(propname)))){
         continue;
      }
      a4s.push(propname);
   }
   a4s.sort();

   rOut.writeln('<table class="propsTab" border="1" cellpadding="0" cellspacing="0" width="'+((wid)?wid:'100%')+'">');
   for(var i=0; i<a4s.length; i++){

      rOut.writeln('<tr><td width="30%">');
      top.writeFontScale(fSiz, rOut);
      rOut.writeln(a4s[i]);
      rOut.writeln('</font></td><td>');
      top.writeFontScale(fSiz, rOut);
      rOut.writeln(propsOf[a4s[i]]);
      rOut.writeln('</font></td></tr>');
   }
   rOut.writeln('</table>');
}


function writePropsTab(rOut, propsOf, fSiz, rExpr, not){
   var re=new RegExp(rExpr);

   rOut.writeln('<table class="propsTab" border="1" cellpadding="0" cellspacing="0" width="30%">');
   for(var propname in propsOf){
      if(rExpr&&((!not&&!re.test(propname))||(not&&re.test(propname)))){
         continue;
      }

      rOut.writeln('<tr><td>');
      top.writeFontScale(fSiz, rOut);
      rOut.writeln(propname);
      rOut.writeln('</font></td><td>');
      top.writeFontScale(fSiz, rOut);
      rOut.writeln(propsOf[propname]);
      rOut.writeln('</font></td></tr>');
   }
   rOut.writeln('</table>');
}


function setButton(mFrame, tFrm, tUrl, bName, bIdle, bSel, selStat, unselStat, altTxt, W, H, fnt){
   
   var d=eval("top."+mFrame+".document");
   d.open();
   var entryStr="";
   entryStr=entryStr
      +'<INPUT TYPE="button" '
      +'CLASS="'+mFrame+'" '
      +'VALUE="'+bName+'" '

      +'onclick="'
      +'   top.frmMgr.set(\''+tFrm+'\', \''+tUrl+'\');'
      +'   " ';

   if(bSel){
      entryStr=entryStr
         +'onMouseOver=\''
         +'   status="'+selStat+'"; '
         +'   return true;'
         +'   \' '
         +'onMouseOut=\''
         +'   status="'+unselStat+'"; '
         +'   \' ';
   }

   if(W){
      entryStr=entryStr
         +'style="Width:'+W+'" ';
   }
   if(H){
      entryStr=entryStr
         +'style="Height:'+H+'" ';
   }
   if(fnt){
      entryStr=entryStr
         +'style="font-size:'+fnt+'" ';
   }
   entryStr=entryStr
      +'>';
   d.write(entryStr);
   d.close();

}



function buttonSetSelected(b){
    b.style.background=(b.selColor)?b.selColor:(top.butMgr)&&top.butMgr.defaultSelColor;
//  if(b.selColor){ b.style.background=b.selColor; }
}

function buttonUnsetSelected(f,b){
  if(f.activeButton==null || f.activeButton!=b){
      b.style.background=(b.enterColor)?b.enterColor:(top.butMgr)&&top.butMgr.defaultBackgroundColor;
//      if(b.enterColor){b.style.background=b.enterColor;}
      
  }else if(f.activeButton==b){
      buttonSetChk(b);    
  }
}

function buttonSetClicked(f,b){
  if(f.activeButton!=null){
    buttonReset(f.activeButton);
  }
  f.activeButton=b;
  buttonSetChk(b);    
}

function buttonSetClicked2(f,b){
  if(document.forms[f]&&document.forms[f].activeButton!=null){
    buttonReset(document.forms[f].activeButton);
    document.forms[f].activeButton=document.forms[f][b];
  }
  buttonSetChk2(f, b);    
}


function buttonSetChk(b){
  b.style.background=(b.chkColor)?b.chkColor:top.butMgr.defaultChkColor;
//    if(b.chkColor){b.style.background=b.chkColor; }
}

function buttonSetChk2(f,b){
    if(document.forms[f]&&document.forms[f][b]){
    document.forms[f][b].style.background=(document.forms[f][b].chkColor)?document.forms[f][b].chkColor:top.butMgr.defaultChkColor;
//      if(document.forms[f][b].chkColor){document.forms[f][b].style.background=document.forms[f][b].chkColor;}
  }
}

function buttonReset(b){
   b.style.background=(b.enterColor)?b.enterColor:top.butMgr.defaultBackgroundColor;
//    if(b.enterColor){b.style.background=b.enterColor;}
    
}

function buttonSendOnClick(f,b){
    if(document.forms[f]&&document.forms[f][b]){
      document.forms[f][b].onclick();
    }
}




function setButtonExt1(mFrame, tFrm, tUrl, fID, bID, bName, bIdle, bSel, selStat, unselStat, altTxt, W, H, fnt){
   
   var d=eval("top."+mFrame+".document");
   d.open();
   var entryStr="";
   entryStr=entryStr
      +'<INPUT TYPE="button" '
      +'CLASS="'+mFrame+'" '
      +'VALUE="'+bName+'" '
      +'NAME="'+bID+'" '
      +'onclick="'
      +'   buttonSetClicked(document.'+fID+',this); '
      +'   top.frmMgr.set(\''+tFrm+'\', \''+tUrl+'\',true);'
      +'   top.butMgr.saveState(\''+fID+'\', \''+bID+'\'); '
      +'   top.butMgr.set(\''+mFrame+'\', \''+bID+'\'); '
      +'   " ';
   entryStr=entryStr
      +'onmouseover=\''
      +'   status="'+selStat+'"; '
      +'   buttonSetSelected(this); '
      +'   return true;'
      +'   \' '
      +'onmouseout=\''
      +'   status="'+unselStat+'"; '
      +'   buttonUnsetSelected(document.'+fID+',this); '
      +'   \' ';
   var sstring='style=';
   if(W){
      entryStr=entryStr+sstring
         +'"Width:'+W+'" ';
      sstring=' ';     
   }
   if(H){
      entryStr=entryStr+sstring
         +'"Height:'+H+'" ';
      sstring=' ';     
   }
   if(fnt){
      entryStr=entryStr+sstring
         +'"font-size:'+fnt+'" ';
      sstring=' ';     
   }
   entryStr=entryStr
      +'>';
   d.write(entryStr);
   d.close();
}


function setButtonExt2(mFrame, tFrm, tUrl, fID, bID, bName, bIdle, bSel, selStat, unselStat, altTxt, W, H, fnt, cb){
   
   var d=eval("top."+mFrame+".document");
   d.open();
   var entryStr="";
   entryStr=entryStr
      +'<INPUT TYPE="button" '
      +'CLASS="'+mFrame+'" '
      +'VALUE="'+bName+'" '
      +'NAME="'+bID+'" '
      +'onclick="'
      +'   buttonSetClicked(document.'+fID+',this); '
      +'   top.frmMgr.set(\''+tFrm+'\', \''+tUrl+'\',true);'
      +'   top.butMgr.saveState(\''+fID+'\', \''+bID+'\'); '
      +'   top.butMgr.set(\''+mFrame+'\', \''+bID+'\'); '
       +'   if('+(cb!=null)+')eval('+cb+'); '
      +'   " ';
   entryStr=entryStr
      +'onmouseover=\''
      +'   status="'+selStat+'"; '
      +'   buttonSetSelected(this); '
      +'   return true;'
      +'   \' '
      +'onmouseout=\''
      +'   status="'+unselStat+'"; '
      +'   buttonUnsetSelected(document.'+fID+',this); '
      +'   \' ';
   var sstring='style=';
   if(W){
      entryStr=entryStr+sstring
         +'"Width:'+W+'" ';
      sstring=' ';     
   }
   if(H){
      entryStr=entryStr+sstring
         +'"Height:'+H+'" ';
      sstring=' ';     
   }
   if(fnt){
      entryStr=entryStr+sstring
         +'"font-size:'+fnt+'" ';
      sstring=' ';     
   }
   entryStr=entryStr
      +'>';
   d.write(entryStr);
   d.close();
}


function getCheckBoxList(tFrm){
  ret=null;


  return ret;   
}

function setCheckBoxListChecked(cLst){
  for(var i=0; i<cLst.length;i++){
      top.butMgr.setChecked(cLst[i][0], cLst[i][1], cLst[i][2]);
  }
  return;   
}

function unsetCheckBoxListChecked(cLst){
  for(var i=0; i<cLst.length;i++){
      top.butMgr.unsetChecked(cLst[i][0], cLst[i][1], cLst[i][2]);
  }
  return;   
}


function setCheckBox(mFrame, tFrm, tUrl, tUrlArgs, fID, bID, bName, bIdle, bSel, selStat, unselStat, altTxt, W, H, fnt, cbpost, cbpre){
   
   var d=eval("top."+mFrame+".document");
   d.open();
   var entryStr="";
   entryStr=entryStr
      +'<div class="'+mFrame+' '+mFrame+fID+' '+mFrame+fID+bID+'">'
      +'<INPUT TYPE="checkbox" '
      +'CLASS="'+mFrame+fID+bID+'" '
      +'VALUE="'+bName+'" '
      +'NAME="'+bID+'" '
      +'onclick="'
       +'   if('+(cbpre!=null)+')eval('+cbpre+'); '
      +'   top.frmMgr.set(\''+tFrm+'\', \''+tUrl+'\?'+tUrlArgs+'\',true);'
      +'   top.butMgr.saveState(\''+fID+'\', \''+bID+'\'); '
      +'   top.butMgr.set(\''+mFrame+'\', \''+bID+'\'); '
       +'   if('+(cbpost!=null)+')eval('+cbpost+'); '
      +'   " ';
   entryStr=entryStr
      +'>';
   entryStr=entryStr
       +bName;
   entryStr=entryStr
          +'</div>';
   
   d.write(entryStr);
   d.close();
}


function extLnkButton(mFrame, nTarget, tUrl, bIdle, altTxt, W, H){

   var d=eval("top."+mFrame+".document");
   d.open();

   var entryStr='';

   if(bIdle){
      entryStr='<a href="'+tUrl+'" target="'+nTarget+'">'
              +'<img src="'+bIdle+'" alt="'+altTxt+'" ';
     if(W){entryStr=entryStr+' width="'+W+'" ';}
     if(H){entryStr=entryStr+' height="'+H+'" ';}
     entryStr=entryStr+'></a>';
   }else{
     entryStr='<a href="'+tUrl+'" target="'+nTarget+'">'+altTxt+'<a>';
   }
   
   d.write(entryStr);
   d.close();
}




function _writeFontScale(fSiz, docRef, useOpen){
   if(docRef){
      if(useOpen){
         docRef.writeln('<font size="'+fSiz+'">');
      }
      else{
         docRef.open();
         docRef.writeln('<font size="'+fSiz+'">');
         docRef.close();
      }
   }
   else{
      document.open();
      document.writeln('<font size="'+fSiz+'">');
      document.close();
   }
}

function writeFontScale(fSiz, docRef, useOpen, rel){
  var ldoc=(docRef==null)?document:docRef.document;
  var lsiz=fSiz;
  
  if(!ldoc){
    return
  }



  if(rel){
    if(!ldoc.body.style){
      return
    }
    if(!ldoc.body.style.fontSize){
      lsiz=lsiz+"%";
    }
    else{
      lsiz=lsiz/100*ldoc.body.sytle.fontSize;
    }
  }

  
   
  if(useOpen){
    ldocc.writeln('<font size="'+lsiz+'">');
  }
  else{
    ldoc.open();
    ldoc.writeln('<font size="'+lsiz+'">');
    ldoc.close();
  }
}

function closeFontScale(docRef, useOpen){
  var ldoc=(docRef==null)?document:docRef.document;
  
  if(!ldoc){
    return
  }

  if(useOpen){
    ldoc.writeln('</font>');
  }
  else{
    ldoc.open();
    ldoc.writeln('</font>');
    ldoc.close();
  }
}




function writeLINKcss(docRef, useOpen){
//    top.browserSpec.setCSSconf();
  top.browserSpec.setCSSconf();
  var str1=top.browserSpec.cssLinkDefault;
  var str2=top.browserSpec.cssLink;
  var str3=top.browserSpec.cssAdaptor;

  if(docRef&&useOpen){
    docRef.writeln(str3);
    docRef.writeln(str1);
    docRef.writeln(str2);
  }else{
    docRef.open();
    docRef.writeln(str3);
    docRef.writeln(str1);
    docRef.writeln(str2);
    docRef.close();
  }

}

function buttonStyleBackgroundSetSel (fnam, bnam, r, g, b) {
   document.forms[fnam][bnam].selColor="rgb("+r+","+g+","+b+")";
}

function buttonStyleBackgroundSetChk (fnam, bnam, r, g, b) {
   document.forms[fnam][bnam].chkColor="rgb("+r+","+g+","+b+")";
}

function buttonStyleBackgroundSet (fnam, bnam, r, g, b) {
  if(document.forms[fnam]&&document.forms[fnam][bnam]){
     document.forms[fnam][bnam].style.background="rgb("+r+","+g+","+b+")";
     document.forms[fnam][bnam].enterColor="rgb("+r+","+g+","+b+")";
  }
  
}


function buttonStyleFontSizeSet (fnam, bnam, siz) {
   document.forms[fnam][bnam].style.fontSize=siz;
}

function buttonStyleSizeGet (fnam, bnam) {
   var ret=document.forms[fnam][bnam].style.width;
  return ret;
}


function buttonStyleWidthSet (fnam, bnam, wid) {
   document.forms[fnam][bnam].style.width=wid;
}

function buttonStyleWidthGet (fnam, bnam) {
   var ret=document.forms[fnam][bnam].style.width;
  return ret;
}

function buttonStyleHeightSet (fnam, bnam, hei) {
   document.forms[fnam][bnam].style.height=hei;
}

function buttonStyleHeightGet (fnam, bnam) {
   var ret=document.forms[fnam][bnam].style.height;
  return ret;
}

function _setButton(mFrame, tFrm, tUrl, bName, bIdle, bSel, selStat, unselStat, altTxt, W, H, fnt){
   
   var d=eval("top."+mFrame+".document");
   d.open();
   var entryStr=
       '<INPUT TYPE="button" '
      +'CLASS="'+mFrame+'" '
      +'VALUE="'+bName+'" '
      +'onclick="'
      +'   top.frmMgr.set(\''+tFrm+'\', \''+tUrl+'\');'
      +'   " ';

   if(bSel){
      entryStr=entryStr
         +'onMouseOver=\''
         +'   status="'+selStat+'"; '
         +'   return true;'
         +'   \' '
         +'onMouseOut=\''
         +'   status="'+unselStat+'"; '
         +'   \' ';
   }


   if(W){
      entryStr=entryStr
         +'style="Width:'+W+'" ';
   }
   if(H){
      entryStr=entryStr
         +'style="Height:'+H+'" ';
   }
   if(fnt){
      entryStr=entryStr
         +'style="font-size: '+fnt+'%" ';
   }
   entryStr=entryStr
      +'>';
   d.write(entryStr);
   d.close();
}

function __setButton(mFrame, tFrm, tUrl, bName, bIdle, bSel, selStat, unselStat, altTxt, W, H){
   
   var d=eval("top."+mFrame+".document");
   d.open();
   var entryStr=
       '<a '
      +'href="#"'   /*Could be dropped for IE*/
      +'onMouseDown="'
      +'   top.frmMgr.set(\''+tFrm+'\', \''+tUrl+'\');'
      +'   " ';
   if(bSel){
      entryStr=entryStr
         +'onMouseOver="'
         +'   status=\''+selStat+'\';'
         +'   top.butMgr.setTmp(\''+mFrame+'\', \''+bName+'\', \''+bSel+'\');'
         +'   return true;'
         +'   " '
         +'onMouseOut="'
         +'   status=\''+unselStat+'\';'
         +'   top.butMgr.setTmpClear(\''+mFrame+'\', \''+bName+'\');'
         +'   " ';
   }
   entryStr=entryStr
      +'>'
      +'<img name="'+bName+'" src="'+bIdle;
   if(altTxt){
      entryStr=entryStr
         +'" alt="'+altTxt+'"';
   }
   if(W){
      entryStr=entryStr
         +'" width="'+W+'"';
   }
   if(H){
      entryStr=entryStr
         +'" height="'+H+'"';
   }
   entryStr=entryStr
      +'>'
      +'</a>';
   d.write(entryStr);
   d.close();
}



function ___setButton(mFrame, tFrm, tUrl, bName, bIdle, bSel, selStat, unselStat, altTxt, W, H, fnt){
   
   var d=eval("top."+mFrame+".document");
   d.open();
   var entryStr=
       '<A '
     /*
      +'CLASS="'+nav+'" '
     */
      +'CLASS="'+mFrame+'" '
      +'href="'+tUrl+'" '
      +'target="'+tFrm+'" '
      ;
   if(bSel){
      entryStr=entryStr
         +'onMouseOver=\''
         +'   status="'+selStat+'"; '
         +'   return true;'
         +'   \' '
         +'onMouseOut=\''
         +'   status="'+unselStat+'"; '
         +'   \' ';
   }
   if(W){
      entryStr=entryStr
         +'style="Width:'+W+'" ';
   }
   if(H){
      entryStr=entryStr
         +'style="Height:'+H+'" ';
   }
   entryStr=entryStr
      +'>'
      +bName
      +'</A>&nbsp;'
      ;
   d.write(entryStr);
   d.close();
}


function setHistory3(fID, bID,frID,frURL,doClick){

  var lastState=top.butMgr.getState(fID);
  if(frID){
      top.frmMgr.set(frID, frURL, 1);        
  }
  buttonSetChk2(fID,bID);
  buttonSetClicked2(fID,bID);
  top.butMgr.saveState(fID,bID);
  if(lastState){
    if(doClick){
      buttonSendOnClick(fID,lastState);
    }else{
      buttonSetClicked2(fID,lastState);
    }
  }

}

function setHistory2(fID, bID,frID,frURL){
  var lastState=top.butMgr.getState(fID);
  if(frID){
      top.frmMgr.set(frID, frURL, 1);        
  }
  buttonSetChk2(fID,bID);
  buttonSetClicked2(fID,bID);
  top.butMgr.saveState(fID,bID);
  if(lastState){
    buttonSendOnClick(fID,lastState);
  }   
}


function setHistory(fID, bID){
  var lastState=top.butMgr.getState(fID);
  if(lastState){
    buttonSendOnClick(fID,lastState);
  }   
}


function argsFetch(){
  var ret=-1;
  if(!document.Args){
    document.Args=new Object();
    sArgs=location.search.slice(1).split('&');
    var n='';
    var v='';
    for(var i=0; i<sArgs.length; i++){
      n=sArgs[i].slice(0,sArgs[i].indexOf('='));
      v=sArgs[i].slice(sArgs[i].indexOf('=')+1);
      document.Args[n]=v;     
      ret=i;
    }
  }
  return ret;
}

function argsGet(v){
  if(!document.Args)argsFetch();
  var ret=((document.Args)?document.Args[v]:null);
  return ret;
}



function conditionalIfElseShow(txtA, txtB, cond){if(cond)document.write(txtA);else document.write(txtB);}
function conditionalShow(txt, cond){if(cond)document.write(txt);}
function conditionalShowStart(cond){if(!cond)document.writeln("\<!--");}
function conditionalIfElseHide(txtA, txtB, cond){if(!cond)document.write(txtA);else document.write(txtB);}
function conditionalHide(txt, cond){if(!cond)document.write(txt);}
function conditionalHideStart(cond){if(cond)document.writeln("\<!--");}

function showEnterpriseID(txt){
  document.write('<a href="javascript:showEnterpriseID_('+txt+');">'+txt+'</a>');
}

function showEnterpriseID_(txt){
  var myDoc="";
  if(top.tstv)myDoc="../../common/enterprise-numbers.cache.html";
  else myDoc="http://www.iana.org/assignments/enterprise-numbers";

  var tmpW=window.open(myDoc, "EnterpriseID", "menubar,scrollbars,resizable,status,width=700,height=400");

  var h=top.browserSpec.getScrH();
  if(h<601){
    tmpW.scrollTo(0,77350);
  }else if(h<769){
    tmpW.scrollTo(0,77350);
  }else if(h<1049){
    tmpW.scrollTo(0,77350);
  }else{
    tmpW.scrollTo(0,77350);
  }
}


function getEmbIconHeight(){
var ret=top.browserSpec.getWinH()*0.05;
    return ret;
}
function getEmbIconWidth(){
  var ret=top.browserSpec.getWinW()*0.05;
  return ret;

}

function getEmbedIcon(c, s, a){
  var iHtml='';
   iHtml=iHtml+'<img class="'+c+'" src="'+s+'" alt="'+a+'"'
        +' height="'+(top.browserSpec.getWinHdivScrH()*100)+'%" '
        +' width="'+(top.browserSpec.getWinWdivScrW()*100)+'%" '
//            +' height="'+getEmbIconHeight()+'" '
//            +' width="'+getEmbIconWidth()+'" '
        +' ></a>';

  document.write(iHtml);
}


function argsHandleEntry(s){  
  var ret=argsGet('callState'); 
  switch(ret){
    case 'entry':  break;
    case 'loader': break;
    case 'print': break;
    default:      top.location.replace(s);break;
  }
  return ret;
}



function initChk(s){
    if(parent==self)top.location.replace(s);  
}
function __initChk(s){
    if(parent==self)top.location.replace(s);  
}



function myImgOnly(mFrame, mImg, C, W, H, S){

   var d=eval("top."+mFrame+".document");
   d.open();

   var entryStr='';

   entryStr='<img src="'+mImg+'" ';
     if(C){entryStr=entryStr+' class="'+C+'" ';}
     if(W){entryStr=entryStr+' width="'+W+'" ';}
     if(H){entryStr=entryStr+' height="'+H+'" ';}
     if(S){entryStr=entryStr+' style="'+S+'" ';}
   
   d.write(entryStr);
   d.close();
}


