// to get the language of the browser, FF will only return its installed version
// e.g. nagivator.language, may have to use some java instead, or enable SSI on the server to get the REMOTE_ADDR thus the area of usuage, but this will work in most situations.
function getLanguageB()
{
	var language = "";
	if ("language" in navigator && navigator.language)
		language= navigator.language;
	else if ("userLanguage" in navigator && navigator.userLanguage)
		language = navigator.userLanguage;
	else if ("systemLanguage" in navigator && navigator.systemLanguage)
		language = navigator.systemLanguage;
	if (language == "")
		language = "en-GB";
	return language;
}

// inlcude the javascript json file, taken from the navigator language
function includeDOM(filename)
{
	var html_doc = document.getElementsByTagName('head').item(0);
	var js = document.createElement('script');
	js.setAttribute('language','javascript');
	js.setAttribute('type','text/javascript');
	js.setAttribute('src',filename);
	html_doc.appendChild(js);
	return;
}

// slow way of checking to make sure that the language is viewable in the json files.
function AJ(){
	var obj;
	if (window.XMLHttpRequest){
		obj= new XMLHttpRequest();
	}
	else if (window.ActiveXObject) {
		try{
			obj= new ActiveXObject('MSXML2.XMLHTTP.3.0');
		}
		catch(er){
			obj=false;
		}
	}
	return obj;
}

function isFile(str){
	var O= AJ();
	if(!O) return false;
	try{
		O.open("HEAD", str, false);
		O.send(null);
		return (O.status==200) ? true : false;
	}
	catch(er){
		return false;
	}
}

// the actaul object for the language, area = less passing of future parameters, e.g. lessonplan
function LanguageObj(area)
{
//	this.lang = getLanguageB();
//	split = this.lang.split("-");
//	if (split.length >= 2)
//	{
//		if (isFile('/language/'+split[0]+'/'+split[1]+'/json.js')==true)
//			includeDOM('/language/'+split[0]+'/'+split[1]+'/json.js');
//		else
//			includeDOM('/language/en/GB/json.js');
//	}
//	else
		includeDOM('/language/en/GB/json.js');
	if (area != null)
		this.parea = area;
	else
		this.parea = null;
}

// function to obtain the value
LanguageObj.prototype.getValue = function(area,subArea)
{
	if (this.parea == null)
	        return eval('JSONLang.'+area+'[0].'+subArea);
	else
	        return eval('JSONLang.'+this.parea+'[0].'+area);
}
