/*** Zen Module: ZEN_Component__form ***/

self._zenClassIdx['control'] = '_ZEN_Component_control';
self._ZEN_Component_control = function(index,id) {
	if (index>=0) {_ZEN_Component_control__init(this,index,id);}
}

self._ZEN_Component_control__init = function(o,index,id) {
	('undefined' == typeof _ZEN_Component_component__init) ?zenMaster._ZEN_Component_component__init(o,index,id):_ZEN_Component_component__init(o,index,id);
	o.clientType = '';
	o.controlClass = '';
	o.controlStyle = '';
	o.dataBinding = '';
	o.disabled = false;
	o.invalid = false;
	o.invalidMessage = 'out-of-range or invalid value.';
	o.onblur = '';
	o.onchange = '';
	o.onclick = '';
	o.ondblclick = '';
	o.onfocus = '';
	o.onkeydown = '';
	o.onkeypress = '';
	o.onkeyup = '';
	o.onmousedown = '';
	o.onmouseout = '';
	o.onmouseover = '';
	o.onmouseup = '';
	o.onsubmit = '';
	o.onvalidate = '';
	o.originalValue = '';
	o.readOnly = false;
	o.required = false;
	o.requiredMessage = 'required.';
	o.tabIndex = '';
	o.value = '';
}
function _ZEN_Component_control_serialize(set,s)
{
	var o = this;s[0]='1247505462';s[1]=o.index;s[2]=o.id;s[3]=o.name;s[4]=set.addObject(o.parent,'parent');s[5]=set.addObject(o.composite,'composite');s[6]=o.align;s[7]=o.aux;s[8]=o.clientType;s[9]=o.containerStyle;s[10]=o.controlClass;s[11]=o.controlStyle;s[12]=o.dataBinding;s[13]=(o.disabled?1:0);s[14]=(o.dragEnabled?1:0);s[15]=(o.dropEnabled?1:0);s[16]=(o.dynamic?1:0);s[17]=o.enclosingClass;s[18]=o.enclosingStyle;s[19]=o.error;s[20]=o.height;s[21]=(o.hidden?1:0);s[22]=o.hint;s[23]=o.hintClass;s[24]=o.hintStyle;s[25]=(o.invalid?1:0);s[26]=o.invalidMessage;s[27]=o.label;s[28]=o.labelClass;s[29]=o.labelStyle;s[30]=o.onafterdrag;s[31]=o.onbeforedrag;s[32]=o.onblur;s[33]=o.onchange;s[34]=o.onclick;s[35]=o.ondblclick;s[36]=o.ondrag;s[37]=o.ondrop;s[38]=o.onfocus;s[39]=o.onhide;s[40]=o.onkeydown;s[41]=o.onkeypress;s[42]=o.onkeyup;s[43]=o.onmousedown;s[44]=o.onmouseout;s[45]=o.onmouseover;s[46]=o.onmouseup;s[47]=o.onrefresh;s[48]=o.onshow;s[49]=o.onsubmit;s[50]=o.onupdate;s[51]=o.onvalidate;s[52]=o.originalValue;s[53]=o.overlayMode;s[54]=(o.readOnly?1:0);s[55]=o.renderFlag;s[56]=(o.required?1:0);s[57]=o.requiredMessage;s[58]=(o.showLabel?1:0);s[59]=o.slice;s[60]=o.tabIndex;s[61]=o.title;s[62]=o.tuple;s[63]=o.valign;s[64]=('boolean'==typeof o.value?(o.value?1:0):o.value);s[65]=(o.visible?1:0);s[66]=o.width;
}
function _ZEN_Component_control_getSettings(s)
{
	s['name'] = 'string';
	s['clientType'] = 'enum:string,boolean,integer,float';
	s['controlClass'] = 'cssClass';
	s['controlStyle'] = 'style';
	s['dataBinding'] = 'string';
	s['disabled'] = 'boolean';
	s['invalid'] = 'boolean';
	s['invalidMessage'] = 'caption';
	s['onblur'] = 'eventHandler';
	s['onchange'] = 'eventHandler';
	s['onclick'] = 'eventHandler';
	s['ondblclick'] = 'eventHandler';
	s['onfocus'] = 'eventHandler';
	s['onkeydown'] = 'eventHandler';
	s['onkeypress'] = 'eventHandler';
	s['onkeyup'] = 'eventHandler';
	s['onmousedown'] = 'eventHandler';
	s['onmouseout'] = 'eventHandler';
	s['onmouseover'] = 'eventHandler';
	s['onmouseup'] = 'eventHandler';
	s['onsubmit'] = 'eventHandler';
	s['onvalidate'] = 'eventHandler';
	s['originalValue'] = 'value';
	s['readOnly'] = 'boolean';
	s['required'] = 'boolean';
	s['requiredMessage'] = 'caption';
	s['tabIndex'] = 'integer';
	s['value'] = 'value';
	this.invokeSuper('getSettings',arguments);
}

self._ZEN_Component_control_dragStartHandler = function(dragData) {
if (!this.getDragData(dragData)) {
return false;
}
var icon = this.getEnclosingDiv().cloneNode(true);
icon.style.position="absolute";
icon.style.border ="1px solid darkgray";
icon.style.background ="#D0D0F0";
ZLM.setDragAvatar(icon);
return true;
}

self._ZEN_Component_control_dropStartHandler = function(dragData) {
this.setValue(dragData.toString());
return true;
}

self._ZEN_Component_control_focus = function() {
var el = this.findElement('control');
if (el) {
try {
el.focus();
}
catch(ex) {
}
}
}

self._ZEN_Component_control_getDisabled = function() {
return this.getProperty('disabled');
}

self._ZEN_Component_control_getDragData = function(dragData) {
dragData.value = this.getValue();
if (null != this.text) {
dragData.text = this.text;
}
else {
dragData.text = dragData.value;
}
return true;
}

self._ZEN_Component_control_getForm = function() {
var form = null;
var parent = this.parent;
while (parent) {
if (parent.isOfType('form') || parent.isOfType('loginForm')) {
form = parent;
break;
}
parent = parent.parent;
}
return form;
}

self._ZEN_Component_control_getInvalidReason = function() {
if (this.required && zenIsMissing(this.getValue())) {
return this.label + ' ' + this.requiredMessage;
}
return this.label + ' ' + this.invalidMessage;
}

self._ZEN_Component_control_getProperty = function(property,key) {
var el = this.findElement('control');
switch(property) {
case 'value':
if (el) {
this.value = this.unformatValue ? this.unformatValue(el.value) : el.value;
}
return this.normalizeValue(this.value);
}
return this.invokeSuper('getProperty',arguments);
}

self._ZEN_Component_control_getReadOnly = function() {
return this.getProperty('readOnly');
}

self._ZEN_Component_control_getValue = function() {
return this.getProperty('value');
}

self._ZEN_Component_control_isModified = function() {
return this.value != this.originalValue;
}

self._ZEN_Component_control_isValid = function() {
return true;
}

self._ZEN_Component_control_normalizeValue = function(val) {
switch(this.clientType) {
case 'boolean':
if ((''==val)&&('string'==typeof val)) { val = false; }
else if (('true'==val)||('on'==val)) { val = true; }
else if (('false'==val)||('off'==val)||('0'==val)) { val = false; }
else { val = val ? true : false; }
break;
case 'integer':
if (!((''==val)&&('string'==typeof val))) {
val = parseInt(val,10);
val = isNaN(val) ? '' : val;
}
break;
case 'float':
if (!((''==val)&&('string'==typeof val))) {
val = parseFloat(val);
val = isNaN(val) ? '' : val;
}
break;
case 'string':
val = zenTrim(val);
break;
}
return val;
}

self._ZEN_Component_control_onSerialize = function() {
var el = this.findElement('control');
if (el) {
this.value = this.normalizeValue(this.unformatValue ? this.unformatValue(el.value) : el.value);
}
}

self._ZEN_Component_control_onchangeHandler = function() {
var value = this.getValue();
var form = this.getForm();
if (form) {
form.controlChangeHandler(this);
}
if (this.invalid && this.validationHandler()) {
this.setProperty('invalid',false);
}
zenInvokeCallbackMethod(this.onchange,this,'onchange');
}

self._ZEN_Component_control_select = function() {
var el = this.findElement('control');
if (el) {
el.select();
}
}

self._ZEN_Component_control_setDisabled = function(flag) {
this.setProperty('disabled',flag);
}

self._ZEN_Component_control_setProperty = function(property,value,value2) {
var el = this.findElement('control');
switch(property) {
case 'value':
value = this.normalizeValue(value);
if (el) {
el.value = this.formatValue ? this.formatValue(value) : value;
}
this.value = value;
break;
case 'clientType':
this.clientType = value;
break;
case 'originalValue':
this.originalValue = this.value;
break;
case 'required':
value = (value) ? true : false;
this.required = value;
break;
case 'invalid':
value = (value) ? true : false;
this.invalid = value;
if (el) { el.className = (value ? 'zenInvalid' : this.controlClass);}
break;
case 'controlClass':
this.controlClass = value;
if (el) { el.className = (this.invalid ? 'zenInvalid' : this.controlClass);}
break;
case 'controlStyle':
this.controlStyle = value;
if (el) { el.style.cssText = value;	}
break;
case 'disabled':
value = (value) ? true : false;
if (el) { el.disabled = value;	}
this.disabled = value;
var lbl = this.getLabelElement();
if (lbl) {
if (this.disabled) {
lbl.className = 'zenLabelDisabled';
}
else {
lbl.className = (''==this.labelClass) ? 'zenLabel' : this.labelClass;
}
}
break;
case 'readOnly':
value = (value) ? true : false;
if (el) { el.readOnly = value;	}
this.readOnly = value;
break;
case 'title':
if (el) { el.title = value;	}
this.title = value;
var label = this.getLabelElement();
if (label) {
label.title = value;
}
break;
case 'onchange':
this.onchange = value;
break;
case 'onclick':
case 'ondblclick':
case 'onfocus':
case 'onblur':
case 'onkeypress':
case 'onkeydown':
case 'onkeyup':
case 'onmouseout':
case 'onmouseover':
case 'onmouseup':
case 'onmousedown':
this[property] = value;
if (el) {
var expr = value.toString();
expr = expr.replace(/\"/g,'\\\"');
expr = expr.replace(/\'/g,"\\\'");
el[property] = new Function('event','return zenFireEvent('+this.index+',"'+expr+'","'+property+'",event)');
}
break;
default:
return this.invokeSuper('setProperty',arguments);
}
return true;
}

self._ZEN_Component_control_setReadOnly = function(flag) {
this.setProperty('readOnly',flag);
}

self._ZEN_Component_control_setValue = function(value,value2) {
this.setProperty('value',value,value2);
}

self._ZEN_Component_control_sysName = function() {
var name = '';
if (''==this.name) {
name = '$V_' + ((this.composite) ? (this.composite.id=='' ? this.composite.index : this.composite.id)+'.':'') + this.id;
}
else if ('Cache'==this.name.substr(0,5)) {
name = this.name;
}
else {
name = '$V_' + this.name;
}
return name;
}

self._ZEN_Component_control_validationHandler = function() {
if (this.readOnly || this.disabled) {
return true;
}
if (zenIsMissing(this.getValue())) {
return !this.required;
}
if (this.onvalidate) {
return zenInvokeCallbackMethod(this.onvalidate,this,'onvalidate');
}
return this.isValid();
}

self._ZEN_Component_control_ReallyRefreshContents = function() {
	zenInstanceMethod(this,'ReallyRefreshContents','','',arguments);
}
self._ZEN_Component_control__Loader = function() {
	zenLoadClass('_ZEN_Component_component');
	_ZEN_Component_control.prototype = zenCreate('_ZEN_Component_component',-1);
	var p = _ZEN_Component_control.prototype;
	if (null==p) {return;}
	p.constructor = _ZEN_Component_control;
	p.superClass = ('undefined' == typeof _ZEN_Component_component) ? zenMaster._ZEN_Component_component.prototype:_ZEN_Component_component.prototype;
	p.__ZENcomponent = true;
	p._serverClass = '%ZEN.Component.control';
	p._type = 'control';
	p.serialize = _ZEN_Component_control_serialize;
	p.getSettings = _ZEN_Component_control_getSettings;
	p.ReallyRefreshContents = _ZEN_Component_control_ReallyRefreshContents;
	p.dragStartHandler = _ZEN_Component_control_dragStartHandler;
	p.dropStartHandler = _ZEN_Component_control_dropStartHandler;
	p.focus = _ZEN_Component_control_focus;
	p.getDisabled = _ZEN_Component_control_getDisabled;
	p.getDragData = _ZEN_Component_control_getDragData;
	p.getForm = _ZEN_Component_control_getForm;
	p.getInvalidReason = _ZEN_Component_control_getInvalidReason;
	p.getProperty = _ZEN_Component_control_getProperty;
	p.getReadOnly = _ZEN_Component_control_getReadOnly;
	p.getValue = _ZEN_Component_control_getValue;
	p.isModified = _ZEN_Component_control_isModified;
	p.isValid = _ZEN_Component_control_isValid;
	p.normalizeValue = _ZEN_Component_control_normalizeValue;
	p.onSerialize = _ZEN_Component_control_onSerialize;
	p.onchangeHandler = _ZEN_Component_control_onchangeHandler;
	p.select = _ZEN_Component_control_select;
	p.setDisabled = _ZEN_Component_control_setDisabled;
	p.setProperty = _ZEN_Component_control_setProperty;
	p.setReadOnly = _ZEN_Component_control_setReadOnly;
	p.setValue = _ZEN_Component_control_setValue;
	p.sysName = _ZEN_Component_control_sysName;
	p.validationHandler = _ZEN_Component_control_validationHandler;
}

self._zenClassIdx['abstractListBox'] = '_ZEN_Component_abstractListBox';
self._ZEN_Component_abstractListBox = function(index,id) {
	if (index>=0) {_ZEN_Component_abstractListBox__init(this,index,id);}
}

self._ZEN_Component_abstractListBox__init = function(o,index,id) {
	('undefined' == typeof _ZEN_Component_control__init) ?zenMaster._ZEN_Component_control__init(o,index,id):_ZEN_Component_control__init(o,index,id);
	o.controlClass = 'listBox';
	o.hzScroll = false;
	o.listHeight = '';
	o.listWidth = '';
	o.selectedIndex = '-1';
	o.text = '';
	o.onCreate();
}
function _ZEN_Component_abstractListBox_serialize(set,s)
{
	var o = this;s[0]='1380240869';s[1]=o.index;s[2]=o.id;s[3]=o.name;s[4]=set.addObject(o.parent,'parent');s[5]=set.addObject(o.composite,'composite');s[6]=o.align;s[7]=o.aux;s[8]=o.clientType;s[9]=o.containerStyle;s[10]=o.controlClass;s[11]=o.controlStyle;s[12]=o.dataBinding;s[13]=(o.disabled?1:0);s[14]=(o.dragEnabled?1:0);s[15]=(o.dropEnabled?1:0);s[16]=(o.dynamic?1:0);s[17]=o.enclosingClass;s[18]=o.enclosingStyle;s[19]=o.error;s[20]=o.height;s[21]=(o.hidden?1:0);s[22]=o.hint;s[23]=o.hintClass;s[24]=o.hintStyle;s[25]=(o.hzScroll?1:0);s[26]=(o.invalid?1:0);s[27]=o.invalidMessage;s[28]=o.label;s[29]=o.labelClass;s[30]=o.labelStyle;s[31]=o.listHeight;s[32]=o.listWidth;s[33]=o.onafterdrag;s[34]=o.onbeforedrag;s[35]=o.onblur;s[36]=o.onchange;s[37]=o.onclick;s[38]=o.ondblclick;s[39]=o.ondrag;s[40]=o.ondrop;s[41]=o.onfocus;s[42]=o.onhide;s[43]=o.onkeydown;s[44]=o.onkeypress;s[45]=o.onkeyup;s[46]=o.onmousedown;s[47]=o.onmouseout;s[48]=o.onmouseover;s[49]=o.onmouseup;s[50]=o.onrefresh;s[51]=o.onshow;s[52]=o.onsubmit;s[53]=o.onupdate;s[54]=o.onvalidate;s[55]=o.originalValue;s[56]=o.overlayMode;s[57]=(o.readOnly?1:0);s[58]=o.renderFlag;s[59]=(o.required?1:0);s[60]=o.requiredMessage;s[61]=o.selectedIndex;s[62]=(o.showLabel?1:0);s[63]=o.slice;s[64]=o.tabIndex;s[65]=o.text;s[66]=o.title;s[67]=o.tuple;s[68]=o.valign;s[69]=('boolean'==typeof o.value?(o.value?1:0):o.value);s[70]=(o.visible?1:0);s[71]=o.width;
}
function _ZEN_Component_abstractListBox_getSettings(s)
{
	s['name'] = 'string';
	s['hzScroll'] = 'boolean';
	s['listHeight'] = 'length';
	s['listWidth'] = 'length';
	s['selectedIndex'] = 'integer';
	s['text'] = 'string';
	this.invokeSuper('getSettings',arguments);
}

self._ZEN_Component_abstractListBox_clickItem = function(idx) {
if (this.disabled) return;
if (this.readOnly) return;
var change = (idx != this.selectedIndex);
this.focus();
this.selectItem(idx);
if (change) {
this.onchangeHandler();
}
}

self._ZEN_Component_abstractListBox_dblClickItem = function(idx) {
if (this.disabled) return;
zenInvokeCallbackMethod(this.ondblclick,this,'ondblclick');
}

self._ZEN_Component_abstractListBox_deferredScrollIntoView = function() {
zenScrollIntoView(this.encPending,this.divPending,this.hzScrollPending);
delete this.divPending;
delete this.encPending;
delete this.hzScrollPending;
}

self._ZEN_Component_abstractListBox_dragStartHandler = function(dragData) {
var ok = false;
var dragItem = this._dragSource;
if (null != dragItem) {
delete this._dragSource;
var anchor = this.findElement('item_' + dragItem);
if (anchor) {
dragData.sourceItem = dragItem;
ok = true;
dragData.value = this.getOptionValue(dragItem);
dragData.text = this.getOptionText(dragItem);
var icon = anchor.cloneNode(true);
icon.style.position ="absolute";
icon.style.width = this.getEnclosingDiv().offsetWidth + 'px';
icon.style.border = "1px solid darkgray";
ZLM.setDragAvatar(icon);
}
}
return ok;
}

self._ZEN_Component_abstractListBox_focus = function() {
var inv = this.findElement('invisible');
if (inv) {
inv.focus();
}
}

self._ZEN_Component_abstractListBox_getItemEl = function(idx) {
return this.findElement('item_' + idx);
}

self._ZEN_Component_abstractListBox_getOptionCount = function() {
return 0;
}

self._ZEN_Component_abstractListBox_getOptionText = function(idx) {
return '';
}

self._ZEN_Component_abstractListBox_getOptionValue = function(idx) {
return '';
}

self._ZEN_Component_abstractListBox_itemMouseDown = function(evt,idx) {
if (this.dragEnabled) {
evt = evt ? evt : window.event;
if (evt.preventDefault) {
evt.preventDefault();
}
this._dragSource = idx;
var change = (idx != this.selectedIndex);
this.selectItem(idx);
if (change) {
this.onchangeHandler();
}
return false;
}
return true;
}

self._ZEN_Component_abstractListBox_itemMouseUp = function(evt) {
if (this.dragEnabled) {
evt = evt ? evt : window.event;
if (evt.preventDefault) {
evt.preventDefault();
}
delete this._dragSource;
return false;
}
return true;
}

self._ZEN_Component_abstractListBox_lbKeyBlur = function() {
this.hasFocus = false;
this.selectItem(this.selectedIndex);
}

self._ZEN_Component_abstractListBox_lbKeyDownHandler = function(evt) {
if (this.disabled) return false;
if (this.readOnly) return false;
evt = evt ? evt : window.event;
var ret = true;
var row = this.currRow;
var col = this.currColumn;
switch(evt.keyCode) {
case zenENTER:
break;
case zenPAGEUP:
ret = false;
this.moveToItem('pageup');
break;
case zenPAGEDN:
ret = false;
this.moveToItem('pagedn');
break;
case zenEND:
ret = false;
this.moveToItem('end');
break;
case zenHOME:
ret = false;
this.moveToItem('home');
break;
case zenUP:
ret = false;
this.moveToItem('up');
break;
case zenDOWN:
ret = false;
this.moveToItem('down');
break;
default:
break;
}
if (!ret) {
if (evt.preventDefault) {
evt.preventDefault();
}
evt.cancelBubble = true;
}
return ret;
}

self._ZEN_Component_abstractListBox_lbKeyFocus = function() {
this.hasFocus = true;
this.selectItem(this.selectedIndex);
}

self._ZEN_Component_abstractListBox_lbKeyPressHandler = function(evt) {
if (this.disabled) return false;
if (this.readOnly) return false;
evt = evt ? evt : window.event;
var ret = true;
switch(evt.keyCode) {
default:
if (evt.ctrlKey || evt.altKey) {
break;
}
var charCode = evt.charCode ? evt.charCode : evt.keyCode;
if (charCode >= 32) {
ret = false;
var ch = evt.charCode ? String.fromCharCode(evt.charCode) : null;
if (!ch && zenIsIE) ch = String.fromCharCode(charCode);
if ('string' == typeof ch) {
ch = ch.toUpperCase();
var size = this.getOptionCount();
var found = false;
var start = this.selectedIndex+1;
for (var pass = 0; pass < 2 && !found; pass++) {
for (var i = start; i < size; i++) {
var t = this.getOptionText(i);
if ('string' == typeof t) {
if (t.charAt(0).toUpperCase() == ch) {
this.selectItem(i);
found = true;
break;
}
}
}
start = 0;
}
}
}
break;
}
return ret;
}

self._ZEN_Component_abstractListBox_moveToItem = function(dir) {
var ret = false;
var idx = this.selectedIndex;
var size = this.getOptionCount();
switch(dir) {
case 'up':
if (idx > 0) {
ret = true;
this.selectItem(idx-1);
}
break;
case 'down':
if (idx < size-1) {
ret = true;
this.selectItem(idx+1);
}
break;
case 'home':
if (size > 0) {
ret = true;
this.selectItem(0);
}
break;
case 'end':
if (size > 0) {
ret = true;
this.selectItem(size - 1);
}
break;
case 'pageup':
if (size > 0) {
ret = true;
idx = idx > 10 ? idx - 10 : 0;
this.selectItem(idx);
}
break;
case 'pagedn':
if (size > 0) {
ret = true;
idx = idx < (size - 10) ? idx + 10 : size-1;
this.selectItem(idx);
}
break;
}
if (idx != this.selectedIndex) {
this.onchangeHandler();
}
return ret;
}

self._ZEN_Component_abstractListBox_onCreate = function() {
this.hasFocus = false;
}

self._ZEN_Component_abstractListBox_selectItem = function(idx) {
var hidden = this.findElement('hidden');
zenASSERT(hidden,'Unable to find hidden element',arguments);
var value,text;
if (this.selectedIndex != -1) {
var div = this.getItemEl(this.selectedIndex);
if (div) {
div.className = 'listBoxItem';
}
}
var size = this.getOptionCount();
if (idx < 0 || idx > size) {
this.selectedIndex = -1;
value = '';
text = '';
}
else {
this.selectedIndex = idx;
value = this.getOptionValue(idx);
text = this.getOptionText(idx);
}
if (this.selectedIndex != -1) {
var div = this.getItemEl(this.selectedIndex);
if (div) {
div.className = (this.hasFocus&&!this.disabled) ? 'listBoxItemFocus' : 'listBoxItemSelected';
if (this.hasFocus) {
if (!this.divPending) {
setTimeout("zenPage.getComponent("+this.index+").deferredScrollIntoView();",100);
}
this.divPending=div;
this.encPending=this.findElement('list');
this.hzScrollPending=!this.hzScroll;
}
}
}
hidden.value = value;
this.value = value;
this.text = text;
}

self._ZEN_Component_abstractListBox_setProperty = function(property,value,value2) {
var hidden = this.findElement('hidden');
switch(property) {
case 'selectedIndex':
value = parseInt(value);
this.selectItem(value);
break;
case 'listHeight':
this.listHeight = value;
var list = this.findElement('list');
if (list) {
list.style.height = value;
}
break;
case 'listWidth':
this.listWidth = value;
var list = this.findElement('list');
if (list) {
list.style.width = value;
}
break;
case 'value':
var size = this.getOptionCount();
for (var idx = 0; idx < size; idx++) {
if (value == this.getOptionValue(idx)) {
this.selectItem(idx);
}
}
break;
case 'text':
break;
case 'disabled':
value = (value) ? true : false;
this.disabled = value;
var list = this.findElement('list');
if (list) {
list.className = this.disabled ? 'listBoxDisabled' : this.controlClass;
}
this.selectItem(this.selectedIndex);
this.invokeSuper('setProperty',arguments);
break;
case 'readOnly':
value = (value) ? true : false;
this.readOnly = value;
break;
default:
return this.invokeSuper('setProperty',arguments);
}
return true;
}

self._ZEN_Component_abstractListBox_ReallyRefreshContents = function() {
	zenInstanceMethod(this,'ReallyRefreshContents','','',arguments);
}
self._ZEN_Component_abstractListBox__Loader = function() {
	zenLoadClass('_ZEN_Component_control');
	_ZEN_Component_abstractListBox.prototype = zenCreate('_ZEN_Component_control',-1);
	var p = _ZEN_Component_abstractListBox.prototype;
	if (null==p) {return;}
	p.constructor = _ZEN_Component_abstractListBox;
	p.superClass = ('undefined' == typeof _ZEN_Component_control) ? zenMaster._ZEN_Component_control.prototype:_ZEN_Component_control.prototype;
	p.__ZENcomponent = true;
	p._serverClass = '%ZEN.Component.abstractListBox';
	p._type = 'abstractListBox';
	p.serialize = _ZEN_Component_abstractListBox_serialize;
	p.getSettings = _ZEN_Component_abstractListBox_getSettings;
	p.ReallyRefreshContents = _ZEN_Component_abstractListBox_ReallyRefreshContents;
	p.clickItem = _ZEN_Component_abstractListBox_clickItem;
	p.dblClickItem = _ZEN_Component_abstractListBox_dblClickItem;
	p.deferredScrollIntoView = _ZEN_Component_abstractListBox_deferredScrollIntoView;
	p.dragStartHandler = _ZEN_Component_abstractListBox_dragStartHandler;
	p.focus = _ZEN_Component_abstractListBox_focus;
	p.getItemEl = _ZEN_Component_abstractListBox_getItemEl;
	p.getOptionCount = _ZEN_Component_abstractListBox_getOptionCount;
	p.getOptionText = _ZEN_Component_abstractListBox_getOptionText;
	p.getOptionValue = _ZEN_Component_abstractListBox_getOptionValue;
	p.itemMouseDown = _ZEN_Component_abstractListBox_itemMouseDown;
	p.itemMouseUp = _ZEN_Component_abstractListBox_itemMouseUp;
	p.lbKeyBlur = _ZEN_Component_abstractListBox_lbKeyBlur;
	p.lbKeyDownHandler = _ZEN_Component_abstractListBox_lbKeyDownHandler;
	p.lbKeyFocus = _ZEN_Component_abstractListBox_lbKeyFocus;
	p.lbKeyPressHandler = _ZEN_Component_abstractListBox_lbKeyPressHandler;
	p.moveToItem = _ZEN_Component_abstractListBox_moveToItem;
	p.onCreate = _ZEN_Component_abstractListBox_onCreate;
	p.selectItem = _ZEN_Component_abstractListBox_selectItem;
	p.setProperty = _ZEN_Component_abstractListBox_setProperty;
}

self._zenClassIdx['button'] = '_ZEN_Component_button';
self._ZEN_Component_button = function(index,id) {
	if (index>=0) {_ZEN_Component_button__init(this,index,id);}
}

self._ZEN_Component_button__init = function(o,index,id) {
	('undefined' == typeof _ZEN_Component_control__init) ?zenMaster._ZEN_Component_control__init(o,index,id):_ZEN_Component_control__init(o,index,id);
	o.caption = '';
	o.controlClass = 'button';
}
function _ZEN_Component_button_serialize(set,s)
{
	var o = this;s[0]='882897798';s[1]=o.index;s[2]=o.id;s[3]=o.name;s[4]=set.addObject(o.parent,'parent');s[5]=set.addObject(o.composite,'composite');s[6]=o.align;s[7]=o.aux;s[8]=o.caption;s[9]=o.clientType;s[10]=o.containerStyle;s[11]=o.controlClass;s[12]=o.controlStyle;s[13]=o.dataBinding;s[14]=(o.disabled?1:0);s[15]=(o.dragEnabled?1:0);s[16]=(o.dropEnabled?1:0);s[17]=(o.dynamic?1:0);s[18]=o.enclosingClass;s[19]=o.enclosingStyle;s[20]=o.error;s[21]=o.height;s[22]=(o.hidden?1:0);s[23]=o.hint;s[24]=o.hintClass;s[25]=o.hintStyle;s[26]=(o.invalid?1:0);s[27]=o.invalidMessage;s[28]=o.label;s[29]=o.labelClass;s[30]=o.labelStyle;s[31]=o.onafterdrag;s[32]=o.onbeforedrag;s[33]=o.onblur;s[34]=o.onchange;s[35]=o.onclick;s[36]=o.ondblclick;s[37]=o.ondrag;s[38]=o.ondrop;s[39]=o.onfocus;s[40]=o.onhide;s[41]=o.onkeydown;s[42]=o.onkeypress;s[43]=o.onkeyup;s[44]=o.onmousedown;s[45]=o.onmouseout;s[46]=o.onmouseover;s[47]=o.onmouseup;s[48]=o.onrefresh;s[49]=o.onshow;s[50]=o.onsubmit;s[51]=o.onupdate;s[52]=o.onvalidate;s[53]=o.originalValue;s[54]=o.overlayMode;s[55]=(o.readOnly?1:0);s[56]=o.renderFlag;s[57]=(o.required?1:0);s[58]=o.requiredMessage;s[59]=(o.showLabel?1:0);s[60]=o.slice;s[61]=o.tabIndex;s[62]=o.title;s[63]=o.tuple;s[64]=o.valign;s[65]=('boolean'==typeof o.value?(o.value?1:0):o.value);s[66]=(o.visible?1:0);s[67]=o.width;
}
function _ZEN_Component_button_getSettings(s)
{
	s['name'] = 'string';
	s['caption'] = 'caption';
	this.invokeSuper('getSettings',arguments);
}

self._ZEN_Component_button_setProperty = function(property,value,value2) {
switch(property) {
case 'caption':
this.caption = value;
var el = this.findElement('control');
if (el) {
el.value = this.caption;
}
break;
case 'value':
this.value = value;
break;
default:
return this.invokeSuper('setProperty',arguments);
}
return true;
}

self._ZEN_Component_button_ReallyRefreshContents = function() {
	zenInstanceMethod(this,'ReallyRefreshContents','','',arguments);
}
self._ZEN_Component_button__Loader = function() {
	zenLoadClass('_ZEN_Component_control');
	_ZEN_Component_button.prototype = zenCreate('_ZEN_Component_control',-1);
	var p = _ZEN_Component_button.prototype;
	if (null==p) {return;}
	p.constructor = _ZEN_Component_button;
	p.superClass = ('undefined' == typeof _ZEN_Component_control) ? zenMaster._ZEN_Component_control.prototype:_ZEN_Component_control.prototype;
	p.__ZENcomponent = true;
	p._serverClass = '%ZEN.Component.button';
	p._type = 'button';
	p.serialize = _ZEN_Component_button_serialize;
	p.getSettings = _ZEN_Component_button_getSettings;
	p.ReallyRefreshContents = _ZEN_Component_button_ReallyRefreshContents;
	p.setProperty = _ZEN_Component_button_setProperty;
}

self._zenClassIdx['checkbox'] = '_ZEN_Component_checkbox';
self._ZEN_Component_checkbox = function(index,id) {
	if (index>=0) {_ZEN_Component_checkbox__init(this,index,id);}
}

self._ZEN_Component_checkbox__init = function(o,index,id) {
	('undefined' == typeof _ZEN_Component_control__init) ?zenMaster._ZEN_Component_control__init(o,index,id):_ZEN_Component_control__init(o,index,id);
	o.caption = '';
	o.captionClass = 'checkboxCaption';
	o.clientType = 'boolean';
	o.controlClass = 'checkbox';
}
function _ZEN_Component_checkbox_serialize(set,s)
{
	var o = this;s[0]='709246303';s[1]=o.index;s[2]=o.id;s[3]=o.name;s[4]=set.addObject(o.parent,'parent');s[5]=set.addObject(o.composite,'composite');s[6]=o.align;s[7]=o.aux;s[8]=o.caption;s[9]=o.captionClass;s[10]=o.clientType;s[11]=o.containerStyle;s[12]=o.controlClass;s[13]=o.controlStyle;s[14]=o.dataBinding;s[15]=(o.disabled?1:0);s[16]=(o.dragEnabled?1:0);s[17]=(o.dropEnabled?1:0);s[18]=(o.dynamic?1:0);s[19]=o.enclosingClass;s[20]=o.enclosingStyle;s[21]=o.error;s[22]=o.height;s[23]=(o.hidden?1:0);s[24]=o.hint;s[25]=o.hintClass;s[26]=o.hintStyle;s[27]=(o.invalid?1:0);s[28]=o.invalidMessage;s[29]=o.label;s[30]=o.labelClass;s[31]=o.labelStyle;s[32]=o.onafterdrag;s[33]=o.onbeforedrag;s[34]=o.onblur;s[35]=o.onchange;s[36]=o.onclick;s[37]=o.ondblclick;s[38]=o.ondrag;s[39]=o.ondrop;s[40]=o.onfocus;s[41]=o.onhide;s[42]=o.onkeydown;s[43]=o.onkeypress;s[44]=o.onkeyup;s[45]=o.onmousedown;s[46]=o.onmouseout;s[47]=o.onmouseover;s[48]=o.onmouseup;s[49]=o.onrefresh;s[50]=o.onshow;s[51]=o.onsubmit;s[52]=o.onupdate;s[53]=o.onvalidate;s[54]=o.originalValue;s[55]=o.overlayMode;s[56]=(o.readOnly?1:0);s[57]=o.renderFlag;s[58]=(o.required?1:0);s[59]=o.requiredMessage;s[60]=(o.showLabel?1:0);s[61]=o.slice;s[62]=o.tabIndex;s[63]=o.title;s[64]=o.tuple;s[65]=o.valign;s[66]=('boolean'==typeof o.value?(o.value?1:0):o.value);s[67]=(o.visible?1:0);s[68]=o.width;
}
function _ZEN_Component_checkbox_getSettings(s)
{
	s['name'] = 'string';
	s['caption'] = 'caption';
	s['captionClass'] = 'cssClass';
	this.invokeSuper('getSettings',arguments);
}

self._ZEN_Component_checkbox_clickCaption = function() {
if (this.disabled) return;
if (this.readOnly) return;
var cb = this.findElement('control');
zenASSERT(cb,'Unable to find checkbox element',arguments);
cb.checked = !cb.checked;
var hidden = this.findElement('hidden');
zenASSERT(hidden,'Unable to find hidden element',arguments);
hidden.value = cb.checked ? '1' : '0';
this.value = cb.checked;
zenInvokeCallbackMethod(this.onclick,this,'onclick');
this.onchangeHandler();
}

self._ZEN_Component_checkbox_clickCheckbox = function() {
if (this.readOnly) return false;
var cb = this.findElement('control');
zenASSERT(cb,'Unable to find checkbox element',arguments);
var hidden = this.findElement('hidden');
zenASSERT(hidden,'Unable to find hidden element',arguments);
hidden.value = cb.checked ? '1' : '0';
this.value = cb.checked;
zenInvokeCallbackMethod(this.onclick,this,'onclick');
this.onchangeHandler();
return true;
}

self._ZEN_Component_checkbox_getProperty = function(property,key) {
switch(property) {
case 'value':
return this.normalizeValue(this.value);
}
return this.invokeSuper('getProperty',arguments);
}

self._ZEN_Component_checkbox_onSerialize = function() {
var cb = this.findElement('control');
if (cb) {
this.value = cb.checked;
}
}

self._ZEN_Component_checkbox_setProperty = function(property,value,value2) {
var el = this.findElement('control');
var hidden = this.findElement('hidden');
switch(property) {
case 'value':
value = this.normalizeValue(value);
this.value = value;
if (el) { el.checked = value; }
if (hidden) { hidden.value = value ? '1' : '0'; }
break;
case 'caption':
var caption = this.findElement('caption');
this.caption = value;
if (caption) { caption.innerHTML = value; }
break;
case 'captionClass':
var caption = this.findElement('caption');
this.captionClass = value;
if (caption) { caption.className = value; }
break;
default:
return this.invokeSuper('setProperty',arguments);
}
return true;
}

self._ZEN_Component_checkbox_ReallyRefreshContents = function() {
	zenInstanceMethod(this,'ReallyRefreshContents','','',arguments);
}
self._ZEN_Component_checkbox__Loader = function() {
	zenLoadClass('_ZEN_Component_control');
	_ZEN_Component_checkbox.prototype = zenCreate('_ZEN_Component_control',-1);
	var p = _ZEN_Component_checkbox.prototype;
	if (null==p) {return;}
	p.constructor = _ZEN_Component_checkbox;
	p.superClass = ('undefined' == typeof _ZEN_Component_control) ? zenMaster._ZEN_Component_control.prototype:_ZEN_Component_control.prototype;
	p.__ZENcomponent = true;
	p._serverClass = '%ZEN.Component.checkbox';
	p._type = 'checkbox';
	p.serialize = _ZEN_Component_checkbox_serialize;
	p.getSettings = _ZEN_Component_checkbox_getSettings;
	p.ReallyRefreshContents = _ZEN_Component_checkbox_ReallyRefreshContents;
	p.clickCaption = _ZEN_Component_checkbox_clickCaption;
	p.clickCheckbox = _ZEN_Component_checkbox_clickCheckbox;
	p.getProperty = _ZEN_Component_checkbox_getProperty;
	p.onSerialize = _ZEN_Component_checkbox_onSerialize;
	p.setProperty = _ZEN_Component_checkbox_setProperty;
}

self._zenClassIdx['dateSelect'] = '_ZEN_Component_dateSelect';
self._ZEN_Component_dateSelect = function(index,id) {
	if (index>=0) {_ZEN_Component_dateSelect__init(this,index,id);}
}

self._ZEN_Component_dateSelect__init = function(o,index,id) {
	('undefined' == typeof _ZEN_Component_control__init) ?zenMaster._ZEN_Component_control__init(o,index,id):_ZEN_Component_control__init(o,index,id);
	o.controlClass = 'dateSelect';
	o.format = 'MDY';
	o.maxYear = '';
	o.minYear = '';
	o.monthList = '';
	o.shortMonth = false;
	o.showMonthNumber = false;
}
function _ZEN_Component_dateSelect_serialize(set,s)
{
	var o = this;s[0]='3939645954';s[1]=o.index;s[2]=o.id;s[3]=o.name;s[4]=set.addObject(o.parent,'parent');s[5]=set.addObject(o.composite,'composite');s[6]=o.align;s[7]=o.aux;s[8]=o.clientType;s[9]=o.containerStyle;s[10]=o.controlClass;s[11]=o.controlStyle;s[12]=o.dataBinding;s[13]=(o.disabled?1:0);s[14]=(o.dragEnabled?1:0);s[15]=(o.dropEnabled?1:0);s[16]=(o.dynamic?1:0);s[17]=o.enclosingClass;s[18]=o.enclosingStyle;s[19]=o.error;s[20]=o.format;s[21]=o.height;s[22]=(o.hidden?1:0);s[23]=o.hint;s[24]=o.hintClass;s[25]=o.hintStyle;s[26]=(o.invalid?1:0);s[27]=o.invalidMessage;s[28]=o.label;s[29]=o.labelClass;s[30]=o.labelStyle;s[31]=o.maxYear;s[32]=o.minYear;s[33]=o.monthList;s[34]=o.onafterdrag;s[35]=o.onbeforedrag;s[36]=o.onblur;s[37]=o.onchange;s[38]=o.onclick;s[39]=o.ondblclick;s[40]=o.ondrag;s[41]=o.ondrop;s[42]=o.onfocus;s[43]=o.onhide;s[44]=o.onkeydown;s[45]=o.onkeypress;s[46]=o.onkeyup;s[47]=o.onmousedown;s[48]=o.onmouseout;s[49]=o.onmouseover;s[50]=o.onmouseup;s[51]=o.onrefresh;s[52]=o.onshow;s[53]=o.onsubmit;s[54]=o.onupdate;s[55]=o.onvalidate;s[56]=o.originalValue;s[57]=o.overlayMode;s[58]=(o.readOnly?1:0);s[59]=o.renderFlag;s[60]=(o.required?1:0);s[61]=o.requiredMessage;s[62]=(o.shortMonth?1:0);s[63]=(o.showLabel?1:0);s[64]=(o.showMonthNumber?1:0);s[65]=o.slice;s[66]=o.tabIndex;s[67]=o.title;s[68]=o.tuple;s[69]=o.valign;s[70]=('boolean'==typeof o.value?(o.value?1:0):o.value);s[71]=(o.visible?1:0);s[72]=o.width;
}
function _ZEN_Component_dateSelect_getSettings(s)
{
	s['name'] = 'string';
	s['format'] = 'enum:MDY,DMY,YMD,DM,MD,YM,MY,Y,M';
	s['maxYear'] = 'integer';
	s['minYear'] = 'integer';
	s['monthList'] = 'csv';
	s['shortMonth'] = 'boolean';
	s['showMonthNumber'] = 'boolean';
	this.invokeSuper('getSettings',arguments);
}

self._ZEN_Component_dateSelect_focus = function() {
var el = null;
switch (this.format.charAt(0)) {
case 'Y':
el = this.findElement('year');
break;
case 'M':
el = this.findElement('month');
break;
case 'D':
el = this.findElement('day');
break;
}
if (el) {
try {
el.focus();
}
catch(ex) {
}
}
}

self._ZEN_Component_dateSelect_getDay = function() {
var day = this.findElement('day');
return (day ? day.value : '');
}

self._ZEN_Component_dateSelect_getMonth = function() {
var month = this.findElement('month');
return (month ? month.value : '');
}

self._ZEN_Component_dateSelect_getYear = function() {
var year = this.findElement('year');
return (year ? year.value : '');
}

self._ZEN_Component_dateSelect_isCompleteDate = function() {
var year = this.findElement('year');
var month = this.findElement('month');
var day = this.findElement('day');
var control = 0;
var blank = 0;
if (year) {
control++;
if (year.value=="") { blank++; }
}
if (month) {
control++;
if (month.value=="") { blank++; }
}
if (day) {
control++;
if (day.value=="") { blank++; }
}
if ((blank>0)&&(blank!=control)) {
return false;
}
return true;
}

self._ZEN_Component_dateSelect_isValid = function() {
var d = zenParseDate(this.getValue());
if (-1 == d) return false;
return true;
}

self._ZEN_Component_dateSelect_ondatechangeHandler = function(which) {
var year = this.findElement('year');
var month = this.findElement('month');
var day = this.findElement('day');
switch(which) {
case 'year':
if (year.value=='') {
if (month) { month.value = ''; }
if (day) { day.value = ''; }
}
break;
case 'month':
if (month.value=='') {
if (year) { year.value = ''; }
if (day) { day.value = ''; }
}
break;
case 'day':
if (day.value=='') {
if (month) { month.value = ''; }
if (year) { year.value = ''; }
}
break;
}
var yearVal = year ? parseInt(year.value) : '';
var monthVal = month ? parseInt(month.value) : '';
var dayVal = day ? parseInt(day.value) : '';
yearVal = isNaN(yearVal) ? '' : yearVal;
monthVal = isNaN(monthVal) ? '' : monthVal;
dayVal = isNaN(dayVal) ? '' : dayVal;
if ((yearVal=='')&&(this.format=='MD' || this.format=='DM' || this.format=='M')) {
var now = new Date();
yearVal = now.getFullYear();
}
if ((dayVal=='')&&(this.format=='YM' || this.format=='MY' || this.format=='M' || this.format=='Y')) {
dayVal = 1;
}
if ((monthVal=='')&&(this.format=='Y')) {
monthVal = 1;
}
var complete = this.isCompleteDate();
if (!complete) {
this.value = 'missing';
}
else if ((yearVal=='')&&(monthVal=='')&&(dayVal=='')) {
this.value = '';
}
else {
var d = new Date(yearVal,monthVal-1,dayVal);
if (d.getMonth() != (monthVal - 1)) {
d.setDate((monthVal==2) ? 28 : 30);
if (day) {
day.value = (monthVal==2) ? 28 : 30;
}
d.setMonth(monthVal - 1);
}
this.value = zenDateToString(d);
}
if (day && 'day' != which) {
this.updateDayList();
}
var el = this.findElement('control');
if (el) {
el.value = this.value;
}
this.onchangeHandler();
}

self._ZEN_Component_dateSelect_setProperty = function(property,value,value2) {
var el = this.findElement('control'); // hidden
var year = this.findElement('year');
var month = this.findElement('month');
var day = this.findElement('day');
switch(property) {
case 'value':
var yearVal = '';
var monthVal = '';
var dayVal = '';
if (value != '') {
var now = new Date();
value = value.toString();
yearVal = parseInt(value.substr(0,4),10);
yearVal = (isNaN(yearVal) ? now.getFullYear() : yearVal);
monthVal = parseInt(value.substr(5,2),10);
monthVal = (isNaN(monthVal) ? 1 : monthVal);
dayVal = parseInt(value.substr(8,2),10);
dayVal = (isNaN(dayVal) ? 1 : dayVal);
}
if (el) { el.value = value; }
if (year) { year.value = yearVal; }
if (month) { month.value = monthVal; }
if (day) {
day.value = dayVal;
this.updateDayList();
}
break;
case 'minYear':
case 'maxYear':
this[property] = value;
this.updateYearList();
break;
case 'controlClass':
this.controlClass = value;
if (year) { year.className = (this.invalid ? 'zenInvalid' : this.controlClass);}
if (month) { month.className = (this.invalid ? 'zenInvalid' : this.controlClass);}
if (day) { day.className = (this.invalid ? 'zenInvalid' : this.controlClass);}
break;
case 'controlStyle':
this.controlStyle = value;
if (year) { year.style.cssText = value;	}
if (month) { month.style.cssText = value; }
if (day) { day.style.cssText = value;	}
break;
case 'disabled':
value = (value) ? true : false;
this.disabled = value;
var d = (this.readOnly || this.disabled);
if (year) { year.disabled = d; }
if (month) { month.disabled = d; }
if (day) { day.disabled = d; }
var lbl = this.getLabelElement();
if (lbl) {
if (this.disabled) {
lbl.className = 'zenLabelDisabled';
}
else {
lbl.className = (''==this.labelClass) ? 'zenLabel' : this.labelClass;
}
}
break;
case 'readOnly':
value = (value) ? true : false;
this.readOnly = value;
var d = (this.readOnly || this.disabled);
if (year) { year.disabled = d; }
if (month) { month.disabled = d; }
if (day) { day.disabled = d; }
break;
default:
return this.invokeSuper('setProperty',arguments);
}
return true;
}

self._ZEN_Component_dateSelect_updateDayList = function() {
var year = this.getYear();
if (year=='') {
var now = new Date();
year = now.getFullYear();
}
var month = this.getMonth();
if (month=='') {
month = 1;
}
var day = this.findElement('day');
if (day) {
var tDay = day.value;
day.options.length = 0;
var daysInMonth = [31,28,31,30,31,30,31,31,30,31,30,31];
if (year%4 == 0) {
if (year%100 == 0 && year%400 != 0) {
}
else {
daysInMonth[1] = 29;
}
}
day.options[day.options.length] = new Option('','');
for (var d = 1; d <= daysInMonth[month-1]; d++) {
day.options[day.options.length] = new Option(d,d,false,d==tDay);
}
}
}

self._ZEN_Component_dateSelect_updateYearList = function() {
var year = this.findElement('year');
if (year) {
var now = new Date();
var tYear = parseInt(this.value.substr(0,4),10);
year.options.length = 0;
var minY = parseInt(this.minYear,10);
var maxY = parseInt(this.maxYear,10);
minY = isNaN(minY) ? 1900 : minY;
maxY = isNaN(maxY) ? (now.getFullYear() + 20) : maxY;
minY = (minY < 1840) ? 1840 : minY;
maxY = (maxY > 3000) ? 3000 : maxY;
year.options[year.options.length] = new Option('','');
for (var y = minY; y <= maxY; y++) {
year.options[year.options.length] = new Option(y,y,false,y==tYear);
}
}
}

self._ZEN_Component_dateSelect_ReallyRefreshContents = function() {
	zenInstanceMethod(this,'ReallyRefreshContents','','',arguments);
}
self._ZEN_Component_dateSelect__Loader = function() {
	zenLoadClass('_ZEN_Component_control');
	_ZEN_Component_dateSelect.prototype = zenCreate('_ZEN_Component_control',-1);
	var p = _ZEN_Component_dateSelect.prototype;
	if (null==p) {return;}
	p.constructor = _ZEN_Component_dateSelect;
	p.superClass = ('undefined' == typeof _ZEN_Component_control) ? zenMaster._ZEN_Component_control.prototype:_ZEN_Component_control.prototype;
	p.__ZENcomponent = true;
	p._serverClass = '%ZEN.Component.dateSelect';
	p._type = 'dateSelect';
	p.serialize = _ZEN_Component_dateSelect_serialize;
	p.getSettings = _ZEN_Component_dateSelect_getSettings;
	p.ReallyRefreshContents = _ZEN_Component_dateSelect_ReallyRefreshContents;
	p.focus = _ZEN_Component_dateSelect_focus;
	p.getDay = _ZEN_Component_dateSelect_getDay;
	p.getMonth = _ZEN_Component_dateSelect_getMonth;
	p.getYear = _ZEN_Component_dateSelect_getYear;
	p.isCompleteDate = _ZEN_Component_dateSelect_isCompleteDate;
	p.isValid = _ZEN_Component_dateSelect_isValid;
	p.ondatechangeHandler = _ZEN_Component_dateSelect_ondatechangeHandler;
	p.setProperty = _ZEN_Component_dateSelect_setProperty;
	p.updateDayList = _ZEN_Component_dateSelect_updateDayList;
	p.updateYearList = _ZEN_Component_dateSelect_updateYearList;
}

self._zenClassIdx['dateText'] = '_ZEN_Component_dateText';
self._ZEN_Component_dateText = function(index,id) {
	if (index>=0) {_ZEN_Component_dateText__init(this,index,id);}
}

self._ZEN_Component_dateText__init = function(o,index,id) {
	('undefined' == typeof _ZEN_Component_control__init) ?zenMaster._ZEN_Component_control__init(o,index,id):_ZEN_Component_control__init(o,index,id);
	o.controlClass = 'comboboxInput';
	o.dayList = '';
	o.firstDayOfWeek = '0';
	o.format = 'YMD';
	o.invalidDateMessage = 'Invalid Date';
	o.maxDate = '';
	o.minDate = '';
	o.monthList = '';
	o.onshowPopup = '';
	o.separator = '-';
	o.showTime = false;
	o.size = '15';
	o.timeCaption = '';
}
function _ZEN_Component_dateText_serialize(set,s)
{
	var o = this;s[0]='1388691862';s[1]=o.index;s[2]=o.id;s[3]=o.name;s[4]=set.addObject(o.parent,'parent');s[5]=set.addObject(o.composite,'composite');s[6]=o.align;s[7]=o.aux;s[8]=o.clientType;s[9]=o.containerStyle;s[10]=o.controlClass;s[11]=o.controlStyle;s[12]=o.dataBinding;s[13]=o.dayList;s[14]=(o.disabled?1:0);s[15]=(o.dragEnabled?1:0);s[16]=(o.dropEnabled?1:0);s[17]=(o.dynamic?1:0);s[18]=o.enclosingClass;s[19]=o.enclosingStyle;s[20]=o.error;s[21]=o.firstDayOfWeek;s[22]=o.format;s[23]=o.height;s[24]=(o.hidden?1:0);s[25]=o.hint;s[26]=o.hintClass;s[27]=o.hintStyle;s[28]=(o.invalid?1:0);s[29]=o.invalidDateMessage;s[30]=o.invalidMessage;s[31]=o.label;s[32]=o.labelClass;s[33]=o.labelStyle;s[34]=o.maxDate;s[35]=o.minDate;s[36]=o.monthList;s[37]=o.onafterdrag;s[38]=o.onbeforedrag;s[39]=o.onblur;s[40]=o.onchange;s[41]=o.onclick;s[42]=o.ondblclick;s[43]=o.ondrag;s[44]=o.ondrop;s[45]=o.onfocus;s[46]=o.onhide;s[47]=o.onkeydown;s[48]=o.onkeypress;s[49]=o.onkeyup;s[50]=o.onmousedown;s[51]=o.onmouseout;s[52]=o.onmouseover;s[53]=o.onmouseup;s[54]=o.onrefresh;s[55]=o.onshow;s[56]=o.onshowPopup;s[57]=o.onsubmit;s[58]=o.onupdate;s[59]=o.onvalidate;s[60]=o.originalValue;s[61]=o.overlayMode;s[62]=(o.readOnly?1:0);s[63]=o.renderFlag;s[64]=(o.required?1:0);s[65]=o.requiredMessage;s[66]=o.separator;s[67]=(o.showLabel?1:0);s[68]=(o.showTime?1:0);s[69]=o.size;s[70]=o.slice;s[71]=o.tabIndex;s[72]=o.timeCaption;s[73]=o.title;s[74]=o.tuple;s[75]=o.valign;s[76]=('boolean'==typeof o.value?(o.value?1:0):o.value);s[77]=(o.visible?1:0);s[78]=o.width;
}
function _ZEN_Component_dateText_getSettings(s)
{
	s['name'] = 'string';
	s['dayList'] = 'csv';
	s['firstDayOfWeek'] = 'integer';
	s['format'] = 'enum:MDY,DMY,YMD';
	s['invalidDateMessage'] = 'caption';
	s['maxDate'] = 'string';
	s['minDate'] = 'string';
	s['monthList'] = 'csv';
	s['onshowPopup'] = 'eventHandler';
	s['separator'] = 'enum:-,/,., ';
	s['showTime'] = 'boolean';
	s['size'] = 'integer';
	s['timeCaption'] = 'caption';
	this.invokeSuper('getSettings',arguments);
}

self._ZEN_Component_dateText_applyDate = function(group) {
var value = group.getValue();
var oldval = this.value;
var ctrl = this.findElement('control');
ctrl.value = this.formatValue(value);
this.value = value;
if (oldval != this.value) {
this.onchangeHandler();
}
}

self._ZEN_Component_dateText_formatValue = function(val) {
if ('' != val) {
if (-1 == val) {
val = this.invalidDateMessage;
}
else {
val = zenParseDate(val,this.showTime,this.format,this.separator);
}
}
return val
}

self._ZEN_Component_dateText_isValid = function() {
var value = this.getValue();
if ('' == value) return true;
var d = zenParseDate(value,this.showTime);
if (-1 == d) return false;
if (('' != this.minDate)||('' != this.maxDate)) {
var currD = zenStringToDate(value);
}
if ('' != this.minDate) {
var minD = zenStringToDate(this.minDate);
if (minD.getTime() > currD.getTime()) return false;
}
if ('' != this.maxDate) {
var maxD = zenStringToDate(this.maxDate);
if (maxD.getTime() < currD.getTime()) return false;
}
return true;
}

self._ZEN_Component_dateText_onRefreshContents = function() {
this.setValue(this.value);
}

self._ZEN_Component_dateText_ondatechangeHandler = function() {
var ctrl = this.findElement('control');
zenASSERT(ctrl,'Unable to find input element',arguments);
var v = zenParseDate(this.unformatValue(ctrl.value),this.showTime,this.format,this.separator);
ctrl.value = (-1 == v) ? this.invalidDateMessage : v;
this.onchangeHandler();
}

self._ZEN_Component_dateText_onloadHandler = function() {
this.setValue(this.value);
}

self._ZEN_Component_dateText_setProperty = function(property,value,value2) {
var el = this.findElement('control');
switch(property) {
case 'value':
this.value = value;
if (el) {
el.value = this.formatValue(value);
}
break;
case 'format':
case 'separator':
this[property] = value;
if (el) {
el.value = this.formatValue(this.value);
}
break;
case 'showTime':
value = value ? true : false;
this.showTime = value;
break;
case 'disabled':
case 'readOnly':
this.invokeSuper('setProperty',arguments);
var btn = this.findElement('btn');
if (btn) {
btn.disabled = this.readOnly || this.disabled;
}
break;
default:
return this.invokeSuper('setProperty',arguments);
}
return true;
}

self._ZEN_Component_dateText_showDateSelector = function() {
if (this.disabled || this.readOnly) return;
var ctrl = this.findElement('control');
zenASSERT(ctrl,'Unable to find input element',arguments);
var value = ctrl.value;
var top,left;
var top = zenGetTop(ctrl) + ctrl.offsetHeight - zenGetTopScroll(ctrl);
var left = zenGetLeft(ctrl) - zenGetLeftScroll(ctrl);
top += this.window.document.body.scrollTop;
left += this.window.document.body.scrollLeft;
var group = zenPage.createComponent('modalGroup');
group.setProperty('onaction','zenPage.getComponent('+this.index+').applyDate(group);');
var calParms = new Object();
if ('' != this.minDate) {
var minD = zenParseDate(this.minDate);
if (-1 != minD) {
var year = parseInt(minD.substr(0,4),10);
calParms['minDate'] = this.minDate;
calParms['startYear'] = year;
}
}
if ('' != this.maxDate) {
var maxD = zenParseDate(this.maxDate);
if (-1 != maxD) {
var year = parseInt(maxD.substr(0,4),10);
calParms['maxDate'] = this.maxDate;
calParms['endYear'] = year;
}
}
if ('' != value) {
value = this.unformatValue(value);
value = (-1 == value) ? '' : value;
}
if ('' == value) {
var now = new Date();
calParms['year'] = now.getFullYear();
calParms['month'] = now.getMonth() + 1;
}
calParms['dayList'] = this.dayList;
calParms['monthList'] = this.monthList;
calParms['firstDayOfWeek'] = this.firstDayOfWeek;
if (this.showTime) {
calParms['timeCaption'] = this.timeCaption;
calParms['showTime'] = this.showTime;
}
zenInvokeCallbackMethod(this.onshowPopup,this,'onshowPopup','settings',calParms);
group.show('','calendar',value,top,left,null,null,calParms);
}

self._ZEN_Component_dateText_unformatValue = function(val) {
if ('' != val) {
var v=val.toString();
v=v.replace(/\//g,'-');
v=v.replace(/\./g,'-');
v=v.replace(/ /g,'-');
var t = v.split('-');
if (t.length>2) {
switch (this.format) {
case 'DMY':
val = t[2] + this.separator + t[1] + this.separator + t[0];
break;
case 'MDY':
val = t[2] + this.separator + t[0] + this.separator + t[1];
break;
case 'YMD':
val = t[0] + this.separator + t[1] + this.separator + t[2];
break;
}
}
if (this.showTime && t[3]) {
val += ' ' + t[3];
}
val = zenParseDate(val,this.showTime,'YMD','-');
}
return val
}

self._ZEN_Component_dateText_ReallyRefreshContents = function() {
	zenInstanceMethod(this,'ReallyRefreshContents','','',arguments);
}
self._ZEN_Component_dateText__Loader = function() {
	zenLoadClass('_ZEN_Component_control');
	_ZEN_Component_dateText.prototype = zenCreate('_ZEN_Component_control',-1);
	var p = _ZEN_Component_dateText.prototype;
	if (null==p) {return;}
	p.constructor = _ZEN_Component_dateText;
	p.superClass = ('undefined' == typeof _ZEN_Component_control) ? zenMaster._ZEN_Component_control.prototype:_ZEN_Component_control.prototype;
	p.__ZENcomponent = true;
	p._serverClass = '%ZEN.Component.dateText';
	p._type = 'dateText';
	p.serialize = _ZEN_Component_dateText_serialize;
	p.getSettings = _ZEN_Component_dateText_getSettings;
	p.ReallyRefreshContents = _ZEN_Component_dateText_ReallyRefreshContents;
	p.applyDate = _ZEN_Component_dateText_applyDate;
	p.formatValue = _ZEN_Component_dateText_formatValue;
	p.isValid = _ZEN_Component_dateText_isValid;
	p.onRefreshContents = _ZEN_Component_dateText_onRefreshContents;
	p.ondatechangeHandler = _ZEN_Component_dateText_ondatechangeHandler;
	p.onloadHandler = _ZEN_Component_dateText_onloadHandler;
	p.setProperty = _ZEN_Component_dateText_setProperty;
	p.showDateSelector = _ZEN_Component_dateText_showDateSelector;
	p.unformatValue = _ZEN_Component_dateText_unformatValue;
}

self._zenClassIdx['fileUpload'] = '_ZEN_Component_fileUpload';
self._ZEN_Component_fileUpload = function(index,id) {
	if (index>=0) {_ZEN_Component_fileUpload__init(this,index,id);}
}

self._ZEN_Component_fileUpload__init = function(o,index,id) {
	('undefined' == typeof _ZEN_Component_control__init) ?zenMaster._ZEN_Component_control__init(o,index,id):_ZEN_Component_control__init(o,index,id);
	o.accept = '';
	o.controlClass = 'fileUpload';
	o.maxlength = '';
	o.size = '';
}
function _ZEN_Component_fileUpload_serialize(set,s)
{
	var o = this;s[0]='423258873';s[1]=o.index;s[2]=o.id;s[3]=o.name;s[4]=set.addObject(o.parent,'parent');s[5]=set.addObject(o.composite,'composite');s[6]=o.accept;s[7]=o.align;s[8]=o.aux;s[9]=o.clientType;s[10]=o.containerStyle;s[11]=o.controlClass;s[12]=o.controlStyle;s[13]=o.dataBinding;s[14]=(o.disabled?1:0);s[15]=(o.dragEnabled?1:0);s[16]=(o.dropEnabled?1:0);s[17]=(o.dynamic?1:0);s[18]=o.enclosingClass;s[19]=o.enclosingStyle;s[20]=o.error;s[21]=o.height;s[22]=(o.hidden?1:0);s[23]=o.hint;s[24]=o.hintClass;s[25]=o.hintStyle;s[26]=(o.invalid?1:0);s[27]=o.invalidMessage;s[28]=o.label;s[29]=o.labelClass;s[30]=o.labelStyle;s[31]=o.maxlength;s[32]=o.onafterdrag;s[33]=o.onbeforedrag;s[34]=o.onblur;s[35]=o.onchange;s[36]=o.onclick;s[37]=o.ondblclick;s[38]=o.ondrag;s[39]=o.ondrop;s[40]=o.onfocus;s[41]=o.onhide;s[42]=o.onkeydown;s[43]=o.onkeypress;s[44]=o.onkeyup;s[45]=o.onmousedown;s[46]=o.onmouseout;s[47]=o.onmouseover;s[48]=o.onmouseup;s[49]=o.onrefresh;s[50]=o.onshow;s[51]=o.onsubmit;s[52]=o.onupdate;s[53]=o.onvalidate;s[54]=o.originalValue;s[55]=o.overlayMode;s[56]=(o.readOnly?1:0);s[57]=o.renderFlag;s[58]=(o.required?1:0);s[59]=o.requiredMessage;s[60]=(o.showLabel?1:0);s[61]=o.size;s[62]=o.slice;s[63]=o.tabIndex;s[64]=o.title;s[65]=o.tuple;s[66]=o.valign;s[67]=('boolean'==typeof o.value?(o.value?1:0):o.value);s[68]=(o.visible?1:0);s[69]=o.width;
}
function _ZEN_Component_fileUpload_getSettings(s)
{
	s['name'] = 'string';
	s['accept'] = 'csv';
	s['maxlength'] = 'integer';
	s['size'] = 'integer';
	this.invokeSuper('getSettings',arguments);
}

self._ZEN_Component_fileUpload_setProperty = function(property,value,value2) {
var el = this.findElement('control');
switch(property) {
case 'size':
this.size = value;
if (el) { el.size = value; }
break;
case 'accept':
this.accept = value;
if (el) { el.accept = value; }
break;
case 'maxlength':
this.maxlength = value;
if (el) { el.maxlength = value; }
break;
default:
return this.invokeSuper('setProperty',arguments);
}
return true;
}

self._ZEN_Component_fileUpload_ReallyRefreshContents = function() {
	zenInstanceMethod(this,'ReallyRefreshContents','','',arguments);
}
self._ZEN_Component_fileUpload__Loader = function() {
	zenLoadClass('_ZEN_Component_control');
	_ZEN_Component_fileUpload.prototype = zenCreate('_ZEN_Component_control',-1);
	var p = _ZEN_Component_fileUpload.prototype;
	if (null==p) {return;}
	p.constructor = _ZEN_Component_fileUpload;
	p.superClass = ('undefined' == typeof _ZEN_Component_control) ? zenMaster._ZEN_Component_control.prototype:_ZEN_Component_control.prototype;
	p.__ZENcomponent = true;
	p._serverClass = '%ZEN.Component.fileUpload';
	p._type = 'fileUpload';
	p.serialize = _ZEN_Component_fileUpload_serialize;
	p.getSettings = _ZEN_Component_fileUpload_getSettings;
	p.ReallyRefreshContents = _ZEN_Component_fileUpload_ReallyRefreshContents;
	p.setProperty = _ZEN_Component_fileUpload_setProperty;
}

self._zenClassIdx['hidden'] = '_ZEN_Component_hidden';
self._ZEN_Component_hidden = function(index,id) {
	if (index>=0) {_ZEN_Component_hidden__init(this,index,id);}
}

self._ZEN_Component_hidden__init = function(o,index,id) {
	('undefined' == typeof _ZEN_Component_control__init) ?zenMaster._ZEN_Component_control__init(o,index,id):_ZEN_Component_control__init(o,index,id);
	o.hidden = true;
}
function _ZEN_Component_hidden_serialize(set,s)
{
	var o = this;s[0]='1247505462';s[1]=o.index;s[2]=o.id;s[3]=o.name;s[4]=set.addObject(o.parent,'parent');s[5]=set.addObject(o.composite,'composite');s[6]=o.align;s[7]=o.aux;s[8]=o.clientType;s[9]=o.containerStyle;s[10]=o.controlClass;s[11]=o.controlStyle;s[12]=o.dataBinding;s[13]=(o.disabled?1:0);s[14]=(o.dragEnabled?1:0);s[15]=(o.dropEnabled?1:0);s[16]=(o.dynamic?1:0);s[17]=o.enclosingClass;s[18]=o.enclosingStyle;s[19]=o.error;s[20]=o.height;s[21]=(o.hidden?1:0);s[22]=o.hint;s[23]=o.hintClass;s[24]=o.hintStyle;s[25]=(o.invalid?1:0);s[26]=o.invalidMessage;s[27]=o.label;s[28]=o.labelClass;s[29]=o.labelStyle;s[30]=o.onafterdrag;s[31]=o.onbeforedrag;s[32]=o.onblur;s[33]=o.onchange;s[34]=o.onclick;s[35]=o.ondblclick;s[36]=o.ondrag;s[37]=o.ondrop;s[38]=o.onfocus;s[39]=o.onhide;s[40]=o.onkeydown;s[41]=o.onkeypress;s[42]=o.onkeyup;s[43]=o.onmousedown;s[44]=o.onmouseout;s[45]=o.onmouseover;s[46]=o.onmouseup;s[47]=o.onrefresh;s[48]=o.onshow;s[49]=o.onsubmit;s[50]=o.onupdate;s[51]=o.onvalidate;s[52]=o.originalValue;s[53]=o.overlayMode;s[54]=(o.readOnly?1:0);s[55]=o.renderFlag;s[56]=(o.required?1:0);s[57]=o.requiredMessage;s[58]=(o.showLabel?1:0);s[59]=o.slice;s[60]=o.tabIndex;s[61]=o.title;s[62]=o.tuple;s[63]=o.valign;s[64]=('boolean'==typeof o.value?(o.value?1:0):o.value);s[65]=(o.visible?1:0);s[66]=o.width;
}
function _ZEN_Component_hidden_getSettings(s)
{
	s['name'] = 'string';
	this.invokeSuper('getSettings',arguments);
}

self._ZEN_Component_hidden_ReallyRefreshContents = function() {
	zenInstanceMethod(this,'ReallyRefreshContents','','',arguments);
}
self._ZEN_Component_hidden__Loader = function() {
	zenLoadClass('_ZEN_Component_control');
	_ZEN_Component_hidden.prototype = zenCreate('_ZEN_Component_control',-1);
	var p = _ZEN_Component_hidden.prototype;
	if (null==p) {return;}
	p.constructor = _ZEN_Component_hidden;
	p.superClass = ('undefined' == typeof _ZEN_Component_control) ? zenMaster._ZEN_Component_control.prototype:_ZEN_Component_control.prototype;
	p.__ZENcomponent = true;
	p._serverClass = '%ZEN.Component.hidden';
	p._type = 'hidden';
	p.serialize = _ZEN_Component_hidden_serialize;
	p.getSettings = _ZEN_Component_hidden_getSettings;
	p.ReallyRefreshContents = _ZEN_Component_hidden_ReallyRefreshContents;
}

self._zenClassIdx['image'] = '_ZEN_Component_image';
self._ZEN_Component_image = function(index,id) {
	if (index>=0) {_ZEN_Component_image__init(this,index,id);}
}

self._ZEN_Component_image__init = function(o,index,id) {
	('undefined' == typeof _ZEN_Component_control__init) ?zenMaster._ZEN_Component_control__init(o,index,id):_ZEN_Component_control__init(o,index,id);
	o.alt = '';
	o.src = '';
	o.srcDisabled = '';
	o.srcMissing = '';
	o.streamId = ''; // encrypted
	o.text = '';
}
function _ZEN_Component_image_serialize(set,s)
{
	var o = this;s[0]='366457626';s[1]=o.index;s[2]=o.id;s[3]=o.name;s[4]=set.addObject(o.parent,'parent');s[5]=set.addObject(o.composite,'composite');s[6]=o.align;s[7]=o.alt;s[8]=o.aux;s[9]=o.clientType;s[10]=o.containerStyle;s[11]=o.controlClass;s[12]=o.controlStyle;s[13]=o.dataBinding;s[14]=(o.disabled?1:0);s[15]=(o.dragEnabled?1:0);s[16]=(o.dropEnabled?1:0);s[17]=(o.dynamic?1:0);s[18]=o.enclosingClass;s[19]=o.enclosingStyle;s[20]=o.error;s[21]=o.height;s[22]=(o.hidden?1:0);s[23]=o.hint;s[24]=o.hintClass;s[25]=o.hintStyle;s[26]=(o.invalid?1:0);s[27]=o.invalidMessage;s[28]=o.label;s[29]=o.labelClass;s[30]=o.labelStyle;s[31]=o.onafterdrag;s[32]=o.onbeforedrag;s[33]=o.onblur;s[34]=o.onchange;s[35]=o.onclick;s[36]=o.ondblclick;s[37]=o.ondrag;s[38]=o.ondrop;s[39]=o.onfocus;s[40]=o.onhide;s[41]=o.onkeydown;s[42]=o.onkeypress;s[43]=o.onkeyup;s[44]=o.onmousedown;s[45]=o.onmouseout;s[46]=o.onmouseover;s[47]=o.onmouseup;s[48]=o.onrefresh;s[49]=o.onshow;s[50]=o.onsubmit;s[51]=o.onupdate;s[52]=o.onvalidate;s[53]=o.originalValue;s[54]=o.overlayMode;s[55]=(o.readOnly?1:0);s[56]=o.renderFlag;s[57]=(o.required?1:0);s[58]=o.requiredMessage;s[59]=(o.showLabel?1:0);s[60]=o.slice;s[61]=o.src;s[62]=o.srcDisabled;s[63]=o.srcMissing;s[64]=o.streamId;s[65]=o.tabIndex;s[66]=o.text;s[67]=o.title;s[68]=o.tuple;s[69]=o.valign;s[70]=('boolean'==typeof o.value?(o.value?1:0):o.value);s[71]=(o.visible?1:0);s[72]=o.width;
}
function _ZEN_Component_image_getSettings(s)
{
	s['name'] = 'string';
	s['alt'] = 'caption';
	s['src'] = 'uri';
	s['srcDisabled'] = 'uri';
	s['srcMissing'] = 'uri';
	s['streamId'] = 'string';
	s['text'] = 'string';
	this.invokeSuper('getSettings',arguments);
}

self._ZEN_Component_image_getDragData = function(dragData) {
dragData.value = this.text;
dragData.text = this.text;
return true;
}

self._ZEN_Component_image_imageClick = function(evt) {
if (!this.disabled) {
zenFireEvent(this.index, this.onclick, 'onclick', evt);
}
}

self._ZEN_Component_image_itemMouseDown = function(evt) {
if (this.dragEnabled) {
evt = evt ? evt : window.event;
if (evt.preventDefault) {
evt.preventDefault();
}
return false;
}
return true;
}

self._ZEN_Component_image_itemMouseUp = function(evt) {
if (this.dragEnabled) {
evt = evt ? evt : window.event;
if (evt.preventDefault) {
evt.preventDefault();
}
return false;
}
return true;
}

self._ZEN_Component_image_setProperty = function(property,value,value2) {
var el = this.findElement('image');
switch(property) {
case 'src':
this.src = value;
if (!this.disabled || '' == this.srcDisabled) {
el.src = value;
}
break;
case 'srcDisabled':
this.srcDisabled = value;
if (this.disabled) {
el.src = value;
}
break;
case 'disabled':
value = value ? true : false;
this.disabled = value;
if (!this.disabled || '' == this.srcDisabled) {
if ('' != this.value) {
this.setProperty('value',this.value);
}
else {
el.src = this.src;
}
}
else {
el.src = this.srcDisabled;
}
break;
case 'value':
this.value = value;
if (!this.disabled || '' == this.srcDisabled) {
if ('' == this.value) {
el.src = this.srcMissing;
}
else {
el.src = '%25CSP.StreamServer.cls?STREAMOID=' + escape(this.value);
}
}
break;
case 'width':
case 'height':
this[property] = value;
if (el) {
el[property] = value;
}
break;
case 'controlStyle':
this.controlStyle = value;
if (el) { el.style.cssText = value;	}
break;
case 'title':
this.title = value;
if (el) { el.title = value;	}
break;
default:
return this.invokeSuper('setProperty',arguments);
break;
}
return true;
}

self._ZEN_Component_image_ReallyRefreshContents = function() {
	zenInstanceMethod(this,'ReallyRefreshContents','','',arguments);
}
self._ZEN_Component_image__Loader = function() {
	zenLoadClass('_ZEN_Component_control');
	_ZEN_Component_image.prototype = zenCreate('_ZEN_Component_control',-1);
	var p = _ZEN_Component_image.prototype;
	if (null==p) {return;}
	p.constructor = _ZEN_Component_image;
	p.superClass = ('undefined' == typeof _ZEN_Component_control) ? zenMaster._ZEN_Component_control.prototype:_ZEN_Component_control.prototype;
	p.__ZENcomponent = true;
	p._serverClass = '%ZEN.Component.image';
	p._type = 'image';
	p.serialize = _ZEN_Component_image_serialize;
	p.getSettings = _ZEN_Component_image_getSettings;
	p.ReallyRefreshContents = _ZEN_Component_image_ReallyRefreshContents;
	p.getDragData = _ZEN_Component_image_getDragData;
	p.imageClick = _ZEN_Component_image_imageClick;
	p.itemMouseDown = _ZEN_Component_image_itemMouseDown;
	p.itemMouseUp = _ZEN_Component_image_itemMouseUp;
	p.setProperty = _ZEN_Component_image_setProperty;
}

self._zenClassIdx['label'] = '_ZEN_Component_label';
self._ZEN_Component_label = function(index,id) {
	if (index>=0) {_ZEN_Component_label__init(this,index,id);}
}

self._ZEN_Component_label__init = function(o,index,id) {
	('undefined' == typeof _ZEN_Component_control__init) ?zenMaster._ZEN_Component_control__init(o,index,id):_ZEN_Component_control__init(o,index,id);
	o.controlClass = 'labelText';
}
function _ZEN_Component_label_serialize(set,s)
{
	var o = this;s[0]='1247505462';s[1]=o.index;s[2]=o.id;s[3]=o.name;s[4]=set.addObject(o.parent,'parent');s[5]=set.addObject(o.composite,'composite');s[6]=o.align;s[7]=o.aux;s[8]=o.clientType;s[9]=o.containerStyle;s[10]=o.controlClass;s[11]=o.controlStyle;s[12]=o.dataBinding;s[13]=(o.disabled?1:0);s[14]=(o.dragEnabled?1:0);s[15]=(o.dropEnabled?1:0);s[16]=(o.dynamic?1:0);s[17]=o.enclosingClass;s[18]=o.enclosingStyle;s[19]=o.error;s[20]=o.height;s[21]=(o.hidden?1:0);s[22]=o.hint;s[23]=o.hintClass;s[24]=o.hintStyle;s[25]=(o.invalid?1:0);s[26]=o.invalidMessage;s[27]=o.label;s[28]=o.labelClass;s[29]=o.labelStyle;s[30]=o.onafterdrag;s[31]=o.onbeforedrag;s[32]=o.onblur;s[33]=o.onchange;s[34]=o.onclick;s[35]=o.ondblclick;s[36]=o.ondrag;s[37]=o.ondrop;s[38]=o.onfocus;s[39]=o.onhide;s[40]=o.onkeydown;s[41]=o.onkeypress;s[42]=o.onkeyup;s[43]=o.onmousedown;s[44]=o.onmouseout;s[45]=o.onmouseover;s[46]=o.onmouseup;s[47]=o.onrefresh;s[48]=o.onshow;s[49]=o.onsubmit;s[50]=o.onupdate;s[51]=o.onvalidate;s[52]=o.originalValue;s[53]=o.overlayMode;s[54]=(o.readOnly?1:0);s[55]=o.renderFlag;s[56]=(o.required?1:0);s[57]=o.requiredMessage;s[58]=(o.showLabel?1:0);s[59]=o.slice;s[60]=o.tabIndex;s[61]=o.title;s[62]=o.tuple;s[63]=o.valign;s[64]=('boolean'==typeof o.value?(o.value?1:0):o.value);s[65]=(o.visible?1:0);s[66]=o.width;
}
function _ZEN_Component_label_getSettings(s)
{
	s['name'] = 'string';
	this.invokeSuper('getSettings',arguments);
}

self._ZEN_Component_label_setProperty = function(property,value,value2) {
var el = this.findElement('label');
var span = this.findElement('labelSpan');
switch(property) {
case 'value':
this.value = value;
if (el) {el.value = value;}
if (span) {span.innerHTML = value;}
break;
default:
return this.invokeSuper('setProperty',arguments);
}
return true;
}

self._ZEN_Component_label_ReallyRefreshContents = function() {
	zenInstanceMethod(this,'ReallyRefreshContents','','',arguments);
}
self._ZEN_Component_label__Loader = function() {
	zenLoadClass('_ZEN_Component_control');
	_ZEN_Component_label.prototype = zenCreate('_ZEN_Component_control',-1);
	var p = _ZEN_Component_label.prototype;
	if (null==p) {return;}
	p.constructor = _ZEN_Component_label;
	p.superClass = ('undefined' == typeof _ZEN_Component_control) ? zenMaster._ZEN_Component_control.prototype:_ZEN_Component_control.prototype;
	p.__ZENcomponent = true;
	p._serverClass = '%ZEN.Component.label';
	p._type = 'label';
	p.serialize = _ZEN_Component_label_serialize;
	p.getSettings = _ZEN_Component_label_getSettings;
	p.ReallyRefreshContents = _ZEN_Component_label_ReallyRefreshContents;
	p.setProperty = _ZEN_Component_label_setProperty;
}

self._zenClassIdx['listControl'] = '_ZEN_Component_listControl';
self._ZEN_Component_listControl = function(index,id) {
	if (index>=0) {_ZEN_Component_listControl__init(this,index,id);}
}

self._ZEN_Component_listControl__init = function(o,index,id) {
	('undefined' == typeof _ZEN_Component_control__init) ?zenMaster._ZEN_Component_control__init(o,index,id):_ZEN_Component_control__init(o,index,id);
	o.displayList = '';
	o.maxRows = '500';
	o.parameters = new Array();
	o.queryClass = '';
	o.queryName = '';
	o.sql = ''; // encrypted
	o.valueList = '';
}
function _ZEN_Component_listControl_serialize(set,s)
{
	var o = this;s[0]='3444018080';s[1]=o.index;s[2]=o.id;s[3]=o.name;s[4]=set.addObject(o.parent,'parent');s[5]=set.addObject(o.composite,'composite');s[6]=o.align;s[7]=o.aux;s[8]=o.clientType;s[9]=o.containerStyle;s[10]=o.controlClass;s[11]=o.controlStyle;s[12]=o.dataBinding;s[13]=(o.disabled?1:0);s[14]=o.displayList;s[15]=(o.dragEnabled?1:0);s[16]=(o.dropEnabled?1:0);s[17]=(o.dynamic?1:0);s[18]=o.enclosingClass;s[19]=o.enclosingStyle;s[20]=o.error;s[21]=o.height;s[22]=(o.hidden?1:0);s[23]=o.hint;s[24]=o.hintClass;s[25]=o.hintStyle;s[26]=(o.invalid?1:0);s[27]=o.invalidMessage;s[28]=o.label;s[29]=o.labelClass;s[30]=o.labelStyle;s[31]=o.maxRows;s[32]=o.onafterdrag;s[33]=o.onbeforedrag;s[34]=o.onblur;s[35]=o.onchange;s[36]=o.onclick;s[37]=o.ondblclick;s[38]=o.ondrag;s[39]=o.ondrop;s[40]=o.onfocus;s[41]=o.onhide;s[42]=o.onkeydown;s[43]=o.onkeypress;s[44]=o.onkeyup;s[45]=o.onmousedown;s[46]=o.onmouseout;s[47]=o.onmouseover;s[48]=o.onmouseup;s[49]=o.onrefresh;s[50]=o.onshow;s[51]=o.onsubmit;s[52]=o.onupdate;s[53]=o.onvalidate;s[54]=o.originalValue;s[55]=o.overlayMode;s[56]=set.serializeList(o,o.parameters,true,'parameters');s[57]=o.queryClass;s[58]=o.queryName;s[59]=(o.readOnly?1:0);s[60]=o.renderFlag;s[61]=(o.required?1:0);s[62]=o.requiredMessage;s[63]=(o.showLabel?1:0);s[64]=o.slice;s[65]=o.sql;s[66]=o.tabIndex;s[67]=o.title;s[68]=o.tuple;s[69]=o.valign;s[70]=('boolean'==typeof o.value?(o.value?1:0):o.value);s[71]=o.valueList;s[72]=(o.visible?1:0);s[73]=o.width;
}
function _ZEN_Component_listControl_getSettings(s)
{
	s['name'] = 'string';
	s['displayList'] = 'csv';
	s['maxRows'] = 'integer';
	s['parameters'] = 'string';
	s['queryClass'] = 'className';
	s['queryName'] = 'classMember:QUERY';
	s['sql'] = 'sql';
	s['valueList'] = 'csv';
	this.invokeSuper('getSettings',arguments);
}

self._ZEN_Component_listControl_setProperty = function(property,value,value2) {
switch(property) {
case 'maxRows':
case 'valueList':
case 'displayList':
this[property] = value;
this.refreshContents();
break;
default:
return this.invokeSuper('setProperty',arguments);
}
return true;
}

self._ZEN_Component_listControl_ReallyRefreshContents = function() {
	zenInstanceMethod(this,'ReallyRefreshContents','','',arguments);
}
self._ZEN_Component_listControl__Loader = function() {
	zenLoadClass('_ZEN_Component_control');
	_ZEN_Component_listControl.prototype = zenCreate('_ZEN_Component_control',-1);
	var p = _ZEN_Component_listControl.prototype;
	if (null==p) {return;}
	p.constructor = _ZEN_Component_listControl;
	p.superClass = ('undefined' == typeof _ZEN_Component_control) ? zenMaster._ZEN_Component_control.prototype:_ZEN_Component_control.prototype;
	p.__ZENcomponent = true;
	p._serverClass = '%ZEN.Component.listControl';
	p._type = 'listControl';
	p.serialize = _ZEN_Component_listControl_serialize;
	p.getSettings = _ZEN_Component_listControl_getSettings;
	p.ReallyRefreshContents = _ZEN_Component_listControl_ReallyRefreshContents;
	p.setProperty = _ZEN_Component_listControl_setProperty;
}

self._zenClassIdx['radioButton'] = '_ZEN_Component_radioButton';
self._ZEN_Component_radioButton = function(index,id) {
	if (index>=0) {_ZEN_Component_radioButton__init(this,index,id);}
}

self._ZEN_Component_radioButton__init = function(o,index,id) {
	('undefined' == typeof _ZEN_Component_control__init) ?zenMaster._ZEN_Component_control__init(o,index,id):_ZEN_Component_control__init(o,index,id);
	o.caption = '';
	o.captionClass = 'radioButtonCaption';
	o.controlClass = 'radio';
	o.optionValue = '';
}
function _ZEN_Component_radioButton_serialize(set,s)
{
	var o = this;s[0]='3689099011';s[1]=o.index;s[2]=o.id;s[3]=o.name;s[4]=set.addObject(o.parent,'parent');s[5]=set.addObject(o.composite,'composite');s[6]=o.align;s[7]=o.aux;s[8]=o.caption;s[9]=o.captionClass;s[10]=o.clientType;s[11]=o.containerStyle;s[12]=o.controlClass;s[13]=o.controlStyle;s[14]=o.dataBinding;s[15]=(o.disabled?1:0);s[16]=(o.dragEnabled?1:0);s[17]=(o.dropEnabled?1:0);s[18]=(o.dynamic?1:0);s[19]=o.enclosingClass;s[20]=o.enclosingStyle;s[21]=o.error;s[22]=o.height;s[23]=(o.hidden?1:0);s[24]=o.hint;s[25]=o.hintClass;s[26]=o.hintStyle;s[27]=(o.invalid?1:0);s[28]=o.invalidMessage;s[29]=o.label;s[30]=o.labelClass;s[31]=o.labelStyle;s[32]=o.onafterdrag;s[33]=o.onbeforedrag;s[34]=o.onblur;s[35]=o.onchange;s[36]=o.onclick;s[37]=o.ondblclick;s[38]=o.ondrag;s[39]=o.ondrop;s[40]=o.onfocus;s[41]=o.onhide;s[42]=o.onkeydown;s[43]=o.onkeypress;s[44]=o.onkeyup;s[45]=o.onmousedown;s[46]=o.onmouseout;s[47]=o.onmouseover;s[48]=o.onmouseup;s[49]=o.onrefresh;s[50]=o.onshow;s[51]=o.onsubmit;s[52]=o.onupdate;s[53]=o.onvalidate;s[54]=o.optionValue;s[55]=o.originalValue;s[56]=o.overlayMode;s[57]=(o.readOnly?1:0);s[58]=o.renderFlag;s[59]=(o.required?1:0);s[60]=o.requiredMessage;s[61]=(o.showLabel?1:0);s[62]=o.slice;s[63]=o.tabIndex;s[64]=o.title;s[65]=o.tuple;s[66]=o.valign;s[67]=('boolean'==typeof o.value?(o.value?1:0):o.value);s[68]=(o.visible?1:0);s[69]=o.width;
}
function _ZEN_Component_radioButton_getSettings(s)
{
	s['name'] = 'string';
	s['caption'] = 'caption';
	s['captionClass'] = 'cssClass';
	s['optionValue'] = 'value';
	this.invokeSuper('getSettings',arguments);
}

self._ZEN_Component_radioButton_clickButton = function() {
if (this.disabled) return false;
if (this.readOnly) return false;
var btn = this.findElement('control');
zenASSERT(btn,'Unable to find radio element',arguments);
var changed = false;
if (btn.checked) {
for (var n in _zenIndex) {
if (_zenIndex[n] && _zenIndex[n].name == this.name && _zenIndex[n]._type == this._type) {
_zenIndex[n].value = this.optionValue;
var hidden = _zenIndex[n].findElement('hidden');
if (hidden) {
if (hidden.value != this.optionValue) {
changed = true;
hidden.value = this.optionValue;
}
}
}
}
}
zenInvokeCallbackMethod(this.onclick,this,'onclick');
if (changed) {
this.onchangeHandler();
}
return true;
}

self._ZEN_Component_radioButton_clickCaption = function() {
if (this.disabled) return;
if (this.readOnly) return;
var rb = this.findElement('control');
zenASSERT(rb,'Unable to find radioButton element',arguments);
if (rb.checked) return;
rb.checked = true;
this.clickButton();
}

self._ZEN_Component_radioButton_getProperty = function(property,key) {
switch(property) {
case 'value':
return this.normalizeValue(this.value);
}
return this.invokeSuper('getProperty',arguments);
}

self._ZEN_Component_radioButton_onSerialize = function() {
return;
}

self._ZEN_Component_radioButton_setProperty = function(property,value,value2) {
switch(property) {
case 'readOnly':
case 'disabled':
value = (value) ? true : false;
if (this[property] != value) {
this[property] = value;
var rb = this.findElement('control');
if (rb) {rb.disabled = (this.disabled||this.readOnly); }
var caption = this.findElement('caption');
if (caption) {caption.className = this.disabled ? 'radioButtonCaptionDisabled' : this.captionClass; }
}
break;
case 'optionValue':
this.optionValue = value;
var rb = this.findElement('control');
rb.value = value;
rb.checked = (this.optionValue == this.value);
break;
case 'value':
for (var n in _zenIndex) {
if (_zenIndex[n] && _zenIndex[n].name == this.name && _zenIndex[n]._type == this._type) {
_zenIndex[n].value = value;
var rb = _zenIndex[n].findElement('control');
var hidden = _zenIndex[n].findElement('hidden');
if (hidden) {
hidden.value = value;
}
rb.checked = (_zenIndex[n].optionValue == value);
}
}
break;
case 'caption':
var caption = this.findElement('caption');
this.caption = value;
caption.innerHTML = value;
break;
case 'captionClass':
var caption = this.findElement('caption');
this.captionClass = value;
if (caption && !this.disabled) {
caption.className = value;
}
break;
default:
return this.invokeSuper('setProperty',arguments);
}
return true;
}

self._ZEN_Component_radioButton_ReallyRefreshContents = function() {
	zenInstanceMethod(this,'ReallyRefreshContents','','',arguments);
}
self._ZEN_Component_radioButton__Loader = function() {
	zenLoadClass('_ZEN_Component_control');
	_ZEN_Component_radioButton.prototype = zenCreate('_ZEN_Component_control',-1);
	var p = _ZEN_Component_radioButton.prototype;
	if (null==p) {return;}
	p.constructor = _ZEN_Component_radioButton;
	p.superClass = ('undefined' == typeof _ZEN_Component_control) ? zenMaster._ZEN_Component_control.prototype:_ZEN_Component_control.prototype;
	p.__ZENcomponent = true;
	p._serverClass = '%ZEN.Component.radioButton';
	p._type = 'radioButton';
	p.serialize = _ZEN_Component_radioButton_serialize;
	p.getSettings = _ZEN_Component_radioButton_getSettings;
	p.ReallyRefreshContents = _ZEN_Component_radioButton_ReallyRefreshContents;
	p.clickButton = _ZEN_Component_radioButton_clickButton;
	p.clickCaption = _ZEN_Component_radioButton_clickCaption;
	p.getProperty = _ZEN_Component_radioButton_getProperty;
	p.onSerialize = _ZEN_Component_radioButton_onSerialize;
	p.setProperty = _ZEN_Component_radioButton_setProperty;
}

self._zenClassIdx['text'] = '_ZEN_Component_text';
self._ZEN_Component_text = function(index,id) {
	if (index>=0) {_ZEN_Component_text__init(this,index,id);}
}

self._ZEN_Component_text__init = function(o,index,id) {
	('undefined' == typeof _ZEN_Component_control__init) ?zenMaster._ZEN_Component_control__init(o,index,id):_ZEN_Component_control__init(o,index,id);
	o.controlClass = 'text';
	o.maxlength = '';
	o.size = '';
}
function _ZEN_Component_text_serialize(set,s)
{
	var o = this;s[0]='1484169974';s[1]=o.index;s[2]=o.id;s[3]=o.name;s[4]=set.addObject(o.parent,'parent');s[5]=set.addObject(o.composite,'composite');s[6]=o.align;s[7]=o.aux;s[8]=o.clientType;s[9]=o.containerStyle;s[10]=o.controlClass;s[11]=o.controlStyle;s[12]=o.dataBinding;s[13]=(o.disabled?1:0);s[14]=(o.dragEnabled?1:0);s[15]=(o.dropEnabled?1:0);s[16]=(o.dynamic?1:0);s[17]=o.enclosingClass;s[18]=o.enclosingStyle;s[19]=o.error;s[20]=o.height;s[21]=(o.hidden?1:0);s[22]=o.hint;s[23]=o.hintClass;s[24]=o.hintStyle;s[25]=(o.invalid?1:0);s[26]=o.invalidMessage;s[27]=o.label;s[28]=o.labelClass;s[29]=o.labelStyle;s[30]=o.maxlength;s[31]=o.onafterdrag;s[32]=o.onbeforedrag;s[33]=o.onblur;s[34]=o.onchange;s[35]=o.onclick;s[36]=o.ondblclick;s[37]=o.ondrag;s[38]=o.ondrop;s[39]=o.onfocus;s[40]=o.onhide;s[41]=o.onkeydown;s[42]=o.onkeypress;s[43]=o.onkeyup;s[44]=o.onmousedown;s[45]=o.onmouseout;s[46]=o.onmouseover;s[47]=o.onmouseup;s[48]=o.onrefresh;s[49]=o.onshow;s[50]=o.onsubmit;s[51]=o.onupdate;s[52]=o.onvalidate;s[53]=o.originalValue;s[54]=o.overlayMode;s[55]=(o.readOnly?1:0);s[56]=o.renderFlag;s[57]=(o.required?1:0);s[58]=o.requiredMessage;s[59]=(o.showLabel?1:0);s[60]=o.size;s[61]=o.slice;s[62]=o.tabIndex;s[63]=o.title;s[64]=o.tuple;s[65]=o.valign;s[66]=('boolean'==typeof o.value?(o.value?1:0):o.value);s[67]=(o.visible?1:0);s[68]=o.width;
}
function _ZEN_Component_text_getSettings(s)
{
	s['name'] = 'string';
	s['maxlength'] = 'integer';
	s['size'] = 'integer';
	this.invokeSuper('getSettings',arguments);
}

self._ZEN_Component_text_setProperty = function(property,value,value2) {
var el = this.findElement('control');
switch(property) {
case 'size':
this.size = value;
if (el) { el.size = value; }
break;
case 'maxlength':
this.maxlength = value;
if (el) { el.maxlength = value; }
break;
default:
return this.invokeSuper('setProperty',arguments);
}
return true;
}

self._ZEN_Component_text_ReallyRefreshContents = function() {
	zenInstanceMethod(this,'ReallyRefreshContents','','',arguments);
}
self._ZEN_Component_text__Loader = function() {
	zenLoadClass('_ZEN_Component_control');
	_ZEN_Component_text.prototype = zenCreate('_ZEN_Component_control',-1);
	var p = _ZEN_Component_text.prototype;
	if (null==p) {return;}
	p.constructor = _ZEN_Component_text;
	p.superClass = ('undefined' == typeof _ZEN_Component_control) ? zenMaster._ZEN_Component_control.prototype:_ZEN_Component_control.prototype;
	p.__ZENcomponent = true;
	p._serverClass = '%ZEN.Component.text';
	p._type = 'text';
	p.serialize = _ZEN_Component_text_serialize;
	p.getSettings = _ZEN_Component_text_getSettings;
	p.ReallyRefreshContents = _ZEN_Component_text_ReallyRefreshContents;
	p.setProperty = _ZEN_Component_text_setProperty;
}

self._zenClassIdx['textarea'] = '_ZEN_Component_textarea';
self._ZEN_Component_textarea = function(index,id) {
	if (index>=0) {_ZEN_Component_textarea__init(this,index,id);}
}

self._ZEN_Component_textarea__init = function(o,index,id) {
	('undefined' == typeof _ZEN_Component_control__init) ?zenMaster._ZEN_Component_control__init(o,index,id):_ZEN_Component_control__init(o,index,id);
	o.cols = '';
	o.controlClass = 'textarea';
	o.modFlag = false;
	o.rows = '';
}
function _ZEN_Component_textarea_serialize(set,s)
{
	var o = this;s[0]='1330560528';s[1]=o.index;s[2]=o.id;s[3]=o.name;s[4]=set.addObject(o.parent,'parent');s[5]=set.addObject(o.composite,'composite');s[6]=o.align;s[7]=o.aux;s[8]=o.clientType;s[9]=o.cols;s[10]=o.containerStyle;s[11]=o.controlClass;s[12]=o.controlStyle;s[13]=o.dataBinding;s[14]=(o.disabled?1:0);s[15]=(o.dragEnabled?1:0);s[16]=(o.dropEnabled?1:0);s[17]=(o.dynamic?1:0);s[18]=o.enclosingClass;s[19]=o.enclosingStyle;s[20]=o.error;s[21]=o.height;s[22]=(o.hidden?1:0);s[23]=o.hint;s[24]=o.hintClass;s[25]=o.hintStyle;s[26]=(o.invalid?1:0);s[27]=o.invalidMessage;s[28]=o.label;s[29]=o.labelClass;s[30]=o.labelStyle;s[31]=(o.modFlag?1:0);s[32]=o.onafterdrag;s[33]=o.onbeforedrag;s[34]=o.onblur;s[35]=o.onchange;s[36]=o.onclick;s[37]=o.ondblclick;s[38]=o.ondrag;s[39]=o.ondrop;s[40]=o.onfocus;s[41]=o.onhide;s[42]=o.onkeydown;s[43]=o.onkeypress;s[44]=o.onkeyup;s[45]=o.onmousedown;s[46]=o.onmouseout;s[47]=o.onmouseover;s[48]=o.onmouseup;s[49]=o.onrefresh;s[50]=o.onshow;s[51]=o.onsubmit;s[52]=o.onupdate;s[53]=o.onvalidate;s[54]=o.originalValue;s[55]=o.overlayMode;s[56]=(o.readOnly?1:0);s[57]=o.renderFlag;s[58]=(o.required?1:0);s[59]=o.requiredMessage;s[60]=o.rows;s[61]=(o.showLabel?1:0);s[62]=o.slice;s[63]=o.tabIndex;s[64]=o.title;s[65]=o.tuple;s[66]=o.valign;s[67]=('boolean'==typeof o.value?(o.value?1:0):o.value);s[68]=(o.visible?1:0);s[69]=o.width;
}
function _ZEN_Component_textarea_getSettings(s)
{
	s['name'] = 'string';
	s['cols'] = 'integer';
	s['modFlag'] = 'boolean';
	s['rows'] = 'integer';
	this.invokeSuper('getSettings',arguments);
}

self._ZEN_Component_textarea_isModified = function() {
return (''==this.originalValue) ? this.modFlag : (this.originalValue != this.value);
}

self._ZEN_Component_textarea_onchangeHandler = function() {
this.modFlag = true;
return this.invokeSuper('onchangeHandler',arguments);
}

self._ZEN_Component_textarea_onloadHandler = function() {
var el = this.findElement('control');
if (el) {
el.value = this.value;
}
}

self._ZEN_Component_textarea_setProperty = function(property,value,value2) {
var el = this.findElement('control');
switch(property) {
case 'originalValue':
this.modFlag = false;
if ('string'==typeof this.value && this.value.length < 50) {
this.originalValue = this.value;
}
else {
this.originalValue = '';
}
break;
case 'rows':
this.rows = value;
if (el) { el.rows = value; }
break;
case 'cols':
this.cols = value;
if (el) { el.cols = value; }
break;
default:
return this.invokeSuper('setProperty',arguments);
}
return true;
}

self._ZEN_Component_textarea_ReallyRefreshContents = function() {
	zenInstanceMethod(this,'ReallyRefreshContents','','',arguments);
}
self._ZEN_Component_textarea__Loader = function() {
	zenLoadClass('_ZEN_Component_control');
	_ZEN_Component_textarea.prototype = zenCreate('_ZEN_Component_control',-1);
	var p = _ZEN_Component_textarea.prototype;
	if (null==p) {return;}
	p.constructor = _ZEN_Component_textarea;
	p.superClass = ('undefined' == typeof _ZEN_Component_control) ? zenMaster._ZEN_Component_control.prototype:_ZEN_Component_control.prototype;
	p.__ZENcomponent = true;
	p._serverClass = '%ZEN.Component.textarea';
	p._type = 'textarea';
	p.serialize = _ZEN_Component_textarea_serialize;
	p.getSettings = _ZEN_Component_textarea_getSettings;
	p.ReallyRefreshContents = _ZEN_Component_textarea_ReallyRefreshContents;
	p.isModified = _ZEN_Component_textarea_isModified;
	p.onchangeHandler = _ZEN_Component_textarea_onchangeHandler;
	p.onloadHandler = _ZEN_Component_textarea_onloadHandler;
	p.setProperty = _ZEN_Component_textarea_setProperty;
}

self._zenClassIdx['abstractComboBox'] = '_ZEN_Component_abstractComboBox';
self._ZEN_Component_abstractComboBox = function(index,id) {
	if (index>=0) {_ZEN_Component_abstractComboBox__init(this,index,id);}
}

self._ZEN_Component_abstractComboBox__init = function(o,index,id) {
	('undefined' == typeof _ZEN_Component_text__init) ?zenMaster._ZEN_Component_text__init(o,index,id):_ZEN_Component_text__init(o,index,id);
	o.buttonCaption = '';
	o.buttonImage = 'images/combobox.png';
	o.buttonImageDown = 'images/comboboxpress.png';
	o.buttonTitle = '';
	o.comboType = 'image';
	o.controlClass = 'comboboxInput';
	o.delay = '250';
	o.dropdownHeight = '';
	o.dropdownWidth = '';
	o.editable = false;
	o.hzScroll = false;
	o.isDropdownVisible = false;
	o.scrollIntoView = true;
	o.selectedIndex = '-1';
	o.text = '';
	o.unrestricted = false;
}
function _ZEN_Component_abstractComboBox_serialize(set,s)
{
	var o = this;s[0]='2612752708';s[1]=o.index;s[2]=o.id;s[3]=o.name;s[4]=set.addObject(o.parent,'parent');s[5]=set.addObject(o.composite,'composite');s[6]=o.align;s[7]=o.aux;s[8]=o.buttonCaption;s[9]=o.buttonImage;s[10]=o.buttonImageDown;s[11]=o.buttonTitle;s[12]=o.clientType;s[13]=o.comboType;s[14]=o.containerStyle;s[15]=o.controlClass;s[16]=o.controlStyle;s[17]=o.dataBinding;s[18]=o.delay;s[19]=(o.disabled?1:0);s[20]=(o.dragEnabled?1:0);s[21]=(o.dropEnabled?1:0);s[22]=o.dropdownHeight;s[23]=o.dropdownWidth;s[24]=(o.dynamic?1:0);s[25]=(o.editable?1:0);s[26]=o.enclosingClass;s[27]=o.enclosingStyle;s[28]=o.error;s[29]=o.height;s[30]=(o.hidden?1:0);s[31]=o.hint;s[32]=o.hintClass;s[33]=o.hintStyle;s[34]=(o.hzScroll?1:0);s[35]=(o.invalid?1:0);s[36]=o.invalidMessage;s[37]=(o.isDropdownVisible?1:0);s[38]=o.label;s[39]=o.labelClass;s[40]=o.labelStyle;s[41]=o.maxlength;s[42]=o.onafterdrag;s[43]=o.onbeforedrag;s[44]=o.onblur;s[45]=o.onchange;s[46]=o.onclick;s[47]=o.ondblclick;s[48]=o.ondrag;s[49]=o.ondrop;s[50]=o.onfocus;s[51]=o.onhide;s[52]=o.onkeydown;s[53]=o.onkeypress;s[54]=o.onkeyup;s[55]=o.onmousedown;s[56]=o.onmouseout;s[57]=o.onmouseover;s[58]=o.onmouseup;s[59]=o.onrefresh;s[60]=o.onshow;s[61]=o.onsubmit;s[62]=o.onupdate;s[63]=o.onvalidate;s[64]=o.originalValue;s[65]=o.overlayMode;s[66]=(o.readOnly?1:0);s[67]=o.renderFlag;s[68]=(o.required?1:0);s[69]=o.requiredMessage;s[70]=(o.scrollIntoView?1:0);s[71]=o.selectedIndex;s[72]=(o.showLabel?1:0);s[73]=o.size;s[74]=o.slice;s[75]=o.tabIndex;s[76]=o.text;s[77]=o.title;s[78]=o.tuple;s[79]=(o.unrestricted?1:0);s[80]=o.valign;s[81]=('boolean'==typeof o.value?(o.value?1:0):o.value);s[82]=(o.visible?1:0);s[83]=o.width;
}
function _ZEN_Component_abstractComboBox_getSettings(s)
{
	s['name'] = 'string';
	s['buttonCaption'] = 'caption';
	s['buttonImage'] = 'uri';
	s['buttonImageDown'] = 'uri';
	s['buttonTitle'] = 'caption';
	s['comboType'] = 'enum:image,button,timer';
	s['delay'] = 'integer';
	s['dropdownHeight'] = 'length';
	s['dropdownWidth'] = 'length';
	s['editable'] = 'boolean';
	s['hzScroll'] = 'boolean';
	s['isDropdownVisible'] = 'boolean';
	s['scrollIntoView'] = 'boolean';
	s['selectedIndex'] = 'integer';
	s['text'] = 'string';
	s['unrestricted'] = 'boolean';
	this.invokeSuper('getSettings',arguments);
}

self._ZEN_Component_abstractComboBox_adjustDropdownPosition = function() {
var div = this.getDropDownDiv();
zenASSERT(div,'Unable to find dropdown div',arguments);
var input = this.findElement('input');
zenASSERT(input,'Unable to find input element',arguments);
var top,right;
var top = zenGetTop(input) + input.offsetHeight - zenGetTopScroll(input);
var right = zenGetLeft(input) - zenGetLeftScroll(input);
top += document.body.scrollTop;
right += document.body.scrollLeft;
if (div.nativeHeight) div.style.height=div.nativeHeight;
var hgt = document.body.clientHeight;
var uSpace = top-input.offsetHeight;
var dSpace = hgt-top;
if (div.offsetHeight>dSpace) { //dropdown wont fit as is
if (dSpace>uSpace) { // beneath is best option but must shorten menu
if (!div.nativeHeight) div.nativeHeight=div.offsetHeight;
div.style.height=dSpace-10;
}
else { // open dropdown upwards
if (div.offsetHeight>uSpace) {
if (!div.nativeHeight) div.nativeHeight=div.offsetHeight;
div.style.height=uSpace-10;
}
top=uSpace-div.offsetHeight;
}
}
div.style.top = top;
div.style.left = right;
}

self._ZEN_Component_abstractComboBox_clearTimer = function() {
if ("timer" == this.comboType) {
if (this.actionTimerId) {
self.clearTimeout(this.actionTimerId);
this.actionTimerId = null;
}
}
}

self._ZEN_Component_abstractComboBox_comboboxButtonDown = function(evt) {
evt = evt ? evt : window.event;
if (evt.preventDefault) {
evt.preventDefault();
}
if (!this.disabled && !this.readOnly) {
var btn = this.findElement('btn');
if (btn) {
btn.src = this.buttonImageDown;
}
this.buttonIsDown = true;
}
}

self._ZEN_Component_abstractComboBox_comboboxButtonUp = function() {
if (!this.disabled && !this.readOnly && this.buttonIsDown) {
var btn = this.findElement('btn');
if (btn) {
btn.src = this.buttonImage;
}
}
}

self._ZEN_Component_abstractComboBox_comboboxMouseOut = function() {
if (!this.disabled && !this.readOnly && this.buttonIsDown) {
var btn = this.findElement('btn');
if (btn) {
btn.src = this.buttonImage;
}
}
}

self._ZEN_Component_abstractComboBox_comboboxMouseOver = function() {
if (!this.disabled && !this.readOnly && this.buttonIsDown) {
var btn = this.findElement('btn');
if (btn) {
btn.src = this.buttonImageDown;
}
}
}

self._ZEN_Component_abstractComboBox_dragStartHandler = function(dragData) {
if (!this.getDragData(dragData) || (''==this.text)) {
return false;
}
ZLM.setDragCaption(this.text);
return true;
}

self._ZEN_Component_abstractComboBox_findDisplayValue = function(value) {
if ('' == value) {
return '';
}
var text = null;
var count = this.getOptionCount();
for (var idx = 0; idx < count; idx++) {
if (value == this.getOptionValue(idx)) {
text = this.getOptionText(idx);
break;
}
}
return text;
}

self._ZEN_Component_abstractComboBox_findSelectedItem = function() {
if (this.isDropdownVisible && this.value != '') {
var count = this.getOptionCount();
for (var idx = 0; idx < count; idx++) {
if (this.value == this.getOptionValue(idx)) {
this.selectItem(idx,true,false);
break;
}
}
}
}

self._ZEN_Component_abstractComboBox_focus = function() {
zenFocus(this.findElement('input'));
}

self._ZEN_Component_abstractComboBox_getCacheDiv = function() {
return this.findElement('cache');
}

self._ZEN_Component_abstractComboBox_getDropDownDiv = function() {
return self.document.getElementById('zenModalDiv');
}

self._ZEN_Component_abstractComboBox_getItemEl = function(idx) {
return this.findElement('item_' + idx);
}

self._ZEN_Component_abstractComboBox_getOptionCount = function() {
return 0;
}

self._ZEN_Component_abstractComboBox_getOptionText = function(idx) {
return '';
}

self._ZEN_Component_abstractComboBox_getOptionValue = function(idx) {
return '';
}

self._ZEN_Component_abstractComboBox_inputBlurHandler = function(evt) {
evt = evt ? evt : window.event;
this.clearTimer();
if (this.isDropdownVisible && (!this.mouseDown)) {
zenPage.endModal();
}
zenInvokeCallbackMethod(this.onblur,this,'onblur');
return true;
}

self._ZEN_Component_abstractComboBox_inputChangeHandler = function() {
if (this.unrestricted) {
if (this.editable) {
var hidden = this.findElement('hidden');
var input = this.findElement('input');
this.value = input.value;
hidden.value = input.value;
}
this.onchangeHandler();
}
}

self._ZEN_Component_abstractComboBox_inputKeyHandler = function(evt) {
evt = evt ? evt : window.event;
var idx = parseInt(this.selectedIndex,10);
if (this.isDropdownVisible) {
switch(evt.keyCode) {
case zenHOME:
this.clearTimer();
this.keyMode = true;
if (evt.preventDefault) {
evt.preventDefault();
}
this.selectItem(0,true,false);
return false;
case zenEND:
this.clearTimer();
this.keyMode = true;
if (evt.preventDefault) {
evt.preventDefault();
}
this.selectItem(this.getOptionCount()-1,true,false);
return false;
case zenUP:
this.clearTimer();
this.keyMode = true;
if (evt.preventDefault) {
evt.preventDefault();
}
if (idx > 0) {
this.selectItem(idx - 1,true,false);
}
return false;
case zenDOWN:
this.clearTimer();
this.keyMode = true;
if (evt.preventDefault) {
evt.preventDefault();
}
if (idx < (this.getOptionCount()-1)) {
this.selectItem(idx + 1,true,false);
}
return false;
case zenPAGEUP:
this.clearTimer();
this.keyMode = true;
if (evt.preventDefault) {
evt.preventDefault();
}
if (idx > 0) {
this.selectItem((idx > 10) ? idx - 10 : 0,true,false);
}
return false;
case zenPAGEDN:
this.clearTimer();
this.keyMode = true;
if (evt.preventDefault) {
evt.preventDefault();
}
var count = this.getOptionCount();
if (idx < (count-1)) {
this.selectItem((idx < count - 10) ? idx + 10 : count - 1,true,false);
}
return false;
case zenESC:
if (evt.preventDefault) {
evt.preventDefault();
}
zenPage.endModal();
return false;
case zenENTER:
this.clearTimer();
if (this.keyMode) {
zenPage.endModal();
this.selectItem(idx,false,true);
}
else {
this.renderDropdown();
}
return false;
default:
this.startTimer();
this.keyMode = null;
break;
}
}
else {
switch(evt.keyCode) {
case zenDOWN:
case zenENTER:
this.clearTimer();
this.keyMode = true;
this.showDropdown();
return false;
default:
this.startTimer();
break;
}
}
return zenInvokeCallbackMethod(this.onkeydown,this,'onkeydown');
}

self._ZEN_Component_abstractComboBox_itemMouseDown = function(evt,idx) {
evt = evt ? evt : window.event;
if (evt.preventDefault) {
evt.preventDefault();
}
this.mouseDown = true;
}

self._ZEN_Component_abstractComboBox_itemMouseUp = function(evt,idx) {
evt = evt ? evt : window.event;
if (evt.preventDefault) {
evt.preventDefault();
}
zenPage.endModal();
this.selectItem(idx,false,true);
zenFocus(this.findElement('input'));
this.mouseDown = false;
}

self._ZEN_Component_abstractComboBox_onDelete = function() {
this.clearTimer();
}

self._ZEN_Component_abstractComboBox_onEndModalHandler = function(zindex) {
this.clearTimer();
var div = this.getDropDownDiv();
var cache = this.getCacheDiv();
if (cache) {
if ('' != div.innerHTML) {
cache.style.cssText='display: none;';
cache.innerHTML = div.innerHTML;
div.innerHTML = '';
this._hasCache = true;
}
else {
cache.innerHTML = '';
delete this._hasCache;
}
}
div.style.cssText = "display:none;";
div.className = "";
div.mousedown = null;
div.mouseup = null;
this.isDropdownVisible = false;
this.keyMode = null;
zenFocus(this.findElement('input'));
}

self._ZEN_Component_abstractComboBox_onStartModalHandler = function(zindex) {
var div = this.getDropDownDiv();
zenASSERT(div,'Unable to find dropdown div',arguments);
var input = this.findElement('input');
zenASSERT(input,'Unable to find input element',arguments);
div.onmousedown = new Function("event","zenPage.getComponent("+this.index+").mouseDown=true;");
div.onmouseup = new Function("event","zenPage.getComponent("+this.index+").mouseDown=null;");
div.className = 'comboboxDropDown';
if (!this.hzScroll) {
div.style.overflowX = 'hidden';
}
div.style.height = this.dropdownHeight;
if ('' == this.dropdownWidth) {
var enc = this.getEnclosingDiv();
div.style.width = enc.offsetWidth;
}
else {
div.style.width = this.dropdownWidth;
}
div.style.zIndex = zindex;
div.style.display = "";
this.adjustDropdownPosition();
this.renderDropdown();
}

self._ZEN_Component_abstractComboBox_onresizeHandler = function() {
if (this.isDropdownVisible) {
this.adjustDropdownPosition();
}
}

self._ZEN_Component_abstractComboBox_renderDropdown = function() {
var div = this.getDropDownDiv();
zenASSERT(div,'Unable to find DropDown element',arguments);
div.innerHTML = "";
}

self._ZEN_Component_abstractComboBox_selectItem = function(idx,show,update) {
var out = zenPage.getComponentById('events');
var input = this.findElement('input');
var hidden = this.findElement('hidden');
zenASSERT(input,'Unable to find input element',arguments);
zenASSERT(hidden,'Unable to find hidden element',arguments);
var value,text;
if (parseInt(this.selectedIndex,10) >= 0) {
var el = this.getItemEl(parseInt(this.selectedIndex,10));
if (el) {
el.className = 'comboboxItem';
}
}
var size = this.getOptionCount();
if (idx < 0 || idx > size) {
this.selectedIndex = -1;
value = '';
text = '';
}
else {
idx = parseInt(idx,10);
this.selectedIndex = idx;
value = this.getOptionValue(idx);
text = this.getOptionText(idx);
var el = this.getItemEl(this.selectedIndex);
if (el) {
el.className = 'comboboxItemSelected';
if (show && this.scrollIntoView) {
if (this.selectedIndex == 0) {
this.getDropDownDiv().scrollTop = 0;
}
else {
zenScrollIntoView(this.getDropDownDiv(),el,!this.hzScroll);
}
}
}
}
if (update) {
this.value = value;
this.text = text;
hidden.value = value;
input.value = text;
this.onchangeHandler();
}
}

self._ZEN_Component_abstractComboBox_setProperty = function(property,value,value2) {
var input = this.findElement('input');
var hidden = this.findElement('hidden');
var btn = this.findElement('btn');
switch(property) {
case 'value':
this.value = value;
if (hidden) { hidden.value = value; }
if (input) { input.value = ''; }
if (this.unrestricted) {
if (input) { input.value = (null==value2) ? value : value2; }
}
else {
var text = this.findDisplayValue(this.value);
if (null != text) {
if (input) { input.value = text; }
this.text = text;
}
}
break;
case 'text':
break;
case 'unrestricted':
value = (value) ? true : false;
this.unrestricted = value;
break;
case 'controlStyle':
this.controlStyle = value;
if (input) { input.style.cssText = value;	}
break;
case 'disabled':
value = (value) ? true : false;
if (input) {input.disabled = value;}
if (btn) {btn.disabled = value; }
this.disabled = value;
this.invokeSuper('setProperty',arguments);
break;
case 'readOnly':
value = (value) ? true : false;
if (input) {input.readOnly = this.editable ? value : true;}
if (btn) { btn.disabled = value; }
this.readOnly = value;
break;
case 'buttonImage':
this.buttonImage = value;
var btn = this.findElement('btn');
if (btn) { btn.src = this.buttonImage; }
break;
case 'buttonImageDown':
this.buttonImageDown = value;
break;
default:
return this.invokeSuper('setProperty',arguments);
}
return true;
}

self._ZEN_Component_abstractComboBox_showDropdown = function() {
if (!this.disabled && !this.readOnly) {
this.buttonIsDown = false;
zenPage.startModal(this);
}
}

self._ZEN_Component_abstractComboBox_startTimer = function() {
if ("timer" == this.comboType) {
this.clearTimer();
this.actionTimerId = self.setTimeout("zenPage.getComponent("+this.index+").timerHandler()",this.delay);
}
}

self._ZEN_Component_abstractComboBox_timerHandler = function() {
if (this.isDropdownVisible) {
this.renderDropdown();
}
else {
this.showDropdown();
}
}

self._ZEN_Component_abstractComboBox_ReallyRefreshContents = function() {
	zenInstanceMethod(this,'ReallyRefreshContents','','',arguments);
}
self._ZEN_Component_abstractComboBox__Loader = function() {
	zenLoadClass('_ZEN_Component_text');
	_ZEN_Component_abstractComboBox.prototype = zenCreate('_ZEN_Component_text',-1);
	var p = _ZEN_Component_abstractComboBox.prototype;
	if (null==p) {return;}
	p.constructor = _ZEN_Component_abstractComboBox;
	p.superClass = ('undefined' == typeof _ZEN_Component_text) ? zenMaster._ZEN_Component_text.prototype:_ZEN_Component_text.prototype;
	p.__ZENcomponent = true;
	p._serverClass = '%ZEN.Component.abstractComboBox';
	p._type = 'abstractComboBox';
	p.serialize = _ZEN_Component_abstractComboBox_serialize;
	p.getSettings = _ZEN_Component_abstractComboBox_getSettings;
	p.ReallyRefreshContents = _ZEN_Component_abstractComboBox_ReallyRefreshContents;
	p.adjustDropdownPosition = _ZEN_Component_abstractComboBox_adjustDropdownPosition;
	p.clearTimer = _ZEN_Component_abstractComboBox_clearTimer;
	p.comboboxButtonDown = _ZEN_Component_abstractComboBox_comboboxButtonDown;
	p.comboboxButtonUp = _ZEN_Component_abstractComboBox_comboboxButtonUp;
	p.comboboxMouseOut = _ZEN_Component_abstractComboBox_comboboxMouseOut;
	p.comboboxMouseOver = _ZEN_Component_abstractComboBox_comboboxMouseOver;
	p.dragStartHandler = _ZEN_Component_abstractComboBox_dragStartHandler;
	p.findDisplayValue = _ZEN_Component_abstractComboBox_findDisplayValue;
	p.findSelectedItem = _ZEN_Component_abstractComboBox_findSelectedItem;
	p.focus = _ZEN_Component_abstractComboBox_focus;
	p.getCacheDiv = _ZEN_Component_abstractComboBox_getCacheDiv;
	p.getDropDownDiv = _ZEN_Component_abstractComboBox_getDropDownDiv;
	p.getItemEl = _ZEN_Component_abstractComboBox_getItemEl;
	p.getOptionCount = _ZEN_Component_abstractComboBox_getOptionCount;
	p.getOptionText = _ZEN_Component_abstractComboBox_getOptionText;
	p.getOptionValue = _ZEN_Component_abstractComboBox_getOptionValue;
	p.inputBlurHandler = _ZEN_Component_abstractComboBox_inputBlurHandler;
	p.inputChangeHandler = _ZEN_Component_abstractComboBox_inputChangeHandler;
	p.inputKeyHandler = _ZEN_Component_abstractComboBox_inputKeyHandler;
	p.itemMouseDown = _ZEN_Component_abstractComboBox_itemMouseDown;
	p.itemMouseUp = _ZEN_Component_abstractComboBox_itemMouseUp;
	p.onDelete = _ZEN_Component_abstractComboBox_onDelete;
	p.onEndModalHandler = _ZEN_Component_abstractComboBox_onEndModalHandler;
	p.onStartModalHandler = _ZEN_Component_abstractComboBox_onStartModalHandler;
	p.onresizeHandler = _ZEN_Component_abstractComboBox_onresizeHandler;
	p.renderDropdown = _ZEN_Component_abstractComboBox_renderDropdown;
	p.selectItem = _ZEN_Component_abstractComboBox_selectItem;
	p.setProperty = _ZEN_Component_abstractComboBox_setProperty;
	p.showDropdown = _ZEN_Component_abstractComboBox_showDropdown;
	p.startTimer = _ZEN_Component_abstractComboBox_startTimer;
	p.timerHandler = _ZEN_Component_abstractComboBox_timerHandler;
}

self._zenClassIdx['dataListBox'] = '_ZEN_Component_dataListBox';
self._ZEN_Component_dataListBox = function(index,id) {
	if (index>=0) {_ZEN_Component_dataListBox__init(this,index,id);}
}

self._ZEN_Component_dataListBox__init = function(o,index,id) {
	('undefined' == typeof _ZEN_Component_abstractListBox__init) ?zenMaster._ZEN_Component_abstractListBox__init(o,index,id):_ZEN_Component_abstractListBox__init(o,index,id);
	o.OnCreateResultSet = '';
	o.OnDrawItem = '';
	o.OnExecuteResultSet = '';
	o.columnName = '';
	o.countRows = '0';
	o.groupByClause = '';
	o.itemCount = '';
	o.maxRows = '100';
	o.orderByClause = '';
	o.parameters = new Array();
	o.queryClass = '';
	o.queryName = '';
	o.sql = ''; // encrypted
	o.sqlLookup = ''; // encrypted
	o.tableName = '';
	o.whereClause = '';
	o.onCreate();
}
function _ZEN_Component_dataListBox_serialize(set,s)
{
	var o = this;s[0]='675808254';s[1]=o.index;s[2]=o.id;s[3]=o.name;s[4]=set.addObject(o.parent,'parent');s[5]=set.addObject(o.composite,'composite');s[6]=o.OnCreateResultSet;s[7]=o.OnDrawItem;s[8]=o.OnExecuteResultSet;s[9]=o.align;s[10]=o.aux;s[11]=o.clientType;s[12]=o.columnName;s[13]=o.containerStyle;s[14]=o.controlClass;s[15]=o.controlStyle;s[16]=o.countRows;s[17]=o.dataBinding;s[18]=(o.disabled?1:0);s[19]=(o.dragEnabled?1:0);s[20]=(o.dropEnabled?1:0);s[21]=(o.dynamic?1:0);s[22]=o.enclosingClass;s[23]=o.enclosingStyle;s[24]=o.error;s[25]=o.groupByClause;s[26]=o.height;s[27]=(o.hidden?1:0);s[28]=o.hint;s[29]=o.hintClass;s[30]=o.hintStyle;s[31]=(o.hzScroll?1:0);s[32]=(o.invalid?1:0);s[33]=o.invalidMessage;s[34]=o.itemCount;s[35]=o.label;s[36]=o.labelClass;s[37]=o.labelStyle;s[38]=o.listHeight;s[39]=o.listWidth;s[40]=o.maxRows;s[41]=o.onafterdrag;s[42]=o.onbeforedrag;s[43]=o.onblur;s[44]=o.onchange;s[45]=o.onclick;s[46]=o.ondblclick;s[47]=o.ondrag;s[48]=o.ondrop;s[49]=o.onfocus;s[50]=o.onhide;s[51]=o.onkeydown;s[52]=o.onkeypress;s[53]=o.onkeyup;s[54]=o.onmousedown;s[55]=o.onmouseout;s[56]=o.onmouseover;s[57]=o.onmouseup;s[58]=o.onrefresh;s[59]=o.onshow;s[60]=o.onsubmit;s[61]=o.onupdate;s[62]=o.onvalidate;s[63]=o.orderByClause;s[64]=o.originalValue;s[65]=o.overlayMode;s[66]=set.serializeList(o,o.parameters,true,'parameters');s[67]=o.queryClass;s[68]=o.queryName;s[69]=(o.readOnly?1:0);s[70]=o.renderFlag;s[71]=(o.required?1:0);s[72]=o.requiredMessage;s[73]=o.selectedIndex;s[74]=(o.showLabel?1:0);s[75]=o.slice;s[76]=o.sql;s[77]=o.sqlLookup;s[78]=o.tabIndex;s[79]=o.tableName;s[80]=o.text;s[81]=o.title;s[82]=o.tuple;s[83]=o.valign;s[84]=('boolean'==typeof o.value?(o.value?1:0):o.value);s[85]=(o.visible?1:0);s[86]=o.whereClause;s[87]=o.width;
}
function _ZEN_Component_dataListBox_getSettings(s)
{
	s['name'] = 'string';
	s['columnName'] = 'string';
	s['countRows'] = 'integer';
	s['groupByClause'] = 'string';
	s['itemCount'] = 'integer';
	s['maxRows'] = 'integer';
	s['orderByClause'] = 'string';
	s['parameters'] = 'string';
	s['queryClass'] = 'className';
	s['queryName'] = 'classMember:QUERY';
	s['sql'] = 'sql';
	s['sqlLookup'] = 'sql';
	s['tableName'] = 'string';
	s['whereClause'] = 'string';
	this.invokeSuper('getSettings',arguments);
}

self._ZEN_Component_dataListBox_executeQuery = function() {
this.refreshContents();
}

self._ZEN_Component_dataListBox_getOptionCount = function() {
return !zenIsMissing(this.itemCount) ? this.itemCount : 0;
}

self._ZEN_Component_dataListBox_getOptionText = function(idx) {
var value = '';
var item = self.document.getElementById('item_' + idx + '_' + this.index);
if (item) {
value = item.getAttribute('zenText');
}
return value;
}

self._ZEN_Component_dataListBox_getOptionValue = function(idx) {
var value = '';
var item = self.document.getElementById('item_' + idx + '_' + this.index);
if (item) {
value = item.getAttribute('zenValue');
}
return value;
}

self._ZEN_Component_dataListBox_setProperty = function(property,value,value2) {
switch(property) {
case 'itemCount':
this.itemCount = value;
break;
case 'parameters':
if ('' != value) {
value = value - 1;
if (this.parameters[value]) {
if (this.parameters[value].value != value2) {
this.parameters[value].value = value2;
this.executeQuery();
}
}
}
break;
default:
return this.invokeSuper('setProperty',arguments);
break;
}
return true;
}

self._ZEN_Component_dataListBox_ReallyRefreshContents = function() {
	zenInstanceMethod(this,'ReallyRefreshContents','','',arguments);
}
self._ZEN_Component_dataListBox__Loader = function() {
	zenLoadClass('_ZEN_Component_abstractListBox');
	_ZEN_Component_dataListBox.prototype = zenCreate('_ZEN_Component_abstractListBox',-1);
	var p = _ZEN_Component_dataListBox.prototype;
	if (null==p) {return;}
	p.constructor = _ZEN_Component_dataListBox;
	p.superClass = ('undefined' == typeof _ZEN_Component_abstractListBox) ? zenMaster._ZEN_Component_abstractListBox.prototype:_ZEN_Component_abstractListBox.prototype;
	p.__ZENcomponent = true;
	p._serverClass = '%ZEN.Component.dataListBox';
	p._type = 'dataListBox';
	p.serialize = _ZEN_Component_dataListBox_serialize;
	p.getSettings = _ZEN_Component_dataListBox_getSettings;
	p.ReallyRefreshContents = _ZEN_Component_dataListBox_ReallyRefreshContents;
	p.executeQuery = _ZEN_Component_dataListBox_executeQuery;
	p.getOptionCount = _ZEN_Component_dataListBox_getOptionCount;
	p.getOptionText = _ZEN_Component_dataListBox_getOptionText;
	p.getOptionValue = _ZEN_Component_dataListBox_getOptionValue;
	p.setProperty = _ZEN_Component_dataListBox_setProperty;
}

self._zenClassIdx['form'] = '_ZEN_Component_form';
self._ZEN_Component_form = function(index,id) {
	if (index>=0) {_ZEN_Component_form__init(this,index,id);}
}

self._ZEN_Component_form__init = function(o,index,id) {
	('undefined' == typeof _ZEN_Component_group__init) ?zenMaster._ZEN_Component_group__init(o,index,id):_ZEN_Component_group__init(o,index,id);
	o.OnLoadForm = '';
	o.OnSubmitForm = '';
	o.action = '';
	o.autoValidate = true;
	o.controller = '';
	o.controllerId = '';
	o.enctype = '';
	o.groupClass = 'form';
	o.groupStyle = 'padding: 5px;';
	o.invalidMessage = 'This form contains invalid values.\nPlease correct the following field(s) and try again.';
	o.key = '';
	o.messageTargetId = '';
	o.method = '';
	o.nextPage = '';
	o.noModelMessage = '';
	o.onchange = '';
	o.ondefault = '';
	o.oninvalid = '';
	o.onnotifyView = '';
	o.onreset = '';
	o.onsubmit = '';
	o.onvalidate = '';
	o.readOnlyMessage = 'This data is read only.';
	o.target = '';
}
function _ZEN_Component_form_serialize(set,s)
{
	var o = this;s[0]='3521949434';s[1]=o.index;s[2]=o.id;s[3]=o.name;s[4]=set.addObject(o.parent,'parent');s[5]=set.addObject(o.composite,'composite');s[6]=o.OnLoadForm;s[7]=o.OnSubmitForm;s[8]=o.action;s[9]=o.align;s[10]=(o.autoValidate?1:0);s[11]=o.aux;s[12]=o.cellAlign;s[13]=o.cellSize;s[14]=o.cellStyle;s[15]=o.cellVAlign;s[16]=set.serializeList(o,o.children,true,'children');s[17]=o.containerStyle;s[18]=o.controller;s[19]=o.controllerId;s[20]=(o.disabled?1:0);s[21]=(o.dragEnabled?1:0);s[22]=(o.dropEnabled?1:0);s[23]=(o.dynamic?1:0);s[24]=o.enclosingClass;s[25]=o.enclosingStyle;s[26]=o.enctype;s[27]=o.error;s[28]=o.groupClass;s[29]=o.groupStyle;s[30]=o.height;s[31]=(o.hidden?1:0);s[32]=o.hint;s[33]=o.hintClass;s[34]=o.hintStyle;s[35]=o.invalidMessage;s[36]=o.key;s[37]=o.label;s[38]=o.labelClass;s[39]=o.labelPosition;s[40]=o.labelStyle;s[41]=o.layout;s[42]=o.messageTargetId;s[43]=o.method;s[44]=o.nextPage;s[45]=o.noModelMessage;s[46]=o.onafterdrag;s[47]=o.onbeforedrag;s[48]=o.onchange;s[49]=o.onclick;s[50]=o.ondefault;s[51]=o.ondrag;s[52]=o.ondrop;s[53]=o.onhide;s[54]=o.oninvalid;s[55]=o.onnotifyView;s[56]=o.onrefresh;s[57]=o.onreset;s[58]=o.onshow;s[59]=o.onsubmit;s[60]=o.onupdate;s[61]=o.onvalidate;s[62]=o.overlayMode;s[63]=o.readOnlyMessage;s[64]=o.renderFlag;s[65]=(o.showLabel?1:0);s[66]=o.slice;s[67]=o.target;s[68]=o.title;s[69]=o.tuple;s[70]=o.valign;s[71]=(o.visible?1:0);s[72]=o.width;
}
function _ZEN_Component_form_getSettings(s)
{
	s['name'] = 'string';
	s['action'] = 'uri';
	s['autoValidate'] = 'boolean';
	s['controllerId'] = 'id';
	s['enctype'] = 'string';
	s['invalidMessage'] = 'caption';
	s['key'] = 'string';
	s['messageTargetId'] = 'id';
	s['method'] = 'enum:post,get';
	s['nextPage'] = 'uri';
	s['noModelMessage'] = 'caption';
	s['onchange'] = 'eventHandler';
	s['ondefault'] = 'eventHandler';
	s['oninvalid'] = 'eventHandler';
	s['onnotifyView'] = 'eventHandler';
	s['onreset'] = 'eventHandler';
	s['onsubmit'] = 'eventHandler';
	s['onvalidate'] = 'eventHandler';
	s['readOnlyMessage'] = 'caption';
	s['target'] = 'string';
	this.invokeSuper('getSettings',arguments);
}

self._ZEN_Component_form_bindValues = function(dataBinding,clear) {
var controller = this.getController();
if (controller) {
if (!controller.hasData()) {
this.showMessage(this.noModelMessage);
}
else {
this.showMessage('');
}
var controls = this.getControlList();
for (var n = 0; n < controls.length; n++) {
var ctrl = controls[n];
if (ctrl) {
ctrl.setProperty('invalid',false);
}
if (ctrl && !zenIsMissing(ctrl.dataBinding) && (null==dataBinding || dataBinding==ctrl.dataBinding)) {
var data = controller.getDataByName(ctrl.dataBinding);
if (ctrl.onDataModelChange) {
ctrl.onDataModelChange(controller.modelClass,controller.modelId);
}
if ((clear||ctrl.clearOnLoad) && ctrl.clearCache) {
ctrl.clearCache();
}
if (null==data) {
if ('%id' != ctrl.dataBinding) {
ctrl.setProperty('disabled',true);
}
ctrl.setValue('');
}
else {
ctrl.setProperty('disabled',false);
ctrl.setValue(data);
}
}
}
}
else {
this.showMessage('');
}
}

self._ZEN_Component_form_clearModified = function(reset) {
var controls = this.getControlList();
for (var n = 0; n < controls.length; n++) {
var child = controls[n];
child.setProperty('originalValue','');
if (reset) {
child.setProperty('value','');
this.controlChangeHandler(child,false);
}
}
zenInvokeCallbackMethod(this.onchange,this,'onchange','control',null);
}

self._ZEN_Component_form_connectToController = function() {
this.controller = '';
if (!zenIsMissing(this.controllerId)) {
if (this.composite) {
this.controller = this.composite.getChildById(this.controllerId);
}
else {
this.controller = zenPage.getComponentById(this.controllerId);
}
if (this.controller && this.controller.register) {
this.controller.register(this);
}
else {
alert('ZEN: Unable to connect component to dataController (' + this.id + ').');
}
if (this.controller) {
if ('' == this.controller.modelError) {
this.controller.loadModel(false);
}
}
}
}

self._ZEN_Component_form_controlChangeHandler = function(control,fire) {
if ('undefined' == typeof fire || fire) {
zenInvokeCallbackMethod(this.onchange,this,'onchange','control',control);
}
var controller = this.getController();
if (controller && '' != control.dataBinding) {
this.sendEventToController('propertyChange',control.dataBinding,control.value);
}
}

self._ZEN_Component_form_disconnectFromController = function() {
if (this.controller && this.controller.unregister) {
this.controller.unregister(this);
}
this.controller = '';
}

self._ZEN_Component_form_getControlList = function(sortBy) {
var controlList = (null != sortBy) ? new Object() : new Array();
var done = false;
var parent = new Array();
var cno = new Array();
var level = 0;
parent[0] = this;
cno[0] = 0;
do {
var child = parent[level].children[cno[level]];
if (child) {
if (child.isOfType('control')) {
switch (sortBy) {
case 'name':
if (null != child.name && '' != child.name) {
controlList[child.name] = child;
}
break;
case 'id':
if (null != child.id && '' != child.id) {
controlList[child.id] = child;
}
break;
default:
controlList[controlList.length] = child;
break;
}
}
else if (child.isOfType('group') && (child.children.length > 0)) {
level++;
parent[level] = child;
cno[level] = 0;
continue;
}
}
var found = false;
while (!found) {
cno[level]++;
if (cno[level] < parent[level].children.length) {
found = true;
}
else if (level > 0) {
level--;
}
else {
found = true;
done = true;
}
}
} while(!done);
return controlList;
}

self._ZEN_Component_form_getController = function() {
return (null == this.controller || '' == this.controller) ? null : this.controller;
}

self._ZEN_Component_form_getFormElement = function() {
var form = this.findElement('form');
zenASSERT(form,"Unable to find form element",arguments);
return form;
}

self._ZEN_Component_form_getValuesAsObject = function() {
var controls = this.getControlList('name');
var obj = new zenProxy();
for (var name in controls) {
obj[name] = controls[name].getValue();
}
return obj;
}

self._ZEN_Component_form_isModified = function() {
var flag = false;
var controls = this.getControlList();
for (var n = 0; n < controls.length; n++) {
var child = controls[n];
if (child.isModified()) {
flag = true;
break;
}
}
return flag;
}

self._ZEN_Component_form_notifyView = function(reason,data1,data2,data3) {
var ret = true;
if (this.onnotifyView) {
ret = zenInvokeCallbackMethod(this.onnotifyView,this,'onnotifyEvent','reason',reason,'data1',data1,'data2',data2,'data3',data3);
}
if (ret && this.notifyViewHandler) {
this.notifyViewHandler(reason,data1,data2,data3);
}
}

self._ZEN_Component_form_notifyViewHandler = function(reason,data1,data2,data3) {
switch(reason) {
case 'dataChange':
var controller = this.getController();
var ds = controller.getProperty('defaultSeries');
if (null == data3 || ds == data3) {
this.bindValues(data1,false);
}
break;
case 'seriesChange':
this.bindValues(null,true);
break;
case 'modelChange':
this.bindValues(null,true);
break;
}
}

self._ZEN_Component_form_onloadHandler = function() {
this.connectToController();
var controller = this.getController();
if (controller && !controller.hasData()) {
this.bindValues(null,false);
}
this.clearModified();
}

self._ZEN_Component_form_reload = function(key) {
this.key = key;
var ctrl = this.findElement('formKey');
zenASSERT(ctrl,"Unable to find formKey element",arguments);
ctrl.value = key;
if ('' != this.OnLoadForm) {
this.ReloadForm(this.index, this.OnLoadForm, this.key);
}
}

self._ZEN_Component_form_reset = function() {
this.getFormElement().reset();
this.clearModified(true);
}

self._ZEN_Component_form_save = function() {
var id = '';
var controller = this.getController();
if (controller && ''!=controller.getProperty('modelClass')) {
if (controller.isModelReadOnly()) {
alert(this.readOnlyMessage);
return id;
}
if (!this.validate()) {
return id;
}
id = controller.save();
}
return id;
}

self._ZEN_Component_form_sendEventToController = function(reason,data1,data2,data3) {
var controller = this.getController();
if (controller) {
controller.notifyController(this,reason,data1,data2,data3);
}
}

self._ZEN_Component_form_setControllerId = function(id) {
this.disconnectFromController();
this.controllerId = id;
this.connectToController();
}

self._ZEN_Component_form_setProperty = function(property,value,value2) {
switch(property) {
case 'target':
case 'enctype':
case 'action':
case 'method':
var form = this.getFormElement();
form[property] = value;
break;
case 'messageTargetId':
case 'noModelMessage':
case 'invalidMessage':
case 'readOnlyMessage':
form[property] = value;
break;
case 'key':
this.reload(value);
break;
case 'nextPage':
var next = this.findElement('nextPage');
zenASSERT(next,"Unable to find nextPage element",arguments);
next.value = value;
this.nextPage = value;
break;
case 'OnSubmitForm':
var m = this.findElement('submitMethod');
zenASSERT(m,"Unable to find submitMethod element",arguments);
m.value = value;
this.OnSubmitForm = value;
break;
case 'autoValidate':
this.autoValidate = value ? true : false;
break;
case 'controllerId':
this.setControllerId(value);
this.bindValues();
break;
default:
return this.invokeSuper('setProperty',arguments);
}
return true;
}

self._ZEN_Component_form_setValuesByName = function(values) {
var controls = this.getControlList('name');
for (var name in values) {
if (controls[name]) {
controls[name].setValue(values[name]);
}
}
}

self._ZEN_Component_form_showMessage = function(message) {
if (!zenIsMissing(this.messageTargetId)) {
var ctrl = zenPage.getComponentById(this.messageTargetId);
if (ctrl) {
ctrl.setProperty('value',message);
return true;
}
}
return false;
}

self._ZEN_Component_form_submit = function(action) {
var canSubmit = true;
var controls = this.getControlList();
for (var n = 0; n < controls.length; n++) {
var child = controls[n];
if (child.onsubmit) {
zenInvokeCallbackMethod(child.onsubmit,child,'onsubmit');
}
}
var controller = this.getController();
if (controller && ''!=controller.getProperty('modelClass')) {
if (controller.isModelReadOnly()) {
alert(this.readOnlyMessage);
return
}
}
if (this.autoValidate && !this.validate()) {
return;
}
if ('' != this.onsubmit) {
canSubmit = zenInvokeCallbackMethod(this.onsubmit,this,'onsubmit');
}
if (canSubmit) {
var controller = this.getController();
if (controller && ''!=controller.getProperty('modelClass')) {
var formKey = this.findElement('formKey');
var modelClass = this.findElement('modelClass');
formKey.value = controller.getProperty('modelId');
modelClass.value = controller.getProperty('modelClass');
}
var ctrl = this.findElement('action');
ctrl.value = (null == action) ? 'submit' : action;
this.getFormElement().submit();
}
}

self._ZEN_Component_form_submitHandler = function() {
zenInvokeCallbackMethod(this.ondefault,this,'ondefault');
return false;
}

self._ZEN_Component_form_validate = function() {
var valid = true;
var invalidList = new Array();
var invalidMessage = new Object();
if ('' != this.onvalidate) {
valid = zenInvokeCallbackMethod(this.onvalidate,this,'onvalidate','invalidList',invalidList);
}
var controller = this.getController();
if (valid) {
var controls = this.getControlList();
for (var n = 0; n < controls.length; n++) {
var child = controls[n];
var dcMsg = '';
child.setProperty('invalid',false);
if (controller && ('' != child.dataBinding)) {
dcMsg = controller.isPropertyValid(child.dataBinding, child.getValue());
}
if ('' != dcMsg) {
invalidMessage[invalidList.length] = dcMsg;
invalidList[invalidList.length] = child;
}
else {
if (!child.validationHandler()) {
invalidList[invalidList.length] = child;
}
}
}
}
if (invalidList.length > 0) {
valid = false;
if ('' != this.oninvalid) {
valid = zenInvokeCallbackMethod(this.oninvalid,this,'oninvalid','invalidList',invalidList);
}
else {
var msg = this.invalidMessage + '\n-------------------\n';
for (var n = 0; n < invalidList.length; n++) {
var ctrl = invalidList[n];
ctrl.setProperty('invalid',true);
if (n==0) {
ctrl.focus();
}
if (null == invalidMessage[n] || '' == invalidMessage[n]) {
msg += ctrl.getInvalidReason() + '\n';
}
else {
msg += invalidMessage[n] + '\n';
}
}
alert(msg);
}
}
return valid;
}

self._ZEN_Component_form_ReallyRefreshContents = function() {
	zenInstanceMethod(this,'ReallyRefreshContents','','',arguments);
}

self._ZEN_Component_form_ReloadForm = function(pFormIndex,pOnLoadForm,pKey) {
	zenInstanceMethod(this,'ReloadForm','L,L,L','',arguments);
}
self._ZEN_Component_form__Loader = function() {
	zenLoadClass('_ZEN_Component_group');
	_ZEN_Component_form.prototype = zenCreate('_ZEN_Component_group',-1);
	var p = _ZEN_Component_form.prototype;
	if (null==p) {return;}
	p.constructor = _ZEN_Component_form;
	p.superClass = ('undefined' == typeof _ZEN_Component_group) ? zenMaster._ZEN_Component_group.prototype:_ZEN_Component_group.prototype;
	p.__ZENcomponent = true;
	p._serverClass = '%ZEN.Component.form';
	p._type = 'form';
	p.serialize = _ZEN_Component_form_serialize;
	p.getSettings = _ZEN_Component_form_getSettings;
	p.ReallyRefreshContents = _ZEN_Component_form_ReallyRefreshContents;
	p.ReloadForm = _ZEN_Component_form_ReloadForm;
	p.bindValues = _ZEN_Component_form_bindValues;
	p.clearModified = _ZEN_Component_form_clearModified;
	p.connectToController = _ZEN_Component_form_connectToController;
	p.controlChangeHandler = _ZEN_Component_form_controlChangeHandler;
	p.disconnectFromController = _ZEN_Component_form_disconnectFromController;
	p.getControlList = _ZEN_Component_form_getControlList;
	p.getController = _ZEN_Component_form_getController;
	p.getFormElement = _ZEN_Component_form_getFormElement;
	p.getValuesAsObject = _ZEN_Component_form_getValuesAsObject;
	p.isModified = _ZEN_Component_form_isModified;
	p.notifyView = _ZEN_Component_form_notifyView;
	p.notifyViewHandler = _ZEN_Component_form_notifyViewHandler;
	p.onloadHandler = _ZEN_Component_form_onloadHandler;
	p.reload = _ZEN_Component_form_reload;
	p.reset = _ZEN_Component_form_reset;
	p.save = _ZEN_Component_form_save;
	p.sendEventToController = _ZEN_Component_form_sendEventToController;
	p.setControllerId = _ZEN_Component_form_setControllerId;
	p.setProperty = _ZEN_Component_form_setProperty;
	p.setValuesByName = _ZEN_Component_form_setValuesByName;
	p.showMessage = _ZEN_Component_form_showMessage;
	p.submit = _ZEN_Component_form_submit;
	p.submitHandler = _ZEN_Component_form_submitHandler;
	p.validate = _ZEN_Component_form_validate;
}

self._zenClassIdx['listBox'] = '_ZEN_Component_listBox';
self._ZEN_Component_listBox = function(index,id) {
	if (index>=0) {_ZEN_Component_listBox__init(this,index,id);}
}

self._ZEN_Component_listBox__init = function(o,index,id) {
	('undefined' == typeof _ZEN_Component_abstractListBox__init) ?zenMaster._ZEN_Component_abstractListBox__init(o,index,id):_ZEN_Component_abstractListBox__init(o,index,id);
	o.options = new Array();
	o.onCreate();
}
function _ZEN_Component_listBox_serialize(set,s)
{
	var o = this;s[0]='2670819123';s[1]=o.index;s[2]=o.id;s[3]=o.name;s[4]=set.addObject(o.parent,'parent');s[5]=set.addObject(o.composite,'composite');s[6]=o.align;s[7]=o.aux;s[8]=o.clientType;s[9]=o.containerStyle;s[10]=o.controlClass;s[11]=o.controlStyle;s[12]=o.dataBinding;s[13]=(o.disabled?1:0);s[14]=(o.dragEnabled?1:0);s[15]=(o.dropEnabled?1:0);s[16]=(o.dynamic?1:0);s[17]=o.enclosingClass;s[18]=o.enclosingStyle;s[19]=o.error;s[20]=o.height;s[21]=(o.hidden?1:0);s[22]=o.hint;s[23]=o.hintClass;s[24]=o.hintStyle;s[25]=(o.hzScroll?1:0);s[26]=(o.invalid?1:0);s[27]=o.invalidMessage;s[28]=o.label;s[29]=o.labelClass;s[30]=o.labelStyle;s[31]=o.listHeight;s[32]=o.listWidth;s[33]=o.onafterdrag;s[34]=o.onbeforedrag;s[35]=o.onblur;s[36]=o.onchange;s[37]=o.onclick;s[38]=o.ondblclick;s[39]=o.ondrag;s[40]=o.ondrop;s[41]=o.onfocus;s[42]=o.onhide;s[43]=o.onkeydown;s[44]=o.onkeypress;s[45]=o.onkeyup;s[46]=o.onmousedown;s[47]=o.onmouseout;s[48]=o.onmouseover;s[49]=o.onmouseup;s[50]=o.onrefresh;s[51]=o.onshow;s[52]=o.onsubmit;s[53]=o.onupdate;s[54]=o.onvalidate;s[55]=set.serializeList(o,o.options,true,'options');s[56]=o.originalValue;s[57]=o.overlayMode;s[58]=(o.readOnly?1:0);s[59]=o.renderFlag;s[60]=(o.required?1:0);s[61]=o.requiredMessage;s[62]=o.selectedIndex;s[63]=(o.showLabel?1:0);s[64]=o.slice;s[65]=o.tabIndex;s[66]=o.text;s[67]=o.title;s[68]=o.tuple;s[69]=o.valign;s[70]=('boolean'==typeof o.value?(o.value?1:0):o.value);s[71]=(o.visible?1:0);s[72]=o.width;
}
function _ZEN_Component_listBox_getSettings(s)
{
	s['name'] = 'string';
	this.invokeSuper('getSettings',arguments);
}

self._ZEN_Component_listBox_appendOption = function(value,text,style) {
var option = zenPage.createComponent('option');
if (value != null) option.value = value;
option.text = (text != null) ? text : option.value;
if (style != null) option.style = style;
this.options[this.options.length] = option;
this.renderListBox();
}

self._ZEN_Component_listBox_dropStartHandler = function(dragData) {
var value = dragData.value;
var text = dragData.text;
if (this != dragData.sourceComponent) {
this.appendOption(value,text);
}
else {
var tgtId = ZLM.getDragInnerDestination().id;
var tgtIndex = -1;
if (tgtId && tgtId.indexOf('item')!=-1) {
tgtIndex = tgtId.split('_')[1];
}
dragData.targetItem = tgtIndex;
var srcIndex = dragData.sourceItem;
this.moveOption(srcIndex,tgtIndex);
}
return true;
}

self._ZEN_Component_listBox_getOptionCount = function() {
return this.options.length;
}

self._ZEN_Component_listBox_getOptionText = function(idx) {
return this.options[idx].text;
}

self._ZEN_Component_listBox_getOptionValue = function(idx) {
return this.options[idx].value;
}

self._ZEN_Component_listBox_insertOption = function(index,value,text,style) {
var option = zenPage.createComponent('option');
if (value != null) option.value = value;
option.text = (text != null) ? text : option.value;
if (style != null) option.style = style;
this.options.splice(index,0,option);
this.renderListBox();
}

self._ZEN_Component_listBox_moveOption = function(index,newIndex) {
if (index < 0 || index > this.options.length) return;
if (newIndex < 0 || newIndex > this.options.length) {
newIndex = this.options.length;
}
if (index == newIndex) return;
var option = this.options[index];
this.options.splice(index,1);
this.options.splice(newIndex,0,option);
this.renderListBox();
}

self._ZEN_Component_listBox_onRefreshContents = function() {
this.renderListBox();
}

self._ZEN_Component_listBox_onloadHandler = function() {
this.renderListBox();
}

self._ZEN_Component_listBox_removeOption = function(index) {
this.options.splice(index,1);
if (this.selectedIndex >= this.options.length) {
this.selectedIndex = -1;
}
this.renderListBox();
}

self._ZEN_Component_listBox_renderListBox = function() {
var div = this.findElement('list');
zenASSERT(div,'Unable to find listBox element',arguments);
var html = new Array();
var option,val,text,cls,style;
var hasSel = false;
for (var n = 0; n < this.options.length; n++) {
option = this.options[n];
val = option.value;
text = (option.text!='') ? option.text : option.value;
if (!hasSel && this.value == option.value) {
this.selectedIndex = n;
cls = 'listBoxItemSelected';
hasSel = true;
}
else {
cls = 'listBoxItem';
}
var mouseEvents = '';
if (zenPage.dragAndDrop) {
mouseEvents = ' onmousedown="return zenPage.getComponent('+this.index+').itemMouseDown(event,'+n+');"';
mouseEvents += ' onmouseup="return zenPage.getComponent('+this.index+').itemMouseUp(event);"';
}
style = (option.style=='') ? '' : ('style="'+option.style+'"');
html[html.length] = '<div'+ mouseEvents + ' class="'+cls+'" id="'+this.makeId('item_'+n)+'" onclick="zenPage.getComponent('+this.index+').clickItem('+n+');return false;" ondblclick="zenPage.getComponent('+this.index+').dblClickItem('+n+');" '+style+'>&#160;'+text+'&#160;<\/div>';
}
div.innerHTML = html.join("");
}

self._ZEN_Component_listBox_resetOptions = function() {
this.options.length = 0;
this.selectedIndex = -1;
this.text = '';
this.setValue('');
this.renderListBox();
}

self._ZEN_Component_listBox_setOption = function(index,value,text,style) {
var option = this.options[index];
if (null != option) {
if (value != null) option.value = value;
option.text = (text != null) ? text : option.value;
if (style != null) option.style = style;
this.renderListBox();
}
}

self._ZEN_Component_listBox_ReallyRefreshContents = function() {
	zenInstanceMethod(this,'ReallyRefreshContents','','',arguments);
}
self._ZEN_Component_listBox__Loader = function() {
	zenLoadClass('_ZEN_Component_abstractListBox');
	_ZEN_Component_listBox.prototype = zenCreate('_ZEN_Component_abstractListBox',-1);
	var p = _ZEN_Component_listBox.prototype;
	if (null==p) {return;}
	p.constructor = _ZEN_Component_listBox;
	p.superClass = ('undefined' == typeof _ZEN_Component_abstractListBox) ? zenMaster._ZEN_Component_abstractListBox.prototype:_ZEN_Component_abstractListBox.prototype;
	p.__ZENcomponent = true;
	p._serverClass = '%ZEN.Component.listBox';
	p._type = 'listBox';
	p.serialize = _ZEN_Component_listBox_serialize;
	p.getSettings = _ZEN_Component_listBox_getSettings;
	p.ReallyRefreshContents = _ZEN_Component_listBox_ReallyRefreshContents;
	p.appendOption = _ZEN_Component_listBox_appendOption;
	p.dropStartHandler = _ZEN_Component_listBox_dropStartHandler;
	p.getOptionCount = _ZEN_Component_listBox_getOptionCount;
	p.getOptionText = _ZEN_Component_listBox_getOptionText;
	p.getOptionValue = _ZEN_Component_listBox_getOptionValue;
	p.insertOption = _ZEN_Component_listBox_insertOption;
	p.moveOption = _ZEN_Component_listBox_moveOption;
	p.onRefreshContents = _ZEN_Component_listBox_onRefreshContents;
	p.onloadHandler = _ZEN_Component_listBox_onloadHandler;
	p.removeOption = _ZEN_Component_listBox_removeOption;
	p.renderListBox = _ZEN_Component_listBox_renderListBox;
	p.resetOptions = _ZEN_Component_listBox_resetOptions;
	p.setOption = _ZEN_Component_listBox_setOption;
}

self._zenClassIdx['loginForm'] = '_ZEN_Component_loginForm';
self._ZEN_Component_loginForm = function(index,id) {
	if (index>=0) {_ZEN_Component_loginForm__init(this,index,id);}
}

self._ZEN_Component_loginForm__init = function(o,index,id) {
	('undefined' == typeof _ZEN_Component_group__init) ?zenMaster._ZEN_Component_group__init(o,index,id):_ZEN_Component_group__init(o,index,id);
	o.enctype = '';
	o.groupClass = 'form';
	o.groupStyle = 'padding: 5px;';
	o.ondefault = '';
	o.onsubmit = '';
}
function _ZEN_Component_loginForm_serialize(set,s)
{
	var o = this;s[0]='2476726129';s[1]=o.index;s[2]=o.id;s[3]=o.name;s[4]=set.addObject(o.parent,'parent');s[5]=set.addObject(o.composite,'composite');s[6]=o.align;s[7]=o.aux;s[8]=o.cellAlign;s[9]=o.cellSize;s[10]=o.cellStyle;s[11]=o.cellVAlign;s[12]=set.serializeList(o,o.children,true,'children');s[13]=o.containerStyle;s[14]=(o.disabled?1:0);s[15]=(o.dragEnabled?1:0);s[16]=(o.dropEnabled?1:0);s[17]=(o.dynamic?1:0);s[18]=o.enclosingClass;s[19]=o.enclosingStyle;s[20]=o.enctype;s[21]=o.error;s[22]=o.groupClass;s[23]=o.groupStyle;s[24]=o.height;s[25]=(o.hidden?1:0);s[26]=o.hint;s[27]=o.hintClass;s[28]=o.hintStyle;s[29]=o.label;s[30]=o.labelClass;s[31]=o.labelPosition;s[32]=o.labelStyle;s[33]=o.layout;s[34]=o.onafterdrag;s[35]=o.onbeforedrag;s[36]=o.onclick;s[37]=o.ondefault;s[38]=o.ondrag;s[39]=o.ondrop;s[40]=o.onhide;s[41]=o.onrefresh;s[42]=o.onshow;s[43]=o.onsubmit;s[44]=o.onupdate;s[45]=o.overlayMode;s[46]=o.renderFlag;s[47]=(o.showLabel?1:0);s[48]=o.slice;s[49]=o.title;s[50]=o.tuple;s[51]=o.valign;s[52]=(o.visible?1:0);s[53]=o.width;
}
function _ZEN_Component_loginForm_getSettings(s)
{
	s['name'] = 'string';
	s['enctype'] = 'string';
	s['ondefault'] = 'eventHandler';
	s['onsubmit'] = 'eventHandler';
	this.invokeSuper('getSettings',arguments);
}

self._ZEN_Component_loginForm_controlChangeHandler = function(control,fire) {
if ('undefined' == typeof fire || fire) {
zenInvokeCallbackMethod(this.onchange,this,'onchange','control',control);
}
}

self._ZEN_Component_loginForm_getController = function() {
return null;
}

self._ZEN_Component_loginForm_getFormElement = function() {
var form = this.findElement('form');
zenASSERT(form,"Unable to find form element",arguments);
return form;
}

self._ZEN_Component_loginForm_reset = function() {
this.getFormElement().reset();
}

self._ZEN_Component_loginForm_setProperty = function(property,value,value2) {
switch(property) {
case 'nextPage':
case 'action':
break;
case 'enctype':
var form = this.getFormElement();
form[property] = value;
break;
default:
return this.invokeSuper('setProperty',arguments);
}
return true;
}

self._ZEN_Component_loginForm_submit = function(action) {
var canSubmit = true;
if ('' != this.onsubmit) {
canSubmit = zenInvokeCallbackMethod(this.onsubmit,this,'onsubmit');
}
if (canSubmit) {
this.getFormElement().submit();
}
}

self._ZEN_Component_loginForm_submitHandler = function() {
if (''==this.ondefault) {
this.submit('');
}
else {
zenInvokeCallbackMethod(this.ondefault,this,'ondefault');
}
return false;
}

self._ZEN_Component_loginForm_ReallyRefreshContents = function() {
	zenInstanceMethod(this,'ReallyRefreshContents','','',arguments);
}
self._ZEN_Component_loginForm__Loader = function() {
	zenLoadClass('_ZEN_Component_group');
	_ZEN_Component_loginForm.prototype = zenCreate('_ZEN_Component_group',-1);
	var p = _ZEN_Component_loginForm.prototype;
	if (null==p) {return;}
	p.constructor = _ZEN_Component_loginForm;
	p.superClass = ('undefined' == typeof _ZEN_Component_group) ? zenMaster._ZEN_Component_group.prototype:_ZEN_Component_group.prototype;
	p.__ZENcomponent = true;
	p._serverClass = '%ZEN.Component.loginForm';
	p._type = 'loginForm';
	p.serialize = _ZEN_Component_loginForm_serialize;
	p.getSettings = _ZEN_Component_loginForm_getSettings;
	p.ReallyRefreshContents = _ZEN_Component_loginForm_ReallyRefreshContents;
	p.controlChangeHandler = _ZEN_Component_loginForm_controlChangeHandler;
	p.getController = _ZEN_Component_loginForm_getController;
	p.getFormElement = _ZEN_Component_loginForm_getFormElement;
	p.reset = _ZEN_Component_loginForm_reset;
	p.setProperty = _ZEN_Component_loginForm_setProperty;
	p.submit = _ZEN_Component_loginForm_submit;
	p.submitHandler = _ZEN_Component_loginForm_submitHandler;
}

self._zenClassIdx['multiSelectSet'] = '_ZEN_Component_multiSelectSet';
self._ZEN_Component_multiSelectSet = function(index,id) {
	if (index>=0) {_ZEN_Component_multiSelectSet__init(this,index,id);}
}

self._ZEN_Component_multiSelectSet__init = function(o,index,id) {
	('undefined' == typeof _ZEN_Component_listControl__init) ?zenMaster._ZEN_Component_listControl__init(o,index,id):_ZEN_Component_listControl__init(o,index,id);
	o.captionClass = 'multiSelectSetCaption';
	o.emptyCaption = 'None';
	o.layout = 'vertical';
	o.optionCount = '0';
	o.titleList = '';
}
function _ZEN_Component_multiSelectSet_serialize(set,s)
{
	var o = this;s[0]='2749043334';s[1]=o.index;s[2]=o.id;s[3]=o.name;s[4]=set.addObject(o.parent,'parent');s[5]=set.addObject(o.composite,'composite');s[6]=o.align;s[7]=o.aux;s[8]=o.captionClass;s[9]=o.clientType;s[10]=o.containerStyle;s[11]=o.controlClass;s[12]=o.controlStyle;s[13]=o.dataBinding;s[14]=(o.disabled?1:0);s[15]=o.displayList;s[16]=(o.dragEnabled?1:0);s[17]=(o.dropEnabled?1:0);s[18]=(o.dynamic?1:0);s[19]=o.emptyCaption;s[20]=o.enclosingClass;s[21]=o.enclosingStyle;s[22]=o.error;s[23]=o.height;s[24]=(o.hidden?1:0);s[25]=o.hint;s[26]=o.hintClass;s[27]=o.hintStyle;s[28]=(o.invalid?1:0);s[29]=o.invalidMessage;s[30]=o.label;s[31]=o.labelClass;s[32]=o.labelStyle;s[33]=o.layout;s[34]=o.maxRows;s[35]=o.onafterdrag;s[36]=o.onbeforedrag;s[37]=o.onblur;s[38]=o.onchange;s[39]=o.onclick;s[40]=o.ondblclick;s[41]=o.ondrag;s[42]=o.ondrop;s[43]=o.onfocus;s[44]=o.onhide;s[45]=o.onkeydown;s[46]=o.onkeypress;s[47]=o.onkeyup;s[48]=o.onmousedown;s[49]=o.onmouseout;s[50]=o.onmouseover;s[51]=o.onmouseup;s[52]=o.onrefresh;s[53]=o.onshow;s[54]=o.onsubmit;s[55]=o.onupdate;s[56]=o.onvalidate;s[57]=o.optionCount;s[58]=o.originalValue;s[59]=o.overlayMode;s[60]=set.serializeList(o,o.parameters,true,'parameters');s[61]=o.queryClass;s[62]=o.queryName;s[63]=(o.readOnly?1:0);s[64]=o.renderFlag;s[65]=(o.required?1:0);s[66]=o.requiredMessage;s[67]=(o.showLabel?1:0);s[68]=o.slice;s[69]=o.sql;s[70]=o.tabIndex;s[71]=o.title;s[72]=o.titleList;s[73]=o.tuple;s[74]=o.valign;s[75]=('boolean'==typeof o.value?(o.value?1:0):o.value);s[76]=o.valueList;s[77]=(o.visible?1:0);s[78]=o.width;
}
function _ZEN_Component_multiSelectSet_getSettings(s)
{
	s['name'] = 'string';
	s['captionClass'] = 'cssClass';
	s['emptyCaption'] = 'caption';
	s['layout'] = 'enum:horizontal,vertical';
	s['optionCount'] = 'integer';
	s['titleList'] = 'csv';
	this.invokeSuper('getSettings',arguments);
}

self._ZEN_Component_multiSelectSet_clickItem = function(choice) {
if (this.disabled) return false;
if (this.readOnly) return false;
var checkBox = this.findElement('textCheckbox_' + choice);
zenASSERT(checkBox,'Unable to find checkbox element.',arguments);
this.updateValue();
zenInvokeCallbackMethod(this.onclick,this,'onclick');
this.onchangeHandler();
return true;
}

self._ZEN_Component_multiSelectSet_selectAll = function() {
this.selectUniform(true);
}

self._ZEN_Component_multiSelectSet_selectNone = function() {
this.selectUniform(false);
}

self._ZEN_Component_multiSelectSet_selectUniform = function(flag) {
for (var n = 0; n < this.optionCount; n++) {
var checkBox = this.findElement('textCheckbox_' + ((parseInt(n,10))+1));
if (checkBox) {
checkBox.checked = flag;
}
}
this.updateValue();
}

self._ZEN_Component_multiSelectSet_setCaptionClass = function(cls) {
for (var n = 0; n < this.optionCount; n++) {
var caption = this.findElement('caption_' + ((parseInt(n,10))+1));
if (caption) { caption.className = cls; }
}
}

self._ZEN_Component_multiSelectSet_setProperty = function(property,value,value2) {
switch(property) {
case 'value':
this.value = value;
this.selectUniform(false);
var a=value.split(",");
var len=a.length;
var n=1;
var checkBox = null;
while ((checkBox = this.findElement('textCheckbox_'+n))!=null) {
for (var i=0;i<len;i++) {
if (checkBox.value==a[i]) {
checkBox.checked=true;
i=len;
}
}
n++;
}
this.updateValue();
var hidden = this.findElement('hidden');
if (hidden) { hidden.value = this.value; }
break;
case 'readOnly':
case 'disabled':
value = (value) ? true : false;
if (this[property] != value) {
this[property] = value;
for (var n = 0; n < this.optionCount; n++) {
var checkBox = this.findElement('textCheckbox_' + ((n*1)+1));
if (checkBox) {checkBox.disabled = (this.disabled||this.readOnly); }
}
if ('disabled' == property) {
this.setCaptionClass(this.disabled ? 'multiSelectSetCaptionDisabled' : this.captionClass);
}
}
break;
case 'captionClass':
this.captionClass = value;
if (!this.disabled) {
this.setCaptionClass(this.captionClass);
}
break;
default:
return this.invokeSuper('setProperty',arguments);
}
return true;
}

self._ZEN_Component_multiSelectSet_updateValue = function() {
var v=[];
var n=1;
var checkBox = null;
while ((checkBox = this.findElement('textCheckbox_'+n))!=null) {
if (checkBox.checked==true) v.push(checkBox.value);
n++;
}
this.value = v.join(',');
var hidden = this.findElement('hidden');
zenASSERT(hidden,'Unable to find hidden element.',arguments);
if (hidden.value != this.value) {
hidden.value = this.value;
}
}

self._ZEN_Component_multiSelectSet_ReallyRefreshContents = function() {
	zenInstanceMethod(this,'ReallyRefreshContents','','',arguments);
}
self._ZEN_Component_multiSelectSet__Loader = function() {
	zenLoadClass('_ZEN_Component_listControl');
	_ZEN_Component_multiSelectSet.prototype = zenCreate('_ZEN_Component_listControl',-1);
	var p = _ZEN_Component_multiSelectSet.prototype;
	if (null==p) {return;}
	p.constructor = _ZEN_Component_multiSelectSet;
	p.superClass = ('undefined' == typeof _ZEN_Component_listControl) ? zenMaster._ZEN_Component_listControl.prototype:_ZEN_Component_listControl.prototype;
	p.__ZENcomponent = true;
	p._serverClass = '%ZEN.Component.multiSelectSet';
	p._type = 'multiSelectSet';
	p.serialize = _ZEN_Component_multiSelectSet_serialize;
	p.getSettings = _ZEN_Component_multiSelectSet_getSettings;
	p.ReallyRefreshContents = _ZEN_Component_multiSelectSet_ReallyRefreshContents;
	p.clickItem = _ZEN_Component_multiSelectSet_clickItem;
	p.selectAll = _ZEN_Component_multiSelectSet_selectAll;
	p.selectNone = _ZEN_Component_multiSelectSet_selectNone;
	p.selectUniform = _ZEN_Component_multiSelectSet_selectUniform;
	p.setCaptionClass = _ZEN_Component_multiSelectSet_setCaptionClass;
	p.setProperty = _ZEN_Component_multiSelectSet_setProperty;
	p.updateValue = _ZEN_Component_multiSelectSet_updateValue;
}

self._zenClassIdx['password'] = '_ZEN_Component_password';
self._ZEN_Component_password = function(index,id) {
	if (index>=0) {_ZEN_Component_password__init(this,index,id);}
}

self._ZEN_Component_password__init = function(o,index,id) {
	('undefined' == typeof _ZEN_Component_text__init) ?zenMaster._ZEN_Component_text__init(o,index,id):_ZEN_Component_text__init(o,index,id);
	o.controlClass = 'password';
}
function _ZEN_Component_password_serialize(set,s)
{
	var o = this;s[0]='1484169974';s[1]=o.index;s[2]=o.id;s[3]=o.name;s[4]=set.addObject(o.parent,'parent');s[5]=set.addObject(o.composite,'composite');s[6]=o.align;s[7]=o.aux;s[8]=o.clientType;s[9]=o.containerStyle;s[10]=o.controlClass;s[11]=o.controlStyle;s[12]=o.dataBinding;s[13]=(o.disabled?1:0);s[14]=(o.dragEnabled?1:0);s[15]=(o.dropEnabled?1:0);s[16]=(o.dynamic?1:0);s[17]=o.enclosingClass;s[18]=o.enclosingStyle;s[19]=o.error;s[20]=o.height;s[21]=(o.hidden?1:0);s[22]=o.hint;s[23]=o.hintClass;s[24]=o.hintStyle;s[25]=(o.invalid?1:0);s[26]=o.invalidMessage;s[27]=o.label;s[28]=o.labelClass;s[29]=o.labelStyle;s[30]=o.maxlength;s[31]=o.onafterdrag;s[32]=o.onbeforedrag;s[33]=o.onblur;s[34]=o.onchange;s[35]=o.onclick;s[36]=o.ondblclick;s[37]=o.ondrag;s[38]=o.ondrop;s[39]=o.onfocus;s[40]=o.onhide;s[41]=o.onkeydown;s[42]=o.onkeypress;s[43]=o.onkeyup;s[44]=o.onmousedown;s[45]=o.onmouseout;s[46]=o.onmouseover;s[47]=o.onmouseup;s[48]=o.onrefresh;s[49]=o.onshow;s[50]=o.onsubmit;s[51]=o.onupdate;s[52]=o.onvalidate;s[53]=o.originalValue;s[54]=o.overlayMode;s[55]=(o.readOnly?1:0);s[56]=o.renderFlag;s[57]=(o.required?1:0);s[58]=o.requiredMessage;s[59]=(o.showLabel?1:0);s[60]=o.size;s[61]=o.slice;s[62]=o.tabIndex;s[63]=o.title;s[64]=o.tuple;s[65]=o.valign;s[66]=('boolean'==typeof o.value?(o.value?1:0):o.value);s[67]=(o.visible?1:0);s[68]=o.width;
}
function _ZEN_Component_password_getSettings(s)
{
	s['name'] = 'string';
	this.invokeSuper('getSettings',arguments);
}

self._ZEN_Component_password_ReallyRefreshContents = function() {
	zenInstanceMethod(this,'ReallyRefreshContents','','',arguments);
}
self._ZEN_Component_password__Loader = function() {
	zenLoadClass('_ZEN_Component_text');
	_ZEN_Component_password.prototype = zenCreate('_ZEN_Component_text',-1);
	var p = _ZEN_Component_password.prototype;
	if (null==p) {return;}
	p.constructor = _ZEN_Component_password;
	p.superClass = ('undefined' == typeof _ZEN_Component_text) ? zenMaster._ZEN_Component_text.prototype:_ZEN_Component_text.prototype;
	p.__ZENcomponent = true;
	p._serverClass = '%ZEN.Component.password';
	p._type = 'password';
	p.serialize = _ZEN_Component_password_serialize;
	p.getSettings = _ZEN_Component_password_getSettings;
	p.ReallyRefreshContents = _ZEN_Component_password_ReallyRefreshContents;
}

self._zenClassIdx['radioSet'] = '_ZEN_Component_radioSet';
self._ZEN_Component_radioSet = function(index,id) {
	if (index>=0) {_ZEN_Component_radioSet__init(this,index,id);}
}

self._ZEN_Component_radioSet__init = function(o,index,id) {
	('undefined' == typeof _ZEN_Component_listControl__init) ?zenMaster._ZEN_Component_listControl__init(o,index,id):_ZEN_Component_listControl__init(o,index,id);
	o.captionClass = 'radioSetCaption';
	o.emptyCaption = 'None';
	o.optionCount = '0';
	o.titleList = '';
}
function _ZEN_Component_radioSet_serialize(set,s)
{
	var o = this;s[0]='3954792726';s[1]=o.index;s[2]=o.id;s[3]=o.name;s[4]=set.addObject(o.parent,'parent');s[5]=set.addObject(o.composite,'composite');s[6]=o.align;s[7]=o.aux;s[8]=o.captionClass;s[9]=o.clientType;s[10]=o.containerStyle;s[11]=o.controlClass;s[12]=o.controlStyle;s[13]=o.dataBinding;s[14]=(o.disabled?1:0);s[15]=o.displayList;s[16]=(o.dragEnabled?1:0);s[17]=(o.dropEnabled?1:0);s[18]=(o.dynamic?1:0);s[19]=o.emptyCaption;s[20]=o.enclosingClass;s[21]=o.enclosingStyle;s[22]=o.error;s[23]=o.height;s[24]=(o.hidden?1:0);s[25]=o.hint;s[26]=o.hintClass;s[27]=o.hintStyle;s[28]=(o.invalid?1:0);s[29]=o.invalidMessage;s[30]=o.label;s[31]=o.labelClass;s[32]=o.labelStyle;s[33]=o.maxRows;s[34]=o.onafterdrag;s[35]=o.onbeforedrag;s[36]=o.onblur;s[37]=o.onchange;s[38]=o.onclick;s[39]=o.ondblclick;s[40]=o.ondrag;s[41]=o.ondrop;s[42]=o.onfocus;s[43]=o.onhide;s[44]=o.onkeydown;s[45]=o.onkeypress;s[46]=o.onkeyup;s[47]=o.onmousedown;s[48]=o.onmouseout;s[49]=o.onmouseover;s[50]=o.onmouseup;s[51]=o.onrefresh;s[52]=o.onshow;s[53]=o.onsubmit;s[54]=o.onupdate;s[55]=o.onvalidate;s[56]=o.optionCount;s[57]=o.originalValue;s[58]=o.overlayMode;s[59]=set.serializeList(o,o.parameters,true,'parameters');s[60]=o.queryClass;s[61]=o.queryName;s[62]=(o.readOnly?1:0);s[63]=o.renderFlag;s[64]=(o.required?1:0);s[65]=o.requiredMessage;s[66]=(o.showLabel?1:0);s[67]=o.slice;s[68]=o.sql;s[69]=o.tabIndex;s[70]=o.title;s[71]=o.titleList;s[72]=o.tuple;s[73]=o.valign;s[74]=('boolean'==typeof o.value?(o.value?1:0):o.value);s[75]=o.valueList;s[76]=(o.visible?1:0);s[77]=o.width;
}
function _ZEN_Component_radioSet_getSettings(s)
{
	s['name'] = 'string';
	s['captionClass'] = 'cssClass';
	s['emptyCaption'] = 'caption';
	s['optionCount'] = 'integer';
	s['titleList'] = 'csv';
	this.invokeSuper('getSettings',arguments);
}

self._ZEN_Component_radioSet_clickItem = function(choice) {
if (this.disabled) return false;
if (this.readOnly) return false;
var changed = false;
var radio = this.findElement('textRadio_' + choice);
zenASSERT(radio,'Unable to find radio element.',arguments);
radio.checked = true;
this.value = radio.value;
var hidden = this.findElement('hidden');
zenASSERT(hidden,'Unable to find hidden element.',arguments);
if (hidden.value != this.value) {
hidden.value = this.value;
changed = true;
}
zenInvokeCallbackMethod(this.onclick,this,'onclick');
if (changed) {
this.onchangeHandler();
}
return true;
}

self._ZEN_Component_radioSet_setCaptionClass = function(cls) {
for (var n = 0; n < this.optionCount; n++) {
var caption = this.findElement('caption_' + ((parseInt(n,10))+1));
if (caption) { caption.className = cls; }
}
}

self._ZEN_Component_radioSet_setProperty = function(property,value,value2) {
switch(property) {
case 'optionCount':
if (parseInt(value) != this.optionCount) {
this.optionCount = value;
this.setValue(this.value);
}
break;
case 'value':
this.value = value;
for (var n = 0; n < this.optionCount; n++) {
var radio = this.findElement('textRadio_' + ((parseInt(n,10))+1));
if (radio) {
radio.checked = (radio.value == this.value);
}
}
var hidden = this.findElement('hidden');
if (hidden) { hidden.value = this.value; }
break;
case 'readOnly':
case 'disabled':
value = (value) ? true : false;
if (this[property] != value) {
this[property] = value;
for (var n = 0; n < this.optionCount; n++) {
var radio = this.findElement('textRadio_' + ((n*1)+1));
if (radio) {radio.disabled = (this.disabled||this.readOnly); }
}
if ('disabled' == property) {
this.setCaptionClass(this.disabled ? 'radioSetCaptionDisabled' : this.captionClass);
}
}
break;
case 'captionClass':
this.captionClass = value;
if (!this.disabled) {
this.setCaptionClass(this.captionClass);
}
break;
default:
return this.invokeSuper('setProperty',arguments);
}
return true;
}

self._ZEN_Component_radioSet_ReallyRefreshContents = function() {
	zenInstanceMethod(this,'ReallyRefreshContents','','',arguments);
}
self._ZEN_Component_radioSet__Loader = function() {
	zenLoadClass('_ZEN_Component_listControl');
	_ZEN_Component_radioSet.prototype = zenCreate('_ZEN_Component_listControl',-1);
	var p = _ZEN_Component_radioSet.prototype;
	if (null==p) {return;}
	p.constructor = _ZEN_Component_radioSet;
	p.superClass = ('undefined' == typeof _ZEN_Component_listControl) ? zenMaster._ZEN_Component_listControl.prototype:_ZEN_Component_listControl.prototype;
	p.__ZENcomponent = true;
	p._serverClass = '%ZEN.Component.radioSet';
	p._type = 'radioSet';
	p.serialize = _ZEN_Component_radioSet_serialize;
	p.getSettings = _ZEN_Component_radioSet_getSettings;
	p.ReallyRefreshContents = _ZEN_Component_radioSet_ReallyRefreshContents;
	p.clickItem = _ZEN_Component_radioSet_clickItem;
	p.setCaptionClass = _ZEN_Component_radioSet_setCaptionClass;
	p.setProperty = _ZEN_Component_radioSet_setProperty;
}

self._zenClassIdx['select'] = '_ZEN_Component_select';
self._ZEN_Component_select = function(index,id) {
	if (index>=0) {_ZEN_Component_select__init(this,index,id);}
}

self._ZEN_Component_select__init = function(o,index,id) {
	('undefined' == typeof _ZEN_Component_listControl__init) ?zenMaster._ZEN_Component_listControl__init(o,index,id):_ZEN_Component_listControl__init(o,index,id);
	o.controlClass = 'select';
	o.showEmpty = true;
	o.size = '';
}
function _ZEN_Component_select_serialize(set,s)
{
	var o = this;s[0]='3965674434';s[1]=o.index;s[2]=o.id;s[3]=o.name;s[4]=set.addObject(o.parent,'parent');s[5]=set.addObject(o.composite,'composite');s[6]=o.align;s[7]=o.aux;s[8]=o.clientType;s[9]=o.containerStyle;s[10]=o.controlClass;s[11]=o.controlStyle;s[12]=o.dataBinding;s[13]=(o.disabled?1:0);s[14]=o.displayList;s[15]=(o.dragEnabled?1:0);s[16]=(o.dropEnabled?1:0);s[17]=(o.dynamic?1:0);s[18]=o.enclosingClass;s[19]=o.enclosingStyle;s[20]=o.error;s[21]=o.height;s[22]=(o.hidden?1:0);s[23]=o.hint;s[24]=o.hintClass;s[25]=o.hintStyle;s[26]=(o.invalid?1:0);s[27]=o.invalidMessage;s[28]=o.label;s[29]=o.labelClass;s[30]=o.labelStyle;s[31]=o.maxRows;s[32]=o.onafterdrag;s[33]=o.onbeforedrag;s[34]=o.onblur;s[35]=o.onchange;s[36]=o.onclick;s[37]=o.ondblclick;s[38]=o.ondrag;s[39]=o.ondrop;s[40]=o.onfocus;s[41]=o.onhide;s[42]=o.onkeydown;s[43]=o.onkeypress;s[44]=o.onkeyup;s[45]=o.onmousedown;s[46]=o.onmouseout;s[47]=o.onmouseover;s[48]=o.onmouseup;s[49]=o.onrefresh;s[50]=o.onshow;s[51]=o.onsubmit;s[52]=o.onupdate;s[53]=o.onvalidate;s[54]=o.originalValue;s[55]=o.overlayMode;s[56]=set.serializeList(o,o.parameters,true,'parameters');s[57]=o.queryClass;s[58]=o.queryName;s[59]=(o.readOnly?1:0);s[60]=o.renderFlag;s[61]=(o.required?1:0);s[62]=o.requiredMessage;s[63]=(o.showEmpty?1:0);s[64]=(o.showLabel?1:0);s[65]=o.size;s[66]=o.slice;s[67]=o.sql;s[68]=o.tabIndex;s[69]=o.title;s[70]=o.tuple;s[71]=o.valign;s[72]=('boolean'==typeof o.value?(o.value?1:0):o.value);s[73]=o.valueList;s[74]=(o.visible?1:0);s[75]=o.width;
}
function _ZEN_Component_select_getSettings(s)
{
	s['name'] = 'string';
	s['showEmpty'] = 'boolean';
	s['size'] = 'integer';
	this.invokeSuper('getSettings',arguments);
}

self._ZEN_Component_select_getOptionText = function(idx) {
var el = this.findElement('control');
if (el && idx >= 0) {
var opt = el.options[idx];
return (null == opt) ? '' : opt.text;
}
return '';
}

self._ZEN_Component_select_getOptionValue = function(idx) {
var el = this.findElement('control');
if (el && idx >= 0) {
var opt = el.options[idx];
return (null == opt) ? '' : opt.value;
}
return '';
}

self._ZEN_Component_select_getSelectedIndex = function(idx) {
var el = this.findElement('control');
if (el) {
return el.selectedIndex;
}
return -1;
}

self._ZEN_Component_select_setProperty = function(property,value,value2) {
var el = this.findElement('control');
switch(property) {
case 'disabled':
value = (value) ? true : false;
this.disabled = value;
var d = (this.readOnly || this.disabled);
if (el) { el.disabled = d; }
var lbl = this.getLabelElement();
if (lbl) {
if (this.disabled) {
lbl.className = 'zenLabelDisabled';
}
else {
lbl.className = (''==this.labelClass) ? 'zenLabel' : this.labelClass;
}
}
break;
case 'readOnly':
value = (value) ? true : false;
this.readOnly = value;
var d = (this.readOnly || this.disabled);
if (el) { el.disabled = d; }
break;
default:
return this.invokeSuper('setProperty',arguments);
}
return true;
}

self._ZEN_Component_select_ReallyRefreshContents = function() {
	zenInstanceMethod(this,'ReallyRefreshContents','','',arguments);
}
self._ZEN_Component_select__Loader = function() {
	zenLoadClass('_ZEN_Component_listControl');
	_ZEN_Component_select.prototype = zenCreate('_ZEN_Component_listControl',-1);
	var p = _ZEN_Component_select.prototype;
	if (null==p) {return;}
	p.constructor = _ZEN_Component_select;
	p.superClass = ('undefined' == typeof _ZEN_Component_listControl) ? zenMaster._ZEN_Component_listControl.prototype:_ZEN_Component_listControl.prototype;
	p.__ZENcomponent = true;
	p._serverClass = '%ZEN.Component.select';
	p._type = 'select';
	p.serialize = _ZEN_Component_select_serialize;
	p.getSettings = _ZEN_Component_select_getSettings;
	p.ReallyRefreshContents = _ZEN_Component_select_ReallyRefreshContents;
	p.getOptionText = _ZEN_Component_select_getOptionText;
	p.getOptionValue = _ZEN_Component_select_getOptionValue;
	p.getSelectedIndex = _ZEN_Component_select_getSelectedIndex;
	p.setProperty = _ZEN_Component_select_setProperty;
}

self._zenClassIdx['submit'] = '_ZEN_Component_submit';
self._ZEN_Component_submit = function(index,id) {
	if (index>=0) {_ZEN_Component_submit__init(this,index,id);}
}

self._ZEN_Component_submit__init = function(o,index,id) {
	('undefined' == typeof _ZEN_Component_button__init) ?zenMaster._ZEN_Component_button__init(o,index,id):_ZEN_Component_button__init(o,index,id);
	o.action = 'submit';
	o.nextPage = '';
}
function _ZEN_Component_submit_serialize(set,s)
{
	var o = this;s[0]='1004900127';s[1]=o.index;s[2]=o.id;s[3]=o.name;s[4]=set.addObject(o.parent,'parent');s[5]=set.addObject(o.composite,'composite');s[6]=o.action;s[7]=o.align;s[8]=o.aux;s[9]=o.caption;s[10]=o.clientType;s[11]=o.containerStyle;s[12]=o.controlClass;s[13]=o.controlStyle;s[14]=o.dataBinding;s[15]=(o.disabled?1:0);s[16]=(o.dragEnabled?1:0);s[17]=(o.dropEnabled?1:0);s[18]=(o.dynamic?1:0);s[19]=o.enclosingClass;s[20]=o.enclosingStyle;s[21]=o.error;s[22]=o.height;s[23]=(o.hidden?1:0);s[24]=o.hint;s[25]=o.hintClass;s[26]=o.hintStyle;s[27]=(o.invalid?1:0);s[28]=o.invalidMessage;s[29]=o.label;s[30]=o.labelClass;s[31]=o.labelStyle;s[32]=o.nextPage;s[33]=o.onafterdrag;s[34]=o.onbeforedrag;s[35]=o.onblur;s[36]=o.onchange;s[37]=o.onclick;s[38]=o.ondblclick;s[39]=o.ondrag;s[40]=o.ondrop;s[41]=o.onfocus;s[42]=o.onhide;s[43]=o.onkeydown;s[44]=o.onkeypress;s[45]=o.onkeyup;s[46]=o.onmousedown;s[47]=o.onmouseout;s[48]=o.onmouseover;s[49]=o.onmouseup;s[50]=o.onrefresh;s[51]=o.onshow;s[52]=o.onsubmit;s[53]=o.onupdate;s[54]=o.onvalidate;s[55]=o.originalValue;s[56]=o.overlayMode;s[57]=(o.readOnly?1:0);s[58]=o.renderFlag;s[59]=(o.required?1:0);s[60]=o.requiredMessage;s[61]=(o.showLabel?1:0);s[62]=o.slice;s[63]=o.tabIndex;s[64]=o.title;s[65]=o.tuple;s[66]=o.valign;s[67]=('boolean'==typeof o.value?(o.value?1:0):o.value);s[68]=(o.visible?1:0);s[69]=o.width;
}
function _ZEN_Component_submit_getSettings(s)
{
	s['name'] = 'string';
	s['action'] = 'string';
	s['nextPage'] = 'uri';
	this.invokeSuper('getSettings',arguments);
}

self._ZEN_Component_submit_onclickHandler = function() {
var form = this.getForm();
zenASSERT(form,"Submit button is not part of a form",arguments);
if (form) {
if ('' != this.nextPage) {
form.setProperty('nextPage',this.nextPage);
}
zenInvokeCallbackMethod(this.onclick,this,'onclick');
form.submit(this.action);
}
}

self._ZEN_Component_submit_ReallyRefreshContents = function() {
	zenInstanceMethod(this,'ReallyRefreshContents','','',arguments);
}
self._ZEN_Component_submit__Loader = function() {
	zenLoadClass('_ZEN_Component_button');
	_ZEN_Component_submit.prototype = zenCreate('_ZEN_Component_button',-1);
	var p = _ZEN_Component_submit.prototype;
	if (null==p) {return;}
	p.constructor = _ZEN_Component_submit;
	p.superClass = ('undefined' == typeof _ZEN_Component_button) ? zenMaster._ZEN_Component_button.prototype:_ZEN_Component_button.prototype;
	p.__ZENcomponent = true;
	p._serverClass = '%ZEN.Component.submit';
	p._type = 'submit';
	p.serialize = _ZEN_Component_submit_serialize;
	p.getSettings = _ZEN_Component_submit_getSettings;
	p.ReallyRefreshContents = _ZEN_Component_submit_ReallyRefreshContents;
	p.onclickHandler = _ZEN_Component_submit_onclickHandler;
}

self._zenClassIdx['combobox'] = '_ZEN_Component_combobox';
self._ZEN_Component_combobox = function(index,id) {
	if (index>=0) {_ZEN_Component_combobox__init(this,index,id);}
}

self._ZEN_Component_combobox__init = function(o,index,id) {
	('undefined' == typeof _ZEN_Component_abstractComboBox__init) ?zenMaster._ZEN_Component_abstractComboBox__init(o,index,id):_ZEN_Component_abstractComboBox__init(o,index,id);
	o.displayList = '';
	o.options = new Array();
	o.valueList = '';
}
function _ZEN_Component_combobox_serialize(set,s)
{
	var o = this;s[0]='220596446';s[1]=o.index;s[2]=o.id;s[3]=o.name;s[4]=set.addObject(o.parent,'parent');s[5]=set.addObject(o.composite,'composite');s[6]=o.align;s[7]=o.aux;s[8]=o.buttonCaption;s[9]=o.buttonImage;s[10]=o.buttonImageDown;s[11]=o.buttonTitle;s[12]=o.clientType;s[13]=o.comboType;s[14]=o.containerStyle;s[15]=o.controlClass;s[16]=o.controlStyle;s[17]=o.dataBinding;s[18]=o.delay;s[19]=(o.disabled?1:0);s[20]=o.displayList;s[21]=(o.dragEnabled?1:0);s[22]=(o.dropEnabled?1:0);s[23]=o.dropdownHeight;s[24]=o.dropdownWidth;s[25]=(o.dynamic?1:0);s[26]=(o.editable?1:0);s[27]=o.enclosingClass;s[28]=o.enclosingStyle;s[29]=o.error;s[30]=o.height;s[31]=(o.hidden?1:0);s[32]=o.hint;s[33]=o.hintClass;s[34]=o.hintStyle;s[35]=(o.hzScroll?1:0);s[36]=(o.invalid?1:0);s[37]=o.invalidMessage;s[38]=(o.isDropdownVisible?1:0);s[39]=o.label;s[40]=o.labelClass;s[41]=o.labelStyle;s[42]=o.maxlength;s[43]=o.onafterdrag;s[44]=o.onbeforedrag;s[45]=o.onblur;s[46]=o.onchange;s[47]=o.onclick;s[48]=o.ondblclick;s[49]=o.ondrag;s[50]=o.ondrop;s[51]=o.onfocus;s[52]=o.onhide;s[53]=o.onkeydown;s[54]=o.onkeypress;s[55]=o.onkeyup;s[56]=o.onmousedown;s[57]=o.onmouseout;s[58]=o.onmouseover;s[59]=o.onmouseup;s[60]=o.onrefresh;s[61]=o.onshow;s[62]=o.onsubmit;s[63]=o.onupdate;s[64]=o.onvalidate;s[65]=set.serializeList(o,o.options,true,'options');s[66]=o.originalValue;s[67]=o.overlayMode;s[68]=(o.readOnly?1:0);s[69]=o.renderFlag;s[70]=(o.required?1:0);s[71]=o.requiredMessage;s[72]=(o.scrollIntoView?1:0);s[73]=o.selectedIndex;s[74]=(o.showLabel?1:0);s[75]=o.size;s[76]=o.slice;s[77]=o.tabIndex;s[78]=o.text;s[79]=o.title;s[80]=o.tuple;s[81]=(o.unrestricted?1:0);s[82]=o.valign;s[83]=('boolean'==typeof o.value?(o.value?1:0):o.value);s[84]=o.valueList;s[85]=(o.visible?1:0);s[86]=o.width;
}
function _ZEN_Component_combobox_getSettings(s)
{
	s['name'] = 'string';
	s['displayList'] = 'csv';
	s['valueList'] = 'csv';
	this.invokeSuper('getSettings',arguments);
}

self._ZEN_Component_combobox_appendOption = function(value,text,style) {
var option = zenPage.createComponent('option');
if (value != null) option.value = value;
option.text = (text != null) ? text : option.value;
if (style != null) option.style = style;
this.options[this.options.length] = option;
}

self._ZEN_Component_combobox_getOption = function(idx) {
return ('' == this.valueList) ? this.options[idx] : null;
}

self._ZEN_Component_combobox_getOptionCount = function() {
return ('' == this.valueList) ? this.options.length : this.valueList.split(',').length;
}

self._ZEN_Component_combobox_getOptionText = function(idx) {
var text;
if ('' != this.valueList) {
if ('' != this.displayList) {
text = this.displayList.split(',')[idx];
}
else {
text = this.valueList.split(',')[idx];
}
}
else {
text = this.options[idx].text;
}
return (null == text) ? '' : text;
}

self._ZEN_Component_combobox_getOptionValue = function(idx) {
var value;
if ('' != this.valueList) {
value = this.valueList.split(',')[idx];
}
else {
value = this.options[idx].value;
}
return (null == value) ? '' : value;
}

self._ZEN_Component_combobox_removeOption = function(index) {
this.options.splice(index,1);
}

self._ZEN_Component_combobox_renderDropdown = function() {
var div = this.getDropDownDiv();
zenASSERT(div,'Unable to find DropDown element',arguments);
var html = new Array();
html[html.length] = '<table class="comboboxTable" width="100%" border="0" cellpadding="0" cellspacing="0">';
if ('' != this.valueList) {
var values = this.valueList.split(',');
var texts = (''==this.displayList) ? values : this.displayList.split(',');
for (var n = 0; n < values.length; n++) {
var val = values[n];
var text = texts[n];
text = (''==text) ? '&#160;' : text;
html[html.length] = '<tr id="item_'+n+'_'+this.index+'" class="comboboxItem" onmousedown="zenPage.getComponent('+this.index+').itemMouseDown(event,'+n+');" onmouseup="zenPage.getComponent('+this.index+').itemMouseUp(event,'+n+');"><td width="100%"><a href="#">'+text+'<\/a><\/td><\/tr>';
}
}
else {
for (var n = 0; n < this.options.length; n++) {
var option = this.options[n];
var val = option.value;
var text = option.text.toString();
text = ('' == text) ? '&#160;' : text;
html[html.length] = '<tr id="item_'+n+'_'+this.index+'" class="comboboxItem" onmousedown="zenPage.getComponent('+this.index+').itemMouseDown(event,'+n+');" onmouseup="zenPage.getComponent('+this.index+').itemMouseUp(event,'+n+');"><td style="'+option.style+'" width="100%"><a href="#">'+text+'<\/a><\/td><\/tr>';
}
}
html[html.length] = '<\/table>';
div.innerHTML = html.join("");
zenPage.lastModalIndex = this.index;
var input = this.findElement('input');
zenASSERT(input,'Unable to find input element',arguments);
input.focus();
this.isDropdownVisible = true;
this.findSelectedItem();
}

self._ZEN_Component_combobox_resetOptions = function() {
this.valueList = '';
this.displayList = '';
this.options.length = 0;
this.selectedIndex = -1;
this.text = '';
this.setValue('');
}

self._ZEN_Component_combobox_setOption = function(index,value,text,style) {
var option = this.options[index];
if (null != option) {
if (value != null) option.value = value;
option.text = (text != null) ? text : option.value;
if (style != null) option.style = style;
}
}

self._ZEN_Component_combobox_setProperty = function(property,value,value2) {
switch(property) {
case 'valueList':
if (this.valueList != value) {
this.valueList = value;
this.setValue(this.getValue());
}
break;
case 'displayList':
if (this.displayList != value) {
this.displayList = value;
this.setValue(this.getValue());
}
break;
default:
return this.invokeSuper('setProperty',arguments);
}
return true;
}

self._ZEN_Component_combobox_ReallyRefreshContents = function() {
	zenInstanceMethod(this,'ReallyRefreshContents','','',arguments);
}
self._ZEN_Component_combobox__Loader = function() {
	zenLoadClass('_ZEN_Component_abstractComboBox');
	_ZEN_Component_combobox.prototype = zenCreate('_ZEN_Component_abstractComboBox',-1);
	var p = _ZEN_Component_combobox.prototype;
	if (null==p) {return;}
	p.constructor = _ZEN_Component_combobox;
	p.superClass = ('undefined' == typeof _ZEN_Component_abstractComboBox) ? zenMaster._ZEN_Component_abstractComboBox.prototype:_ZEN_Component_abstractComboBox.prototype;
	p.__ZENcomponent = true;
	p._serverClass = '%ZEN.Component.combobox';
	p._type = 'combobox';
	p.serialize = _ZEN_Component_combobox_serialize;
	p.getSettings = _ZEN_Component_combobox_getSettings;
	p.ReallyRefreshContents = _ZEN_Component_combobox_ReallyRefreshContents;
	p.appendOption = _ZEN_Component_combobox_appendOption;
	p.getOption = _ZEN_Component_combobox_getOption;
	p.getOptionCount = _ZEN_Component_combobox_getOptionCount;
	p.getOptionText = _ZEN_Component_combobox_getOptionText;
	p.getOptionValue = _ZEN_Component_combobox_getOptionValue;
	p.removeOption = _ZEN_Component_combobox_removeOption;
	p.renderDropdown = _ZEN_Component_combobox_renderDropdown;
	p.resetOptions = _ZEN_Component_combobox_resetOptions;
	p.setOption = _ZEN_Component_combobox_setOption;
	p.setProperty = _ZEN_Component_combobox_setProperty;
}

self._zenClassIdx['dataCombo'] = '_ZEN_Component_dataCombo';
self._ZEN_Component_dataCombo = function(index,id) {
	if (index>=0) {_ZEN_Component_dataCombo__init(this,index,id);}
}

self._ZEN_Component_dataCombo__init = function(o,index,id) {
	('undefined' == typeof _ZEN_Component_abstractComboBox__init) ?zenMaster._ZEN_Component_abstractComboBox__init(o,index,id):_ZEN_Component_abstractComboBox__init(o,index,id);
	o.OnCreateResultSet = '';
	o.OnExecuteResultSet = '';
	o.auxColumn = '0';
	o.cached = false;
	o.choiceColumn = '2';
	o.clearOnLoad = false;
	o.columnHeaders = '';
	o.columnName = '';
	o.contentType = 'text';
	o.countRows = '0';
	o.dataLoaded = false;
	o.displayColumns = '';
	o.groupByClause = '';
	o.itemCount = '0';
	o.loadingMessage = '';
	o.maxRows = '100';
	o.modelClass = '';
	o.multiColumn = true;
	o.onshowDropdown = '';
	o.orderByClause = '';
	o.parameters = new Array();
	o.queryClass = '';
	o.queryName = '';
	o.searchKeyLen = '0';
	o.showEmpty = true;
	o.showQuery = false;
	o.sql = ''; // encrypted
	o.sqlLookup = ''; // encrypted
	o.tableName = '';
	o.valueColumn = '1';
	o.whereClause = '';
}
function _ZEN_Component_dataCombo_serialize(set,s)
{
	var o = this;s[0]='3222292127';s[1]=o.index;s[2]=o.id;s[3]=o.name;s[4]=set.addObject(o.parent,'parent');s[5]=set.addObject(o.composite,'composite');s[6]=o.OnCreateResultSet;s[7]=o.OnExecuteResultSet;s[8]=o.align;s[9]=o.aux;s[10]=o.auxColumn;s[11]=o.buttonCaption;s[12]=o.buttonImage;s[13]=o.buttonImageDown;s[14]=o.buttonTitle;s[15]=(o.cached?1:0);s[16]=o.choiceColumn;s[17]=(o.clearOnLoad?1:0);s[18]=o.clientType;s[19]=o.columnHeaders;s[20]=o.columnName;s[21]=o.comboType;s[22]=o.containerStyle;s[23]=o.contentType;s[24]=o.controlClass;s[25]=o.controlStyle;s[26]=o.countRows;s[27]=o.dataBinding;s[28]=(o.dataLoaded?1:0);s[29]=o.delay;s[30]=(o.disabled?1:0);s[31]=o.displayColumns;s[32]=(o.dragEnabled?1:0);s[33]=(o.dropEnabled?1:0);s[34]=o.dropdownHeight;s[35]=o.dropdownWidth;s[36]=(o.dynamic?1:0);s[37]=(o.editable?1:0);s[38]=o.enclosingClass;s[39]=o.enclosingStyle;s[40]=o.error;s[41]=o.groupByClause;s[42]=o.height;s[43]=(o.hidden?1:0);s[44]=o.hint;s[45]=o.hintClass;s[46]=o.hintStyle;s[47]=(o.hzScroll?1:0);s[48]=(o.invalid?1:0);s[49]=o.invalidMessage;s[50]=(o.isDropdownVisible?1:0);s[51]=o.itemCount;s[52]=o.label;s[53]=o.labelClass;s[54]=o.labelStyle;s[55]=o.loadingMessage;s[56]=o.maxRows;s[57]=o.maxlength;s[58]=o.modelClass;s[59]=(o.multiColumn?1:0);s[60]=o.onafterdrag;s[61]=o.onbeforedrag;s[62]=o.onblur;s[63]=o.onchange;s[64]=o.onclick;s[65]=o.ondblclick;s[66]=o.ondrag;s[67]=o.ondrop;s[68]=o.onfocus;s[69]=o.onhide;s[70]=o.onkeydown;s[71]=o.onkeypress;s[72]=o.onkeyup;s[73]=o.onmousedown;s[74]=o.onmouseout;s[75]=o.onmouseover;s[76]=o.onmouseup;s[77]=o.onrefresh;s[78]=o.onshow;s[79]=o.onshowDropdown;s[80]=o.onsubmit;s[81]=o.onupdate;s[82]=o.onvalidate;s[83]=o.orderByClause;s[84]=o.originalValue;s[85]=o.overlayMode;s[86]=set.serializeList(o,o.parameters,true,'parameters');s[87]=o.queryClass;s[88]=o.queryName;s[89]=(o.readOnly?1:0);s[90]=o.renderFlag;s[91]=(o.required?1:0);s[92]=o.requiredMessage;s[93]=(o.scrollIntoView?1:0);s[94]=o.searchKeyLen;s[95]=o.selectedIndex;s[96]=(o.showEmpty?1:0);s[97]=(o.showLabel?1:0);s[98]=(o.showQuery?1:0);s[99]=o.size;s[100]=o.slice;s[101]=o.sql;s[102]=o.sqlLookup;s[103]=o.tabIndex;s[104]=o.tableName;s[105]=o.text;s[106]=o.title;s[107]=o.tuple;s[108]=(o.unrestricted?1:0);s[109]=o.valign;s[110]=('boolean'==typeof o.value?(o.value?1:0):o.value);s[111]=o.valueColumn;s[112]=(o.visible?1:0);s[113]=o.whereClause;s[114]=o.width;
}
function _ZEN_Component_dataCombo_getSettings(s)
{
	s['name'] = 'string';
	s['cached'] = 'boolean';
	s['clearOnLoad'] = 'boolean';
	s['columnHeaders'] = 'csv';
	s['columnName'] = 'string';
	s['contentType'] = 'enum:text,html';
	s['countRows'] = 'integer';
	s['groupByClause'] = 'string';
	s['loadingMessage'] = 'caption';
	s['maxRows'] = 'integer';
	s['multiColumn'] = 'boolean';
	s['onshowDropdown'] = 'eventHandler';
	s['orderByClause'] = 'string';
	s['parameters'] = 'string';
	s['queryClass'] = 'className';
	s['queryName'] = 'classMember:QUERY';
	s['searchKeyLen'] = 'integer';
	s['showEmpty'] = 'boolean';
	s['showQuery'] = 'boolean';
	s['sql'] = 'sql';
	s['tableName'] = 'string';
	s['whereClause'] = 'string';
	this.invokeSuper('getSettings',arguments);
}

self._ZEN_Component_dataCombo_clearCache = function() {
this.dataLoaded = false;
delete this._hasCache;
var cache = this.getCacheDiv();
if (cache) {
cache.innerHTML = '';
}
}

self._ZEN_Component_dataCombo_executeQuery = function(param) {
this.loadDropdown(param,false);
}

self._ZEN_Component_dataCombo_findDisplayValue = function(value) {
var text = this.invokeSuper('findDisplayValue',arguments);
if (null == text && ('' != this.sqlLookup)) {
var form = this.getForm();
if (form) {
var controller = form.getController();
if (controller) {
this.modelClass = controller.getProperty('modelClass');
}
}
text = this.LookupDisplayValue(value);
}
return text;
}

self._ZEN_Component_dataCombo_getAuxValue = function() {
if (this.selectedIndex < 0) return '';
var value = this.getOptionAux(this.selectedIndex);
return (null==value) ? '' : value;
}

self._ZEN_Component_dataCombo_getOptionAux = function(idx) {
var value = '';
var tr = self.document.getElementById('item_' + idx + '_' + this.index);
if (tr) {
value = tr.getAttribute('zenAux');
}
return value;
}

self._ZEN_Component_dataCombo_getOptionCount = function() {
return (this.itemCount!=null) ? this.itemCount : 0;
}

self._ZEN_Component_dataCombo_getOptionText = function(idx) {
var value = '';
var tr = self.document.getElementById('item_' + idx + '_' + this.index);
if (tr) {
value = tr.getAttribute('zenText');
}
return value;
}

self._ZEN_Component_dataCombo_getOptionValue = function(idx) {
var value = '';
var tr = self.document.getElementById('item_' + idx + '_' + this.index);
if (tr) {
value = tr.getAttribute('zenValue');
}
return value;
}

self._ZEN_Component_dataCombo_loadDropdown = function(value,show) {
value = (null == value) ? '' : value;
if (show) {
ret = zenInvokeCallbackMethod(this.onshowDropdown,this,'onshowDropdown');
if (null != ret) {
value = ret;
}
}
if (this.searchKeyLen >= 0) {
value = value.substr(0,this.searchKeyLen);
}
var cache = this.getCacheDiv();
if (this.cached && cache.innerHTML != '') {
this._hasCache = true;
if (null == this.lastValue && value == '') {
this.lastValue = '';
}
}
else this._hasCache = false;
if (cache) {
if ((this._hasCache) && this.dataLoaded && (this.lastValue == value)) {
if (show) {
var div = this.getDropDownDiv();
div.innerHTML = cache.innerHTML;
cache.innerHTML = '';
delete this._hasCache;
var input = this.findElement('input');
if (input) {
input.focus();
}
this.isDropdownVisible = true;
this.findSelectedItem();
}
return;
}
else {
cache.innerHTML = '';
delete this._hasCache;
}
}
this.dataLoaded = false;
this.lastValue = value;
if (show) {
zenPage.lastModalIndex = this.index;
var div = this.getDropDownDiv();
this.startProgressBar(div);
div.innerHTML = '<span class="comboboxLoading">' + this.loadingMessage + '</span>';
}
this.modelClass = '';
var form = this.getForm();
if (form) {
var controller = form.getController();
if (controller) {
this.modelClass = controller.getProperty('modelClass');
}
}
this.LoadDropDownContents(value,show?0:1);
}

self._ZEN_Component_dataCombo_renderDropdown = function() {
var input = this.findElement('input');
zenASSERT(input,'Unable to find input element',arguments);
var value = input.value;
this.loadDropdown(value,true);
}

self._ZEN_Component_dataCombo_setProperty = function(property,value,value2) {
switch(property) {
case 'itemCount':
break;
case 'parameters':
if ('' != value) {
value = value - 1;
if (this.parameters[value]) {
if (this.parameters[value].value != value2) {
this.parameters[value].value = value2;
this.clearCache();
}
}
}
break;
default:
return this.invokeSuper('setProperty',arguments);
break;
}
return true;
}

self._ZEN_Component_dataCombo_LoadDropDownContents = function(searchParm,cached) {
	zenInstanceMethod(this,'LoadDropDownContents','L,B','',arguments);
}

self._ZEN_Component_dataCombo_LookupDisplayValue = function(value) {
	return zenInstanceMethod(this,'LookupDisplayValue','L','VARCHAR',arguments);
}

self._ZEN_Component_dataCombo_ReallyRefreshContents = function() {
	zenInstanceMethod(this,'ReallyRefreshContents','','',arguments);
}
self._ZEN_Component_dataCombo__Loader = function() {
	zenLoadClass('_ZEN_Component_abstractComboBox');
	_ZEN_Component_dataCombo.prototype = zenCreate('_ZEN_Component_abstractComboBox',-1);
	var p = _ZEN_Component_dataCombo.prototype;
	if (null==p) {return;}
	p.constructor = _ZEN_Component_dataCombo;
	p.superClass = ('undefined' == typeof _ZEN_Component_abstractComboBox) ? zenMaster._ZEN_Component_abstractComboBox.prototype:_ZEN_Component_abstractComboBox.prototype;
	p.__ZENcomponent = true;
	p._serverClass = '%ZEN.Component.dataCombo';
	p._type = 'dataCombo';
	p.serialize = _ZEN_Component_dataCombo_serialize;
	p.getSettings = _ZEN_Component_dataCombo_getSettings;
	p.LoadDropDownContents = _ZEN_Component_dataCombo_LoadDropDownContents;
	p.LookupDisplayValue = _ZEN_Component_dataCombo_LookupDisplayValue;
	p.ReallyRefreshContents = _ZEN_Component_dataCombo_ReallyRefreshContents;
	p.clearCache = _ZEN_Component_dataCombo_clearCache;
	p.executeQuery = _ZEN_Component_dataCombo_executeQuery;
	p.findDisplayValue = _ZEN_Component_dataCombo_findDisplayValue;
	p.getAuxValue = _ZEN_Component_dataCombo_getAuxValue;
	p.getOptionAux = _ZEN_Component_dataCombo_getOptionAux;
	p.getOptionCount = _ZEN_Component_dataCombo_getOptionCount;
	p.getOptionText = _ZEN_Component_dataCombo_getOptionText;
	p.getOptionValue = _ZEN_Component_dataCombo_getOptionValue;
	p.loadDropdown = _ZEN_Component_dataCombo_loadDropdown;
	p.renderDropdown = _ZEN_Component_dataCombo_renderDropdown;
	p.setProperty = _ZEN_Component_dataCombo_setProperty;
}

self._zenClassIdx['dynaForm'] = '_ZEN_Component_dynaForm';
self._ZEN_Component_dynaForm = function(index,id) {
	if (index>=0) {_ZEN_Component_dynaForm__init(this,index,id);}
}

self._ZEN_Component_dynaForm__init = function(o,index,id) {
	('undefined' == typeof _ZEN_Component_form__init) ?zenMaster._ZEN_Component_form__init(o,index,id):_ZEN_Component_form__init(o,index,id);
	o.OnGetPropertyInfo = '';
	o.controller = '';
	o.controllerId = '';
	o.defaultGroupId = '';
	o.injectControls = 'after';
	o.onnotifyView = '';
}
function _ZEN_Component_dynaForm_serialize(set,s)
{
	var o = this;s[0]='1627755997';s[1]=o.index;s[2]=o.id;s[3]=o.name;s[4]=set.addObject(o.parent,'parent');s[5]=set.addObject(o.composite,'composite');s[6]=o.OnGetPropertyInfo;s[7]=o.OnLoadForm;s[8]=o.OnSubmitForm;s[9]=o.action;s[10]=o.align;s[11]=(o.autoValidate?1:0);s[12]=o.aux;s[13]=o.cellAlign;s[14]=o.cellSize;s[15]=o.cellStyle;s[16]=o.cellVAlign;s[17]=set.serializeList(o,o.children,true,'children');s[18]=o.containerStyle;s[19]=o.controller;s[20]=o.controllerId;s[21]=o.defaultGroupId;s[22]=(o.disabled?1:0);s[23]=(o.dragEnabled?1:0);s[24]=(o.dropEnabled?1:0);s[25]=(o.dynamic?1:0);s[26]=o.enclosingClass;s[27]=o.enclosingStyle;s[28]=o.enctype;s[29]=o.error;s[30]=o.groupClass;s[31]=o.groupStyle;s[32]=o.height;s[33]=(o.hidden?1:0);s[34]=o.hint;s[35]=o.hintClass;s[36]=o.hintStyle;s[37]=o.injectControls;s[38]=o.invalidMessage;s[39]=o.key;s[40]=o.label;s[41]=o.labelClass;s[42]=o.labelPosition;s[43]=o.labelStyle;s[44]=o.layout;s[45]=o.messageTargetId;s[46]=o.method;s[47]=o.nextPage;s[48]=o.noModelMessage;s[49]=o.onafterdrag;s[50]=o.onbeforedrag;s[51]=o.onchange;s[52]=o.onclick;s[53]=o.ondefault;s[54]=o.ondrag;s[55]=o.ondrop;s[56]=o.onhide;s[57]=o.oninvalid;s[58]=o.onnotifyView;s[59]=o.onrefresh;s[60]=o.onreset;s[61]=o.onshow;s[62]=o.onsubmit;s[63]=o.onupdate;s[64]=o.onvalidate;s[65]=o.overlayMode;s[66]=o.readOnlyMessage;s[67]=o.renderFlag;s[68]=(o.showLabel?1:0);s[69]=o.slice;s[70]=o.target;s[71]=o.title;s[72]=o.tuple;s[73]=o.valign;s[74]=(o.visible?1:0);s[75]=o.width;
}
function _ZEN_Component_dynaForm_getSettings(s)
{
	s['name'] = 'string';
	s['controllerId'] = 'id';
	s['defaultGroupId'] = 'id';
	s['injectControls'] = 'enum:before,after';
	s['onnotifyView'] = 'eventHandler';
	this.invokeSuper('getSettings',arguments);
}

self._ZEN_Component_dynaForm_connectToController = function() {
this.controller = '';
if (!zenIsMissing(this.controllerId)) {
if (this.composite) {
this.controller = this.composite.getChildById(this.controllerId);
}
else {
this.controller = zenPage.getComponentById(this.controllerId);
}
if (this.controller && this.controller.register) {
this.controller.register(this);
}
else {
alert('ZEN: Unable to connect component to dataController (' + this.id + ').');
}
if (this.controller) {
if ('' == this.controller.modelError) {
this.controller.loadModel(false);
}
}
}
}

self._ZEN_Component_dynaForm_disconnectFromController = function() {
if (this.controller && this.controller.unregister) {
this.controller.unregister(this);
}
this.controller = '';
}

self._ZEN_Component_dynaForm_getController = function() {
return (null == this.controller || '' == this.controller) ? null : this.controller;
}

self._ZEN_Component_dynaForm_notifyView = function(reason,data1,data2,data3) {
var ret = true;
if (this.onnotifyView) {
ret = zenInvokeCallbackMethod(this.onnotifyView,this,'onnotifyEvent','reason',reason,'data1',data1,'data2',data2,'data3',data3);
}
if (ret && this.notifyViewHandler) {
this.notifyViewHandler(reason,data1,data2,data3);
}
}

self._ZEN_Component_dynaForm_notifyViewHandler = function(reason,data1,data2,data3) {
switch(reason) {
case 'modelChange':
if (null != this.controller) {
var ok = this.RecreateForm(this.controller);
}
break;
default:
return this.invokeSuper('notifyViewHandler',arguments);
}
return true;
}

self._ZEN_Component_dynaForm_onRefreshContents = function() {
this.bindValues(null,true);
}

self._ZEN_Component_dynaForm_sendEventToController = function(reason,data1,data2,data3) {
var controller = this.getController();
if (controller) {
controller.notifyController(this,reason,data1,data2,data3);
}
}

self._ZEN_Component_dynaForm_setControllerId = function(id) {
this.disconnectFromController();
this.controllerId = id;
this.connectToController();
}

self._ZEN_Component_dynaForm_setProperty = function(property,value,value2) {
switch(property) {
case 'defaultGroupId':
form[property] = value;
break;
default:
return this.invokeSuper('setProperty',arguments);
}
return true;
}

self._ZEN_Component_dynaForm_ReallyRefreshContents = function() {
	zenInstanceMethod(this,'ReallyRefreshContents','','',arguments);
}

self._ZEN_Component_dynaForm_RecreateForm = function(pController) {
	return zenInstanceMethod(this,'RecreateForm','O','BOOLEAN',arguments);
}

self._ZEN_Component_dynaForm_ReloadForm = function(pFormIndex,pOnLoadForm,pKey) {
	zenInstanceMethod(this,'ReloadForm','L,L,L','',arguments);
}
self._ZEN_Component_dynaForm__Loader = function() {
	zenLoadClass('_ZEN_Component_form');
	_ZEN_Component_dynaForm.prototype = zenCreate('_ZEN_Component_form',-1);
	var p = _ZEN_Component_dynaForm.prototype;
	if (null==p) {return;}
	p.constructor = _ZEN_Component_dynaForm;
	p.superClass = ('undefined' == typeof _ZEN_Component_form) ? zenMaster._ZEN_Component_form.prototype:_ZEN_Component_form.prototype;
	p.__ZENcomponent = true;
	p._serverClass = '%ZEN.Component.dynaForm';
	p._type = 'dynaForm';
	p.serialize = _ZEN_Component_dynaForm_serialize;
	p.getSettings = _ZEN_Component_dynaForm_getSettings;
	p.ReallyRefreshContents = _ZEN_Component_dynaForm_ReallyRefreshContents;
	p.RecreateForm = _ZEN_Component_dynaForm_RecreateForm;
	p.ReloadForm = _ZEN_Component_dynaForm_ReloadForm;
	p.connectToController = _ZEN_Component_dynaForm_connectToController;
	p.disconnectFromController = _ZEN_Component_dynaForm_disconnectFromController;
	p.getController = _ZEN_Component_dynaForm_getController;
	p.notifyView = _ZEN_Component_dynaForm_notifyView;
	p.notifyViewHandler = _ZEN_Component_dynaForm_notifyViewHandler;
	p.onRefreshContents = _ZEN_Component_dynaForm_onRefreshContents;
	p.sendEventToController = _ZEN_Component_dynaForm_sendEventToController;
	p.setControllerId = _ZEN_Component_dynaForm_setControllerId;
	p.setProperty = _ZEN_Component_dynaForm_setProperty;
}
/* EOF */
