// 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(add_par) {
//			add_par();
//		}
	}
	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;
					}
/*		var params = '';
		for(var k in func_par) {
			params += func_par[k] + ',';
		}
*/		
		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]);
					tag.innerHTML = 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 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.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);
	}	
