var bustcachevar=1 //bust potential caching of external pages after initial request? (1=yes, 0=no)
var loadedobjects=""
var rootdomain="http://"+window.location.hostname
var pagekey=1 //set a POST pagekey for pages requiring loading in main site

function makeGETRequest(url, containerid){
	var bsc=findObj('breadcrumbsub');
	var bsp=findObj('spinner');
	var bb=findObj('bodybox');
	bsc.style.display='none';
	bsp.style.display='';
	bb.className='bodywait';
	url = unescape(url);
	if(!containerid){containerid='bodybox'}
	var page_request = false
	if (window.XMLHttpRequest) // if Mozilla, Safari etc
		page_request = new XMLHttpRequest()
	else if (window.ActiveXObject){ // if IE
		try { page_request = new ActiveXObject("Msxml2.XMLHTTP") } 
		catch (e){
			try{ page_request = new ActiveXObject("Microsoft.XMLHTTP") }
			catch (e){}
		}
	}
	else
		return false
	page_request.onreadystatechange=function(){
		loadpage(page_request, containerid, bsp, bsc, bb)
	}
	if (bustcachevar) //if bust caching of external page
		var bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()
	page_request.open('GET', url+bustcacheparameter, true)
	page_request.send(null)
	if(b)b.innerHTML=br;
}

function makePOSTRequest(url, containerid, parameters) {
	if (pagekey){
		parameters = "pkey=1&" + parameters;
	}else{
		if(!parameters) makeGETRequest(url, containerid);
		return
	}
	var bsc=findObj('breadcrumbsub');
	var bsp=findObj('spinner');
	var bb=findObj('bodybox');
	bsc.style.display='none';
	bsp.style.display='';
	bb.className='bodywait';
	url = unescape(url);
	if(!containerid){containerid='bodybox'}
	var page_request = false;
	if (window.XMLHttpRequest) { // if Mozilla, Safari etc
		page_request = new XMLHttpRequest();
		if (page_request.overrideMimeType) {
			page_request.overrideMimeType('text/xml');
		}
	} else if (window.ActiveXObject) { // if IE
		try { page_request = new ActiveXObject("Msxml2.XMLHTTP") }
		catch (e) {
			try { page_request = new ActiveXObject("Microsoft.XMLHTTP"); }
			catch (e) {}
		}
	}
	else
		return false
	
	page_request.onreadystatechange=function(){
		loadpage(page_request, containerid, bsp, bsc, bb)
	}
	if (bustcachevar) //if bust caching of external page
		var bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()
	page_request.open('POST', url+bustcacheparameter, true);
	page_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	page_request.setRequestHeader("Content-length", parameters.length);
	page_request.setRequestHeader("Connection", "close");
	page_request.send(parameters);
}

function loadpage(page_request, containerid, bsp, bsc, bb){
	var x=findObj(containerid)
		if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1)){
				x.innerHTML=page_request.responseText;
				bsp.style.display='none';
				bsc.style.display='';
				bb.className='';
		}else if (page_request.readyState == 4 && (page_request.status==404 || window.location.href.indexOf("http")==-1)){
				x.innerHTML="Page Not Found";
				bsp.style.display='none';
				bsc.style.display='';
				bb.className='';
		}
}

function postconstruct(u,c,f) {
	if(f){
		var i;
		var postvar = "";
		var theForm = document.forms[f];
		var felements = theForm.elements.length;
		
		for(i=0; i<felements; i++){
			if(theForm.elements[i].type == "hidden" || theForm.elements[i].type == "text"|| theForm.elements[i].type == "textarea" || theForm.elements[i].type == "submit"){
				postvar += theForm.elements[i].name + "=" + encodeURI(theForm.elements[i].value);
				if(i!=(felements-1)) postvar += "&";
			}
			else if(theForm.elements[i].type == "radio"){
				if(theForm.elements[i].checked == true){
					postvar += theForm.elements[i].name + "=" + encodeURI(theForm.elements[i].value);
					if(i!=(felements-1)) postvar += "&";
				}
			}
		}
	}else{
		postvar = "query=true";
	}
	makePOSTRequest(u,c,postvar);
}

function loadobjs(){
for (i=0; i<arguments.length; i++){
var file=arguments[i]
var fileref=""
if (loadedobjects.indexOf(file)==-1){ //Check to see if this object has not already been added to page before proceeding
if (file.indexOf(".js")!=-1){ //If object is a js file
fileref=document.createElement('script')
fileref.setAttribute("type","text/javascript");
fileref.setAttribute("src", file);
}
else if (file.indexOf(".css")!=-1){ //If object is a css file
fileref=document.createElement("link")
fileref.setAttribute("rel", "stylesheet");
fileref.setAttribute("type", "text/css");
fileref.setAttribute("href", file);
}
}
if (fileref!=""){
document.getElementsByTagName("head").item(0).appendChild(fileref)
loadedobjects+=file+" " //Remember this object as being already added to page
}
}
}