function getPath() {
	return window.location.href.substring(0, window.location.href.lastIndexOf("/")) ;
}

function replaceH1() {
	var headerImg = readMeta('header-image') ;
	if (!headerImg) return false ;
	// If present, set classname and replace contents with special image
	var myH1 = document.getElementsByTagName('h1')[0] ;
	if (!myH1) return ;
	myH1.style.backgroundImage = 'url('+getPath()+'/' + headerImg + ')' ;
	myH1.style.backgroundPosition = 'top left' ;
	myH1.style.backgroundRepeat = 'no-repeat' ;
	myH1.style.textIndent = '-3000px' ;
}

function readMeta(metaName) {
	if (!document.getElementsByTagName) return false ;
	var allMetas = document.getElementsByTagName('meta') ;
	for (var m=0; m<allMetas.length; m++) {
		if (allMetas[m].name.toLowerCase() == metaName.toLowerCase()) {
			if (allMetas[m].content) {
				// IE, Opera and Mozilla
				return allMetas[m].content ;
			}
			else if ( (allMetas[m].attributes[1].value.indexOf('.gif')>=0) || (allMetas[m].attributes[1].value.indexOf('.jp')>=0) )  {
				return allMetas[m].attributes[1].value ;
			}
			else {
				return allMetas[m].attributes[0].value ;
			}
		}
	}
	return false ;
}

function setupAuthor() {
	// Read author from HTML
	var author = readMeta('author') ;
	if (!author) return ;
	// If present, create a new box and insert into document
	var newAuthorBox = document.createElement('div') ;
	var newAuthorBoxInner = document.createElement('div') ;
	newAuthorBox.className = 'info-box' ;
	var newAuthorName = document.createTextNode(author) ;
	newAuthorBoxInner.className = 'author' ;
	newAuthorBoxInner.appendChild(newAuthorName) ;
	newAuthorBox.appendChild(newAuthorBoxInner) ;
	document.getElementById('insert').appendChild(newAuthorBox) ;
}

function setupDate() {
	// Read date from HTML
	var docDate = readMeta('date') ;
	if (!docDate) return ;
	var newDateBox = document.createElement('div') ;
	var newDateText = document.createTextNode('content updated ' + docDate) ;
	newDateBox.appendChild(newDateText) ;
	document.getElementById('insert').appendChild(newDateBox) ;
}

function setupSections() {
	// NOT CURRENTLY USED
	var sections = readMeta('sections') ;
	if (!sections) return ;
	var splitSections = sections.split(',') ;
	// Create new ul
	newSectionList = document.createElement('ul') ;
	newSectionList.className = 'cross-links' ;
	
	for (s=0; s<splitSections.length; s++) {
		// Create new <li>
		var newSectionItem = document.createElement('li') ;
		newSectionItem.className = 's-' + splitSections[s] ;
		// Create new <a> inside it
		var newSectionItemLink = document.createElement('a') ;
		newSectionItemLink.href = splitSections[s] + '.cfm' ;
		switch (splitSections[s]) {
			case "basics" :
				newSectionText = "Basics" ;
				break ;
			case "recommendations" :
				newSectionText = "Recommended" ;
				break ;
			case "process" :
				newSectionText = "Design process" ;
				break ;
			case "opinion" :
				newSectionText = "Opinion" ;
				break ;
			case "business" :
				newSectionText = "Business" ;
				break ;
			case "goal-oriented-design" :
				newSectionText = 'Goal-oriented design' ;
				break ;
			case "graphic-design" :
				newSectionText = 'Graphic design' ;
				break ;
			case "ia" :
				newSectionText = "Site architecture" ;
				break ;
			case "accessibility" :
				newSectionText = "Accessibility" ;
				break ;
			case "usability" :
				newSectionText = 'Usability' ;
				break ;
			case "copywriting" :
				newSectionText = "Copywriting" ;
				break ;
			case "production" :
				newSectionText = "Production" ;
				break ;
			case "html" :
				newSectionText = "HTML" ;
				break ;
			case "css" :
				newSectionText = "CSS" ;
				break ;
			case "js" :
				newSectionText = "Javascript / DHTML" ;
				break ;
			default :
				newSectionText = '' ;
				break ;
		}
		
		if (newSectionText.length) {
			var newSectionTextNode = document.createTextNode(newSectionText) ;
			newSectionItemLink.appendChild(newSectionTextNode) ;
			newSectionItem.appendChild(newSectionItemLink) ;
			newSectionList.appendChild(newSectionItem) ;
		}

	}
	document.getElementById('insert').appendChild(newSectionList) ;
}

function setupSections() {
	// Does page include Sections metatag?
	var sections = readMeta('sections') ;
	if (!sections) return ;
	// If so, set relevant side nav items "on"
	var splitSections = sections.split(',') ;
	var myNav = document.getElementById('navSections').getElementsByTagName('li') ;
	
	for (var iSection in splitSections) {
		for (var iListItem=0; iListItem<myNav.length; iListItem++) {
			if (classContains(myNav[iListItem], 's-' + splitSections[iSection])) {
				addClass (myNav[iListItem], "on") ;
			}
		}
	}
}

function setup() {
	replaceH1() ;
	setupDate() ;
	setupSections() ;
}

addEvent(window, 'load', setup, false) ;