// ie, duplicated in ia. Frames are fr10, fr50, below: fr70, fr90

function foldoc(subnum,doc) { // call prefixed with parent.fr70.
 if (doc!='') { parent.lisdoc=doc }
 for(var i=0; i<=document.images[document.images.length-2].id.substring(1,3); i++) {
  if (document.getElementById('f'+i).title==subnum) {
   var folcol=parseInt(document.getElementById('d'+i).style.left)/19;
   if (folcol>1) { for(var j=i; j>0; j--) {
     if (parseInt(document.getElementById('d'+j).style.left)==19) { exp(j); break }
   } } lis(i,subnum); break
  } 
 }
}

function ppal() {
 // iedonate & ia/if408
 var DR_ext=window.open('https://www.paypal.com/xclick/business=editor%40townace.com&item_name=Ace+Answers&amount=7.50&no_shipping=0&no_note=1&tax=0&currency_code=GBP','ppal','width=800,height=460,scrollbars,status,resizable')
 DR_ext.opener=window
 DR_ext.focus()
}

function bkpg(numbr) {
 // used in many ia... 
 urlwin('http://www.eccentrix.com/members/ukspace/wwwboard/'+numbr+'.html#new thread','bkpg'+numbr) 
}

function donr() {
 // iedefaul
 var DR_ext=window.open('iedonate.htm','donr','width=385,height=240')
 DR_ext.opener=window
 DR_ext.focus()
}

function gloc(url) {
 if (url.substring(0,2)=='ig') {
  if (url.substring(0,6)=='igjcor') {
   url='../ij/'+url
  } else {
   url='../ig/'+url
  }
 } else {
  if (url.substring(0,2)=='00') {
   if (url.substring(8,12)=='.GIF') { url=url.substring(0,8)+'.gif' }
   url='../id/'+url
  }
 }
 return url
}

function pURL(url) {
 var DR_pic=window.open('pic.htm?pic='+gloc(url),'pic','location,scrollbars,status,menubar,toolbar,resizable,width=500,height=350')
 DR_pic.opener=window
 DR_pic.focus()
}

function xURL(url) {
 var DR_ext=window.open(url,'ext','location,status,menubar,toolbar,scrollbars,resizable,width=780,height=440')
 DR_ext.opener=window
 DR_ext.focus()
}

function urlwin(url,win) {
 // if 1st param is graphic then it's opened in pic.htm (zoomable)
 //   with 2nd param as TITLE and graphic document name as window name
 // otherwise it's a web site/page and 2nd param is window name
 var wpm='scrollbars,resizable'
 var ext=url.substring(url.length-4,url.length); ext=ext.toUpperCase()
 var exs='.JPG.GIF'
 if (exs.indexOf(ext)>=0) {
  if (url.substring(0,2)=='ig') {
   if (url.substring(0,6)=='igjcor') {
    url='../ij/'+url
   } else {
    url='../ig/'+url
   }
  } else {
   if (url.substring(0,2)=='00') {
//    if (url.substring(8,12)=='.GIF') { url=url.substring(0,8)+'.gif' }
    url='../id/'+url.toLowerCase()
   }
  }
  // remove punctuation from win
  var pun='&';
  for(i=0; i<win.length; i++) {
   if (pun.indexOf(win.charAt(i))>=0) {
    win=win.substring(0,i)+' '+win.substring(i+1,win.length)
   }
  }
  url='pic.htm?pic='+url+'&txt='+win
  wpm=wpm+',width=500,height=350';
 } else {
  wpm=wpm+',location,status,menubar,toolbar,width=780,height=440';
 }
 // remove punctuation from win
 var pun='\ /:.-"'+"'";
 for(i=0; i<win.length; i++) {
  if (pun.indexOf(win.charAt(i))>=0) {
// alert('found |'+win.charAt(i)+'|')
   win=win.substring(0,i)+'_'+win.substring(i+1,win.length)
  }
 }
 // alert(url+"   "+win+'   '+wpm)
 var DR_ext=window.open(url,win,wpm); DR_ext.opener=window; DR_ext.focus()
}

function createRequestObject() {
 // ie/pic,pix,picbin ia/pic,ifpostit,indexarc 
  FORM_DATA = new Object();
  separator = ',';
  query = unescape('' + this.location);
  query = query.substring((query.indexOf('?')) + 1);
  if (query.length < 1) { return false; }
  keypairs = new Object();
  numKP = 1;
  while (query.indexOf('&') > -1) {
    keypairs[numKP] = query.substring(0,query.indexOf('&'));
    query = query.substring((query.indexOf('&')) + 1);
    numKP++;
  }
  keypairs[numKP] = query;
  for (i in keypairs) {
    keyName = keypairs[i].substring(0,keypairs[i].indexOf('='));
    keyValue = keypairs[i].substring((keypairs[i].indexOf('=')) + 1);
    while (keyValue.indexOf('+') > -1) {
      keyValue = keyValue.substring(0,keyValue.indexOf('+')) + ' ' + keyValue.substring(keyValue.indexOf('+') + 1);
    }
    keyValue = unescape(keyValue);
    if (FORM_DATA[keyName]) {
      FORM_DATA[keyName] = FORM_DATA[keyName] + separator + keyValue;
    } else {
      FORM_DATA[keyName] = keyValue;
    }
  }
  return FORM_DATA;
}

function hilite(robj,yn) {
 robj.style.backgroundColor=(yn?"#000088":"#ffffff")
 robj.style.color=(yn?"#ffffff":"#7f007f")
}

function sel(thid) {
 var robj=document.getElementById("r"+thid)
 var curl=dast[thid].substr(dast[thid].indexOf("_")+2)
 var ityp=dast[thid].substr(dast[thid].indexOf("_")+1,1)

 var flag=true
 for (var ptr=0; ptr<parent.vstd.length; ptr++) {
  if (parent.vstd[ptr]==curl) {flag=false;ptr=parent.vstd.length}
 }
 if (flag) {parent.vstd[parent.vstd.length]=curl}

 for (var ptr=0; ptr<dast.length; ptr++) {
  if (dast[ptr].substr(dast[ptr].indexOf("_")+2)==curl) { hilite(document.getElementById("r"+ptr),false) } // visited
 }


 if (lastrobj) { hilite(lastrobj,false) }
 hilite(robj,true) // blue bg
 lastrobj=robj

 if ( ityp=='G' || 0<curl.indexOf('GIF')  || 0<curl.indexOf('gif')  || 0<curl.indexOf('JPG')  || 0<curl.indexOf('jpg') ) {

// curl= ../ig/igblah.jpg
  parent.fr90.location.href=gloc(curl);
//  parent.pURL(curl)

 } else {
  if ( ityp=='F' ) {
   parent.fr70.explis(curl)
  } else {
   if ( ityp=='L' ) {
    if ( curl.substr(0,7)=='http://' ) {
     parent.xURL(curl)
    } else {
     parent.xURL(curl+'.htm')
    }
   } else {
    curl='../'+curl.substr(0,2)+'/'+curl+'.htm' // subj and editorial
    parent.fr90.location.href=curl;
   }
  }
 }
 if (parent.lisdoc!="1st"&&thid>2) { scrollBy(0,13*(thid-2)) }
}

function keyp(kn) {
// 56=up, 50=dn on Num pad
 var isup=(kn==56)
 var isdn=(kn==50)
 if (isup || isdn) {
  var newrow=(lastrobj.id.substr(1))*1+(isdn ? 1 : -1)
  if (newrow>=0 && newrow<=dast.length) {
   sel(newrow,'S')
   parent.fr50.scrollBy(0,(isdn ? 16 : -16))
  }
 }
}

function ikboot() {
 var icos = "EFGLS*+ow "
 var parentvstd=parent.vstd // for speed
 if (dast.length!=0) {
  var ih='<table cellpadding=0 cellspacing=0 style="font: 100%;color:#0000ff">';
// parent.lisdoc may 
// not exist (at boot), don't load anything over default or 
// may be "1st", find first text doc, or
// may contain specified doc,  which will have already loaded.
  var pt1=(parent.lisdoc?parent.lisdoc:'none')
  for (var ptr=0; ptr<dast.length; ptr++) {
   var ch=dast[ptr].indexOf("_")
   var typ=dast[ptr].charAt(ch+1)
   var ttl=dast[ptr].substr(ch+2)
   if ((pt1=='1st' && (typ=='E'||typ=='S'))||pt1==ttl) {pt1=ptr}
   ih+='<tr><td onClick="sel('+ptr+')">'+icos.substr(5+icos.indexOf(typ),1)+'&nbsp;</td>';
   ih+= '<td id="r'+ptr+'" onClick="sel('+ptr+')"';
   if (parentvstd.length) {
    for (var ptr2=0; ptr2<parentvstd.length; ptr2++) {
     if (parentvstd[ptr2]==ttl) {
      ptr2=parentvstd.length; 
      ih+= ' style="color:#7f007f"' // visited
     }
    }
   }
   if (typ!='x') {ih+= ' title="'+ttl+'"'}
   ih+= '> ';
   if (typ=='E') {ih+= '<b>'}
   ih+= dast[ptr].substr(0,ch);
   if (typ=='E') {ih+= '</b>'}
   ih+= '</td></tr>';
  }
  ih=ih+'</table>'
  document.getElementById("ibod").innerHTML=ih
  lastrobj=document.getElementById("r"+pt1)
//  if (dast[0].substring(0,6)!='Editor') { // avoids loading error
  if (parent.lisdoc) { // avoids loading error
   sel(pt1);
  }
 }
 parent.lisdoc="1st"
}

function o70(id) {
 return parent.fr70.document.getElementById(id)
}

function exp(num) {
 var ctrl=o70('b'+num);
 var expand = (0<=ctrl.src.indexOf('ictplu.gif')) 
 if ( expand || (0<=ctrl.src.indexOf('ictmin.gif')) ) {
  ctrl.src=(expand ? "ictmin.gif" : "ictplu.gif")
  var nrow = ctrl.id.substr(1)
  var lvl=parseInt(o70("d"+nrow).style.left, 10)/19
  var obanr=o70("a"+nrow)
  var ptop=parseInt(obanr.style.top, 10)
  var nn=nrow*1+1;
  var nntyp=parseInt(o70("d"+nn).style.left, 10)/19
  var obann, obbnn, done=false
  while (nntyp>0) {
   obann=o70("a"+nn)
   if ((obann.style.visibility!='hidden' && !(!expand && (nntyp>lvl) && !done)) || (expand && (nntyp==(lvl+1)) && !done)) {
    ptop=ptop+16
    obann.style.top=ptop
    obann.style.visibility='visible'
   } else {
    obbnn=o70("b"+nn)
    if (!expand && 0<=obbnn.src.indexOf('ictmin.gif')) { obbnn.src="ictplu.gif" }
    obann.style.visibility='hidden'
   }
   done=(done || nntyp==lvl) 
   nn++;
   nntyp=parseInt(o70("d"+nn).style.left, 10)/19
  }
 }
}


function lis(foldr, dest) {
 opn(lastfldr,false)
 opn(foldr,true)
 lastfldr=foldr
 dest='d'+(10000+parseInt(dest))
 dest="../ia/ik"+dest.substr(2)+".htm";
 parent.fr50.location.href=dest;
}

function opn(r,yn) {
 o70("f"+r).src=(yn ? "ictopn.gif" : "ictfol.gif" )
// o70("d"+r).style.backgroundColor=(yn ? '#000088' : '#ffffff' )
// o70("d"+r).style.color=(yn ? '#ffffff' : '#000000' )
}
