﻿var Prn,Data=[],Sys=[1,"",0,0,1,0,2], verse=""

function LeftReload(p){

 if(Sys[0]!=p){

  Sys[0]=p
 
  getField('Left').src="LeftRight/Left"+(Sys[0]+1)+".html"
 }
}


function LeftLoad(){
var x,x1,x2,x3,L


 L=Data[Sys[0]][0][5]


 x=getFrame("Left") 

 x1=getFField(x,"L1")


 x2=x1.options

 x2.length=L.length

 for(i=0;i<x2.length;i++){
  x2[i].text=L[i]
 }

 x1.selectedIndex=Sys[2]


 x1=getFField(x,"L2")
 x2=x1.options

 x2.length=L.length+1

 for(i=0;i<L.length;i++){
  x2[i+1].text=L[i]
 }

 x1.selectedIndex=Sys[4]+1

 headerShow()
}


function Version(){
var x,x1,x2

 x=getFrame("Left")

 x1=getFField(x,"L1").selectedIndex
 x2=getFField(x,"L2").selectedIndex-1


 if((x1==x2)||(x2<0)){
  x2=0
  
  Sys[6]=1

 } else {

  Sys[6]=2
 }

 Sys[2]=x1
 Sys[4]=x2


 headerShow()
}


function Load(){
var i,ix,s,sx,x,xx,r,parms

 x=[0,0]


 s=window.location.href


 i=s.lastIndexOf("?")

 if(i<=0){

  s=""

 } else {

  i++

  s=s.substr(i)

  r=/([^\d])/g

  s=s.replace(r,",$1")

  s=s.split(",")
 } 

 for(i=1;i<s.length;i++){ 

  sx=s[i].charAt(0)

  if(sx=="L"){

   if(testParms(0,s[i],1,1,1,3)){
    Sys[0]--
   } 

  } else if(sx=="R"){


   testParms(1,s[i],1,1,0,0)

   Sys[1]=""

  } else if(sx=="B"){


   if(testParms(2,s[i],1,1,1,3)){
    Sys[2]--
   } 

   testParms(3,s[i],2,1,0,0)

   if(s[i].length>=4){

    if(testParms(4,s[i],3,1,1,3)){
     Sys[4]--
    } 

    testParms(5,s[i],4,1,0,0)
   }






  } else if(sx=="N"){


   x[0]=parseInt(s[i].substr(1,2))

   x[0]=((x[0]<40)||(x[0]>66)) ? 0:x[0]-39

   if(s[i].length>3){
    x[1]=parseInt(s[i].substr(3,2))

    if(x[1]<0){

     x[1]=0

    }
   }

  } else if(sx=="V"){

   verse=parseInt(s[i].substr(1,2))

  }
 }


 Sys[6]=((Sys[2]!=Sys[4])||(Sys[4]>=0)) ? 2:1

 if(Sys[4]<0){
  Sys[4]=0
 } 

 getField('Left').src="LeftRight/Left"+(Sys[0]+1)+".html" 
 getField('Right').src="LeftRight/Right"+Sys[1]+".html" 


 loadData()

 xx=getField("Book1") 

 xx.selectedIndex=x[0]  

 selectBook(xx,1,2,0)  

 xx=getField("Chapter1") 

 if(xx.options.length<=x[1]){
  x[1]=xx.options.length-1
 }

 xx.selectedIndex=x[1]  

 selectChapter(xx,2,1)

 if(Sys[2]==Sys[4]){

  Sys[4]=0
  Sys[6]=1

  headerShow()
 }
}




function testParms(p,p1,p2,p3,p4,p5){
//**** p=Sys[p], p1=String, p2=position, p3=length, p4=min, p5=max

var i,s="......"

 i=parseInt(p1.substr(p2,p3))

 if((i<p4)||(i>p5)){

//  alert(p1 +"- Invalid parameter\n" + s.substr(0,p2) + "^")

  return false
 }

 Sys[p]=i

 return true
}

function loadData(){
var x,xx,x1,x2

 loadData1(0,"E1")
 loadData1(1,"L1")
 loadData1(2,"R1")

 drawTemplate()

//****** fix Mozilla format


 xx=getField("Head")

 x1=xx.offsetWidth

 x=getField("Main")

 x2=x.offsetWidth

 if(x1<x2){
  xx.width=x2
 }

 x1=xx.offsetTop+xx.offsetHeight
 x2=x.offsetTop

 if(x2<x1){
  x.style.top=x1+1
 }
}

function loadData1(p1,p2){
//**** p1=number, p2=dataField


var x,i,s,r

 s=getField(p2).innerHTML

 r=/\s*([,|\*])/g

 s=s.replace(r,"$1")

 Data[p1]=s.split("*")

 x=Data[p1]

 x[0]=x[0].split(",")                                  // header 
 x[1]=x[1].split(",")                                  // list of books 

 x[0][1]=x[0][1].split(";")                            // languages - and,parallel edition,list of languages

 x=x[0][1]

 for(i=2;i<x.length;i++){                              // uppercase:lowercase - ref Data[0][1][n1][n2] 
  x[i]=x[i].split(":")
 }

 x=Data[p1]

 x[0][5]=x[0][5].split(";")
 x[0][6]=x[0][6].split(";")
 

}

function getHead(p1){
//**** p1=language

var x=Data[Sys[p1]][0]

 return x[5][Sys[2]] +" "+ x[1][0] +" "+ x[6][Sys[4]] +" "+ x[1][1]
}


function drawTemplate(){
var x,x1,x2,x3,s=""

 x1=Data[Sys[2]][0]
 x2=Data[Sys[4]][0]

  s+="<table id='Head' cellpadding=0 cellspacing=0><tr>"
  s+="<td id='x80' class='h1'>"+x1[0]+"</td>"
  s+="<td class='prx' align=center valign=bottom rowspan=2 onclick='printFrame()'><img src='LeftRight/img/Printer-icon.png'></td>"
  s+="<td id='x90' class='h1'>"+x2[0]+"</td>"

  s+="</tr><tr>"

  s+="<td id='x81' class='h1a'>"+getHead(2)+"</td>"
  s+="<td id='x91' class='h1a'>"+getHead(4)+"</td>"

 s+="</tr><tr>"

  s+="<td id='x82' class='h1b'>"+x1[2]+"</td>"
  s+="<td class='h2' align=center>"
   s+="<table><tr><td id='x70' class='prn' onclick='printFrame()'>"+Data[Sys[0]][0][8]+"</tr></tr></table>"
  s+="</td>"
  s+="<td id='x92' class='h1b'>"+x2[2]+"</td>"

 s+="</tr><tr>"

 s+="<td class='h3'>"
  s+="<select id='Book1' onchange='selectBook(this,1,2)'>"
   s+="<option>Select Book</option>"
  s+="</select>"
  s+="<select id='Chapter1' onchange='selectChapter(this,2,1)'>"
   s+="<option>??</option>"
  s+="</select>"
 s+="</td>"

 s+="<td class='h2' align=center>"
  s+="<table cellpadding=0 cellspacing=2'><tr>"
   s+="<td class='btn' onclick='scroll1(-1)' title='Previous Book'>|<</td>"
   s+="<td class='btn' onclick='scroll(-1)' title='Previous Chapter'><</td>"
   s+="<td class='btn' onclick='scroll(1)' title='Next Chapter'>></td>"
   s+="<td class='btn' onclick='scroll1(1)' title='Next Book'>>|</td>"
  s+="</tr></table>"
 s+="</td>"

 s+="<td class='h3' align=right>"
  s+="<select id='Book2' onchange='selectBook(this,2,1)'>"
   s+="<option>Select Book</option>"
  s+="</select>"
  s+="<select id='Chapter2' onchange='selectChapter(this,1,2)'>"
   s+="<option>??</option>"
  s+="</select>"
 s+="</td>"

 s+="</tr></table>"

 s+="<iframe id='Main' name='Main' src='print.html'></iframe>"

 x=getField("NTX")

 x.innerHTML=s

 loadBooks(Sys[2],"Book1")
 loadBooks(Sys[4],"Book2")

 if(Sys[6]==1){ 
  headerHide()
 }

 x.style.display = "block"
}

function headerShow(){
var x,x1,x2,x11,x21

 x1=Data[Sys[2]][0]
 x2=Data[Sys[4]][0]

 getField('x80').innerHTML=x1[0]
 getField('x90').innerHTML=x2[0]

 getField('x81').innerHTML=getHead(2)
 getField('x91').innerHTML=getHead(4)

 getField('x82').innerHTML=x1[2]
 getField('x92').innerHTML=x2[2]

 getField('x92').innerHTML=x2[2]

 getField('x70').innerHTML=Data[Sys[0]][0][8]


 x1=getField("Book1")
 x2=getField("Chapter1") 

 x11=x1.selectedIndex
 x21=x2.selectedIndex

 loadBooks(Sys[2],"Book1")
 loadBooks(Sys[4],"Book2")

 if(Sys[6]==1){ 
  headerHide()
 }


 x1.selectedIndex=x11  

 selectBook(x1,1,2,0)  

 x2.selectedIndex=x21  

 selectChapter(x2,2,1)

 if((x11!=0)&&(x21==0)){
  selectBook1()
 }
}

function headerHide(){

 getField('x81').innerHTML=getField('x82').innerHTML
 getField('x82').innerHTML=''

 getField('x90').innerHTML=''
 getField('x91').innerHTML=''
 getField('x92').innerHTML=''

 getField('Book2').style.display='none'
 getField('Chapter2').style.display='none'
}

function loadBooks(p,p1){
var i,x

 p=Data[p][1]

 x=getField(p1)

 x.length=p.length

 for(i=0;i<p.length;i++){
  x.options[i].text=p[i]
 }

 x.selectedIndex=0
}


function scroll(p){
var x,i

 x=getField("Chapter1") 

 i=x.selectedIndex


 if(p<0){
  
  if(i<=0){

   if(getField("Book1").selectedIndex<=0){

    scroll1(1,0)
   }

   i=1

  } else if(i==1){

   scroll1(p,0)

   i=x.options.length-1

  } else {

   i--
  }

 } else {

  i++   

  if(i==x.options.length){

   scroll1(p,0)

   i=1
  }
 }

 x.selectedIndex=i  

 selectChapter(x,2,1)  
}

function scroll1(p,p1){
var x,i

 x=getField("Book1") 

 i=x.selectedIndex

 if(p<0){

  if(i<=0){

   i=2

  } else if(i==1){

   i=x.options.length
  }

  i--

 } else {

  i++   

  if(i==x.options.length){
   i=1
  }
 }

 x.selectedIndex=i  

 selectBook(x,1,2,p1)  
}



function selectBook(p,p1,p2,p3){
var numChapters,x,i,ix

 i=p.selectedIndex


 if(i<=0){
  getField("Book"+p1).selectedIndex=getField("Book"+p2).selectedIndex
  return
 }


 getField("Book"+p2).selectedIndex=i 

 i--

 numChapters=[28,16,24,21,28,16,16,13,6,6,4,4,5,3,6,4,3,1,13,5,5,3,5,1,1,1,22]

 ix=numChapters[i]

 loadChapters(ix,p1,0)
 loadChapters(ix,p2,0)

 x=getField("Chapter1")


 if(x.options.length==2){

  x.selectedIndex=1 

  selectChapter(x,1,2)  

 } else if(p3!=0){

  selectBook1()
 }  
}

function selectBook1(){
var s

  s="<div class='selb'>&nbsp;</div>"

  s+="<div class='selc'>"+Data[Sys[2]][0][4]

 if(Sys[6]==2){ 
  s+="<br><br>"+Data[Sys[4]][0][4]
 }

 s+="</div>"


 getFrameField("Main","main").innerHTML=s

}

function loadChapters(p1,p2,p3){
var i,x,src

 x=getField("Chapter"+p2) 

 x.options.length=p1+1

 for(i=1;i<x.options.length;i++){
  x.options[i].text = i
 }

 x.selectedIndex=p3
}

function selectChapter(p,p1,p2){
var i

 i=p.selectedIndex

 if(i<=0){
  getField("Chapter"+p2).selectedIndex=getField("Chapter"+p1).selectedIndex
  return
 }

 getField("Chapter"+p1).selectedIndex=i

 i=((39+getField("Book1").selectedIndex)*100)+i             // file number

 Sys[8]="/N"+i+".html"
 Sys[9]=10

 getField("Main").src=Data[Sys[2]][0][3]+Sys[8] 
}

function getFile(){
var x,s,r



 x=getFrameField("Main","main")



 s=x.innerHTML


 r=/#1 /


 s=s.replace(r,"<span class='v1'>1 </span>")



 r=/\+(\d+)/g

 s=s.replace(r,"<br><span class='v2'>$1</span>")


 r=/\*(\d+)/g

 s=s.replace(r,"&nbsp;&nbsp;&nbsp;<span class='v2'>$1</span>")


 r=/#(\d+)/g

 s=s.replace(r," <span class='v2'>$1</span>")


 r=/\[([^\]]*)\]/g

 s=s.replace(r,"<i>$1</i>")



 Sys[Sys[9]]=s  //.split("|")

 
 if(Sys[9]>=11){

  getFile2()

 } else if(Sys[6]==2){

  Sys[9]++

  getField("Main").src=Data[Sys[4]][0][3]+Sys[8] + "#foo"
  

 } else {

  getFile1()
 }
}

function getFile1(){
var x,x1,x2,x3,x4,i,s

 i=0 

 x1=Data[Sys[2]][0]


 s="<table id='NTX' cellspacing=0 cellpadding=0>"
 s+="<thead>"
 s+="<tr><th class='h1'>"+x1[0]+"</th></tr>"
 s+="<tr><th class='h3'>"+x1[2]+"<br><br></th></tr>"
 
 x1=Sys[10]

 if(verse!=""){
  r=new RegExp(">("+verse+")<","")

  x1=x1.replace(r,"><a id='foo' name='foo'></a>$1<")
 }

 x1=x1.split("|")



 s+="<tr><th class='h4'>"+x1[0]+"</th></tr>"
 s+="</thead><tbody>"

 x4=x1.length

 
 for(i=1;i<x4;i++){

  s+="<tr><td class='t1'>"+x1[i]+"</td></tr>"
 }


 s+="</tbody></table><br><br><center><span style='font-size:9px;'>Copyright &copy; 2009 Paul F. Clifford</span></center>"

 x=getFrameField("Main","main")

 x.innerHTML=s

 x.style.display="block"

 Sys[10]=""

 if(verse!=""){

  frames['Main'].document.getElementById('foo').scrollIntoView(true)

  window.scrollTo(0,0)
 }

}


function getFile2(){
var x,x1,x2,x3,x4,i,s,r

 i=0 

 x1=Data[Sys[2]][0]
 x2=Data[Sys[4]][0]


 s="<table id='NTX' cellspacing=0 cellpadding=0>"
 s+="<thead>"
 s+="<tr><th class='h1'>"+x1[0]+"</th><th class='t2'>&nbsp;</th><th class='h1'>"+x2[0]+"</th></tr>"
 s+="<tr><th class='h2'>"+getHead(2)+"</th><th class='t2'>&nbsp;</th><th class='h2'>"+getHead(4)+"</th></tr>"
 s+="<tr><th class='h3'>"+x1[2]+"<br><br></th><th class='t2'>&nbsp;</th><th class='h3'>"+x2[2]+"</th></tr>"
 
 x1=Sys[10]
 x2=Sys[11]

 if(verse!=""){
  r=new RegExp(">("+verse+")<","")

  x1=x1.replace(r,"><a id='foo' name='foo' style='color:red;'>$1</a><")
 }

 x1=x1.split("|")
 x2=x2.split("|")

 s+="<tr><th class='h4'>"+x1[0]+"</th><th class='t2'>&nbsp;</th><th class='h4'>"+x2[0]+"</th></tr>"
 s+="</thead><tbody>"

 x4=(x1.length<=x2.length) ? x1.length:x2.length

 
 for(i=1;i<x4;i++){

  s+="<tr><td class='t1'>"+x1[i]+"</td><td class='t2'>&nbsp;</td><td class='t1'>"+x2[i]+"</td></tr>"
 }

 if(x1.length>x2.length){
 
  for(i=x2.length;i<x1.length;i++){

   s+="<tr><td class='t1'>"+x1[i]+"</td><td class='t2'>&nbsp;</td><td class='t1'>&nbsp;</td></tr>"
  }

 } else {

  for(i=i;i<x2.length;i++){

   s+="<tr><td class='t1'>&nbsp;</td><td class='t2'>&nbsp;</td><td class='t1'>"+x2[i]+"</td></tr>"
  }
 }

 s+="</tbody></table><br><br><center><span style='font-size:9px;'>Copyright &copy; 2009 Paul F. Clifford</span></center>"


 x=getFrameField("Main","main")

 x.innerHTML=s

 x.style.display="block"


 if(verse!=""){

  frames['Main'].document.getElementById('foo').scrollIntoView(true)

  window.scrollTo(0,0)
 }

 Sys[10]=""
 Sys[11]=""
}





function getFrame(p){
var x=getField(p)

 return (x.contentDocument) ? x.contentDocument:x.contentWindow.document
}

function getFrameField(p1,p2){

 return getFrame(p1).getElementById(p2)
}

function getFField(p1,p2){

 return p1.getElementById(p2)
}

function getField(p){

 return document.getElementById(p)
}

function xWrite(p){

 document.write(p) 
}


function printFrame(){
var x

 if(Sys[7]==1){
  return
 }

 if(getField("Chapter1").selectedIndex<=0){
  return
 }

 Sys[7]=1

 if(!parent.Main){

  getField('Main').contentWindow.print()               // Firefox

  Sys[7]=0

  return 
 }

 Prn=window.open('print.html')                           // IE

 printLoad()
}

function printLoad(){

 if(!Prn.document.getElementById('main')){
  setTimeout("printLoad()",100)
  return
 } 

 Prn.document.getElementById('main').innerHTML=getFrameField("Main","main").innerHTML

 Prn.window.print()

 alert(Data[Sys[0]][0][7])                            //"Press [OK] when printing is completed.")

 Prn.close()

 Sys[7]=0
}

