/* IDA AJAX implementation. Copyright Studio IDA (www.studioida.com 2005 */

var ajax_object;
var dom_object;

function ajax_getobject() {
	var xmlhttp;
	/*@cc_on
	  @if (@_jscript_version >= 5)
	  try {
	  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	  } catch (e) {
	  try {
	  xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	  } catch (E) {
	  xmlhttp = false;
	  }
	  }
	  @else
	  xmlhttp = false;
	  @end @*/
	if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
		try {
			xmlhttp = new XMLHttpRequest();
		} catch (e) {
			xmlhttp = false;
		}
	}
	return xmlhttp;
}

function ajax_getdom() {

	var dom = null;
	/*@cc_on
	  @if (@_jscript_version >= 5) {
		  try {
			  dom = new ActiveXObject("Microsoft.XMLDOM");
		  } catch (E) {
			  dom= false;
		  }
	  }
	  @else
	  dom = false;
	  @end @*/
	if (!dom && document.implementation) {
		try {
			dom = document.implementation.createDocument("","",null);
			Document.prototype.loadXML = function (s) {

				// parse the string to a new doc   
				var doc2 = (new DOMParser()).parseFromString(s, "text/xml");

				// remove all initial children
				while (this.hasChildNodes())
					this.removeChild(this.lastChild);

				// insert and import nodes
				for (var i = 0; i < doc2.childNodes.length; i++) {
					this.appendChild(this.importNode(doc2.childNodes[i], true));
				}
			};
		} catch (e) {
			dom = false;
		}
	}
	return dom;
}

function ajax_init() {

	ajax_object = ajax_getobject();
}

function ajax_request(url, async, handler) {

	if(ajax_object) {
		ajax_object.open("GET", url, async);
		if(async) {
			ajax_object.onreadystatechange = handler;
		}else{
			//ajax_object.onreadystatechange = null;
		}

		ajax_object.send(null);

		if(!async) {
			if(ajax_object.readyState == 4 && ajax_object.status == 200) {
				return ajax_object.responseText;
			}
		}
	}else{
		alert("Mobio.bg AJAX not properly initialized.");
	}
	return '';
}

ajax_init();
