/*
 * runs the core bd engine js
*/
function bdEngine()
{
//set the request object
var http = createRequestObject();
var formElement; //element in form for modificatrion

/*
 * checks the browser and creates an appropriate request object
*/
function createRequestObject() 
{
var requestObject;
var browser = navigator.appName;
if(browser == "Microsoft Internet Explorer")
	{
    requestObject = new ActiveXObject("Microsoft.XMLHTTP");
    }
else
	{
    requestObject = new XMLHttpRequest();
    }
return requestObject;
}


/*
 * runs the ajax functions when called from a form handler
*/
function doFormJax(sessName,modElement)
{
//alert("do form jax is running - " + sessName + " : " + modElement);
//grab the form
var theForm = document.forms[sessName];
var formValues; //will hold the crrent form values
//set the form element for modification
formElement = modElement;
for(var i=0; i<theForm.elements.length; i++)
	{
	//alert(theForm.elements[i].name + " - " + theForm.elements[i].value);
	formValues = formValues + '&' + 'jax'+[theForm.elements[i].name] +'='+ theForm.elements[i].value;
	}
//run the ajax stuff

var vars = 'runningajax=1&'+formValues+'&formel='+modElement;
http.open('post',window.location, true);
//headers must be set for sending the post variables
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.setRequestHeader("Content-length", vars.length);
http.setRequestHeader("Connection", "close");
//uncomment the lower line when ready - at the moment just using ajax to set sessions
http.onreadystatechange = doneFormJax;
http.send(vars);

}
this.doFormJax = doFormJax;

/*
 * receives the output from the formJax function
*/
function doneFormJax()
{
if(http.readyState == 4)
	{
	var response = http.responseText;
	//alert(formElement);
	//get the element for overwriting
	var formEl = document.getElementById(formElement+'_holder');
	//alert(formEl);
	formEl.innerHTML = response;
	//alert(formEl.innerHTML);
	}
}


}


var bdEngine = new bdEngine();