
var gWholeMenu = null;
var gAlbumAttributes = new Array();

var gRollingImages = new Array();
var gAlbumKeys = new Array();
var gMenuAttributes = new Array();
var gCurrentRightPageNr = 0;
var gBrandsAttributes = new Array();
var gNewsEventAttributes = new Array();
var gOpeningHoursAttributes = new Array();
var gHistoryStoryTellingAttributes = new Array();

function isValidAlbum(key){
	if (gAlbumKeys.length == 0)
		setAlbumKeys();
		
	var isValid= false;
	for(var i=0; i < gAlbumKeys.length; i++){
		if(gAlbumKeys[i] == key){
			isValid = true;
			break;
		}
	}
	return isValid;
}

function setAlbumKeys(){
	gAlbumKeys[0] = 'history_imagearchive';
	gAlbumKeys[1] = 'history_reports';
	gAlbumKeys[2] = 'history_advertisements';
	gAlbumKeys[3] = 'start_storephotos';
}


function setMenuItems(){
  	gMenuAttributes['name.0'] = 'start';
	gMenuAttributes['value.0'] = 'START';
	gMenuAttributes['start.name.0'] = 'start_welcome';
	gMenuAttributes['start.value.0'] = 'Välkommen';
	gMenuAttributes['start.name.1'] = 'start_storephotos';
	gMenuAttributes['start.value.1'] = 'Butiksbilder';
	gMenuAttributes['start.count'] = '2';

	gMenuAttributes['name.1'] = 'businessidea';
	gMenuAttributes['value.1'] = 'Affärsidé';
	gMenuAttributes['businessidea.count'] = '0';

	gMenuAttributes['name.2'] = 'openinghours';
	gMenuAttributes['value.2'] = 'Öppettider';
	gMenuAttributes['openinghours.count'] = '0';

	gMenuAttributes['name.3'] = 'history';
	gMenuAttributes['value.3'] = 'Historik';
	gMenuAttributes['history.name.0'] = 'history_storytelling';
	gMenuAttributes['history.value.0'] = 'Historia';
	gMenuAttributes['history.name.1'] = 'history_imagearchive';
	gMenuAttributes['history.value.1'] = 'Bildarkiv';
	gMenuAttributes['history.name.2'] = 'history_advertisements';
	gMenuAttributes['history.value.2'] = 'Annonser';
	gMenuAttributes['history.name.3'] = 'history_reports';
	gMenuAttributes['history.value.3'] = 'Reportage';
	gMenuAttributes['history.count'] = '4';
	
	gMenuAttributes['name.4'] = 'brands';
	gMenuAttributes['value.4'] = 'Varumärken';
	gMenuAttributes['brands.count'] = '0';

	gMenuAttributes['name.5'] = 'contact'; 
	gMenuAttributes['value.5'] = 'Kontakt';
	gMenuAttributes['contact.name.0'] = 'contact_contactus';
	gMenuAttributes['contact.value.0'] = 'Kontakta oss';
	gMenuAttributes['contact.name.1'] = 'contact_findus';
	gMenuAttributes['contact.value.1'] = 'Hitta oss';
	gMenuAttributes['contact.count'] = '2';
	
	gMenuAttributes['name.6'] = 'news';
	gMenuAttributes['value.6'] = 'Nyheter';
	gMenuAttributes['news.name.0'] = 'news_events';
	gMenuAttributes['news.value.0'] = 'Aktuellt';
	gMenuAttributes['news.name.1'] = 'news_newsletter';
	gMenuAttributes['news.value.1'] = 'Nyhetsbrev';
	gMenuAttributes['news.count'] = '2';

	gMenuAttributes['count'] = 7;
}

function createBrands(){
	var brands = document.getElementById('brands');
	if (brands == null){
		alert('<div id=\'brands\'> missing in html. Add it.');
		return;
	}

	if (gBrandsAttributes['count'] == undefined || gBrandsAttributes['count'] == null){
		setBrands();
	}

	if (gBrandsAttributes['count'] == 0){
		alert('list of brands missing. Add with \'setListOfBrands()\'');
		return;
	}
	
	sortBrands();
	
	var table = document.createElement("TABLE");
	table.width = "100%";
	brands.appendChild(table);
	
	var tbody = document.createElement("TBODY");
	table.appendChild(tbody);
	
	var tr = document.createElement("TR");
	tbody.appendChild(tr);
	
	var td = document.createElement("TD");
	tr.appendChild(td);
	
	var innertTable = null;
	var innerTbody = null;
	var halfOfIt = gBrandsAttributes['count']/2;
	if (gBrandsAttributes['count']%2 != 0)
		halfOfIt = (gBrandsAttributes['count']+1)/2;
		
	if (gBrandsAttributes['count'] < 15)
		halfOfIt = 0;
		
	for(var i=0; i < gBrandsAttributes['count']; i++){
		if (i == 0 || i == halfOfIt){
			innertTable = document.createElement("TABLE");
			innertTable.id = "column";
			
			if (i > 0 && i == halfOfIt){
				var secondTd = document.createElement("TD");
				tr.appendChild(secondTd);
				secondTd.appendChild(innertTable);	
			}else{
				td.appendChild(innertTable);
			}
			
			innerTbody = document.createElement("TBODY");
			innertTable.appendChild(innerTbody);
			
			var innerTr = document.createElement("TR");
			innerTbody.appendChild(innerTr);
				
			var innerTd = document.createElement("TD");
			innerTd.innerHTML = "Dam";
			innerTd.id = "department";
			innerTr.appendChild(innerTd);
			
			var innerTd2 = document.createElement("TD");
			innerTd2.id = "department";
			innerTd2.innerHTML = "Herr";
			innerTr.appendChild(innerTd2);
			
			var innerTd3 = document.createElement("TD");
			innerTd3.innerHTML = "Barn";
			innerTd3.id = "department";
			innerTr.appendChild(innerTd3);
		}
		var innerTr = document.createElement("TR");
		innerTbody.appendChild(innerTr);
		
		var innerLadiesTd = document.createElement("TD");
		if (gBrandsAttributes['dam.' + i] == "JA" || gBrandsAttributes['dam.' + i] == "ja"){
			innerLadiesTd.innerHTML = "<img alt='Damkollektion finns' title='Damkollektion finns' id='checkbox' src='graphics/checkbox_checked.png'>";
		}else{
			innerLadiesTd.innerHTML = "<img alt='Damkollektion finns inte' title='Damkollektion finns inte' id='checkbox' src='graphics/checkbox_unchecked.png'>";
		}
		innerLadiesTd.id = "department";
		innerTr.appendChild(innerLadiesTd);
		
		var innerGentlemensTd = document.createElement("TD");
		if (gBrandsAttributes['herr.' + i] == "JA" || gBrandsAttributes['herr.' + i] == "ja"){
			innerGentlemensTd.innerHTML = "<img alt='Herrkollektion finns' id='checkbox' src='graphics/checkbox_checked.png'>";
		}else{
			innerGentlemensTd.innerHTML = "<img alt='Herrkollektion finns inte' title='Herrkollektion finns inte' id='checkbox' src='graphics/checkbox_unchecked.png'>";
		}
		innerGentlemensTd.id = "department";
		innerTr.appendChild(innerGentlemensTd);
		
		var innerChildrensTd = document.createElement("TD");
		if (gBrandsAttributes['barn.' + i] == "JA" || gBrandsAttributes['barn.' + i] == "ja"){
			innerChildrensTd.innerHTML = "<img alt='Barnkollektion finns' title='Barnkollektion finns' id='checkbox' src='graphics/checkbox_checked.png'>";
		}else{
			innerChildrensTd.innerHTML = "<img alt='Barnkollektion finns inte' title='Barnkollektion finns inte' id='checkbox' src='graphics/checkbox_unchecked.png'>";
		}
		innerChildrensTd.id = "department";
		innerTr.appendChild(innerChildrensTd);
		
		var innerLogoTd = document.createElement("TD");
		innerLogoTd.innerHTML = "<nobr>" + gBrandsAttributes['brand.' + i] + "</nobr>";
		innerLogoTd.title = gBrandsAttributes['brand.' + i];
		innerLogoTd.alt = gBrandsAttributes['brand.' + i];
		innerTr.appendChild(innerLogoTd);
	}
}

function checkNewsletterEmailAddressValidityAndSubmit(emailAddressInput, infoDiv, mode){
	var result = false;
	do{
		if (emailAddressInput == null)
			break;
			
		if (emailAddressInput.value == null)
			break;
			
		if (emailAddressInput.value.length < 6)
			break;
		
		if (emailAddressInput.value.indexOf("@") <= 0)
			break;
		
		if (emailAddressInput.value.indexOf(".") <= 0)
			break;
		
		if (emailAddressInput.value.lastIndexOf(".") < emailAddressInput.value.indexOf("@"))
			break;
			
		result = true;
	}while(false);
	
	var storedEmailAddressInput = myGetElementById("stored_newsletter_email_" + mode);
	if (storedEmailAddressInput == null)
		return false;
	
	if (!result){
		if (infoDiv == null)
			return false;
		
		storedEmailAddressInput.value = "";
		
		infoDiv.innerHTML = "Var god kontrollera e-postadressen. Den är ogiltig";
		infoDiv.style.color = "#ff0000";
		makeVisible(infoDiv);
	}else{
		myGetElementById("stored_newsletter_email_reg").value = "";
		myGetElementById("stored_newsletter_email_unreg").value = "";
	
		if (emailAddressInput.form == null){
			return false;
		}
		
		var tmpButtonNotifier = myGetElementById("newsletterbutton");
		if (tmpButtonNotifier == null){
			return false;
		}
		tmpButtonNotifier.value = "clicked";
		
		storedEmailAddressInput.value = emailAddressInput.value;
		
		emailAddressInput.form.submit();
	}
	return false;
}

function createNewsletterForm(newsletterRootDiv, mode){
	if (newsletterRootDiv == null)
		return;
		
	if (mode == null || mode == "")
		return;
		
	if (myGetElementById("newsletter_form") != null){
		var parent = myGetElementById("newsletter_form").parentNode;
		if (parent != null)
			parent.removeChild(myGetElementById("newsletter_form"));
	}
	
	var table = document.createElement("TABLE");
	table.id = "newsletter_form";
	news_newsletter.appendChild(table);
	
	show(table);
	
	var tbody = document.createElement("TBODY");
	table.appendChild(tbody); 
	
	var tr = document.createElement("TR");
	tbody.appendChild(tr); 
	
	var td = document.createElement("TD");

	if (mode == "reg")
		td.innerHTML = 'Vill du prenumerera på vårt nyhetsbrev?';
	else	
		td.innerHTML = 'Vill du säga upp prenumererationen på vårt nyhetsbrev?';
	tr.appendChild(td); 
	
	var trFillOut = document.createElement("TR");
	tbody.appendChild(trFillOut); 
	
	var tdFillOut = document.createElement("TD");
	if (mode == "reg")
		tdFillOut.innerHTML = '<br>Fyll i din e-postadress så mailar vi nyhetsbrev till dig.';
	else	
		tdFillOut.innerHTML = '<br>Fyll i din e-postadress nedan så säger vi upp den.';
	
	trFillOut.appendChild(tdFillOut); 
	
	var trEmail = document.createElement("TR");
	tbody.appendChild(trEmail); 
	
	var tdEmail = document.createElement("TD");
	tdEmail.className = "email";
	tdEmail.vAlign = "bottom";
	tdEmail.innerHTML = '<b>Din e-post:</b> ';
	trEmail.appendChild(tdEmail); 
	
	var emailInput = document.createElement("INPUT");
	emailInput.id = "newsletter_email";
	emailInput.className = "emailinput";
	emailInput.title = "Skriv din epostadress här";
	
	if (mode == "reg")
		emailInput.value = myGetElementById("stored_newsletter_email_reg").value;
	else	
		emailInput.value = myGetElementById("stored_newsletter_email_unreg").value;
	
	tdEmail.appendChild(emailInput); 
	
	var trButton = document.createElement("TR");
	tbody.appendChild(trButton); 
	
	var tdButton = document.createElement("TD");
	tdButton.style.paddingTop = "10px";
	trButton.appendChild(tdButton); 
	
	var buttonInput = document.createElement("INPUT");
	buttonInput.className = "newsletterbutton";
	buttonInput.type = "submit";
	buttonInput.onclick = function(){ return checkNewsletterEmailAddressValidityAndSubmit(myGetElementById("newsletter_email"), myGetElementById("infoemailsent"), mode);};
		
	if (mode == "reg"){
		buttonInput.value = "Ansök om utskick av nyhetsbrev";
		buttonInput.title = "Ansök om utskick av nyhetsbrev";
	}else{	
		buttonInput.value = "Säg upp utskick av nyhetsbrev";
		buttonInput.title = "Säg upp utskick av nyhetsbrev";
	}
	tdButton.appendChild(buttonInput); 
	
	var trInfoEmailSent = document.createElement("TR");
	tbody.appendChild(trInfoEmailSent); 
	
	var tdInfoEmailSent = document.createElement("TD");
	tdInfoEmailSent.id = "infoemailsent";
	tdInfoEmailSent.className = "infoemailsent";
	
	if (mode == "reg" && myGetElementById("stored_newsletter_email_reg").value != ""){
		tdInfoEmailSent.innerHTML = "<br><br><b>Din ansökan har skickats till oss. Du kommer att få nästa nyhetsbrev";
		makeVisible(tdInfoEmailSent);
	}else if(mode == "unreg" && myGetElementById("stored_newsletter_email_unreg").value != ""){
		tdInfoEmailSent.innerHTML = "<br><br><b>Din uppsägning av nyhetsbrev skickats till oss.";
		makeVisible(tdInfoEmailSent);
	}
	trInfoEmailSent.appendChild(tdInfoEmailSent); 
}
function createNewsletterApplication(){
	var news_newsletter = document.getElementById('news_newsletter');
	if (news_newsletter == null){
		alert('<div id=\'news_newsletter\'> missing in html. Add it.');
		return;
	}
	
	var tableSelection = document.createElement("TABLE");
	news_newsletter.appendChild(tableSelection);
	
	var tbody = document.createElement("TBODY");
	tableSelection.appendChild(tbody); 
	
	var trSelection = document.createElement("TR");
	tbody.appendChild(trSelection); 
	
	var tdSelectionReg = document.createElement("TD");
	trSelection.appendChild(tdSelectionReg);
	
	var buttonRegInput = document.createElement("INPUT");
	buttonRegInput.className = "newsletterbutton";
	buttonRegInput.type = "submit";
	buttonRegInput.value = "Ansök om prenumeration";
	buttonRegInput.title = "Ansök om prenumeration";
	buttonRegInput.onclick = function(){createNewsletterForm(news_newsletter, "reg"); return false;};
	tdSelectionReg.appendChild(buttonRegInput);
	
	var tdSelectionUnreg = document.createElement("TD");
	tdSelectionUnreg.style.textAlign = "right";
	trSelection.appendChild(tdSelectionUnreg);
	
	var buttonUnegInput = document.createElement("INPUT");
	buttonUnegInput.className = "newsletterbutton";
	buttonUnegInput.type = "submit";
	buttonUnegInput.value = "Säg upp befintlig prenumeration";
	buttonUnegInput.title = "Säg upp befintlig prenumeration";
	buttonUnegInput.onclick = function(){createNewsletterForm(news_newsletter, "unreg"); return false;};
	tdSelectionUnreg.appendChild(buttonUnegInput);
	
	var mode = ""; 
	if (myGetElementById("stored_newsletter_email_reg").value.length > 0){
		 mode = "reg";
	}else if (myGetElementById("stored_newsletter_email_unreg").value.length > 0){
		 mode = "unreg";
	}
	
	var trLine = document.createElement("TR");
	tbody.appendChild(trLine); 
	
	var tdLine = document.createElement("TD");
	tdLine.innerHTML = "<hr size='1' length='100%' color='black'>";
	tdLine.style.paddingTop = "5px";
	tdLine.style.paddingBottom = "5px";
	tdLine.colSpan = 2;
	trLine.appendChild(tdLine);
	
	createNewsletterForm(news_newsletter, mode);
}

function createNewsEvents(){
	var news_events = document.getElementById('news_events');
	if (news_events == null){
		alert('<div id=\'news_events\'> missing in html. Add it.');
		return;
	}

	if (gNewsEventAttributes.length == 0){
		setNewsEvents();
	}

	if (gNewsEventAttributes['count'] == 0){
		return;
	}
	
	sortNewsEvents();
	
	var table = document.createElement("TABLE");
	news_events.appendChild(table);
	
	var tbody = document.createElement("TBODY");
	table.appendChild(tbody);
	
	for(var i=0; i < gNewsEventAttributes['count']; i++){
		var tr = document.createElement("TR");
		tbody.appendChild(tr);
		
		var dateTd = document.createElement("TD");
		dateTd.innerHTML = "<NOBR>" + gNewsEventAttributes['date.' + i] + "</NOBR>";
		dateTd.id = "date";
		tr.appendChild(dateTd);
		
		var eventTd = document.createElement("TD");
		eventTd.innerHTML = gNewsEventAttributes['event.' + i];
		tr.appendChild(eventTd);
	}
}


function createOpeningHours(){
	var openinghours = document.getElementById('openinghours');
	if (openinghours == null){
		alert('<div id=\'openinghours\'> missing in html. Add it.');
		return;
	}

	if (gOpeningHoursAttributes.length == 0){
		setOpeningHours();
	}

	if (gOpeningHoursAttributes['count'] == 0){
		return;
	}
	
	var table = document.createElement("TABLE");
	table.className = "listofopeninghours";
	openinghours.appendChild(table);
	
	var tbody = document.createElement("TBODY");
	table.appendChild(tbody);
	
	for(var i=0; i < gOpeningHoursAttributes['count']; i++){
		var tr = document.createElement("TR");
		tbody.appendChild(tr);
		
		var dayTd = document.createElement("TD");
		dayTd.innerHTML = gOpeningHoursAttributes['day.' + i];
		dayTd.id = "day";
		tr.appendChild(dayTd);
		
		var hoursTd = document.createElement("TD");
		hoursTd.id = "hours";
		hoursTd.innerHTML = gOpeningHoursAttributes['hours.' + i];
		tr.appendChild(hoursTd);
	}
}


function createHistoryStoryTelling(){
	var history_storytelling = document.getElementById('history_storytelling');
	if (history_storytelling == null){
		alert('<div id=\'history_storytelling\'> missing in html. Add it.');
		return;
	}

	if (gHistoryStoryTellingAttributes.length == 0){
		setHistoryStoryTelling();
	}

	if (gHistoryStoryTellingAttributes['count'] == 0){
		return;
	}
	
	sortHistoryStoryTelling();
	
	var table = document.createElement("TABLE");
	history_storytelling.appendChild(table);
	
	var tbody = document.createElement("TBODY");
	table.appendChild(tbody);
	
	for(var i=0; i < gHistoryStoryTellingAttributes['count']; i++){
		var tr = document.createElement("TR");
		tbody.appendChild(tr);
		
		var dateTd = document.createElement("TD");
		dateTd.innerHTML = gHistoryStoryTellingAttributes['date.' + i];
		dateTd.id = "date";
		tr.appendChild(dateTd);
		
		var eventTd = document.createElement("TD");
		eventTd.innerHTML = gHistoryStoryTellingAttributes['event.' + i];
		tr.appendChild(eventTd);
	}
}

function createLogoRoller(heightPercentageOfEachLogo, spaceBetweenLogos){
	var logoRollerRoot = document.getElementById('rolling_logos');
	if (logoRollerRoot == null){
		alert('<div id=\'rolling_logos\'> missing in html. Add it.');
		return;
	}

	if (gRollingImages['count'] == undefined || gRollingImages['count'] == null){
		alert('gRollingImages has no data');
		return;
	}


	logoRollerRoot.title = 'Våra varumärken';
	var top = logoRollerRoot.style.top;
	logoRollerRoot.style.height = (logoRollerRoot.parentNode.offsetHeight -  top.substring(0, top.length-2)*2) + "px";
	
	var lastLefty = 0;
	for(var i=0; i < gRollingImages['count']; i++){
		var logo = gRollingImages['logoObject.' + i];
		if (logo == null){
			continue;
		}
		var imageObject = document.createElement('img');
		imageObject.src = logo.src;
		imageObject.className = 'rollinglogo';
		imageObject.style.left = lastLefty + 'px';
		imageObject.style.height =  heightPercentageOfEachLogo + "%";
		
		logoRollerRoot.appendChild(imageObject);
		
		lastLefty += spaceBetweenLogos + imageObject.width;
	}

	for(var j=0; j < logoRollerRoot.childNodes.length; j++){
		var logo = logoRollerRoot.childNodes[j];
		if (logo == null || logo == undefined || logo.src == null)
			continue;

		moveLogo(logo, spaceBetweenLogos, lastLefty);
	}
}

function moveLogo(logo, spaceBetweenLogos, lastLeft) {
	if (logo == null || logo == undefined){
		return;
	}
	
	var left = parseInt(logo.style.left);
	
	var width = logo.width;
	if(left > -(width+spaceBetweenLogos)) {
		logo.style.left = (left - 1) + "px";
	} else {
		logo.style.left = (lastLeft - spaceBetweenLogos - width) + 'px';	
	}
	
	window.setTimeout(function() { moveLogo(logo, spaceBetweenLogos, lastLeft); }, 25);
}


function inactivate(item){
	if (item == null)
		return;

	item.id = 'inactive';

	if (document.getElementById('submenuSelection') != null && item.name == document.getElementById('submenuSelection').value){
		select(item, 'submenuSelection');	
	}else if (document.getElementById('mainmenuSelection') != null && item.name == document.getElementById('mainmenuSelection').value){
		select(item, 'mainmenuSelection');	
	}
}

function inactivateAll(StartFromNode){
	if (StartFromNode == null){
		return;
	}
	
	try{
		StartFromNode.id = 'inactive';
	}catch(error){

	}	
	for(var i=0; i < StartFromNode.childNodes.length; i++){
		inactivateAll(StartFromNode.childNodes[i]);
	}
}

function myGetElementById(id){ 
	return (document.getElementById) ? document.getElementById(id)
								  : document.all[id];
} 

function select(item, idOfHiddenVariableToSet){
	if (item == null)
		return;
	
	item.id = 'selected';	

	if (idOfHiddenVariableToSet != null){
		if (myGetElementById(idOfHiddenVariableToSet) != null){
			myGetElementById(idOfHiddenVariableToSet).value = item.name;
		}
	}
}

function findNodeWithNameStartingWithPath(startFromNode, path, matchingNodeArray){
	if (startFromNode == null || path == null){
		alert('startFromNode is null');
		return;
	}
	
	if (matchingNodeArray.length > 0)
		return;

	if (startFromNode.name != null && startFromNode.name.indexOf(path) == 0){
		matchingNodeArray[0] = startFromNode;
		return;
	}
	
	for(var i=0; i < startFromNode.childNodes.length; i++){
		findNodeWithNameStartingWithPath(startFromNode.childNodes[i], path, matchingNodeArray);
	}
}

function clickSubmenuItem(submenuItem, mainmenuItem){
	if (submenuItem == null || mainmenuItem == null)
		return;
	inactivateAll(gWholeMenu);

	// selct BOTH sub and mainmenu item	
	select(submenuItem, 'submenuSelection');	
	select(mainmenuItem, 'mainmenuSelection');		
	
	document.mainForm.submit();

	return false;
}


function clickMainmenuItem(mainmenuItem){
	
	if (mainmenuItem == null)
		return false;

	// You can only click on a headline if it has no subheaders
	if (mainmenuItem.parentNode.nextSibling != null)
		return false;

	inactivateAll(gWholeMenu);

	select(mainmenuItem, 'mainmenuSelection');
	myGetElementById('submenuSelection').value = '';

	document.mainForm.submit(); 

	return false;
}

function getWholeMenu(){
	return myGetElementById('whole_menu');
}

function activate(item){
	if (item == null)
		return;
		
	item.id = 'active';
} 

function hide(item){
	try{
		if (item== null)
			return;
			
		item.style.display = 'none';
	}catch(error){
	
	}
	//item.style.visibility = 'hidden';	
}

function show(item){
	try{
		if (item== null)
			return;
			
		item.style.display = 'block';
	}catch(error){
	
	}
	//item.style.visibility = 'visible';
}

function getSafeString(string){
	for(var i=0; string.length; i++){
		if (string[i] == '"' && (i==0 ||  string[i-1] != '\\'))
			string = string.substring(0, i) + "\\" + string.substring(i);
		
		if (string[i] == '\'' && (i==0 ||  string[i-1] != '\\'))
			string = string.substring(0, i) + "\\" + string.substring(i);
	}
	
	return string;
}


function init(){

	loadStaticAlbumImages();

	gWholeMenu = myGetElementById('whole_menu');
	if (gWholeMenu == null){
		return;
	}

	document.body.style.scrollbarBaseColor = '#c4c4c4';

	createMenu();
	
	createLogoRoller(100, 60);

	var mainmenuSelectionValue = null;
	var submenuSelectionValue = null;
	
	if (myGetElementById('mainmenuSelection') != null){
		if (myGetElementById("mainmenuSelection").value != null)
			mainmenuSelectionValue = myGetElementById('mainmenuSelection').value;
	}
	
	if (mainmenuSelectionValue == null){
		return;
	}

	if (myGetElementById('submenuSelection') != null){
		if (myGetElementById('submenuSelection').value != null)
			submenuSelectionValue = myGetElementById('submenuSelection').value;
	}

	var nrSet = 0;
	var links = document.getElementsByTagName('a');
	for(var i=0; i < links.length; i++){
		if (links[i].name == mainmenuSelectionValue){
			select(links[i], 'mainmenuSelection');
			nrSet++;
		}

		if (links[i].name == submenuSelectionValue){
			select(links[i], 'submenuSelection');
			nrSet++;
		}

		if (nrSet == 2)
			break;
		else if(nrSet == 1 && (submenuSelectionValue == null || submenuSelectionValue.length==0))
			break;
	}
}

function findNodeWithNameStartingWithPath(startFromNode, path, matchingNodeArray){
	if (startFromNode == null || path == null)
		return;
	
	if (matchingNodeArray.length > 0)
		return;

	if (startFromNode.name != null && startFromNode.name.indexOf(path) == 0 && 
		(path.indexOf('_') == startFromNode.name.indexOf('_') || path.indexOf('_') == startFromNode.name.length)){
		matchingNodeArray[0] = startFromNode;
		return;
	}
	
	for(var i=0; i < startFromNode.childNodes.length; i++){
		findNodeWithNameStartingWithPath(startFromNode.childNodes[i], path, matchingNodeArray);
	}
}

function showsubmenu(mainmenu){
	var match = document.getElementsByName(mainmenu.name + '_submenu');
	show(match[0]);
}


function hidesubmenu(mainmenu){
	var match = document.getElementsByName(mainmenu.name + '_submenu');
	hide(match[0]);
}

function makeInvisible(item){
	if (item== null)
		return;
		
	item.style.visibility = 'hidden';	
}

function makeVisible(item){
	if (item== null)
		return;
	
	item.style.visibility = 'visible';
}

function getDecadeFromYear(year){
	if (year == null)
		return null;
	
	if (year.length == 4){
		year = year.substring(2);
	}else if(year.length != 2){
		alert('year: ' + year + ' is invalid! it can either be XXXX or XX');
		return null;
	}
	return year.substring(0,1) + '0';
}

function sortAlbum(imageTypeID){
	if (imageTypeID == null)
		return;
		
	// Bubble sort me!
	var count = gAlbumAttributes[imageTypeID + '.count'];
	if (count == 0)
		return;
		
	for(var i=0; i < count; i++){
		var year1 = gAlbumAttributes[imageTypeID + '.year.' + i];
		var imageUrl1 = gAlbumAttributes[imageTypeID + '.image.' + i];
						
		for(var j=count-1; j > i; j--){
			var year2 = gAlbumAttributes[imageTypeID + '.year.' + j];
			var imageUrl2 = gAlbumAttributes[imageTypeID + '.image.' + j];
		
			if (year1 > year2 || (year1 == year2 && imageUrl1 > imageUrl2)){
				var caption1 = gAlbumAttributes[imageTypeID + '.caption.' + i];
				var imageObject1 = gAlbumAttributes[imageTypeID + '.imageObject.' + i];
				var decade1 = gAlbumAttributes[imageTypeID + '.decade.' + i];
		
				gAlbumAttributes[imageTypeID + '.image.' + i] = imageUrl2;
				gAlbumAttributes[imageTypeID + '.imageObject.' + i] = gAlbumAttributes[imageTypeID + '.imageObject.' + j];
				gAlbumAttributes[imageTypeID + '.caption.' + i] = gAlbumAttributes[imageTypeID + '.caption.' + j];
				gAlbumAttributes[imageTypeID + '.decade.' + i] = gAlbumAttributes[imageTypeID + '.decade.' + j];
				gAlbumAttributes[imageTypeID + '.year.' + i] = year2;
				
				gAlbumAttributes[imageTypeID + '.imageObject.' + j] = imageObject1;
				gAlbumAttributes[imageTypeID + '.image.' + j] = imageUrl1;
				gAlbumAttributes[imageTypeID + '.caption.' + j] = caption1;
				gAlbumAttributes[imageTypeID + '.year.' + j] = year1;
				gAlbumAttributes[imageTypeID + '.decade.' + j] = decade1;
				
				year1 = year2;
				imageUrl1 = imageUrl2;
			}
		}
	}	
	
	var lastDecade = "";
	for(var i=0; i < count; i++){
		var decade = gAlbumAttributes[imageTypeID + '.decade.' + i];
			
		// add empty page
		if (decade != lastDecade && i%2 != 0){
			// move forward all the pages ahead
			for(var k=count-1; k >= i; k--){
				gAlbumAttributes[imageTypeID + '.imageObject.' + (k+1)] = gAlbumAttributes[imageTypeID + '.imageObject.' + k];
				gAlbumAttributes[imageTypeID + '.image.' + (k+1)] = gAlbumAttributes[imageTypeID + '.image.' + k];
				gAlbumAttributes[imageTypeID + '.caption.' + (k+1)] = gAlbumAttributes[imageTypeID + '.caption.' + k];
				gAlbumAttributes[imageTypeID + '.decade.' + (k+1)] = gAlbumAttributes[imageTypeID + '.decade.' + k];
				gAlbumAttributes[imageTypeID + '.year.' + (k+1)] = gAlbumAttributes[imageTypeID + '.year.' + k];
			}
			
			gAlbumAttributes[imageTypeID + '.imageObject.' + i] = null;
			gAlbumAttributes[imageTypeID + '.image.' + i] = null;
			gAlbumAttributes[imageTypeID + '.caption.' + i] = null;
			gAlbumAttributes[imageTypeID + '.year.' + i] = null;
			gAlbumAttributes[imageTypeID + '.decade.' + i] = lastDecade;

			count++;
			gAlbumAttributes[imageTypeID + '.count'] = count;
		}
		lastDecade = decade; 
	}	
	
	// Add empty page in the end if necessary
	if (count%2 != 0){
		gAlbumAttributes[imageTypeID + '.imageObject.' + count] = null;
		gAlbumAttributes[imageTypeID + '.image.' + count] = null;
		gAlbumAttributes[imageTypeID + '.caption.' + count] = null;
		gAlbumAttributes[imageTypeID + '.year.' + count] = null;
		gAlbumAttributes[imageTypeID + '.decade.' + count] = gAlbumAttributes[imageTypeID + '.decade.' + (count-1)];
		gAlbumAttributes[imageTypeID + '.count'] = (count+1);
	}
}

function sortNewsEvents(){
	// Bubble sort me!
	var count = gNewsEventAttributes['count'];
	if (count == 0)
		return;
		
	for(var i=0; i < count; i++){
		var date1 = gNewsEventAttributes['date.' + i];
		for(var j=count-1; j > i; j--){
			var date2 = gNewsEventAttributes['date.' + j];
			
			if (date1 < date2){
				var event = gNewsEventAttributes['event.' + i];
				
				gNewsEventAttributes['date.' + i] = date2;
				gNewsEventAttributes['event.' + i] = gNewsEventAttributes['event.' + j];
				
				gNewsEventAttributes['event.' + j] = event;
				gNewsEventAttributes['date.' + j] = date1;
				
				date1 = date2;
			}
		}
	}	
}

function sortBrands(){
	// Bubble sort me!
	var count = gBrandsAttributes['count'];
	if (count == 0)
		return;
		
	for(var i=0; i < count; i++){
		var brand1 = gBrandsAttributes['brand.' + i];
		for(var j=count-1; j > i; j--){
			var brand2 = gBrandsAttributes['brand.' + j];
			
			if (brand1 > brand2){
				var dam1 = gBrandsAttributes['dam.' + i];
				var herr1 = gBrandsAttributes['herr.' + i];
				var barn1 = gBrandsAttributes['barn.' + i];
				
				gBrandsAttributes['brand.' + i] = brand2;
				gBrandsAttributes['dam.' + i] = gBrandsAttributes['dam.' + j];
				gBrandsAttributes['herr.' + i] = gBrandsAttributes['herr.' + j];
				gBrandsAttributes['barn.' + i] = gBrandsAttributes['barn.' + j];
				
				gBrandsAttributes['dam.' + j] = dam1;
				gBrandsAttributes['herr.' + j] = herr1;
				gBrandsAttributes['barn.' + j] = barn1;
				gBrandsAttributes['brand.' + j] = brand1;
				
				brand1 = brand2;
			}
		}
	}	
}

function sortHistoryStoryTelling(){
	// Bubble sort me!
	var count = gHistoryStoryTellingAttributes['count'];
	if (count == 0)
		return;
		
	for(var i=0; i < count; i++){
		var date1 = gHistoryStoryTellingAttributes['date.' + i];
		for(var j=count-1; j > i; j--){
			var date2 = gHistoryStoryTellingAttributes['date.' + j];
			
			if (date1 > date2){
				var event = gHistoryStoryTellingAttributes['event.' + i];
				
				gHistoryStoryTellingAttributes['date.' + i] = date2;
				gHistoryStoryTellingAttributes['event.' + i] = gHistoryStoryTellingAttributes['event.' + j];
				
				gHistoryStoryTellingAttributes['event.' + j] = event;
				gHistoryStoryTellingAttributes['date.' + j] = date1;
				
				date1 = date2;
			}
		}
	}	
}

function hideDecades(imageTypeID){
	var decadesDiv = getDecadesDiv(imageTypeID);
	if (decadesDiv == null)
		return;
		
	hide(decadesDiv);
}

function showDecades(imageTypeID){
	var decadesDiv = getDecadesDiv(imageTypeID);
	if (decadesDiv == null)
		return;
		
	show(decadesDiv);
}

function selectDecadeNr(imageTypeID, decade){
	var decadesDiv = getDecadesDiv(imageTypeID);
	if (decadesDiv == null)
		return;
		
	for(var j=0; j < decadesDiv.childNodes.length; j++){
		if(decadesDiv.childNodes[j].getAttribute("decade") == decade){
			selectDecade(decadesDiv.childNodes[j]);
			break;
		}
	}
}

function setImageDimension(imageObject, imageFromDiv, pageHeight, pageWidth){
	if (imageObject == null)
		return;
		
	if (imageFromDiv == null)
		return;
	
	if (pageHeight == null)
		return;
		
	if (pageWidth == null)
		return;
		
	if (imageObject.src == null)
		return;
		
	if(imageObject.width > 0 && imageObject.height > 0){
		var factor = imageObject.height/imageObject.width;
		if (factor > 1){
			var change = imageObject.height/(pageHeight*0.62);
			imageObject.height = pageHeight*0.62;
			imageObject.width = (imageObject.width/change);
		}else{
			var change = imageObject.width/(pageWidth*0.78);
			imageObject.width = pageWidth*0.78;
			imageObject.height = (imageObject.height/change);
		}
		
		imageFromDiv.style.height = imageObject.height + "px";
		imageFromDiv.style.width = imageObject.width  + "px";
		imageFromDiv.src = imageObject.src;
		
		return true;
	}
	
	window.setTimeout(function() { setImageDimension(imageObject, imageFromDiv, pageHeight, pageWidth)}, 1);
}
function loadAlbumPhoto(imageTypeID, index){
	if (gAlbumAttributes[imageTypeID + '.count'] == null || gAlbumAttributes[imageTypeID + '.count'] <= index)
		return;
		
	if (gAlbumAttributes[imageTypeID + '.image.' + index] != null){
		var image = new Image();
		image.src = gAlbumAttributes[imageTypeID + '.image.' + index];
		gAlbumAttributes[imageTypeID + '.imageObject.' + index] = image;
	}
	loadAlbumPhoto(imageTypeID, parseInt(index)+1);
}

function loadImage(src){
	if (src == null){
		return null;
	}
	
	var image = new Image();
	image.src = src;
	
	return image;
}
function setImageAndCaptionAndPageNr(pageIndex, imageTypeID, pageDiv){
	if (pageIndex == null || pageDiv == null)
		return;

	var nrImages = parseInt(gAlbumAttributes[imageTypeID + '.count']);
	var decade = gAlbumAttributes[imageTypeID + '.decade.' + (pageIndex-1)];
	
	selectDecadeNr(imageTypeID, decade);
	
	var pageHeight = 0;
	var pageWidth = 0;
	for(var i=0; i < pageDiv.childNodes.length; i++){
		if (pageDiv.childNodes[i].id == 'pagenr'){
			pageDiv.childNodes[i].value = pageIndex;
		}else if (pageDiv.childNodes[i].id == 'backgroundimage'){
			pageHeight = parseInt(pageDiv.childNodes[i].style.height);
			pageWidth = parseInt(pageDiv.childNodes[i].style.width);
		}else if (pageDiv.childNodes[i].id == 'pagecontainer'){
			var pageContainer = pageDiv.childNodes[i];
			
			pageContainer.style.width = pageWidth + "px";
			
			show(pageContainer);
			
			for(var k=0; k < pageContainer.childNodes.length; k++){
				if (gAlbumAttributes[imageTypeID + '.image.' + (pageIndex-1)] == null ||
					gAlbumAttributes[imageTypeID + '.caption.' + (pageIndex-1)] == null ||
					decade == null){
					hide(pageContainer);
				}
				if (pageContainer.childNodes[k].id == 'caption'){
					pageContainer.childNodes[k].value = '';
					
					if (gAlbumAttributes[imageTypeID + '.caption.' + (pageIndex-1)] != null){
						pageContainer.childNodes[k].value = gAlbumAttributes[imageTypeID + '.caption.' + (pageIndex-1)];
					}
				}else if (pageContainer.childNodes[k].id == 'year'){
					pageContainer.childNodes[k].innerHTML = '';
					
					if (gAlbumAttributes[imageTypeID + '.year.' + (pageIndex-1)] != null){
						pageContainer.childNodes[k].innerHTML = "<nobr>År: <b>" + gAlbumAttributes[imageTypeID + '.year.' + (pageIndex-1)] + "</b><nobr>";
					}
				}else if (pageContainer.childNodes[k].id == 'photo'){
					if(gAlbumAttributes[imageTypeID + '.image.' + (pageIndex-1)] == null)
						continue;
						
					setImageDimension(gAlbumAttributes[imageTypeID + '.imageObject.' + (pageIndex-1)], pageContainer.childNodes[k], pageHeight, pageWidth);
				}
			}
		}else if (pageDiv.childNodes[i].id == 'pageturner'){
			pageDiv.childNodes[i].setAttribute("pageNr", pageIndex);
		}else if (pageDiv.childNodes[i].id == 'decadepagecaptioncontainer'){
			pageDiv.childNodes[i].childNodes[0].innerHTML = decade + "-tal";
		}
	}
	
	pageDiv.style.height = pageHeight + "px";
	pageDiv.style.width = pageWidth + "px";
	
	show(pageDiv);
	show(pageDiv.parentNode);
}

function getDecadesDiv(imageTypeID){
	if (imageTypeID == null)
		return null;
	
	var currentAlbumDiv = myGetElementById(imageTypeID);
	if (currentAlbumDiv == null)
		return null;
		
	for(var p=0; p < currentAlbumDiv.childNodes.length; p++){
		if (currentAlbumDiv.childNodes[p].className == "decades"){
			currentAlbumDiv.childNodes[p].style.zIndex = 0;
			return currentAlbumDiv.childNodes[p];
		}
	}
	
	return null;
}
function turnAlbumPage(backOrForward, currentAlbumDiv, currentPageNrValueOfDiv){
	if (backOrForward == null || currentAlbumDiv == null || currentPageNrValueOfDiv == null)
		return;
		
	var currentPageNrValue = parseInt(currentPageNrValueOfDiv);
	var nrImages = parseInt(gAlbumAttributes[currentAlbumDiv.id + '.count']);
	
	var leftpage = myGetElementById('leftpage');
	var rightpage = myGetElementById('rightpage');
	
	for(var i=0; i < leftpage.childNodes.length; i++){
		hide(leftpage.childNodes[i]);
	}
	
	for(var i=0; i < rightpage.childNodes.length; i++){
		hide(rightpage.childNodes[i]);
	}
	
	showDecades(currentAlbumDiv.id);
	
	if (backOrForward == 'back'){
		// start from scratch
		currentPageNrValue = currentPageNrValue-1;
		
		gCurrentRightPageNr = currentPageNrValue;
		
		if (currentPageNrValue == 0){
			setImageAndCaptionAndPageNr(currentPageNrValue, currentAlbumDiv.id, myGetElementById('front'));
			
			inactivateAllDecades(getDecadesDiv(currentAlbumDiv.id));
		}else if (currentPageNrValue > 0){ 
			setImageAndCaptionAndPageNr(currentPageNrValue-1, currentAlbumDiv.id, myGetElementById('open_left'));
			setImageAndCaptionAndPageNr(currentPageNrValue, currentAlbumDiv.id, myGetElementById('open_right'));
		}
	}else{
		currentPageNrValue = currentPageNrValue+1;

		gCurrentRightPageNr = currentPageNrValue+1;
		
		if (nrImages > 0 && (currentPageNrValue <= nrImages || currentPageNrValue == 1)){
			setImageAndCaptionAndPageNr(currentPageNrValue+1, currentAlbumDiv.id, myGetElementById('open_right'));
			setImageAndCaptionAndPageNr(currentPageNrValue, currentAlbumDiv.id, myGetElementById('open_left'));
		}else{
			setImageAndCaptionAndPageNr(currentPageNrValue, currentAlbumDiv.id, myGetElementById('back'));
			hideDecades(currentAlbumDiv.id);
		}
	}
}

function getImageWidth(image){
	var oImg = new Image();
	oImg.src = image.src;

	return oImg.width; 
	
}

function getImageHeight(image){
	var oImg = new Image();
	oImg.src = image.src;
	
	return oImg.height; 
}

function openImageInNewWindow(name, image){
	var oImg = new Image();
	oImg.src = image.src;
	image.style.cursor='wait'; 
	window.open (image.src, name, "directories=0, location=0, menubar=0, status=0, toolbar=0, scrollbars=1, resizable=1,width=" + oImg.width + ",height=" + oImg.height); 
	
	/*
	if (oImg.complete) {
		window.open (image.src, name, "directories=0, location=0, menubar=0, status=0, toolbar=0, scrollbars=1, resizable=1,width=" + oImg.width + ",height=" + oImg.height); 
	}else {
		window.setTimeout('openImageInNewWindow(src)', 1000);
	}*/
	image.style.cursor='pointer'; 
}

function openInclusionInNewWindow(inclusionFile, width, height, name){
	window.title = name;
	window.open ('includes/' + inclusionFile, name, "directories=no, location=no, menubar=no, status=no, toolbar=no, scrollbars=no, resizable=no, width=" + width + ",height=" + height); 
}

function activateDecade(decadeDiv){
	try{
		if (decadeDiv == null)
			return;
			
		if (isSelected(decadeDiv))
			return;
			
		decadeDiv.id = 'active';
		
		for(var i=0; i < decadeDiv.childNodes.length; i++){
			if (decadeDiv.childNodes[i].className == "decadetab"){
				decadeDiv.childNodes[i].src = "/graphics/album/tab-active.png";
				break;
			}
		}
		
		setZIndex(decadeDiv, 31);
	}catch(error){
	
	}
}

function inactivateDecade(decadeDiv){
	try{
		if (decadeDiv == null)
			return;
			
		if (isSelected(decadeDiv))
			return;
			
		decadeDiv.id = 'inactive';
		
		for(var i=0; i < decadeDiv.childNodes.length; i++){
			if (decadeDiv.childNodes[i].className == "decadetab"){
				decadeDiv.childNodes[i].src = "/graphics/album/tab-inactive.png";
				break;
			}
		}
		setZIndex(decadeDiv, 30-decadeDiv.getAttribute("index"));
	}catch(error){
	
	}
}

function inactivateAllDecades(startFromNode){
	try{
		if (startFromNode == null)
			return;
			
		if (startFromNode.className == "decadetab"){
			startFromNode.src = "/graphics/album/tab-inactive.png";
		}
			
		if (startFromNode.className == "decade"){
			setZIndex(startFromNode, 30-startFromNode.getAttribute("index"));
			startFromNode.id = 'inactive';
		}
		
		for(var i=0; i < startFromNode.childNodes.length; i++){
			inactivateAllDecades(startFromNode.childNodes[i]);
		}
	}catch(error){
	
	}
}

function selectDecade(decadeDiv){
	try{
		if (decadeDiv == null)
			return;
			
		inactivateAllDecades(decadeDiv.parentNode);
		
		decadeDiv.id = 'selected';
		
		for(var i=0; i < decadeDiv.childNodes.length; i++){
			if (decadeDiv.childNodes[i].className == "decadetab"){
				decadeDiv.childNodes[i].src = "/graphics/album/tab-selected.png";
				break;
			}
		}
		
		setZIndex(decadeDiv, 31);
	}catch(error){
	
	}
}

function setZIndex(item, zIndex){
	try{
		item.style.zIndex = zIndex;
	}catch(error){
	
	}
}

function isHidden(item){
	if (item == null)
		return false;
		
	if(item.style.display == 'block')
		return true;
		
	return false;
}

function isSelected(item){
	if (item == null)
		return false;
		
	if(item.id == "selected")
		return true;
		
	return false;
}
function turnToDecade(decadeDiv, imageTypeID){
	if (decadeDiv == null)
		return;
	
	if(gCurrentRightPageNr < 0)
		return;
		
	for(var i=0; i < parseInt(gAlbumAttributes[imageTypeID + '.count']); i++){
		if (gAlbumAttributes[imageTypeID + '.decade.' + i] == decadeDiv.getAttribute("decade")){
			if ((i+1) > gCurrentRightPageNr)
				turnAlbumPage("forward", myGetElementById(imageTypeID), i);
			else if ((i+3) < gCurrentRightPageNr)
				turnAlbumPage("back", myGetElementById(imageTypeID), (i+3));
			break;
		}
	}
}


function returnToStartPage(albumId){
	if (albumId == null)
		return;

	turnAlbumPage('back', myGetElementById(albumId), 1);
}

function loadStaticAlbumImages(){
	var front = loadImage('/graphics/album/album_front.png');
	var inactiveTab = loadImage('/graphics/album/tab-inactive.png');
	var arrowLeft = loadImage('/graphics/album/arrow_left.png');
	var arrowRight = loadImage('/graphics/album/arrow_right.png');
	var activeTab = loadImage('/graphics/album/tab-active.png');
	var selectedTab = loadImage('/graphics/album/tab-selected.png');
	var back = loadImage('/graphics/album/album_back.png');
	var left = loadImage('/graphics/album/album_left.png');
	var right = loadImage('/graphics/album/album_right.png');
}

function createPhotoAlbum(imageTypeID, albumCaption, albumWidth, includeDecadesTab){

	var album = myGetElementById(imageTypeID);
	if (album == null){
		alert('<div> with id \'' + imageTypeID + '\' missing in html. Add it.');
		return;
	}

	if (gAlbumAttributes[imageTypeID + '.count'] == null || gAlbumAttributes[imageTypeID + '.count'] == 0){
		setAlbumVariables();
	}
	
	loadAlbumPhoto(imageTypeID, 0);
	
	sortAlbum(imageTypeID);
	
	var pageWidth = albumWidth/2;

	var decadesTabWidthPercentage = 0.06;
	var decadesTabOverlapPx = 5;
	
	if (includeDecadesTab)
		pageWidth = (albumWidth - albumWidth*decadesTabWidthPercentage + decadesTabOverlapPx)/2;
		
	album.style.width = albumWidth + 'px';

	
		// One div per "face". front, open_left, open_right and back
		var leftDiv = document.createElement('div');
		leftDiv.className = 'photoalbum_left';
		leftDiv.id = 'leftpage';
		leftDiv.style.width = pageWidth + "px";
		album.appendChild(leftDiv);	
		
		// One div per "face". front, open_left, open_right and back
		var rightDiv = document.createElement('div');
		rightDiv.className = 'photoalbum_right';
		rightDiv.id = 'rightpage';
		rightDiv.style.width = pageWidth + "px";
		album.appendChild(rightDiv);	
		
		// One div per "face". front, open_left, open_right and back
		var frontAlbumDiv = document.createElement('div');
		frontAlbumDiv.id = 'front';
		rightDiv.appendChild(frontAlbumDiv);	
		show(frontAlbumDiv);
		
		var openAlbumLeftDiv = document.createElement('div');
		openAlbumLeftDiv.id = 'open_left';
		leftDiv.appendChild(openAlbumLeftDiv);	

		var openAlbumRightDiv = document.createElement('div');
		openAlbumRightDiv.id = 'open_right';
		rightDiv.appendChild(openAlbumRightDiv);	

		var backAlbumDiv = document.createElement('div');
		backAlbumDiv.id = 'back';
		leftDiv.appendChild(backAlbumDiv);
		
		/*
		var decadeCaptionContainerDiv = document.createElement('div');
		decadeCaptionContainerDiv.id = 'decadepagecaptioncontainer';
		openAlbumRightDiv.appendChild(decadeCaptionContainerDiv);	
		
		var decadeCaptionDiv = document.createElement('div');
		decadeCaptionDiv.id = 'decadepagecaption';
		decadeCaptionContainerDiv.appendChild(decadeCaptionDiv);	
		*/
	
		// Background images
		var backgroundImage = document.createElement('img');
		backgroundImage.id = 'backgroundimage';
		backgroundImage.style.width = pageWidth + 'px';
		backgroundImage.src = '/graphics/album/album_front.png';
		frontAlbumDiv.appendChild(backgroundImage);
		var frontHeight = (pageWidth/getImageWidth(backgroundImage)) * getImageHeight(backgroundImage);
		backgroundImage.style.height = frontHeight + 'px';
		
		var backgroundImage1 = document.createElement('img');
		backgroundImage1.id = 'backgroundimage';
		backgroundImage1.style.height = frontHeight + 'px';
		backgroundImage1.style.width = pageWidth + 'px';
		backgroundImage1.src = '/graphics/album/album_right.png';
		openAlbumRightDiv.appendChild(backgroundImage1);

		var backgroundImage2 = document.createElement('img');
		backgroundImage2.id = 'backgroundimage';
		backgroundImage2.style.height = frontHeight + 'px';
		backgroundImage2.style.width = pageWidth + 'px';
		backgroundImage2.src = '/graphics/album/album_left.png';
		openAlbumLeftDiv.appendChild(backgroundImage2);

		var backgroundImage3 = document.createElement('img');
		backgroundImage3.id = 'backgroundimage';
		backgroundImage3.style.height = frontHeight + 'px';
		backgroundImage3.style.width = pageWidth + 'px';
		backgroundImage3.src = '/graphics/album/album_back.png';
		backAlbumDiv.appendChild(backgroundImage3);

		album.style.height = frontHeight + 'px';
		
		if (includeDecadesTab){
			var decadesDiv = document.createElement('div');
			decadesDiv.className = 'decades';
			decadesDiv.id = 'decades';
			decadesDiv.style.width = decadesTabWidthPercentage*100 + "%";
			decadesDiv.style.right = decadesTabOverlapPx + "px";
			album.appendChild(decadesDiv);	

			var startDecade = 1920, endDecade = 2010, decadeOverlapPercentage = 0.025;
			var nrDecades = (endDecade-startDecade)/10;
			var heightPercentagePerDecade = ((100/nrDecades)/100);
			var heightOfDecade = frontHeight*(heightPercentagePerDecade + decadeOverlapPercentage); 
			for(var decade = startDecade, i=0; decade < endDecade; decade +=10, i++){
				var decadeStr = decade + "";
				decadeStr = decadeStr.substring(2);
				var decadeDiv = document.createElement('div');
				decadeDiv.className = 'decade';
				decadeDiv.setAttribute("index", i);
				decadeDiv.setAttribute("decade", decadeStr);
				decadeDiv.style.zIndex = 30 - i;
				decadeDiv.style.top = frontHeight*i*(heightPercentagePerDecade - decadeOverlapPercentage/(nrDecades-1)) + "px";
				decadeDiv.style.height =  heightOfDecade + "px";
				decadeDiv.onmouseover = function(){activateDecade(this);};
				decadeDiv.onmouseout = function(){inactivateDecade(this);};
				decadeDiv.onclick = function(){if (this.getAttribute("nrImages") == null || this.getAttribute("nrImages") == 0)return false; turnToDecade(this, imageTypeID); selectDecade(this);};
				decadesDiv.appendChild(decadeDiv);	
				
				var decadeTabImage = document.createElement('img');
				decadeTabImage.className = 'decadetab';
				decadeTabImage.src = '/graphics/album/tab-inactive.png';
				decadeDiv.appendChild(decadeTabImage);	
				
				var decadeTabCaption = document.createElement('div');
				decadeTabCaption.className = 'decadetabcaption';
				decadeTabCaption.innerHTML = decadeStr;
				decadeDiv.appendChild(decadeTabCaption);	
				
				
				var nrImagesForDecade = 0;
				for(var j=0; j < gAlbumAttributes[imageTypeID + '.count']; j++){
					if (gAlbumAttributes[imageTypeID + '.decade.' + j] != decadeStr)
						continue;
						
					if (gAlbumAttributes[imageTypeID + '.decade.' + j] == decadeStr && gAlbumAttributes[imageTypeID + '.image.' + j] != null)
						nrImagesForDecade++;
				}
				
				decadeDiv.title = decade + "-tal ";
				
				if (nrImagesForDecade == 0){
					decadeDiv.style.cursor = "not-allowed";
					decadeDiv.title += "(inga bilder)";
				}else if (nrImagesForDecade == 1)
					decadeDiv.title += "(" + nrImagesForDecade + " bild)";
				else if (nrImagesForDecade > 1)
					decadeDiv.title += "(" + nrImagesForDecade + " bilder)";
					
				decadeDiv.setAttribute("nrImages", nrImagesForDecade);
			}
		}
		
		// One pageturner per face
		var pageTurnerLeftDiv = document.createElement('div');
		pageTurnerLeftDiv.id = 'pageturner';
		pageTurnerLeftDiv.setAttribute("pageNr", 3);
		pageTurnerLeftDiv.onmouseover = function(){this.style.cursor = 'pointer'; makeVisible(this.childNodes[0]);};
		pageTurnerLeftDiv.onclick = function(){turnAlbumPage('back', album, this.getAttribute("pageNr"));};
		backAlbumDiv.appendChild(pageTurnerLeftDiv);
		
		var pageTurnerLeftDiv2 = document.createElement('div');
		pageTurnerLeftDiv2.id = 'pageturner';
		pageTurnerLeftDiv2.setAttribute("pageNr", 1);
		pageTurnerLeftDiv2.onmouseover = function(){this.style.cursor = 'pointer'; makeVisible(this.childNodes[0]);};
		pageTurnerLeftDiv2.onclick = function(){turnAlbumPage('back', album, this.getAttribute("pageNr"));};
		openAlbumLeftDiv.appendChild(pageTurnerLeftDiv2);

		// the little arrow
		var backArrowDiv2 = document.createElement('img');
		backArrowDiv2.className = 'arrow';
		backArrowDiv2.title = 'Bläddra tillbaka';
		backArrowDiv2.alt = 'Bläddra tillbaka';
		backArrowDiv2.onmouseover = function(){this.style.cursor = 'pointer'; makeVisible(this);};
		backArrowDiv2.src = '/graphics/album/arrow_left.png';
		pageTurnerLeftDiv.appendChild(backArrowDiv2);

		// the little arrow
		var backArrowDiv = document.createElement('img');
		backArrowDiv.onmouseover = function(){this.style.cursor = 'pointer'; makeVisible(this);};
		backArrowDiv.className = 'arrow';
		backArrowDiv.title = 'Bläddra tillbaka';
		backArrowDiv.alt = 'Bläddra tillbaka';
		backArrowDiv.src = '/graphics/album/arrow_left.png';
		pageTurnerLeftDiv2.appendChild(backArrowDiv);

		var pageTurnerRightDiv = document.createElement('div');
		pageTurnerRightDiv.id = 'pageturner';
		pageTurnerRightDiv.setAttribute("pageNr", 0);
		pageTurnerRightDiv.onmouseover = function(){this.style.cursor = 'pointer'; makeVisible(this.childNodes[0]);};
		pageTurnerRightDiv.onclick = function(){turnAlbumPage('forward', album, this.getAttribute("pageNr"));};
		frontAlbumDiv.appendChild(pageTurnerRightDiv);
		
		var pageTurnerRightDiv2 = document.createElement('div');
		pageTurnerRightDiv2.id = 'pageturner';
		pageTurnerRightDiv2.setAttribute("pageNr", 2);
		pageTurnerRightDiv2.onmouseover = function(){this.style.cursor = 'pointer'; makeVisible(this.childNodes[0]);};
		pageTurnerRightDiv2.onclick = function(){turnAlbumPage('forward', album, this.getAttribute("pageNr"));};
		openAlbumRightDiv.appendChild(pageTurnerRightDiv2);
		
		// the little arrow
		var forwardArrowDiv2 = document.createElement('img');
		forwardArrowDiv2.className = 'arrow';
		forwardArrowDiv2.title = 'Bläddra fram';
		forwardArrowDiv2.alt = 'Bläddra fram';
		forwardArrowDiv2.src = '/graphics/album/arrow_right.png';
		forwardArrowDiv2.onmouseover = function(){this.style.cursor = 'pointer'; makeVisible(this);};
		pageTurnerRightDiv2.appendChild(forwardArrowDiv2);

		// the little arrow
		var forwardArrowDiv = document.createElement('img');
		forwardArrowDiv.title = 'Bläddra fram';
		forwardArrowDiv.alt = 'Bläddra fram';
		forwardArrowDiv.className = 'arrow';
		forwardArrowDiv.src = '/graphics/album/arrow_right.png';
		forwardArrowDiv.onmouseover = function(){this.style.cursor = 'pointer'; makeVisible(this);};
		pageTurnerRightDiv.appendChild(forwardArrowDiv);

		// Text on the front
		var frontAlbumCaptionDiv = document.createElement('input');
		frontAlbumCaptionDiv.id = 'caption';
		frontAlbumCaptionDiv.value = albumCaption;
		if (albumCaption.length > 10)
			frontAlbumCaptionDiv.style.fontSize = "25px";
		if (albumCaption.length > 13)
			frontAlbumCaptionDiv.style.fontSize = "23px";
		if (albumCaption.length > 15)
			frontAlbumCaptionDiv.style.fontSize = "21px";
		frontAlbumCaptionDiv.setAttribute("readOnly", true);
		frontAlbumDiv.appendChild(frontAlbumCaptionDiv);
		
		// logo on the back
		var backAlbumLogoDiv = document.createElement('div');
		backAlbumLogoDiv.id = 'logocontainer';
		backAlbumLogoDiv.innerHTML = "<img src='/graphics/mainpage/logo.gif' id='logo'/>";
		backAlbumDiv.appendChild(backAlbumLogoDiv);
		
		
		// container
		var contentLeftDiv = document.createElement('div');
		contentLeftDiv .id = 'pagecontainer';
		openAlbumLeftDiv.appendChild(contentLeftDiv );
		
		// container
		var contentRightDiv = document.createElement('div');
		contentRightDiv .id = 'pagecontainer';
		openAlbumRightDiv.appendChild(contentRightDiv );

		
		// Photos for face 'open_left' and 'open_right'
		// window.open("","myImg","height="+H+",width="+W)
		var openAlbumLeftImage = document.createElement('img');
		openAlbumLeftImage.id = 'photo';
		openAlbumLeftImage.src = '';
		openAlbumLeftImage.title = 'Klicka för att förstora bilden ';
		openAlbumLeftImage.onclick = function(){openImageInNewWindow(albumCaption, this);}
		contentLeftDiv.appendChild(openAlbumLeftImage);

		var openAlbumRightImage = document.createElement('img');
		openAlbumRightImage.id = 'photo';
		openAlbumRightImage.src = '';
		openAlbumRightImage.title = 'Klicka för att förstora bilden';
		openAlbumRightImage.onclick = function(){openImageInNewWindow(albumCaption, this); }
		contentRightDiv.appendChild(openAlbumRightImage);
		
		var openAlbumLeftYearDiv = document.createElement('div');
		openAlbumLeftYearDiv.id = 'year';
		contentLeftDiv.appendChild(openAlbumLeftYearDiv);
		
		var openAlbumRightYearDiv = document.createElement('div');
		openAlbumRightYearDiv.id = 'year';
		contentRightDiv.appendChild(openAlbumRightYearDiv);
		
		var openAlbumLeftCaptionDiv = document.createElement('textarea');
		openAlbumLeftCaptionDiv.id = 'caption';
		openAlbumLeftCaptionDiv.rows = 5;
		openAlbumLeftCaptionDiv.value = '';
		openAlbumLeftCaptionDiv.setAttribute("readOnly", true);
		contentLeftDiv.appendChild(openAlbumLeftCaptionDiv);

		var openAlbumRightCaptionDiv = document.createElement('textarea');
		openAlbumRightCaptionDiv.id = 'caption';
		openAlbumRightCaptionDiv.rows = 5;
		openAlbumRightCaptionDiv.value = '';
		openAlbumRightCaptionDiv.setAttribute("readOnly", true);
		contentRightDiv.appendChild(openAlbumRightCaptionDiv);
		
		var openAlbumLeftPageNrInput = document.createElement('input');
		openAlbumLeftPageNrInput.id = 'pagenr';
		openAlbumLeftPageNrInput.value = '1';
		openAlbumLeftDiv.appendChild(openAlbumLeftPageNrInput);

		var openAlbumRightPageNrInput = document.createElement('input');
		openAlbumRightPageNrInput.id = 'pagenr';
		openAlbumRightPageNrInput.value = '2';
		openAlbumRightDiv.appendChild(openAlbumRightPageNrInput);	
	
	show(album);
}


function createMenu() {
	if (gWholeMenu == null)
		return;

	if (gMenuAttributes['count'] == null || gMenuAttributes['count'] == 0){
		setMenuItems();
	}
	
	if (gMenuAttributes['count'] == null || gMenuAttributes['count'] == 0){
		alert('Set your menu items in \'setMenuItems()\'');
		return;
	}
	
  	
	var table = document.createElement('table');
	table.setAttribute('valign', 'top');
	table.setAttribute('width', '100%');
	table.setAttribute('border', '0');
	table.style.borderCollapse = 'collapse';
	table.style.padding = 0;
	gWholeMenu.appendChild(table);

	var tbody = document.createElement('tbody');
	table.appendChild(tbody);

	var tr = document.createElement('tr');
	tbody.appendChild(tr);

	for(var i=0; i < gMenuAttributes['count']; i++){
		var name = gMenuAttributes['name.' + i];

		// <td style="border-bottom: 1px black solid">
		var td = document.createElement('td');
		td.setAttribute('valign', 'top');
		td.style.borderBottom = '1px black solid';
		tr.appendChild(td);

		// <div class="menugroup" >
		var divMenugroup = document.createElement('div');
		divMenugroup.className = 'menugroup';
		td.appendChild(divMenugroup);
		
		// <div id="inactive" class="menuheadline" name="huvudmeny" onmouseover="activate(this); show(this.parentNode.childNodes[1]);">
		var divMenuheadline = document.createElement('div');
		divMenuheadline.className = 'menuheadline';
		divMenuheadline.onmouseover = function(){ this.style.backgroundColor='#ff0000'; show(this.parentNode.childNodes[1]); }
		divMenuheadline.onmouseout = function(){ hide(this.parentNode.childNodes[1]); }
		divMenugroup.appendChild(divMenuheadline);


		// <a class="menusubitemlink" href="index.html"><nobr>HUVUDMENY</nobr></a>
		var a = document.createElement('a');
		a.name = gMenuAttributes['name.' + i];
		a.className = 'menusubitemlink';
		//a.href = '/new_site/kotte.asp?mainmenuSelection=' + gMenuAttributes['name.' + i];
		a.href = '#';
		a.onclick = function(){clickMainmenuItem(this);};
		a.innerHTML = '<nobr>' + gMenuAttributes['value.' + i] + '</nobr>';
		divMenuheadline.appendChild(a);
		
		var maxWidth = gMenuAttributes['value.' + i].length*10;

		td.style.width = maxWidth ;

		if (gMenuAttributes[name + '.count'] == 0)
			continue;
			
		a.onclick = function(){return false;};
		a.id = 'disabled';

		// <div name="huvudmeny_submenu" class="menusubitems" onmouseout="hide(this);" onmouseover="show(this);" >
		var divMenusubitems = document.createElement('div');
		divMenusubitems.className = 'menusubitems';
		divMenusubitems.name = name + '_';
		divMenusubitems.onmouseover = function(){ show(this);}
		divMenusubitems.onmouseout = function(){ hide(this);}
		divMenugroup.appendChild(divMenusubitems);

		// <table border="0">
		var innerTable = document.createElement('table');
		innerTable.setAttribute('border', '0');
		innerTable.style.padding = 0;
		innerTable.style.margins = 0;
		innerTable.style.borderCollapse = 'collapse';
		innerTable.style.borderColor = 'transparent';
		divMenusubitems.appendChild(innerTable);

		// <tbody>
		var innerTbody = document.createElement('tbody');
		innerTable.appendChild(innerTbody);

		for(var j=0; j < gMenuAttributes[name + '.count']; j++){
			// <tr name="start_submenu_0" onclick="clickSubmenuItem(this, true);">
			var innerTr = document.createElement('tr');
			//innerTr.name = gMenuAttributes[name + '.name.' + j];
			//innerTr.setAttribute('onclick', 'clickSubmenuItem(this, true);');
			innerTbody.appendChild(innerTr);
			
			// <td>
			var innerTd = document.createElement('td');
			innerTr.appendChild(innerTd);

			var innerA = document.createElement('a');
			innerA.name = gMenuAttributes[name + '.name.' + j];
			innerA.className = 'menusubitemlink';
			//innerA.href = '/new_site/kotte.asp?mainmenuSelection=' + gMenuAttributes['name.' + i] + '&submenuSelection=' + gMenuAttributes[name + '.name.' + j];
			innerA.href = '#';
			innerA.onclick = function(){clickSubmenuItem(this, this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.childNodes[0].childNodes[0].childNodes[0]);};
			innerA.innerHTML = '<nobr>' + gMenuAttributes[name + '.value.' + j] + '</nobr>';
			innerTd.appendChild(innerA);

			if (gMenuAttributes[name + '.value.' + j].length*10 > maxWidth){
				//maxWidth = gMenuAttributes[name + '.value.' + j].length*10;
			}
		}
		
		//td.style.width = maxWidth;
	}	
	
}



