// JavaScript Document
//onerror=handleErr
//alert('itsme');
var txt="";
var xmlHttp;
var xmlHttp3;
var idx;
var headArr="abcdefghijklmnopqrstuvwxyz";
var headPos=0;
var headLen=headArr.length;
var allTxts=new Array();
var firstPass=0;
var letPos=0;
var theTxts3=new Array();
//alert(headLen);

function handleErr(msg,url,l)
{
txt="There was an error on this page.\n\n"
txt+="Error: " + msg + "\n"
txt+="URL: " + url + "\n"
txt+="Line: " + l + "\n\n"
txt+="Click OK to continue.\n\n"
alert(txt)
return true
}

function getFile(fName) {
	var theFile=fName.addfile.value;
	setHTML(theFile);
	return false;
}

function setHTMLX(strx, urlx) {
//alert(strx);
var strxLen=strx.length;
if (strxLen==0){
try{
document.getElementById(strx).innerHTML="";
}
catch(err){
	alert(err.description);
}
return;
}
try {
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null) {
alert("xmlHttp doesn't exist");
return;
}
//var url="menu.php";
//alert(strx);
var url=urlx+"?id="+strx;
idx=strx;
//url+="?addfile="+str;
//url+="&sid="+Math.random();
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
//xmlHttp.open("POST",url,true);
xmlHttp.send(null);
}
catch(err){}
}

function getFile(fName) {
	var theFile=fName.addfile.value;
	setHTML(theFile);
	return false;
}




function stateChanged() {
	//alert("stateChanged:"+idx);
	if(xmlHttp.readyState==4 || xmlHttp.readystate=="complete")
	{var respTxt=xmlHttp.responseText;
	//alert("respText "+respTxt);
	var temp=respTxt.split("^");
	var respCode=temp[0];
	respTxt=temp[1];
		//alert(respTxt);
	if(respCode.substr(0,4)=="list"){
		if(respCode.length==4){
		if(firstPass==0){
				for(c=0; c<headArr.length; c++){
				var curIm="let"+headArr.substr(c, 1);
				var imObj=document.getElementById(curIm);
				//imObj.style.visibility='visible';
				}
			}		
		}
	if(firstPass==0){allTxts.length=0;}
	theTxts=respTxt.split(",");
	//alert(theTxts[0]);
	var txtStr="";
	try{
	for(theTxt in theTxts){
		var curStr=String(theTxts[theTxt]);
		var re=new RegExp('function', 'i');
		reFun=curStr.search(re);
		if(reFun==-1){
		allTxts.push(curStr);
		var txtArr=curStr.split("|");
		var crsCode=String(txtArr[0]);
		var venName=String(txtArr[1]).replace(/%26/g, "&");
		var crsName=String(txtArr[2]).replace(/%26/g, "&");
		if(venName==crsName){
		crsName="";
		} else {
		crsName=" - "+crsName;
		}
		//newbit
		var letVen=-2;
		var letCrs=-2;
		//document.getElementById('debug').innerHTML="curSrch="+curSrch;
		if(curSrch!=""){
		var venSearch=new RegExp(curSrch, 'i');
		letVen=venName.search(venSearch);
		letCrs=crsName.search(venSearch);
		if(letVen!=0 && curSrch.length>1){
		var venNameArr=venName.split(" ");
			for (curVenInd in venNameArr){
				curVenBit=String(venNameArr[curVenInd]);
				letVen=curVenBit.search(venSearch);
				if(letVen==0){break;}
			}
		}
		} else {letVen=0;}
		//end newbit
		var lineStr="";
		if(curSrch.length==1){letCrs=-1}
		if(venName!="undefined"){
			if(letVen==0 || letCrs==0){
				lineStr="<p><a href=\"javascript:getCourse('"+crsCode+"');\">"+venName+crsName+"</a></p>";
			}
		}
		txtStr+=lineStr;
		}
	}
		document.getElementById('results').innerHTML+=txtStr;
	}
	catch(err){
		alert(err);
	}
		if(respCode.length==5){
			var curLet=respCode.substr(4,1);
			if(curLet!="z"){
			firstPass=1;
			//alert('hit');
			var letRe=new RegExp(curLet, 'i');
			letPos=headArr.search(letRe);
			//var letPos=headArr.indexOf(curLet, 0);
			//alert(curLet+":"+letPos);
			var curIm="let"+curLet;
			var imObj=document.getElementById(curIm);
			imObj.style.visibility='visible';
			letPos+=1;
			var newLet=headArr.substr(letPos, 1);
			var listExp="listit"+newLet;
			
			setHTMLX(listExp,'crs/courseproxy.php');
			//alert(newLet);
			} else if(curLet=="z"){
				firstPass=0;
				theTxts=allTxts;
				var imObj=document.getElementById('letz');
				imObj.style.visibility='visible';
				document.getElementById("alpha").style.backgroundImage="none" ;
				}
		}
		
		
	} else if(respCode=="load"){
		openCourse(respTxt);
	} else if(respCode.search('added', 'i')!=-1) {
		//alert(respTxt);
		divoff('register');
		//divoff('G500wrapper');
		divclear('VG500');
		divclear('regform');
		divclear('submit');
		divclear('results');
		divclear('alpha');
		thanks();
	} else if(respCode.search('notr', 'i')!=-1) {
		//alert(respTxt);
		fadein('G500wrapper', 20);
		loadreg();
	} else if(respCode.search('isr', 'i')!=-1) {
		//alert(respTxt);
		populatenav();
		setHTMLX('listita','crs/courseproxy.php');
		fadein('G500wrapper', 20);
		//alert('hit');
		if(initOpen!=""){getCourse(initOpen);} else {
		openCourse('init');
		}
	} else if(respCode.search('uchk', 'i')!=-1) {
		//alert(respTxt);
	}
	}
}

function setHTMLX3(strx, urlx) {
//alert(strx);
var strxLen=strx.length;
if (strxLen==0){
try{
document.getElementById(strx).innerHTML="";
}
catch(err){
	alert(err.description);
}
return;
}
try {
xmlHttp3=GetXmlHttpObject();
if (xmlHttp3==null) {
alert("xmlHttp doesn't exist");
return;
}
//var url="menu.php";
//alert(strx);
var url=urlx+"?id="+strx;
idx=strx;
//url+="?addfile="+str;
//url+="&sid="+Math.random();
xmlHttp3.onreadystatechange=stateChanged3;
xmlHttp3.open("GET",url,true);
//xmlHttp.open("POST",url,true);
xmlHttp3.send(null);
}
catch(err){}
}

function stateChanged3() {
	//alert("stateChanged:"+idx);
	if(xmlHttp3.readyState==4 || xmlHttp3.readystate=="complete")
	{var respTxt=xmlHttp3.responseText;
	//alert("respText "+respTxt);
	var temp=respTxt.split("^");
	var respCode=temp[0];
	respTxt=temp[1];
		//alert(respTxt);
	if(respCode.substr(0,4)=="list"){
		if(respCode.length==4){
		if(firstPass==0){
				for(c=0; c<headArr.length; c++){
				var curIm="let"+headArr.substr(c, 1);
				var imObj=document.getElementById(curIm);
				//imObj.style.visibility='visible';
				}
			}		
		}
	if(firstPass==0){allTxts.length=0;}
	theTxts3=respTxt.split(",");
	//alert(theTxts[0]);
	var txtStr="";
	try{
	for(theTxt in theTxts3){
		var curStr=String(theTxts3[theTxt]);
		var re=new RegExp('function', 'i');
		reFun=curStr.search(re);
		if(reFun==-1){
		allTxts.push(curStr);
		var txtArr=curStr.split("|");
		//alert(curStr);
		var crsCode=String(txtArr[0]);
		var venName=String(txtArr[1]).replace(/%26/g, "&");
		//alert(venName.length+":"+venName)
		var crsName=String(txtArr[2]).replace(/%26/g, "&");
		if(venName==crsName){
		crsName="";
		} else {
		crsName=" - "+crsName;
		}
		var lineStr="";
		if(venName!="undefined"){
		lineStr="<p><a href=\"javascript:getCourse('"+crsCode+"');\">"+venName+crsName+"</a></p>";
		}
		txtStr+=lineStr;
		}
	}
		document.getElementById('results').innerHTML+=txtStr;
	}
	catch(err){
		alert(err.description);
	}
		if(respCode.length==5){
			var curLet=respCode.substr(4,1);
			if(curLet!="z"){
			firstPass=1;
			//alert('hit');
			var letRe=new RegExp(curLet, 'i');
			letPos=headArr.search(letRe);
			//var letPos=headArr.indexOf(curLet, 0);
			//alert(curLet+":"+letPos);
			var curIm="let"+curLet;
			var imObj=document.getElementById(curIm);
			imObj.style.visibility='visible';
			letPos+=1;
			var newLet=headArr.substr(letPos, 1);
			var listExp="listit"+newLet;
			
			setHTMLX(listExp,'crs/courseproxy.php');
			//alert(newLet);
			} else if(curLet=="z"){
				firstPass=0;
				theTxts=allTxts;
				var imObj=document.getElementById('letz');
				imObj.style.visibility='visible';
				document.getElementById("alpha").style.backgroundImage="none" ;
				}
		}
		
		
	} else if(respCode=="load"){
		openCourse(respTxt);
	} else if(respCode.search('added', 'i')!=-1) {
		//alert(respTxt);
		divoff('register');
		//divoff('G500wrapper');
		divclear('VG500');
		divclear('regform');
		divclear('submit');
		divclear('results');
		divclear('alpha');
		thanks();
	} else if(respCode.search('notr', 'i')!=-1) {
		//alert(respTxt);
	} else if(respCode.search('isr', 'i')!=-1) {
		//alert(respTxt);
		populatenav();
		setHTMLX('listita','crs/courseproxy.php');
		fadein('G500wrapper', 20);
		openCourse('init');
	} else if(respCode.search('uchk', 'i')!=-1) {
		//alert(respTxt);
	}
	}
}


function stateChanged2() {
	if(xmlHttp.readyState==4 || xmlHttp.readystate=="complete")
	{document.getElementById('date').innerHTML=xmlHttp.responseText;}
}

function GetXmlHttpObject() {
var objXMLHttp=null;
if(window.XMLHttpRequest)
{
objXMLHttp=new XMLHttpRequest();
}
else if(window.ActiveXObject)
{
	objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
return objXMLHttp;
}
