<!--//--><![CDATA[//><!--

	/**
	 * Function to get a xmlhttp object.
	 */
	function createXMLHttpRequest() {

		if (window.XMLHttpRequest) { // Mozilla, Safari,...
			http_request = new XMLHttpRequest();

			if (http_request.overrideMimeType) {
				// set type accordingly to anticipated content type
				// http_request.overrideMimeType('text/xml');
				http_request.overrideMimeType('text/html');
			}
		} else if (window.ActiveXObject) { // IE
			try {
				http_request = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				try {
					http_request = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {}
			}
		}

		if (!http_request) {
			alert('Cannot create XMLHTTP instance');
			return false;
		}

		return http_request;
	}


	/**
	 * Function to send a xmlhttp request.
	 */
	function sendHttpRequest( url, params, method, callback ) {

		if (method == null){
			method = 'GET';
		}
		if (params == null){
			params = '';
		}

		if (method.toUpperCase() == 'GET' && params){
			if( url.indexOf( '?' ) > -1 ) {
				url = url + '&' + params;
			}
			else {
				url = url + '?' + params;
			}
			params = '';
		}

		http_request = createXMLHttpRequest();

		if (callback != null){
			eval( 'http_request.onreadystatechange=' + callback );
		}

		http_request.open(method, url, true);
		http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		http_request.setRequestHeader("Content-length", params.length);
		http_request.setRequestHeader("Connection", "close");
		http_request.send( params );

		return http_request;
	}


	/**
	 * Function to submit html forms
	 */
	function submitForm( url, params, method, form, callback ) {

		var inputTags = form.getElementsByTagName( 'input' );

		for( i=0; i < inputTags.length; i++ ) {

			if(inputTags[i].type == 'radio' || inputTags[i].type == 'checkbox'){
				if(inputTags[i].checked){
					param = inputTags[i].name + "=" + encodeURI( inputTags[i].value);
				} else {
					continue;
				}
			} else {
				param = inputTags[i].name + "=" + encodeURI( inputTags[i].value );
			}

			if (params) {
				params += "&" + param;
			}
			else {
				params = param;
			}
		}

		return sendHttpRequest(url, params, method, callback);
	}


	/**
	 * Function to parse a xmlhttp response.
	 */
	function parseXML( text )
	{
		var doc

		// code for IE
		if (window.ActiveXObject)
		{
			doc = new ActiveXObject("Microsoft.XMLDOM");
			//doc.async = "false";
			doc.loadXML(text);
		}
		// code for Mozilla, Firefox, Opera, etc.
		else if (document.implementation && document.implementation.createDocument)
		{
			var parser = new DOMParser();
			doc = parser.parseFromString(text,"text/xml");
		}
		else
		{
			alert('Cannot create DOMParser instance');
			return false;
		}

		return doc;
	}


	/* example
	function getHttpResponse()
	{
		// if xmlhttp shows "loaded"
		if (http_request)
		{
			// if xmlhttp shows "loaded"
			if (http_request.readyState==4)
			{
				// if status "OK"
				if (http_request.status==200)
				{
					result = http_request.responseText;
					// ...place some code here...
				}
				else
				{
					// Problem retrieving XML data
				}
			}
		}
	}
	*/

//--><!]]>