// JavaScript Document
function LoadCombo(par, tag, id, env_par) {
	var func = function(req, tag) {
		tag.options.length = req.responseJS.length; 
		var len = req.responseJS.length; 
		for(var i=0; i< len; i++) {
			tag.options[i].value = req.responseJS[i].value;	
			tag.options[i].text = req.responseJS[i].text;
			if(req.responseJS[i].selected == 1) {
				tag.selectedIndex = i;
			}
		}
	}
	if(env_par) {
		env_par['par'] = par;
		env_par['p'] = id;
	}
	else {
		env_par = {par: par, p: id};
	}
	
	var s_src = '/cgi-bin/Runs/dyna_loader.pl';
	if(my_par['script']) {
		s_src = my_par['script'];
	}

	Load(s_src, env_par, tag, func);
}

function LoadAndFunc(par, tag, id, func_user, func_par, env_par) {
	var func = function(req, tag) {
		tag.options.length = req.responseJS.length; 
		var len = req.responseJS.length; 
		for(var i=0; i< len; i++) {
			tag.options[i].value = req.responseJS[i].value;	
			tag.options[i].text = req.responseJS[i].text;
		}
		if(func_user) {
			eval(func_user)(func_par[0], func_par[1], func_par[2], env_par);
		}
	}
	
	var my_par;
	if(env_par) {
		my_par = env_par;
		my_par['par'] = par;
		my_par['p'] = id;
	}
	else {
		my_par = {par: par, p: id};
	}	
	
	var s_src = '/cgi-bin/Runs/dyna_loader.pl';
	if(my_par['script']) {
		s_src = my_par['script'];
	}
	Load(s_src, my_par, tag, func, env_par);
}

function LoadHTML(par, tag, id, env_par, dis, evl) {
	var func = function(req, tag, env_par, dis, evl) {
		//alert(req.responseJS[0]);
		var s = req.responseJS[0];
		tag.innerHTML = s;
		if(dis) {
			dis.style.display = '';
		}
		if(evl) {
			eval(evl);
		}
	}
	
	tag.innerHTML = '<img src="/img/siter/clock.gif" border="0" />';
	var my_par = {};
	
	if(dis) {
		dis.style.display = 'none';
	}
	if(env_par) {
		my_par = env_par;
		my_par['par'] = par;
		my_par['p'] = id;
	}
	else {
		my_par = {par: par, p: id};
	}
	
	
	var s_src = '/cgi-bin/Runs/dyna_loader.pl';
	if(my_par['script']) {
		s_src = my_par['script'];
	}

	Load(s_src, my_par, tag, func, env_par, dis, evl);
}


function executeHTML(par, tag, id, env_par, dis, evl) {
	var func = function(req, tag, env_par, dis, evl) {
		//alert(req.responseJS[0]);
		eval(req.responseJS[0]);
		if(dis) {
			dis.style.display = '';
		}
		if(evl) {
			eval(evl);
		}
	}
	
	tag.innerHTML = '<img src="/img/siter/clock.gif" border="0" />';
	var my_par = {};
	
	if(dis) {
		dis.style.display = 'none';
	}
	if(env_par) {
		my_par = env_par;
		my_par['par'] = par;
		my_par['p'] = id;
	}
	else {
		my_par = {par: par, p: id};
	}
	
	
	var s_src = '/cgi-bin/Runs/dyna_loader.pl';
	if(my_par['script']) {
		s_src = my_par['script'];
	}
	Load(s_src, my_par, tag, func, env_par, dis, evl);
}


function ShowHTML(par, history, firm, tbl_tag, env_par) {
	if(tbl_tag) {
		if(tbl_tag.style.display == 'none') {
			tbl_tag.style.display = 'inline';
		}
		else {
			tbl_tag.style.display = 'none';
		}
	}
	else {
		LoadHTML(par, history, firm, env_par);
	}
}


function dynaExecute(par, env_par) {
	var req = new JsHttpRequest();
	req.caching = false;
	// Подготавливаем объект.
	var s_src = '/cgi-bin/Runs/dyna_loader.pl';
	if(env_par && env_par['script']) {
		s_src = env_par['script'];
	}
	req.open('POST', s_src, true);
	// Посылаем данные запроса (задаются в виде хэша).
	var my_par = env_par;
	my_par['par'] = par;
	req.send(my_par);
}

function Load(s_src, param, tag, func, env_par, dis, evl) {
	// Создаем новый объект JSHttpRequest.
	var req = new JsHttpRequest();
	req.caching = false;

	// Код, АВТОМАТИЧЕСКИ вызываемый при окончании загрузки.
	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			if (req.responseJS) {
				func(req, tag, env_par, dis, evl);
			}
			// Отладочная информация.
			//alert(req.responseText);
		}
	}

	// Разрешаем кэширование (чтобы при одинаковых запросах
	// не обращаться к серверу несколько раз).
	//if(env_par && (! env_par['noCache'])) {
	//	req.caching = true;
	//}

	// Подготваливаем объект.
	req.open('POST', s_src, true);

	// Посылаем данные запроса (задаются в виде хэша).
	req.send(param);
}	
