function PageControl() {

	this.bFlashLoaded = false;
    
	this.layer = document.createElement("div");
	this.layer.style.visibility = "hidden";
	var the_text = document.getElementById('displayPage');
	the_text.appendChild(this.layer);
	
	if (typeof XMLHttpRequest != "undefined") {
		this.http = new XMLHttpRequest();
	} else if (typeof ActiveXObject != "undefined") {
		this.http = new ActiveXObject("MSXML2.XmlHttp");
	} else {
		alert("No XMLHttpRequest object available. This functionality will not work.");
	}
    
	this.menuItems = [
		{name:'Resume',page:'cv.xml'},
		{name:'Objective',page:'obj.xml'},
		{name:'Classes',page:'classes.xml'},
		{name:'Papers',page:'papers.xml'},
		{name:'Contact',page:'contact.xml'}
	];
	this.menu = document.getElementById('main_menu');
	this.pageNumber = null;
    
};

PageControl.prototype.displayPage = function (sText /*:String - html text to display*/) {
    
	var oDiv = null;
	this.layer.innerHTML = "";  //clear contents of the layer
	
	oDiv = document.createElement("div");
	//oDiv.appendChild(document.createTextNode(sText));
	oDiv.innerHTML = sText;
	this.layer.appendChild(oDiv);
	
	this.layer.style.visibility = "visible";

	var menuHtml = "";
	for(var i=0; i<this.menuItems.length; i++){
		if(i==this.pageNumber){
			menuHtml += '<span class="rollover">&nbsp;'+this.menuItems[i].name+'&nbsp;</span>';
		}
		else{
			menuHtml += '<a href="javascript:oPageControl.requestPage('+i+')">&nbsp;'+this.menuItems[i].name+'&nbsp</a>';
		}
	}
	
	this.menu.innerHTML = menuHtml;  //re-write menu
	
};

PageControl.prototype.hidePage = function () {
    this.layer.innerHTML = "";  //clear contents of the layer
    this.layer.style.visibility = "hidden";
};

PageControl.prototype.requestPage = function (iIndex /*:Number - name of page to get*/) {

	this.pageNumber = iIndex;

	
	var oHttp = this.http;
	var scope = this;

	//if there is already a live request, cancel it
	if (oHttp.readyState != 0) {
		oHttp.abort();
	}         

	//open connection
	oHttp.open("get", this.menuItems[iIndex].page , true);
	oHttp.onreadystatechange = function () {
		if (oHttp.readyState == 4) {
			//provide page to the control
			scope.displayPage(oHttp.responseText);       
			// scope.displayPage(oHttp.responseXML); 
		}    
	};
	oHttp.send(null);
	
	if(this.bFlashLoaded){
	
		if(iIndex == 0 || iIndex == 1){
			this.getFlashMovie("overlay").robotOff();
			if(iIndex == 0){
				this.getFlashMovie("overlay").robotHatOn();
			}
			else{
				this.getFlashMovie("overlay").robotOn();
			}
		}
		else{
			this.getFlashMovie("overlay").robotOff();
		}
	
		if(iIndex == 2){
			this.getFlashMovie("overlay").buggyOnOff();
		}
		
		if(iIndex == 3){
			this.getFlashMovie("overlay").summaryOn();
		}
		else{
			this.getFlashMovie("overlay").summaryOff();
		}
	
		if(iIndex == 4){
			this.getFlashMovie("overlay").planeOn();
		}
		else{
			this.getFlashMovie("overlay").planeOff();
		}
		
		
	}
	
};

PageControl.prototype.getFlashMovie = function (movieName) {
	var isIE = navigator.appName.indexOf("Microsoft") != -1;
	return (isIE) ? window[movieName] : document[movieName];
	//return document.getElementById('theflash');
 };
 
 PageControl.prototype.onFlashLoaded = function () {
	this.bFlashLoaded = true;
 };
 
 
 
 