﻿// JScript File

String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, ''); }
var AppCol = "";  // indicates App1 or App2
var resultsColumn = ((compMode)&&(AppCol == ""))? "CompMode" : AppCol;
var colName; // either blank, C2, or C3
var colorCode;
var List;
var agreed = false;
var compMode = false;
var compInit = false;
var threeSelected = false;
var changeOutputUnits = false;
var tabIns,
    tabOuts,
    App2TabIns,
    App2TabOuts,
    CompModeTabOuts;
    
    var waitColumnName = "";

var
  busy = false,
  needCalc = false,
  calcTime = 0,

  App2busy = false,
  App2needCalc = false,
  App2calcTime = 0;

var tmpCol = "";
var Language = null;
var saftyMessage = "";
    
    
function element(id)
{
  if (document.getElementById != null)
	return document.getElementById(id) ;

  if (document.all != null)  // for old IE
	return document.all[id] ;

  if (document.layers != null)  // for old NS
	return document.layers[id] ;

  return null ;  // give up
}
function setCol(col)
{
    tmpCol = col;
    waitColumn = col;
    if (tmpCol == "App2")
        resultsColumn = "App2"
    else if (compMode)
        resultsColumn = "CompMode";
    else
        resultsColumn = "";
        
    //alert("In setCol, waitColumnName = " + waitColumnName);
    //alert("In setCol, resultsColumn = " + resultsColumn);
    
        
}

function PowerChange()
{
    changeOutputUnits = true;
    Electric();
}

function metricImperial() {

    // filter metric only units out of imperial list and vise versa
//    if (element('rbImperialGrippers').checked) {

//        //element('trGRA').style.visibility = "hidden";
//        element("trGRA").style.display = "none";
//        element("cbGRA").checked = false; // when springs are ready, change to true.
//    } else {
//        
//        element('trGRA').style.visibility = "visible";
//        element("trGRA").style.display = "";
//        element("cbGRA").checked = true; // when springs are ready, change to true.
//    }
    
    changeOutputUnits = true;
    twoJaw();

   
    

    
    
}

function metricSetDefaultInputs()
{

        element('rbMetricInputs').click();
        if (compMode)
        {
            element('App2rbMetricInputs').click();
        }



}



function imperialSetDefaultInputs()
{
        element('rbImperialInputs').click();
        if (compMode)
        {
            element('App2rbImperialInputs').click();
        }


    }



    function bothSetDefaultInputs() {

    }


function setActiveStyleSheet(title) 
{ 
	var i, a;
	for(i=0; (a = document.getElementsByTagName("link")[i]); i++) 
	{
		if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) 
		{
			a.disabled = true;
			if (a.getAttribute("title") == title)    
				a.disabled = false;
		}
	} 
	return;
}

// function iframeText returns innerHTML of iframe element
// parameter: id of the iframe you want the innerHTML from
// this should work for both IE and FireFox.
function iframeText(id)
{
	var sText;

	if(window.frames[id])
	{
		sText = window.frames[id].document.body.innerHTML;
	}
	else
	{
		sText = document.getElementById(id).contentDocument.body.innerHTML;
	}
	
	return sText;
}

function PageLoad()
{
    
	var divLeftCol = element("divLeftCol");
	var divCenterCol = element("divCenterCol");
	var divRightCol = element("divRightCol");
	var divHidden = element("divHidden");
	
	var txtDisclaimer = element("hidDisclaimer").value;
	
	if (!agreed)
	{ 
		if (confirm(txtDisclaimer))
		{
			agreed = true ;
		}
		else
		{
			location = "http://www.phdinc.com/" ;
		return ;
		}
	}
	
	divHidden.innerHTML     = iframeText("ifrHidden");
	divLeftCol.innerHTML    = iframeText("ifrLeftCol");
	divCenterCol.innerHTML  = iframeText("ifrCenterCol");
	divRightCol.innerHTML = iframeText("ifrRightCol");
	
	SetupDivPop("divUCPop") ;

	divClick('Horizontal'); // initialize to Horizontal
	divClick3('divHorizontal', ''); // initialize to Horizontal
	divClick3('App2divHorizontal', 'App2'); // initialize to Horizontal


	// filter metric only units out of imperial list and vise versa
	if (element('rbImperialGrippers').checked) {
	    element("trGRA").style.display = "none";
	    element("cbGRA").checked = false; // when springs are ready, change to true.
	} else {
	    element("trGRA").style.display = "";
	    element("cbGRA").checked = true; // when springs are ready, change to true.
	}
	
	inputUCSetup();
	setupSpringAssist('');
	//Angular(); // default to angular
	Parallel(); // defulat to parallel
	
	InputChanged(new DummyEvent("rbMetricInputs"));
	
	detailsUCSetup("", ""); 
	detailsUCSetup("","C2"); 
	detailsUCSetup("","C3"); 
	
	element("tdBasePart").innerHTML = element("hidGripper").value;
	element("App2tdBasePart").innerHTML = element("hidGripper").value;

	element("tdConfigid").innerHTML = element("hidCADQUOTE").value;
	element("App2tdConfigid").innerHTML = element("hidCADQUOTE").value;

	element("lblConfig").innerHTML = element("hidConfigNow").value;
	element("App2lblConfig").innerHTML = element("hidConfigNow").value;
	element("lblConfigC2").innerHTML = element("hidConfigNow").value;
	element("App2lblConfigC2").innerHTML = element("hidConfigNow").value;
	element("lblConfigC3").innerHTML = element("hidConfigNow").value;
	element("App2lblConfigC3").innerHTML = element("hidConfigNow").value;
	
	element("tdSeriesid").innerHTML = element("hidSeries").value;
    element("App2tdSeriesid").innerHTML = element("hidSeries").value;

	element("tdTypeid").innerHTML = element("hidType").value;
	element("App2tdTypeid").innerHTML = element("hidType").value;

	element("tdStatusid").innerHTML = element("hidStatus").value;
	element("App2tdStatusid").innerHTML = element("hidStatus").value;
	
	element("tdUnitWeightid").innerHTML = element("hidUnitWeight").value;
	element("App2tdUnitWeightid").innerHTML = element("hidUnitWeight").value;

	
	element("tdJawTravelid").innerHTML = element("hidJawTravel").value;
	element("App2tdJawTravelid").innerHTML = element("hidJawTravel").value;
	
	element("tdJawTravel_Pid").innerHTML = element("hidJawTravel").value;
	element("App2tdJawTravel_Pid").innerHTML = element("hidJawTravel").value;

	element("tdJawsid").innerHTML = element("hidJaws").value;
	element("App2tdJawsid").innerHTML = element("hidJaws").value;

	element("tdRepeatabilityid").innerHTML = element("hidRepeatability").value;
	element("App2tdRepeatabilityid").innerHTML = element("hidRepeatability").value;

	element("tdBacklashid").innerHTML = element("hidBacklash").value;
	element("App2tdBacklashid").innerHTML = element("hidBacklash").value;

	element("tdMaxPressid").innerHTML = element("hidMaxPressure").value;
	element("App2tdMaxPressid").innerHTML = element("hidMaxPressure").value;

	element("tdMinPressid").innerHTML = element("hidMinPressure").value;
	element("App2tdMinPressid").innerHTML = element("hidMinPressure").value;

	element("tdReqGripForceid").innerHTML = element("hidReqGripForce").value;
	element("App2tdReqGripForceid").innerHTML = element("hidReqGripForce").value;

	element("tdGripForceid").innerHTML = element("hidGripForce").value;
	element("App2tdGripForceid").innerHTML = element("hidGripForce").value;

	element("tdMomentForceMxid").innerHTML = element("hidMomentMx").value;
	element("App2tdMomentForceMxid").innerHTML = element("hidMomentMx").value;

	element("tdMomentForceMyid").innerHTML = element("hidMomentMy").value;
	element("App2tdMomentForceMyid").innerHTML = element("hidMomentMy").value;
	
	element("tdMomentForceMzid").innerHTML = element("hidMomentMz").value;
	element("App2tdMomentForceMzid").innerHTML = element("hidMomentMz").value;

	element("spnFailed").innerHTML = element("hidShowFailed").value;
	//element("App2spnFailed").innerHTML = element("hidShowFailed").value;
	
	element("spnMarginal").innerHTML = element("hidShowMarginal").value;
	//element("App2spnMarginal").innerHTML = element("hidShowMarginal").value;
	
	//element("trJaw_P").style.display = "none";
	//element("App2trJaw_P").style.display = "none";
	
	element("trJaw").style.display = "none";
	element("App2trJaw").style.display = "none";
	
	element("cbMarginal").checked = true;
	element("rbByWeight").checked = true;
	setC2Visibility(false);
	setC3Visibility(false);
	
	Electric(); // defaults to pneumatic, we're just making stuff visible/invisible here.
	
	  // based on language set the results header text
	if (Language == null)
	{
        Language = element("UserLanguageStorage").value;
    }
    if (Language == "en")
        element("spnPartSpec").innerHTML = "Part Specification"
    
    else if (Language == "de")
        element("spnPartSpec").innerHTML = "Teil-Spezifikation"
    
    else if (Language == "es")
        element("spnPartSpec").innerHTML = "Parte de Especificación"

    // load friction grip values
    frictionGripLoad('');
    frictionGripLoad('App2');

    // Default to Both Imperial and Metric (Show All)
    //element('rbImperialGrippers').click();
    element('rbBothMIGrippers').click();
    

   
    
    
return;
}
function sort(col)
{
    resultsColumn = col;
        
    //waitColumnName = col;
    if (col == "CompMode")
        tmpCol = ""
    else
        tmpCol = col;
}
function InputChanged(e)
{   
    //if (compInit)
    //        compInit = false;      
            
    var sender;
  
    
    //************************
    //  find out which column is active
    if (whichBrs() == "Firefox")
    {
        if(!compInit)
            waitColumnName = tmpCol;
        else
        {
            try
            {
                //AppCol = tmpCol;
                sender = Sender(e);
                if (Sender(e) != null)
                {
	                waitColumnName = getColName(sender.id);
	            }
            }
            catch(e)
            {
                waitColumnName = tmpCol;
                 
            }  
        
        }
    }
    else
    {
        //AppCol = tmpCol;
        sender = Sender(e);
        if (Sender(e) != null)
        {
	        waitColumnName = getColName(sender.id);
	    }
    } 
    //***********************************************
   
	
	if (element("cbAutoCalc").checked)
	{
	    AppCol = waitColumnName;
	    
	    StartCalc();
	    
	}
	return;
}

var calcTime = 0;
function StartCalc(e)
{  
  if (calcTime == 0)
  {
	window.setTimeout("CalcTimer();", 100) ;
  }
  calcTime = 10 ; 
  return;
}


function CalcTimer()
{
     
  calcTime-- ;

  if (calcTime > 0)
	window.setTimeout("CalcTimer();", 100) ;
  else
  {
	CalculateList();
  }
  return;
}

function getColName(id)
{
    if (id.substr(0,4) == "App2")
    {
        resultsColumn = "App2";
        return "App2";
    }
    else if (compMode)
    {   resultsColumn = "CompMode";
        return "";
    }
    else
    {
        resultsColumn = "";
        return "";
    }
}

function Electric()
{
    if (element("rbElectric").checked)
    {
        NoSeries(); // clear it all first
        element('cbEGRK').checked = true;
        element('divAngular').style.visibility = "hidden";
	    element('divAngular').style.display = "none";
	    element('divParallel').style.visibility = "hidden";
	    element('divParallel').style.display = "none";
	    element('divElectric').style.visibility = "visible";
	    element('divElectric').style.display = "";
	    
	    element('trPressure').style.display = "none";
	    element('trPressure').style.visibility = "hidden";
	    element('trApp2Pressure').style.display = "none";
	    element('trApp2Pressure').style.visibility = "hidden";
	    
	    // 02/22/2009 - MRL
	    // hide the spring YES/NO Selection... not valid for electric units anyways
	    //---------------------------------------------------------------------------
	    element('trLabelSpringReq').style.display = "none";
	    element('trLabelSpringReq').style.visibility = "hidden";
	    element('trSpringReqYes').style.display = "none";
	    element('trSpringReqYes').style.visibility = "hidden";
	    element('trSpringReqNo').style.display = "none";
	    element('trSpringReqNo').style.visibility = "hidden";
	    element('tableSpringOptions').style.display = "none";
	    element('tableSpringOptions').style.visibility = "hidden";
	    element('tableApp2SpringOptions').style.display = "none";
	    element('tableApp2SpringOptions').style.visibility = "hidden";
	    
	    // 02/22/2009 - MRL
	    // no electric imperial options at this time.. metric only
	    //---------------------------------------------------------------------------
        element('rbMetricGrippers').click();
        element('rbImperialGrippers').disabled = true;
        
        // 02/22/2009 - MRL
	    // no 3-Jaw or angular options 
	    //---------------------------------------------------------------------------
        element('rb2jaw').click();
        element('rb3jaw').disabled = true;
        element('rbParallel').click();
        element('rbAngular').disabled = true;
        
 
        // 02/22/2009 - MRL
	    // hide the min and max pressure in the results section
	    //---------------------------------------------------------------------------
        element('trMinPressResults').style.display = "none";
	    element('trMinPressResults').style.visibility = "hidden";
	    element('trApp2MinPressResults').style.display = "none";
	    element('trApp2MinPressResults').style.visibility = "hidden";
	    element('trMaxPressResults').style.display = "none";
	    element('trMaxPressResults').style.visibility = "hidden";
	    element('trApp2MaxPressResults').style.display = "none";
	    element('trApp2MaxPressResults').style.visibility = "hidden";
    }
    else
    {
        element('cbEGRK').checked = false;
        element('divElectric').style.visibility = "hidden";
	    element('divElectric').style.display = "none";
	    
	    element('trPressure').style.display = "";
	    element('trPressure').style.visibility = "visible";
	    element('trApp2Pressure').style.display = "";
	    element('trApp2Pressure').style.visibility = "visible";
	    
	    // 02/22/2009 - MRL
	    // show the spring YES/NO Selection... 
	    //---------------------------------------------------------------------------
	    element('trLabelSpringReq').style.display = "";
	    element('trLabelSpringReq').style.visibility = "visible";
	    element('trSpringReqYes').style.display = "";
	    element('trSpringReqYes').style.visibility = "visible";
	    element('trSpringReqNo').style.display = "";
	    element('trSpringReqNo').style.visibility = "visible";
	    element('tableSpringOptions').style.display = "";
	    element('tableSpringOptions').style.visibility = "visible";
	    element('tableApp2SpringOptions').style.display = "";
	    element('tableApp2SpringOptions').style.visibility = "visible";
	    
	    // 02/22/2009 - MRL
	    // allow both imperial and metric for pneumatic
	    //---------------------------------------------------------------------------
        element('rbImperialGrippers').disabled = false;
        element('rbImperialGrippers').click();
        
        // 02/22/2009 - MRL
	    // enable 3-Jaw options
	    //---------------------------------------------------------------------------
        element('rb3jaw').disabled = false;
        element('rb2jaw').click();
        element('rbAngular').disabled = false;
        element('rbParallel').click();
        
        // 02/22/2009 - MRL
	    // show the min and max pressure in the results section
	    //---------------------------------------------------------------------------
        element('trMinPressResults').style.display = "";
	    element('trMinPressResults').style.visibility = "visible";
	    element('trApp2MinPressResults').style.display = "";
	    element('trApp2MinPressResults').style.visibility = "visible";
	    element('trMaxPressResults').style.display = "";
	    element('trMaxPressResults').style.visibility = "visible";
	    element('trApp2MaxPressResults').style.display = "";
	    element('trApp2MaxPressResults').style.visibility = "visible";
        

    }
    
    twoJaw();
    return;
}

function Angular()
{
    element("trAngularNote").style.display = "";
    element("App2trAngularNote").style.display = "";
    

    element("tdDistance").innerHTML = element("hidDistanceAng").value;
    element("App2tdDistance").innerHTML = element("hidDistanceAng").value;
	var divAngular = element("divAngular");
	var divParallel = element("divParallel");
	
	divAngular.style.visibility = "visible";
	divAngular.style.display = "";
	
	element("trJaw").style.display = "";
	element("trJaw_P").style.display = "none";	
	element("App2trJaw").style.display = "";
	element("App2trJaw_P").style.display = "none";
	
	// no angular electric grippers.
	if (element("rbElectric").checked)
	{
	    element("divAngular").style.visibility = "hidden";
	    element("divAngular").style.display = "none";
	    
	    element("divParallel").style.visibility = "hidden";
	    element("divParallel").style.display = "none";
	
	    element("divElectric").style.visibility = "hidden";
	    element("divElectric").style.display = "none";	    
	}	
	else if (element("rb2jaw").checked)  //2 JAW
	{
	    if (element("rbSpringsYes").checked)        // SPRING UNITS
	    {
	        element("cb8400").checked = false;
	        element("cb5300").checked = true;
	        element("cbGRB").checked = false;
	        element("tr8400").style.display = "none";
    	        
	        element("tr5300").style.display = "";
	        element("trGRB").style.display = "none";
	    }
	    else            // NON-SPRING UNITS
	    {
	        element("cb8400").checked = true;
	        element("cb5300").checked = true;
	        element("cbGRB").checked = true;
	         
    	    if (element("rbImperialGrippers").checked)
	            element("tr8400").style.display = "";
	        else
	            element("tr8400").style.display = "none";
    	        
	        element("tr5300").style.display = "";
	        element("trGRB").style.display = "";
	    }
	}
    else        // 3 JAW   (There are no 3-jaw angular units, so no need to take springs into account)
    {
        element("cb8400").checked = false;
	    element("cb5300").checked = false;
	    element("cbGRB").checked = false;
	    
	    element("tr8400").style.display = "none";
	    element("tr5300").style.display = "none";
	    element("trGRB").style.display = "none";
	}
	
	element("cbGRF").checked = false;
	element("cbGRS").checked = false;
	element("cbGRK").checked = false;
	element("cbGRR").checked = false;
	element("cbGRL").checked = false;
	element("cbGRW").checked = false;
	element("cb8600_P").checked = false;
	element("cb190191").checked = false;
	element("cbGRD").checked = false;
	element("cb5300_P").checked = false;
	element("cb7900_P").checked = false;
	element("cbGRC").checked = false;
	element("cbGRT_3").checked = false;
	element("cbEGRK").checked = false;
	
	
	element("divParallel").style.visibility = "hidden";
	element("divParallel").style.display = "none";
	
	element("divElectric").style.visibility = "hidden";
	element("divElectric").style.display = "none";
	
	// disable 2-3 jaw selections.. not valid for Angular
	element('rb2jaw').click();
	element('rb2jaw').disabled = true;
	element('rb3jaw').disabled = true;

	divClick();
	
	// load the appropriate images and swf files
	divClick2('');
	divClick2('App2');
	
	if (compMode)
	    window.setTimeout("resetApp2()",1500);
	
	
	return;
}

function Parallel()
{
    element("trAngularNote").style.display = "none";
    element("App2trAngularNote").style.display = "none";
    
     element("tdDistance").innerHTML = element("hidDistancePar").value;
     element("App2tdDistance").innerHTML = element("hidDistancePar").value;
     
	var divAngular = element("divAngular");
	var divParallel = element("divParallel");
	
	// Uncheck and hide all angular series
	element("trJaw").style.display = "none";
	element("trJaw_P").style.display = "";	
	element("App2trJaw").style.display = "none";
	element("App2trJaw_P").style.display = "";
	
	element("cb8400").checked = false;
	element("cb5300").checked = false;
	element("cb7900_2").checked = false;
	element("cb7900_3").checked = false;
	element("cbGRB").checked = false;
	element("cb8600_2").checked = false;
	element("cb8600_3").checked = false;
	//********
	
	// one parallel electric grippers.
	if (element("rbElectric").checked) 
	{
	    element("divAngular").style.visibility = "hidden";
	    element("divAngular").style.display = "none";
	    
	    element("divParallel").style.visibility = "hidden";
	    element("divParallel").style.display = "none";
	
	    	    
	    if (element("rb2jaw").checked)
	    {
	        element("divElectric").style.visibility = "visible";
	        element("divElectric").style.display = "";
	        element("cbEGRK").checked = true;
	    }
	    else
	    {
	        element("divElectric").style.visibility = "hidden";
	        element("divElectric").style.display = "none";
	        element("cbEGRK").checked = false;
	    }
	}	
	else if (element("rb2jaw").checked)  // 2-JAW UNITS
	{
	    if (element("rbSpringsYes").checked)  // SPRING UNITS
	    {
	        element("cbGRF").checked = false;
	        element("cbGRS").checked = true;
	        element("cbGRK").checked = true;
	        element("cbGRA").checked = false; // when springs are ready, change to true.
	        element("cbGRR").checked = false;
	        element("cbGRL").checked = false;
	        element("cbGRW").checked = false;
	        element("cb190191").checked = true;
	        element("cbGRD").checked = true;
	        element("cb5300_P").checked = true;
	        element("cbGRC").checked = true;
	        element("cbGRT_3").checked = false;
        	
	        element("trGRF").style.display = "none";
	        element("trGRS").style.display = "";
	        element("trGRK").style.display = "";  // when springs are ready, change to "".
	        element("trGRA").style.display = "none";
	        element("trGRR").style.display = "none";
	        element("trGRL").style.display = "none";
	        element("trGRW").style.display = "none";
	        element("tr190191").style.display = "";
	        element("trGRD").style.display = "";
	        element("tr5300_P").style.display = "";
	        element("trGRC").style.display = "";
	        element("trGRT_3").style.display = "none";
	    }
	    else        // NON-SPRING UNITS
	    {
	        element("cbGRF").checked = true;
	        element("cbGRS").checked = true;
	        element("cbGRK").checked = true;
	        element("cbGRA").checked = true;
	        element("cbGRR").checked = true;
	        element("cbGRL").checked = true;
	        element("cbGRW").checked = true;
	        element("cb190191").checked = true;
	        element("cbGRD").checked = true;
	        element("cb5300_P").checked = true;
	        element("cbGRC").checked = true;
	        element("cbGRT_3").checked = false;
        	
	        element("trGRF").style.display = "";
	        element("trGRS").style.display = "";
	        element("trGRK").style.display = "";
	        element("trGRA").style.display = "";
	        element("trGRR").style.display = "";
	        element("trGRL").style.display = "";
	        element("trGRW").style.display = "";
	        element("tr190191").style.display = "";
	        element("trGRD").style.display = "";
	        element("tr5300_P").style.display = "";
	        element("trGRC").style.display = "";
	        element("trGRT_3").style.display = "none";
	    }
	    divAngular.style.visibility = "hidden";
	    divAngular.style.display = "none";
	    divParallel.style.visibility = "visible";
	    divParallel.style.display = "";
	}
	else        // 3-JAW UNITS  
	{
	    element("cbGRF").checked = false;
	    element("cbGRS").checked = false;
	    element("cbGRK").checked = false;
	    element("cbGRA").checked = false;
	    element("cbGRR").checked = false;
	    element("cbGRL").checked = false;
	    element("cbGRW").checked = false;
	    element("cb8600_P").checked = false;
	    element("cb190191").checked = false;
	    element("cbGRD").checked = false;
	    element("cb5300_P").checked = false;
	    element("cbGRC").checked = false;
	    element("cbGRT_3").checked = true;
    	
	    element("trGRF").style.display = "none";
	    element("trGRS").style.display = "none";
	    element("trGRK").style.display = "none";
	    element("trGRA").style.display = "none";
	    element("trGRR").style.display = "none";
	    element("trGRL").style.display = "none";
	    element("trGRW").style.display = "none";
	    element("tr190191").style.display = "none";
	    element("trGRD").style.display = "none";
	    element("tr5300_P").style.display = "none";
	    element("trGRC").style.display = "none";
	    element("trGRT_3").style.display = "";
	    
	    divAngular.style.visibility = "hidden";
	    divAngular.style.display = "none";
	    divParallel.style.visibility = "visible";
	    divParallel.style.display = "";
	}


	// enable 2-3 jaw selections.. valid for Parallel
	element('rb2jaw').disabled = false;
	element('rb3jaw').disabled = false;

	// filter metric only units out of imperial list and vise versa
	if (element('rbImperialGrippers').checked) {
	    element("trGRA").style.display = "none";
	    element("cbGRA").checked = false; // when springs are ready, change to true.
	} else if (element('rbMetricGrippers').checked) {
	    element("trGRA").style.display = "";
	    element("cbGRA").checked = true; // when springs are ready, change to true.
	}
	

	divClick();
	// load the appropriate images and swf files
	divClick2('');
	divClick2('App2');
	
	if (compMode)
	    window.setTimeout("resetApp2()",1500);
	    
	return;
}
function resetApp2()
{
    InputChanged(new DummyEvent("App2rbMetricInputs"));
}


function setUOM(col)
{
	var rbMetricInputs = element(col + "rbMetricInputs");
	// inputs:
	element(col + "spnUCWeight").SetMetric(rbMetricInputs.checked) ;
	element(col + "spnUCDistance").SetMetric(rbMetricInputs.checked) ;
	element(col + "spnUCPressure").SetMetric(rbMetricInputs.checked) ;
	element(col + "spnUCJaw").SetMetric(rbMetricInputs.checked) ;
	element(col + "spnUCJaw_P").SetMetric(rbMetricInputs.checked);
	element(col + "spnUCTWpJ").SetMetric(rbMetricInputs.checked);
	//element(col + "spnUCPartWeight").SetMetric(rbMetricInputs.checked);
	
	// if Metric inputs is selected tooling length defaults to mm instead of cm
	if(rbMetricInputs.checked)
	{
	    uc_popSpn = element(col + "spnUCDistance");
	        ucSelect(element("hidMM").value);
	    uc_popSpn = element(col + "spnUCWeight");
	        ucSelect(element("hidKg").value);
	    uc_popSpn = element(col + "spnUCJaw");
	        ucSelect(element("hidDeg").value);
	    uc_popSpn = element(col + "spnUCJaw_P");
	        ucSelect(element("hidMM").value);
	    uc_popSpn = element(col + "spnUCTWpJ");
	        ucSelect(element("hidKg").value);
//	    uc_popSpn = element(col + "spnUCPartWeight");
//	        ucSelect(element("hidKg").value);
	    
	}
	return;
}

function setupSpringAssist(col)
{
    var selSpringOptions = element(col + "selSpringOptions");
    var selNoSpringOptions = element(col + "selNoSpringOptions");
    
    var hidPermitAssist = document.createElement('option');
    var hidGripsPart = document.createElement('option');
    var hidReleasesPart = document.createElement('option');
    var hidAssistGrip = document.createElement('option');
    var hidAssistRelease = document.createElement('option');
    var hidForbidAssist = document.createElement('option');    
    
    var hidNoPermitAssist = document.createElement('option');
    var hidNoForbidAssist = document.createElement('option');
    
    hidPermitAssist.text = element("hidPermitAssist").value;    
    hidGripsPart.text = element("hidGripsPart").value;      
    hidReleasesPart.text = element("hidReleasesPart").value;
    hidAssistGrip.text = element("hidAssistGrip").value;
    hidAssistRelease.text = element("hidAssistRelease").value;
    hidForbidAssist.text = element("hidForbidAssist").value;
    
    hidNoPermitAssist.text = element("hidPermitAssist").value;  
    hidNoForbidAssist.text = element("hidForbidAssist").value;
    
    
    try
	{
	    selSpringOptions.add(hidGripsPart,null); // standards compliant
	    selSpringOptions.add(hidReleasesPart,null); // standards compliant
	    selSpringOptions.add(hidAssistGrip,null); // standards compliant
	    selSpringOptions.add(hidAssistRelease,null); // standards compliant
	    selNoSpringOptions.add(hidNoPermitAssist,null); // standards compliant
	    selNoSpringOptions.add(hidNoForbidAssist,null); // standards compliant
    }
    catch(ex)
	{    
	    selSpringOptions.add(hidGripsPart); // IE only
	    selSpringOptions.add(hidReleasesPart); // IE only
	    selSpringOptions.add(hidAssistGrip); // IE only
	    selSpringOptions.add(hidAssistRelease); // IE only
	   
	    selNoSpringOptions.add(hidNoPermitAssist); // IE only
	    selNoSpringOptions.add(hidNoForbidAssist); // IE only
	}
	return;
}


function FailedClick(app)
{
  var
	cbFail = element(app + "cbFailed"),
	cbMarg = element(app + "cbMarginal");
	
  if (cbFail.checked)
	cbMarg.checked = true ;

  cbMarg.disabled = cbFail.checked ;

  InputChanged() ; 
  return;
}

function RightLoad()
{
    var divDetails = element("divDetails");
    var App2divDetails = element("App2divDetails");
    divDetails.innerHTML   = iframeText("ifrResults");
    App2divDetails.innerHTML   = iframeText("App2ifrResults");
    return;
}

function detailsUCSetup(AppNum,column)
{        
    
   
    setColName(column);
    SetupUC(AppNum + "imgDummyMinus", AppNum + "txtUnitWeight" + colName, AppNum + "imgDummyPlus", AppNum + "spnUCUnitWeight" + colName, "weight", "lb", "0", 1, 1, 4, 0, Infinity, true) ;        
    SetupUC(AppNum + "imgDummyMinus", AppNum + "txtJawTravel" + colName, AppNum + "imgDummyPlus", AppNum + "spnUCJawTravel" + colName, "angle", "deg", "0", 1, 1, 3, 0, Infinity, true) ; 
    SetupUC(AppNum + "imgDummyMinus", AppNum + "txtJawTravel_P" + colName, AppNum + "imgDummyPlus", AppNum + "spnUCJawTravel_P" + colName, "length", "in", "0", 1, 1, 3, 0, Infinity, true) ;       
    SetupUC(AppNum + "imgDummyMinus", AppNum + "txtRepeatability" + colName, AppNum + "imgDummyPlus", AppNum + "spnUCRepeatability" + colName, "length", "in", "0", 1, 1, 4, 0, Infinity, true) ;        
    SetupUC(AppNum + "imgDummyMinus", AppNum + "txtBacklash" + colName, AppNum + "imgDummyPlus", AppNum + "spnUCBacklash" + colName, "angle", "deg", "0", 1, 1, 4, 0, Infinity, true) ;       
    SetupUC(AppNum + "imgDummyMinus", AppNum + "txtMaxPress" + colName, AppNum + "imgDummyPlus", AppNum + "spnUCMaxPress" + colName, "pressure", "psi", "0", 1, 1, 4, 0, Infinity, true) ;        
    SetupUC(AppNum + "imgDummyMinus", AppNum + "txtMinPress" + colName, AppNum + "imgDummyPlus", AppNum + "spnUCMinPress" + colName, "pressure", "psi", "0", 1, 1, 4, 0, Infinity, true) ;  
    SetupUC(AppNum + "imgDummyMinus", AppNum + "txtReqGripForce" + colName, AppNum + "imgDummyPlus", AppNum + "spnUCReqGripForce" + colName, "gripForceWeight", "lb", "0", 1, 1, 4, 0, Infinity, true) ;  
    SetupUC(AppNum + "imgDummyMinus", AppNum + "txtGripForce" + colName, AppNum + "imgDummyPlus", AppNum + "spnUCGripForce" + colName, "gripForceWeight", "lb", "0", 1, 1, 4, 0, Infinity, true) ;        
   

    return;
}

function setColName(Column)
{
    if (Column == "" || Column == "C1")
    {
        colName = "";
        
        setC2Visibility(false);
        setC3Visibility(false);
         
        element(AppCol + "thPartSpecLbl").colSpan = 3;
    }
    else if (Column == 2|| Column == "C2")
    {
        colName = "C2";
        setC2Visibility(true);
        element(AppCol + "thPartSpecLbl").colSpan = 5;
    }
    else if (Column == 3 || Column == "C3")
    {
        colName = "C3";
        setC3Visibility(true);
        element(AppCol + "thPartSpecLbl").colSpan = 7;
    }
    else
    {
        colName = "";
        setC2Visibility(false);
        setC3Visibility(false);
        element(AppCol + "thPartSpecLbl").colSpan = 3;
    }
    
    return;
}

function setC2Visibility(visible)
{
    if (visible)
    {
        element(AppCol + "tdC2").style.display = "";
        element(AppCol + "tdConfigC2").style.display = "";
        element(AppCol + "tdSeriesC2").style.display = "";
        element(AppCol + "tdTypeC2").style.display = "";
        element(AppCol + "tdStatusC2").style.display = "";
        element(AppCol + "tdUnitWeightC2").style.display = "";
        element(AppCol + "spnUCUnitWeight").style.display = "block";
        element(AppCol + "spnUCUnitWeightC2").style.display = "block";
        element(AppCol + "tdJawTravelC2").style.display = "";        
        element(AppCol + "spnUCJawTravel").style.display = "block";
        element(AppCol + "spnUCJawTravelC2").style.display = "block";
        element(AppCol + "tdJawTravel_PC2").style.display = "";        
        element(AppCol + "spnUCJawTravel_P").style.display = "block";
        element(AppCol + "spnUCJawTravel_PC2").style.display = "block";
        element(AppCol + "tdJawsC2").style.display = "";        
        element(AppCol + "spnUCJaws").style.display = "block";
        element(AppCol + "spnUCJawsC2").style.display = "block"
        element(AppCol + "tdRepeatabilityC2").style.display = "";
        element(AppCol + "spnUCRepeatability").style.display = "block";
        element(AppCol + "spnUCRepeatabilityC2").style.display = "block";
        element(AppCol + "tdBacklashC2").style.display = "";
        element(AppCol + "spnUCBacklash").style.display = "block";
        element(AppCol + "spnUCBacklashC2").style.display = "block";
        element(AppCol + "tdMaxPressC2").style.display = "";
        element(AppCol + "spnUCMaxPress").style.display = "block";
        element(AppCol + "spnUCMaxPressC2").style.display = "block";
        element(AppCol + "tdMinPressC2").style.display = "";
        element(AppCol + "spnUCMinPress").style.display = "block";
        element(AppCol + "spnUCMinPressC2").style.display = "block";
        element(AppCol + "tdReqGripForceC2").style.display = "";
        element(AppCol + "spnUCReqGripForce").style.display = "block";
        element(AppCol + "spnUCReqGripForceC2").style.display = "block";        
        element(AppCol + "tdGripForceC2").style.display = "";
        element(AppCol + "spnUCGripForce").style.display = "block";
        element(AppCol + "spnUCGripForceC2").style.display = "block";
        element(AppCol + "tdCvC2").style.display = "";
        element(AppCol + "spnUCCv").style.display = "block";
        element(AppCol + "spnUCCvC2").style.display = "block";
        element(AppCol + "tdSCFMC2").style.display = "";
        element(AppCol + "spnUCSCFM").style.display = "block";
        element(AppCol + "spnUCSCFMC2").style.display = "block";

        element(AppCol + "tdMomentForceMxC2").style.display = "";
        element(AppCol + "spnUCMomentForceMx").style.display = "block";
        element(AppCol + "spnUCMomentForceMxC2").style.display = "block";

        element(AppCol + "tdMomentForceMyC2").style.display = "";
        element(AppCol + "spnUCMomentForceMy").style.display = "block";
        element(AppCol + "spnUCMomentForceMyC2").style.display = "block";

        element(AppCol + "tdMomentForceMzC2").style.display = "";
        element(AppCol + "spnUCMomentForceMz").style.display = "block";
        element(AppCol + "spnUCMomentForceMzC2").style.display = "block";
    }
    else
    {
        element(AppCol + "tdC2").style.display = "none";
        element(AppCol + "tdConfigC2").style.display = "none";
        element(AppCol + "tdSeriesC2").style.display = "none";
        element(AppCol + "tdTypeC2").style.display = "none";
        element(AppCol + "tdStatusC2").style.display = "none";
        element(AppCol + "tdUnitWeightC2").style.display = "none";
        element(AppCol + "tdJawTravelC2").style.display = "none";
        element(AppCol + "tdJawTravel_PC2").style.display = "none";
        element(AppCol + "tdJawsC2").style.display = "none";
        element(AppCol + "tdRepeatabilityC2").style.display = "none";
        element(AppCol + "tdBacklashC2").style.display = "none";
        element(AppCol + "tdMaxPressC2").style.display = "none";
        element(AppCol + "tdMinPressC2").style.display = "none";
        element(AppCol + "tdReqGripForceC2").style.display = "none";
        element(AppCol + "tdGripForceC2").style.display = "none";
        element(AppCol + "tdCvC2").style.display = "none";
        element(AppCol + "tdSCFMC2").style.display = "none";
        element(AppCol + "tdMomentForceMxC2").style.display = "none";
        element(AppCol + "tdMomentForceMyC2").style.display = "none";
        element(AppCol + "tdMomentForceMzC2").style.display = "none";
       
    }    
    return;
}

function setC3Visibility(visible)
{
    if (visible)
    {
        threeSelected = true;
        element(AppCol + "tdC3").style.display = "";
        element(AppCol + "tdConfigC3").style.display = "";
        element(AppCol + "tdSeriesC3").style.display = "";
        element(AppCol + "tdTypeC3").style.display = "";
        element(AppCol + "tdStatusC3").style.display = "";
        element(AppCol + "tdUnitWeightC3").style.display = "";
        element(AppCol + "spnUCUnitWeight").style.display = "block";
        element(AppCol + "spnUCUnitWeightC2").style.display = "block";
        element(AppCol + "spnUCUnitWeightC3").style.display = "block";
        element(AppCol + "tdJawTravelC3").style.display = "";
        element(AppCol + "spnUCJawTravel").style.display = "block";
        element(AppCol + "spnUCJawTravelC2").style.display = "block";
        element(AppCol + "spnUCJawTravelC3").style.display = "block";
        element(AppCol + "tdJawTravel_PC3").style.display = "";
        element(AppCol + "spnUCJawTravel_P").style.display = "block";
        element(AppCol + "spnUCJawTravel_PC2").style.display = "block";
        element(AppCol + "spnUCJawTravel_PC3").style.display = "block";
        element(AppCol + "tdJawsC3").style.display = "";
        element(AppCol + "spnUCJaws").style.display = "block";
        element(AppCol + "spnUCJawsC2").style.display = "block";
        element(AppCol + "spnUCJawsC3").style.display = "block";
        element(AppCol + "tdRepeatabilityC3").style.display = "";
        element(AppCol + "spnUCRepeatability").style.display = "block";
        element(AppCol + "spnUCRepeatabilityC2").style.display = "block";
        element(AppCol + "spnUCRepeatabilityC3").style.display = "block";
        element(AppCol + "tdBacklashC3").style.display = "";
        element(AppCol + "spnUCBacklash").style.display = "block";
        element(AppCol + "spnUCBacklashC2").style.display = "block";
        element(AppCol + "spnUCBacklashC3").style.display = "block";
        element(AppCol + "tdMaxPressC3").style.display = "";
        element(AppCol + "spnUCMaxPress").style.display = "block";
        element(AppCol + "spnUCMaxPressC2").style.display = "block";
        element(AppCol + "spnUCMaxPressC3").style.display = "block";
        element(AppCol + "tdMinPressC3").style.display = "";
        element(AppCol + "spnUCMinPress").style.display = "block";
        element(AppCol + "spnUCMinPressC2").style.display = "block";
        element(AppCol + "spnUCMinPressC3").style.display = "block";
        element(AppCol + "tdReqGripForceC3").style.display = "";
        element(AppCol + "spnUCReqGripForce").style.display = "block";
        element(AppCol + "spnUCReqGripForceC2").style.display = "block";
        element(AppCol + "spnUCReqGripForceC3").style.display = "block";
        element(AppCol + "tdGripForceC3").style.display = "";
        element(AppCol + "spnUCGripForce").style.display = "block";
        element(AppCol + "spnUCGripForceC2").style.display = "block";
        element(AppCol + "spnUCGripForceC3").style.display = "block";


        element(AppCol + "tdCvC3").style.display = "";
        element(AppCol + "spnUCCv").style.display = "block";
        element(AppCol + "spnUCCvC2").style.display = "block";
        element(AppCol + "spnUCCvC3").style.display = "block";

        element(AppCol + "tdSCFMC3").style.display = "";
        element(AppCol + "spnUCSCFM").style.display = "block";
        element(AppCol + "spnUCSCFMC2").style.display = "block";
        element(AppCol + "spnUCSCFMC3").style.display = "block";

        element(AppCol + "tdMomentForceMxC3").style.display = "";
        element(AppCol + "spnUCMomentForceMx").style.display = "block";
        element(AppCol + "spnUCMomentForceMxC2").style.display = "block";
        element(AppCol + "spnUCMomentForceMxC3").style.display = "block";

        element(AppCol + "tdMomentForceMyC3").style.display = "";
        element(AppCol + "spnUCMomentForceMy").style.display = "block";
        element(AppCol + "spnUCMomentForceMyC2").style.display = "block";
        element(AppCol + "spnUCMomentForceMyC3").style.display = "block";

        element(AppCol + "tdMomentForceMzC3").style.display = "";
        element(AppCol + "spnUCMomentForceMz").style.display = "block";
        element(AppCol + "spnUCMomentForceMzC2").style.display = "block";
        element(AppCol + "spnUCMomentForceMzC3").style.display = "block";
       
       // Wrap name column if gripper name is long
       var text = element("td").innerHTML;
       if (text.substr(8,5) == "GRS33")
       {
            text = text.substr(8,7) + "<br />" + text.substr(15,40);
            
            element("td").innerHTML = text;
       }      
       
        text = element("tdC2").innerHTML;
         if (text.substr(8,5) == "GRS33")
       {
            text = text.substr(8,7) + "<br />" + text.substr(15,40);
            
            element("tdC2").innerHTML = text;
       }     
         
       text = element("tdC3").innerHTML;
       if (text.substr(8,5) == "GRS33")
       {
            text = text.substr(8,7) + "<br />" + text.substr(15,40);
            
            element("tdC3").innerHTML = text;
       }      
       
       if(compMode)
       {
            text = element("App2td").innerHTML;
            if (text.substr(8,5) == "GRS33")
            {
                text = text.substr(8,7) + "<br />" + text.substr(15,40);
            
                element("App2td").innerHTML = text;
            }      
       
            text = element("App2tdC2").innerHTML;
            if (text.substr(8,5) == "GRS33")
            {
                text = text.substr(8,7) + "<br />" + text.substr(15,40);
            
                element("App2tdC2").innerHTML = text;
            }    
         
            text = element("App2tdC3").innerHTML;
            if (text.substr(8,5) == "GRS33")
            {
                text = text.substr(8,7) + "<br />" + text.substr(15,40);
            
                element("App2tdC3").innerHTML = text;
            }            
       }        
    }
    else
    {
        threeSelected = false;
        element(AppCol + "tdC3").style.display = "none";
        element(AppCol + "tdConfigC3").style.display = "none";
        element(AppCol + "tdSeriesC3").style.display = "none";
        element(AppCol + "tdTypeC3").style.display = "none";
        element(AppCol + "tdStatusC3").style.display = "none";
        element(AppCol + "tdUnitWeightC3").style.display = "none"; 
        element(AppCol + "spnUCUnitWeight").style.display = "";
        element(AppCol + "spnUCUnitWeightC2").style.display = "";      
        element(AppCol + "tdJawTravelC3").style.display = "none";
        element(AppCol + "spnUCJawTravel").style.display = "";
        element(AppCol + "spnUCJawTravelC2").style.display = "";
        element(AppCol + "tdJawTravel_PC3").style.display = "none";
        element(AppCol + "spnUCJawTravel_P").style.display = "";
        element(AppCol + "spnUCJawTravel_PC2").style.display = "";
        element(AppCol + "tdJawsC3").style.display = "none";
        element(AppCol + "spnUCJaws").style.display = "";
        element(AppCol + "spnUCJawsC2").style.display = "";
        element(AppCol + "tdRepeatabilityC3").style.display = "none";
        element(AppCol + "spnUCRepeatability").style.display = "";
        element(AppCol + "spnUCRepeatabilityC2").style.display = "";
        element(AppCol + "tdBacklashC3").style.display = "none";
        element(AppCol + "spnUCBacklash").style.display = "";
        element(AppCol + "spnUCBacklashC2").style.display = "";
        element(AppCol + "tdMaxPressC3").style.display = "none";
        element(AppCol + "spnUCMaxPress").style.display = "";
        element(AppCol + "spnUCMaxPressC2").style.display = "";
        element(AppCol + "tdMinPressC3").style.display = "none";
        element(AppCol + "spnUCMinPress").style.display = "";
        element(AppCol + "spnUCMinPressC2").style.display = ""; 
        
        element(AppCol + "tdReqGripForceC3").style.display = "none";
        element(AppCol + "spnUCReqGripForce").style.display = "";
        element(AppCol + "spnUCReqGripForceC2").style.display = ""; 
        
        element(AppCol + "tdGripForceC3").style.display = "none";
        element(AppCol + "spnUCGripForce").style.display = "";
        element(AppCol + "spnUCGripForceC2").style.display = "";

        element(AppCol + "tdCvC3").style.display = "none";
        element(AppCol + "spnUCCv").style.display = "";
        element(AppCol + "spnUCCvC2").style.display = "";

        element(AppCol + "tdSCFMC3").style.display = "none";
        element(AppCol + "spnUCSCFM").style.display = "";
        element(AppCol + "spnUCSCFMC2").style.display = "";

        element(AppCol + "tdMomentForceMxC3").style.display = "none";
        element(AppCol + "spnUCMomentForceMx").style.display = "";
        element(AppCol + "spnUCMomentForceMxC2").style.display = "";

        element(AppCol + "tdMomentForceMyC3").style.display = "none";
        element(AppCol + "spnUCMomentForceMy").style.display = "";
        element(AppCol + "spnUCMomentForceMyC2").style.display = "";

        element(AppCol + "tdMomentForceMzC3").style.display = "none";
        element(AppCol + "spnUCMomentForceMz").style.display = "";
        element(AppCol + "spnUCMomentForceMzC2").style.display = "";


        
       
    }    
    return;
}

function frictionGripLoad(col) {
    var maxLength = 45;
    var selMaterialType = element(col + "selMaterialType");


    // loop to fill the option list
    for (var i = 0; i <= 33; i++) {
        
        var tempHidVar = "hidMaterialType"+i;

        var setVal = element("hidMaterialType" + i).value;

        for (z = setVal.length; z < maxLength; z++)
            setVal = setVal + "&nbsp;";


        var COF = getCOFfromMatlType(i);
        if (i > 0) {
            setVal = setVal + " (μ = " + COF + ")";
        }
        
        option = new Option(setVal, setVal, false);
        option.innerHTML = ""
        option.innerHTML = setVal;
        selMaterialType.appendChild(option);

    
    }

    return;
}


function frictionGripClick(Appcol) {

    // unhide controls
    element(Appcol + "tblFGMT").style.visibility = "visible";
    element(Appcol + "tblFGMT").style.display = "";
    element(Appcol + "trCOF").style.visibility = "visible";
    element(Appcol + "trCOF").style.display = "";

    setCOFfromMatlType(Appcol)

        if (element("rb3jaw").checked) {
            var saftyMessage = document.getElementById(Appcol + 'lbl3JawSafety').innerHTML;
            saftyMessage = saftyMessage.replace("6:1", "9:1");
            document.getElementById(Appcol + "lbl3JawSafety").innerHTML = saftyMessage;
        }
        else 
        {
            var saftyMessage = document.getElementById(Appcol + 'lblSafety').innerHTML;
            saftyMessage = saftyMessage.replace("4:1", "6:1");
            document.getElementById(Appcol + "lblSafety").innerHTML = saftyMessage;
        }
   
   
    return;
    
}


function encapsulatedGripClick(Appcol) {
    
    // hide controls
    element(Appcol + "tblFGMT").style.visibility = "hidden";
    element(Appcol + "tblFGMT").style.display = "none";
    element(Appcol + "trCOF").style.visibility = "hidden";
    element(Appcol + "trCOF").style.display = "none";

    
        if (element("rb3jaw").checked) {
            var saftyMessage = document.getElementById(Appcol + 'lbl3JawSafety').innerHTML;
            saftyMessage = saftyMessage.replace("9:1", "6:1");
            document.getElementById(Appcol + "lbl3JawSafety").innerHTML = saftyMessage;
        }
        else {
            var saftyMessage = document.getElementById(Appcol + 'lblSafety').innerHTML;
            saftyMessage = saftyMessage.replace("6:1", "4:1");
            document.getElementById(Appcol + "lblSafety").innerHTML = saftyMessage;
        }


}
function lockUnlockCOF(Appcol,action) {
    if (action == 'lock') {
        element(Appcol + "txtCOF").readOnly = true; 
        element(Appcol + "txtCOF").style.color = "#666";
    }
    else {
        element(Appcol + "txtCOF").readOnly = false;
        element(Appcol + "txtCOF").style.color = "#000";
    }

}
function setCOFfromMatlType(Appcol) {


    switch (element(Appcol + "selMaterialType").selectedIndex) 
    {
        case 0: { element(Appcol + "txtCOF").value = "1.00"; lockUnlockCOF(Appcol, 'unlock'); break; }
        case 1: { element(Appcol + "txtCOF").value = "1.05"; lockUnlockCOF(Appcol, 'lock'); break; }
        case 2: { element(Appcol + "txtCOF").value = "0.61"; lockUnlockCOF(Appcol, 'lock'); break; }
        case 3: { element(Appcol + "txtCOF").value = "1.10"; lockUnlockCOF(Appcol, 'lock'); break; }
        case 4: { element(Appcol + "txtCOF").value = "1.05"; lockUnlockCOF(Appcol, 'lock'); break; }
        case 5: { element(Appcol + "txtCOF").value = "1.00"; lockUnlockCOF(Appcol, 'lock'); break; }
        case 6: { element(Appcol + "txtCOF").value = "0.53"; lockUnlockCOF(Appcol, 'lock'); break; }
        case 7: { element(Appcol + "txtCOF").value = "0.22"; lockUnlockCOF(Appcol, 'lock'); break; }
        case 8: { element(Appcol + "txtCOF").value = "0.10"; lockUnlockCOF(Appcol, 'lock'); break; }
        case 9: { element(Appcol + "txtCOF").value = "0.10"; lockUnlockCOF(Appcol, 'lock'); break; }
        case 10: { element(Appcol + "txtCOF").value = "0.16"; lockUnlockCOF(Appcol, 'lock'); break; }
        case 11: { element(Appcol + "txtCOF").value = "0.14"; lockUnlockCOF(Appcol, 'lock'); break; }
        case 12: { element(Appcol + "txtCOF").value = "1.00"; lockUnlockCOF(Appcol, 'lock'); break; }
        case 13: { element(Appcol + "txtCOF").value = "0.15"; lockUnlockCOF(Appcol, 'lock'); break; }
        case 14: { element(Appcol + "txtCOF").value = "0.45"; lockUnlockCOF(Appcol, 'lock'); break; }
        case 15: { element(Appcol + "txtCOF").value = "0.35"; lockUnlockCOF(Appcol, 'lock'); break; }
        case 16: { element(Appcol + "txtCOF").value = "0.40"; lockUnlockCOF(Appcol, 'lock'); break; }
        case 17: { element(Appcol + "txtCOF").value = "0.22"; lockUnlockCOF(Appcol, 'lock'); break; }
        case 18: { element(Appcol + "txtCOF").value = "0.10"; lockUnlockCOF(Appcol, 'lock'); break; }
        case 19: { element(Appcol + "txtCOF").value = "0.21"; lockUnlockCOF(Appcol, 'lock'); break; }
        case 20: { element(Appcol + "txtCOF").value = "0.20"; lockUnlockCOF(Appcol, 'lock'); break; }
        case 21: { element(Appcol + "txtCOF").value = "0.78"; lockUnlockCOF(Appcol, 'lock'); break; }
        case 22: { element(Appcol + "txtCOF").value = "0.51"; lockUnlockCOF(Appcol, 'lock'); break; }
        case 23: { element(Appcol + "txtCOF").value = "0.30"; lockUnlockCOF(Appcol, 'lock'); break; }
        case 24: { element(Appcol + "txtCOF").value = "0.95"; lockUnlockCOF(Appcol, 'lock'); break; }
        case 25: { element(Appcol + "txtCOF").value = "0.74"; lockUnlockCOF(Appcol, 'lock'); break; }
        case 26: { element(Appcol + "txtCOF").value = "0.04"; lockUnlockCOF(Appcol, 'lock'); break; }
        case 27: { element(Appcol + "txtCOF").value = "0.04"; lockUnlockCOF(Appcol, 'lock'); break; }
        case 28: { element(Appcol + "txtCOF").value = "0.35"; lockUnlockCOF(Appcol, 'lock'); break; }
        case 29: { element(Appcol + "txtCOF").value = "0.80"; lockUnlockCOF(Appcol, 'lock'); break; }
        case 30: { element(Appcol + "txtCOF").value = "0.40"; lockUnlockCOF(Appcol, 'lock'); break; }
        case 31: { element(Appcol + "txtCOF").value = "0.20"; lockUnlockCOF(Appcol, 'lock'); break; }
        case 32: { element(Appcol + "txtCOF").value = "0.85"; lockUnlockCOF(Appcol, 'lock'); break; }
        case 33: { element(Appcol + "txtCOF").value = "0.60"; lockUnlockCOF(Appcol, 'lock'); break; }
        
        default:
            {
                element(Appcol + "txtCOF").value = "1.00";
                lockUnlockCOF(Appcol, 'lock'); break;
            }
    }
}
function getCOFfromMatlType(matId) {

    var COF;
    switch (matId) {
        case 0: { COF = "1.00"; break; }
        case 1: { COF = "1.05";  break; }
        case 2: { COF = "0.61";  break; }
        case 3: { COF = "1.10";  break; }
        case 4: { COF = "1.05";  break; }
        case 5: { COF = "1.00";  break; }
        case 6: { COF = "0.53";  break; }
        case 7: { COF = "0.22";  break; }
        case 8: { COF = "0.10";  break; }
        case 9: { COF = "0.10";  break; }
        case 10: { COF = "0.16";  break; }
        case 11: { COF = "0.14";  break; }
        case 12: { COF = "1.00";  break; }
        case 13: { COF = "0.15";  break; }
        case 14: { COF = "0.45";  break; }
        case 15: { COF = "0.35";  break; }
        case 16: { COF = "0.40";  break; }
        case 17: { COF = "0.22";  break; }
        case 18: { COF = "0.10";  break; }
        case 19: { COF = "0.21";  break; }
        case 20: { COF = "0.20";  break; }
        case 21: { COF = "0.78";  break; }
        case 22: { COF = "0.51";  break; }
        case 23: { COF = "0.30";  break; }
        case 24: { COF = "0.95";  break; }
        case 25: { COF = "0.74";  break; }
        case 26: { COF = "0.04";  break; }
        case 27: { COF = "0.04";  break; }
        case 28: { COF = "0.35";  break; }
        case 29: { COF = "0.80";  break; }
        case 30: { COF = "0.40";  break; }
        case 31: { COF = "0.20";  break; }
        case 32: { COF = "0.85";  break; }
        case 33: { COF = "0.60";  break; }
        default:
            {
                COF = "1.00";
                break;
            }
    }
    return COF;
}


function writeLabel(labelID, labelText, labelLanguage)
{
    if (whichBrs() == "Firefox")
	{
		var id = element(labelID);        
		id.textContent = labelText;   		
	}
	else
	{
		element(labelID).innerText = labelText;
	}
}
function writeInnerHTML(id, text, language)
{
    var front = "<center>";
    var close = "</center>";
    
    text = front + text + close;
        
	var id = element(id);        
	id.innerHTML = text;   
}


function whichBrs() {
var agt=navigator.userAgent.toLowerCase();
if (agt.indexOf("opera") != -1) return 'Opera';
if (agt.indexOf("staroffice") != -1) return 'Star Office';
if (agt.indexOf("beonex") != -1) return 'Beonex';
if (agt.indexOf("chimera") != -1) return 'Chimera';
if (agt.indexOf("netpositive") != -1) return 'NetPositive';
if (agt.indexOf("phoenix") != -1) return 'Phoenix';
if (agt.indexOf("firefox") != -1) return 'Firefox';
if (agt.indexOf("safari") != -1) return 'Safari';
if (agt.indexOf("skipstone") != -1) return 'SkipStone';
if (agt.indexOf("msie") != -1) return 'Internet Explorer';
if (agt.indexOf("netscape") != -1) return 'Netscape';
if (agt.indexOf("mozilla/5.0") != -1) return 'Mozilla';
if (agt.indexOf('\/') != -1) {
if (agt.substr(0,agt.indexOf('\/')) != 'mozilla') {
return navigator.userAgent.substr(0,agt.indexOf('\/'));}
else return 'Netscape';} else if (agt.indexOf(' ') != -1)
return navigator.userAgent.substr(0,agt.indexOf(' '));
else return navigator.userAgent;
}

function getColor(colorInt)
{
    var color = "";
    if (colorInt == 2)
    {  
        color = "#caa"; // red
    }
    else if (colorInt == 1)
    {
        color = "#dd9"; // yellow
    }
    else
    {
        color = "#aca"; // green
    }
    return color;
}

function readLabel(labelID)
{
    
	var labelText;
	
	if (whichBrs() == "Firefox")
	{
		labelText = element(labelID).textContent;               
	}
	else
	{
		labelText = element(labelID).innerText;
	}
	return labelText;
return;
}

function DummyEvent(elementId)
{
  this.target = element(elementId) ;
}

function FilterSeriesClick(e)
{
    InputChanged(new DummyEvent("rbMetricInputs")) ;
    if(compMode)
    {
       window.setTimeout("resetApp2()",1500);       
    }    
    return;
}

function copy()
{
    if (window.clipboardData)
    {
        var
            s = document.title + "\r\n\r\n",
            orDesc = "" ;
            
            s += "Gripper Units";
           if (element("rbImperialGrippers").checked)
                s += ":\t\t\t" + "Imperial";
           else
                s += ":\t\t\t" + "Metric";
            
           s += "\r\nGripper Type";
           if (element("rbAngular").checked)
                s += ":\t\t\t" + "Angular";
           else
                s += ":\t\t\t" + "Parallel";
                
           s += "\r\n\r\nInput Units";
           if (element("rbMetricInputs").checked)
                s += ":\t\t\t" + "Metric";
           else
                s += ":\t\t\t" + "Imperial";
                
           s += "\r\nWeight" + ":\t\t\t\t" + element("txtWeight").value + " " + element("spnUCWeight").innerHTML.substr(0,element("spnUCWeight").innerHTML.indexOf("<"));
           s += "\r\nDistance" + ":\t\t\t" + element("txtDistance").value + " " + element("spnUCDistance").innerHTML.substr(0,element("spnUCDistance").innerHTML.indexOf("<"));
           
            if (element("rbElectric").checked)
            {
                // don't show pressure for electric
            }
            else
            {
                s += "\r\nPressure" + ":\t\t\t" + element("txtPressure").value + " " + element("spnUCPressure").innerHTML.substr(0,element("spnUCPressure").innerHTML.indexOf("<")); 
            }
           
           if (element("rbAngular").checked)
                s += "\r\nJaw Travel" + ":\t\t\t" + element("txtJaw").value + " " + element("spnUCJaw").innerHTML.substr(0,element("spnUCJaw").innerHTML.indexOf("<")); 
           else
                s += "\r\nJaw Travel" + ":\t\t\t" + element("txtJaw_P").value + " " + element("spnUCJaw_P").innerHTML.substr(0,element("spnUCJaw_P").innerHTML.indexOf("<")); 
           s += "\r\nGrip Type:\t\t\t";
           if (element("rbInternalGrip").checked)
                s += "Internal";
           else
                s += "External";
           
           
           if (element("rbElectric").checked)
            {
                // don't show spring options for electric
            }
            else
            {
                       s += "\r\nSpring Option:\t\t\t" ;
                       
                       switch (element("selSpringOptions").selectedIndex)
                {
                    case 0:
                    {
                        s += "Permit Spring Assist On Gripping";
                        break;
                    }
                    case 1:
                    {
                        s += "Spring Grips Part Without Pressure";
                        break;
                    }
                    case 2:
                    {
                        s += "Spring Releases Part Without Pressure";
                        break;
                    }
                    case 3:
                    {
                        s += "Spring Assists In Gripping";
                        break;
                    }
                    case 4:
                    {
                        s += "Spring Assists In Releasing";
                        break;
                    }
                    
                    default:
                    {
                        s += "Forbid Spring Assist In Sizing";
                        break;        
                    }
                }
            }
    //                  RESULTS
    
    
    s += "\r\n\r\nResults:\r\n\r\n";
    var unit = element("td").innerHTML.substr(8,25);
    unit = unit.substr(0,unit.indexOf("<"));
    s += "Gripper:\t\t\t" + unit + "\r\n";
    s += "Status:\t\t\t\t" + element("lblStatus").innerHTML + "\r\n";
    s += "Unit Weight:\t\t\t" + element("txtUnitWeight").value + " ";
    if (element("spnUCUnitWeight").innerHTML.substr(0,1) == "g")
            s += "g" + "\r\n";
       else if (element("spnUCUnitWeight").innerHTML.substr(0,1) == "N")
            s += "N" + "\r\n";
       else
            s += element("spnUCUnitWeight").innerHTML.substr(0,2) + "\r\n";
            
    s += "Jaw Travel:\t\t\t" + element("txtJawTravel").value + " ";
    s += element("spnUCJawTravel").innerHTML.substr(0,3) + "\r\n";
    s += "Jaws:\t\t\t\t" + element("txtJaws").value + "\r\n";
    //if (element("rbAngular").checked)
    //{
        s += "Repeatability:\t\t\t" + element("txtRepeatability").value + " ";
        if (element("spnUCRepeatability").innerHTML.substr(0,1) == "m")
        {
            if (element("spnUCRepeatability").innerHTML.substr(0,2) == "mm")
                s += "mm\r\n"
            else
                s += "m\r\n"
        }
        else
            s += element("spnUCRepeatability").innerHTML.substr(0,2) + "\r\n";
    //}
    //else
    //{
    //    s += "Backlash:\t\t\t" + element("txtBacklash").value + " ";
    //    s += element("spnUCBacklash").innerHTML.substr(0,3) + "\r\n";
    //}
    
    if (element("rbElectric").checked)
    {
        // don't show pressure for electric
    }
    else
    {
    s += "Minimum Pressure:\t\t" + element("txtMinPress").value + " ";
    if (element("spnUCMinPress").innerHTML.substr(0,5)== "mm-Hg")
                s += "mm-Hg" + "\r\n";
            else if (element("spnUCMinPress").innerHTML.substr(0,5) == "in-Hg")
                s += "in-Hg" + "\r\n";
            else
                s += element("spnUCMinPress").innerHTML.substr(0,3) + "\r\n";
                
    s += "Maximum Pressure:\t\t" + element("txtMaxPress").value + " ";    
    if (element("spnUCMaxPress").innerHTML.substr(0,5)== "mm-Hg")
                s += "mm-Hg" + "\r\n";
            else if (element("spnUCMaxPress").innerHTML.substr(0,5) == "in-Hg")
                s += "in-Hg" + "\r\n";
            else
                s += element("spnUCMaxPress").innerHTML.substr(0,3) + "\r\n";
    }   
    s += "Required Grip Force:\t\t" + element("txtReqGripForce").value + " ";    
    if (element("spnUCReqGripForce").innerHTML.substr(0,1)== "N")
                s += "N" + "\r\n";
            else 
                s += "lb" + "\r\n";
                
    s += "Grip Force Produced:\t\t" + element("txtGripForce").value + " ";    
    if (element("spnUCGripForce").innerHTML.substr(0,1)== "N")
                s += "N" + "\r\n";
            else 
                s += "lb" + "\r\n";
       
       if(compMode)
       {
            s += "\r\n\r\n" + "Application 2" + "\r\n\r\n";
            orDesc = "" ;
            
            s += "Gripper Units";
           if (element("rbImperialGrippers").checked)
                s += ":\t\t\t" + "Imperial";
           else
                s += ":\t\t\t" + "Metric";
            
           s += "\r\nGripper Type";
           if (element("rbAngular").checked)
                s += ":\t\t\t" + "Angular";
           else
                s += ":\t\t\t" + "Parallel";
                
           s += "\r\n\r\nInput Units";
           if (element("App2rbMetricInputs").checked)
                s += ":\t\t\t" + "Metric";
           else
                s += ":\t\t\t" + "Imperial";
                
           s += "\r\nWeight" + ":\t\t\t\t" + element("App2txtWeight").value + " " + element("App2spnUCWeight").innerHTML.substr(0,element("App2spnUCWeight").innerHTML.indexOf("<"));
           s += "\r\nDistance" + ":\t\t\t" + element("App2txtDistance").value + " " + element("App2spnUCDistance").innerHTML.substr(0,element("App2spnUCDistance").innerHTML.indexOf("<"));
           
            if (element("rbElectric").checked)
            {
                // don't show pressure for electric
            }
            else
            {
                s += "\r\nPressure" + ":\t\t\t" + element("App2txtPressure").value + " " + element("App2spnUCPressure").innerHTML.substr(0,element("App2spnUCPressure").innerHTML.indexOf("<")); 
            }
            
           if (element("rbAngular").checked)
                s += "\r\nJaw Travel" + ":\t\t\t" + element("App2txtJaw").value + " " + element("App2spnUCJaw").innerHTML.substr(0,element("App2spnUCJaw").innerHTML.indexOf("<")); 
           else
                s += "\r\nJaw Travel" + ":\t\t\t" + element("App2txtJaw_P").value + " " + element("App2spnUCJaw_P").innerHTML.substr(0,element("App2spnUCJaw_P").innerHTML.indexOf("<")); 
           s += "\r\nGrip Type:\t\t\t";
           if (element("App2rbInternalGrip").checked)
                s += "Internal";
           else
                s += "External";
           
            if (element("rbElectric").checked)
            {
                // don't show spring options for electric
            }
            else
            {
                       s += "\r\nSpring Option:\t\t\t" ;
                       
                       switch (element("App2selSpringOptions").selectedIndex)
                        {
                            case 0:
                            {
                                s += "Permit Spring Assist On Gripping";
                                break;
                            }
                            case 1:
                            {
                                s += "Spring Grips Part Without Pressure";
                                break;
                            }
                            case 2:
                            {
                                s += "Spring Releases Part Without Pressure";
                                break;
                            }
                            case 3:
                            {
                                s += "Spring Assists In Gripping";
                                break;
                            }
                            case 4:
                            {
                                s += "Spring Assists In Releasing";
                                break;
                            }
                            
                            default:
                            {
                                s += "Forbid Spring Assist In Sizing";
                                break;        
                            }
                        }
            }
            //                  RESULTS
            
            
            s += "\r\n\r\nResults:\r\n\r\n";
            var unit = element("App2td").innerHTML.substr(8,25);
            unit = unit.substr(0,unit.indexOf("<"));
            s += "Gripper:\t\t\t" + unit + "\r\n";
            s += "Status:\t\t\t\t" + element("App2lblStatus").innerHTML + "\r\n";
            s += "Unit Weight:\t\t\t" + element("App2txtUnitWeight").value + " ";
            if (element("App2spnUCUnitWeight").innerHTML.substr(0,1) == "g")
                    s += "g" + "\r\n";
               else if (element("App2spnUCUnitWeight").innerHTML.substr(0,1) == "N")
                    s += "N" + "\r\n";
               else
                    s += element("App2spnUCUnitWeight").innerHTML.substr(0,2) + "\r\n";
                    
            s += "Jaw Travel:\t\t\t" + element("App2txtJawTravel").value + " ";
            s += element("App2spnUCJawTravel").innerHTML.substr(0,3) + "\r\n";
            s += "Jaws:\t\t\t\t" + element("App2txtJaws").value + "\r\n";
            //if (element("rbAngular").checked)
            //{
                s += "Repeatability:\t\t\t" + element("App2txtRepeatability").value + " ";
                if (element("App2spnUCRepeatability").innerHTML.substr(0,1) == "m")
                {
                    if (element("App2spnUCRepeatability").innerHTML.substr(0,2) == "mm")
                        s += "mm\r\n"
                    else
                        s += "m\r\n"
                }
                else
                    s += element("App2spnUCRepeatability").innerHTML.substr(0,2) + "\r\n";
            //}
            //else
            //{
            //    s += "Backlash:\t\t\t" + element("App2txtBacklash").value + " ";
            //    s += element("App2spnUCBacklash").innerHTML.substr(0,3) + "\r\n";
            //}
            
            
            if (element("rbElectric").checked)
            {
                // don't show pressure for electric
            }
            else
            {
            s += "Minimum Pressure:\t\t" + element("App2txtMinPress").value + " ";
            if (element("App2spnUCMinPress").innerHTML.substr(0,5)== "mm-Hg")
                        s += "mm-Hg" + "\r\n";
                    else if (element("App2spnUCMinPress").innerHTML.substr(0,5) == "in-Hg")
                        s += "in-Hg" + "\r\n";
                    else
                        s += element("App2spnUCMinPress").innerHTML.substr(0,3) + "\r\n";
                        
            s += "Maximum Pressure:\t\t" + element("App2txtMaxPress").value + " ";    
            if (element("App2spnUCMaxPress").innerHTML.substr(0,5)== "mm-Hg")
                        s += "mm-Hg" + "\r\n";
                    else if (element("App2spnUCMaxPress").innerHTML.substr(0,5) == "in-Hg")
                        s += "in-Hg" + "\r\n";
                    else
                        s += element("App2spnUCMaxPress").innerHTML.substr(0,3) + "\r\n";
           }             
           s += "Required Grip Force:\t\t" + element("App2txtReqGripForce").value + " ";    
            if (element("App2spnUCReqGripForce").innerHTML.substr(0,1)== "N")
                s += "N" + "\r\n";
            else 
                s += "lb" + "\r\n";
                
            s += "Grip Force Produced:\t\t" + element("App2txtGripForce").value + " ";    
            if (element("App2spnUCGripForce").innerHTML.substr(0,1)== "N")
                        s += "N" + "\r\n";
                    else 
                        s += "lb" + "\r\n";
            
       }
            
        //**********************   
        window.clipboardData.setData("Text", s);
        alert("Data was copied to the clipboard.");
    }
    else
        alert( "Sorry, but copying to the clipboard only works in Microsoft's Internet Explorer browser.");
        
     return;
           
} // end copy function

function Print()
{
   
  tabIns = element("divInputs");
  tabOuts = element("tabOuts"); 
  
  App2TabIns = element("App2divInputs");
  App2TabOuts = element("App2tabOuts");
 // CompModetabOuts = element("CompModetabRightCol");
  
 

  var printWin = window.open("print.html");
  return;
		
}

function compareMode()
{
    document.body.style.cursor = "wait" ;    
    compMode = true;
    compInit = true;
    
    //set App2 selections to standard selections
     window.setTimeout("setupComp()",2000);
    
    element("CompModedivDetails").innerHTML = element("divDetails").innerHTML;
    element("divDetails").innerHTML = "";
    element("CompModecbFailed").checked = element("cbFailed").checked;
    element("App2cbFailed").checked = element("cbFailed").checked;
    element("CompModecbMarginal").checked = element("cbMarginal").checked;
    element("CompModecbMarginal").disabled = element("cbMarginal").disabled;
    element("App2cbMarginal").checked = element("cbMarginal").checked;
    element("App2cbMarginal").disabled = element("cbMarginal").disabled;    
    element("App2rbBySeries").checked = element("rbBySeries").checked;
    element("CompModerbBySeries").checked = element("App2rbBySeries").checked;
    element("App2rbByWeight").checked = element("rbByWeight").checked;
    element("CompModerbByWeight").checked = element("App2rbByWeight").checked;
    element("App2rbInternalGrip").checked = element("rbInternalGrip").checked;
    element("App2rbExternalGrip").checked = element("rbExternalGrip").checked;
    element("App2rbImperialInputs").checked = element("rbImperialInputs").checked;
    element("App2rbMetricInputs").checked = element("rbMetricInputs").checked;
    element("App2rbHorizontalOrientation").checked = element("rbHorizontalOrientation").checked;
    element("App2rbVerticalOrientation").checked = element("rbVerticalOrientation").checked;
    element("App2rbVerticalOrientationSide").checked = element("rbVerticalOrientationSide").checked;
    
    // setup friction grip also?
    if (element("rbFrictionGrip").checked)
    {
        element("App2rbFrictionGrip").checked = element("rbFrictionGrip").checked;
        frictionGripClick('App2');
    }
    

    if (element("rbHorizontalOrientation").checked) {
        divClick3("App2divHorizontal", "App2");
    }
    if (element("rbVerticalOrientation").checked) {
        divClick3("App2divVertical", "App2");
    }
    if (element("rbVerticalOrientationSide").checked) {
        divClick3("App2divVerticalSide", "App2");
    }

	setupSpringAssist('App2');
	
	//DEBUG
	//element("App2selSpringOptions").selectedindex = element("selSpringOptions").selectedindex;
	//element("App2selNoSpringOptions").selectedindex = element("selNoSpringOptions").selectedindex;
	
	//alert("In CompareMode, selSpringOptions = " + element("selSpringOptions").selectedindex);
	//alert("In CompareMode, App2selSpringOptions = " + element("App2selSpringOptions").selectedindex);
	for (var i=0; i <= element("selSpringOptions").options.length-1; i++) 
	{
	    if (element("selSpringOptions").options[i].selected)
	        element("App2selSpringOptions").options[i].selected = true;  	        
	}
	for (var i=0; i <= element("selNoSpringOptions").options.length-1; i++) 
	{
	    if (element("selNoSpringOptions").options[i].selected)
	        element("App2selNoSpringOptions").options[i].selected = true;  	        
	}
	
	//*****

	// SETUP APP 2 Inputs
    SetupUC("App2imgWeightMinus", "App2txtWeight", "App2imgWeightPlus", "App2spnUCWeight", "weight", element("spnUCWeight").Units, element("spnUCWeight").ActualValue, element("spnUCWeight").ConvFact, 1, 3, 0, Infinity, false) ;    
    SetupUC("App2imgDistanceMinus", "App2txtDistance", "App2imgDistancePlus", "App2spnUCDistance", "length", element("spnUCDistance").Units, element("spnUCDistance").ActualValue, element("spnUCDistance").ConvFact, 1, 4, 0, Infinity, false) ;
    SetupUC("App2imgPressureMinus", "App2txtPressure", "App2imgPressurePlus", "App2spnUCPressure", "pressure", element("spnUCPressure").Units, element("spnUCPressure").ActualValue, element("spnUCPressure").ConvFact, 1, 2, 0, 150, false) ;
    SetupUC("App2imgJawMinus", "App2txtJaw", "App2imgJawPlus", "App2spnUCJaw", "angle", element("spnUCJaw").Units, element("spnUCJaw").ActualValue, element("spnUCJaw").ConvFact, 5, 3, 0, Infinity, false) ;
    SetupUC("App2imgJaw_PMinus", "App2txtJaw_P", "App2imgJaw_PPlus", "App2spnUCJaw_P", "length", element("spnUCJaw_P").Units, element("spnUCJaw_P").ActualValue, element("spnUCJaw_P").ConvFact, .1, 3, 0, Infinity, false) ;
    SetupUC("App2imgTWpJMinus", "App2txtTWpJ", "App2imgTWpJPlus", "App2spnUCTWpJ", "weight", element("spnUCTWpJ").Units, element("spnUCTWpJ").ActualValue, element("spnUCTWpJ").ConvFact, 1, 3, 0, Infinity, false);
    SetupUC("App2imgCOFMinus", "App2txtCOF", "App2imgCOFPlus", "App2spnUCCOF", "", element("hidLb").value, "1", 1, 1, 3, 0, Infinity, false);

    //SetupUC("App2imgPartWeightMinus", "App2txtPartWeight", "App2imgPartWeightPlus", "App2spnUCPartWeight", "weight", element("spnUCPartWeight").Units, element("spnUCPartWeight").ActualValue, element("spnUCPartWeight").ConvFact, 1, 3, 0, Infinity, false); 

    element("App2txtWeight").value = element("txtWeight").value;
    element("App2txtDistance").value = element("txtDistance").value;   
    element("App2txtPressure").value = element("txtPressure").value;
    element("App2txtJaw").value = element("txtJaw").value;
    element("App2txtJaw_P").value = element("txtJaw_P").value;
    element("App2txtTWpJ").value = element("txtTWpJ").value;
    //element("App2txtPartWeight").value = element("txtPartWeight").value;
    
   
    try
    {
        element("App2spnUCWeight").innerHTML = element("spnUCWeight").innerHTML;
        element("App2spnUCDistance").innerHTML = element("spnUCDistance").innerHTML;
        element("App2spnUCPressure").innerHTML = element("spnUCPressure").innerHTML;
        element("App2spnUCJaw").innerHTML = element("spnUCJaw").innerHTML;
        element("App2spnUCJaw_P").innerHTML = element("spnUCJaw_P").innerHTML;
        element("App2spnUCTWpJ").innerHTML = element("spnUCTWpJ").innerHTML;
        //element("App2spnUCPartWeight").innerHTML = element("spnUCPartWeight").innerHTML;
    }
    catch(e)
    {
        element("App2spnUCWeight").innerHTML = element("spnUCWeight").outerHTML;
        element("App2spnUCDistance").innerHTML = element("spnUCDistance").outerHTML;
        element("App2spnUCPressure").innerHTML = element("spnUCPressure").outerHTML;
        element("App2spnUCJaw").innerHTML = element("spnUCJaw").outerHTML;
        element("App2spnUCJaw_P").innerHTML = element("spnUCJaw_P").outerHTML
        element("App2spnUCTWpJ").innerHTML = element("spnUCTWpJ").outerHTML;
        //element("App2spnUCPartWeight").innerHTML = element("spnUCPartWeight").outerHTML;
//    }
    }
    
	detailsUCSetup("App2", ""); 
	detailsUCSetup("App2","C2"); 
	detailsUCSetup("App2","C3"); 
	
	//initComp('CompMode');
    initComp('App2');
    
    // hide standard results section and show compmode and app2 sections
    element("divCenterCol").style.width = "380px";
//    element("Table1").style.display = "none";  
//    element("App2divInputs").style.display = "block"; 
//    element("App2divResults").style.display = "block";   
//    element("CompModedivInputs").style.display = "block";   
    document.body.style.cursor = "default" ;
    
    //InputChanged(new DummyEvent("App2rbMetricInputs")) ;
    
    InputChanged(new DummyEvent("App2rbMetricInputs")) ;
    
    // problem with refresh... bad js
    if (element("App2rbInternalGrip").checked)
	{
	    element("App2rbInternalGrip").click();
	}
	 // problem with refresh... bad js
    if (element("App2rbExternalGrip").checked)
	{
	    element("App2rbExternalGrip").click();
	}	
    
     	//    // based on language set the results header text
	if (Language != null)
	{
        Language = element("UserLanguageStorage").value;
    }
    if (Language == "en")
    {
        element("spnPartSpec").innerHTML = "Part Specification"
        element("spnApp2PartSpec").innerHTML = "Part Specification"
        }
    else if (Language == "de")
    {
        element("spnPartSpec").innerHTML = "Teil-Spezifikation"
        element("spnApp2PartSpec").innerHTML = "Teil-Spezifikation"
        }
    else if (Language == "es")
    {
        element("spnPartSpec").innerHTML = "Parte de Especificación"
        element("spnApp2PartSpec").innerHTML = "Parte de Especificación"
        }
    
    return;
}

function setupComp()
{
     // hide app1 results in right column and display it in center column
    
     
    element("Table1").style.display = "none";     
    element("App2divInputs").style.display = "block"; 
    element("App2divResults").style.display = "block";   
    element("CompModedivInputs").style.display = "block";   
    InputChanged(new DummyEvent("rbMetricInputs")) ;
    //initComp('CompMode');
    compInit = false;
    
   
    
    return;
}

function standardMode()
{
    element("divCenterCol").style.width = "350px";
    compMode = false;
    
    //CalculateList('');
   
    element("divDetails").innerHTML = element("CompModedivDetails").innerHTML;
    element("CompModedivDetails").innerHTML = "";
    element("divCenterCol").style.width = "350px";
    
    element("Table1").style.display = "block";
     element("App2divInputs").style.display = "none"; 
    element("App2divResults").style.display = "none";   
    element("CompModedivInputs").style.display = "none";  
//    element("compModeResults1Alt").style.display = "none";
//    element("App2div").style.display = "none";
    
    InputChanged(new DummyEvent("rbMetricInputs")) ;

        
    return;
}

function springs()
{
    if (element("rbSpringsYes").checked)
    {
        element("trSpringOptions").style.display = "";
        element("trNoSpringOptions").style.display = "none";      
        element("App2trSpringOptions").style.display = "";
        element("App2trNoSpringOptions").style.display = "none";  
    }
    else
    {
        element("trSpringOptions").style.display = "none";
        element("trNoSpringOptions").style.display = "";  
        element("App2trSpringOptions").style.display = "none";
        element("App2trNoSpringOptions").style.display = "";   
    }
        
    if (element("rbAngular").checked)
        Angular();
    else
        Parallel();
    return;
}

function twoJaw()
{
    element("tr3JawSafety").style.display = "none";
    element("trSafety").style.display = "";
    element("App2tr3JawSafety").style.display = "none";
    element("App2trSafety").style.display = "";
    
    if (element("rbAngular").checked)
        Angular();
    else
        Parallel();


    
        // change the safty factor message
        if (element("rbEncapsulatedGrip").checked) {
        
            saftyMessage = document.getElementById('lblSafety').innerHTML;
            saftyMessage = saftyMessage.replace("6:1", "4:1");
            document.getElementById("lblSafety").innerHTML = saftyMessage;

        }

        // change the safty factor message
        if (element("rbFrictionGrip").checked) {

            saftyMessage = document.getElementById('lblSafety').innerHTML;
            saftyMessage = saftyMessage.replace("4:1", "6:1");
            document.getElementById("lblSafety").innerHTML = saftyMessage;

        }
        
        // change the safty factor message
        if (element("App2rbEncapsulatedGrip").checked) {

            saftyMessage = document.getElementById('App2lblSafety').innerHTML;
            saftyMessage = saftyMessage.replace("6:1", "4:1");
            document.getElementById("App2lblSafety").innerHTML = saftyMessage;

        }

        // change the safty factor message
        if (element("App2rbFrictionGrip").checked) {

            saftyMessage = document.getElementById('App2lblSafety').innerHTML;
            saftyMessage = saftyMessage.replace("4:1", "6:1");
            document.getElementById("App2lblSafety").innerHTML = saftyMessage;

        }
    return;
}

function threeJaw()
{
    element("tr3JawSafety").style.display = "";
    element("trSafety").style.display = "none";
    element("App2tr3JawSafety").style.display = "";
    element("App2trSafety").style.display = "none";
    
    if (element("rbAngular").checked)
        Angular();
    else
        Parallel();

    // change the safty factor message
    if (element("rbEncapsulatedGrip").checked) {

        saftyMessage = document.getElementById('lbl3JawSafety').innerHTML;
        saftyMessage = saftyMessage.replace("9:1", "6:1");
        document.getElementById("lbl3JawSafety").innerHTML = saftyMessage;

    }

    // change the safty factor message
    if (element("rbFrictionGrip").checked) {

        saftyMessage = document.getElementById('lbl3JawSafety').innerHTML;
        saftyMessage = saftyMessage.replace("6:1", "9:1");
        document.getElementById("lbl3JawSafety").innerHTML = saftyMessage;

    }
    // change the safty factor message
    if (element("App2rbEncapsulatedGrip").checked) {

        saftyMessage = document.getElementById('App2lbl3JawSafety').innerHTML;
        saftyMessage = saftyMessage.replace("9:1", "6:1");
        document.getElementById("App2lbl3JawSafety").innerHTML = saftyMessage;

    }

    // change the safty factor message
    if (element("App2rbFrictionGrip").checked) {

        saftyMessage = document.getElementById('App2lbl3JawSafety').innerHTML;
        saftyMessage = saftyMessage.replace("6:1", "9:1");
        document.getElementById("App2lbl3JawSafety").innerHTML = saftyMessage;

    }

    
    return;
}

function NoSeries()
{
    element('cb8400').checked = false;
    element('cb5300').checked = false;
    element('cb7900_2').checked = false;
    element('cb7900_3').checked = false;
    element('cbGRB').checked = false;
    element('cb8600_2').checked = false;
    element('cb8600_3').checked = false;
    element('cbGRF').checked = false;
    element('cbGRS').checked = false;
    element('cbGRK').checked = false;
    element('cbGRR').checked = false;
    element('cbGRL').checked = false;
    element('cbGRW').checked = false;
    element('cb8600_P').checked = false;
    element('cb190191').checked = false;
    element('cbGRD').checked = false;
    element('cb5300_P').checked = false;
    element('cb7900_P').checked = false;
    element('cbGRC').checked = false;
    element('cbGRT_3').checked = false;
    element('cbEGRK').checked = false;
    element('cbGRA').checked = false;
    
    InputChanged(new DummyEvent("rbMetricInputs")) ; 
    if(compMode)
    {
       window.setTimeout("resetApp2()",1500);       
    }
    return;
}



function AllSeries()
{
    if (element("rbAngular").checked)
        Angular();
    else
        Parallel();
        
    InputChanged(new DummyEvent("rbMetricInputs")) ; 
    return;
        
}

function divClick(clicked)
{
    // TO DO:  add code for multiple orientations
    
    
    setGripperSWF();
}

function divClick2(app) {
    // TO DO:  add code for multiple orientations


    setGripperSWF(app);
}

function Reset()
{
    if(compMode)
        standardMode();
        
    PageLoad();
}

function changeAutoCalc()
{
    var checked = element("cbAutoCalc").checked;
    if (checked)
    {
        //element("spnCalculate").style.visiblity = "hidden";
        element("spnCalculate").style.display = "none";
    }
    else
    {
        //element("spnCalculate").style.visiblity = "visible";
        element("spnCalculate").style.display = "";
    }
    return;
}

function horizontalOrientationClick(AppCol) {
    // Check Encapsulated or Friction grip mode
    // Set horizontal images based on grip type...
//    element(AppCol + "divHorizontal").style.display = "";
//    element(AppCol + "divVertical").style.display = "none";
//    element(AppCol + "divVerticalSide").style.display = "none";
    return;
}

function verticalOrientationClick(AppCol){
    // Check Encapsulated or Friction grip mode
    // Set vertical images based on grip type...
//    element(AppCol + "divHorizontal").style.display = "none";
//    element(AppCol + "divVertical").style.display = "";
//    element(AppCol + "divVerticalSide").style.display = "none";
    return;
}

function verticalOrientationSideClick(AppCol) {
    // Check Encapsulated or Friction grip mode
    // Set horizontal images based on grip type...
//    element(AppCol + "divHorizontal").style.display = "none";
//    element(AppCol + "divVertical").style.display = "none";
//    element(AppCol + "divVerticalSide").style.display = "";
    return;
}

function divClick3(clicked, AppCol) {


    // set it to something if it is null (probably means initial load...)
    if (AppCol == null) {
        AppCol = '';
    }
    
    // instead of endless if-else statements,
    // reset all to default state, and then select the clicked on.

    element(AppCol + 'divHorizontal').className = 'divNotSelected';
    element(AppCol + 'divVertical').className = 'divNotSelected';
    element(AppCol + 'divVerticalSide').className = 'divNotSelected';
    


    element(clicked).className = 'divSelected';

  

    return;
}

function divConfig(col, AppCol) {


   
    // get screen res and ajust accordingly
//    if ((screen.width >= 1280) && (screen.height >= 1024)) {
//        //alert('Your resolution is ' + screen.width + 'x' + screen.height);
//        element('pnlConfigurePart').className = 'modalPopup1024';
//        element('ifrConfig').className = 'iframeConfig1024';
//        
//    }
//    else {
//        //alert('Your resolution is ' + screen.width + 'x' + screen.height);
//        element('pnlConfigurePart').className = 'modalPopup768';
//        element('ifrConfig').className = 'iframeConfig768';
//    }

    // set it to something if it is null (probably means initial load...)
    if (AppCol == null) {
        AppCol = '';
    }

    if (col == null) {
        col = '';
    }

    // figure out the gripper part string and then send it to something
    var sPickedPart;
    var sPickedPartLength;

    sPickedPart = element(AppCol + "td" + col).innerHTML;
    sPickedPartLength = sPickedPart.length;

    // Since that has html formatting strings in it we need to strip those out...
    var htmlCentered1 = "<CENTER>";
    var htmlCentered2 = "</CENTER>";

    // find htmlCentered1 and strip it out
    var pos1 = sPickedPart.indexOf(htmlCentered1);

    // rip it out
    sPickedPart = sPickedPart.substr(8, sPickedPartLength);

    // find htmlCentered2 and strip it out
    var pos2 = sPickedPart.indexOf(htmlCentered2);

    // rip it out
    sPickedPart = sPickedPart.substr(0, pos2);

    // read the series name picked and match it up with our product id from firebird
    var seriesId = getSeriesId(element(AppCol + 'lblSeries' + col).innerHTML);

    // set the iframe source to the part that is being configured... or at least try to...
    // http://config.phdinc.net/configurePart.asp?product_id=190&uniq=LuMagdnkn0mu4gxa5qmekpovwtvf633451505966640000&lang=en&orderData=grk-1-35x12
    // http://user.phdinc.net/?siteId=cad

    // check if the user is logged into CAD already...
    var bIsAuthed = false;
    var uniqID = getCookie('UniqueID');
    if (uniqID != null && uniqID != "") {
        //alert('Welcome again ' + uniqID + '!');
        bIsAuthed = true;
    }

    // if they are already logged in and/or the cookie is set use it
    if (bIsAuthed) {
        //element('ifrConfig').src = "http://config.phdinc.com/configurePart.asp?product_id=" + seriesId + "&orderData=" + sPickedPart + "&fromSystem=Sizing";
        // popup method
        window.open('http://config.phdinc.com/configurePart.asp?product_id=' + seriesId + '&orderData=' + sPickedPart + "&fromSystem=Sizing", AppCol + 'configwindow' + col, 'width=850,height=800,scrollbars=1')
        
    } else { 
        // user needs to auth first
    //element('ifrConfig').src = "http://user.phdinc.com/?siteId=cad&fromApp=sizing&goingTo=http://config.phdinc.com/configurePart.asp?product_id=" + seriesId + "&orderData=" + sPickedPart + "&fromSystem=Sizing";
    // popup method
    window.open('http://user.phdinc.com/?siteId=cad&fromApp=sizing&goingTo=http://config.phdinc.com/configurePart.asp?product_id=' + seriesId + '&orderData=' + sPickedPart + "&fromSystem=Sizing", AppCol + 'configwindow' + col, 'width=850,height=800,scrollbars=1')
    }

    // show the modal popup
    //$find("ConfMX").show();

    return;
}

function getCookie(c_name) {
    if (document.cookie.length > 0) {
        c_start = document.cookie.indexOf(c_name + "=");
        if (c_start != -1) {
            c_start = c_start + c_name.length + 1;
            c_end = document.cookie.indexOf(";", c_start);
            if (c_end == -1) c_end = document.cookie.length;
            return unescape(document.cookie.substring(c_start, c_end));
        }
    }
    return "";
}

function getSeriesId(series) {
    var id;
    switch (series) {
        case "190/191":
            {
                id = "8";
                break;
            }
        case "GRA":
            {
                id = "198";
                break;
            }
        case "GRD":
            {
                id = "48";
                break;
            }
        case "5300":
            {
                if (element('rbAngular').checked) {
                    id = "13"; // angular
                } else {
                    id = "14";  // parallel
                }
                break;
            }
        case "7900":
            {
                if (element('rbAngular').checked) {
                    id = "25"; // angular
                } else {
                    id = "26";  // parallel
                }
                break;
            }
        case "7900 (2 jaw)":
            {
                if (element('rbAngular').checked) {
                    id = "25"; // angular
                } else {
                    id = "26";  // parallel
                }
                break;
            }
        case "7900 (3 jaw)":
            {
                if (element('rbAngular').checked) {
                    id = "25"; // angular
                } else {
                    id = "26";  // parallel
                }
                break;
            }
        case "8400":
            {
                id = "27";
                break;
            }
        case "GRB":
            {
                id = "46";
                break;
            }
        case "GRL":
            {
                id = "49";
                break;
            }
        case "GRC":
            {
                id = "47";
                break;
            }
        case "GRT":
            {
                id = "53";
                break;
            }
        case "GRS":
            {
                id = "52";
                break;
            }
        case "GRK":
            {
                id = "190";
                break;
            }
        case "EGRK":
            {
                id = "191";
                break;
            }
        case "GRR":
            {
                id = "51";
                break;
            }
        case "GRW":
            {
                id = "54";
                break;
            }
        case "GRF":
            {
                id = "119";
                break;
            }
        case "8600":
            {
                id = "30";
                break;
            }
        case "8600 (2 jaw)":
            {
                id = "30";
                break;
            }
        default:
            {
                alert("Transfer to CAD not configured for this Series... contact PHD.");
                id = "";
                break;
            }
    }
    return id;
}

