var day;
var month;
var year;
var letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\u0104\u0141\u013d\u015a\u0160\u015e\u0164\u0179\u017d\u017b\u0105\u0142\u013e\u015b\u0161\u015f\u0165\u017a\u017e\u017c\u0154\u00c1\u00c2\u0102\u00c4\u0139\u0106\u00c7\u010c\u00c9\u0118\u00cb\u011a\u00cd\u00ce\u010e\u0143\u0147\u00d3\u00d4\u0150\u00d6\u0158\u016e\u00da\u0170\u00dc\u00dd\u0162\u00df\u0155\u00e1\u00e2\u0103\u00e4\u013a\u0107\u00e7\u010d\u00e9\u0119\u00eb\u011b\u00ed\u00ee\u010f\u0111\u0144\u0148\u00f3\u00f4\u0151\u00f6\u0159\u016f\u00fa\u0171\u00fc\u00fd\u0163";

/*
function testChar(event, mode) {
     code = (navigator.appName == 'Netscape' ? event.which : event.keyCode);
     //if ((mode & 16) && code == 13) return false;

     if (code == 13)
     {
        return !(mode & 16);
     }

     if (event.ctrlKey) return true;
     if (mode == 0 || mode == 16 || code == 0 || code == 8) return true;
     if ((mode & 1) && code > 47 && code < 58) return true;
     if ((mode & 2) && code == 32) return true;
     if ((mode & 4) && code == 95) return true;
     if ((mode & 8) && letters.indexOf(String.fromCharCode(code)) != -1) return true;
     return false;
}
*/

var lastVersionDisplayTrigger = -1;
var versionDisplayTriggerCount = 0;

function versionDisplayTrigger(version)
{
	var d = new Date();
	var time = d.getTime();

	if( lastVersionDisplayTrigger >= 0 && (time - lastVersionDisplayTrigger) < 3000 )
	{
		if( versionDisplayTriggerCount >= 6 )
		{
			alert( version );
			lastVersionDisplayTrigger = -1;
			versionDisplayTriggerCount = 0;
		}
		else
		{
			versionDisplayTriggerCount++;
		}
	}
	else
	{
		lastVersionDisplayTrigger = time;
		versionDisplayTriggerCount = 0;
	}
}

function submitForm()
{
    document.strus2.submit();
    return false;
}

function logIn(id)
{

	if( id == null )
	{
		id = 'login';
	}

    document.strus2.jsi.value=id;
    document.strus2.submit();

    return false;

}

function submitAction(id)
{

    document.strus2.jsi.value=id;
    document.strus2.submit();

    return false;

}

function openHelpViewer(url)
{
	var help = window.open(url,'_eDominetHelp','height=500,width=500,scrollbars,location');
	help.focus();
}

function setCollapsed(id, collapsed)
{

	var element=document.getElementById(id);
	if( element == null )
	{
		alert( 'Collapse: no such element [' + id + ']' );
	}

	element.style.display = collapsed ? 'none' : 'block';

}

function collapse(id)
{
	setCollapsed(id,true);
}

function expand(id)
{
	setCollapsed(id,false);
}

function setFieldLocked(id, locked)
{

	var element=document.getElementById(id);
	if( element == null )
	{
		alert( 'Lock: no such element [' + id + ']' );
	}

	if( locked && !element.readOnly )
	{
		element.lockedValue = element.value;
		element.value = '';
		element.lockedClass = element.className;
		element.className = element.className + ' disabled';
	}
	element.readOnly = locked;
	if( !locked )
	{
		if( element.lockedValue )
		{
			element.value = element.lockedValue;
		}
		if( element.lockedClass )
		{
			element.className = element.lockedClass;
		}
	}

}

function testChar(event, mode, onActionHandler) {
	testChar(event, mode, onActionHandler, null);
}

function testChar(event, mode, onActionHandler, onActionHandlerParam) {

	// if you change this please fix ModeControl class accordingly

    code = (navigator.appName == 'Netscape' ? event.which : event.keyCode);

    if (code == 13)
    {
        if (onActionHandler!=null)
        {
       		onActionHandler(onActionHandlerParam);
        }

        return !(mode & 16); // if mode contains 16 then block enter (but onActionHandler is fired earlier)
    }

    if (event.ctrlKey) return true;
    if (mode == 0 || mode == 16 || code == 0 || code == 8 || code == 9) return true; // 0, Backspace, TAB or mode == 0,16 - all
    if ((mode & 1) && code > 47 && code < 58) return true; // 0-9
    if ((mode & 2) && code == 32) return true; // <space>
    if ((mode & 4) && code == 95) return true; // _
    if ((mode & 8) && letters.indexOf(String.fromCharCode(code)) != -1) return true; // letters
    if ((mode & 32) && code == 45) return true; // -
    if ((mode & 64) && code == 47) return true; // /

    return false;

}

function testChar2(field, event, mode) {
    if (!testChar(event, mode))
    {
        field.value = field.value.substring(0,0);
    }
}


function maxlength(field, maxlimit) {
    if (field.value.length > maxlimit)
    {
        field.value = field.value.substring(0, maxlimit);
    }
}

function calendarOnSelect(cal) {
    var p = cal.params;
    var update = (cal.dateClicked || p.electric);
    if (update && p.inputField) {
        p.inputField.value = cal.date.print(p.ifFormat);
        if (typeof p.inputField.onchange == "function")
            p.inputField.onchange();
    }
    if (update && p.displayArea)
        p.displayArea.innerHTML = cal.date.print(p.daFormat);
    if (update && typeof p.onUpdate == "function")
        p.onUpdate(cal);
    if (update && p.flat) {
        if (typeof p.flatCallback == "function")
            p.flatCallback(cal);
    }
    if (update && p.singleClick && cal.dateClicked)
        cal.callCloseHandler();

    if (cal.dateClicked) {
        cal.callCloseHandler();
    };

};

var calendars = new Array();

function calendarShow(paramFieldPrefix)
{

    var params;

    var field_d = document.getElementById(paramFieldPrefix+"_d");
    var field_m = document.getElementById(paramFieldPrefix+"_m");
    var field_y = document.getElementById(paramFieldPrefix+"_y");

    var dateFmt = "%d-%m-%Y";

    var date = Date.parseDate(field_d.value+"-"+field_m.value+"-"+field_y.value, dateFmt);

    if( !calendars[paramFieldPrefix] )
    {

	    params = new Object();
	    params.displayAt = paramFieldPrefix+"_y";
	    params.timeFormat="24";
	    params.onUpdate = calendarOnUpdate;
	    params.step = 1;

	    params.range = new Array(2);
	    params.range[0] = 1950;
	    params.range[1] = 2050;

        cal = new Calendar(params.firstDay,
        params.date,
        params.onSelect || calendarOnSelect,
        params.onClose || function(cal) { cal.hide(); });

        cal.showsTime = params.showsTime;
        cal.time24 = true;
        cal.weekNumbers = params.weekNumbers;

	    cal.showsOtherMonths = params.showOthers;
	    cal.yearStep = params.step;
	    cal.setRange(params.range[0], params.range[1]);
	    cal.params = params;
	    cal.setDateStatusHandler(params.dateStatusFunc);
	    cal.getDateText = params.dateText;
	    cal.setDateFormat(dateFmt);

        cal.fieldPrefix = paramFieldPrefix;

        cal.create();

        calendars[paramFieldPrefix] = cal;

    } else {

        cal = calendars[paramFieldPrefix];
        params = cal.params;

        if(date)
        {
            cal.setDate(date);
        }
        params.date = date;
        cal.hide();

    }

    cal.refresh();
    cal.showAtElement(document.getElementById(params.displayAt), "Br");

    return false;

};

/*
function calendarShow(paramFieldPrefix)
{

    var params = new Object();
    params.displayAt = paramFieldPrefix+"_y";
    //params.ifFormat="%Y-%m-%d %H:%M";
    //params.showsTime="true";
    params.timeFormat="24";
    params.onUpdate = calendarOnUpdate;
    params.step = 1;

    //var dateEl = params.inputField || params.displayArea;
    var dateFmt = "%d-%m-%Y";
    var mustCreate = false;

    params.range = new Array(2);
    params.range[0] = 1950;
    params.range[1] = 2050;
    var cal = window.calendar;


    var field_d = document.getElementById(paramFieldPrefix+"_d");
    var field_m = document.getElementById(paramFieldPrefix+"_m");
    var field_y = document.getElementById(paramFieldPrefix+"_y");

    params.date = Date.parseDate(field_d.value+"-"+field_m.value+"-"+field_y.value, dateFmt);

    if (!(cal && params.cache)) {
        window.calendar = cal = new Calendar(params.firstDay,
        params.date,
        params.onSelect || calendarOnSelect,
        params.onClose || function(cal) { cal.hide(); });

        cal.showsTime = params.showsTime;
        cal.time24 = true;
        cal.weekNumbers = params.weekNumbers;
        mustCreate = true;
    } else {
        if (params.date)
            cal.setDate(params.date);
        cal.hide();
    }
    cal.showsOtherMonths = params.showOthers;
    cal.yearStep = params.step;
    cal.setRange(params.range[0], params.range[1]);
    cal.params = params;
    cal.setDateStatusHandler(params.dateStatusFunc);
    cal.getDateText = params.dateText;
    cal.setDateFormat(dateFmt);

    cal.fieldPrefix = paramFieldPrefix;

    cal.create(document.getElementById('target' + paramFieldPrefix));
    cal.refresh();

//    cal.showAtElement(document.getElementById(params.displayAt));
//    cal.showAt(x, y);

    cal.show();

    return false;
};
*/

function calendarOnUpdate(cal) {
    var date = cal.date;

    var fieldPrefix = cal.fieldPrefix;

    var field_d = document.getElementById(fieldPrefix+"_d");
    var field_m = document.getElementById(fieldPrefix+"_m");
    var field_y = document.getElementById(fieldPrefix+"_y");

    field_d.value = date.print("%d");
    field_m.value = date.print("%m");
    field_y.value = date.print("%Y");

};

/*** Copy Right Information ***
  * Please do not remove following information.
  * Window Size v1.0
  * Author: John J Kim
  * Email: john@frontendframework.com
  * URL: www.FrontEndFramework.com
  *
  * You are welcome to modify the codes as long as you include this copyright information.
 *****************************/

Window = {
	//Returns an integer representing the width of the browser window (without the scrollbar).
	getWindowWidth : function() {
	return (document.layers||(document.getElementById&&!document.all)) ? window.outerWidth : (document.all ? document.body.clientWidth : 0);
	},

	//Returns an integer representing the height of the browser window (without the scrollbar).
	getWindowHeight : function() {
	return window.innerHeight ? window.innerHeight :(document.getBoxObjectFor ? Math.min(document.documentElement.clientHeight, document.body.clientHeight) : ((document.documentElement.clientHeight != 0) ? document.documentElement.clientHeight : (document.body ? document.body.clientHeight : 0)));
	},

	//Returns an integer representing the scrollWidth of the window.
	getScrollWidth : function() {
	return document.all ? Math.max(Math.max(document.documentElement.offsetWidth, document.documentElement.scrollWidth), document.body.scrollWidth) : (document.body ? document.body.scrollWidth : ((document.documentElement.scrollWidth != 0) ? document.documentElement.scrollWidth : 0));
	},

	//Returns an integer representing the scrollHeight of the window.
	getScrollHeight : function(){
		return document.all ? Math.max(Math.max(document.documentElement.offsetHeight, document.documentElement.scrollHeight), Math.max(document.body.offsetHeight, document.body.scrollHeight)) : (document.body ? document.body.scrollHeight : ((document.documentElement.scrollHeight != 0) ? document.documentElement.scrollHeight : 0));
	},

	//Returns an integer representing the scrollLeft of the window (the number of pixels the window has scrolled from the left).
	getScrollLeft : function() {
		return document.all ? (!document.documentElement.scrollLeft ? document.body.scrollLeft : document.documentElement.scrollLeft) : ((window.pageXOffset != 0) ? window.pageXOffset : 0);
	},

	//Returns an integer representing the scrollTop of the window (the number of pixels the window has scrolled from the top).
	getScrollTop : function() {
		return document.all ? (!document.documentElement.scrollTop ? document.body.scrollTop : document.documentElement.scrollTop) : ((window.pageYOffset != 0) ? window.pageYOffset : 0);
	}
}

var adminMode = false;

// [MD] if you change subtracted height test it in IE! IE needs 1 extra px over what Firefox & Opera need .
var topOffset = 175;

// [MD] in admin mode account for admin toolbar
var topOffsetAdmin = 175+24;

function getTopOffset()
{
	return ( adminMode ? topOffsetAdmin : topOffset );
}

function resizeDetailedPanel()
{
    var panel = document.getElementById('detailedPanel');
    if(panel != null)
    {
    	var h = Window.getWindowHeight()-getTopOffset();
        panel.style.height = h + "px";
    }
}

function placeAd()
{

	var adsPanel = document.getElementById('leftAdsPanel');
	if( adsPanel == null )
	{
		return;
	}

	var skipHeight = document.getElementById('leftPanel').offsetHeight;
	skipHeight += document.getElementById('leftSepPanel').offsetHeight;

	var adHeight = adsPanel.offsetHeight;
	// [MD] I cannot say why I need to subtract 1px, but it doesn't align without it
	var top = Window.getWindowHeight()-(getTopOffset()+skipHeight+adHeight-1);

	adsPanel.style.top = (top >= 0 ? top : 0) + "px";
	adsPanel.style.visibility = 'visible';

}

var placeAds = false;

function myOnLoad()
{
    //resizeDetailedPanel();
	if( placeAds )
	{
		placeAd();
	}
}

function myOnResize()
{
    resizeDetailedPanel();
    placeAd();
}











// ===================================================================
// Author: Matt Kruse <matt@mattkruse.com>
// WWW: http://www.mattkruse.com/
//
// NOTICE: You may use this code for any purpose, commercial or
// private, without any further permission from the author. You may
// remove this notice from your final code if you wish, however it is
// appreciated by the author if at least my web site address is kept.
//
// You may *NOT* re-distribute this code in any way except through its
// use. That means, you can include it in your product, or your web
// site, or any other form where the code is actually being used. You
// may not put the plain javascript up on your site for download or
// include it in your javascript libraries for download.
// If you wish to share this code with others, please just point them
// to the URL instead.
// Please DO NOT link directly to my .js files from your site. Copy
// the files to your server and use them there. Thank you.
// ===================================================================

/*
PopupWindow.js
Author: Matt Kruse
Last modified: 02/16/04

DESCRIPTION: This object allows you to easily and quickly popup a window
in a certain place. The window can either be a DIV or a separate browser
window.

COMPATABILITY: Works with Netscape 4.x, 6.x, IE 5.x on Windows. Some small
positioning errors - usually with Window positioning - occur on the
Macintosh platform. Due to bugs in Netscape 4.x, populating the popup
window with <STYLE> tags may cause errors.

USAGE:
// Create an object for a WINDOW popup
var win = new PopupWindow();

// Create an object for a DIV window using the DIV named 'mydiv'
var win = new PopupWindow('mydiv');

// Set the window to automatically hide itself when the user clicks
// anywhere else on the page except the popup
win.autoHide();

// Show the window relative to the anchor name passed in
win.showPopup(anchorname);

// Hide the popup
win.hidePopup();

// Set the size of the popup window (only applies to WINDOW popups
win.setSize(width,height);

// Populate the contents of the popup window that will be shown. If you
// change the contents while it is displayed, you will need to refresh()
win.populate(string);

// set the URL of the window, rather than populating its contents
// manually
win.setUrl("http://www.site.com/");

// Refresh the contents of the popup
win.refresh();

// Specify how many pixels to the right of the anchor the popup will appear
win.offsetX = 50;

// Specify how many pixels below the anchor the popup will appear
win.offsetY = 100;

NOTES:
1) Requires the functions in AnchorPosition.js

2) Your anchor tag MUST contain both NAME and ID attributes which are the
   same. For example:
   <A NAME="test" ID="test"> </A>

3) There must be at least a space between <A> </A> for IE5.5 to see the
   anchor tag correctly. Do not do <A></A> with no space.

4) When a PopupWindow object is created, a handler for 'onmouseup' is
   attached to any event handler you may have already defined. Do NOT define
   an event handler for 'onmouseup' after you define a PopupWindow object or
   the autoHide() will not work correctly.
*/

// Set the position of the popup window based on the anchor
function PopupWindow_getXYPosition(anchorname) {
	var coordinates;
	if (this.type == "WINDOW") {
		coordinates = getAnchorWindowPosition(anchorname);
		}
	else {
		coordinates = getAnchorPosition(anchorname);
		}
	this.x = coordinates.x;
	this.y = coordinates.y;
	}
// Set width/height of DIV/popup window
function PopupWindow_setSize(width,height) {
	this.width = width;
	this.height = height;
	}
// Fill the window with contents
function PopupWindow_populate(contents) {
	this.contents = contents;
	this.populated = false;
	}
// Set the URL to go to
function PopupWindow_setUrl(url) {
	this.url = url;
	}
// Set the window popup properties
function PopupWindow_setWindowProperties(props) {
	this.windowProperties = props;
	}
// Refresh the displayed contents of the popup
function PopupWindow_refresh() {
	if (this.divName != null) {
		// refresh the DIV object
		if (this.use_gebi) {
			document.getElementById(this.divName).innerHTML = this.contents;
			}
		else if (this.use_css) {
			document.all[this.divName].innerHTML = this.contents;
			}
		else if (this.use_layers) {
			var d = document.layers[this.divName];
			d.document.open();
			d.document.writeln(this.contents);
			d.document.close();
			}
		}
	else {
		if (this.popupWindow != null && !this.popupWindow.closed) {
			if (this.url!="") {
				this.popupWindow.location.href=this.url;
				}
			else {
				this.popupWindow.document.open();
				this.popupWindow.document.writeln(this.contents);
				this.popupWindow.document.close();
			}
			this.popupWindow.focus();
			}
		}
	}
// Position and show the popup, relative to an anchor object
function PopupWindow_showPopup(anchorname) {
	this.getXYPosition(anchorname);
	this.x += this.offsetX;
	this.y += this.offsetY;
	if (!this.populated && (this.contents != "")) {
		this.populated = true;
		this.refresh();
		}
	if (this.divName != null) {
		// Show the DIV object
		if (this.use_gebi) {
			document.getElementById(this.divName).style.left = this.x + "px";
			document.getElementById(this.divName).style.top = this.y;
			document.getElementById(this.divName).style.visibility = "visible";
			}
		else if (this.use_css) {
			document.all[this.divName].style.left = this.x;
			document.all[this.divName].style.top = this.y;
			document.all[this.divName].style.visibility = "visible";
			}
		else if (this.use_layers) {
			document.layers[this.divName].left = this.x;
			document.layers[this.divName].top = this.y;
			document.layers[this.divName].visibility = "visible";
			}
		}
	else {
		if (this.popupWindow == null || this.popupWindow.closed) {
			// If the popup window will go off-screen, move it so it doesn't
			if (this.x<0) { this.x=0; }
			if (this.y<0) { this.y=0; }
			if (screen && screen.availHeight) {
				if ((this.y + this.height) > screen.availHeight) {
					this.y = screen.availHeight - this.height;
					}
				}
			if (screen && screen.availWidth) {
				if ((this.x + this.width) > screen.availWidth) {
					this.x = screen.availWidth - this.width;
					}
				}
			var avoidAboutBlank = window.opera || ( document.layers && !navigator.mimeTypes['*'] ) || navigator.vendor == 'KDE' || ( document.childNodes && !document.all && !navigator.taintEnabled );
			this.popupWindow = window.open(avoidAboutBlank?"":"/img/ebanking/blank.html","window_"+anchorname,this.windowProperties+",width="+this.width+",height="+this.height+",screenX="+this.x+",left="+this.x+",screenY="+this.y+",top="+this.y+"");
			}
		this.refresh();
		}
	}
// Hide the popup
function PopupWindow_hidePopup() {
	if (this.divName != null) {
		if (this.use_gebi) {
			document.getElementById(this.divName).style.visibility = "hidden";
			}
		else if (this.use_css) {
			document.all[this.divName].style.visibility = "hidden";
			}
		else if (this.use_layers) {
			document.layers[this.divName].visibility = "hidden";
			}
		}
	else {
		if (this.popupWindow && !this.popupWindow.closed) {
			this.popupWindow.close();
			this.popupWindow = null;
			}
		}
	}
// Pass an event and return whether or not it was the popup DIV that was clicked
function PopupWindow_isClicked(e) {
	if (this.divName != null) {
		if (this.use_layers) {
			var clickX = e.pageX;
			var clickY = e.pageY;
			var t = document.layers[this.divName];
			if ((clickX > t.left) && (clickX < t.left+t.clip.width) && (clickY > t.top) && (clickY < t.top+t.clip.height)) {
				return true;
				}
			else { return false; }
			}
		else if (document.all) { // Need to hard-code this to trap IE for error-handling
			var t = window.event.srcElement;
			while (t.parentElement != null) {
				if (t.id==this.divName) {
					return true;
					}
				t = t.parentElement;
				}
			return false;
			}
		else if (this.use_gebi && e) {
			var t = e.originalTarget;
			while (t.parentNode != null) {
				if (t.id==this.divName) {
					return true;
					}
				t = t.parentNode;
				}
			return false;
			}
		return false;
		}
	return false;
	}

// Check an onMouseDown event to see if we should hide
function PopupWindow_hideIfNotClicked(e) {
	if (this.autoHideEnabled && !this.isClicked(e)) {
		this.hidePopup();
		}
	}
// Call this to make the DIV disable automatically when mouse is clicked outside it
function PopupWindow_autoHide() {
	this.autoHideEnabled = true;
	}
// This global function checks all PopupWindow objects onmouseup to see if they should be hidden
function PopupWindow_hidePopupWindows(e) {
	for (var i=0; i<popupWindowObjects.length; i++) {
		if (popupWindowObjects[i] != null) {
			var p = popupWindowObjects[i];
			p.hideIfNotClicked(e);
			}
		}
	}
// Run this immediately to attach the event listener
function PopupWindow_attachListener() {
	if (document.layers) {
		document.captureEvents(Event.MOUSEUP);
		}
	window.popupWindowOldEventListener = document.onmouseup;
	if (window.popupWindowOldEventListener != null) {
		document.onmouseup = new Function("window.popupWindowOldEventListener(); PopupWindow_hidePopupWindows();");
		}
	else {
		document.onmouseup = PopupWindow_hidePopupWindows;
		}
	}
// CONSTRUCTOR for the PopupWindow object
// Pass it a DIV name to use a DHTML popup, otherwise will default to window popup
function PopupWindow() {
	if (!window.popupWindowIndex) { window.popupWindowIndex = 0; }
	if (!window.popupWindowObjects) { window.popupWindowObjects = new Array(); }
	if (!window.listenerAttached) {
		window.listenerAttached = true;
		PopupWindow_attachListener();
		}
	this.index = popupWindowIndex++;
	popupWindowObjects[this.index] = this;
	this.divName = null;
	this.popupWindow = null;
	this.width=0;
	this.height=0;
	this.populated = false;
	this.visible = false;
	this.autoHideEnabled = false;

	this.contents = "";
	this.url="";
	this.windowProperties="toolbar=no,location=no,status=no,menubar=no,scrollbars=auto,resizable,alwaysRaised,dependent,titlebar=no";
	if (arguments.length>0) {
		this.type="DIV";
		this.divName = arguments[0];
		}
	else {
		this.type="WINDOW";
		}
	this.use_gebi = false;
	this.use_css = false;
	this.use_layers = false;
	if (document.getElementById) { this.use_gebi = true; }
	else if (document.all) { this.use_css = true; }
	else if (document.layers) { this.use_layers = true; }
	else { this.type = "WINDOW"; }
	this.offsetX = 0;
	this.offsetY = 0;
	// Method mappings
	this.getXYPosition = PopupWindow_getXYPosition;
	this.populate = PopupWindow_populate;
	this.setUrl = PopupWindow_setUrl;
	this.setWindowProperties = PopupWindow_setWindowProperties;
	this.refresh = PopupWindow_refresh;
	this.showPopup = PopupWindow_showPopup;
	this.hidePopup = PopupWindow_hidePopup;
	this.setSize = PopupWindow_setSize;
	this.isClicked = PopupWindow_isClicked;
	this.autoHide = PopupWindow_autoHide;
	this.hideIfNotClicked = PopupWindow_hideIfNotClicked;
	}


		var SOCWithClears = new Array();

		var SOC= new Object();

		SOC.processInputEvent = function ()
			{
				SOC.rowClicked(this.myParentTR);
			}

		SOC.rowClicked = function (paramRow)
		{
			this.disableAllInputs(paramRow);

			var inputs = paramRow.getElementsByTagName('INPUT')
			for(var i=0;i<inputs.length;++i)
			{
				var input = inputs[i];
				if (input.type=="radio")
				{
					input.checked = true;
				}
				else
				{
					if (input.oldClassName!=null)
					{
						input.className = input.oldClassName;
						input.oldClassName = null;
					}
				}
			}
		};

		SOC.disableAllInputs = function (paramRow)
		{

			var paramTable = paramRow.parentNode;

			var inputs = paramTable.getElementsByTagName('INPUT')
			for(var i=0;i<inputs.length;++i)
			{
				var input = inputs[i];
				if (input.type!="radio" && input.oldClassName==null)
				{
					if( input.withClear && input.myParentTR != paramRow )
					{
						input.value = '';
					}
					input.oldClassName = input.className;
					input.className += ' disabled';
				}
			}
		}

		SOC.enableFor = function (paramTable)
		{
			this.enableFor(paramTable, false);
		}

		SOC.enableFor = function (paramTable, withClear)
		{
			var childNodes = paramTable.childNodes;
			var firstTR;
            var selectedTR;

			for(var i=0;i<childNodes.length;++i)
			{
				var child = childNodes[i];

				if (child.nodeName=="TBODY")
				{
					this.enableFor(child, withClear);
				}
				else if (child.nodeName=="TR")
				{
					var inputs = child.getElementsByTagName('INPUT');
					var radionotfound = true;
					for(var j=0;j<inputs.length && radionotfound;++j)
					{
						if (inputs[j].type=="radio")
						{
							radionotfound = false;
							if (!firstTR)
							{
								firstTR = child;
							}
							if( inputs[j].checked )
							{
							     if( !selectedTR )
							     {
							         selectedTR = child;
							     }
							}
						};
					}

					if (!radionotfound)
					{
						for(var j=0;j<inputs.length;++j)
						{
							var input = inputs[j];
							input.myParentTR = child;
							input.withClear = withClear;
							input.onfocus = this.processInputEvent;
							input.onclick = this.processInputEvent;
						}
					}
				}
			}

			if (selectedTR)
			{
			    this.rowClicked(selectedTR);
			}
			else if (firstTR)
			{
				this.rowClicked(firstTR);
			}

		}

