﻿url = document.location.href;
xend = url.lastIndexOf("/")+1;
var base_url = url.substring(0, xend);

function ajax_do(url) {
	if (url.substring(0, 4) != 'http') {
		url = base_url + url;
	}
	var jsel = document.createElement('SCRIPT');
	jsel.type = 'text/javascript';
	jsel.src = url;
	document.body.appendChild(jsel);
}
function CreateRequest()
{
	var Request = false;
	if (window.XMLHttpRequest)
	{
		Request = new XMLHttpRequest();
	}
	else if (window.ActiveXObject)
	{
		Request = new ActiveXObject("Microsoft.XMLHTTP");
	
		if (!Request)
		{
			Request = new ActiveXObject("Msxml2.XMLHTTP");
		}
	}
 
	if (!Request)
	{
		alert("Невозможно создать XMLHttpRequest");
	}
	return Request;
}

function SendRequest(r_method, r_path, r_args, r_handler)
{
	var Request = CreateRequest();
	
	if (!Request)
	{
		return;
	}
	
	Request.onreadystatechange = function()
	{
		if (Request.status == 200)
			if (Request.readyState == 4)
				r_handler(Request);
	}
	
	if (r_method.toLowerCase() == "get" && r_args.length > 0)
	r_path += "?" + r_args;
	
	Request.open(r_method, r_path, true);
	
	if (r_method.toLowerCase() == "post")
	{
		Request.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=utf-8");
		Request.send(r_args);
	}
	else
	{
		Request.send(null);
	}
}	

function stat(n)
{
  switch (n) {
	case 0:
	  return "Initialized";
	break;
 
	case 1: 
	  return "Sending headers...";
	break;
 
	case 2: 
	  return "Headers ok";
	break;
 
	case 3: 
	  return "Loading data...";
	break;
 
	case 4: 
	  return "Ready";
	break;
 
	default:
	  return "unknown";  
  }  
}