var _divs_in_use = {};

function _processJS(_string)
{
    var _begin = '// AJAX_INIT_BEGIN', _end = '// AJAX_INIT_END';
    var a = _string.indexOf(_begin), b = _string.indexOf(_end);

    if (a != -1 && b != -1)
    {
        eval(_string.substr(a + _begin.length, b - a - _begin.length));
        return _string.substr(b + _end.length) + _string.substr(0, a);
    }

    return _string;
}
function load_url(url, div_name, no_loading){
	var HTTP_ROOT = document.location.protocol+'//'+document.location.host;
	if (!no_loading) document.getElementById(div_name).innerHTML = '<div class="loading-box"><img style="vertical-align:middle" src="'+IMG_PATH+'loading.gif"/> Loading...</div>';
	var _url = HTTP_ROOT+url+'&time='+new Date().getTime();
	var x = function(){try{return new ActiveXObject('Msxml2.XMLHTTP')}catch(e){try{return new ActiveXObject('Microsoft.XMLHTTP')}catch(e){return new XMLHttpRequest()}}};
	var _request = x();
	with(_request) {
		open("GET", _url);
		onreadystatechange = function(){
			this.div_name = div_name;
			var el = document.getElementById(this.div_name);
			if (_request.readyState == 4) {
				// only if "OK"
				if (_request.status == 200) {
					el.innerHTML = _processJS(_request.responseText);
				} else {
					el.innerHTML = "Проблемы с доставкой данных: <br>" +_request.statusText + ' (' + _request.status + ')';
				}
				if (typeof(el.onafterload) == 'function') {
					el.onafterload(_request, el);
				}
			}
		}
		send('');
	}
}


function run_ajax_js(url){
	var HTTP_ROOT = document.location.protocol+'//'+document.location.host;
	var _url = HTTP_ROOT+url+'&time='+new Date().getTime();
	var x = function(){try{return new ActiveXObject('Msxml2.XMLHTTP')}catch(e){try{return new ActiveXObject('Microsoft.XMLHTTP')}catch(e){return new XMLHttpRequest()}}};
	var _request = x();
	with(_request) {
		open("GET", _url);
		onreadystatechange = function(){
			if (_request.readyState == 4) {
				if (_request.status == 200) {
					eval(_request.responseText);
				} else {
					alert("Проблемы с доставкой данных: <br>" +_request.statusText + ' (' + _request.status + ')');
				}
			}
		}
		send('');
	}
}


function show_option_loading(form, field){
	var el = document.forms[form].elements[field];
	el.options.length = 0;
	el.options[0] = new Option('загрузка ....', '');
}

function fillOptions(arr, form, field){
	var el = document.forms[form].elements[field];
	var selected = el.selectedIndex>0?el.options[el.selectedIndex].value:-1;
	el.options.length = 0;
	for (var i=0;i<arr.length;i++){
		var o = new Option(arr[i].name, arr[i].id);
		if (arr[i].v) {
			o.style.color = 'black';
		}
        el.options[i] = o;
		if(arr[i].id == selected) {
			el.selectedIndex = i;
		}
	}
}

