// TarrantIT 2000
var wall=-1;
var wallSeg=0;
var panel = 0;
var runLen=0;
var wallLen=null;
var wallTable=null;
var currentWall=-1;
function AddSeg(td)
{
	AddSegment(td.innerHTML);
}
function AddSegment(len)
{	
	var w = currentWall;
	var tr, td;
	tr=document.getElementById("wallRow"+w);
	wallLen=document.createElement("input");
	wallLen.setAttribute("id", "wall"+w+"_Seg"+tr.cells.length);
	currentInput = "wall"+w+"_Seg"+tr.cells.length;
	wallLen.setAttribute("name", "wall"+w+"_Seg"+tr.cells.length);
	wallLen.setAttribute("width", "40");
	wallLen.setAttribute("class", "TxtBox1");
	wallLen.setAttribute("type", "text");
	wallLen.setAttribute("readOnly", "true");
	wallLen.value = len;
	if ((tr.cells.length-1)%2 != 0)
		wallLen.style.background="lawngreen";
	else
		wallLen.style.background="deepskyblue";
	td=tr.insertCell(tr.cells.length-1);
	td.appendChild(wallLen);
	wallLen.focus();
	panel++;
}
function NewWall()
{	
	if (currentWall > -1)
	{
		if (document.getElementById("wallRow"+currentWall).cells.length < 4)
			return;
	}
	if (! IsLastPanel())
		return;
	
	if (currentWall >-1)
	{
		var tr=document.getElementById("wallRow"+currentWall);
		tr.deleteCell(tr.cells.length-1);
	}
	panel=0; // start a wall with a panel
	wall++;
	currentWall = wall;
	var tr, t, td;
	t= document.createElement("table");
	t.setAttribute("id", "wall"+wall);
	tr= t.insertRow(t.rows.length);
	tr.setAttribute("id", "wallRow"+wall);
	tr.setAttribute("name", "wallRow"+wall);
	td=tr.insertCell(tr.cells.length);
	
	var nextSeg = document.createElement("a");
	nextSeg.setAttribute("href", "javascript:ChangeCurrent("+wall+")");
	nextSeg.setAttribute("title", "Click to edit wall "+ (wall+1));
	var hl = document.createTextNode("Edit");
	nextSeg.appendChild(hl);
	td.appendChild(nextSeg);
	td=tr.insertCell(tr.cells.length);
	
	var delSeg = document.createElement("a");
	delSeg.setAttribute("href", "javascript:delSegment("+wall+")");
	delSeg.setAttribute("title", "Remove segment");
	var i2 =document.createElement("img");
	i2.setAttribute("src", "images/Delete.gif");
	i2.setAttribute("border", "0");
	delSeg.appendChild(i2);
	td.appendChild(delSeg);
	document.getElementById("divWalls").appendChild(t);
	runWall = 0;		
}
function ChangeCurrent(w)
{
	if (! IsLastPanel())
		return;
	if (document.getElementById("wallRow"+currentWall).cells.length < 3)
	{
		alert("Enter at least 1 panel in new wall first");
		return;
	}
	var tr=document.getElementById("wallRow"+currentWall);
	tr.deleteCell(tr.cells.length-1);
	tr = document.getElementById("wallRow"+w);
	var td=tr.insertCell(tr.cells.length);
	var delSeg = document.createElement("a");
	delSeg.setAttribute("href", "javascript:delSegment("+w+")");
	delSeg.setAttribute("title", "Remove segment");
	var i2 =document.createElement("img");
	i2.setAttribute("src", "images/Delete.gif");
	i2.setAttribute("border", "0");
	delSeg.appendChild(i2);
	td.appendChild(delSeg);
	currentWall = w;
	panel = document.getElementById("wallRow"+w).cells.length-2;
}
function delSegment(w)
{  	
 	var tr=document.getElementById("wallRow"+w);
	if (tr.cells.length > 2)
	{
		tr.deleteCell(tr.cells.length-2);
		panel--;
		//currentWall = w;
	}
}
function window_onload()
{		
	var totWalls=aWall.length;
	if (totWalls >0)
	{		
		NewWall(); // theres at least one so kick off first
		for (var y=0; y < totWalls; y++)
		{
			x=aWall[y];
			if (x!=0)
				AddSegment(ConEng2(x));
			else
				NewWall();
		}
	}
	else
		NewWall(); // no state to manage so go 1
}
function mailJob_onclick()  // aint the DOM level 2 just the ducks guts  .. and who said ya can only have 1 form in asp.net ?
{
	var d=document.getElementById("divMail");
	var frm=document.createElement("form");
	frm.setAttribute("id", "frmMailResults");
	frm.setAttribute("name", "frmMailResults");
	frm.setAttribute("action", "mailto:");
	frm.setAttribute("method", "GET");
	var but=document.createElement("input");			
	but.setAttribute("type", "submit");
	but.setAttribute("value", "Mail Results");
	var subj=document.createElement("input");			
	subj.setAttribute("name", "subject");
	subj.setAttribute("type", "text");
	subj.setAttribute("value", "StarterBar_Map");
	var txt=document.createElement("textarea");			
	txt.setAttribute("name", "body");
	txt.setAttribute("value", getBody());
	frm.appendChild(but);
	frm.appendChild(subj);
	frm.appendChild(txt);
	d.appendChild(frm);
	frm.submit();
}
function getBody()
{
	var t=0;
	var results;
	results="StarterBat+Map\n";
	if(document.getElementById("lblStretcher")!=null)
		results+="10.01__Stretcher\t\t"+ document.getElementById("lblStretcher").innerHTML;
	if(document.getElementById("lblHalf")!=null)
		results+="\n10.03__Half\t\t"+ document.getElementById("lblHalf").innerHTML;
	if(document.getElementById("lblCorner")!=null)
		results+="\n10.25__Corner\t\t"+ document.getElementById("lblCorner").innerHTML;
	if(document.getElementById("lblThreeQuarter")!=null)
		results+="\n10.02__Threequarter\t\t"+ document.getElementById("lblThreeQuarter").innerHTML;
	if(document.getElementById("lblQuarter")!=null)
		results+="\n10.34__Quarter\t\t"+ document.getElementById("lblQuarter").innerHTML;
	if(document.getElementById("lblCornerHalf") != null)
		results+="\n??.??__Corner_Half\t\t"+ document.getElementById("lblCornerHalf").innerHTML;
	if(document.getElementById("lblJamb") != null)
		results+="\n10.340__Jamb\t\t"+ document.getElementById("lblJamb").innerHTML;
	if(document.getElementById("lblTotal") != null)
		results+="\n\nTotal\t\t"+ document.getElementById("lblTotal").innerHTML;
	results+="\n";
	if(document.getElementById("lblLoam") != null)
		results+="\nLoam\t\t"+ document.getElementById("lblLoam").innerHTML;
	if(document.getElementById("lblCement") != null)
		results+="\nCement\t\t"+ document.getElementById("lblCement").innerHTML;
	if(document.getElementById("lblArea") != null)
		results+="\nArea\t\t"+ document.getElementById("lblArea").innerHTML;
	if(document.getElementById("lblPallettes") != null)
		results+="\nPallettes\t\t"+ document.getElementById("lblPallettes").innerHTML;
	return results;
}
function Demo()
{	
	if (currentWall > -1)
	{
		if (! confirm("StarterMap generates a table\n\rof running measurements for\n\rStarter Bar set out\n\r\n\rThis action will overwrite current entries\n\r\n\rContinue?"))
		return;
	}
	ClearWalls();
	document.getElementById("ddCenters").selectedIndex = Math.floor(Math.random()*4)+3;
	var cent = document.getElementById("ddCenters").options[document.getElementById("ddCenters").selectedIndex].text;
	document.getElementById("ddCenters").style.backgroundColor = "lawngreen";
	if (! confirm("This demo will randomly generate a job\n\rKeep clicking OK to step through\n\ror Cancel to stop\n\r\n\rSelect Max Starter centres\n\rThis demo has centres of "+ cent +"\n\r\n\r\n\rEach wall has panels (green) and openings (blue)\n\r\n\rContinue?"))
		return;
	var rndWalls = Math.floor(Math.random()*5)+3;
	for (var y=0; y< rndWalls; y++)
	{			
		var segs = Math.floor(Math.random() * 4);
		segs =(segs *2)+5;
		var pan = Math.floor(segs/2)+1;
		
		NewWall();
		for (var i=0; i< segs; i++)
		{
			AddSegment(document.getElementById("trTape").cells[(Math.floor(Math.random() * 8)) + 3].innerHTML);
		}
		if (! confirm("Wall "+ (y+1) +"\n\r\n\rClick the yellow tape at the measurement for panels and openings\n\r\n\rThis wall has "+ pan +" panels (green) and "+ (pan-1) +" openings (blue)\n\r\n\rClick 'Next Wall' to enter next wall\n\r\n\rThis demo has "+ rndWalls +" walls\n\r\n\rContinue?"))
			return;
	}
	if (confirm("Click 'Edit' to edit each wall \n\rClick red cross to remove panel ~ opening\n\r\n\rClick 'Calculate Map' to finish\n\r\n\rCalculate now?"))
		__doPostBack('btnCalc','');
	else
	{
		ClearWalls();
		NewWall();
	} 
}
function ClearWalls()
{
	if (document.getElementById("tblMap") != null)
		document.getElementById("tblMap").style.display="none";
	var elem = document.getElementById("divWalls");
	elem.parentNode.removeChild(elem);
	var newDiv = document.createElement("div");
	newDiv.setAttribute("id", "divWalls");
	document.getElementById("spnAllWalls").appendChild(newDiv);
	wall = -1;
	currentWall=-1;
	panel=0;
}
//document.onkeydown = HandleDown;
function HandleDown(evt)
{
	evt=(evt) ? evt : ((event) ? event : null);
	if(evt)
	{
		//alert(evt.keyCode);
		switch (evt.keyCode)
		{
			case 39:
				NextSegment(currentWall); // right
				break;
			case 37:
				delSegment(currentWall); // left
				break;
			case 40:
				NewWall(); // down
				break;
			case 38:
				if (currentWall > 0)// up
					currentWall--; 
				break;
		}
	}
}
function Mover(td)
{
	td.style.backgroundColor="DarkOrange";
	var bc;
	if (td.cellIndex == 0)
		bc="1/2 block";
	else
	{
		bc = Math.floor((td.cellIndex+1)/2);
		if (td.cellIndex%2 ==0)
			bc+="~1/2";
		bc+=" blocks";
	}
	if (td.innerHTML.substr(td.innerHTML.length-1) != "'")
		document.getElementById("spnBlockCount").innerHTML = td.innerHTML +"\" = "+ bc;
	else
		document.getElementById("spnBlockCount").innerHTML = td.innerHTML +" = "+ bc;
		
}
function Mout(td)
{
	td.style.backgroundColor="Yellow";
	//document.getElementById("spnBlockCount").innerHTML ="";
}
function ConEng2(ts)
{
	var eng="";
	if (ts > 384)
	{		
		 eng = Math.floor(ts/384) +"'";
		 ts = ts% 384;
	}
	if (ts >0)
		eng+= ts/32;
	return eng;
	
}
function Form_onsubmit()
{	
	if (IsLastPanel())
		return true;
	return false;
}
function IsLastPanel()
{	
	if (panel%2 == 0 && panel >0)
	{
		document.getElementById("wallRow"+currentWall).cells[panel].firstChild.style.backgroundColor="Red";
		alert("Must start and end each wall with a panel (green)\n\rPlease either add a panel or remove an opening\n\r\n\rWall "+ (currentWall+1));
		document.getElementById("wallRow"+currentWall).cells[panel].firstChild.style.backgroundColor="Deepskyblue";
		return false;
	}
	return true;
}







