///////////////////////////////////////////////////////////////////////////////////////////////////
// Ajax code
// A.Kretschmer September 2007
////////////////////////////////////////////////////////////////////////////////////////////////////

var request = null;	//http object
var querystring;	//will hold POSTed data
var objID;			//Target text area

///////////////////////////////////////////////////////////////////////////////////////////////////
//HTTP request object wrapper function
///////////////////////////////////////////////////////////////////////////////////////////////////
function httpRequest(reqType,url,asynch,respHandle) {  
   //Moxilla based
   if (window.XMLHttpRequest) {
         try
         {
            request = new XMLHttpRequest();
         }
         catch (e) {
            request = false;
         }
    }
	//IE based
    else if ( window.ActiveXObject ) {
         try
         {
            request = new ActiveXObject( "Msxml2.XMLHTTP" );
         }
         catch (e) {
            try
            {
               request = new ActiveXObject( "Microsoft.XMLHTTP" );
            }
            catch (e)
            {
               request = false;
            }
         }
      }

	if(request) {
		if(reqType.toLowerCase() != "post"){
			initReq(reqType,url,asynch,respHandle);
		} else {
			var args = arguments[4];
			if(args != null && args.length >0){
				initReq(reqType,url,asynch,respHandle,args);
			}
		}
	} else {
		alert("Your browser does not permit the use of http request");
	}

	// Override mime type if browser supports it (like Mozilla)
	if(request.overrideMimeType) {
	 request.overrideMimeType( "text/xml" );
	}
}


/////////////////////////////////////////////////////////////////////////////////////////
//Make http request, POST or GET
//////////////////////////////////////////////////////////////////////////////////////////
function initReq(reqType,url,isAsynch,respHandle) {

	try{
		request.onreadystatechange=respHandle;
		request.open(reqType,url,isAsynch);
		if(reqType.toLowerCase() == "post"){
			request.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
			request.send(arguments[4])
		} else {
			request.send(null);
		}
	} catch (errv) {
		alert("The application cannot contact "+
			"the server at the moment. \n"+
			"Error detail: "+errv.message);
	}
}


/////////////////////////////////////////////////////////////////////////////////////
//The default event handler to pop return text into div content area
//objID is global, and is set in calling functions
/////////////////////////////////////////////////////////////////////////////////////
function handleResponse() {

	if(request.readyState == 4) {
		if(request.status == 200) {
			document.getElementById(objID).innerHTML = request.responseText;
		} else {
			alert("A problem occured communicating with XMLHttpRequest object and the server");
		}
	}
}


////////////////////////////////////////////////////////////////////////////////////////////
//Function to put form elements in an arry for POSTing a form
///////////////////////////////////////////////////////////////////////////////////////////
function setQueryString() {
	//doesn't seem to pick up hidden elements! 14/6/09
	querystring="";
	var frm=document.forms['fc'];

	var numberElements = frm.elements.length;
	for(var i=0; i < numberElements; i++) {

		if(i < numberElements-1) {
			querystring += frm.elements[i].name+"="+encodeURIComponent(frm.elements[i].value)+"&";
		} else {
			querystring += frm.elements[i].name+"="+encodeURIComponent(frm.elements[i].value);
		}
	}

	
	//frmID=frm.id.value;	
	//alert(frmID);
	frmID=0;	
	if (frmID>0) {
		alert("ID");
	}

}
