var msgLoading = "<div class=\"loading\">Loading...</div>";
var msgSearcher = "<div class=\"loading\">Searching...</div>";
var msgError = "<div class=\"emp\">We are experiencing difficulties in completing your request. Please notify the system administrators of this error.</div>";
var randomNumber = Math.random();

var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();



function getRand() {
	return Math.random();
}

var xmlhttp
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
 try {
  xmlhttp = new XMLHttpRequest();
 } catch (e) {
  xmlhttp=false
 }
}

function myXMLHttpRequest() {
	var xmlhttplocal;
	try {
		xmlhttplocal = new ActiveXObject("Msxml2.XMLHTTP")
	} catch (e) {
		try {
			xmlhttplocal = new ActiveXObject("Microsoft.XMLHTTP")
		} catch (E) {
			xmlhttplocal = false;
		}
	}
	if (!xmlhttplocal && typeof XMLHttpRequest != 'undefined') {
		try {
			var xmlhttplocal = new XMLHttpRequest();
		} catch (e) {
			var xmlhttplocal = false;
		}
	}
	return(xmlhttplocal);
}

function assignment(tfid,uid,state,page,rand) {
	url = 'arc.pl?do=changeAssignment&tfid='+tfid+'&data='+uid+'&datb='+state+'&datc='+rand+'&random='+randomNumber+'&datf='+page;
	getHistoryData = new myXMLHttpRequest();
	getHistoryData.open("GET",url,true);
	getHistoryData.onreadystatechange=function() {
		if (getHistoryData.readyState==4) {
			outputData = getHistoryData.responseText;
			var boxname = "assignBox_"+tfid+"_"+rand;
			document.getElementById(boxname).innerHTML = outputData;
		}
	}
	getHistoryData.send(null);
	return false;  
}

function getHistory(pagetype,pagenum,printarea) {
	url = 'history.pl?pagetype='+pagetype+'&pagenum='+pagenum+'&printarea='+printarea+'&random='+randomNumber;
	getHistoryData = new myXMLHttpRequest();
	getHistoryData.open("GET",url,true);
	getHistoryData.onreadystatechange=function() {
		if (getHistoryData.readyState==4) {
			outputData = getHistoryData.responseText;
			document.getElementById(printarea).innerHTML = outputData;
		}
	}
	getHistoryData.send(null);
	return false;  
}

function getTfeContent(tfid,tab,update,ajax) {
	if (BrowserDetect.browser != "Explorer") {
		url = 'arc.pl?do=getTfeContent&tfid='+tfid+'&data='+tab+'&datb='+update+'&datc='+ajax;
		getHistoryData = new myXMLHttpRequest();
		getHistoryData.open("GET",url,true);
		getHistoryData.onreadystatechange=function() {
			if (getHistoryData.readyState==4) {
				outputData = getHistoryData.responseText;
				document.getElementById("tfeContent").innerHTML = outputData;
			}
		}
		getHistoryData.send(null);
	}
	return false;
}

function checkFilename(printarea,targetInput) {
	var filename = document.getElementById(targetInput).value;
	url = 'filename.pl?filename='+filename+'&random='+randomNumber;
	getData = new myXMLHttpRequest();
	getData.open("GET",url,true);
	getData.onreadystatechange=function() {
		if (getData.readyState==4) {
			outputData = getData.responseText;
			document.getElementById(printarea).innerHTML = outputData;
		}
	}
	getData.send(null);
	return false;  
}

hideSuggest = function(menuObj) {
	var shMe = document.getElementById(menuObj+"m");
	var hcmd = function() { shMe.className=shMe.className.replace(new RegExp(" show\\b"), " hide"); }
	setTimeout(hcmd,1000);
	return false;
}

alphaTween = function(opacity, targetDiv) {
	var object = document.getElementById(targetDiv).style;
	object.opacity = (opacity / 100);
	object.MozOpacity = (opacity / 100);
	object.KhtmlOpacity = (opacity / 100);
	object.filter = "alpha(opacity=" + opacity + ")";
}

neatEffect = function(targetDiv,startAlpha,endAlpha,override) {
	var speed = 10;
	var timer = 0;
	var shMe = document.getElementById(targetDiv);
	if(startAlpha > endAlpha && (startAlpha==100 || override)) {
		for(i = startAlpha; i >= endAlpha; i--) {
			setTimeout("alphaTween(" + i + ",'" + targetDiv + "')",(speed * timer));
			timer++;
		}
	} else if(startAlpha < endAlpha && (startAlpha==0 || override)) {
		for(i = startAlpha; i <= endAlpha; i++) {
			setTimeout("alphaTween(" + i + ",'" + targetDiv + "')",(speed * timer));
			timer++;
		}
	}
}

function keyCheck(menuObj,e) {
	var KeyID = (window.event) ? event.keyCode : e;
	var activator = 0;
	switch(KeyID) {
		case 38: //Arrow Up
			activator = -1;
		break;
		case 40: //Arrow Down
			activator = +1;
		break;
		case 13: //Enter
			var suffix = "v";
			for (var k = 0; k<18; k++) {
				var t = document.getElementById(menuObj+k);
				var q = document.getElementById(menuObj+k+suffix);
				if (t) {
					if (t.className == "sel-y") {
						document.getElementById(menuObj).value = q.value;
					}
				}
			}
			activator = 2;
			hideSuggest(menuObj);
		break;
	}
	var activeA = 0;
	if ((activator == 1) || (activator == -1)) {
		for (var i = 0; i<18; i++) {
			var r = document.getElementById(menuObj+i);
			if (r) {
				if (r.className == "sel-y") {
					activeA = i;
				}
			}
		}
		var activate = activeA + activator;
		if ((activate > -1) && (activate < 18)) {
			for (var m = 0; m<18; m++) {
				var r = document.getElementById(menuObj+m);
				if (r) {
					if (m == activate) {
						r.className = "sel-y";
					} else {
						r.className = "sel-n";
					}
				}
			}
		}
	}
	if ((activator == 1) || (activator == -1) || (activator == 2)) {
		return false;
	} else {
		return true;
	}
}

locPosx = function(obj) {
	var cl = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent)
		{
			cl += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x) {
		cl += obj.x;
	}
	return cl;
}

locPosy = function(obj) {
	var ct = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent)
		{
			ct += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y) {
		ct += obj.y;
	}
	return ct;
}

suggest = function(menuObj,menuType,e,special,targetObj) {
	var go = keyCheck(menuObj,e);
	if (go == true) {
		var e = /hide/;
		var shBu = document.getElementById(menuObj);
		var shMe = document.getElementById(menuObj+"m");
		if (shBu.value == "") {
			shMe.className=shMe.className.replace(new RegExp(" show\\b"), " hide");
		} else {
			var xPos = locPosx(shBu);
			var yPos = locPosy(shBu);
			yPos += 25;
			shMe.style.top = yPos + 'px';
			shMe.style.left = xPos + 'px';
			//shMe.className=shMe.className.replace(new RegExp(" hide\\b"), " show");
			//shMe.innerHTML = msgSearcher;		
			var specialValue;
			if (document.getElementById(special)) {
				if (specialValue == undefined) {
					specialValue = document.getElementById(special).value;
				}
			}
			var keyword = shBu.value;
			url = 'suggest.pl?ti='+keyword+'&ta='+menuObj+'&ty='+menuType+'&sp='+specialValue+'&random='+randomNumber;
			getData = new myXMLHttpRequest();
			getData.open("GET",url,true);
			getData.onreadystatechange=function() {
				if (getData.readyState==4) {
					var outputData = getData.responseText;
					shMe.innerHTML = outputData;
					if (shMe.innerHTML.length > 10) {
						shMe.className=shMe.className.replace(new RegExp(" hide\\b"), " show");
					} else {
						//shMe.innerHTML = "<div class=\"tp bm p5\"><strong>No matches found.</strong></div>";
						//delayClose = function() {
						//	shMe.className=shMe.className.replace(new RegExp(" show\\b"), " hide");
						//	return false;
						//}
						//if (shBu.value == "") {
						//	setTimeout('delayClose()', 1000);
						//}
						shMe.className=shMe.className.replace(new RegExp(" show\\b"), " hide");
					}
				}
			}
			getData.send(null);
		}
	}
	return false;
}

setValue = function(menuObj,menuValue) {
	var shBu = document.getElementById(menuObj);
	var shMe = document.getElementById(menuObj+"m");
	shBu.value = menuValue;
	return false;
}
loadMsg = function(div) {
	document.getElementById(div).innerHTML = msgLoading;
}
tree = function(iDiv,scriptCom,noToggle) {
	var rDiv = document.getElementById(iDiv+"_l");
	var tDiv = document.getElementById(iDiv+"_qq_");
//	if (tDiv && rDiv && scriptCom) {
		var e = /hide/;
		var b = /buffer/;
		if (tDiv.className.match( e ) || tDiv.innerHTML == "") {
			if (!(tDiv.className.match( b ))) {
				tDiv.innerHTML = msgLoading;
				tDiv.className=tDiv.className.replace(new RegExp("hide\\b"), "show");
				rDiv.className=rDiv.className.replace(new RegExp("add\\b"), "sub");
				var url = 'branch.pl?query='+iDiv+'&tasks='+scriptCom+'&randomNumber='+randomNumber;
				getBranch = new myXMLHttpRequest();
				getBranch.open("GET",url,true);
				getBranch.onreadystatechange=function() {
					if (getBranch.readyState==4) {
						outputData = getBranch.responseText;
						tDiv.innerHTML = outputData;
					}
				}
				getBranch.send(null);
			} else {
				tDiv.className=tDiv.className.replace(new RegExp("hide\\b"), "show");
				rDiv.className=rDiv.className.replace(new RegExp("add\\b"), "sub");
			}
		} else if (!noToggle) {
			tDiv.className=tDiv.className.replace(new RegExp("show\\b"), "hide");
			rDiv.className=rDiv.className.replace(new RegExp("sub\\b"), "add");
		}
//	}
	if (iDiv == "showauthored") {
		document.getElementById("showall_qq_").innerHTML = "";
		document.getElementById("name_qq__qq_").innerHTML = "";
		document.getElementById("class_qq_").innerHTML = "";
		document.getElementById("species_qq_").innerHTML = "";
		document.getElementById("family_qq_").innerHTML = "";
		document.getElementById("status_qq_").innerHTML = "";
		document.getElementById("showauthored-b").className = "tab tabAct";
		document.getElementById("showall-b").className = "tab tabOff";
		document.getElementById("name-b").className = "tab tabOff";
		document.getElementById("class-b").className = "tab tabOff";
		document.getElementById("species-b").className = "tab tabOff";
		document.getElementById("family-b").className = "tab tabOff";
		document.getElementById("status-b").className = "tab tabOff";
	} else if (iDiv == "showall") {
		document.getElementById("showauthored_qq_").innerHTML = "";
		document.getElementById("name_qq__qq_").innerHTML = "";
		document.getElementById("class_qq_").innerHTML = "";
		document.getElementById("species_qq_").innerHTML = "";
		document.getElementById("family_qq_").innerHTML = "";
		document.getElementById("status_qq_").innerHTML = "";
		document.getElementById("showauthored-b").className = "tab tabOff";
		document.getElementById("showall-b").className = "tab tabAct";
		document.getElementById("name-b").className = "tab tabOff";
		document.getElementById("class-b").className = "tab tabOff";
		document.getElementById("species-b").className = "tab tabOff";
		document.getElementById("family-b").className = "tab tabOff";
		document.getElementById("status-b").className = "tab tabOff";
	} else if (iDiv == "name_qq_") {
		document.getElementById("showauthored_qq_").innerHTML = "";
		document.getElementById("showall_qq_").innerHTML = "";
		document.getElementById("class_qq_").innerHTML = "";
		document.getElementById("species_qq_").innerHTML = "";
		document.getElementById("family_qq_").innerHTML = "";
		document.getElementById("status_qq_").innerHTML = "";
		document.getElementById("showauthored-b").className = "tab tabOff";
		document.getElementById("showall-b").className = "tab tabOff";
		document.getElementById("name-b").className = "tab tabAct";
		document.getElementById("class-b").className = "tab tabOff";
		document.getElementById("species-b").className = "tab tabOff";
		document.getElementById("family-b").className = "tab tabOff";
		document.getElementById("status-b").className = "tab tabOff";
	} else if (iDiv == "class") {
		document.getElementById("showauthored_qq_").innerHTML = "";
		document.getElementById("showall_qq_").innerHTML = "";
		document.getElementById("name_qq__qq_").innerHTML = "";
		document.getElementById("species_qq_").innerHTML = "";
		document.getElementById("family_qq_").innerHTML = "";
		document.getElementById("status_qq_").innerHTML = "";
		document.getElementById("showauthored-b").className = "tab tabOff";
		document.getElementById("showall-b").className = "tab tabOff";
		document.getElementById("name-b").className = "tab tabOff";
		document.getElementById("class-b").className = "tab tabAct";
		document.getElementById("species-b").className = "tab tabOff";
		document.getElementById("family-b").className = "tab tabOff";
		document.getElementById("status-b").className = "tab tabOff";
	} else if (iDiv == "species") {
		document.getElementById("showauthored_qq_").innerHTML = "";
		document.getElementById("showall_qq_").innerHTML = "";
		document.getElementById("name_qq__qq_").innerHTML = "";
		document.getElementById("class_qq_").innerHTML = "";
		document.getElementById("family_qq_").innerHTML = "";
		document.getElementById("status_qq_").innerHTML = "";
		document.getElementById("showauthored-b").className = "tab tabOff";
		document.getElementById("showall-b").className = "tab tabOff";
		document.getElementById("name-b").className = "tab tabOff";
		document.getElementById("class-b").className = "tab tabOff";
		document.getElementById("species-b").className = "tab tabAct";
		document.getElementById("family-b").className = "tab tabOff";
		document.getElementById("status-b").className = "tab tabOff";
	} else if (iDiv == "family") {
		document.getElementById("showauthored_qq_").innerHTML = "";
		document.getElementById("showall_qq_").innerHTML = "";
		document.getElementById("name_qq__qq_").innerHTML = "";
		document.getElementById("class_qq_").innerHTML = "";
		document.getElementById("species_qq_").innerHTML = "";
		document.getElementById("status_qq_").innerHTML = "";
		document.getElementById("showauthored-b").className = "tab tabOff";
		document.getElementById("showall-b").className = "tab tabOff";
		document.getElementById("name-b").className = "tab tabOff";
		document.getElementById("class-b").className = "tab tabOff";
		document.getElementById("family-b").className = "tab tabAct";
		document.getElementById("species-b").className = "tab tabOff";
		document.getElementById("status-b").className = "tab tabOff";
	} else if (iDiv == "status") {
		document.getElementById("showauthored_qq_").innerHTML = "";
		document.getElementById("showall_qq_").innerHTML = "";
		document.getElementById("name_qq__qq_").innerHTML = "";
		document.getElementById("class_qq_").innerHTML = "";
		document.getElementById("species_qq_").innerHTML = "";
		document.getElementById("family_qq_").innerHTML = "";
		document.getElementById("showauthored-b").className = "tab tabOff";
		document.getElementById("showall-b").className = "tab tabOff";
		document.getElementById("name-b").className = "tab tabOff";
		document.getElementById("class-b").className = "tab tabOff";
		document.getElementById("family-b").className = "tab tabOff";
		document.getElementById("species-b").className = "tab tabOff";
		document.getElementById("status-b").className = "tab tabAct";
	}
	return false;
}
toggleEdit = function(targetObj,tfID,scriptAction,dataLoc) {
	var tObj = document.getElementById(targetObj);
	if (tObj && tfID) {
		var dataContent;
		if (dataLoc) {
			dataContent = document.getElementById(dataLoc).value;
		}
		var url = 'editor.pl?part='+targetObj+'&tfid='+tfID+'&do='+scriptAction+'&data='+dataContent+'&random='+randomNumber;
		getData = new myXMLHttpRequest();
		getData.open("GET",url,true);
		getData.onreadystatechange=function() {
			if (getData.readyState==4) {
				outputData = getData.responseText;
				tObj.innerHTML = outputData;
			}
		}
		getData.send(null);
		return false; 
	}
}

toggleEditSave = function(targetObj,tfID,scriptAction,dataLoc,pageLoc,specificScript) {
	var tObj;
	if (!pageLoc) {
		tObj = parent.document.getElementById(targetObj);
	} else {
		tObj = document.getElementById(targetObj);
	}
	if (!specificScript) {
		specificScript = 'editor.pl';
	}
	if (tObj && tfID) {
		var dataContent;
		if (dataLoc) {
			dataContent = document.getElementById(dataLoc).value;
		}
		var url = specificScript+'?part='+targetObj+'&tfid='+tfID+'&do='+scriptAction+'&data='+dataContent+'&random='+randomNumber;
		tObj.innerHTML = msgLoading;
		getData = new myXMLHttpRequest();
		getData.open("GET",url,true);
		getData.onreadystatechange=function() {
			if (getData.readyState==4) {
				outputData = getData.responseText;
				tObj.innerHTML = outputData;
			}
		}
		getData.send(null);
		return false;
	}
}

fetchSectionGA = function(targetDiv,tfID,messages) {
	var tObj = parent.document.getElementById(targetDiv);
	if (tObj && tfID) {
		tObj.innerHTML = msgLoading;
		var url = 'arc.pl?do=showAssociations&tfid='+tfID+'&msgs='+messages+'&random='+randomNumber;
		getData = new myXMLHttpRequest();
		getData.open("GET",url,true);
		getData.onreadystatechange=function() {
			if (getData.readyState==4) {
				outputData = getData.responseText;
				tObj.innerHTML = outputData;
			}
		}
		getData.send(null);
		return false;
	}
}

loadFigure = function(targetDiv,entry,curline,totalline,doMode) {
	if (!doMode) {
		doMode = "loadFigure";
	}
	if (targetDiv && entry && doMode) {
		var tObj;
		if (document.getElementById(targetDiv)) {
			tObj = document.getElementById(targetDiv);
		} else if (parent.document.getElementById(targetDiv)) {
			tObj = parent.document.getElementById(targetDiv);
		}
		if (curline && totalline) {
			for (var i=0;i<=totalline;i++) {
				if (document.getElementById(targetDiv+"t"+i)) {
					var curImg = document.getElementById(targetDiv+"t"+i);
					if (i != curline) {
						curImg.className = curImg.className.replace(new RegExp("img-a"),"img-o");
					} else {
						curImg.className = curImg.className.replace(new RegExp("img-o"),"img-a");
					}
				}
			}
		}
		tObj.innerHTML = msgLoading;
		var url = 'arc.pl?do='+doMode+'&data='+entry+'&random='+randomNumber;
		getData = new myXMLHttpRequest();
		getData.open("GET",url,true);
		getData.onreadystatechange=function() {
			if (getData.readyState==4) {
				outputData = getData.responseText;
				tObj.innerHTML = outputData;
			}
		}
		getData.send(null);
		return false;
	}
}
fetchSectionFI = function(targetDiv,tfID,cell,messages) {
	var tObj = parent.document.getElementById(targetDiv);
	if (tObj && tfID) {
		tObj.innerHTML = msgLoading;
		var url = 'arc.pl?do=showFigures&tfid='+tfID+'&cell='+cell+'&msgs='+messages+'&random='+randomNumber;
		getData = new myXMLHttpRequest();
		getData.open("GET",url,true);
		getData.onreadystatechange=function() {
			if (getData.readyState==4) {
				outputData = getData.responseText;
				tObj.innerHTML = outputData;
			}
		}
		getData.send(null);
		return false;
	}
}

xmlCall = function(targetDiv,scriptPath,scriptParameters) {
	var tObj;
	if (document.getElementById(targetDiv)) {
		tObj = document.getElementById(targetDiv);
	} else {
		tObj = parent.document.getElementById(targetDiv);
	}
	if (tObj && scriptPath) {
		var url = scriptPath+'?'+scriptParameters+'&random='+randomNumber;
		getData = new myXMLHttpRequest();
		getData.open("GET",url,true);
		getData.onreadystatechange=function() {
			if (getData.readyState==4) {
				outputData = getData.responseText;
				tObj.innerHTML = outputData;
			}
		}
		getData.send(null);
		return false;
	}
}

putInParent = function(targetDiv,sourceDiv) {
	var tObj;
	var sObj;
	if (parent.document.getElementById(targetDiv)) {
		tObj = parent.document.getElementById(targetDiv);
	}
	if (document.getElementById(sourceDiv)) {
		sObj = document.getElementById(sourceDiv);
	}
	if (tObj && sObj) {
		tObj.innerHTML = sObj.innerHTML;
	}
}

setRating = function(paperIndex,goalRating,paperPage) {
	var pointOne = document.getElementById("r_"+paperIndex+"_1");
	var pointTwo = document.getElementById("r_"+paperIndex+"_2");
	var indicate = document.getElementById("i_"+paperIndex);
	changeDots = function(ratingNumber) {
		var imgHole = "/tfe/img/p0.png";
		var imgFill = "/tfe/img/p1.png";
		if (ratingNumber == 0) {
			pointOne.src = imgHole;
			pointTwo.src = imgHole;
		} else if (ratingNumber == 1) {
			if (indicate.innerHTML == 1) {
				pointOne.src = imgHole;
				pointTwo.src = imgHole;
				indicate.innerHTML = "0";
			} else {
				pointOne.src = imgFill;
				pointTwo.src = imgHole;
				indicate.innerHTML = "1";
			}
		} else if (ratingNumber == 2) {
			if (indicate.innerHTML == 2) {
				pointOne.src = imgHole;
				pointTwo.src = imgHole;
				indicate.innerHTML = "0";
			} else {
				pointOne.src = imgFill;
				pointTwo.src = imgFill;
				indicate.innerHTML = "2";
			}
		}
		return false;
	}
	changeDots(goalRating);
	var url = 'arc.pl?do=setRating&unid='+paperIndex+'&data='+goalRating+'&datf='+paperPage+'&randomNumber='+randomNumber;
	getData = new myXMLHttpRequest();
	getData.open("GET",url,true);
	getData.onreadystatechange=function() {
		if (getData.readyState==4) {
			outputData = getData.responseText;
//			changeDots(outputData);
		}
	}
	getData.send(null);
	return false;
}

setAssign = function(uid,tfid,page) {
	changeDots = function(ratingNumber) {
		var pointOne = document.getElementById("i"+uid+"_"+tfid);
		if (ratingNumber == 0) {
			pointOne.src = "/tfe/img/e0.png";
		} else if (ratingNumber == 1) {
			pointOne.src = "/tfe/img/e1.png";
		} else if (ratingNumber == 2) {
			pointOne.src = "/tfe/img/e2.png";
		}
		return false;
	}
	var url = 'arc.pl?do=setAssign&data='+uid+'&datb='+tfid+'&randomNumber='+randomNumber+'&datf='+page;
	getSetAssignData = new myXMLHttpRequest();
	getSetAssignData.open("GET",url,true);
	getSetAssignData.onreadystatechange=function() {
		if (getSetAssignData.readyState==4) {
			outputData = getSetAssignData.responseText;
			changeDots(outputData);
		}
	}
	getSetAssignData.send(null);
	return false;
}

favCreate = function(emailLoc,passwLoc,passrLoc,returnLoc,randomNum) {
	if (document.getElementById(emailLoc) && document.getElementById(passwLoc) && document.getElementById(passrLoc) && document.getElementById(returnLoc)) {
		var email = document.getElementById(emailLoc).value;
		var passw = document.getElementById(passwLoc).value;
		var passr = document.getElementById(passrLoc).value;		

		var url = 'favourites.pl?email='+email+'&passw='+passw+'&passr='+passr+'&a='+randomNumber;
		getData = new myXMLHttpRequest();
		getData.open("GET",url,true);
		getData.onreadystatechange=function() {
			if (getData.readyState==4) {
				outputData = getData.responseText;
				document.getElementById(returnLoc).innerHTML = outputData;
			}
		}
		getData.send(null);
		return false; 
	} else {
		alert("Data not submitted!");
	}
}

function hideObj(obj) {
	var divObj = document.getElementById(obj);
	divObj.classame = divObj.className.replace(new RegExp("show\\b"), "hide");
}

function showObj(obj) {
	if (document.getElementById(obj)) {
		var divObj = document.getElementById(obj);
		divObj.classame = divObj.className.replace(new RegExp("hide\\b"), "show");
	}
}

function sBoxRemove(divName) {
	var e = /show/;
	if (divName) {
		var triggerSet = 0;
		for (var i = 10; i>1; i--) {
			if (document.getElementById(divName+i).className.match( e )) {
				if (triggerSet == 1) {
					continue;
				} else {
					var objA = document.getElementById(divName+i);
					objA.className = objA.className.replace(new RegExp("show\\b"), "hide");
					triggerSet = 1;
				}
			}
		}	
	}
}

function sBoxAdd(divName) {
	var e = /hide/;
	if (divName) {
		var triggerSet = 0;
		for (var i = 1; i<=10; i++) {
			if (document.getElementById(divName+i).className.match( e )) {
				if (triggerSet == 1) {
					continue;
				} else {
//					alphaTween(0,divName+i);
					var objA = document.getElementById(divName+i);
					objA.className = objA.className.replace(new RegExp("hide\\b"), "show");
					triggerSet = 1;
//					neatEffect(divName+i,0,100);
				}
			}
		}	
	}
}

function resourcesHandle(cell,tfid,targetDiv,doAction,data,randomText,targetFrame) {
	var targetDivObj = document.getElementById(targetDiv);
	if (targetFrame == "parent") {
		targetDivObj = parent.document.getElementById(targetDiv);
	}
	if (cell && tfid && targetDivObj && doAction) {
		targetDivObj.innerHTML = msgLoading;
		var dataContent = "";
		if (data) {
			if (document.getElementById(data)) {
				dataContent = document.getElementById(data).options[document.getElementById(data).selectedIndex].value;
				dataContent = '&data='+dataContent;
			} else {
				dataContent = '&data='+data;
			}
		}
		var url = 'arc.pl?cell='+cell+'&tfid='+tfid+'&do='+doAction+dataContent+'&random='+randomNumber;
		getData = new myXMLHttpRequest();
		getData.open("GET",url,true);
		getData.onreadystatechange=function() {
			if (getData.readyState==4) {
				outputData = getData.responseText;
				targetDivObj.innerHTML = outputData;
			}
		}
		getData.send(null);
		return false; 
	}
}

toggleTabsCategories = function(buttonObj,targetObj,totalObj,tfid,cell) {
	var e = /hide/;
	if (document.getElementById(buttonObj+targetObj+"t") && document.getElementById(buttonObj+targetObj+"c")) {
		var objTS = document.getElementById(buttonObj+targetObj+"t");
		var objCS = document.getElementById(buttonObj+targetObj+"c");
		if (objCS.className.match( e )) {
			for (var i=1; i<=totalObj; i++) {
				if (document.getElementById(buttonObj+i+"c") && document.getElementById(buttonObj+i+"t")) {
					var objC = document.getElementById(buttonObj+i+"c");
					var objT = document.getElementById(buttonObj+i+"t");
					objT.className=objT.className.replace(new RegExp("tabAct\\b"), "tabOff");
					objC.className=objC.className.replace(new RegExp("show\\b"), "hide");
				}
			}
			objTS.className=objTS.className.replace(new RegExp("tabOff\\b"), "tabAct");
			objCS.className=objCS.className.replace(new RegExp("hide\\b"), "show");
		}
// 		if (objCS.innerHTML == "" || objCS.innerHTML == msgLoading) {
// 			objCS.innerHTML = msgLoading;
// 			var url = 'arc.pl?cell='+cell+'&tfid='+tfid+'&do=showCategory'+'&random='+randomNumber;
// 			getData = new myXMLHttpRequest();
// 			getData.open("GET",url,true);
// 			getData.onreadystatechange=function() {
// 				if (getData.readyState==4) {
// 					outputData = getData.responseText;
// 					objCS.innerHTML = outputData;
// 				}
// 			}
// 			getData.send(null);
// 			return false; 
// 		}
	}
}

searchResults = function(searchTerm,pageNumber,errorAlert) {
	var e = /hide/;
	if (parent.document.getElementById('sb') && parent.document.getElementById('sr')) {
		var searchBox = parent.document.getElementById('sb');
		var resultBox = parent.document.getElementById('sr');
		searchBox.className = searchBox.className.replace(new RegExp("show\\b"), "hide");
		resultBox.className = resultBox.className.replace(new RegExp("hide\\b"), "show");
		resultBox.innerHTML = msgSearcher;
		if (searchTerm || pageNumber || errorAlert) {
			var url = 'arc.pl?searchterm='+searchTerm+'&pagenumber='+pageNumber+'&erroralert='+errorAlert+'&do=getSearchResults'+'&random='+randomNumber;
			getData = new myXMLHttpRequest();
			getData.open("GET",url,true);
			getData.onreadystatechange=function() {
				if (getData.readyState==4) {
					outputData = getData.responseText;
					resultBox.innerHTML = outputData;
				}
			}
			getData.send(null);
			return false; 
		} else {
			resultBox.innerHTML = msgError;
		}
	}
}
