

function scalabilityForm()
{
	var firstCh;
	var lastCh;
	var i=0;
	var r0Tps=document.scalabilitymetrics.r0Tps.value;
	var r0Util=document.scalabilitymetrics.r0Util.value;
	
	//validation of first input
	firstCh = document.scalabilitymetrics.elements[0].value.charAt(0);
	if( firstCh == "-" || isNaN(r0Tps) || (r0Tps==null) || (r0Tps=="") || firstCh == 0)
	{
		alert("Enter a positive integer value");
		document.scalabilitymetrics.elements[0].value = "";
		document.scalabilitymetrics.elements[0].focus();
		return false;
	}
	
	//validation of 2nd input
	firstCh = document.scalabilitymetrics.elements[1].value.charAt(0);
	lastCh = document.scalabilitymetrics.elements[1].value.charAt(r0Util.length-1);
	if( firstCh == "-" || isNaN(r0Util) || (r0Util==null) || (r0Util=="") || firstCh == 0)
	{
		if(lastCh!="%")
		{
			alert("Enter a positive integer value");
			document.scalabilitymetrics.elements[1].value = "";
			document.scalabilitymetrics.elements[1].focus();
			return false;
		}
	}
		
	//validation of next 2 inputs
	i=2;
	while(i<=8)
	{
		firstCh = document.scalabilitymetrics.elements[i].value.charAt(0);
		if( firstCh == "-" || isNaN(document.scalabilitymetrics.elements[i].value) || (document.scalabilitymetrics.elements[i].value==null) || (document.scalabilitymetrics.elements[i].value=="") || firstCh == 0)
		{
			alert("Enter a positive integer value");
			document.scalabilitymetrics.elements[i].value = "";
			document.scalabilitymetrics.elements[i].focus();
			return false;
		}
		i=i+3;
	}
	
	//validation of last 2 inputs
	i=3;
	while(i<=9)
	{
		firstCh = document.scalabilitymetrics.elements[i].value.charAt(0);
		lastCh = document.scalabilitymetrics.elements[i].value.charAt(document.scalabilitymetrics.elements[i].value.length-1);
		if( firstCh == "-" || isNaN(document.scalabilitymetrics.elements[i].value) || (document.scalabilitymetrics.elements[i].value==null) || (document.scalabilitymetrics.elements[i].value=="") || firstCh == 0)
		{
			if(lastCh!="%")
			{
			alert("Enter a value");
			document.scalabilitymetrics.elements[i].value = "";
			document.scalabilitymetrics.elements[i].focus();
			return false;
			}
		}
		i=i+3;
	}
	
	metricsCalc()
}

function getValues(value)
{
	var fnlValue="";
	for (k=0;k<(value.length-1);k++)
	{
		//removing % from input
		
		firstCh = value.charAt(k);
		fnlValue+=firstCh;
	}
	return fnlValue;
}

function metricsCalc()
{
	var r0Tps;
	var r1Tps;
	var r2Tps;
	var r3Tps;
	var r0Util;
	var r1Util;
	var r2Util;
	var r3Util;
	var r1Csm;
	var r2Csm;
	var r3Csm;
	var value;
	var fnlValue;
	var k;
	
	r0Tps=document.scalabilitymetrics.r0Tps.value;
	value=document.scalabilitymetrics.r0Util.value;
	lastCh = value.charAt(value.length-1);
	if(lastCh=="%")
	{
		fnlValue=getValues(value)
		r0Util=fnlValue;
	}
	else
	{
		r0Util=document.scalabilitymetrics.r0Util.value;
	}
	
	r1Tps=document.scalabilitymetrics.r1Tps.value;
	value=document.scalabilitymetrics.r1Util.value;
	lastCh = value.charAt(value.length-1);
	if(lastCh=="%")
	{
		fnlValue=getValues(value)
		r1Util=fnlValue;
	}
	else
	{
		r1Util=document.scalabilitymetrics.r1Util.value;
	}
	
	r2Tps=document.scalabilitymetrics.r2Tps.value;
	value=document.scalabilitymetrics.r2Util.value;
	lastCh = value.charAt(value.length-1);
	if(lastCh=="%")
	{
		fnlValue=getValues(value)
		r2Util=fnlValue;
	}
	else
	{
		r2Util=document.scalabilitymetrics.r2Util.value;
	}
	
	r3Tps=document.scalabilitymetrics.r3Tps.value;
	value=document.scalabilitymetrics.r3Util.value;
	lastCh = value.charAt(value.length-1);
	if(lastCh=="%")
	{
		fnlValue=getValues(value)
		r3Util=fnlValue;
	}
	else
	{
		r3Util=document.scalabilitymetrics.r3Util.value;
	}
		
	//computation of Scalability Metric(w.r.t. Base scale)
	document.scalabilitymetrics.r1Csm.value = roundOff((r0Util/r0Tps) * (r1Tps/r1Util));
	document.scalabilitymetrics.r2Csm.value = roundOff((r0Util/r0Tps) * (r2Tps/r2Util));
	document.scalabilitymetrics.r3Csm.value = roundOff((r0Util/r0Tps) * (r3Tps/r3Util));
	
}
