document.write("<scr" + "ipt src='/_ssi/js/_tables.js' type='text/javascript'><\/scr" + "ipt>");
document.write("<scr" + "ipt src='/_ssi/js/_graph.js' type='text/javascript'><\/scr" + "ipt>");

function addMe(elem, istype) {
	var previousW = exeAjaxR("/_ssi/ajax/_getCurrentW.asp", "", eFunc);
	var nID = updateMe(elem);

	if (nID) {
		var currentDate = new Date();
		var yNow = currentDate.getFullYear();
		
		//var strType = document.getElementById('inpType').value;
		
		var strDateDD = document.getElementById('inpDateDD').value;
		var strDateMM = document.getElementById('inpDateMM').value;
		var strDateYY = document.getElementById('inpDateYY').value;
		
		var strStone = document.getElementById('inpStone');
		var strPounds = document.getElementById('inpPounds');
		var strMetric = document.getElementById('inpMetric');
		
		var useMetric = false;
		
		if (strMetric) {
			useMetric = true;
			strMetric = strMetric.value;
		}
		else {
			strStone = strStone.value;
			strPounds = strPounds.value;
		}
		
		var tr = document.getElementById('tblData').insertRow(6);
		tr.id = nID;
		tr.vAlign = 'top';
		tr.style.backgroundColor = '#FFFFCC';

		var td = tr.insertCell(-1);
		td.className = 'button';
		td.innerHTML = "<a href='javascript:void(0)' title='Delete' onclick='deleteMe(this, "+ nID +", "+ istype +")' class='deleteMe'>Delete</a><a href='javascript:void(0)' title='Cancel' onclick='editMe(this, "+ nID +", 1)' class='cancelMe'>Cancel</a>";

		var td = tr.insertCell(-1);
		td.className = 'inpDate';
		
		var strDate = "<input type='hidden' name='_blank'/>";
		strDate = strDate +"<div class='IsWeightGroup'>";
		strDate = strDate +"<label id='lblDateDD"+ nID +"' style='float: left; padding-left: 10px'>";
		//if (strDateDD < 10) {
		//	strDate = strDate +"0";
		//}
		strDate = strDate + strDateDD;
		strDate = strDate +"</label>";
		strDate = strDate +"<select id='inpDateDD"+ nID +"' name='strDateDD"+ nID +"' style='float: left'>";
		for (i=1;i<=31;i++) {
			if (i < 10) {
				var optVal = "0"+ i;
			}
			else {
				var optVal = ''+ i;
			}
			
			strDate = strDate +"<option value='"+ optVal +"'";
			if (strDateDD == i) {
				strDate = strDate +" selected='selected'";
			}
			strDate = strDate +">"+ optVal +"</option>";
		}

		strDate = strDate +"</select>";
		strDate = strDate +"<label style='float: left'>&nbsp;/&nbsp;</label>";

		strDate = strDate +"<label id='lblDateMM"+ nID +"' style='float: left'>";
		//if (strDateMM < 10) {
		//	strDate = strDate +"0";
		//}
		strDate = strDate + strDateMM;
		strDate = strDate +"</label>";
		strDate = strDate +"<select id='inpDateMM"+ nID +"' name='strDateMM"+ nID +"' style='float: left; margin-left: 2px'>";

		for (i=1;i<=12;i++) {
			if (i < 10) {
				var optVal = "0"+ i;
			}
			else {
				var optVal = ''+ i;
			}
			
			strDate = strDate +"<option value='"+ optVal +"'";
			if (strDateMM == i) {
				strDate = strDate +" selected='selected'";
			}
			strDate = strDate +">"+ optVal +"</option>";
		}

		strDate = strDate +"</select>";
		strDate = strDate +"<label style='float: left' >&nbsp;/&nbsp;</label>";

		strDate = strDate +"<label id='lblDateYY"+ nID +"' style='float: left'>"+ strDateYY +"</label>";
		strDate = strDate +"<select id='inpDateYY"+ nID +"' name='strDateYY"+ nID +"' style='float: left; margin-left: 2px'>";

		for (i=2009;i<=yNow+5;i++) {
			var optVal = ''+ i;
		
			strDate = strDate +"<option value='"+ optVal +"'";
			if (strDateYY == i) {
				strDate = strDate +" selected='selected'";
			}
			strDate = strDate +">"+ optVal.substr(2,2) +"</option>";
		}

		strDate = strDate +"</select>";
		strDate = strDate +"</div>";
		
		td.innerHTML = strDate;

		var td = tr.insertCell(-1);
		var strWeight = "<div class='IsWeightGroup'>";
		
		if (useMetric) {
			strWeight = strWeight +"<label id='lblMetric"+ nID +"' style='padding-left: 10px'>"+ strMetric +"</label><label> kg</label>";
			strWeight = strWeight +"<input type='text' id='inpMetric"+ nID +"' name='strMetric"+ nID +"' value='"+ strMetric +"' style='width: 40px'/>";
		}
		else {
			strWeight = strWeight +"<label id='lblStone"+ nID +"' style='padding-left: 10px'>"+ strStone +"</label><label>st, </label>";
			strWeight = strWeight +"<select id='inpStone"+ nID +"' name='strStone"+ nID +"' style='width: 40px'>";
			for (i=6;i<=18;i++) {
				strWeight = strWeight +"<option value='"+ i +"'";
				if (strStone == i) {
					strWeight = strWeight +" selected='selected'";
				}
				strWeight = strWeight +">"+ i +"</option>";
			}
			strWeight = strWeight +"</select>";

			strWeight = strWeight +"<label id='lblPounds"+ nID +"'>"+ strPounds +"</label><label>lbs</label>";
			strWeight = strWeight +"<select id='inpPounds"+ nID +"' name='strPounds"+ nID +"' style='width: 40px'>";
			for (i=0;i<=13;i++) {
				strWeight = strWeight +"<option value='"+ i +"'";
				if (strPounds == i) {
					strWeight = strWeight +" selected='selected'";
				}
				strWeight = strWeight +">"+ i +"</option>";
			}
			strWeight = strWeight +"</select>";
		}
		strWeight = strWeight +"</div>";
		
		td.innerHTML = strWeight;

		var td = tr.insertCell(-1);
		td.className = 'button';
		td.innerHTML = "<a href='javascript:void(0)' title='Edit' onclick='editMe(this, "+ nID +")' class='editMe' style='width: 20px'>Edit</a><a href='javascript:void(0)' title='Save' onclick='updateMe(this, "+ nID +")' class='saveMe' style='width: 20px'>Save</a>";

		addNew(elem, 1);
		reOrder();

		if (document.getElementById('msgOuter')) {
			tr.style.backgroundColor = '';
			doFade(1,1);
			
			var currentW = exeAjaxR("/_ssi/ajax/_getCurrentW.asp", "", eFunc);
			
			if (currentW < previousW) {
				document.getElementById('isPositive').style.display = '';
				document.getElementById('isNegative').style.display = 'none';
				document.getElementById('isNeutral').style.display = 'none';
				if (useMetric) {
				    SFTracker._trackPageview('/virtual/task-trackWeight/step-lost/start-' + $('#inpMetricStart').val() + '/target-' + $('#inpMetricTarget').val() + '/current-' + currentW);
				} else {
				    SFTracker._trackPageview('/virtual/task-trackWeight/step-lost/start-' + $('#inpStoneStart').val() + '-' + $('#inpPoundsStart').val() + '/target-' + $('#inpStoneTarget').val() + '-' + $('#inpPoundsTarget').val() + '/current-' + currentW);
				}
			}
			else if (currentW == previousW) {
				document.getElementById('isPositive').style.display = 'none';
				document.getElementById('isNegative').style.display = 'none';
				document.getElementById('isNeutral').style.display = '';
				if (useMetric) {
				    SFTracker._trackPageview('/virtual/task-trackWeight/step-same/start-' + $('#inpMetricStart').val() + '/target-' + $('#inpMetricTarget').val() + '/current-' + currentW);
				} else {
				    SFTracker._trackPageview('/virtual/task-trackWeight/step-same/start-' + $('#inpStoneStart').val() + '-' + $('#inpPoundsStart').val() + '/target-' + $('#inpStoneTarget').val() + '-' + $('#inpPoundsTarget').val() + '/current-' + currentW);
				}
			}
			else if (currentW > previousW) {
				document.getElementById('isPositive').style.display = 'none';
				document.getElementById('isNegative').style.display = '';
				document.getElementById('isNeutral').style.display = 'none';
				if (useMetric) {
				    SFTracker._trackPageview('/virtual/task-trackWeight/step-gained/start-' + $('#inpMetricStart').val() + '/target-' + $('#inpMetricTarget').val() + '/current-' + currentW);
				} else {
				    SFTracker._trackPageview('/virtual/task-trackWeight/step-gained/start-' + $('#inpStoneStart').val() + '-' + $('#inpPoundsStart').val() + '/target-' + $('#inpStoneTarget').val() + '-' + $('#inpPoundsTarget').val() + '/current-' + currentW);
				}
			}
			
			document.getElementById('msgOuter').style.display = '';
		}
		
		if (document.getElementById('tblData').rows.length > 5) {
			if (document.getElementById('pgMSG')) document.getElementById('pgMSG').style.display = "block";
			if (document.getElementById('pgNoMSG')) document.getElementById('pgNoMSG').style.display = "none";
		}
		
		drawMe(1);
		
		if (document.getElementById('msgOuter')) {
			//do nothing - message has been shown
		}
		else {
			window.setTimeout(function() {
				tr.style.backgroundColor = '';
				doFade(1,1,1);
			},600);
		}
		
		if (document.getElementById('tblData').rows.length > 6) {
			document.getElementById('trCurrentW').style.display = '';
		}
	}
}

function updateMe(elem, rID, isStart, isTarget) {
	var sURL = "/_ssi/ajax/_updateW.asp";

	if (rID == null) {
		var strDateDD = false;
		var strDateMM = false;
		var strDateYY = false;

		var sVars = "";
		
		if (isStart == 1) {
			var strStone = document.getElementById('inpStoneStart');
			var strPounds = document.getElementById('inpPoundsStart');
			var strMetric = document.getElementById('inpMetricStart');
			
			sVars = "strStart=1&";
		}
		else if (isTarget == 1) {
			var strStone = document.getElementById('inpStoneTarget');
			var strPounds = document.getElementById('inpPoundsTarget');
			var strMetric = document.getElementById('inpMetricTarget');
			
			sVars = "strTarget=1&";
		}
		else {
			strDateDD = document.getElementById('inpDateDD');
			strDateMM = document.getElementById('inpDateMM');
			strDateYY = document.getElementById('inpDateYY');
			
			var strStone = document.getElementById('inpStone');
			var strPounds = document.getElementById('inpPounds');
			var strMetric = document.getElementById('inpMetric');
		}
	}
	else {		
		var strDateDD = document.getElementById('inpDateDD'+ rID);
		var strDateMM = document.getElementById('inpDateMM'+ rID);
		var strDateYY = document.getElementById('inpDateYY'+ rID);
		
		var strStone = document.getElementById('inpStone'+ rID);
		var strPounds = document.getElementById('inpPounds'+ rID);
		var strMetric = document.getElementById('inpMetric'+ rID);

		var sVars = "ID="+ rID +"&";
	}

	if (strMetric) {
		if (strMetric.value.length == 0) {
			alert('Please enter a valid Weight');
			return false;
		}
	}
	else {
		if (strStone.value.length == 0 && strPounds.value.length == 0) {
			alert('Please enter a valid Weight');
			return false;
		}
	}
	
	sVars = sVars +"strType=4";

	if (strDateDD) sVars = sVars +"&strDateDD="+ escape(strDateDD.value);
	if (strDateMM) sVars = sVars +"&strDateMM="+ escape(strDateMM.value);
	if (strDateYY) sVars = sVars +"&strDateYY="+ escape(strDateYY.value);
	
	if (strStone) sVars = sVars +"&strStone="+ escape(strStone.value);
	if (strPounds) sVars = sVars +"&strPounds="+ escape(strPounds.value);
	if (strMetric) sVars = sVars +"&strMetric="+ escape(strMetric.value);
	
	var rVal = exeAjaxR(sURL, sVars, eFunc);

	var objTR = elem.parentNode.parentNode;
	var objINPs = objTR.getElementsByTagName('INPUT');
	var objSELs = objTR.getElementsByTagName('SELECT');

	if (rVal.length == 0) {
		for (i=0;i<objINPs.length;i++) {
			if (document.getElementById(objINPs[i].id.replace('inp', 'lbl'))) {
				document.getElementById(objINPs[i].id.replace('inp','lbl')).innerHTML = document.getElementById(objINPs[i].id).value;
			}
		}
		
		for (i=0;i<objSELs.length;i++) {
			if (document.getElementById(objSELs[i].id.replace('inp', 'lbl')) && document.getElementById(objSELs[i].id)[document.getElementById(objSELs[i].id).selectedIndex].value.length > 0) {
				document.getElementById(objSELs[i].id.replace('inp','lbl')).innerHTML = document.getElementById(objSELs[i].id)[document.getElementById(objSELs[i].id).selectedIndex].value;
			}
		}

		editMe(elem, rID, 1);
		
		//if (isStart != 1 && isTarget != 1) {
			drawMe(1);
		//}
		
		objTR.style.backgroundColor = '#FFFFCC';
		window.setTimeout(function() {
			objTR.style.backgroundColor = '';
		},600);
	}
	else {
		if (rVal.indexOf('NEW:') == 0) {
			return rVal.replace('NEW:','');
		}
		else {
			if (rVal.indexOf('ERR:') == 0) {
				var msg = rVal.replace('ERR:','');
				msg = msg.replace('[LOGOUT]','');
				
				alert(msg);
				
				if (rVal.indexOf('[LOGOUT]') > 0) {
					window.location = '/planandtrack/tools/logout.asp';
				}
				return false;
			}
			else {
				alert('An unknown error occured. Please contact the website administrator');
			}
		}
	}
	
	closeMSG();
}

function showGraph(hide) {
	if (hide == 1) {
		document.getElementById('trGraphHeading').className = 'hideMe';
		
		document.getElementById('trGraphShow').className = '';
		document.getElementById('trGraphHide').className = 'hideMe';
		
		document.getElementById('trGraph').className = 'hideMe';
	}
	else {
		document.getElementById('trGraphHeading').className = '';
		
		document.getElementById('trGraphShow').className = 'hideMe';
		document.getElementById('trGraphHide').className = '';
		
		document.getElementById('trGraph').className = '';
	}
}

function fullScreen(elem) {
	closeMSG();
	
	if (document.getElementById('tdWeights')) {
		if (document.getElementById('tdWeights').style.display == 'none') {
			//close full-screen	
			if (document.getElementById('zoomIMG')) {
				document.getElementById('zoomIMG').src = '/planandtrack/tools/img/zoomIn.png';
				document.getElementById('zoomIMG').alt = 'Full Screen Graph';
			}
			elem.title = 'Full Screen Graph';

			//if (document.getElementById('header')) document.getElementById('header').style.display = '';
		
			if (document.getElementById('container')) {
				for (i=0;i<document.getElementById('container').getElementsByTagName('h1').length;i++) {
					document.getElementById('container').getElementsByTagName('h1')[i].style.display = '';
				}
				
				for (i=0;i<document.getElementById('container').getElementsByTagName('div').length;i++) {
					if (document.getElementById('container').getElementsByTagName('div')[i].className == 'toolsListening') {
						document.getElementById('container').getElementsByTagName('div')[i].style.display = '';
					}
				}
			}
			if (document.getElementById('weightTrackerOpen')) document.getElementById('weightTrackerOpen').style.display = '';
			if (document.getElementById('weightTrackerClose')) document.getElementById('weightTrackerClose').style.display = 'none';

			if (document.getElementById('pgHD')) document.getElementById('pgHD').style.display = '';
			if (document.getElementById('pgMSG')) document.getElementById('pgMSG').style.display = '';

			if (document.getElementById('tdWeights')) document.getElementById('tdWeights').style.display = '';
			if (document.getElementById('tblData')) document.getElementById('tblData').style.display = '';
			
			if (document.getElementById('footer')) document.getElementById('footer').style.display = '';

			g.render("lineCanvas", 380);
		}
		else {
			//show full-screen
			if (document.getElementById('zoomIMG')) {
				document.getElementById('zoomIMG').src = '/planandtrack/tools/img/zoomOut.png';
				document.getElementById('zoomIMG').alt = 'Close Full Screen';
			}
			elem.title = 'Close Full Screen';

			//if (document.getElementById('header')) document.getElementById('header').style.display = 'none';

			if (document.getElementById('container')) {
				for (i=0;i<document.getElementById('container').getElementsByTagName('h1').length;i++) {
					document.getElementById('container').getElementsByTagName('h1')[i].style.display = 'none';
				}

				for (i=0;i<document.getElementById('container').getElementsByTagName('div').length;i++) {
					if (document.getElementById('container').getElementsByTagName('div')[i].className == 'toolsListening') {
						document.getElementById('container').getElementsByTagName('div')[i].style.display = 'none';
					}
				}
			}
			if (document.getElementById('weightTrackerOpen')) document.getElementById('weightTrackerOpen').style.display = 'none';
			if (document.getElementById('weightTrackerClose')) document.getElementById('weightTrackerClose').style.display = 'none';			

			if (document.getElementById('pgHD')) document.getElementById('pgHD').style.display = 'none';
			if (document.getElementById('pgMSG')) document.getElementById('pgMSG').style.display = 'none';

			if (document.getElementById('tdWeights')) document.getElementById('tdWeights').style.display = 'none';
			if (document.getElementById('tblData')) document.getElementById('tblData').style.display = 'none';
			
			if (document.getElementById('footer')) document.getElementById('footer').style.display = 'none';

			g.render("lineCanvas", 550, true);
		}
	}
}

function closeMSG() {
	if (document.getElementById('msgOuter')) {
		doFade(1,1,1);
		document.getElementById('msgOuter').style.display = 'none';

		document.getElementById('isPositive').style.display = 'none';
		document.getElementById('isNegative').style.display = 'none';
		document.getElementById('isNeutral').style.display = 'none';
	}
}
