// JavaScript Document
var body1 = null;
var boek_holder = null;
var show1 = null;
var show2 = null;
var mousedown = false;
var end_targ;
var start_zin_nummer = null; // staat in de hoofdpagina ivm met PHP value
var targ_array = Array();
//
var bodyWidth = 0;
var bodyHeight = 0;
function get_WH(offset) {
	// haal hoogte en breedte window op
	if (self.innerHeight) // all except Explorer
	{
		bodyWidth = self.innerWidth;
		bodyHeight = self.innerHeight;
	}
	else if (document.documentElement && document.documentElement.clientHeight)
		// Explorer 6 Strict Mode
	{
		bodyWidth = document.documentElement.clientWidth;
		bodyHeight = document.documentElement.clientHeight;
	}
	else if (document.body) // other Explorers
	{
		bodyWidth = document.body.clientWidth;
		bodyHeight = document.body.clientHeight;
	}
	document.getElementById("inh").style.height = (bodyHeight - offset) + "px";
}
function init(offset)
{
	// test resize browser window
	//window.resizeTo(500,800);
	// de volgende functies staan in dit script
	tog_init(); // toggle font
	sma_init(); // smaller font
	lar_init(); // larger font
	bac_init(); // background
	ali_init(); // align text
	cfo_init(); // color font
	select_all(); // herstel selectie als de pagina wordt ververst
	get_WH(offset); // pas hoogte inh layer aan
	body1 = document.getElementById('inh');
	//body1.scrollTop = document.getElementById("_scrollY").value; // Scroll inh naar de selectie
	var zin_nummer = document.forms["navigateform"].start.value;
	_scrollY = document.forms["navigateform"]._scrollY.value;
	if ((zin_nummer != "") && (zin_nummer != null) && (zin_nummer != -1) && (_scrollY != "0"))
	{
		// test welke zin hoger in detekst staat, scroll naar deze zin
		var scroll_L = document.getElementById("L" + zin_nummer).offsetTop;
		if (document.getElementById("R" + zin_nummer))
		{
			var scroll_R = document.getElementById("R" + zin_nummer).offsetTop;
		}
		else
		{
			var scroll_R = 0;
		}
		if (scroll_L > scroll_R)
		{
			var scroll_To = scroll_R;
		}
		else
		{
			var scroll_To = scroll_L;
		}		
		body1.scrollTop = scroll_To;
	}
	boek_holder = document.getElementById('boek_holder'); // is html body element
    //W3C event-handler
    if(body1.addEventListener) {
        body1.addEventListener('mousedown',getA,false);
    }
    //Microsoft event-handler
    if(body1.attachEvent) {
        body1.attachEvent('onmousedown',getA);
    }
}
function reset_events()
{
	// Verwijder alle events
	if(body1.addEventListener) {
        body1.removeEventListener('mousedown',getA,false);
		body1.removeEventListener('mousemove',getIDs,false);
        body1.removeEventListener('mouseup',toonB,false);	
    }
    if(body1.attachEvent) {
        body1.detachEvent('onmousedown',getA);
		body1.detachEvent('onmousemove',getIDs);
        body1.detachEvent('onmouseup',toonB);
    }
}
function deselect_all()
{
	// Verwijder de getoonde selecties
	start_zin_nummer = null;
	document.forms["navigateform"]._select.value="false";
	var div_array = document.getElementsByTagName("DIV");
	var left_right;
	if (div_array.length > 0)
	{
		for (i = 0; i < targ_array.length; i++)
		{
			links = targ_array[i];		
			document.getElementById(links).style.backgroundColor = "";
			rechts = links.replace("L", "R");
			if (document.getElementById(rechts))
			{
				document.getElementById(rechts).style.backgroundColor = "";
			}
		}
		targ_array = Array();	
	}
	// reset de selectie en scroll waarden
	document.forms["navigateform"].start.value="";
	document.forms["navigateform"].end.value="";
	document.forms["navigateform"]._select.value="false";
	document.forms["navigateform"]._scrollY.value = "0";
}
function select_all()
{
	// Herstel de selectie bij het vernieuwen van de pagina
	var pushed_flag = false; // waarden mogen maar 1 x naar targ_array ge-pushed worden
	if (document.forms["navigateform"]._select.value == "true")
	{
		//alert(navigate_action_rechts);
		var start=parseInt(document.forms["navigateform"].start.value);
		var end=parseInt(document.forms["navigateform"].end.value);
		for (i=start;i<=end;i=i+2)
		{
			//alert(i);
			if ((navigate_action_links != "inhoud") && (navigate_action_links != "navigate_hoofdstuk"))
			{
				document.getElementById("L" + i).style.backgroundColor = "#FFFF66";
				targ_array.push("L" + i);
				pushed_flag = true;
			}
			if ((navigate_action_rechts != "inhoud") && (navigate_action_rechts != "navigate_hoofdstuk") && (navigate_action_links != "geen") && (navigate_action_rechts != "geen"))
			{
				document.getElementById("R" + i).style.backgroundColor = "#FFFF66";
				if (!pushed_flag)
				{
					targ_array.push("L" + i);
				}
			}
		}
	}
}
function getA(e) // Haal het begin van de selectie op (start = zin nummer)
{
	verberg_contextMenu();
	deselect_all();
	// rechter muis button toont content menu
	if (e.button == 2)
	{
		return false;
	}		
	//W3C event-handler
    if(body1.addEventListener) {
		body1.removeEventListener('mousedown',getA,false);
		body1.addEventListener('mousemove',getIDs,false);
        body1.addEventListener('mouseup',toonB,false);	
    }	
	//Microsoft event-handler
    if(body1.attachEvent) {
        body1.detachEvent('onmousedown',getA);
		body1.attachEvent('onmousemove',getIDs);
        body1.attachEvent('onmouseup',toonB);
    }
	var targ = getElement(e);
	var start = targ.id.substring(1);	
	//alert(targ.id);
	if (targ.className == "z")
	{
		// maak start zin nummer globaal om scan op te halen
		start_zin_nummer = start;
		if ((navigate_action_links != "inhoud") && (navigate_action_links != "navigate_hoofdstuk"))
		{
			document.getElementById("L" + start).style.backgroundColor = "#FFFF66";
		}
		if ((navigate_action_rechts != "inhoud") && (navigate_action_rechts != "navigate_hoofdstuk") && (navigate_action_links != "geen") && (navigate_action_rechts != "geen"))
		{
			document.getElementById("R" + start).style.backgroundColor = "#FFFF66";
		}
		targ_array.push(targ.id);
	}
}
function getIDs(e) // Haal de tussenliggende zin nummers op
{
    var targ = getElement(e);	
	if (targ.className == "z")
	{
		//document.getElementById("show1").innerHTML = targ_array.length;
		targ_array.push(targ.id);
	}
}
function toonB(e)// Haal het eind van de selectie op (end = zin nummer)
{
	//toon_contextMenu();
	//document.getElementById("inh_right").innerHTML = document.getElementById("inh_right").innerHTML;
	//alert("mouse up");
	//getEnd(e);
    if(body1.addEventListener) {
        body1.addEventListener('mousedown',getA,false);
		body1.removeEventListener('mousemove',getIDs,false);
        body1.removeEventListener('mouseup',toonB,false);
    }
    if(body1.attachEvent) {
        body1.attachEvent('onmousedown',getA);
		body1.detachEvent('onmousemove',getIDs);
        body1.detachEvent('onmouseup',toonB);
    }
	if (targ_array.length > 0)
	{
		targ_array.sort();	
		var start = parseInt(targ_array[0].substring(1));	
		var end = parseInt(targ_array[targ_array.length-1].substring(1));
		// zet start en eind id's van de geselecteerde zinnen in het fomulier
		document.forms["navigateform"].start.value=start;
		document.forms["navigateform"].end.value=end;
		document.forms["navigateform"]._select.value="true";
		document.forms["navigateform"]._scrollY.value = document.getElementById("inh").scrollTop;
		var string = "";
		for (i=start;i<=end;i=i+2)
		{
			// Selecteer beide talen alleen als de inhoud niet wordt weergegeven
			if ((navigate_action_links != "inhoud") && (navigate_action_links != "navigate_hoofdstuk"))
			{
				document.getElementById("L" + i).style.backgroundColor = "#FFFF66";
			}
			if ((navigate_action_rechts != "inhoud") && (navigate_action_rechts != "navigate_hoofdstuk") && (navigate_action_links != "geen") && (navigate_action_rechts != "geen"))
			{
				document.getElementById("R" + i).style.backgroundColor = "#FFFF66";
			}
		}
		// Plaats de geselecteerde tekst in een tekstveld. Voorlopige oplossing ivm de-selecteren van HTML
		document.getElementById("focusfield").style.display = "inline";
		document.getElementById("focusfield").focus();	
		document.getElementById("focusfield").blur();
		document.getElementById("focusfield").style.display = "none";
	}
}
// Haal het Element op, verschilt per browser
function getElement(e)
{
	//
	var targ;
	// Mozilla event
	if (!e) 
	{	
		var e = window.event;
	}
	if (e.target)
	{
		targ = e.target;
	}
	else if (e.srcElement)
	{
		targ = e.srcElement;
	}
	if (targ.nodeType == 3) // opvangen Safari bug
	{
		targ = targ.parentNode;
	}
	if (targ.tagName != "DIV")
	{
		targ = targ.parentNode;
	}
	return targ;
}
// Toon scan
function toon_scan()
{
	if ((start_zin_nummer != -1) && (start_zin_nummer != null))
	{
		window.open("open_scan.php?zinnummer=" + start_zin_nummer + "&titel=" + titel + "&boeknaam=" + boeknaam + "&deel=" + deel);
	}
	else
	{
		//location.href = "http://www.jozefrulof-boeken.nl/ereader/ereader.php?hoofdstuknummer=3&navigate_action_links=NL&navigate_action_rechts=inhoud&boeknaam=books_help";
		//window.open("open_scan.php?zinnummer=" + ID + "&titel=" + titel + "&boeknaam=" + boeknaam + "&deel=" + deel);
		alert("U kunt een Scan bekijken nadat u een selectie heeft gemaakt");
	}
}
// Toon help
function toon_help()
{
	var f = document.forms["kiesboek"];
	f.boeknaam.value = "help";
	f.submit();
}
function getWidth() {
  var myWidth = 0, myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight;
  }
  return myWidth;
}
function navigate(navigate_action, hoofdstuknummer, links_rechts)
{
	var f = document.forms["navigateform"];
	//f._action.value = "";
	f.boeknaam.value = boeknaam;
	if (hoofdstuknummer == undefined) // Maak hoofdstuknummer als het niet meegegeven is
	{
		hoofdstuknummer = parseInt(f.hoofdstuknummer.value);
		hoofdstuknummer = parseInt(document.getElementById("hoofdstuknummer").value);
	}
	else // Zet hoofdstuknummer in het formulier
	{
		f.hoofdstuknummer.value = hoofdstuknummer;
	}
	if ((navigate_action == "vorige") && (hoofdstuknummer > 1)) // Blader terug als hoofdstuknummer inhoud bevat
	{
		hoofdstuknummer--; // verlaag hoofdstuknummer
		f.hoofdstuknummer.value = hoofdstuknummer;
		// reset selectie en scroll Y positie
		f.start.value = "";
		f.end.value = "";
		f._select.value = "false";
		f.navigate_action.value = navigate_action;
		f.screenwidth.value = getWidth();
	}
	else if ((navigate_action == "volgende") && (hoofdstuknummer < aantal_hoofdstukken)) // Blader vooruit als hoofdstuknummer bestaat in database
	{
		hoofdstuknummer++; // verhoog hoofdstuknummer
		f.hoofdstuknummer.value = hoofdstuknummer;
		// reset selectie en scroll Y positie
		f.start.value = "";
		f.end.value = "";
		f._select.value = "false";
		f._scrollY.value = "0";
		f.navigate_action.value = navigate_action;
		f.screenwidth.value = getWidth();
	}
	else if ((navigate_action == "inhoud")) // Stuur inhoud action mee
	{
		if (links_rechts == "L")
		{
			f.navigate_action_links.value = navigate_action;
		}
		else if (links_rechts == "R")
		{
			f.navigate_action_rechts.value = navigate_action;
		}
		f.hoofdstuknummer.value = hoofdstuknummer;
		// reset scroll Y positie
		f._scrollY.value = "0";
		f.screenwidth.value = getWidth();
	}
	else if (navigate_action == "NL_oud")
	{
		if (links_rechts == "L")
		{
			f.navigate_action_links.value = navigate_action;
			f.navigate_action_rechts.value = "inhoud";
		}
		else if (links_rechts == "R")
		{
			f.navigate_action_rechts.value = navigate_action;
		}
		f.screenwidth.value = getWidth();
		f._action.value = "";	
	}
	else if ((navigate_action == "EN") || (navigate_action == "NL") || (navigate_action == "DE") || (navigate_action == "FR") || (navigate_action == "PT")) // Stuur taal action mee
	{
		if (links_rechts == "L")
		{
			f.navigate_action_links.value = navigate_action;
		}
		else if (links_rechts == "R")
		{
			f.navigate_action_rechts.value = navigate_action;
		}
		f.screenwidth.value = getWidth();
		f._action.value = "";		
	}
	else if (navigate_action == "navigate_hoofdstuk") // Er is een hoofdstuk in inhoud geselecteerd
	{
		// Toon Content ipv Inhoudsopgave in Single mode
		if (links_rechts == "S")
		{
			f.navigate_action_links.value = "NL"; // Nederlands is als default ingesteld
		}
		// reset selectie en scroll Y positie
		f.start.value = "";
		f.end.value = "";
		f._select.value = "false";
		f._scrollY.value = "0";
		f.screenwidth.value = getWidth();
	}
	else if (navigate_action == "geen") // Stuur geen mee
	{
		if (links_rechts == "L")
		{
			f.navigate_action_links.value = "geen";
		}
		else if (links_rechts == "R")
		{
			f.navigate_action_rechts.value = "geen";
		}
		f.screenwidth.value = "";
	}
	else if (navigate_action == "kleinmenu") // Toon een opgeschoonde ereader
	{
		f._action.value = "kleinmenu";
		f.navigate_action_rechts.value = "geen";
	}
	else if (navigate_action == "grootmenu") // Toon een normale ereader
	{
		f._action.value = "";
		f.navigate_action_rechts.value = "inhoud";
	}	
	else
	{
		//alert("fout");
		//return false;
	}
	// ############################################################
	//
	//	Verstuur het formulier
	//
	// ############################################################
	f.submit();
}
function kies_een_boek(boeknaam)
{
	var f = document.forms["kiesboek"];
	var deel = "";
	switch (f.boeknaam.value) {
		case "books_01vie0":
			deel = "VIE";
			break;
		case "books_02tho0":
			deel = "THO";
			break;
		case "books_03cyc0":
			deel = "CYC";
			break;
		case "books_06bet0":
			deel = "BET";
			break;	
		case "books_08gre0":
			deel = "GRE";
			break;						
		case "books_11jeu1":
			deel = "JEU1";
			break;
		case "books_11jeu2":
			deel = "JEU2";
			break;
		case "books_11jeu3":
			deel = "JEU3";
			break;
	}
	f.deel.value = deel;
	f.boeknaam.value = boeknaam;
	f.submit();
}
function kies_een_taal(ereader_taal)
{
	var f = document.forms["kiesboek"];
	f.ereader_taal.value = ereader_taal;
	f.submit();
}
/////////////////////////////////////
// HL(element) hover over menu item
/////////////////////////////////////
function HL(elem)
{
	elem.className = elem.className + " inhoud_hoover";
}
///////////////////////////////////////////
// noHL(element) end hover over menu item
///////////////////////////////////////////
function noHL(elem, classname)
{
	elem.className = classname;
}
// Opmaak functies
function ali_init(){   // Align tekst
 myObj=document.getElementById("inh");
 switch(a){
  case 1:myObj.style.textAlign="left";break;
  case 2:a=0;myObj.style.textAlign="justify"}}

function bac_init(){   // Background
 myObj=document.getElementById("inh");
 switch(b){
  case 1:myObj.style.backgroundImage="url(../images/ba2.gif)";
         myObj.style.backgroundRepeat="repeat";break;
  case 2:myObj.style.backgroundImage="url(../images/fill.gif)";
         myObj.style.backgroundRepeat="repeat";break;
  case 3:myObj.style.backgroundImage="url(../images/ba3.gif)";
         myObj.style.backgroundRepeat="repeat";break;
  case 4:myObj.style.backgroundImage="url(../images/fill_yellow.gif)";
         myObj.style.backgroundRepeat="repeat";break;
  case 5:b=0;myObj.style.backgroundImage="url(../images/ba1.gif)";
         myObj.style.backgroundRepeat="repeat-y"}}

function cfo_init(){   // Color font
 myObj=document.getElementById("inh");
 switch(c){
  case 1:myObj.style.color="#000066";break;
  case 2:myObj.style.color="#002200";break;
  case 3:myObj.style.color="#440011";break;
  case 4:c=0;myObj.style.color="#000000"}}

function lar_init(){   // "larger" font; "big"[ger] is reserved word
 if(fs<max){
	document.getElementById("inh").style.fontSize=fs+"pt"
	if (((navigate_action_links == "inhoud") || (navigate_action_links == "navigate_hoofdstuk")) && (navigate_action_rechts != "geen"))
	{
		document.getElementById("inh_left").style.fontSize=fs+"pt";
	}
	if (((navigate_action_rechts == "inhoud") || (navigate_action_rechts == "navigate_hoofdstuk")) && (navigate_action_links != "geen"))
	{
		document.getElementById("inh_right").style.fontSize=fs+"pt";
	}} 
	document.getElementById("fontsize").value=fs;
}

function sma_init(){   // Smaller font
 if(fs>min){
	document.getElementById("inh").style.fontSize=fs+"pt"
	if (((navigate_action_links == "inhoud") || (navigate_action_links == "navigate_hoofdstuk")) && (navigate_action_rechts != "geen"))
	{
		document.getElementById("inh_left").style.fontSize=fs+"pt";
	}
	if (((navigate_action_rechts == "inhoud") || (navigate_action_rechts == "navigate_hoofdstuk")) && (navigate_action_links != "geen"))
	{
		document.getElementById("inh_right").style.fontSize=fs+"pt";
	}}  
	document.getElementById("fontsize").value=fs; 
}

function tog_init(){   // Toggle font
 myObj=document.getElementById("inh");
 switch(d){
  case 1:myObj.style.fontFamily="Arial";break;
  case 2:myObj.style.fontFamily="Garamond";break;
  case 3:myObj.style.fontFamily="Times";break;
  case 4:myObj.style.fontFamily="Berling";break;
  case 5:myObj.style.fontFamily="Frutiger Linotype";break;
  case 6:myObj.style.fontFamily="Lucida Sans Typewriter";break;
  case 7:d=0;myObj.style.fontFamily="Courier"}}
//