//	0	Route and Retain
//	1	Scoring
//	2	Material
//	3	Finished Thickness
//	4	Surface Finish
//	5	Gold Fingers
//	6	Outer Layer Finish Copper
//	7	Inner Copper
//	8	Number of Holes Per Board
//	9	Minimum Hole Size
//	10	Minimum Trace (Outer layer)
//	11	Minimum Space (Outer layer)
//	12	Minimum Trace (Inner layer)
//	13	Minimum Space (Inner layer)
//	14	Solder Mask
//	15	Solder Mask Sides
//	16	Solder Mask Color
//	17	Solder Mask Type
//	18	Solder Mask Finish
//	19	Silk Screen
//	20	Silk Screen Sides
//	21	Silk Screen Color
//	22	Internal Slots
//	23	Counter Sink
//	24	Counter Bore
//	25	Edge Plating
//	26	Controlled Impedance
//	27	Controlled Dielectric
//	28	ITAR?
//  29  Are Your Boards in Array
//  30  Layers			/*Added This 30-31-32 three by Ritun on 4 th June 2009*/
//  31 Part Number
//  32 Revision
var quoteHelp = new Array("<b>Route and Retain</b>: (Also known as  Tab-rout) Tabs routed between each PCB for break-a-way. Unless otherwise noted, we use 100 mil (0.1\"\) spacing between boards",
"<b>Scoring</b>: V-groove cut into both the top and bottom of the boards for break-away", 
"<b>Material Type</b>: Different types of laminate available for PCB fabrication", 
"<b>Finished Thickness</b>: The total thickness of the board including all plating and final finishes", 
"<b>Surface Finish</b>: HASL: also called Leaded Solder: 63/37 Tin/lead solder application.\<br\>Lead Free HASL: also called Lead Free Solder: Tin/copper solder application.\<br\>Hard Gold: also called Deep Gold: Electrolytic gold plating finish.\<br\>Immersion White Tin: 1-5 microinches of white tin.\<br\>Immersion Silver: 12-15 microinches of silver.\<br\>Immersion Gold: 3-10 microinches of gold over electroless nickel (ENIG).\<br\>OSP: Organic Surface Protectant.\<br\>Flash Gold: 3 to 8 microinches of electrolytic gold.\<br\>Soft Gold: 99% pure, 30-100 microinches of gold (Wire Bondable Gold).\<br\>Carbon Ink: Conductive carbon paste selectively applied.", 
"<b>Gold Fingers</b>: Select whether your board has gold fingers. In the Web PCB promotion, we always bevel the gold fingers.Our standard bevel is 30 degrees X .020\"\  +/- .005\"\.",  "<b>Outer Layer Finish Copper</b>: Number of ounces of copper per square foot on outer layers. Specify this as \"finished\" copper weight.  1 oz is most commonly used weight.Note that when you choose 1oz finished copper from the list it typically means we will start with 0.5 oz copper foil and plate up 1 oz, to end up with about 1.5 oz actual finished copper.",
"<b>Inner Copper</b>: Copper thickness required on inner layer cores, typically 0.5 oz.", 
"<b>Number of Holes Per Board</b>: This is important because a board with too much hole density is complex and takes a lot of resources on the drilling machine. If your board has more than 80 holes/square inch on the average, you may not get an automatic quote on Web PCBS promotion, and a sales person may need to get involved.", 
"<b>Minimum Hole Size</b>: Smallest finished hole size in inches.", 
"<b>Minimum Trace (Outer layer)</b>: Minimum trace width and spacing, expressed in inches.", 
"<b>Minimum Space (Outer layer)</b>: Minimum trace width and spacing, expressed in inches.", 
"<b>Minimum Trace (Inner layer)</b>: Minimum trace width and spacing, expressed in inches.", 
"<b>Minimum Space (Inner layer)</b>: Minimum trace width and spacing, expressed in inches.", 
"<b>Solder Mask</b>: LPI: Liquid Photo Imageable mask ", 
"<b>Solder Mask Sides</b>: How many sides to mask.", 
"<b>Solder Mask Color</b>: Color of mask used to cover the PCB", 
"<b>Solder Mask Type</b>: For Web PCBs we only offer LPI- Liquid Photo-Imageable mask. All other kinds of solder mask (e.g. Dry Film) are now increasingly becoming obsolete. ", 
"<b>Solder Mask Finish</b>: Typically, soldermask has a Semi-gloss finish; but Matte finish can be done for an extra charge.", 
"<b>Silk Screen</b>: Reference characters to designate part locations ", 
"<b>Silk Screen Sides</b>: Specify whether your design has Legend on Top or Bottom or Both sides?", 
"<b>Silk Screen Color</b>: Color of ink printed on the board typically white.", 
"<b>Internal Slots/ Internal Cutouts</b>: Elongated holes used for component placement. These can be plated with copper or non-plated. In Web PCB product we allow up to 10 slots/cutouts per board.", 
"<b>Counter Sink</b>: A beveled hole opening allowing a screw head to fit flush with the surface.", 
"<b>Counter Bore</b>: A larger hole concentric with a smaller hole at a defined depth.", 
"<b>Edge Plating</b>: This is a special requirement where the edges of the board are plated with copper.", 
"<b>Controlled Impedance</b>: Specifying the cross-sectional area of a trace(s) and dielectric spacing to achieve a specific resistance Choose the impedance tolerance 5% or 10%. 10% means \"10% or more\" If less than 5% choose \"Other\"",
"<b>Controlled Dielectric</b>: Specified thickness of the insulating layers between a signal and power or ground planes.", 
"<b>ITAR?</b>: International Traffic in Arms Regulations which govern the export of weapons and weapons-related technology from the United States. Please indicate whether your board design data is ITAR - controlled or not.For more information, visit:<a target='_blank'  href='http://en.wikipedia.org/wiki/International_Traffic_in_Arms_Regulations'>International  Traffic in Arms Regulations</a>", 
"<b>Arrays</b>:In rare cases, a PCB designer will put together multiple images of the same PCB together into one image. Such grouping of circuits is called an Array.  This may be done to facilitate easy assembly of the PCBs, etc.<br>The individual boards may be separated by tabs( made using Route & Retain OR Scoring processes). For an Array, you must tell us overall array dimensions X and Y, and also number of boards in the array. You must also specify the dimensions of the individual PCB (which combined together make up the array).<br>Note that for quoting, you must specify how many individual boards you need (NOT how many arrays). Example: Say each array has 5 boards and you need 4 arrays, then during quoting you must specify a quantity of 20.","<b>Layers</b>:How many layers does your circuit board have?<br>In Web PCBs, we can show you online prices up to 14 layers. Offline, our sales people can get you prices for up to 26 layer boards.","<b>Part Number</b>:You must specify your internal identification number (Part#) for the board. Specifying a Revision is recommended.","<b>Revision</b>:You must specify your internal identification number (Part#) for the board. Specifying a Revision is recommended.");
//

/*
for(i=25;i<quoteHelp.length;i++){
	alert(quoteHelp[i]);

}*/

var isFreeze = false;
function showQuoteHelp(intValue){
	var div_QH = document.getElementById("div_QH");
	if(!isFreeze){
		//alert(quoteHelp[intValue]);
		div_QH.innerHTML = quoteHelp[intValue];
	}
}

function hideQuoteHelp(){
	var div_QH = document.getElementById("div_QH");
	if(!isFreeze){
		div_QH.innerHTML = '';
	}
}
function doNothing(){}
function divOpenClose(divId,intType){	//intType 0=open, 1=Close
	//alert(divId+'||'+intType);
	var objDiv = document.getElementById(divId);
	//alert(objDiv.id)
	if(intType==0){
		objDiv.style.display="inline";
		
		
	}else{
		objDiv.style.display="none";	
		}
		
}
function freezeQuoteHelp(){
	isFreeze = true;
	var qhFreeze = document.getElementById('qhUnfreeze');
  		qhFreeze.style.display = "";
}
function unFreezeQuoteHelp(){
	isFreeze = false;
	var qhFreeze = document.getElementById('qhUnfreeze');
  		qhFreeze.style.display = "none";
}
function popUp(theURL,name,w,h,t,m,st,sc,r,X,Y) {

	if ( X == -1) {
		X = screen.availWidth - w ;
		X = X/2;
	}
	if (Y == -1) {
		Y = screen.availHeight -h ;
		Y = Y/2;
	}
	p="width=" + w + ",height=" + h + ",toolbar=" + t + ",menubar=" + m + ",status=" + st + ",scrollbars=" + sc + ",resizable=" + r + "directories=0,screenX=" + X + ",screenY=" + Y + ",left=" + X + ",top=" + Y + ",header=0";
	window.open(theURL,name,p);
}
function fnFindTesting(){
	var layerid=document.getElementById("layerid").value;
	var selPcbTestingYes = document.getElementById("selPcbTestingYes");	
	var selPcbTestingNo = document.getElementById("selPcbTestingNo");		
	if(layerid > 6){
		selPcbTestingYes.checked = true;
		selPcbTestingNo.disabled = true;
	}else{
	
		selPcbTestingYes.disabled = false;
		selPcbTestingNo.disabled= false;	
	}

}
function onloadarray()
{
	var arr_yes=document.getElementById("array_yes");
	var array_no=document.getElementById("array_no");
	if(arr_yes.checked)
	{
		showArrayDiv(1);
	}
	else{
	showArrayDiv(0);
	}
}
function onloadSolderMask()
{
	var solderYes=document.getElementById("24_344_value_91");
	var solderNo=document.getElementById("24_344_value_92");
	if(solderYes.checked)
	{
		divOpenClose('divSolder',0);
	}
	else
	{
		divOpenClose('divSolder',1);
	}
}
function onloadSilkscreen()
{
	var silkscreenYes=document.getElementById("24_350_value_94");
	var silkscreenNo=document.getElementById("24_350_value_95");
	if(silkscreenYes.checked)
	{
		divOpenClose('divSilk',0);
	}
	else
	{
		divOpenClose('divSilk',1);
	}
}

function chk()
{
	//alert("156");
	var partno = document.getElementById("partno_id").value;
	var partrev=document.getElementById("partrev_id").value;
	var array_yes=document.getElementById("array_yes");
	var array_no=document.getElementById("array_no");
	//document.print(arrayYesNo);
	var xdim=document.getElementById("xdim_id");
	var ydim=document.getElementById("ydim_id");
	var noofarray=document.getElementById("noofarray");
	var xdim_array=document.getElementById("xdim_array");
	var ydim_array=document.getElementById("ydim_array");
	
	var txtQty1=document.getElementById("txtQty1_id").value;
	var txtQty2=document.getElementById("txtQty2_id").value;
	var txtQty3=document.getElementById("txtQty3_id").value;
	var txtQty4=document.getElementById("txtQty4_id").value;
	var solderMaskYes= document.getElementById("24_344_value_91");
	var silkscreenYes=document.getElementById("24_350_value_94");
	var objNoHolesPerBoard = document.getElementById("ID_24_1222_value_text"); 
	var layerid=document.getElementById("layerid");
	
	var itarYes = document.getElementById("24_1351_value_133");
	var itarNo = document.getElementById("24_1351_value_132");
	//24_283_value_66
	//24_170_value_52
	var objRouteRain = document.getElementById("24_283_value_65");			//Route and Retain Yes
	var objScoringYes = document.getElementById("24_170_value_51");			//Scoring Yes
	
	
	//document.write(partno);
	if(partno=="")
	{
	alert("Enter Value For Part Number");
	document.getElementById("partno_id").focus();
	return false;
	}
	if(isBlank(partno))
	{
		alert("Enter Value For Part Number");
		document.getElementById("partno_id").focus();
		return false;
	}
	
	if(array_yes.checked)
	{
		var larg_indiv=Math.max(xdim.value,ydim.value);
		var larg_array=Math.max(xdim_array.value,ydim_array.value);
		var small_indiv=Math.min(xdim.value,ydim.value);
		var small_array=Math.min(xdim_array.value,ydim_array.value);
		//alert('larg_indiv = '+larg_indiv +'  ||  larg_array = '+larg_array);
		//alert('small_indiv = '+small_indiv +'  ||  small_array = '+small_array);
		if(larg_indiv>larg_array)
		{
			alert("Your individual board size does not fit the Array! Please check the dimensions of your Board and/or Array.");			
			return false;
		}
		if(small_indiv>small_array)
		{
			alert("Your individual board size does not fit the Array! Please check the dimensions of your Board and/or Array.");			
			return false;
		}
	}
	
	
	if(layerid.options[layerid.selectedIndex].value=="0"){
		alert("Please choose the number of layers in your PCB.");
		layerid.focus();
		return false;
	}
	if(layerid.options[layerid.selectedIndex].value>"2"){
		var MintraceInnerLayer=document.getElementById("24_689_value");
		var MinspaceInnerLayer=document.getElementById("24_678_value");
		if(MintraceInnerLayer.value=="730")
		{
		alert("For More than 2 Layered Boards,Inner Layer Trace cannot be 'Not Applicable'");
		MintraceInnerLayer.focus();
		return false;
		}
		if(MinspaceInnerLayer.value=="732")
		{
		alert("For More than 2 Layered Boards,Inner Layer Space cannot be 'Not Applicable'");
		MinspaceInnerLayer.focus();
		return false;
		}//just blocked by me
	} 
	
	
/*	if(isBlank(partno))
	{
		return false;
	}*/
	/*if(partrev=="")
	{
	alert("Enter Value For Revision");
	document.getElementById("partrev_id").focus();
	return false;
	}*/
	var layerID = layerid.options[layerid.selectedIndex].value;
	var xdimFloat = 0;
	var ydimFloat = 0;
	var xdimBoardFloat = 16;
	var ydimBoardFloat = 22;
	var boardArea = 0;
	var boardAreaValue = 0;
	if(array_yes.checked){	
		xdimFloat = parseFloat(xdim_array.value);
		ydimFloat = parseFloat(ydim_array.value);
	}else{
		xdimFloat = parseFloat(xdim.value);
		ydimFloat = parseFloat(ydim.value);
	}
	if(layerID<3){
		boardAreaValue = 16.2*22.2;
		xdimBoardFloat = 16.2;
		ydimBoardFloat = 22.2;
		boardArea = isFitInBoarArea(xdimFloat,ydimFloat,16.2,22.2);
	}else{
		boardAreaValue = 16*22;
		xdimBoardFloat = 16;
		ydimBoardFloat = 22;
		boardArea = isFitInBoarArea(xdimFloat,ydimFloat,16,22);
	}
	if(!boardArea){
		alert('Single Board (or ARRAY) is too big');
		return false;
	}
	
	if(array_yes.checked){	
		if(noofarray.value == "" || noofarray.value == "0"){
			alert("Enter Value For Number of boards per array");
			noofarray.focus();
			return false;
		}else{
			if(isNaN(noofarray.value)){
				alert("Enter Numerical Value For No Of board per array");
				noofarray.focus();
				return false;
			}		
			if(isBlank(noofarray.value))
			{
				alert("Enter Value For Number of boards per array");
				noofarray.focus();
				return false;
			}
			if(isFloat(noofarray.value))
			{
				alert("Please Enter a Valid Number of boards per array");
				noofarray.focus();
				return false;
			}
			
		}			// end of if(noofarray.value == "" || noofarray.value == "0")
		if(xdim_array.value == ""){
			alert("Enter Value For array x dimension");
			xdim_array.focus();
			return false;
		}else{
			if(isNaN(xdim_array.value))
			{
				alert("Enter Numerical Value For  array x dimension");
				xdim_array.focus();
				return false;
			}			
		}			// end of if(xdim_array.value == "")
		if(ydim_array.value == ""){
			alert("Enter Value For  array y dimension");
			ydim_array.focus();
			return false;
		}else{
			if(isNaN(ydim_array.value))
			{
				alert("Enter Numerical Value  array y dimension");
				ydim_array.focus();
				return false;
			}	
		}			// end of if(ydim_array.value == "")
		if((ydim_array.value * xdim_array.value) > boardAreaValue)
		{
			alert("Array Area should be less than "+boardAreaValue+" sq. inches");
			ydim_array.value="";
			xdim_array.value="";
			xdim_array.focus();
			return false;
		}
	
		if(!objRouteRain.checked && !objScoringYes.checked){
			alert("Choose Route and Retain or Scoring if your PCBs are in Arrays");				
			objRouteRain.focus();
			return false;
		}		
	}			// if(array_yes.checked)
	
	if(xdim.value=="")
	{
		alert("Enter Value For X-Dimension");
		xdim.focus();
		return false;
	}
	if(isNaN(xdim.value))
	{
		alert("Enter Numerical Value For X-Dimension");
		xdim.focus();
		return false;
	}
	if(ydim.value=="")
	{
		alert("Enter Value For Y-Dimension");
		ydim.focus();
		return false;
	}
	if(isNaN(ydim.value))
	{
		alert("Enter Numerical Value For Y-Dimension");
		ydim.focus();
		return false;
	}
	if(xdim.value < 0.5 || xdim.value > ydimBoardFloat)
	{
	alert("Please enter a proper X dimension between 0.5 and "+ydimBoardFloat+"");
	xdim.value="";
	xdim.focus();
	return false;
	}
	
	if(ydim.value < 0.5 || ydim.value > ydimBoardFloat)
	{
	alert("Please enter a proper Y dimension between 0.5 and "+ydimBoardFloat+"");
	ydim.value="";
	ydim.focus();
	return false;
	}
		
	var minXY=Math.min(xdimFloat,ydimFloat);
	var maxXY=Math.max(xdimFloat,ydimFloat);
	if(!(minXY<=xdimBoardFloat) && !(maxXY<=ydimBoardFloat))
	{
		alert("Please enter a proper X and Y dimension (Minimum(X,Y)<= "+xdimBoardFloat+" and Maximum(X,Y)<= "+ydimBoardFloat+")");
		xdim.value="";
		ydim.value="";
		xdim.focus();
		return false;
	}
	if((ydim.value * xdim.value) > boardAreaValue)
	{
	
		popUp('webAlert.jsp','Alert',350,150,0,0,0,-1,-1,-1,-1);
		ydim.value="";
		xdim.value="";
		xdim.focus();
		return false;
	}
	if(objNoHolesPerBoard.value==''){
		alert("Please enter a number for Number of Holes Per Board. (if none , enter 0)");
		objNoHolesPerBoard.focus();
		return false;		
	}else if(!isInteger(objNoHolesPerBoard.value)){
		alert("Please enter a number for Number of Holes Per Board. (if none , enter 0)");
		objNoHolesPerBoard.focus();
		return false;
	}		
	if(solderMaskYes.checked)
	{
		var SolderMaskSides=document.getElementById("24_365_value");
		var SolderMaskcolor=document.getElementById("24_298_value");
		if(SolderMaskSides.value=="366")
		{
		alert("For Solder Mask 'Yes' Solder Mask Sides cannot be 'Not Applicable'");
		SolderMaskSides.focus();
		return false;
		}	
		if(SolderMaskcolor.value=="372")
		{
		alert("For Solder Mask 'Yes' Solder Mask Color cannot be 'Not Applicable'");
		SolderMaskcolor.focus();
		return false;
		}
		
	}
	if(silkscreenYes.checked)	
	{
		var silkscreenSide=document.getElementById("24_353_value");
		var silkscreenColor=document.getElementById("24_308_value");
		if(silkscreenSide.value=="897")
		{
		alert("For Silk Screen 'Yes' Silk Screen Sides cannot be 'None'");
		silkscreenSide.focus();
		return false;
		}
		if(silkscreenColor.value=="371")
		{
		alert("For Silk Screen 'Yes' Silk Screen Color cannot be 'Not Applicable'");
		silkscreenColor.focus();
		return false;
		}
		
	}
	
	if(!itarYes.checked && !itarNo.checked){
		alert("Please choose whether your board is restricted under ITAR or not.\n\Typically, most PCBs are not ITAR, and you would choose \"No\".\n\ For details see http://en.wikipedia.org/wiki/ITAR");
		itarYes.focus();
		return false;
	}
	
	if(isNaN(txtQty1))
	{
		alert("Enter Numerical Value For Quantities");
		document.getElementById("txtQty1_id").focus();
		return false;
	}
	if(isBlank(txtQty1) && isBlank(txtQty2) && isBlank(txtQty3) && isBlank(txtQty4))
	{
		alert("Enter Value For Quantities");
		document.getElementById("txtQty1_id").focus();
		return false;
	}
	if((txtQty1=="0")|| (txtQty2=="0")||(txtQty3=="0")||(txtQty4=="0"))
		{
			alert("Enter Value For Quantities");
			return false;
		}
	if(isFloat(txtQty1)||isFloat(txtQty2)|| isFloat(txtQty3)||isFloat(txtQty4))
	{
	alert("Please Enter a Valid Number For Quantities");
	//document.getElementById("txtQty1_id").focus();
	return false;
	}

	if(isNaN(txtQty2))
	{
		alert("Enter Numerical Value For Quantities");
		document.getElementById("txtQty2_id").focus();
		return false;
	}
	/*if(txtQty2=="")
	{
		alert("Enter Value For Quantities:Text2");
		document.getElementById("txtQty2_id").focus();
		return false;
	}*/
	if(isNaN(txtQty3))
	{
		alert("Enter Numerical Value For Quantities");
		document.getElementById("txtQty3_id").focus();
		return false;
	}
	/*if(txtQty3=="")
	{
		alert("Enter Value For Quantities:Text3");
		document.getElementById("txtQty3_id").focus();
		return false;
	}*/
	if(isNaN(txtQty4))
	{
		alert("Enter Numerical Value For Quantities");
		document.getElementById("txtQty4_id").focus();
		return false;
	}
/*	if(txtQty4=="")
	{
		alert("Enter Value For Quantities:Text4");
		document.getElementById("txtQty4_id").focus();
		return false;
	}*/
	if(array_yes.checked)
	{
		//autofill();
		if(isMultiple(txtQty1)|| isMultiple(txtQty2)|| isMultiple(txtQty3)|| isMultiple(txtQty4))
		{
		alert("If your boards are in an Array, then Quantity of Boards for quote should be in MULTIPLES of the number of boards per array.E.g.,if you have 4 boards per array, then we can only quote you in multiples of 4 (4, 8, 12, 20, 40..etc.)");
		return false;
		}
	}
}
var intCountClick = 0;
function doNothing(){}
function fnShowdiv(prodType){	
	if(prodType== null || prodType == "") {return false;}
	divPCB = document.getElementById("divPCB");
	divAssembly = document.getElementById("divAssembly");	
	if(prodType==1){				// Customer Selected PCB		
		if(intCountClick == 0){
			divAssembly.style.display="";
			intCountClick++;
		}else{
			divAssembly.style.display="none";
			intCountClick =0;
		}		
	}else if(prodType==2){			// Customer Selected Assembly
		if(intCountClick == 0){
			divPCB.style.display="";
			intCountClick++;
		}else{
			divPCB.style.display="none";
			intCountClick =0;
		}
	}
}
function autofill()
{
	
	var array_yes=document.getElementById("array_yes");
	var array_no=document.getElementById("array_no");
	var noofarray=document.getElementById("noofarray");
	if(array_yes.checked)
	{
	//document.getElementById("txtQty1_id").selectedValue=noofarray.value;
	document.getElementById("txtQty1_id").value=(noofarray.value)*1;
	document.getElementById("txtQty2_id").value=(noofarray.value)*3;
	document.getElementById("txtQty3_id").value=(noofarray.value)*5;
	document.getElementById("txtQty4_id").value=(noofarray.value)*10;
	//alert(""+document.getElementById("txtQty1_id").value);
	}
	if(array_no.checked)
	{
	document.getElementById("txtQty1_id").value=5;
	document.getElementById("txtQty2_id").value=10;
	document.getElementById("txtQty3_id").value=15;
	document.getElementById("txtQty4_id").value=20;
	
	}

}
function isMultiple(value)
{
	var brd=document.getElementById("noofarray").value;
	if((value%brd)!=0)
	{
		return true;
	}
	else
	{
		return false;
	}
}
function fn_dropdownSelect()
{
	document.getElementById("24_365_value").selectedIndex=3;
	document.getElementById("24_298_value").selectedIndex=0;
}
function fn_dropDownSelect()
{
	document.getElementById("24_353_value").selectedIndex=2;
	document.getElementById("24_308_value").selectedIndex=0;
}

function isFloat(value) {
	if (/\./.test(value)) {
		return true;
	} else {
		return false;
	}
}



function isNumeric(str) {
	return /^\d$/.match(str);
}

function isBlank(val){
	if(val==null){return true;}
	for(var i=0;i<val.length;i++) {
		if ((val.charAt(i)!=' ')&&(val.charAt(i)!="\t")&&(val.charAt(i)!="\n")&&(val.charAt(i)!="\r")){return false;}
	}
	return true;
}

function isDigit(num) {
	if (num.length>1){return false;}
	var string="1234567890";
	if (string.indexOf(num)!=-1){return true;}
	return false;
}
//-------------------------------------------------------------------
// isInteger(value)
//   Returns true if value contains all digits
//-------------------------------------------------------------------
function isInteger(val){
	if (isBlank(val)){return false;}
	for(var i=0;i<val.length;i++){
		if(!isDigit(val.charAt(i))){return false;}
		}
	return true;
}

function showArrayDiv(intType){
	var arraydiv  =  document.getElementById("arraydiv");
	var divQty  =  document.getElementById("divQty");
	if(intType==1){
		arraydiv.style.display="";
		divQty.innerHTML = "Quantity of <i>Individual</i> Boards (Not Arrays!) ";
	}else if(intType==0){
		arraydiv.style.display="none";
		divQty.innerHTML = "Quantity of <i>Individual</i> Boards ";
	}
}

function fn_OnChangeLayer(){
	var layerid = document.getElementById("layerid").value;
	var divMT_In_L  =  document.getElementById("divMT_In_L");
	var divMT_In_V  =  document.getElementById("divMT_In_V");
	var divMS_In_L  =  document.getElementById("divMS_In_L");
	var divMS_In_V  =  document.getElementById("divMS_In_V");
	var tdMT_Ot_L  =  document.getElementById("tdMT_Ot_L");
	var tdMS_Ot_L  =  document.getElementById("tdMS_Ot_L");
	var div_ICu_L  =  document.getElementById("div_ICu_L");
	var div_ICu_V  =  document.getElementById("div_ICu_V");
	if(layerid==2 || layerid==1){
		div_ICu_L.style.display="none";
		div_ICu_V.style.display="none";
	}else{
		div_ICu_L.style.display="";
		div_ICu_V.style.display="";
	}
	if(layerid>2){
		divMT_In_L.style.display="";
		divMT_In_V.style.display="";
		divMS_In_L.style.display="";
		divMS_In_V.style.display="";
		tdMT_Ot_L.innerHTML="Minimum Trace<br>(Outer layer)";
		tdMS_Ot_L.innerHTML="Minimum Space<br>(Outer layer)";
		
	
	}else{
		divMT_In_L.style.display="none";
		divMT_In_V.style.display="none";
		divMS_In_L.style.display="none";
		divMS_In_V.style.display="none";
		tdMT_Ot_L.innerHTML="Minimum Trace";
		tdMS_Ot_L.innerHTML="Minimum Space";
	}

}
function minspaceChange()
{
	document.getElementById("24_689_value").selectedIndex=6;
	document.getElementById("24_678_value").selectedIndex=6;
}


function isFitInBoarArea(xDim, yDim, boardX, boardY){
	var maxRequiredSide = 0;
	var maxBoardSide = 0;	
	maxRequiredSide = Math.max(xDim,boardX);
	maxBoardSide = Math.max(boardX,boardY);
	/*alert('Math.max(xDim,yDim) = '+Math.max(xDim,yDim));
	alert('Math.max(boardX,boardY) = '+Math.max(boardX,boardY));
	alert('Math.min(xDim,yDim) = '+Math.min(xDim,yDim));
	alert('Math.min(boardX,boardY) = '+Math.min(boardX,boardY));*/
	if(Math.max(xDim,yDim)> Math.max(boardX,boardY)){		
		return false;	
	}
	if(Math.min(xDim,yDim)> Math.min(boardX,boardY)){		
		return false;	
	}		
	return true;
}