﻿// ----------------------------------------------------------------------------
function FormKeyDown_Init(formName)
{
	var frmRequest = document.getElementById(formName);
	if(frmRequest)
	{
		var ie = (document.all && !window.opera) ? true : false;
		if(ie)
			frmRequest.onkeydown = frmRequest_KeyDown;
		else
			frmRequest.onkeypress = frmRequest_KeyPress;
	}
}

// ----------------------------------------------------------------------------
// frmRequest_KeyDown
//
// Description: event handler for request form key down event
//    translates returns on option buttons to a tab
//    this works only for IE, the keypress event is used for other browsers
//
// Arguments : 
//    e - the event object
//
// Dependencies : none
//
// History :
// 2006.07.13 - WSR : adapted to this project
//
function frmRequest_KeyDown(e)
{
	var numCharCode;
	var elTarget;
	var strType;

	// get event if not passed
	if(!e) var e = window.event;

	// get character code of key pressed
	if(e.keyCode) numCharCode = e.keyCode;
	else if(e.which) numCharCode = e.which;

	// get target
	if(e.target) elTarget = e.target;
	else if(e.srcElement) elTarget = e.srcElement;

	// if form input field
	if(elTarget.tagName.toLowerCase() == 'input')
	{

		// get type
		strType = elTarget.getAttribute('type').toLowerCase();

		// based on type
		switch(strType)
		{
			case 'checkbox':
			case 'radio':
			case 'text':

				// if this is a return - change to tab
				if(numCharCode == 13)
				{
					if(e.keyCode) e.keyCode = 9;
					else if(e.which) e.which = 9;
				}

				break;

		}

	}

	// process default action
	return true;

}
//
// frmRequest_KeyDown
// ----------------------------------------------------------------------------


// ----------------------------------------------------------------------------
// frmRequest_KeyPress
//
// Description: event handler for request form key press event
//    cancels returns on form elements that would prematurely submit the form
//
// Arguments : 
//    e - the event object
//
// Dependencies : none
//
// History :
// 2006.07.13 - WSR : adapted to this project
//
function frmRequest_KeyPress(e)
{
	var numCharCode;
	var elTarget;
	var strType;

	// get event if not passed
	if(!e) var e = window.event;

	// get character code of key pressed
	if(e.keyCode) numCharCode = e.keyCode;
	else if(e.which) numCharCode = e.which;

	// get target
	if(e.target) elTarget = e.target;
	else if(e.srcElement) elTarget = e.srcElement;

	// if form input field
	if(elTarget.tagName.toLowerCase() == 'input')
	{

		// get type
		strType = elTarget.getAttribute('type').toLowerCase();

		// based on type
		switch(strType)
		{
			case 'checkbox':
			case 'radio':
			case 'text':

				// if this is a return
				if(numCharCode == 13)
				{
					// cancel event to prevent form submission
					return false;
				}

				break;

		}

	}

	// process default action
	return true;

}
//
// frmRequest_KeyPress
// ----------------------------------------------------------------------------
