// JavaScript Document
var parentProduct;
			function ImageExpander(oThumb, sImgSrc)
			{
				// store thumbnail image and overwrite its onclick handler.
				//alert("Inside ImageExpander...");
				//alert("Thumbimage="+oThumb);
				//alert("ImgSrc="+sImgSrc);
				this.oThumb = oThumb;
				this.oThumb.expander = this;
				this.oThumb.onclick = function() { this.expander.expand(); }

				// record original size
				this.smallWidth = oThumb.offsetWidth;
				this.smallHeight = oThumb.offsetHeight;

				this.bExpand = true;
				this.bTicks = false;

				// self organized list
				if ( !window.aImageExpanders )
				{
					window.aImageExpanders = new Array();
				}
				window.aImageExpanders.push(this);

				// create the full sized image.
				this.oImg = new Image();
				this.oImg.expander = this;
				this.oImg.onload = function(){this.expander.onload();}
				this.oImg.src = sImgSrc;
			}

			ImageExpander.prototype.onload = function()
			{
				this.oDiv = document.createElement("div");
				document.body.appendChild(this.oDiv);
				this.oDiv.appendChild(this.oImg);
				this.oDiv.style.position = "absolute";
				this.oDiv.expander = this;
				this.oDiv.onclick = function() {this.expander.toggle();};
				this.oImg.title = "Click to reduce.";
				this.bigWidth = this.oImg.width;
				this.bigHeight = this.oImg.height;

				if ( this.bExpand )
				{
					this.expand();
				}
				else
				{
					this.oDiv.style.visibility = "hidden";
					this.oImg.style.visibility = "hidden";
				}
			}
			ImageExpander.prototype.toggle = function()
			{
				this.bExpand = !this.bExpand;
				if ( this.bExpand )
				{
					for ( var i in window.aImageExpanders )
						if ( window.aImageExpanders[i] !== this )
							window.aImageExpanders[i].reduce();
				}
			}
			ImageExpander.prototype.expand = function()
			{
				// set direction of expansion.
				this.bExpand = true;

				// set all other images to reduce
				for ( var i in window.aImageExpanders )
					if ( window.aImageExpanders[i] !== this )
						window.aImageExpanders[i].reduce();

				// if not loaded, don't continue just yet
				if ( !this.oDiv ) return;

				// hide the thumbnail
				this.oThumb.style.visibility = "hidden";

				// calculate initial dimensions
				this.x = this.oThumb.offsetLeft;
				this.y = this.oThumb.offsetTop;
				this.w = this.oThumb.clientWidth;
				this.h = this.oThumb.clientHeight;

				this.oDiv.style.left = this.x + "px";
				this.oDiv.style.top = this.y + "px";
				this.oImg.style.width = this.w + "px";
				this.oImg.style.height = this.h + "px";
				this.oDiv.style.visibility = "visible";
				this.oImg.style.visibility = "visible";

				// start the animation engine.
				if ( !this.bTicks )
				{
					this.bTicks = true;
					var pThis = this;
					window.setTimeout(function(){pThis.tick();},25);
				}
			}
			ImageExpander.prototype.reduce = function()
			{
				// set direction of expansion.
				this.bExpand = false;
			}
			ImageExpander.prototype.tick = function()
			{
				// calculate screen dimensions
				var cw = document.body.clientWidth;
				var ch = document.body.clientHeight;
				var cx = document.body.scrollLeft + cw / 2;
				var cy = document.body.scrollTop + ch / 2;

				// calculate target
				var tw,th,tx,ty;
				if ( this.bExpand )
				{
					tw = this.bigWidth;
					th = this.bigHeight;
					if ( tw > cw )
					{
						th *= cw / tw;
						tw = cw;
					}
					if ( th > ch )
					{
						tw *= ch / th;
						th = ch;
					}
					tx = cx - tw / 2;
					ty = cy - th / 2;
				}
				else
				{
					tw = this.smallWidth;
					th = this.smallHeight;
					tx = this.oThumb.offsetLeft;
					ty = this.oThumb.offsetTop;
				}
				// move 5% closer to target
				var nHit = 0;
				var fMove = function(n,tn)
				{
					var dn = tn - n;
					if ( Math.abs(dn) < 3 )
					{
						nHit++;
						return tn;
					}
					else
					{
						return n + dn / 10;
					}
				}
				this.x = fMove(this.x, tx);
				this.y = fMove(this.y, ty);
				this.w = fMove(this.w, tw);
				this.h = fMove(this.h, th);

				this.oDiv.style.left = this.x + "px";
				this.oDiv.style.top = this.y + "px";
				this.oImg.style.width = this.w + "px";
				this.oImg.style.height = this.h + "px";

				// if reducing and size/position is a match, stop the tick
				if ( !this.bExpand && (nHit == 4) )
				{
					this.oImg.style.visibility = "hidden";
					this.oDiv.style.visibility = "hidden";
					this.oThumb.style.visibility = "visible";

					this.bTicks = false;
				}

				if ( this.bTicks )
				{
					var pThis = this;
					window.setTimeout(function(){pThis.tick();},25);
				}
			}


		function checkEnter(e)
		{
		  var characterCode;
		  // FOR NETSCAPE
		  if (e && e.which) { e = e; characterCode = e.which; }
		  else { e = event; characterCode = e.keyCode; }
		  // FOR IE
		  if (characterCode == 13) { getSearchType('site'); return false; }
		  else { return true; }
		}

	


    

function deleteColumn(tblId)
{

  var table = document.getElementById(tblId);
  var rowLength=table.rows.length;
  var row = table.rows[2];
  var content="9999";
  var cellLength = row.cells.length;

  for (var i=0; i<cellLength; i++) {
  cell=table.rows[2].cells[i];
  if (cell.innerHTML.length !=0)
  {

 	 content = cell.innerHTML;
  }
   else
   {
    oneRow = table.rows[2]
    oneRow.deleteCell(i);
    oneRow = table.rows[1]
    oneRow.deleteCell(i);
    oneRow = table.rows[0]
    oneRow.deleteCell(i);
    i=i-1
    row=table.rows[2];
    cellLength = row.cells.length;
   }
 }
}


function setField(qtyField)
{
	//alert("Inside setField()....quantity="+qtyField);
	document.prodDisplay.fCount.value=parseInt(document.prodDisplay.fCount.value) + 1;
	eval('document.prodDisplay.qty'+parseInt(document.prodDisplay.fCount.value)).value=qtyField


}
////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////
//CHECK THE NAME OF THE FIELD IN THE EVAL
//////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////


function readFields()
{
var w=0;
var x=0;
var y=0;
var z=0;
var p=0;
//alert("inside readFields()....length="+document.gradegrid.elements.length);


   for(i=0; i< document.gradegrid.elements.length; i++){


//alert("field name="+document.gradegrid.elements[i].name+"....Value="+document.gradegrid.elements[i].value+"....i="+i+"....x="+x+"....y="+y);
   if (document.gradegrid.elements[i].name == 'quantity') {
//    alert("field name="+document.gradegrid.elements[i].name+"....Value="+document.gradegrid.elements[i].value+"....i="+i+"....x="+x+"....y="+y);

//    alert("fieldname="+eval('document.prodDisplay.qty'+x));
//alert("value="+document.gradegrid.elements[i].value+"|");
if (document.gradegrid.elements[i].value == '') {
//alert("value is null");
   	eval('document.gradegrid.qty'+parseInt(x)).value=parseInt(0);
   	}
   else
   {
   	//alert("value is NOT null");
   	eval('document.gradegrid.qty'+parseInt(x)).value=parseInt(document.gradegrid.elements[i].value);
   	}
   	//i++;
   	x=x+1;
   }
   if (document.gradegrid.elements[i].name == 'sku') {
//    alert("field name="+document.gradegrid.elements[i].name+"....Value="+document.gradegrid.elements[i].value+"....i="+i+"....x="+x+"....y="+y);
   	eval('document.gradegrid.sku'+parseInt(y)).value=parseInt(document.gradegrid.elements[i].value);
   y=y+1;
   }
   if (document.gradegrid.elements[i].name == 'grade') {
//    alert("field name="+document.gradegrid.elements[i].name+"....Value="+document.gradegrid.elements[i].value+"....i="+i+"....x="+x+"....y="+y);
   	eval('document.gradegrid.grade'+parseInt(z)).value=document.gradegrid.elements[i].value;
   z=z+1;
   }

   if (document.gradegrid.elements[i].name == 'cat' && document.gradegrid.elements[i].value != '') {
//    alert("field name="+document.gradegrid.elements[i].name+"....Value="+document.gradegrid.elements[i].value+"....i="+i+"....x="+x+"....y="+y);
   	eval('document.gradegrid.catalog'+parseInt(w)).value=document.gradegrid.elements[i].value;
   w=w+1;
   }

   if (document.gradegrid.elements[i].name == 'catNumber' && document.gradegrid.elements[i].value != '' ) {
//    alert("field name="+document.gradegrid.elements[i].name+"....Value="+document.gradegrid.elements[i].value+"....i="+i+"....x="+x+"....y="+y+"...p="+p);
    var name=eval('document.gradegrid.catalog'+parseInt(p));
   	eval('document.gradegrid.catalog'+parseInt(p)).value=document.gradegrid.elements[i].value;
   	//alert("updated field "+name);
   p=p+1;
   }


  }

//alert("done with readFields()");

}

function removeCellDups(tblId)
{
var table = document.getElementById(tblId);
//alert("Inside removeCellDups...table.rows.length="+table.rows.length);
 	for (var x=0; x<table.rows.length; x++) {
 	row=table.rows[x];
 	//alert("number of cells="+row.cells.length);
 	for (var y=0; y<row.cells.length; y++) {
		cell = table.rows[x].cells[y];
		if (cell.innerHTML.indexOf("|") > 0) {
	 		//alert("cell Value="+cell.innerHTML.split("|",1));
	 		cell.innerHTML=cell.innerHTML.split("|",1)+"</p>";
	 	}

	}
	}
}



function parseTable(tblId)
{
	//alert("inside parse table....");

dup = new Array(30);
j=0;

var table = document.getElementById(tblId);
  var rowLength=table.rows.length;
  var row = table.rows[2];
  var content="9999";
  if (row != null) {
  var cellLength = row.cells.length;
  }
 //alert("rowlength="+rowLength);
 dup[0] = new Array(2);

 dupsCheckedCounter = 0;


buildTable();

while (dupsCheckedCounter <= rowLength)
{
	checkDupsbyGrade();
	//checkDupsbySKU();
	dupsCheckedCounter++;
	rowLength=table.rows.length;
	//buildTable();
}
 dupsCheckedCounter = 0;
while (dupsCheckedCounter <= rowLength)
{
//	checkDupsbyGrade();
	checkDupsbySKU();
	dupsCheckedCounter++;
	rowLength=table.rows.length;
	//buildTable();
}


function checkDupsbyGrade() {

 for (var i=0; i<table.rows.length; i++) {


 	z=i+1;
 	for (var x=z; x<table.rows.length; x++) {

// 	alert("skui="+ table.rows[i].cells[2].innerHTML+"....skux="+table.rows[x].cells[2].innerHTML+"....gradei="+table.rows[i].cells[1].innerHTML+"...gradex="+table.rows[x].cells[1].innerHTML);
 		if ((table.rows[i].cells[2].innerHTML == table.rows[x].cells[2].innerHTML) && (table.rows[i].cells[1].innerHTML == table.rows[x].cells[1].innerHTML)) {
 	//		alert("DUP SKU/GRADE found!");
 			table.deleteRow(x);
 			i=9999;
 			x=9999;
 		}

 	}
}
}
function checkDupsbySKU() {
 for (var i=0; i<table.rows.length; i++) {


 	z=i+1;
 	for (var x=z; x<table.rows.length; x++) {

// 	alert("skui="+ table.rows[i].cells[2].innerHTML+"....skux="+table.rows[x].cells[2].innerHTML+"....gradei="+table.rows[i].cells[1].innerHTML+"...gradex="+table.rows[x].cells[1].innerHTML);
 		if ((table.rows[i].cells[2].innerHTML == table.rows[x].cells[2].innerHTML) ) {
 		if (table.rows[i].cells[1].innerHTML == '') {
 	//		alert("DUP SKU found...grade blank...deleteI!");
 			table.deleteRow(i);
 			i=9999;
 			x=9999;
 		}
 		if (table.rows [x] != null) {
 		if (table.rows[x].cells[1].innerHTML == '' && table.rows[x].cells[1].innerHTML != null ) {
 	//		alert("DUP SKU found...grade blank...deleteI!");
 			table.deleteRow(x);
 			i=9999;
 			x=9999;
 		}
 		}
 		}

 	}
}


}


function buildTable() {
rowLength=table.rows.length;
  for (var i=0; i<rowLength; i++) {
 // alert("i="+i);
  cell=table.rows[i].cells[2];
  cell2=table.rows[i].cells[1];

  if (cell !=null) {
  //alert("updating dup....j="+j+"....cell2="+cell2.innerHTML);
  //alert("updating sku....j="+j+"....cell="+cell.innerHTML);
  dup[j] = new Array(4);
  dup[j][0]=cell.innerHTML;
  dup[j][1]='N';
  dup[j][2]=cell2.innerHTML;
  dup[j][3]=i;
 // alert("DONE updating dup....i="+i);
  j++;

  cellValue=table.rows[i].cells[2].value;
 // alert("i="+i+"...cell value="+cell.innerHTML);
  }


 }

}
}


function callDetail(parent,hook)
{
var value = "<%=temp%>";
//alert("inside call detail.....parent="+parent);
 //alert("XMLModule="+XmlModule.value);
parentProduct=parent;
var detailURL='ProductDetail.jhtml?XMLArg='+value+'&hook='+hook+'&MMNumber='+parentProduct+'&catNumber=';
//alert("Inside Calldetail.....detailURL="+detailURL);

window.location=detailURL;
}

function callDetailPage()
 {


 //alert("inside call detailPage.....parenProductt="+parentProduct);

 //var pageURL="ProductDetail.jhtml?XMLArg="+XmlModule.value+"&MMNumber=parentProduct&catNumber="
 //&amp;catNumber=<xsl:value-of select="."/></xsl:attribute>
 //alert("PageUrl="+pageURL);


 }

function findDrawings(matNbr)
{
// alert("Material Number="+matNbr);
// window.location.reload(true);
var sURL="dispDrawing.jhtml?matNbr="+matNbr;
//alert("sURL="+sURL);
//alert("before Window open....");
myWin=window.open(sURL,'','left=500,top=500,width=225,height=200,status=1');
myWin.focus();


alert("AFTER Window open....myRef="+myRef);

}

function showDrawings(matNbr)
{
//var sURL = window.location.href;
//alert("sURL="+sURL);
location.reload(true)

 window.drawingTable.style.visible = 'visible';
}


function deleteDuplicateColumn(tblId)
{
 //alert("Inside DeleteDuplicate....");
  var table = document.getElementById(tblId);
  var rowLength=table.rows.length;
  var row = table.rows[2];
  var content="9999";
  var ansiFound=0;
  var isoFound =0;
  var ansiDupLoc=0;
  var idoDupLoc=0;
  if (row != null) {
  var cellLength = row.cells.length;
  }

  for (var i=0; i<cellLength; i++) {
  cell=table.rows[1].cells[i];
  if (cell != null) {
  if (cell.innerHTML.length !=0 && cell.innerHTML != null )
  {

 	 content = cell.innerHTML;
 	 if (content.search("ANSI catalog number") > -1) {
 	 	//alert("ANSI CATALOG NUMBER FOUND......content="+content);
 	 	ansiFound=ansiFound+1;
 	 	if (ansiFound > 1) {
 	 		//alert("removing duplicate ANSI column");

			 	for (var x=0; x<table.rows.length; x++) {
			 	oneRow = table.rows[x]
    				oneRow.deleteCell(i);
			 	}




 	 	}


  }
   	 if (content.search("ISO catalog number") > -1) {
  	 	//alert("ISO CATALOG NUMBER FOUND......content="+content);
   	 	isoFound=isoFound+1;
   	 	if (isoFound > 1) {
			 	for (var x=0; x<table.rows.length; x++) {
			 	oneRow = table.rows[x]
    				oneRow.deleteCell(i);
			 	}


		}

    }

}
 }
}


}
$(document).ready(function(){
	//CLEAN UP HTML ENTITIES
	$("td, #catArt, #prodDispCont").each(function(){
		getTd = $(this).html();
		cellCont = getTd.replace(/&lt;/g,"<");
		cellCont = cellCont.replace(/&gt;/g,">");
		$(this).html(cellCont);
	});
	//Color formatting for 'KMT_Milling_FeedChart' also see pm_preview_detail.xsl
	
	$("#millingFeedChart tr:gt(1) td:nth-child(4),#millingFeedChart tr:gt(1) td:nth-child(7),#millingFeedChart tr:gt(1) td:nth-child(10),#millingFeedChart tr:gt(1) td:nth-child(13),#millingFeedChart tr:gt(1) td:nth-child(16)").css({
		'background':'#BFC5DF'
	})
	$("#millingFeedChart tr:gt(1) td:nth-child(3),#millingFeedChart tr:gt(1) td:nth-child(6),#millingFeedChart tr:gt(1) td:nth-child(9),#millingFeedChart tr:gt(1) td:nth-child(12),#millingFeedChart tr:gt(1) td:nth-child(15)").css({
		'background':'#E0E4F0'
	});
	$("#millingFeedChart").before($("#millingInsDesc"));
	$("#millingInsDesc").css("display","block");
	$("#millingInsDesc tr td:nth-child(3)").css("background","#BFC5DF");
	$("#millingInsDesc tr td:nth-child(2)").css("background","#E0E4F0");
		
	$("td").each(function(){  ///// FIX IE BORDER RENDERING OF EMPTY TD CELLS
		if ($(this).text() == " " || $(this).text() == ""){
			$(this).prepend("&nbsp;");
		}
		//len = $(this).html().length;
		//$(this).prepend(len);
	});
});
