function CheckNumber(obj)
{
  if( (event.keyCode == 189 || event.keyCode == 109) || (event.keyCode >= 48 && event.keyCode <= 57) || 
      (event.keyCode >= 96 && event.keyCode <= 105) || event.keyCode == 46 || event.keyCode ==8
       || event.keyCode == 37 || event.keyCode == 39 || event.keyCode == 9 || event.keyCode == 190) 
	{
	  var str = obj.value;
	  var i = str.indexOf(".");
	  if(i > -1 && event.keyCode == 190)
	  {
		  return false;
	  }
    	return true; 
    }
  else 
  {
    return false;
  }
}

function imposeMaxLength(Object, MaxLen)
{
	if(event.keyCode == 46 || event.keyCode ==8 || event.keyCode == 37 || event.keyCode == 39 || event.keyCode == 9)
	{
		return true;
	}
  return (Object.value.length <= MaxLen);
}

function checkField()
{
	var sum = 0;
	var sum1 = 0;
	var cnt = document.frmName.elements["cat[]"].length;
	if(cnt == undefined)
		{
			cnt = 1;
		}
	for(j=0; j < cnt; j++)
	{
		sum1 = 0;
		for(i=0; i < 7; i++)
		{
				sum = 0;
				if(eval("document.forms.frmName.elements[\"C" + j + "TA" + i + "Val[]\"]") != null)
				{
					if(eval("document.forms.frmName.elements[\"C" + j + "TA" + i + "Val[]\"].length") > 1)
					{
						for(k=0; k< eval("document.forms.frmName.elements[\"C" + j + "TA" + i + "Val[]\"].length"); k++)
						{
							val = parseFloat(eval("document.forms.frmName.elements[\"C" + j + "TA" + i + "Val[]\"][k].value"));
							if(!isNaN(val))
							{
								sum += val;
							}
						}
					}
					else
					{
							val = parseFloat(eval("document.forms.frmName.elements[\"C" + j + "TA" + i + "Val[]\"].value"));
							if(!isNaN(val))
							{
								sum += val;
							}
					}
					sum = Math.round(parseFloat(sum) * 100)  / 100;
					eval("document.forms.frmName.elements[\"C" + j + "txtTotal" + i + "\"].value = sum" );
					sum1 += sum;
				}
		}
		sum1 = Math.round(parseFloat(sum1) * 100)  / 100;
		eval("document.forms.frmName.elements[\"weekly_total" + j +  "\"].value = sum1");
	}

	return true;
}

var flag = new Array();
var AllowMultiRow = 1;
var RowCount = new Array();

function addCategory(frmName, catname, catid)
{ //alert(catid);
	var cnt = 0;
	if(eval('document.' + frmName + '.elements["cat[]"]') != null)
	{
		cnt = eval('document.' + frmName + '.elements["cat[]"].length');
		if(cnt == undefined)
		{
			cnt = 1;
		}
	}
	
	if(catid == '' && catname == '')
	{
		catname = 'Category ' + (cnt + 1);
	}
	var myTable = document.getElementById('tbl1');
	var tbhead = document.createElement('tbody');
	tbhead.id = "tbhead"+cnt;
	myTable.appendChild (tbhead);
	var newTR1 = document.createElement('tr');
	var TDCat0 = document.createElement('th');
	newTR1.appendChild (TDCat0);
	var TDCat = document.createElement('th');
	
	var strcatgory = '<input type="text" style="padding-left: 5px; font-weight:bold; font-size: 10px" ';
	strcatgory +='name="cat[]" size="15" maxlength="25" value="' + catname + '"  class="textClassAcheiveGoaltotal" readonly="readonly">&nbsp;&nbsp;';
	strcatgory +='<a href="#" style="font-weight:normal; font-size: 9px" onclick="return editcat(' + cnt + ');">Edit</a>&nbsp;&nbsp;';
	if (catid != ''){
	strcatgory +='<a href="#" style="font-weight:normal; font-size: 9px" onclick="return deleteItem(\'' + catid + '\',\'3\');">Remove</a>';
	}
	strcatgory +='<input type="hidden" name="catid[]" value="' + catid + '"  class="textClassAcheiveGoaltotal" readonly="readonly">';
	TDCat.innerHTML = strcatgory;
	TDCat.colSpan = 9;
	TDCat.align = "left";
	newTR1.appendChild (TDCat);
	tbhead.appendChild (newTR1);
	var tbody = document.createElement('tbody');
	tbody.id = "tbody"+cnt;
	myTable.appendChild (tbody);
	
	var tbfoot = document.createElement('tbody');
	tbfoot.id = "tbfoot"+cnt;
	myTable.appendChild (tbfoot);


	var newTR = document.createElement('tr');
	var newTD0 = document.createElement('td');
	newTR.appendChild (newTD0);

	var newTD = null;
	var str = '';
	for(i=0; i < 7; i++)
	{
		newTD = document.createElement('td');
		newTD.align = "right";
		newTD.innerHTML = '<div style="float: right"><input type="text" name="C' + cnt + 'txtTotal' + i + '" class="textClassAcheiveGoaltotal" readonly="readonly" size="3" value=""></div>';
		newTR.appendChild (newTD);
	}
	
	newTD0 = document.createElement('td');
	newTR.appendChild (newTD0);
	tbfoot.appendChild (newTR);
		
	var newTR2 = document.createElement('tr');
	var newTD2 = document.createElement('td');
	
	var str2 = '<table width="800" height="25" border="0" cellpadding="0" cellspacing="0" align="right"><tr><td width="15%" nowrap="nowrap">';
	str2 += '<input name="addField" type="button" class="btn" value="Add Row" onclick="addRow(' + cnt + ', null, \'\',new Array(7), new Array(7), new Array(7)); resizeCat();">';
	str2 += '</td><td align="right" width="80%" style="padding-right: 10px; height: 22px; text-align: right;" class="heading1">Weekly Total:</td>';
	str2 += '<td width="5%" align="left" style="height: 22px"><input type="text" value="" name="weekly_total' + cnt + '" maxlength="10" size="6" style="font-weight: bold" class="textClassAcheiveGoaltotal"></td></tr>';
	newTD2.innerHTML = str2;
	newTD2.colSpan = 9;
	newTR2.appendChild (newTD2);
	tbfoot.appendChild (newTR2);
}

function editcat(cnt)
{
	var obj;
	if(eval('document.frmName.elements["cat[]"]') != null)
	{
		var cnt1 = document.frmName.elements["cat[]"].length;
		if(cnt1 == undefined)
		{
			obj = document.frmName.elements["cat[]"];
		}
		else
		{
			if(cnt == undefined)
				cnt = cnt1 - 1;
				
			obj = document.frmName.elements["cat[]"][cnt];
		}
		obj.readOnly = false;
		obj.style.backgroundColor = "#FFFFFF";
		obj.size = 25;
		obj.focus();
		obj.select();
	}
	return false;
}

function editRow(id)
{
	var obj = document.getElementById(id);
	obj.readOnly = false;
	obj.style.backgroundColor = "#FFFFFF";
	obj.size = 8;
	obj.focus();
	obj.select();
	return false;
}
function deleteItem(id, mode)
{
	var msg1 = (mode == '2') ? "Row" : "Category";
	var msg = "Are you sure you want to delete this " + msg1 + "?";
	if(confirm(msg))
	{
		document.frmAction.mode.value = mode;
		document.frmAction.action.value = "1";
		document.frmAction.id.value = id;
		document.frmAction.submit();
	}
}
function resizeCat()
{
	var obj;
	if(eval('document.frmName.elements["cat[]"]') != null)
	{
		var cnt1 = document.frmName.elements["cat[]"].length;
		if(cnt1 == undefined)
		{
			obj = document.frmName.elements["cat[]"];
			if(obj.readOnly == true)
				obj.size = obj.value.length;
			resizeRow(0);
		}
		else
		{
			for(m=0; m < cnt1; m++)
			{	
				obj = document.frmName.elements["cat[]"][m];
				if(obj.readOnly == true)
					obj.size = obj.value.length;
				
				resizeRow(m);
			}
		}
	}
}

function resizeRow(cnt)
{
	var obj;
	if(eval('document.frmName.elements["R' + cnt + '[]"]') != null)
	{
		var cnt1 = document.frmName.elements["R" + cnt + "[]"].length;
		if(cnt1 == undefined)
		{
			obj = document.frmName.elements["R" + cnt + "[]"];
			if(obj.readOnly == true)
				obj.size = (obj.value.length < 2) ? 2 : obj.value.length;
		}
		else
		{
			for(i=0; i < cnt1; i++)
			{	
				obj = document.frmName.elements["R" + cnt + "[]"][i];
				if(obj.readOnly == true)
					obj.size = (obj.value.length < 2) ? 2 : obj.value.length;
			}
		}
	}
}

function addRow(cat1, rowName, rowid, str1, strval1, str2)
{ //alert(rowid);
	if(cat1 == undefined)
	{
		cat1 = 0;
	}
	else
	{
		cat1 = (cat1 >= document.frmName.elements["cat[]"].length) ? cat1 - 1 : cat1;
	}

	if(AllowMultiRow == 0 && RowCount[cat1] > 1)
	{
		return;
	}
	
	RowCount[cat1]++;
	var str = (flag[cat1] == undefined || flag[cat1] == 0) ? "Off" : "On";
	var tBody = document.getElementById('tbody' + cat1);
	var newTR = document.createElement('tr');
	var newTD0 = document.createElement('td');
	var obj = eval('document.frmName.elements["R' + cat1 + '[]"]');
	var cnt = (obj == undefined) ? 0 : obj.length;
	cnt = (cnt == undefined) ? 1 : cnt;

	rowName = (rowName == null) ? cnt + 1 + '.' : rowName;
	
	var strTD0 = '<input type="text" id="R' + cat1 + cnt + '" name="R' + cat1 + '[]" style="padding-left: 5px; font-weight:bold; font-size: 10px" ';
	
	strTD0 += 'size="5" maxlength="25" value="' + rowName + '" class="textClassAcheiveGoaltotal" readonly="readonly">';
	strTD0 += '<a href="#" style="font-weight:normal; font-size: 9px" onclick="return editRow(\'R' + cat1 + cnt + '\');">Edit</a>&nbsp;';
	if(rowid != '' && rowid > 0)
	{
		strTD0 += ' / <a  href="#" style="font-weight:normal; font-size: 9px" onclick="return deleteItem(\'' + rowid + '\',\'2\');">Remove</a>';
	}
	strTD0 += '<input type="hidden" name="row' + cat1 + 'id[]" value="' + rowid + '"  class="textClassAcheiveGoaltotal" readonly="readonly">';
	newTD0.innerHTML = strTD0;
	newTR.appendChild (newTD0);

	var newTD = null;
	var str3 = '';
	for(i=0; i < 7; i++)
	{
		newTD = document.createElement('td');
		str3 =  '<table width="99%" border="0" style="border-collapse: collapse;" cellpadding="0" cellspacing="0"><tr><td>';
		str3 += '<input type="hidden" name="C' + cat1 + 'GSEQ' + i + '[]" value="' + ((str2[i] == undefined) ? "" : str2[i]) + '">';
		str3 += '<textarea name="C' + cat1 + 'TA' + i + '[]" cols="10" rows="3" class="textClassAcheiveGoal' + str + '" style="overflow:hidden">';
		str3 += ((str1[i] == undefined) ? "" : str1[i]) + '</textarea></td><td>';
		str3 += '<textarea name="C' + cat1 + 'TA' + i + 'Val[]" cols="3" rows="3" onkeydown="return CheckNumber(this);"';
		// return imposeMaxLength(this, 6)
		str3 += ' onkeypress="" onchange="checkField();" class="textClassDateGoal' + str + '" style="overflow:hidden">';
		str3 += ((strval1[i] == undefined) ? "" : strval1[i]) + '</textarea></td></tr></table>'; 
		newTD.innerHTML = str3;
		newTR.appendChild (newTD);
	}	
	tBody.appendChild(newTR);
	flag[cat1] = (flag[cat1] == undefined || flag[cat1] == 0)? 1 :0;
}