/**
*	Обработка полученых данных из АЯКС обработчика
*/
function appendData(data_str, parent_node, mode){
	
	
    //заводим уникальный идентефикатор для меток
    var milisec = new Date;
    milisec = milisec.getTime();

    //regExp выгребаем все конструкции script
    var js_reg = /<script.*?>(.|[\r\n])*?<\/script>/ig;

    var js_str = js_reg.exec(data_str);
    if (js_str != null) var js_arr = new Array(js_str.shift());

    while(js_str) {
            js_str = js_reg.exec(data_str);
            if (js_str != null) js_arr.push(js_str.shift());
    }

    //вставляем получившийся текст с метками
    if(mode == 'rewrite') 
		{
        document.getElementById(parent_node).innerHTML = data_str;
		} 
	else if (mode == 'append') 
		{
        document.getElementById(parent_node).innerHTML += data_str;
		} 
	else if (mode == 'insert') 
		{
        var old_text = document.getElementById(parent_node).innerHTML;			
		document.getElementById(parent_node).innerHTML= data_str+old_text;	  
	    }

    //выражение для выгребания контента между тегами script
    var js_content_reg = /<script.*?>((.|[\r\n])*?)<\/script>/ig;
    //заменяем метки на javascript
    if (js_arr)
    for (i = 0; i < js_arr.length; i++) {
            var js_content = js_content_reg.exec(js_arr[i]);
            if (js_content && js_content[1])
				eval(js_content[1]);
    }
}


/**
*	Чето аяксовое
*/
function discardElement(element) {
    var garbageBin = document.getElementById('IELeakGarbageBin');
    if (!garbageBin) 
		{
        garbageBin = document.createElement('DIV');
        garbageBin.id = 'IELeakGarbageBin';
        garbageBin.style.display = 'none';
        document.body.appendChild(garbageBin);
	    }

    // move the element to the garbage bin
    garbageBin.appendChild(element);
    garbageBin.innerHTML = '';
}
	
/**
*	Запросы АЯКСА	
*/
function doLoad(value,path,target,method,write_type) 
	{
	if (method == 'undefined') method=null;
	
	if (write_type == 'undefined' || !write_type || write_type=='') write_type='rewrite';

	var req = new JsHttpRequest();

	//document.getElementById('ajax_working').style.display = 'block';	

	req.onreadystatechange = function() 
		{
	    if (req.readyState == 4 && target.length > 0) 
			{
			    
	    	//document.getElementById('ajax_working').style.display = 'none';    
	        if (target.indexOf(";") == -1)
		       	{
				try
					{
					appendData(req.responseJS.content,target,write_type);	
					}
				catch (e)
					{
					alert(req.responseText);
					}				
		       	}
	        else
			    {
				target = target.split(";");
	            for (i in target) 
	            	{
					try
						{
						appendData(req.responseJS.content[i],target[i],write_type);
						}
					catch (e)
						{
						alert(req.responseText);
						}
					}
				}
	        }
	    }

    req.open(method, path, true);
    req.send( { 'data': value } );
	}             

	
	
function ClientWidth() {
	return document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientWidth:document.body.clientWidth;
}

function ClientHeight() {
	return document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientHeight:document.body.clientHeight;
}	

function ScrollLeft() {
	return document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.scrollLeft:document.body.scrollLeft;
}

function ScrollTop() {
	return document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.scrollTop:document.body.scrollTop;
}	

function runWindowOrder(model,form) {
	
	if (model=='' || model==undefined || model==null)
		model=0;
	
	if (form=='' || form==undefined || form==null)
		form='';
	
	win=document.getElementById('window');
	win.style.display='block';

	resLeft=((ClientWidth()-win.clientWidth)/2)+ScrollLeft();
	resTop=((ClientHeight()-win.clientHeight)/2)+ScrollTop();
	win.style.left=resLeft+'px';
	win.style.top=resTop+'px';
	
	doLoad(form,'/ajax/order_dop/'+model+'/','window_inn');
	
	return false;
}

function closeWindow() {
	document.getElementById('window').style.display='none';
	document.getElementById('window_inn').innerHTML='';
}

function pasteInput(to,value)
{
	doLoad('','/ajax/to_setinput/'+to+'/'+value+'/',to);
	if (to=='to_vols')
	{
		doLoad('','/ajax/to_setinput/to_runs/0/','to_runs');
	}
}

function calcForm(form)
{
	doLoad(form,'/ajax/to_calc/','to_result');
	return false;
}