
// related_factsheets.js
// Geoff Pack, May 2007
//
// finds related Fact Sheet stories and writes them to the second column

// these two functions from http://developer.mozilla.org/en/docs/AJAX:Getting_Started
function makeRequest(url) {
	var http_request = false;

	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		//if (http_request.overrideMimeType) {
		//	http_request.overrideMimeType('text/xml');
		//}
	} else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
			http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	if (!http_request) {
		alert('Giving up :( Cannot create an XMLHTTP instance');
		return false;
	}
	//http_request.onreadystatechange = alertContents;
	http_request.onreadystatechange = function() { alertContents(url, http_request); };
	http_request.open('GET', url, true);
	http_request.send(null);
}

function alertContents(url, request) {
	if (request.readyState == 4) {
		if (request.status == 200) {
			writeIntoPage(request.responseText);
		} else {
			// do nothing...
		}
	}
}
function writeIntoPage(str) {
	document.getElementById('relatedItems').innerHTML = "<h4>Related Fact Sheets</h4>" + str + "<br>";
}

function findKeywords() {
	var factsheetCategories = new Array('askit','flowers','fruit','garden','native','other','pests','plants','pots','recipes','soils','techniques','waterwise');
	// inconsistencies re plurals, so check these also:
	var factsheetCategoriesAlt = new Array('askit','flower','fruits','gardens','natives','other','pest','plant','pot','recipe','soil','technique','waterwise');

	var title = document.getElementsByTagName('title');
	var meta = document.getElementsByTagName('meta');
	var keywords = meta[4].content;
	
	// Ask it/Solve it don't have keywords...
	if (title[0].innerHTML.indexOf('Ask It/Solve It') != -1) keywords = 'askit';

	if (keywords) {
		// find the first keyword: could be comma or space seperated
		k2 = keywords.split(",");
		k3 = k2[0].split(" ");
		k3 = k3[0].toLowerCase();
		//alert(keywords + '\n' + k2[0] + '\n' + k3 + '\n');
		
		// if the first keyword matches one of the factsheet categories, 
		// load factsheets_keyword.inc and write it into the <div class="column2">
		for (var s in factsheetCategories) {
			if ((k3 == factsheetCategories[s]) || (k3 == factsheetCategoriesAlt[s])) {
				var url = "../includes/factsheets_" + factsheetCategories[s] + ".inc"
				makeRequest(url);
				break;
			}
		}
	}
}


function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
}

addLoadEvent(findKeywords);