//============== Initialization ================================
includeLibrary();

function initializeDisplay() {
	setGlobalVariablesDisplay();
	checkBrowserDisplay();
	
}
	
function setGlobalVariablesDisplay() {
  defaultLanguage = document.getElementById("DefaultLanguage").innerHTML;
  language = "";
  expiryDate = new Date();
  expiryDate.setTime(expiryDate.getTime() + 365 * 24 * 60 * 60 * 1000);
  db = document.getElementById("Db").innerHTML;
  if (getCookie("Language")) 
    language = getCookie("Language")
  else {
    language = defaultLanguage;
    setCookie("Language", language, expiryDate, db);
  }
}  

function checkBrowserDisplay(){
  ie5 = (navigator.appName == "Microsoft Internet Explorer" && navigator.userAgent.indexOf("MSIE 5.")!=-1);
  ie7 = (navigator.appName == "Microsoft Internet Explorer" && navigator.userAgent.indexOf("MSIE 7.")!=-1);
  ie6 = (navigator.appName == "Microsoft Internet Explorer" && navigator.userAgent.indexOf("MSIE 6.")!=-1 && navigator.userAgent.indexOf("Opera")==-1);
  op7 = (navigator.appName == "Microsoft Internet Explorer" && navigator.userAgent.indexOf("Opera 7.")!=-1);
  ns6 = (navigator.appName == "Netscape" && navigator.userAgent.indexOf("Netscape6/")!=-1);
  var messages = new Array();
  messages["nl"] = "Deze website werd geoptimaliseerd voor het gebruik met Internet Explorer 5 of hoger, Netscape 6 of hoger en Opera 7 of hoger";
  messages["en"] = "This website has been optimized for use with Internet Explorer or higher, Netscape 6 or higher en Opera 7 or higher";
  if (!ie5 && !ie6 && !ie7 && !ns6 && !op7) {
     scrollit(messages[(messages[language]==undefined)?"en": language], 20, 100)
   }  
}

function includeLibrary() {
  var path = location.pathname.substring(0,(location.pathname.lastIndexOf('.nsf')+5));
	document.write ("<script src='"+path+"JavaScripts/$FILE/library.js?OpenElement'></script>");
}	

//============== Routing Functions ================================
function reroute() {
	var db = document.getElementById("Db").innerHTML;
	if (location.href.indexOf(db+"/")==-1)
		location.replace(db+"/")
	else {
		var welcomePage = document.getElementById("WelcomePage").innerHTML;
		var cookieLanguage = getCookie("Language");
		if (!cookieLanguage && welcomePage!="")
			location.replace(db+"/"+welcomePage)
		else 
			location.replace(db+"/displaywebpages/home-"+cookieLanguage);
	}		
}		

function redirectToURL(url) {
  var timeOut = window.setTimeout("location='"+url+"'",2000);
}

function goBack() {
    var timeOut = window.setTimeout("history.back()", 2000);
}
	
//============= Cookie Functions ===============================
function getCookie(name) {
  var dc = document.cookie;
  var prefix = name + "=";
  var begin = dc.indexOf("; " + prefix);
  if (begin == -1) {
    begin = dc.indexOf(prefix);
    if (begin != 0) return null;
  } 
  else 
    begin += 2;
  var end = document.cookie.indexOf(";", begin);
  if (end == -1)
    end = dc.length;
  return unescape(dc.substring(begin + prefix.length, end));
}

function setCookie(name, value, expires, path, domain, secure) {
  var curCookie = name + "=" + escape(value) +
    ((expires) ? "; expires=" + expires.toGMTString() : "") +
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    ((secure) ? "; secure" : "");
  document.cookie = curCookie;
}

function deleteCookie(name, path, domain) {
  if (getCookie(name)) {
    document.cookie = name + "=" + 
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    "; expires=Thu, 01-Jan-70 00:00:01 GMT";
  }
}

function fixDate(date) {
  var base = new Date(0);
  var skew = base.getTime();
  if (skew > 0)
    date.setTime(date.getTime() - skew);
}

//========================== Show Printable Version ==============
function openPrintPage(name) {
  var options = "toolbar=no,directories=no,menubar=no,location=no,status=no,scrollbars=yes,resizable=no,width=630,height=400";
  var win = window.open(db+"/printwebpages/" + name, "printpreview",options);
  win.focus();
}   

//===================== Search Script ============================
function calcUrl(){
	var language = document.getElementById("UserLanguage").value;
	var searchBox = document.getElementById("searchBox");
	var query = (searchBox.value == "") ? "" : "(\"" + searchBox.value + "\")";
	query += " AND (FIELD Language CONTAINS  \"" + language + "\")";
	var url = db+"/searchwebpages?searchView&query="+query;
	if (query !="")
		window.location = url;
	else
		searchBox.focus()
}

//=========== Language Functions ==================================
function setLanguage(name, language) {
  setCookie("Language", language, expiryDate, db);
  location = db+'/displaywebpages/'+name+'-'+language; 
}	

//================= Navigation Functions =============================
function showHideSearchBar() {
	var searchBar = document.getElementById("SearchBar");
	if (!searchBar)
		return;
	if (location.href.indexOf('&StartKey=')==-1) 
		searchBar.style.display="none";
	else
		searchBar.style.display="block";
}

function openListEntry(docID) {
  var url = db +"/displayListEntry/"+docID;
  var title = docID;
  location = url;
}

function openMember(docID) {
  var url = db +"/displayMember/"+docID;
  var title = docID;
  location = url;
}

function openWebPage(namelanguage) {
  var url = db +"/displayWebPages/"+namelanguage;
  var title = namelanguage;
  location = url;
}
//================= Image Functions =============================
function enlargeImage(imageName) {
	var url = db+"/DisplayImages/"+imageName+"?OpenDocument";
	var title = imageName.split("+").join("").split("-").join("");
	var win = openWindow(url, title, 100, 100, true);
}

function resizeWindow() {
	var image = document.getElementById("Image");
	var width = eval(document.getElementById("Width").innerHTML) + 25;
	var height = eval(document.getElementById("Height").innerHTML) + 65;
	window.resizeTo(width, height);
	window.moveTo((screen.width - width)/2,(screen.height - height)/2);
}

//================= Glossary Functions ============================
function replaceGlossaryTerms() {
  var glossary = document.getElementById("Glossary").innerHTML.split("; ");
  var glossaryTips = document.getElementById("GlossaryTips").innerHTML.split("; ");
  var content = document.getElementById("content");
  if (glossary[0] == "") return;
  for (var i=0; i<glossary.length; i++) {
    content.innerHTML = content.innerHTML.split(glossary[i]).join("<span title='"+glossaryTips[i]+"' class='Tooltip'>"+glossary[i]+"</span>");
  }
}

//================= Banner Ad Functions ============================
function Banner (id, imagesID, linksID, textsID, width, height, type, interval, newWindow, resize) {

 //Module variables
 var mWidth = (width) ? width : 600;
 var mHeight = (height) ? height : 60;
 var mType = (type) ? type : "cycle";
 var mNewWindow = (newWindow != null) ? newWindow : true;
 var mInterval = (interval) ? interval : 0;
 var mResize = (resize != null) ? resize : true;

 var mImages = document.getElementById(imagesID).value.split(";");
 var mLinks = document.getElementById(linksID).value.split(";");
 var mTexts = document.getElementById(textsID).value.split(";");
 var mCount = mImages.length;
 var mNumber = -1;
 var mLink = mLinks[mNumber];

 //Methods
 this.showBanner = showBanner;
 this.changeLink = changeLink;
  
 //Constructor functions
 var mContainer = createContainer();
 var mBannerImage = createBannerImage();
 showBanner();
  
function createContainer() {
 document.write("<div style='width:"+width+";height:"+height+"' id='"+id+"' align='center'></div>");
 return  document.getElementById(id);
}

function createBannerImage() {
  mContainer.innerHTML = (mLinks[mNumber]=="") ? "<img border=0 id='" + id + "Image'>" : "<a href='javascript:"+id+".changeLink()'><img border=0 id='" + id + "Image'></a>"
  return document.getElementById(id+"Image")
}
  
function showBanner() {
 if (mType == "random") 
  getRandomNumber()
 else
  getCycleNumber()
 updateImage();
 if (interval > 0 && mCount > 1) { 
  setTimeout(id+".showBanner()", interval);
 } 
}

function getRandomNumber() {
 var curNumber = mNumber
 while (curNumber == mNumber)
  mNumber = (Math.round((Math.random() * (mCount-1) ) ));
}

function getCycleNumber() {
 mNumber++
 if (mNumber == mCount) mNumber = 0
}

function updateImage() {
 mBannerImage = createBannerImage();
 if (mResize) mBannerImage.width = mWidth; 
 mBannerImage.src=mImages[mNumber];
 mBannerImage.alt=mTexts[mNumber]; 
 mLink = mLinks[mNumber];
}
  
function changeLink() {
  if (newWindow)
  window.open(mLink,"Banner") 
 else 
  location = mLink
}  
  
}


//================= Personalization Functions ============================
function checkPersonalization() {
	var personalized = (document.getElementById("Personalized").innerHTML == "Yes"); 
	var sessionID = getCookie("SessionID");
	if (!personalized || sessionID) return
	sessionID = getFromURL(location.href, "sessionId");
	if (sessionID) {
	     setCookie("SessionID",sessionID, null, db);
     	location.reload();
     }	
}

//================= List Functions ============================
function updateEmbeddedList() {
	var list = (document.getElementById("EmbeddedList"));
	if (list != null) {
		var elements = list.getElementsByTagName("H2");
		if (elements.length>0) elements[0].innerHTML="";
	}	
}

function setCategory() {
	var url = location.href;
	var category = (getFromURL(url, 'Key')) ? getFromURL(url, 'Key') : '';
	if (document.getElementById("MemberType") && category!='') {
		setListBoxValue(document.getElementById("MemberType"),unescape(category));
	}
}

