// JavaScript Document
function addFormLine()
{
	var tbl = document.getElementById('tblAwards');
	var tbody = tbl.tBodies[tbl.tBodies.length -1];
	var lastRow = tbody.rows.length;
	var iteration = lastRow + 1;
/*	if(iteration > 1 && document.getElementById('txtRecipientName_' + lastRow).value == "" )
	{
		alert("Previous item incomplete:  Recipient's name required.");
		document.getElementById('txtRecipientName_' + lastRow).focus();
		return;
	}
	if(iteration > 1 && document.getElementById('selHonor_' + lastRow).selectedIndex == 0 )
	{
		alert("Previous item incomplete:  Award or honor given required.");
		document.getElementById('selHonor_' + lastRow).focus();
		return;
	}
*/	var row = tbody.insertRow(lastRow);

	var cellOne = row.insertCell(0);
	cellOne.align = "center";
	var textNode = document.createTextNode(iteration);
	cellOne.appendChild(textNode);

	var cellTwo = row.insertCell(1);
	var inRec = document.createElement('input');
	inRec.type = "text";
	inRec.name = "bestowals[" + iteration + "][txtRecipientName]";
	inRec.id = "txtRecipientName_" + iteration;
	inRec.maxLength = 200;
	inRec.size = 35;
	inRec.setAttribute('onFocus',"setInputBG(event);");
	inRec.setAttribute('onBlur',"unsetInputBG(event);");
	cellTwo.appendChild(inRec);
	VKI_attach(inRec);

	var cellThree = row.insertCell(2);
	var selAwd = document.createElement('select');
	selAwd.name = "bestowals[" + iteration + "][selHonor]";
	selAwd.id = "selHonor_" + iteration;
	selAwd.setAttribute('onFocus',"setInputBG(event)");
	selAwd.setAttribute('onBlur',"unsetInputBG(event)");
	var origHonors = document.getElementById( 'selHonor_1' );
	for( var i=0; i<origHonors.length; i++ )
	{
		selAwd.options[i] = new Option( origHonors.options[i].text, origHonors.options[i].value );
	}
	cellThree.appendChild(selAwd);

	var cellFour = row.insertCell(3);
	var inNot = document.createElement('input');
	inNot.type = "text";
	inNot.name = "bestowals[" + iteration + "][txtBestowalNote]";
	inNot.id = "txtBestowalNote_" + iteration;
	inNot.size = 20;
	inNot.setAttribute('onFocus',"setInputBG(event)");
	inNot.setAttribute('onBlur',"unsetInputBG(event)");
	cellFour.appendChild(inNot);
	
/*	var cellFive = row.insertCell(4);
	cellFive.setAttribute('style',"text-align:center;");
	var btnDel = document.createElement('a');
	btnDel.setAttribute('href',"#");
	btnDel.setAttribute('onClick',"alert('Are you sure you want to delete this row');");
	btnDel.innerHTML = '<img alt="Delete row" title="Delete row" src="images/droprow.png" />';
	var nSpace = document.createTextNode(' ');
	var btnIns = document.createElement('a');
	btnIns.setAttribute('href',"#");
	btnIns.setAttribute('onClick',"alert('This would insert a row ABOVE this one');");
	btnIns.innerHTML = '<img alt="Insert row" title="Insert row" src="images/insertrow.png" />';

	cellFive.appendChild(btnDel);
	cellFive.appendChild(nSpace);
	cellFive.appendChild(btnIns);
*/
	inRec.focus();
	$("table.draggable").tableDnDUpdate();
	$("table.draggable tbody tr").hover(function() {
		$(this.cells[0]).addClass('showDragHandle');
	}, function() {
		$(this.cells[0]).removeClass('showDragHandle');
	});
}

function getEvent(e)
{
	if( window.event != null )
	{
		return event;
	}
	return e;
}

var bkColor = "#FFFF99";
function setInputBG(e)
{
	e = getEvent(e);
	var src = e.srcElement || e.target;
	if( src != null )
	{
		src.style.backgroundColor = "#FFFF99";
	}
}

function unsetInputBG(e)
{
	e = getEvent(e);
	var src = e.srcElement || e.target;
	if( src != null )
	{
		src.style.backgroundColor = "#FFFFFF";
	}
}

function chkValidate()
{
	var firstErr = true;
	// var retVal = true;
	var inputElems = [
		document.getElementsByTagName('input'),
		document.getElementsByTagName('textarea')
    ];
	for (var x = 0, elem; elem = inputElems[x++];)
	{
		for (var y = 0, ex; ex = elem[y++];)
		{
			if (ex.nodeName == "textarea" || ex.type == "text" || ex.type == "password")
			{
				var msg = "";
				var lblName = (lblField = getLabel( ex )) ? lblField.getAttribute('name').substring(3) : "" ;
				var errField = document.getElementById( "err" + lblName );

/*------ begin validations -----*/
/*------ REQUIRED -----*/
				if (ex.className.indexOf("required") > -1)
				{
					if (ex.value == "")
					{
						if (firstErr) { ex.focus(); firstErr = false; }
						msg = lblField.innerHTML + " is a required field\n";
					}
				}
/*----- Valid Date -----*/
				if (ex.className.indexOf("dateInput") > -1)
				{
					var dateRegEx = /^(?=\d)(?:(?!(?:1582(?:\.|-|\/)10(?:\.|-|\/)(?:0?[5-9]|1[0-4]))|(?:1752(?:\.|-|\/)0?9(?:\.|-|\/)(?:0?[3-9]|1[0-3])))(?=(?:(?!000[04]|(?:(?:1[^0-6]|[2468][^048]|[3579][^26])00))(?:(?:\d\d)(?:[02468][048]|[13579][26]))\D0?2\D29)|(?:\d{4}\D(?!(?:0?[2469]|11)\D31)(?!0?2(?:\.|-|\/)(?:29|30))))(\d{4})([-\/.])(0?\d|1[012])\2((?!00)[012]?\d|3[01])(?:$|(?=\x20\d)\x20))?((?:(?:0?[1-9]|1[012])(?::[0-5]\d){0,2}(?:\x20[aApP][mM]))|(?:[01]\d|2[0-3])(?::[0-5]\d){1,2})?$/;
					if (ex.value.length > 0 && !ex.value.match(dateRegEx))
					{
						ex.value = "";
						if (firstErr) { ex.focus(); firstErr = false; }
						msg = lblField.innerHTML + " was not a valid date format.  Dates must be in the format YYYY-MM-DD\n";
					}
				}
/*----- Valid email -----*/
				if (ex.className.indexOf("emailInput") > -1)
				{
					var emailRegEx = /^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/;
					if (ex.value.length > 0 && !ex.value.match(emailRegEx) )
					{
						ex.select();
						if (firstErr) { ex.focus(); firstErr = false; }
						msg = lblField.innerHTML + " is not a valid Email address.\n";
					}
				}
				if (msg.length > 0)
				{
					if (errField) { errField.innerHTML = msg; errField.style.display = "inline"; }
//					retVal = false;
					return false;
				}
				else
				{
					if (errField) { errField.innerHTML = ""; errField.style.display = "none"; }
				}
			}
/*----- Validate list of bestowals -----*/
		}
	}
//	return retVal;
	return true;
}

function getLabel( obj )  // returns label object whre 'for=' equals obj
{
	var labels = document.getElementsByTagName('label');
	for (var z = 0, lbl; lbl = labels[z++];)
	{
		if (lbl.htmlFor == obj.name)
		{
			var lblField = document.getElementById( lbl.getAttribute('name') );
			return lblField;
		}
	}
	return null;
}

function checkRows( textArea )
{
/*	if( navigator.appName.indexOf( "Microsoft Internet Explorer" ) == 0 )
	{
		textArea.style.overflow = 'visible';
		return;
	}
*/
	while( textArea.rows > 2 && textArea.scrollHeight < textArea.offsetHeight )
	{
		textArea.rows--;
	}

	while( textArea.scrollHeight > textArea.offsetHeight )
	{
		textArea.rows++;
	}
	return;
}

function reloadCaptcha()
{
	document.getElementById('captcha').src = 'securimage/securimage_show.php?' + Math.random();
	document.getElementById('txtcaptcha_code').focus();
	return false;
}

function confirmClear()
{
	var answer = confirm("Are you sure you wish to clear this form and start over?");
	if( answer )
	{
		document.getElementById('txtCourtOf').focus();
	}
	else
	{
		return false;
	}
}

function stopPKey( evt )
{
	var evt = (evt) ? evt : ((event) ? event : null);
	var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
	if ((evt.keyCode == 13) && (node.type=="text"))  {return false;}
}

function toggleSend( src, objID )
{
	var obj = document.getElementById( objID );
	if( src.value.length == 0 )
	{
		obj.style.disabled = true;
	}
	else
	{
		obj.style.disabled = false;
	}
}

document.onkeypress = stopPKey;

var tmpDraggable = {
	ready : function() {
		$("table.draggable").tableDnD({
			onDragClass: "row2",
			onDrop: function(tbl) {
				var tRows = tbl.tBodies[0].rows;
				for( var i=0; i<tRows.length; i++ )
				{
					var tRow = tRows[i];
					var lineNo = (i + 1);
					tRow.cells[0].innerHTML = lineNo;
					tRow.cells[1].children[0].name = 'bestowals[' + lineNo + '][txtRecipientName]';
					tRow.cells[2].children[0].name = 'bestowals[' + lineNo + '][selHonor]';
					tRow.cells[3].children[0].name = 'bestowals[' + lineNo + '][txtBestowalNote]';
				}
			}
		});
		$("table.draggable tbody tr").hover(function() {
			$(this.cells[0]).innerHTML = "";
			$(this.cells[0]).addClass('showDragHandle');
		}, function() {
			$(this.cells[0]).removeClass('showDragHandle');
		});
	}
}

$(document).ready(tmpDraggable.ready);

function jsCheck()
{
	var stat = document.getElementById('jsStatus');
	stat.innerHTML = "Passed";
	stat.style.color = "green";
}

