function getXmlHttpRequestObject() 
{
    if (window.XMLHttpRequest) {
	return new XMLHttpRequest(); //Not IE
    } else if(window.ActiveXObject) {
    
	return new ActiveXObject("Microsoft.XMLHTTP"); //IE
    } else {
	alert("Twoja obecna przeglądarka jest niekompatybilna.  Zalecamy Firefox'a.");
    }
}

//var receiveReq = getXmlHttpRequestObject();
var last_field = 0;
var last_after = 0;
var last_table = 0;
var main_row_open = 0;

function uzyskaj(plik,element) {
    
    var receiveReq = getXmlHttpRequestObject();
    document.getElementById(element).innerHTML = '<center><img src="jpg/indicator.gif" align=middle> Komunikacja z serwerem ... ';
    receiveReq.onreadystatechange = function wmontuj() 
    {
	if (receiveReq.readyState == 4 && receiveReq.status == 200) 
	{

		text = receiveReq.responseText;
		document.getElementById(element).innerHTML = text;
		text='';
	}
    }

    if (receiveReq.readyState == 0 || receiveReq.readyState == 4) {
	receiveReq.open("GET", plik, true);
	receiveReq.send(null);
    }			
}
//na potrzeby modułu do wklejania grafik metodą copy paste
function uzyskaj_rich(plik,element) {
    
    var receiveReq = getXmlHttpRequestObject();
    document.getElementById(element).innerHTML = '<center><img src="jpg/indicator.gif" align=middle> Komunikacja z serwerem ... ';
    receiveReq.onreadystatechange = function wmontuj() 
    {
	if (receiveReq.readyState == 4 && receiveReq.status == 200) 
	{

		text = receiveReq.responseText;
		document.getElementById(element).innerHTML = text;
		text='';
//		area1.removeInstance('paste_graph1');
		area1 = new nicEditor({buttonList : []}).panelInstance('paste_graph1');
		area2 = new nicEditor({buttonList : []}).panelInstance('paste_graph2');
		area3 = new nicEditor({buttonList : []}).panelInstance('paste_graph3');
//		new nicEditor().panelInstance('paste_graph2');
//		new nicEditor({buttonList : []}).panelInstance('paste_graph3');
	}
    }

    if (receiveReq.readyState == 0 || receiveReq.readyState == 4) {
	receiveReq.open("GET", plik, true);
	receiveReq.send(null);
    }			
}
function uzyskaj_24op(plik,element) 
{
    
    var receiveReq = getXmlHttpRequestObject();
    receiveReq.onreadystatechange = function wmontuj()
    {
	if (receiveReq.readyState == 4 && receiveReq.status == 200) 
        {
    	    text = receiveReq.responseText;
	    if (document.getElementById(element)) document.getElementById(element).innerHTML = text;
	    text='';
	}
    }
        if (receiveReq.readyState == 0 || receiveReq.readyState == 4) {
    	receiveReq.open("GET", plik, true);
	receiveReq.send(null);
    }
}

function uzyskaj_24op_value(plik,element) 
{
    
    var receiveReq = getXmlHttpRequestObject();
    receiveReq.onreadystatechange = function wmontuj()
    {
	if (receiveReq.readyState == 4 && receiveReq.status == 200) 
        {
    	    text = receiveReq.responseText;
	    document.getElementById(element).value = text;
	    text='';
	}
    }
        if (receiveReq.readyState == 0 || receiveReq.readyState == 4) {
    	receiveReq.open("GET", plik, true);
	receiveReq.send(null);
    }
}


function uzyskaj_24op_kolorek(plik,element) 
{
    var receiveReq = getXmlHttpRequestObject();
    receiveReq.onreadystatechange = function wmontuj()
    {
	if (receiveReq.readyState == 4 && receiveReq.status == 200) 
        {
    	    text = receiveReq.responseText;
	    kolorek(element,text);
	    
	    text='';
	}
    }
        if (receiveReq.readyState == 0 || receiveReq.readyState == 4) 
    {
    	receiveReq.open("GET", plik, true);
	receiveReq.send(null);
    }
}    					    	        


function uzyskaj_sumy(plik,element) {
    var receiveReq = getXmlHttpRequestObject();
    receiveReq.onreadystatechange = function wmontuj() 
    {
	if (receiveReq.readyState == 4 && receiveReq.status == 200) 
	{

		text = receiveReq.responseText;
//		alert(text);
		var sumy = text.split("|");
		document.getElementById('sum_1').innerHTML = sumy[0];
		document.getElementById('sum_2').innerHTML = sumy[1];
		document.getElementById('sum_3').innerHTML = sumy[2];
		text='';
	}
    }

    if (receiveReq.readyState == 0 || receiveReq.readyState == 4) {
	receiveReq.open("GET", plik, true);
	receiveReq.send(null);
//	alert(text);
    }			
}
function wbabie_ctrl(plik,after,t_id,colspan,event)
{
    after++;
    if (last_after) 
    {
	if(!(event.ctrlKey))
	{
	    document.getElementById(t_id).deleteRow(last_after);
	}
    } //usuwa starootwarte w babie
    if (last_after != after) 
    {
	var x=document.getElementById(t_id).insertRow(after);
	last_after=after;
	var y=x.insertCell(0);
	y.colSpan=colspan;
	element=after + '_wb';
	y.id=element;
	document.getElementById(element).innerHTML = '<font color=white>Pobieram dane ....</font>';
	uzyskaj(plik,element);
	after--;
	location.hash='row_' + after;
    }
    else last_after=0; //gdy 2 razy klikniesz na ta sama TRke
}

function wbabie(plik,after,t_id,colspan)
{
    after++;
    if (last_after) 
    {
//        alert(last_after+' '+after+' '+t_id);
        document.getElementById(t_id).deleteRow(last_after);
    } //usuwa starootwarte w babie
    if (last_after != after) 
    {
	var x=document.getElementById(t_id).insertRow(after);
	last_after=after;
	var y=x.insertCell(0);
	y.colSpan=colspan;
	element=after + '_wb';
	y.id=element;
	document.getElementById(element).innerHTML = '<font color=white>Pobieram dane ....</font>';
	uzyskaj(plik,element);
	after--;
	location.hash='row_' + after;
    }
    else last_after=0; //gdy 2 razy klikniesz na ta sama TRke
}

function wbabie_rich(plik,after,t_id,colspan)
{
    after++;
    if (last_after) 
    {
//        alert(last_after+' '+after+' '+t_id);
        document.getElementById(t_id).deleteRow(last_after);
    } //usuwa starootwarte w babie
    if (last_after != after) 
    {
	var x=document.getElementById(t_id).insertRow(after);
	last_after=after;
	var y=x.insertCell(0);
	y.colSpan=colspan;
	element=after + '_wb';
	y.id=element;
	document.getElementById(element).innerHTML = '<font color=white>Pobieram dane ....</font>';
	uzyskaj_rich(plik,element);
	after--;
	location.hash='row_' + after;
    }
    else last_after=0; //gdy 2 razy klikniesz na ta sama TRke
}
function wbabie_konta(plik,after,t_id,colspan)
{
    after++;
//    alert('after' + after +' level'+ t_id+ ' last_table '+last_table +' last_after '+ last_after);
    if (last_after && last_table == t_id ) {document.getElementById(t_id).deleteRow(last_after);} //usuwa starootwarte w babie
    if (last_table>t_id) {document.getElementById(t_id).deleteRow(main_row_open)};
    if (last_after != after || (last_after == after && last_table!=t_id) ) 
    {
	
	var x=document.getElementById(t_id).insertRow(after);
	last_after=after;
	last_table=t_id;
	if (t_id==1) {main_row_open=after;}
//	open_level= 
	var y=x.insertCell(0);
	y.colSpan=colspan;
	element=after + '_wb';
//	alert('after' + after +' level'+ t_id +' element '+element + ' last_table '+last_table + ' last_after '+ last_after);
	y.id=element;
	document.getElementById(element).innerHTML = '<font color=white>Pobieram dane ....</font>';
	uzyskaj(plik + '&&level=' + t_id ,element);
	after--;
	location.hash='row_' + after;
    }
    else last_after=0; //gdy 2 razy klikniesz na ta sama TRke
}

function wbabie_call(plik,after,t_id,colspan)
{
    after++;
    if (last_after) 
    {
	document.getElementById(t_id).deleteRow(last_after);
	document.getElementById('call_click').innerHTML='pokaż statystyki';
    }
    if (last_after != after) 
    {
	var x=document.getElementById(t_id).insertRow(after);
	last_after=after;
	var y=x.insertCell(0);
	y.colSpan=colspan;
	element=after + '_wb';
	y.id=element;
	document.getElementById(element).innerHTML = '<font color=white>Pobieram dane ....</font>';
	uzyskaj(plik,element);
	after--;
	location.hash='row_' + after;
	document.getElementById('call_click').innerHTML='ukryj statystyki';
    }
    else last_after=0;
    
}

function wbabie_list(plik,after,t_id,colspan)
{
    after++;
    if (last_after) 
    {
	document.getElementById(t_id).deleteRow(last_after);
	document.getElementById('tedek_list').innerHTML='IWZ';
    }
    if (last_after != after) 
    {
	var x=document.getElementById(t_id).insertRow(after);
	last_after=after;
	var y=x.insertCell(0);
	y.colSpan=colspan;
	element=after + '_wb';
	y.id=element;
	document.getElementById(element).innerHTML = '<font color=white>Pobieram dane ....</font>';
	uzyskaj(plik,element);
	after--;
	location.hash='row_' + after;
	document.getElementById('call_click').innerHTML='UKRYJ LIST';
    }
    else last_after=0;
    
}

function wbabie_kalk(plik,after,t_id,colspan)
{
    after++;
    if (last_after) 
    {
	document.getElementById(t_id).deleteRow(last_after);
	document.getElementById('calc_click').innerHTML='pokaż kalkulatory';
    }
    if (last_after != after) 
    {
	var x=document.getElementById(t_id).insertRow(after);
	last_after=after;
	var y=x.insertCell(0);
	y.colSpan=colspan;
	element=after + '_wb';
	y.id=element;
	document.getElementById(element).innerHTML = '<font color=white>Pobieram dane ....</font>';
	uzyskaj(plik,element);
	after--;
	location.hash='row_' + after;
	document.getElementById('calc_click').innerHTML='ukryj kalkulatory';
    }
    else last_after=0;
    
}




function pole(plik,element)
{
// niedokończony szkic, nadprodukcja
    d=document.getElementById(last_field).innerHTML;
    if (last_field && d.length) {document.getElementById(last_field).innerHTML = '';}
    if (last_field != element) 
    {
	var x=document.getElementById(t_id).insertRow(after);
	last_after=after;
	var y=x.insertCell(0);
	y.colSpan=colspan;
	element=after + '_wb';
	y.id=element;
	document.getElementById(element).innerHTML = '<font color=white>Pobieram dane ....</font>';
	uzyskaj(plik,element);
	after--;
	location.hash='row_' + after;
    }
    else last_field='';
}

function new_line(plik,after,t_id)
{
    after++;
	var x=document.getElementById(t_id).insertRow(after);
	element='tr_' + t_id + after + '_n';
	x.id=element;
	x.bgColor='#ffffff';
	plik += '&aft=' + after;
	uzyskaj(plik,element);

}

function line_do(plik,num,t_id)
{
    var receiveReq = getXmlHttpRequestObject();
    receiveReq.onreadystatechange = function wmontuj() 
    {
	if (receiveReq.readyState == 4 && receiveReq.status == 200) 
	{
	    text = receiveReq.responseText;
	    //alert('t_id:'+t_id+'num:'+num);
	    row=document.getElementById("tr_" + t_id + num).rowIndex;
	    if (text=="OK") {document.getElementById(t_id).deleteRow(row);} else alert('text');
	}
    }

    if (receiveReq.readyState == 0 || receiveReq.readyState == 4) {
	receiveReq.open("GET", plik, true);
	receiveReq.send(null);
    }			
}

