
function HttpClient(){}
HttpClient.prototype = {
	requestType:'GET',
	isAsync:false,
	xml:true,
	callback:false,
	onSend:function(){
		//document.getElementById('HttpClientStatus').style.display = 'block';
	},
	onload:function(){
		//document.getElementById('HttpClientStatus').style.display = 'none';
	},
	onError:function(error){
		alert(error);
	},
	init:function(){
		try{
			this.xmlhttp = new XMLHttpRequest();
		}
		catch(e){
			var XMLHTTP_IDS = new Array('MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP');
			var success = false;
			for(var i=0; i < XMLHTTP_IDS.length && !success; i++){
				try{
					this.xmlhttp = new ActiveXObject(XMLHTTP_IDS[i]);
					success = true;
				}
				catch(e){}
			}
			if(!success){
				this.onError('Unable to create XMLHttpRequest.');
			}
		}
	},
	makeRequest:function(url, payload){
		if(!this.xmlhttp){
			this.init();
		}
		this.xmlhttp.open(this.requestType, url, this.isAsync);
		var self = this;
		this.xmlhttp.onreadystatechange = function(){
			self._readyStateChangeCallback();
		}
		if(this.requestType == 'POST'){
			this.xmlhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded;charset=UTF-8');
		}
		this.xmlhttp.send(payload);
		if(!this.isAsync){
			return this.xmlhttp.responseText;
		}
	},
	_readyStateChangeCallback:function(){
		switch(this.xmlhttp.readyState){
			case 2:
				this.onSend();
				break;
			case 4:
				this.onload();
				if(this.xmlhttp.status == 200){
					if(this.xmlhttp.responseText == "-||-"){
						window.location = "logIn.php";
					}
					this.callback(this.xmlhttp.responseText);
				}
				else{
					this.onError('HTTP Error Making Request: ['+this.xmlhttp.status+'] '+this.xmlhttp.statusText);
				}
				break;
		}
	}
}

function getMultiple(element){
	var arSelected = new Array();
	for(i = 0; i < element.options.length; i++){
		if(element.options[i].selected == true){
			arSelected.push(element.options[i].value);
		}
	}
	return arSelected;
}

function toggleObj(obj, c){
	if(obj.checked == false){
		document.getElementById(c).className = "shown";
	}
	else{
		document.getElementById(c).className = "hidden";
	}
}

function showHelp(c){
	document.getElementById(c).className = "showHelp";
}	

function hideHelp(c){
	document.getElementById(c).className = "hidden";
}	

function showObj(c){
	document.getElementById(c).className = "shown";
	document.getElementById(c+"Img").src = "img/expanded.gif";
	document.getElementById(c+"Link").onclick = function(){hideObj(c); }
}	

function hideObj(c){
	document.getElementById(c).className = 'hidden';
	document.getElementById(c+"Img").src = "img/closed.gif";
	document.getElementById(c+"Link").onclick = function(){showObj(c);}
}
function showSubNav(c){
	document.getElementById(c).className = "subNav";
	document.getElementById(c+"img").src = "img/expanded.gif";
	document.getElementById(c+"link").onclick = function(){hideSubNav(c, 1); }
	var modList = document.getElementById("modList").value;
	var listArr = new Array();
	listArr = modList.split("|");
	for (x in listArr){
		if((listArr[x] != c) && (listArr[x] != "")){
			hideSubNav(listArr[x], 0);
		}
	}
	client = new HttpClient();
	client.isAsync = true;
	client.requestType = 'POST';
	var postStr = "curMod="+c;
	client.makeRequest("updateNavPos.php", postStr);
}	

function hideSubNav(c, update){
	document.getElementById(c).className = 'hidden';
	document.getElementById(c+"img").src = "img/closed.gif";
	document.getElementById(c+"link").onclick = function(){showSubNav(c);}
	if(update == 1){
		client = new HttpClient();
		client.makeRequest("updateNavPos.php?curMod=null",null); 
	}
}	

var sLeft = 0;
var sTop = 0;
function clearLrgMsg(){
	document.getElementById('lrgMsg').innerHTML = "";
	document.getElementById('lrgMsg').className = "hidden";
	document.getElementById('lrgMsgBg').className = "hidden";
}
function lrgMsg(msg, headingMsg, confirm, confirmYes, confirmNo, img, isWaiting){
	if(isWaiting == "true"){
		var content = "<div id=\"lrgMsgBox\"><div style=\"text-align:center;\"><br/><br/><img src=\"img/waiting.gif\" /><br/>waiting...</div></div>";
	}
	else{
		var content = "";
		if(img){
			content = content + "<div class=\"col\"><img src=\"" + img + "\" /></div>";
		}
		if(msg || confirm){
			content = content + "<div class=\"col1\">";
			if(msg){
				content = content + msg;
			}
			if(confirm && confirmYes && confirmNo){
				content = content + "<br/><a href=\"\" onclick=\"" + confirmYes + "; return false;\"><img src=\"img/yes.gif\"/></a><a href=\"\" onclick=\"" + confirmNo + " return false;\"><img src=\"img/no.gif\"/></a>";
			}
			content = content + "</div>";
		}
	}
	var heading = "<div id=\"lrgMsgHeader\">" + headingMsg + "</div>";
	var footer = "";
	document.getElementById('lrgMsg').innerHTML = heading + content + footer;
	document.getElementById('lrgMsg').className = "lrgMsg";
	document.getElementById('lrgMsgBg').className = "lrgMsgBg";
}

function lrgForm(form, headingMsg){
	var heading = "<div id=\"lrgMsgHeader\">" + headingMsg + "</div>";
	var content = "";
	content = content + "<div style=\"width:740px;\">";
	content = content + form;
	content = content + "</div>";
	var footer = "";
	document.getElementById('lrgMsg').innerHTML = heading + content + footer;
	document.getElementById('lrgMsg').className = "lrgForm";
	document.getElementById('lrgMsgBg').className = "lrgMsgBg";
}

var printContent = "";
var printTitle = "";
var printLeft = 0;
var printTop = 0;
function sendPrintPop(content, winName, title){
	var randVal = Math.floor(Math.random()*1000);
	printContent = content;
	printTitle = title;
	printLeft = printLeft + 20;
	printTop = printTop + 20;
	printWin = window.open('printWindow.php', winName+randVal, 'left='+printLeft+',top='+printTop+',width=830,height=600,menubar=1,toolbar=0,status=0,scrollbars=1,directories=0,location=0,resizable=1');
}

function loadPrintCont(){
	printWin.document.getElementById('content').innerHTML = printContent;
	printWin.document.title = printTitle;
}

function goTo(L){window.location = L;}

function ShowFull(counter){
	document.getElementById('sub'+counter).className = 'hidden';
	document.getElementById('full'+counter).className = 'visible';
}
function ShowSub(counter){
	document.getElementById('sub'+counter).className = 'visible';
	document.getElementById('full'+counter).className = 'hidden';
}
