var doc = document;

function checkQuery(q) {
	if (q.length<3||q=='search site'){alert('Please enter a search term (3 characters or more).');return false;}
	return true;
}

function initTextKlik() {
	if ((doc.getElementById("tekst") || doc.getElementById("treffers")) && (doc.selection || window.getSelection)) {
		var hetEl = doc.getElementById("tekst") ? doc.getElementById("tekst") : doc.getElementById("treffers");
		hetEl.ondblclick = function () {
			var curSel = doc.selection ? doc.selection.createRange().text : window.getSelection().toString();
			curSel = curSel.match(/\S+/g);
			if (curSel && curSel.toString().length > 2) {
				if (doc.getElementById("tekst")) {zoekvenstertje(curSel);} 
				else {doc.forms[0].find.value = curSel; doc.forms[0].submit();}
			}
			return false;
};}}

function zoekvenstertje(woord) {
	if (doc.getElementById('zoekdiv')) {doc.getElementsByTagName('body')[0].removeChild(doc.getElementById('zoekdiv'));}
	var zoekdiv = doc.createElement("div"); doc.getElementsByTagName('body')[0].appendChild(zoekdiv);
	zoekdiv.setAttribute('id', 'zoekdiv');
	var posx = (doc.documentElement ? doc.documentElement.scrollLeft : doc.body.scrollLeft), posy = (doc.documentElement ? doc.documentElement.scrollTop : doc.body.scrollTop);
	zoekdiv.style.top = posy + 300 + 'px'; zoekdiv.style.left = posx + 200 + 'px';
	var b = doc.getElementById("banner").innerHTML, d = b.indexOf("Old ") > -1 ? 1 : b.indexOf("New ") > -1 ? 2 : 3;
	woord = woord.toString().replace(/(.*)\W$/, "$1");
	zoekdiv.innerHTML = '<form action="/search.php"><input type="hidden" name="q" value="' + escape(woord) + '"><input type="hidden" name="searchIn" value="1"><fieldset style="padding: 5px;"><legend>Search for <strong>' + woord + '</strong>, in:</legend><label for="ot"><input type="checkbox" name="ot" id="ot" value="1"'+(d==1?" checked":"")+'><acronym title="Old Testament">O.T.</acronym>&nbsp;</label><label for="nt"><input type="checkbox" name="nt" id="nt" value="1"'+(d==2?" checked":"")+'><acronym title="New Testament">N.T.</acronym>&nbsp;</label><label for="ap"><input type="checkbox" name="ap" id="ap" value="1"'+(d==3?" checked":"")+'><acronym title="Apocrypha">Apocr.</acronym></label> &nbsp; <input type="submit" value="search!"> &nbsp; <input type="button" value="close" onClick="doc.getElementsByTagName(\'body\')[0].removeChild(doc.getElementById(\'zoekdiv\'))"></fieldset></form>';
}

// menu-stuff. menustatus 1 = gesloten; 2 = open;
var isopen = new Image(); isopen.src = "/pix/min.png";
var isdicht = new Image(); isdicht.src = "/pix/plus.png";
var imgPrefix = 'mpic', kopPrefix = 'mkop', liPrefix  = 'mlid';
var geenpointer = navigator.appName.indexOf('Internet Explorer') !=-1 && navigator.appVersion.substr(0,1) < 6;
function leeskoek(mID) {return doc.cookie.substr(doc.cookie.indexOf(mID+'=')+3, 1);}
function toonMenu(mID) {
	var curStat = leeskoek(mID); doc[imgPrefix+mID].src = curStat == '1' ? isdicht.src : isopen.src;
	doc.getElementById(liPrefix+mID).title = (curStat == '1' ? 'show' : 'hide') + ' this menu';
	doc[imgPrefix+mID].style.cursor = geenpointer ? 'hand' : 'pointer';
	doc.getElementById(liPrefix+mID).style.cursor = geenpointer ? 'hand' : 'pointer';
	var kids = doc.getElementById(mID).childNodes;
	for (var i = 0, kL = kids.length; i < kL; i++) {if(kids[i].tagName=='LI'&&kids[i].className!='kopje'){kids[i].style.display=curStat=='1'?'none':'block';}}
}
function toggleMenu(e) {
	if (window.event) {e = window.event;}
	var mID = e.srcElement ? e.srcElement.id : e.target.id; mID = mID.substr(imgPrefix.length);
	var eenjaar = new Date(); eenjaar.setFullYear(eenjaar.getFullYear() + 1);
	doc.cookie = mID + '=' + (leeskoek(mID) == 1 ? 2 : 1) + '; expires=' + eenjaar.toGMTString() + '; path=/'; 
	toonMenu(mID);
}
function leesdeelkoek() {return doc.cookie.substr(doc.cookie.indexOf('deel=')+5, 2);}
function toonboeken(deel) {
	var eenjaar = new Date(); eenjaar.setFullYear(eenjaar.getFullYear() + 1);
	deel = deel > '; ' ? deel : 'xx'; doc.cookie = 'deel=' + deel + '; expires=' + eenjaar.toGMTString() + '; path=/'; 
	try {doc.getElementById('alleboeken').innerHTML = eval(deel); } 
	catch(e) {doc.getElementById('alleboeken').innerHTML = '(cookies required)'; }
}
function toonboeklijst() {
	if (!navigator.cookieEnabled) {return;}
	doc.writeln('<ul class="hoofdmenu"><li class="kopje_bl"><a href="#" onclick="toonboeken(\'ot\'); return false" title="Old Testament">O.T.</a>|<a href="#" onclick="toonboeken(\'nt\'); return false" title="New Testament">N.T.</a>|<a href="#" onclick="toonboeken(\'ap\'); return false" title="Apocrypha">Apo.</a>|<a href="#" onclick="toonboeken(\'xx\'); return false" title="collapse">[-]</a></li><li id="alleboeken"></li></ul>');
	toonboeken(leesdeelkoek());
}
var ot = '<a href="/bible/genesis.html">Genesis</a><a href="/bible/exodus.html">Exodus</a><a href="/bible/leviticus.html">Leviticus</a><a href="/bible/numbers.html">Numbers</a><a href="/bible/deuteronomy.html">Deuteronomy</a><a href="/bible/joshua.html">Joshua</a><a href="/bible/judges.html">Judges</a><a href="/bible/ruth.html">Ruth</a><a href="/bible/1_samuel.html">1 Samuel</a><a href="/bible/2_samuel.html">2 Samuel</a><a href="/bible/1_kings.html">1 Kings</a><a href="/bible/2_kings.html">2 Kings</a><a href="/bible/1_chronicles.html">1 Chronicles</a><a href="/bible/2_chronicles.html">2 Chronicles</a><a href="/bible/ezra.html">Ezra</a><a href="/bible/nehemiah.html">Nehemiah</a><a href="/bible/esther.html">Esther</a><a href="/bible/job.html">Job</a><a href="/bible/psalms.html">Psalms</a><a href="/bible/proverbs.html">Proverbs</a><a href="/bible/ecclesiastes.html">Ecclesiastes</a><a href="/bible/canticles.html">Canticles</a><a href="/bible/isaiah.html">Isaiah</a><a href="/bible/jeremiah.html">Jeremiah</a><a href="/bible/lamentations.html">Lamentations</a><a href="/bible/ezekiel.html">Ezekiel</a><a href="/bible/daniel.html">Daniel</a><a href="/bible/hosea.html">Hosea</a><a href="/bible/joel.html">Joel</a><a href="/bible/amos.html">Amos</a><a href="/bible/obadiah.html">Obadiah</a><a href="/bible/jonah.html">Jonah</a><a href="/bible/micah.html">Micah</a><a href="/bible/nahum.html">Nahum</a><a href="/bible/habakkuk.html">Habakkuk</a><a href="/bible/zephaniah.html">Zephaniah</a><a href="/bible/haggai.html">Haggai</a><a href="/bible/zechariah.html">Zechariah</a><a href="/bible/malachi.html">Malachi</a>';
var nt = '<a href="/bible/matthew.html">Matthew</a><a href="/bible/mark.html">Mark</a><a href="/bible/luke.html">Luke</a><a href="/bible/john.html">John</a><a href="/bible/acts.html">Acts</a><a href="/bible/romans.html">Romans</a><a href="/bible/1_corinthians.html">1 Corinthians</a><a href="/bible/2_corinthians.html">2 Corinthians</a><a href="/bible/galatians.html">Galatians</a><a href="/bible/ephesians.html">Ephesians</a><a href="/bible/philippians.html">Philippians</a><a href="/bible/colossians.html">Colossians</a><a href="/bible/1_thessalonians.html">1 Thessalonians</a><a href="/bible/2_thessalonians.html">2 Thessalonians</a><a href="/bible/1_timothy.html">1 Timothy</a><a href="/bible/2_timothy.html">2 Timothy</a><a href="/bible/titus.html">Titus</a><a href="/bible/philemon.html">Philemon</a><a href="/bible/hebrews.html">Hebrews</a><a href="/bible/james.html">James</a><a href="/bible/1_peter.html">1 Peter</a><a href="/bible/2_peter.html">2 Peter</a><a href="/bible/1_john.html">1 John</a><a href="/bible/2_john.html">2 John</a><a href="/bible/3_john.html">3 John</a><a href="/bible/jude.html">Jude</a><a href="/bible/revelation.html">Revelation</a>';
var ap = '<a href="/bible/1_esdras.html">1 Esdras</a><a href="/bible/2_esdras.html">2 Esdras</a><a href="/bible/tobit.html">Tobit</a><a href="/bible/judith.html">Judith</a><a href="/bible/additions_to_esther.html">Additions to Esther</a><a href="/bible/wisdom_of_solomon.html">Wisdom of Solomon</a><a href="/bible/sirach.html">Sirach</a><a href="/bible/baruch.html">Baruch</a><a href="/bible/letter_of_jeremiah.html">Letter of Jeremiah</a><a href="/bible/additions_to_daniel.html">Additions to Daniel</a><a href="/bible/susanna.html">Susanna</a><a href="/bible/bel.html">Bel and the Dragon</a><a href="/bible/prayer_of_manassheh.html">Prayer of Manassheh</a><a href="/bible/1_maccabees.html">1 Maccabees</a><a href="/bible/2_maccabees.html">2 Maccabees</a>';
var xx = '';
function laadMenu(mID) {
	doc[imgPrefix+mID].id = imgPrefix+mID; doc.getElementById(imgPrefix+mID).nextSibling.nextSibling.id = kopPrefix + mID;
	var kids = doc.getElementById(mID).childNodes;
	for (var i = 0, kL = kids.length; i < kL; i++) {if (kids[i].className == 'kopje') {kids[i].onclick = toggleMenu;kids[i].id = liPrefix + mID;}}
	toonMenu(mID);
}
// highlight van # (ontleend aan http://doward.me.uk)
function AddClass(obj,cName){ return obj.className+=(obj.className.length>0?' ':'')+cName;}
function fragHLload() {fragHL(location.hash.substring(1));}
function fragHL(frag) {
	if (doc.getElementById("tekst")) frag = 'v' + frag;
    if (frag.length > 1 && doc.getElementById(frag) && frag != "top") {AddClass (doc.getElementById(frag),'highlight');
}}
// term uit woordenlijst vissen
var glossLinks = [], // hier wordt per linkID open/dicht bijgehouden
mydldiv = [], // array met elementen waarin de dl wordt getoond
curDiv, glossLink; // actieve div, wl-url
function fetchglossaryitemLoad() {
	var atags = doc.getElementsByTagName('a'), j = 0;
	for (var i = 0, aL = atags.length; i < aL; i++) {
		if (atags[i].className == 'wlb' || atags[i].className == 'wlk') {
			atags[i].onclick = function() {return fetchglossaryitem(this);};
			atags[i].id = 'wl' + j; glossLinks[atags[i].id] = 0; j++;
}}}
function fetchglossaryitem(a) {
	if (getItemIsShown(a.id)) {
		if (mydldiv[a.id]){a.parentNode.removeChild(mydldiv[a.id]);} setItemIsShown(a.id);
	} else {
		glossLink = a.href; var glossterm = glossLink.substr(glossLink.indexOf('#')+1);
		if (glossterm.length == 0) {return true;}
		mydldiv[a.id] = a.parentNode.insertBefore(doc.createElement('span'), a.nextSibling);
		curDiv = mydldiv[a.id]; myreq = inireq();
		if (myreq) {
			myreq.onreadystatechange = processReq;
			myreq.open("GET", 'http://' + location.hostname + '/fetchglossaryitem.php?glossary=' + a.className + '&glossterm=' + glossterm, true);
			myreq.setRequestHeader('If-Modified-Since', 'Tue, 27 Dec 2005 01:23:45 GMT'); myreq.send("");
		}
		setItemIsShown(a.id);
	}
	return false;
}
function getItemIsShown(aID) {return glossLinks[aID] == 1;}
function setItemIsShown(aID) {glossLinks[aID] = glossLinks[aID] == 1 ? 0 : 1;}
// ajax
var myreq;
function inireq() {
	var req = false;
	if (window.XMLHttpRequest) {try {req = new XMLHttpRequest();} catch(e) {req = false;}} 
	else if (window.ActiveXObject) {try {req = new ActiveXObject("Msxml2.XMLHTTP");} catch(e) {try {req = new ActiveXObject("Microsoft.XMLHTTP");} catch(e) {req = false;}}}
	if (!req) alert('Please use a recent version of Internet Explorer, Firefox, Opera or Safari.');
	return req;
}
function processReq() {
    if (myreq.readyState == 4) {
		if (myreq.responseXML.getElementsByTagName('status').item(0).firstChild.data == 1) {
			curDiv.innerHTML =  myreq.responseXML.getElementsByTagName('resultaat').item(0).firstChild.data;
		} else {location = glossLink;
}}}
// image rating
var stemmen = {	wid : 0, n : 0, rating: 1, fbBoxID : false, alGestemd : false,
	init : function (wid, fbBoxID, koeknaam) {stemmen.wid = wid; stemmen.fbBoxID = fbBoxID; stemmen.alGestemd = doc.cookie.indexOf(koeknaam + '=') > -1;},
	haalStemInfo : function () {myreq = inireq(); if (myreq && stemmen.wid > 0) {
		myreq.onreadystatechange = stemmen.processHaalStem;
		myreq.open("GET", 'http://' + location.hostname + '/art/rating.php?picId=' + stemmen.wid + '&get=1', false);
		myreq.setRequestHeader('If-Modified-Since', 'Tue, 27 Dec 2005 01:23:45 GMT'); myreq.send("");
	}},
	processHaalStem : function() {if (myreq.readyState == 4) {var antwoord = myreq.responseText.split('|'); stemmen.n = parseInt(antwoord[1]); stemmen.rating = parseFloat(antwoord[0]);}},
	setFbBox : function () {doc.getElementById(stemmen.fbBoxID).innerHTML = '[' + stemmen.n + ' votes]';},
	behandelStem : function () {var today = new Date(); today.setTime(today.getTime());
		var expires_date = new Date( today.getTime() + (30 * 60 * 60 * 24 * 1000) );
		doc.cookie = 'rate' + picRating.saveUrl.replace(/^.*picId=([0-9]{1,4}).*$/, "$1") + '=1;expires=' + expires_date.toGMTString() + ';path=/art';
		doc.getElementById(stemmen.fbBoxID).innerHTML = 'Thank you!';
}};
// meerdere onloads
function addOnload(newFunction) {
	var oldOnload=window.onload;if(typeof oldOnload == "function"){window.onload=function(){if(oldOnload){oldOnload();}newFunction();};}
	else {window.onload=newFunction;} 
}
addOnload(fragHLload);addOnload(fetchglossaryitemLoad);addOnload(initTextKlik);

// var cfPath = 'http://d1shzm2uca9f83.cloudfront.net/large/';
var imgDomain = 'http://static.artbible.info/';
function showBlowUp(plaat) {
	// args: pic.src, caption, target link, target link text
	// minMarge = links+rechts; divPad = som van padding,borders etc. in plaatdiv
	var pic = new Image(); pic.src = plaat.indexOf('http://') > -1 ? plaat : imgDomain + plaat; var scaled = false, picWidth=0, picHeight=0, minMarge = 50, divPad = 22; 
	var voettekstMetLink = '<p align="center">[ <a href="#" onclick="return sluitBlowUp();">close</a> ] | [ <a href="' + (arguments.length > 2 ? arguments[2] : plaat) + '">' + (arguments.length > 3 ? arguments[3] : 'read more') + '</a> ]</p>', voettekst = '<p align="center">[ <a href="#" onclick="return sluitBlowUp();">close</a> ]</p>', caption = arguments.length > 1 ? '<p align="center">' + arguments[1] + '</p>' : '';
	if (!doc.getElementById('transpAchtergrondDiv')){var tmp=doc.createElement('div');tmp.id='transpAchtergrondDiv';doc.getElementsByTagName('body')[0].appendChild(tmp);}
	if (!doc.getElementById('plaatDiv')){var tmp=doc.createElement('div');tmp.id='plaatDiv';doc.getElementsByTagName('body')[0].appendChild(tmp);}
	var bgDiv = doc.getElementById('transpAchtergrondDiv'), plaatDiv = doc.getElementById('plaatDiv'); 
	var rootElm = (doc.documentElement && doc.compatMode == 'CSS1Compat') ? doc.documentElement : doc.body;
	var vpw = (self.innerWidth ? self.innerWidth : rootElm.clientWidth) - 16; // ff hard de body-padding
	var vph = self.innerHeight ? self.innerHeight : rootElm.clientHeight;
	bgDiv.style.height = Math.max(rootElm.scrollHeight, vph) + 'px';
	bgDiv.style.display = 'block';
	if (pic.width == 0) {
		plaatDiv.innerHTML = '<p align="center"><img src="/pix/loading.gif" width="32" height="32" alt="loading..." name="bigpic" title=""></p>' + voettekst;
		plaatDiv.style.width = '400px';
		plaatDiv.style.left = (vpw - 400 - divPad) / 2 + 'px'; 
		plaatDiv.style.top = rootElm.scrollTop + 100 + 'px';
		pic.onload = function () {
			removeEvent(doc.images['bigpic'], 'click', sluitBlowUp);
			picWidth = this.width; picHeight = this.height;
			if (this.width > vpw - minMarge - divPad) {
				picWidth = vpw - minMarge - divPad; picHeight = this.height * (picWidth / this.width);
				scaled = true;
			}
			if (picHeight + minMarge + divPad > vph) {
				picHeight = vph - minMarge - divPad; picWidth = Math.min(picWidth, pic.width * (picHeight / this.height));
				scaled = true;
			}
			plaatDiv.style.left = Math.max(0, vpw - (picWidth + divPad)) / 2 + 'px'; 
			plaatDiv.style.top = Math.max(0, (rootElm.scrollTop + (vph - (picHeight + 100))/2 )) +divPad/2 + 'px';
			plaatDiv.style.width = 'auto'; plaatDiv.innerHTML = '<p align="center"><img src="/pix/loading.gif" alt="" name="bigpic" title=""></p>' + caption + voettekstMetLink;
			doc.images['bigpic'].src = pic.src; addEvent(doc.images['bigpic'], 'click', sluitBlowUp);
			doc.images['bigpic'].width = picWidth > 0 ? picWidth : doc.images['bigpic'].width;
			doc.images['bigpic'].height = picHeight > 0 ? picHeight : doc.images['bigpic'].height;
		};
	} else {
		plaatDiv.innerHTML = '<img src="' + pic.src + '" border="1" name="bigpic">';
		picWidth = pic.width; picHeight = pic.height;
		if (pic.width + minMarge + divPad> vpw) {
			picWidth = vpw - minMarge - divPad; picHeight = pic.height * (picWidth / pic.width);
			scaled = true;
		} 
		if (picHeight + minMarge + divPad > vph) {
			picHeight = vph - minMarge - divPad; picWidth = Math.min(picWidth, pic.width * (picHeight / pic.height));
			scaled = true;
		}
		plaatDiv.style.left = Math.max(minMarge, vpw - (picWidth + divPad)) / 2 + 'px'; 
		plaatDiv.style.top = Math.max(0, (rootElm.scrollTop + (vph - (picHeight + 100))/2 )) + divPad/2 + 'px';
		doc.images['bigpic'].width = picWidth > 0 ? picWidth : doc.images['bigpic'].width;
		doc.images['bigpic'].height = picHeight > 0 ? picHeight : doc.images['bigpic'].height;
		plaatDiv.innerHTML += caption + voettekstMetLink;
	}
	addEvent(doc.images['bigpic'], 'click', sluitBlowUp); 
	addEvent(doc, 'keyup', handleEsc); 
	plaatDiv.style.display = 'block';
}
function sluitBlowUp() {
	removeEvent(doc.images['bigpic'], 'click', sluitBlowUp);
	removeEvent(doc, 'keyup', handleEsc); 
	doc.getElementById('transpAchtergrondDiv').style.display = 'none';
	var p = doc.getElementById('plaatDiv'); p.style.width = 'auto'; p.innerHTML = ''; p.style.display = 'none';
	return false;
}
function handleEsc(e) {
	return (((window.event) ? event.keyCode : e.keyCode) == 27) ? sluitBlowUp() : true;
}


// event-gedoe
// written by Dean Edwards, 2005 http://dean.edwards.name/
function addEvent(element,type,handler) {
if(!handler.$$guid)handler.$$guid=addEvent.guid++;if(!element.events)element.events={};
var handlers=element.events[type];
if(!handlers){handlers=element.events[type]={};if(element["on"+type]){handlers[0]=element["on"+type];}}
handlers[handler.$$guid]=handler;element["on"+type]=handleEvent;}
addEvent.guid = 1;
function removeEvent(element,type,handler){if(element.events&&element.events[type]){delete element.events[type][handler.$$guid];}}
function handleEvent(event) {
var returnValue = true;event=event||fixEvent(window.event);var handlers=this.events[event.type];
for (var i in handlers) {this.$$handleEvent = handlers[i];if (this.$$handleEvent(event) === false) {returnValue = false;}} return returnValue;}
function fixEvent(event){event.preventDefault=fixEvent.preventDefault;event.stopPropagation=fixEvent.stopPropagation; return event;}
fixEvent.preventDefault=function(){this.returnValue=false;};
fixEvent.stopPropagation=function(){this.cancelBubble=true;};

function Carrousel () {
	this.listElID = null;
	var listEl, lis, curLi = 0, timer, interval = 5; // seconds;
	this.init = function() {
		listEl = doc.getElementById(this.listElID);
		if (!listEl) {return false;}
		lis = listEl.getElementsByTagName('li');
		var L = lis.length;
		if (L < 2) {return false;}
		for (var i = 0; i < L; i++) {
			lis[i].innerHTML += '<a href="#" id="next_' + (i==L-1?0:i+1) + '" class="next">next &raquo;</a>';
			addEvent(doc.getElementById('next_' + (i==L-1?0:i+1)), 'click', function(){stopTimer(); theJob(); startTimer(); return false;});
			if (i > 0) {
				lis[i].style.display = 'none';
				var pic = new Image();pic.src = lis[i].getElementsByTagName('a')[0].getElementsByTagName('img')[0].src;
			}
		}
		startTimer();
	};
	var theJob = function() {
		lis[curLi].style.display = 'none';
		curLi = curLi == lis.length -1 ? 0 : curLi + 1;
		lis[curLi].style.display = 'block';
	};
	var startTimer = function () {timer = self.setInterval(theJob, interval*1000);};
	var stopTimer = function () {self.clearInterval(timer);};
};

var addthis_config = {data_use_flash : false};
