var num_inputs = 5;
var count = 0;
var total = 0;

function summary(Group)
{
	group_set = getSummary(document.getElementById('group_' + Group).getElementsByTagName('input'));
	
	if (group_set == 1)
	{
		var pct = (total / (count * (num_inputs - 1)))  * 100;
		document.getElementById('summary_'+Group).innerHTML = Math.round(pct) + '%';
		getSummaryText(pct, 'text_'+Group)
	}
	
	if (document.getElementById('slider3')) 
		total_set = getSummary(document.getElementById('slider3').getElementsByTagName('input'));
	else if (document.getElementById('slider')) 
		total_set = getSummary(document.getElementById('slider').getElementsByTagName('input'));
	
	if (total_set == 1)
	{
		var pct = (total / (count * (num_inputs - 1)))  * 100;
		document.getElementById('summary_total').innerHTML = Math.round(pct) + '%';
		getSummaryText(pct, 'text_total')
	}
}

function getSummary(inputs)
{
	var elem = '';
	var temp_set = '';
	var set = 1;
	count = 0;
	total = 0;
	
	for (key = 0 ; key < inputs.length ; key++)
	{
		elem = inputs[key];
		
		if (elem.type && (elem.type=="radio"))
		{
			temp_set = 0;
			for (i = 0 ; i < num_inputs ; i++)
			{
				if (inputs[key + i])
				{
					if (inputs[key + i].checked)
					{
						temp_set = 1;
						total += (parseInt(inputs[key + i].value) - 1);
					}
				}
			}
			if (temp_set == 0)
			{
				set = 0;
			}
			count++;
			key += 4; // skip the key count on so that it's the equivilant of the loop key being key = key + 5.  only need to inspect one input in the block of 5 for the radio button.
		}
	}
	return set;
}

function KPI_Summary(Group)
{
	group_set = getKPI_Summary(document.getElementById('group_' + Group).getElementsByTagName('input'));
	
	if (group_set == 1) {
		document.getElementById('summary_'+Group).innerHTML = '<span style="color: #8DC63F;">Complete</span>';
	}
	else {
		document.getElementById('summary_'+Group).innerHTML = '<span style="color: #EC0000;">Not Complete</span>';
	}
}

function getKPI_Summary(inputs)
{
	var elem = '';
	var set = 1;
	
	for (key = 0 ; key < inputs.length ; key++)
	{
		elem = inputs[key];
		
		if (elem.type && (elem.type=="text"))
		{
			if (elem.value == '' || isNaN(elem.value)) {
				set = 0;
			}
		}
	}
	return set;
}


function getSummaryText(pct, id)
{
	if (pct <= 25)
	{
		document.getElementById(id).innerHTML = 'POOR';
		document.getElementById(id).className = 'float_right poor';
	}
	else if (pct <= 50)
	{
		document.getElementById(id).innerHTML = 'FAIR';
		document.getElementById(id).className = 'float_right fair';
	}
	else if (pct <= 75)
	{
		document.getElementById(id).innerHTML = 'GOOD';
		document.getElementById(id).className = 'float_right good';
	}
	else
	{
		document.getElementById(id).innerHTML = 'WORLD CLASS';
		document.getElementById(id).className = 'float_right world_class';
	}
}



function validate(page,total_pages)
{
	var invalid = false;
	var cl = 'req';
	var inputs = [];
	var myclass = new RegExp('\\b'+cl+'\\b');
		
	var elem = document.getElementById('panel_' + page).getElementsByTagName('*');
		
	for (var i = 0; i < elem.length; i++)
	{
		var classes = elem[i].className;
		if (myclass.test(classes))
			inputs.push(elem[i]);
	}
	

	for (key = 0 ; key < inputs.length ; key++)
	{
		elem = inputs[key];
		
		if (elem.type && (elem.type=="text" || elem.type=="textarea" || elem.type=="password"))
		{
			
			if (elem.value == '')
			{
				elem.style.border = '1px solid red';
				invalid = true;
			}
		}
		else if (elem.type && (elem.type=="select-one"))
		{
			if (elem.value == '' || elem.value == -1)
			{
				elem.style.border = '1px solid red';
				invalid = true;
			}
			else if (elem.value == 'Other' && document.getElementById(elem.id + '_other') && document.getElementById(elem.id + '_other').value == '')
			{
				document.getElementById(elem.id + '_other').style.border = '1px solid red';
				invalid = true;
			}
			else
			{
				elem.style.border = '1px solid #F0F0F0';
				if (document.getElementById(elem.id + '_other'))
					document.getElementById(elem.id + '_other').style.border = '1px solid #F0F0F0';
			}
			
		}
		else if (elem.type && (elem.type == "radio"))
		{
			elem_name = elem.name;
			user_input = '';
			
			for (i=0;i<document.answers[elem_name].length;i++) 
			{
				if (document.answers[elem_name][i].checked) 
					user_input = document.answers[elem_name][i].value;
			}

			if (user_input == '')
			{
				elem.parentNode.parentNode.style.border = '1px solid red';
				invalid = true;
			}
			else
			{
				elem.parentNode.parentNode.style.border = '0px';
				elem.parentNode.parentNode.style.borderBottom = '1px dashed #CCCCCC';
			}
			
		}
	}
	
	
	if (invalid == true)
	{
		if (page == 0)
			alert('You must complete the Personal Details section before continuing');
		else
			alert('You must complete this section before continuing');
		
		return false;
	}
	else {
		display_submit(page,total_pages);
		return true;
	}

}

function display_sector(value)
{
	if (value == 'Other')
	{
		document.getElementById('sector_other_wrap').style.display = 'block';
	}
	else
	{
		document.getElementById('sector_other_wrap').style.display = 'none';
	}
}

function display_submit(page,total_pages)
{
	if (page == (total_pages - 1)) {
		document.getElementById('submit').style.visibility = 'visible';
		if (document.getElementById('skipBtn'))
			document.getElementById('skipBtn').style.display = 'none';
	}
	else {
		document.getElementById('submit').style.visibility = 'hidden';
		if (document.getElementById('skipBtn'))
			document.getElementById('skipBtn').style.display = 'block';
	}
}

function display_submit_back()
{
	document.getElementById('submit').style.visibility = 'hidden';
	if (document.getElementById('skipBtn'))
		document.getElementById('skipBtn').style.display = 'block';
}

function answers_submit(page)
{
    if (validate(page) == true)
		document.getElementById('answers').submit();
}

function kpi_answers_submit() {
        document.getElementById('answers').submit();
}

function clear_answers(page,total_pages)
{
	var invalid = false;
	var cl = 'req';
	var inputs = [];
	var myclass = new RegExp('\\b'+cl+'\\b');
		
	var elem = document.getElementById('panel_' + page).getElementsByTagName('*');
		
	for (var i = 0; i < elem.length; i++)
	{
		var classes = elem[i].className;
		if (myclass.test(classes))
			inputs.push(elem[i]);
	}
	

	for (key = 0 ; key < inputs.length ; key++)
	{
		elem = inputs[key];
		
		if (elem.type && (elem.type=="text" || elem.type=="textarea" || elem.type=="password"))
		{
			elem.value = '';
		}
	}
}




function checkNaN(id, qg_id) {
	if (document.getElementById(id).value != '') {
		if (isNaN(document.getElementById(id).value)) {
			document.getElementById(id).style.border = '1px solid red';
			KPI_Summary(qg_id);
			alert('Value should be numeric characters only');
			return false;
		}
	}
	document.getElementById(id).style.border = '1px solid #CCCCCC';
}

function q1calc(id)
{
	var message = '';
	var c_1 = message;
	var c_2 = message;
	var f_1 = message;
	var f_2 = message;
	var a_1 = message;
	var a_2 = message;
	
	checkNaN(id, 1);
	
	if (document.getElementById('q1_1').value != '' &&
		document.getElementById('q1_2').value != '') {
		c_2 = parseFloat(document.getElementById('q1_1').value) / parseFloat(document.getElementById('q1_2').value);
	}
	
	if (document.getElementById('q1_3').value != '' &&
		c_2 != message) {
		c_1 = (parseFloat(document.getElementById('q1_3').value) / c_2);
	}
	
	if (c_1 != message &&
		document.getElementById('t1_1').value != '') {
		f_1 = (((100 - parseFloat(document.getElementById('t1_1').value)) /100) * c_1);
	}

	if (c_2 != message &&
		document.getElementById('t1_1').value != '') {
		f_2 = (((100 + parseFloat(document.getElementById('t1_1').value)) / 100) * c_2);
	}

	if (document.getElementById('q1_4').value != '' &&
		c_1 != message &&
		f_1 != message) {
		a_1 = ((c_1 - f_1) * parseFloat(document.getElementById('q1_4').value));
	}

    if (document.getElementById('q1_4').value != '' &&
        c_2 != message &&
		f_2 != message) {
        a_2 = ((f_2 - c_2) * parseFloat(document.getElementById('q1_4').value));
    }

    document.getElementById('c1_1').innerHTML = c_1.toFixed(2);
	document.getElementById('c1_2').innerHTML = c_2.toFixed(1);
	document.getElementById('f1_1').innerHTML = f_1.toFixed(2);
	document.getElementById('f1_2').innerHTML = f_2.toFixed(1);
	document.getElementById('a1_1').innerHTML = a_1.toFixed(2);
	document.getElementById('a1_2').innerHTML = a_2.toFixed(1);
	
	KPI_Summary(1);
}

function q2calc(id)
{
	var message = '';
	var c_1 = message;
	var c_2 = message;
	var f_1 = message;
	var f_2 = message;
	var a_1 = message;
	
	checkNaN(id, 2);
	
	if (document.getElementById('q2_1').value != '' &&
		document.getElementById('q2_2').value != '') {
			
		c_1 = ((parseFloat(document.getElementById('q2_2').value) / parseFloat(document.getElementById('q2_1').value)) * 100);
	}
	
	if (document.getElementById('q2_1').value != '' &&
		document.getElementById('q2_3').value != '') {
		c_2 = parseFloat(document.getElementById('q2_1').value) * parseFloat(document.getElementById('q2_3').value);
	}
	
	if (c_1 != message &&
		document.getElementById('t2_1').value != '') {
			
		f_1 = (((100 - parseFloat(document.getElementById('t2_1').value)) /100) * c_1);
	}

	if (c_2 != message &&
		document.getElementById('t2_1').value != '') {
		f_2 = ((100 - parseFloat(document.getElementById('t2_1').value)) / 100) * c_2;
	}

	if (f_2 != message) {
		a_1 = ((c_2 - f_2) * 12).toFixed(0);
	}

	document.getElementById('c2_1').innerHTML = c_1.toFixed(0);
	document.getElementById('c2_2').innerHTML = c_2;
	document.getElementById('f2_1').innerHTML = f_1.toFixed(0);
	document.getElementById('f2_2').innerHTML = f_2;
	document.getElementById('a2_1').innerHTML = a_1;
	
	KPI_Summary(2);
}

function q3calc(id)
{
	var message = '';
	var c_1 = message;
	var f_1 = message;
	var a_1 = message;
	
	checkNaN(id, 3);
	
	if (document.getElementById('q3_1').value != '' &&
		document.getElementById('q3_2').value != '') {
		c_1 = (parseFloat(document.getElementById('q3_1').value) / parseFloat(document.getElementById('q3_2').value)).toFixed(1);
	}
	
	if (document.getElementById('q3_1').value != '' &&
		document.getElementById('q3_2').value != '' &&
		document.getElementById('t3_1').value != '' &&
		document.getElementById('t3_2').value != '') {
		f_1 = ((((100 + parseFloat(document.getElementById('t3_1').value)) /100) * parseFloat(document.getElementById('q3_1').value)) / (((100 - parseFloat(document.getElementById('t3_2').value)) /100) * parseFloat(document.getElementById('q3_2').value))).toFixed(1);
	}

	if (document.getElementById('q3_1').value != '' &&
		document.getElementById('q3_2').value != '' &&
		document.getElementById('t3_1').value != '' &&
		document.getElementById('t3_2').value != '') {
		a_1 = ((((parseFloat(document.getElementById('t3_1').value)) /100) * parseFloat(document.getElementById('q3_1').value)) + ((((parseFloat(document.getElementById('t3_2').value)) /100) * parseFloat(document.getElementById('q3_2').value)) * (f_1 - c_1))).toFixed(0);
	}


	document.getElementById('c3_1').innerHTML = c_1;
	document.getElementById('f3_1').innerHTML = f_1;
	document.getElementById('a3_1').innerHTML = a_1;
	
	KPI_Summary(3);
}

function q4calc(id)
{
	var message = '';
	var c_1 = message;
	var c_2 = message;
	var f_1 = message;
	var f_2 = message;
	var a_1 = message;
	
	checkNaN(id, 4);
	
	if (document.getElementById('q4_1').value != '' &&
		document.getElementById('q4_2').value != '') {
		c_1 = (((parseFloat(document.getElementById('q4_1').value) - parseFloat(document.getElementById('q4_2').value)) / parseFloat(document.getElementById('q4_1').value)) * 100).toFixed(1);
	}
	
	if (document.getElementById('q4_2').value != '' &&
		document.getElementById('q4_3').value != '') {
		c_2 = (parseFloat(document.getElementById('q4_2').value) * parseFloat(document.getElementById('q4_3').value)).toFixed(0);
	}
	
	if (c_1 != message &&
		document.getElementById('t4_1').value != '') {
		//~ f_1 = ((((100 + parseFloat(document.getElementById('t4_1').value)) /100) * parseFloat(document.getElementById('q4_2').value)) / parseFloat(document.getElementById('q4_1').value)).toFixed(1);
	   // c_1 = (((parseFloat(document.getElementById('q4_1').value) - (parseFloat(document.getElementById('q4_2').value) - (100 - parseFloat(document.getElementById('t4_1').value)) / 100) * parseFloat(document.getElementById('q4_2').value)) / parseFloat(document.getElementById('q4_1').value)) * 100).toFixed(1);
	    //f_1 = (((parseFloat(document.getElementById('q4_1').value) - (parseFloat(document.getElementById('q4_2').value) - (100 - parseFloat(document.getElementById('t4_1').value)) / 100) * parseFloat(document.getElementById('q4_2').value)) / parseFloat(document.getElementById('q4_1').value)) * 100).toFixed(1);
	    f_1a = ((100 - parseFloat(document.getElementById('t4_1').value)) / 100) * parseFloat(document.getElementById('q4_2').value).toFixed(1);
	    f_1 = (((parseFloat(document.getElementById('q4_1').value) - f_1a) / parseFloat(document.getElementById('q4_1').value)) * 100).toFixed(1);
	}

	if (c_2 != message &&
		document.getElementById('t4_1').value != '') {
	    f_2 = (((100 - parseFloat(document.getElementById('t4_1').value)) / 100) * c_2).toFixed(0);
	}

	if (f_2 != message) {
		a_1 = ((c_2 - f_2) * 12).toFixed(0);
	}

	document.getElementById('c4_1').innerHTML = c_1;
	document.getElementById('c4_2').innerHTML = c_2;
	document.getElementById('f4_1').innerHTML = f_1;
	document.getElementById('f4_2').innerHTML = f_2;
	document.getElementById('a4_1').innerHTML = a_1;
	
	KPI_Summary(4);
}

function q5calc(id)
{
	var message = '';
	var c_1 = message;
	var f_1 = message;
	var a_1 = message;
	
	checkNaN(id, 5);
	
	if (document.getElementById('q5_1').value != '' &&
		document.getElementById('q5_2').value != '') {
		c_1 = (parseFloat(document.getElementById('q5_1').value) / parseFloat(document.getElementById('q5_2').value)).toFixed(1);
	}
	
	if (document.getElementById('q5_1').value != '' &&
		document.getElementById('q5_2').value != '' &&
		document.getElementById('t5_1').value != '' &&
		document.getElementById('t5_2').value != '') {
		f_1 = (((100 + parseFloat(document.getElementById('t5_1').value)) /100) * parseFloat(document.getElementById('q5_1').value)) / (((100 - parseFloat(document.getElementById('t5_2').value)) /100) * parseFloat(document.getElementById('q5_2').value));
	}

	if (document.getElementById('q5_1').value != '' &&
		document.getElementById('q5_2').value != '' &&
		f_1 != message) {
		a_1 = (parseFloat(document.getElementById('q5_2').value) - (parseFloat(document.getElementById('q5_1').value) / f_1));
	}

	document.getElementById('c5_1').innerHTML = c_1;
	document.getElementById('f5_1').innerHTML = f_1.toFixed(1);
	document.getElementById('a5_1').innerHTML = a_1.toFixed(0);
	
	KPI_Summary(5);
}

function q6calc(id)
{
	var message = '';
	var c_1 = message;
	var f_1 = message;
	var a_1 = message;
	var a_2 = message;
	
	checkNaN(id, 6);
	
	if (document.getElementById('q6_1').value != '') {
		c_1 = parseFloat(document.getElementById('q6_1').value);
	}
	
	if (c_1 != message &&
		document.getElementById('t6_1').value != '') {
		f_1 = ((100 - parseFloat(document.getElementById('t6_1').value)) /100) * c_1;
	}

    if (document.getElementById('q6_2').value != '') {
        a_1 = parseFloat(document.getElementById('q6_2').value) * 0.5;
	}

	document.getElementById('c6_1').innerHTML = c_1;
	document.getElementById('f6_1').innerHTML = f_1.toFixed(2);
	document.getElementById('a6_1').innerHTML = a_1.toFixed(2);
	
	KPI_Summary(6);
}

function q7calc(id)
{
	var message = '';
	var c_1 = message;
	var c_2 = message;
	var c_3 = message;
	var f_1 = message;
	var f_2 = message;
	var f_3 = message;
	var a_1 = message;
	
	checkNaN(id, 7);
	
	if (document.getElementById('q7_1').value != '') {
		c_1 = (parseFloat(document.getElementById('q7_1').value)).toFixed(0);
	}
	
	if (document.getElementById('q7_2').value != '') {
		c_2 = (parseFloat(document.getElementById('q7_2').value)).toFixed(0);
	}
	
	if (document.getElementById('q7_3').value != '') {
		c_3 = (parseFloat(document.getElementById('q7_3').value)).toFixed(0);
	}
	
	if (document.getElementById('q7_1').value != '' &&
		document.getElementById('t7_1').value != '') {
		f_1 = (((100 - parseFloat(document.getElementById('t7_1').value)) /100) * document.getElementById('q7_1').value).toFixed(0);
	}

	if (document.getElementById('q7_2').value != '' &&
		document.getElementById('t7_2').value != '') {
		f_2 = (((100 - parseFloat(document.getElementById('t7_2').value)) /100) * document.getElementById('q7_2').value).toFixed(0);
	}

	if (document.getElementById('q7_3').value != '' &&
		document.getElementById('t7_3').value != '') {
		f_3 = (((100 - parseFloat(document.getElementById('t7_3').value)) /100) * document.getElementById('q7_3').value).toFixed(0);
	}

	if (f_1 != message &&
		f_2 != message &&
		f_3 != message) {
		a_1 = parseFloat((parseFloat(c_1) - parseFloat(f_1)) + (parseFloat(c_2) - parseFloat(f_2)) + (parseFloat(c_3) - parseFloat(f_3))).toFixed(0);
	}

	document.getElementById('c7_1').innerHTML = c_1;
	document.getElementById('c7_2').innerHTML = c_2;
	document.getElementById('c7_3').innerHTML = c_3;
	document.getElementById('f7_1').innerHTML = f_1;
	document.getElementById('f7_2').innerHTML = f_2;
	document.getElementById('f7_3').innerHTML = f_3;
	document.getElementById('a7_1').innerHTML = a_1;
	
	KPI_Summary(7);
}

function q8calc(id)
{
	var message = '';
	var c_1 = message;
	var c_2 = message;
	var c_3 = message;
	var c_4 = message;
	var c_5 = message;
	var c_6 = message;
	var f_1 = message;
	var f_2 = message;
	var f_3 = message;
	var f_4 = message;
	var f_5 = message;
	var f_6 = message;
	
	checkNaN(id, 8);
	
	if (document.getElementById('q8_1').value != '') {
		c_1 = parseFloat(document.getElementById('q8_1').value);
	}
	
	if (document.getElementById('q8_2').value != '') {
		c_2 = parseFloat(document.getElementById('q8_2').value);
	}
	
	if (document.getElementById('q8_3').value != '') {
		c_3 = parseFloat(document.getElementById('q8_3').value);
	}
	
	if (document.getElementById('q8_4').value != '') {
		c_4 = parseFloat(document.getElementById('q8_4').value);
	}
	
	if (c_1 != message &&
		c_2 != message &&
		c_3 != message) {
		c_5 = (c_1 + c_2 + c_3).toFixed(0);
	}
	
	if (c_4 != message &&
		c_5 != message) {
		c_6 = (c_5 / c_4).toFixed(0);
	}
	
	if (c_1 != message &&
		document.getElementById('t8_1').value != '') {
		f_1 = parseFloat((((100 + parseFloat(document.getElementById('t8_1').value)) /100) * c_1).toFixed(2));
	}

	if (c_2 != message &&
		document.getElementById('t8_2').value != '') {
		f_2 = parseFloat((((100 + parseFloat(document.getElementById('t8_2').value)) /100) * c_2).toFixed(2));
	}

	if (c_3 != message &&
		document.getElementById('t8_3').value != '') {
		f_3 = parseFloat((((100 + parseFloat(document.getElementById('t8_3').value)) /100) * c_3).toFixed(2));
	}

	if (c_4 != message &&
		document.getElementById('t8_4').value != '') {
		f_4 = parseFloat((((100 + parseFloat(document.getElementById('t8_4').value)) /100) * c_4).toFixed(2));
	}

	if (f_1 != message &&
		f_2 != message &&
		f_3 != message) {
		f_5 = f_1 + f_2 + f_3;
	}
	
	if (f_4 != message &&
		f_5 != message) {
		f_6 = (f_5 / f_4).toFixed(0);
	}
	
	document.getElementById('c8_1').innerHTML = c_1;
	document.getElementById('c8_2').innerHTML = c_2;
	document.getElementById('c8_3').innerHTML = c_3;
	document.getElementById('c8_4').innerHTML = c_4;
	document.getElementById('c8_5').innerHTML = c_5;
	document.getElementById('c8_6').innerHTML = c_6;
	document.getElementById('f8_1').innerHTML = f_1;
	document.getElementById('f8_2').innerHTML = f_2;
	document.getElementById('f8_3').innerHTML = f_3;
	document.getElementById('f8_4').innerHTML = f_4;
	document.getElementById('f8_5').innerHTML = f_5;
	document.getElementById('f8_6').innerHTML = f_6;
	
	KPI_Summary(8);
}


