var scriptsChecked = "false";
var stylesChecked = "false";

function initScripts(){
	//document.getElementById("iframe").src = 'GUI/blocks/changebackgrounds.htm';
	document.getElementsByTagName('link')[2].href='styles/styles.css';
	//var selectedpagemenuLinks = getElementsByClassName(document.getElementById('pagemenu'), "li", "selected");
	//for (i=0;i<selectedpagemenuLinks.length;i++){selectedpagemenuLinks[i].style.cssText="display:none;";}
	hideToTopLinks();
	vAlignDivs();
	adjustKeywords();
	resetTabs();
	initMenu();
	initNotes();
	mailProtect();
	initKeywordSearcher();
	initBackgroundChooser();
	imglist_bhv();
	importlinklistener();
	//document.getElementById('initscripts').style.cssText="display:none;";
	//if(document.getElementById('initstyling').style.display=="none"){
	document.getElementById('pageoptions').style.display="none";
	//document.getElementById('pageoptions').getElementsByTagName('b')[0].style.display="none";
	//}
	scriptsChecked= "true";
	/*
	var answer = confirm('Looks better, don\'t you think? Let\'s keep this fancy styling?');
	if(answer == false){
		window.location="home.htm";
		setCookie('fancysite',false,7);
	}
	*/
}

function mailProtect(){
	var firstname = "info";
	var mailaddress= firstname + "@yaki.be";
 	document.getElementById('contactgegevens').innerHTML="Send an email to: <br /><strong title='usually fast response'><big><a id='mail' href='mailto:"+ mailaddress +"?subject=InfoRequest'>"+ mailaddress +"</a></big></strong>";//<small style='letter-spacing:0px;'>or call me: +32&nbsp;(0)477&nbsp;708414.</small>
}

function adjustKeywords(){
	document.getElementById('keywords').style.marginLeft="0px";
}
function hideToTopLinks(){
	var topLinks = getElementsByClassName(document.getElementById('contentwrapper'), "a", "toTop");
	for (i=0;i<topLinks.length;i++){topLinks[i].style.cssText="display:none;";}
}
function vAlignDivs(){
	var contentwrapperdivs = document.getElementById('contentwrapper').getElementsByTagName('div');
	for (i=0;i<contentwrapperdivs.length;i++){
		//if(contenwrapperdivs[i].parentNode.id == 'contentwrapper'){
		contentwrapperdivs[i].style.marginTop="0px";
		//}
	}
}


function hideAllSlides(){
	var slides = getElementsByClassName(document.getElementById('content'),'div','page');
	for (i=0;i<slides.length;i++){
		slides[i].style.display="none";
		slides[i].style.visibility="hidden";
		var pagemenu = document.getElementById('pagemenu');
		if(pagemenu.getElementsByTagName('li')[i]){
			pagemenu.getElementsByTagName('li')[i].className='';
		}
		var pagemenu_bottom = document.getElementById('pagemenu_bottom');
		if(pagemenu_bottom.getElementsByTagName('li')[i]){
			pagemenu_bottom.getElementsByTagName('li')[i].className='';	
		}
	}
}

function hideAllSlides2(){
	var slides = getElementsByClassName(document.getElementById('content'),'div','page');
	for (i=0;i<slides.length;i++){
		slides[i].style.display="none";
		slides[i].style.visibility="hidden";
	}
}

function showSlide(i){
	hideAllSlides();
	var pagemenu = document.getElementById('pagemenu');
	var theitems = pagemenu.getElementsByTagName('li');
	theitems[i].className='selected';
	var theid=theitems[i].getElementsByTagName('a')[0].innerHTML;
	
	var pagemenu_bottom = document.getElementById('pagemenu_bottom');
	var theitems2 = pagemenu_bottom.getElementsByTagName('li');
	theitems2[i].className='selected';
	
	document.getElementById(theid).style.display="block";
	document.getElementById(theid).style.visibility="visible";
	return false;
}

function showSlideByName(name){
	hideAllSlides();
	setVisibilityTo(true,name);
	var pagemenu = document.getElementById('pagemenu');
	var theitems = pagemenu.getElementsByTagName('li');
	var counter;
	for (i=0;i<theitems.length;i++){
		if(theitems[i].getElementsByTagName('a')[0].innerHTML==name){
			theitems[i].className='selected';
			counter=i;//so i could easily be used in de pagemenu_bottom (which is identical to pagemenu)
		}
	}
	
	var pagemenu_bottom = document.getElementById('pagemenu_bottom');
	var theitems2 = pagemenu_bottom.getElementsByTagName('li');
	theitems2[counter].className='selected';
	
	return false;
}


//var currentContent = "welcome";

function resetTabs(){
	hideAllSlides();
	setVisibilityTo(true,"welcome");
	//currentContent = "welcome";
	document.getElementById('pagemenu').getElementsByTagName('li')[0].className="selected";
	document.getElementById('pagemenu_bottom').getElementsByTagName('li')[0].className="selected";
}




function initMenu(){
 	if( document.getElementById && document.getElementsByTagName){
    if( document.getElementsByTagName('li')){
		var menuLinks = document.getElementById('pagemenu').getElementsByTagName("a");
		for (var i=0;i<menuLinks.length;i++){
			menuLinks[i].onclick = function(){
				var theid=this.innerHTML;
				/*!!!!!!!voorlopig!!!!!!!!!*/
				if(theid=="examples" || theid=="tips"){
					document.getElementById(theid).getElementsByTagName('form')[0].innerHTML="<p>loading.....</p>";
					setIframeSrc('content/'+theid+'/index.htm');
				}
				showSlideByName(theid);
				//return false;
				}
			menuLinks[i].onmouseover = function(){
				this.title=this.innerHTML;
				}
		}
		var menuLinks2 = document.getElementById('pagemenu_bottom').getElementsByTagName("a");
		for (var i=0;i<menuLinks2.length;i++){
			menuLinks2[i].onclick = function(){
					var theid=this.innerHTML;
					/*!!!!!!!voorlopig!!!!!!!!!*/
					if(theid=="examples" || theid=="tips"){
						document.getElementById(theid).getElementsByTagName('form')[0].innerHTML="<p>loading.....</p>";
						setIframeSrc('content/'+theid+'/index.htm');
					}
					showSlideByName(theid);
					//return false;
					}
			menuLinks2[i].onmouseover = function(){
				this.title=this.innerHTML;
				}
		}
	}
	}
}


function setIframeSrc(link){
	document.getElementById("iframe").src = link;
}



function loadFancyStyle(){
	document.getElementsByTagName('link')[2].href='styles/styles.css';
	stylesChecked= "true";
	var thebody = document.getElementsByTagName('body')[0];
	thebody.id="home";
	thebody.className="blue";
	//document.getElementById('initstyling').style.display="none";
	document.getElementById('changebackgrounds').style.display="block";
	//if(document.getElementById('initscripts').style.display=="none"){
	document.getElementById('pageoptions').style.display="none";
	//}
}

function loadMinimalStyle(){
	document.getElementsByTagName('link')[2].href='styles/styles.css';
	var thebody = document.getElementsByTagName('body')[0];
	thebody.id="";
	thebody.className="";
}

var bodyId="";
var bodyClass="";

function setSpacyStyle(){
document.getElementsByTagName('link')[2].href='styles/styles.css';
bodyId=document.getElementsByTagName('body')[0].id;
bodyClass=document.getElementsByTagName('body')[0].className;
document.getElementsByTagName('body')[0].className='spacy';
document.getElementsByTagName('body')[0].id='spacy';
}

function resetStyling(){
document.getElementsByTagName('link')[2].href='styles/styles.css';
document.getElementsByTagName('body')[0].className=bodyClass;
document.getElementsByTagName('body')[0].id=bodyId;
}

/* begin the background chooser */
function reloadListItems(){
var menuitems = document.getElementById('changebackgrounds').getElementsByTagName('li');
for (var i=0;i<menuitems.length;i++){
menuitems[i].style.display="block";
}
}

function setBodyBackground(imageurl,x,y,color,repeat,menucolor){
	var bodytag = document.getElementsByTagName('body')[0];
	bodytag.style.cssText="background-image:url('styles/backgrounds/"+imageurl+"');background-position:"+x+"px "+y+"px;background-color:"+color+";background-repeat:"+repeat+";";
	var menuitems = document.getElementById('pagemenu').getElementsByTagName('a');
	for (var i=0;i<menuitems.length;i++){
		menuitems[i].style.color=menucolor;
	}
}

function initBackgroundChooser(){
	 if(document.getElementById && document.getElementsByTagName){
	    if(document.getElementsByTagName('li')){
			var menuLinks = document.getElementById('changebackgrounds').getElementsByTagName("a");
			for (var i=0;i<menuLinks.length;i++){
				menuLinks[i].onmouseover = function(){
				var spancontent = this.childNodes[0].innerHTML;
				this.title=spancontent;
				}
			}
		}
	}
}
/* end the background chooser */

function initKeywordSearcher(){
 	if(document.getElementById && document.getElementsByTagName){
	    if(document.getElementsByTagName('i')){
			var keywordContainer = document.getElementById('keywords');
			keywordContainer.title = "click on any keyword to search for it using google (opens new window)";
			var theKeywords = keywordContainer.getElementsByTagName("i");
			for (var i=0;i<theKeywords.length;i++){
				theKeywords[i].onclick = function(){
					var keyword = this.innerHTML;
					//window.location = "http://en.wikipedia.org/wiki/"+keyword;
				//	window.location = "http://www.google.be/search?q="+keyword;
				window.open('http://www.google.be/search?q=' + encodeURIComponent(keyword), 'keyword', 'width=700,height=500,resizable=1,menubar=1,scrollbars=1,status=1,titlebar=1,toolbar=1,location=1,personalbar=1');
				}
				theKeywords[i].onmouseover = function(){
					this.style.cssText="font-size:150%;cursor:pointer;";
				}
				theKeywords[i].onmouseout = function(){
					this.style.cssText="font-size:100%;cursor:pointer;";
				}

			}
		}
	}
}




function checkIfPageOptionsAreUsed(){
	if(stylesChecked != "true"){
		if(scriptsChecked != "true"){
	 		alert("No... check at the top of the page, always reachable by clicking on 'To_Top_of_Page'-links at the right, at the end of each text-block looking like this: ^, but just this once i'll bring you there");
	 		goto('pageoptions');
	 	}else{
	 		alert("Ok, you've already seen what scripts can do. Click OK to load a fancier style for this webpage.");
	 		loadFancyStyle();
	 	}
	}else if(stylesChecked=="true"){
		if(scriptsChecked != "true"){
	 		alert("Ok, the page already looks fancier. Click OK to load a script file and take it even (a little) further...");
			initScripts();
	 	}else{
	 		alert("Ok Ok, you had some taste of what I can do for you... Also look at the 'examples'");
	 	}
	}
}

function goto(id){
var windowlocation = window.location;
windowlocation = windowlocation.toString();
var baselocation = windowlocation.split("#");
window.location = baselocation[0] +"#"+id;
}

function gotoHref(object){
}



function initNotes(){
	var notes = getElementsByClassName(document,"*","note");	
	for(var i=0;i<notes.length;i++){
		var closer= notes[i].getElementsByTagName('span')[0];
		closer.onclick=function(){
			if(this.title!="read note"){
				this.title="read note";
				this.parentNode.className="minimal";
				//this.parentNode.style.backgroundImage="url('styles/icons/open.gif')";
				//this.parentNode.style.backgroundPosition="center center";
				//this.parentNode.style.border="0px solid white";
				//this.parentNode.style.height='9px';
				//this.parentNode.style.width='9px';
				//this.parentNode.getElementsByTagName('p')[0].style.display="none";
			}else{
				this.title="";
				this.parentNode.className="";
				//this.parentNode.style.backgroundImage="url('styles/icons/close2.gif')";
				//this.parentNode.style.backgroundPosition="right top";
				//this.parentNode.style.border="1px solid black";
				//this.parentNode.style.height='';
				//this.parentNode.style.width='180px';
				//this.parentNode.getElementsByTagName('p')[0].style.display="block";
			}
		};
	}
	for(var i=0;i<notes.length;i++){
		var note=notes[i].getElementsByTagName('div')[0];
		note.onmouseover=function(){
			this.style.backgroundColor="rgb(255,255,255)";
			//rgb(255,200,180)
		};
		note.onmouseout=function(){
			if(this.getElementsByTagName('span')[0].className=="white"){
			this.style.backgroundColor="white";
			}else{
			this.style.backgroundColor="lightyellow";
			}
		};
	}
	
}

//addLoadEvent(imglist_bhv);

function imglist_bhv(){
	var theitems = document.getElementById('design').getElementsByTagName('li');
	for (var i=0;i<theitems.length;i++){
		var imglink = theitems[i].getElementsByTagName('a')[0];
		var theurl = imglink.href;
		theitems[i].style.backgroundImage="url('"+theurl+"')";
		theitems[i].onmouseover= function(){
			this.style.padding= "0px";
			this.style.border= "3px solid rgb(200,200,200)";
			var thelink = this.getElementsByTagName('a')[0];
			thelink.className="zoomin";
			var imgurl = thelink.href;
			thelink.style.backgroundImage= "url('"+imgurl+"')";
			this.style.zIndex="20";
		};
		theitems[i].onmouseout= function(){
			this.style.padding= "2px";
			this.style.border= "1px solid rgb(200,200,200)";
			var thelink = this.getElementsByTagName('a')[0];
			thelink.style.backgroundImage= "url('')";
			thelink.className="";
			this.style.zIndex="1";
		};
	}
	for (var j=0;j<theitems.length;j++){
		var thelink = theitems[j].getElementsByTagName('a')[0];
		thelink.onclick= function(){
			return false;
		};
	}
}


var iframeReady = true;

function outsideCall(type,content){
	var toContainer =document.getElementById(type);
	toContainer.getElementsByTagName('form')[0].innerHTML = content;
	reInitScriptsAfterCall();
	//initScripts();
	goto(type);
	//because of refresh problem in IE:
	//goto("pagemenu");
	//document.getElementsByTagName('link')[2].href='styles/styles.css';
	//document.getElementsByTagName('body')[0].id="home";
	//document.getElementsByTagName('body')[0].className="blue";
	//toContainer.getElementsByTagName('h2')[0].style.marginLeft="-25px";
	//toContainer.style.height="470px";
	//toContainer.style.marginTop="0px";
	//toContainer.style.paddingLeft="0px";
	//toContainer.style.paddingTop="125px";
	iframeReady = true;
}

function outsideCall2(type,content){
	// does not update position: no goto(type)
	var toContainer =document.getElementById(type);
	toContainer.getElementsByTagName('form')[0].innerHTML = content;
	reInitScriptsAfterCall();
	iframeReady = true;
}

function insertMsg(content,where){
	// does not update position: no goto(type)
	var toContainer =document.getElementById(where);
	toContainer.innerHTML = content;
	reInitScriptsAfterCall();
	iframeReady = true;
}

function handleMsg(content,where,endfunc){
	// does not update position: no goto(type)
	var toContainer =document.getElementById(where);
	toContainer.innerHTML = content;
	// goto(where);  !!
	eval(endfunc);
	iframeReady = true;
}

function handleMsg2(content,where,endfunc){
	//goto("pagemenu");
	var toContainer =document.getElementById(where);
	toContainer.getElementsByTagName('form')[0].innerHTML = content;
	if(scriptsChecked=="true"){
		hideAllSlides2();
		setVisibilityTo(true,where);
	}
	goto(where);// !!
	eval(endfunc);
	iframeReady = true;
}

function handleMsg3(content,where,endfunc){
	//goto("pagemenu");
	var toContainer =document.getElementById("importviewer");
	toContainer.getElementsByTagName('h2')[0].innerHTML = where;
	toContainer.getElementsByTagName('form')[0].innerHTML = content;
	if(scriptsChecked=="true"){
		hideAllSlides2();
		setVisibilityTo(true,"importviewer");
	}
	goto("importviewer");// !!
	eval(endfunc);
	iframeReady = true;
}

var importcontainerId= "importviewer";

function handleMsg4(content,where,endfunc){
	//goto("pagemenu");
	var toContainer =document.getElementById(importcontainerId);
	toContainer.id=where;
	importcontainerId=where;
	toContainer.getElementsByTagName('h2')[0].innerHTML = where;
	toContainer.getElementsByTagName('form')[0].innerHTML = content;
	if(scriptsChecked=="true"){
		hideAllSlides2();
		setVisibilityTo(true,where);
	}
	goto(where);// !!
	eval(endfunc);
	iframeReady = true;
}


function reInitScriptsAfterCall(){
	importlinklistener();
	initNotes();
}

function importlinklistener(){
	var importLinks = getElementsByClassName(document, "a", "import");
	for (var i=0;i<importLinks.length;i++){
		importLinks[i].onclick= function(){
			/*var endcontainer = this.title;
			if(document.getElementById(endcontainer)){
				var where = document.getElementById(endcontainer);				
				where.innerHTML="loading.......";
			}*/
			iframeReady = false;
			document.getElementById("iframe").src = this.href;
			return false;
		}
	}
	var importInlineLinks = getElementsByClassName(document, "a", "ajax");
	for (var i=0;i<importInlineLinks.length;i++){
		importInlineLinks[i].onclick= function(){
			/*var endcontainer = this.title;
			if(document.getElementById(endcontainer)){
				var where = document.getElementById(endcontainer);				
				where.innerHTML="loading.......";
			}*/
			iframeReady = false;
			document.getElementById("iframe").src = this.href;
			return false;
		}
	}
}

function setVisibilityTo(visible,IDname)
{
	if (!DHTML) return;
	var IDnameObj = new getObj(IDname);
	IDnameObj.style.visibility = (visible) ? 'visible' : 'hidden';
	IDnameObj.style.display = (visible) ? 'block' : 'none';
}

function $(nodename){
return(document.getElementById(nodename)); 
}