var trs = new Array;
var pgnum = -1;
function InsertSubtotal()
{
	var elem=document.getElementById('pia2689_pagenumber');

	if(elem.value== '3' || elem.value== '4' || elem.value== '8')
	{
			pgnum = elem.value;
			InsertSubtotalTables(elem.value);
	}
	
	CalculateAll();
}

function InsertSubtotalTables(pagenum)
{
	var t1, t2, t3, t0;
	
	if(pagenum=="3")
	{
		t1=document.getElementById('pia2689_page3_1now3');		t1=FindParentTable(t1);
		t2=document.getElementById('pia2689_Page3_2now3');		t2=FindParentTable(t2);
		t3=document.getElementById('pia2689_Page3_3now3');		t3=FindParentTable(t3);
		AppendTr(t1, 1);	AppendTr(t2, 2);	AppendTr(t3, 3);
	}
	if(pagenum=='4')
	{	
		t0=document.getElementById('pia2689_page_4_0now');		t0=FindParentTable(t0);
		t1=document.getElementById('pia2689_page_4now');		t1=FindParentTable(t1);
		t2=document.getElementById('pia2689_page_4_2now');		t2=FindParentTable(t2);
		t3=document.getElementById('pia2689_page_4_3now');		t3=FindParentTable(t3);
		AppendTr(t0, 1);	AppendTr(t1, 2);	AppendTr(t2, 3);	AppendTr(t3, 4);
	}
	if(pagenum=='8')
	{	
		t1=document.getElementById('pia2689_page_8_1now');		t1=FindParentTable(t1);
		t2=document.getElementById('pia2689_page_8_2now');		t2=FindParentTable(t2);
		t3=document.getElementById('pia2689_page_8_3now');		t3=FindParentTable(t3);
		AppendTr(t1, 1);	AppendTr(t2, 2);	AppendTr(t3, 3);
	}
	
	AppendTotalTr(t3);
	
	document.body.innerHTML=document.body.innerHTML;

	if(pagenum=="3")
	{
		t1=document.getElementById('pia2689_page3_1now3');		t1=FindParentTable(t1);
		t2=document.getElementById('pia2689_Page3_2now3');		t2=FindParentTable(t2);
		t3=document.getElementById('pia2689_Page3_3now3');		t3=FindParentTable(t3);
		
		AttachEvents(null, t1, t2, t3);
	}
	if(pagenum=='4')
	{	
		t0=document.getElementById('pia2689_page_4_0now');		t0=FindParentTable(t0);
		t1=document.getElementById('pia2689_page_4now');		t1=FindParentTable(t1);
		t2=document.getElementById('pia2689_page_4_2now');		t2=FindParentTable(t2);
		t3=document.getElementById('pia2689_page_4_3now');		t3=FindParentTable(t3);
		AttachEvents(t0, t1, t2, t3);
	}
	if(pagenum=='8')
	{	
		t1=document.getElementById('pia2689_page_8_1now');		t1=FindParentTable(t1);
		t2=document.getElementById('pia2689_page_8_2now');		t2=FindParentTable(t2);
		t3=document.getElementById('pia2689_page_8_3now');		t3=FindParentTable(t3);
		AttachEvents(null, t1, t2, t3);
	}
}

function AttachEvents(t0, t1, t2, t3)
{
		var x = t1.getElementsByTagName('input');
		
		for (var i =0; i< x.length; i++)
		{	
			if (x[i].addEventListener) x[i].addEventListener('keyup', CalculateSubtotal, false);
			if (x[i].attachEvent) x[i].attachEvent('onkeyup', CalculateSubtotal);
		}
		
		x = t2.getElementsByTagName('input');
		
		for (var i =0; i< x.length; i++)
		{	
			if (x[i].addEventListener) x[i].addEventListener('keyup', CalculateSubtotal, false);
			if (x[i].attachEvent) x[i].attachEvent('onkeyup', CalculateSubtotal);
		}
		
		x = t3.getElementsByTagName('input');
		
		for (var i =0; i< x.length; i++)
		{	
			if (x[i].addEventListener) x[i].addEventListener('keyup', CalculateSubtotal, false);
			if (x[i].attachEvent) x[i].attachEvent('onkeyup', CalculateSubtotal);
		}
		
		if(t0!=null)
		{
			x = t0.getElementsByTagName('input');
		
			for (var i =0; i< x.length; i++)
			{	
				if (x[i].addEventListener) x[i].addEventListener('keyup', CalculateSubtotal, false);
				if (x[i].attachEvent) x[i].attachEvent('onkeyup', CalculateSubtotal);
			}
		}
}


function FindParentTable(elem)
{
	while (elem!=null && elem.tagName.toLowerCase()!="table") {
		elem=elem.parentNode;
	}
	return elem;

}

function AppendTr(elem, id)
{
	var tdnum = elem.rows[0].cells.length-1;
	
	var tr=document.createElement("tr");
    tr.setAttribute('class', 'qnr_true');
    var td=document.createElement("td");
    td.setAttribute('colspan','5');
    td.innerHTML='&nbsp;';
    tr.appendChild(td);
    elem.appendChild(tr);
    
    tr=document.createElement("tr");
    tr.setAttribute('class', 'qnr_false');
    td=document.createElement("td");
    td.setAttribute('class','listFreetext');
    var text1=document.createTextNode('Subtotal');
    td.appendChild(text1);
    tr.appendChild(td);
    tr.id = 'trsub_' + (id-1);
    
    for(var i =0; i<tdnum; i++)
    {
		td=document.createElement("td");
	    td.setAttribute('class','textbox');
      	var inp=document.createElement("input");
//      	inp.setAttribute('onChange','javascript: CalculateTotal()');
      	inp.setAttribute('disabled', 'true');
       	td.appendChild(inp);
      	tr.appendChild(td);
    }
    
    trs[id-1] = tr.id;
    elem.appendChild(tr);

}

function AppendTotalTr(elem)
{
	var tdnum = elem.rows[0].cells.length-1;
	
	var tr=document.createElement("tr");
    tr.setAttribute('class', 'qnr_true');
    var td=document.createElement("td");
    td.setAttribute('colspan','5');
    td.innerHTML='&nbsp;';
    tr.appendChild(td);
    elem.appendChild(tr);
    
    tr=document.createElement("tr");
    tr.setAttribute('class', 'qnr_false');
    td=document.createElement("td");
    td.setAttribute('class','listFreetext');
    var text1=document.createTextNode('Total');
    td.appendChild(text1);
    tr.appendChild(td);
    tr.id = 'totaltr';
    
    for(var i =0; i<tdnum; i++)
    {
		td=document.createElement("td");
	    td.setAttribute('class','textbox');
      	var inp=document.createElement("input");
      	inp.setAttribute('disabled', 'true');
       	td.appendChild(inp);
      	tr.appendChild(td);
    }
    
    elem.appendChild(tr);
    
}


function CalculateSubtotal(e)
{	
	if(!e) e=window.event;
	if(!e.target) e.target=e.srcElement;
	
	var table = FindParentTable(e.target);
	CalculateTable(table);
	
	return true;
}

function CalculateTable(elem)
{
	var sum = new Array;
	var j=elem.getElementsByTagName('tr');
	for (var i=0; i<j.length; i++) 
	{
		var inp=j[i].getElementsByTagName('input');
		if(inp!=null && inp.length>0)
			for(var k=0; k<inp.length; k++)
			{
				if(inp[k].disabled) continue;
				if(!sum[k]) sum[k]=0;
				
				try{ var val = parseFloat(inp[k].value); if(val) sum[k] += val; } catch(e) { }
			}
	}
	
	var num=0;
	for (var i=0; i<j.length; i++)
	{
		var inp=j[i].getElementsByTagName('input');
		if(inp!=null && inp.length>0)
			if(inp[0].disabled)
			{	num=i; break; }
	}

	var sub=j[num].getElementsByTagName('input');
	for(k=0; k<sub.length; k++)
	{
		sub[k].value=sum[k];			
	}
	
	CalculateTotal();
	
	return true;
}


function CalculateTotal()
{
	var sum = new Array;
	for(var i=0; i<trs.length;i++)
	{
		var elem = document.getElementById('trsub_' + i);

		var inp=elem.getElementsByTagName('input');;
		if(inp!=null && inp.length>0)
			for(var k=0; k<inp.length; k++)
			{
				if(!inp[k].disabled) continue;
				if(!sum[k]) sum[k]=0;
				try{ var val = parseFloat(inp[k].value); if(val) sum[k] += val; } catch(e) { }
			}		
	}
	
	var tr=document.getElementById('totaltr');
	var sub=tr.getElementsByTagName('input');
	for(k=0; k<sub.length; k++)
	{
		sub[k].value=sum[k];
	}	
	return true;
}


function CalculateAll()
{

	var elem=document.getElementById('pia2689_pagenumber');

		var t0, t1, t2, t3;
			
		if(elem.value=="3")
		{
			t1=document.getElementById('pia2689_page3_1now3');		t1=FindParentTable(t1);
			t2=document.getElementById('pia2689_Page3_2now3');		t2=FindParentTable(t2);
			t3=document.getElementById('pia2689_Page3_3now3');		t3=FindParentTable(t3);
		}
		if(elem.value=='4')
		{	
			t0=document.getElementById('pia2689_page_4_0now');		t0=FindParentTable(t0);
			t1=document.getElementById('pia2689_page_4now');		t1=FindParentTable(t1);
			t2=document.getElementById('pia2689_page_4_2now');		t2=FindParentTable(t2);
			t3=document.getElementById('pia2689_page_4_3now');		t3=FindParentTable(t3);
		}
		if(elem.value=='8')
		{	
			t1=document.getElementById('pia2689_page_8_1now');		t1=FindParentTable(t1);
			t2=document.getElementById('pia2689_page_8_2now');		t2=FindParentTable(t2);
			t3=document.getElementById('pia2689_page_8_3now');		t3=FindParentTable(t3);
		}
	
	if(t0 && t1 && t2 && t3)
	{
		CalculateTable(t0);
		CalculateTable(t1);
		CalculateTable(t2);
		CalculateTable(t3);
	}
	
	
	if(t1 && t2 && t3)
	{
		CalculateTable(t1);
		CalculateTable(t2);
		CalculateTable(t3);
	}	
}


