﻿function WebUIGadget(argID,argParentGadget,argWrapperID,argServerID,argFieldName,argInstanceName)
{
this.ID=argID;this.InstanceName=argInstanceName;this.ParentGadget=argParentGadget;this.WrapperID=argWrapperID;this.ServerID=argServerID;this.FieldName=argFieldName;this.ChildGadgets=new Array();this.Fields=new Array();
this.RootParentGadget=function(){if(this.ParentGadget==null)return this;else return this.ParentGadget.RootParentGadget();};
this.Hide=function(){if(this.WrapperID!=null&&document.getElementById(this.WrapperID)!=null) document.getElementById(this.WrapperID).style.display='none';for(var i in this.ChildGadgets)this.ChildGadgets[i].Hide();};
this.Show=function(){if(this.WrapperID!=null&&document.getElementById(this.WrapperID)!=null) document.getElementById(this.WrapperID).style.display='';};
this.RegisterChild=function(newChild){if(this.ChildGadgets==null)this.ChildGadgets=new Array();var found=false;var i=0;while(i<this.ChildGadgets.length&&!found){found=(newChild.ServerID==this.ChildGadgets[i].ServerID);i++;}if(found)this.ChildGadgets[i-1]=newChild;else this.ChildGadgets.push(newChild);};
this.UnRegisterChild=function(oldChildID){var i=0;var found=false;while(i<this.ChildGadgets.length&&!found){found=(this.ChildGadgets[i].ID==oldChildID);i++;}if (i-1<this.ChildGadgets.length) this.ChildGadgets.splice(i-1,1);};
this.Remove=function(){if(this.ParentGadget!=null&&this.ParentGadget.UnRegisterChild!=null) this.ParentGadget.UnRegisterChild(this.ID);if(this.ParentGadget!=null&&this.ParentGadget.UnRegisterItem!=null) this.ParentGadget.UnRegisterItem(this.ID);var myNode=document.getElementById(this.WrapperID);myNode.parentNode.removeChild(myNode);};
this.AJAXCall=function(strMethod,strArgs,strPopupMessage,block){if(block==null)block=false;var AJAXArg=GetProfileID()+'|'+this.ServerID+'|'+strMethod+'|'+strArgs;submitUpdate(AJAXArg,'',strPopupMessage,block);};
this.AddToCart=function(intQty,intItemID,bolWarnIfNoQuant){if(bolWarnIfNoQuant==null) bolWarnIfNoQuant=false;if(intQty<=0&&bolWarnIfNoQuant) alert('Please enter a quantity to add to your shopping cart');else this.AJAXCall('addToCart',intQty+'|'+intItemID,'',true);};
this.Refresh=function(newID){this.AJAXCall('refresh',newID);for(var i=0;i<this.ChildGadgets.length;i++){this.ChildGadgets[i].Hide();}};
this.AddField=function(newField){var found=false;if(this.Fields==null){this.Fields=new Array();}else{for(var i=0;i<this.Fields.length;i++){if(this.Fields[i].ID==newField.ID){this.Fields[i]=newField;found=true;}}}if(!found){this.Fields.push(newField);}};
this.FindFieldById=function(fieldID){var field=null;if(this.Fields!=null){var i=0;while(field==null&&i<this.Fields.length){if(this.Fields[i].ID==fieldID)field=this.Fields[i];i++;}}return field;};
this.FindFieldByName=function(fieldName){var field=null;if(this.Fields!=null){var i=0;while(field==null&&i<this.Fields.length){if(this.Fields[i].FieldName==fieldName) field=this.Fields[i];i++;}}return field;};
this.ValidateFields=function(){var valid=true;if(this.Fields!=null){for(var i=0;i<this.Fields.length;i++){valid=this.Fields[i].Validate(false)&&valid;}}return valid;};
this.ValidateChildGadgets=function(){var valid=true;for(var i=0;i<this.ChildGadgets.length;i++){if(this.ChildGadgets[i].Validate!=null)valid=(this.ChildGadgets[i].Validate())&&valid;}return valid;};
this.Validate=function(){var valid=true;valid=this.ValidateFields();valid=this.ValidateChildGadgets()&&valid;if(this.SaveButtons!=null){for(var i=0;i<this.SaveButtons.length;i++)ButtonEnable(this.SaveButtons[i],valid);}return valid;};
this.AddSaveButton=function(newButton){if(this.SaveButtons==null) this.SaveButtons=new Array(); if(newButton!=null) this.SaveButtons.push(newButton);};
this.Resize=function(newWidth){if(document.getElementById(this.WrapperID)!=null){document.getElementById(this.WrapperID).style.width = newWidth;}};
}
function EditorGadget(argID,argParentGadget,argWrapperID,argViewPanelID,argEditPanelID,argEditLink,argViewLink,argServerID,argDeleteMessage,argUseParentDelete,argFieldName,argInstanceName)
{
this.Base=WebUIGadget;
this.Base(argID,argParentGadget,argWrapperID,argServerID,argFieldName,argInstanceName);
this.ViewPanelID=argViewPanelID;this.EditPanelID=argEditPanelID;this.EditLink=argEditLink;this.ViewLink=argViewLink;this.DeleteMessage=argDeleteMessage;this.UseParentDelete=argUseParentDelete;
this.ShowEdit=function(){this.Show();document.getElementById(this.WrapperID).className+=' Selected';if(document.getElementById(this.ViewPanelID)!=null)document.getElementById(this.ViewPanelID).style.display='none';if(document.getElementById(this.EditPanelID)!=null)document.getElementById(this.EditPanelID).style.display='';for(var i in this.ChildGadgets)this.ChildGadgets[i].Show();};
this.Edit=function(){if(this.EditLink!=null){document.getElementById('form1').action=this.EditLink;document.getElementById('form1').submit();}else{if(this.ParentGadget!=null&&this.ParentGadget.EditItem!=null)this.ParentGadget.EditItem(this.ID);else this.ShowEdit();}};
this.ShowView=function(){this.Show();if(this.ViewLink!=null){document.getElementById('form1').action=this.ViewLink;document.getElementById('form1').submit();}else{var wrapper=document.getElementById(this.WrapperID);if(wrapper!=null){var parts=wrapper.className.split('Selected');if(parts.length>1){wrapper.className=parts[0];if(parts[1]!=null)wrapper.className+=parts[1];}}if(document.getElementById(this.ViewPanelID)!=null)document.getElementById(this.ViewPanelID).style.display='';if(document.getElementById(this.EditPanelID)!=null)document.getElementById(this.EditPanelID).style.display='none';for(var i in this.ChildGadgets)this.ChildGadgets[i].Hide();}};
this.Save=function(message){this.AJAXCall('update',true,message,true);};
this.Cancel=function(){var toggleView=(this.ParentGadget!=null||this.ViewLink==null);if(this.ParentGadget!=null&&this.ParentGadget.EditItem!=null)this.ParentGadget.EditItem(0);this.AJAXCall('cancelUpdate','','',true);if(toggleView)this.ShowView();};
this.Delete=function(){if(confirm(this.DeleteMessage)){var deleteArg=GetProfileID()+'|';if(this.UseParentDelete)deleteArg+=this.ParentGadget.ServerID; else deleteArg+=this.ServerID;deleteArg+='|delete';submitUpdate(deleteArg,'','',true);}};
this.Choose=function(){this.AJAXCall('Select');};
this.ComboBoxChange=function(fieldName,selectorCtrl,textCtrl,toggleVisible,lblCtrl){if(selectorCtrl.options[selectorCtrl.selectedIndex].getAttribute('iscat')=='True'&&selectorCtrl.options.length>selectorCtrl.selectedIndex+1&&selectorCtrl.options[selectorCtrl.selectedIndex+1].getAttribute('iscat')!='True')selectorCtrl.selectedIndex+=1;var selectedVal=selectorCtrl.options[selectorCtrl.selectedIndex].value;if(selectedVal==null||selectedVal==''){textCtrl.value='';if(toggleVisible){var selText=selectorCtrl.options[selectorCtrl.selectedIndex].text;if(selText.length>3&&selText.match('\\.\\.\\.$')=='...')selText=selText.substring(0,selText.length-4);textCtrl.style.display='inline-block';if(lblCtrl!=null){lblCtrl.style.display='inline-block';}}this.FieldChange(fieldName);}else{textCtrl.value=selectedVal;if(toggleVisible){textCtrl.style.display='none';if(lblCtrl!=null)lblCtrl.style.display='none';}this.FieldChange(fieldName);}};
this.FieldChange=function(fieldName, block){if(block == null)block = false;var field=this.FindFieldByName(fieldName);if(field!=null){var fieldValue=field.FieldValue();if(field.Validate(true))this.DoFieldChange(fieldName,fieldValue,block);}if(this.RootParentGadget().Validate!=null)this.RootParentGadget().Validate();};
this.DoFieldChange=function(fieldName,fieldValue,block){this.AJAXCall('UpdateField',fieldName+'|'+fieldValue,null,block);};
}
function DataRepeaterGadget(argID,argParentGadget,argWrapperID,argServerID,argDeleteMessage,argSortField,argFilterField,argFilterOp,argFilterVal1,argFilterVal2,argDeleteButtonID,argRedirect,argHideButtonID,argHideSectionID,argFieldName,argInstanceName)
{
this.Base=WebUIGadget;
this.Base(argID,argParentGadget,argWrapperID,argServerID,argFieldName,argInstanceName);
this.DeleteMessage=argDeleteMessage;this.ItemGadgets=new Array();this.SortField=argSortField;this.FilterField=argFilterField;this.FilterOperator=argFilterOp;this.FilterValue=argFilterVal1;this.FilterValue2=argFilterVal2;this.DeleteButtonID=argDeleteButtonID;this.Redirect=argRedirect;this.HideButtonID=argHideButtonID;this.HideSectionID=argHideSectionID;
this.RegisterItem=function(newItem){this.ItemGadgets.push(newItem);};
this.UnRegisterItem=function(oldChildID){var i=0;var found=false;while(i<this.ItemGadgets.length&&!found){found=(this.ItemGadgets[i].ID==oldChildID);i++;}if(i-1<this.ItemGadgets.length)this.ItemGadgets.splice(i-1,1);};
this.EditItem=function(editID){for(var i=0;i<this.ItemGadgets.length;i++){if(this.ItemGadgets[i].ID!=editID){if(this.ItemGadgets[i].ShowView!=null)this.ItemGadgets[i].ShowView();}else{if(this.ItemGadgets[i].ShowEdit!=null)this.ItemGadgets[i].ShowEdit();}}this.AJAXCall('edit',editID,null);};
this.Select=function(selectedID){this.AJAXCall('UpdateField','SelectedID|'+selectedID,null);if(this.DeleteButtonID!=null){var delBtn=document.getElementById(this.DeleteButtonID);if(delBtn!=null){delBtn.disabled=false;if(delBtn.src!=null&&delBtn.src.substring(delBtn.src.length,delBtn.src.length-13).toLowerCase()=='_disabled.gif')delBtn.src=delBtn.src.substring(0,delBtn.src.length-13)+'.gif';}}};
this.Delete=function(){if(this.FooterItem!=null&&this.FooterItem.Delete!=null)this.FooterItem.Delete();this.Select(0);};
this.Save=function(){if(this.FooterItem!=null)this.FooterItem.Save();};
this.Validate=function(){var valid=true;if(this.FooterItem!=null&&this.FooterItem.Validate!=null){valid=this.FooterItem.Validate();}else{if(this.ItemGadgets!=null){for(var i=0;i<this.ItemGadgets.length;i++){if(this.ItemGadgets[i].Validate!=null)valid=(this.ItemGadgets[i].Validate())&&valid;}}}valid=this.ValidateChildGadgets()&&valid;if(this.SaveButtons!=null){for(var i=0;i<this.SaveButtons.length;i++){ButtonEnable(this.SaveButtons[i],valid);}}return valid;};
this.Filter=function(){if((this.FilterOperator!=null)&&(this.FilterField!=null)){this.AJAXCall('filter',this.FilterField+'|'+this.FilterOperator+'|'+this.FilterValue+'|'+this.FilterValue2,null);}else{var errMsg;if(this.FilterField!=null)errMsg='Please select an operator.';else if(this.FilterOperator!=null)errMsg='Please select a field.';else errMsg='Please select and operator and a field.';alert(errMsg);}};
this.UnFilter=function(){this.FilterField=null;this.FilterOperator=null;this.FilterValue=null;this.FilterValue2=null;this.AJAXCall('unfilter');};
this.Sort=function(){this.AJAXCall('sort',this.SortField);};
this.Page=function(pageno){this.AJAXCall('page',pageno);};
this.ToggleHideSection=function(){var hideSection = document.getElementById(this.HideSectionID);var hideButton = document.getElementById(this.HideButtonID);if(hideButton.value=='Hide'){hideSection.style.display='none';hideButton.value='Show';hideButton.innerHTML='Show';}else{hideSection.style.display='';hideButton.value='Hide';hideButton.innerHTML='Hide';}this.AJAXCall('toggleSectionHidden');};
this.FilterValueChange=function(ctrl){this.FilterValue=ctrl.value;};
}
function Field(argID,argName,argWrapperID,argRequired,argControl,argValidateExpression,argTypeName,argDisplayName,argErrorButton,argErrorSpan)
{
this.ID=argID;this.FieldName=argName;this.WrapperID=argWrapperID;this.Required=argRequired;this.Control=argControl;this.ValidateExpression=argValidateExpression;this.DataType=argTypeName;this.DisplayName=argDisplayName;this.ErrorButton=argErrorButton;this.ErrorSpan=argErrorSpan;
this.Validate=function(suppressFeedback){var valid=true;this.ClearErrors();if(this.ValidationFunctions!=null){var validateFunction;for(var i=0;i<this.ValidationFunctions.length;i++){validateFunction=this.ValidationFunctions[i];valid=validateFunction(this,suppressFeedback)&&valid;}var errButton=document.getElementById(this.ErrorButton);if(errButton!=null){if(!valid){document.getElementById(this.ErrorButton).className=document.getElementById(this.ErrorButton).className.replace(' hide', '');}else if(document.getElementById(this.ErrorButton).className.indexOf(' hide')<0)document.getElementById(this.ErrorButton).className+=' hide';}}return valid;};
this.LogError=function(message){var errItemNode=document.createElement('span');errItemNode.innerHTML=message;errItemNode.className='FieldErrorMessage';var errSpan=document.getElementById(this.ErrorSpan);if(errSpan!=null){errSpan.appendChild(errItemNode);}var errButton=document.getElementById(this.ErrorButton);if(errButton.alt!=null&&errButton.alt!='')errButton.alt+=', ';errButton.alt+=message;};
this.ToggleError=function(){var errNode=document.getElementById(this.ErrorSpan);var bodyNode=document.getElementById('body');if(errNode!=null){var objOverlay=document.getElementById('overlay');if(errNode.className.indexOf(' hide')>=0){bodyNode.insertBefore(errNode,bodyNode.firstChild);objOverlay.onclick=null;var arrayPageSize=getPageSize();var arrayPageScroll=getPageScroll();objOverlay.style.display='block';objOverlay.style.height=(arrayPageSize[1]+'px');var errNodeWidth;if(document.defaultView)errNodeWidth=document.defaultView.getComputedStyle(errNode, null).getPropertyValue('width');else errNodeWidth=errNode.currentStyle.width;if(errNodeWidth.length>2&&errNodeWidth!='auto')errNodeWidth=errNodeWidth.substring(0,errNodeWidth.length-2);else errNodeWidth=0;var errNodeLeft=Math.round(((bodyNode.offsetWidth-errNodeWidth)/2));errNode.style.left=errNodeLeft+'px';errNode.className=errNode.className.replace(' hide', '');var errTop=arrayPageScroll[1]+((arrayPageSize[3]-errNode.clientHeight)/2);errNode.style.top=(errTop<0)?"0px":errTop+"px";errNode.style.zIndex+=objOverlay.style.zIndex+10;}else{errNode.className+=' hide';errNode.style.zIndex-=objOverlay.style.zIndex-10;document.getElementById(this.WrapperID).appendChild(errNode);objOverlay.style.display='none';objOverlay.onclick=function(){hideLightbox();return false;};}}};
this.ClearErrors=function(){var errLog=document.getElementById(this.ErrorSpan);var errBtn=document.getElementById(this.ErrorButton);if(errLog!=null){for(var i=errLog.childNodes.length-1;i>=0;i--){if(errLog.childNodes[i].className=='FieldErrorMessage')errLog.removeChild(errLog.childNodes[i]);}}if(errBtn!=null)errBtn.removeAttribute('alt');};
this.AddValidator=function(newValidatorFunction){if(this.ValidationFunctions==null)this.ValidationFunctions=new Array();if(typeof newValidatorFunction=='function')this.ValidationFunctions.push(newValidatorFunction);};
this.FieldValue=function(){var fieldValue='';if(this.Control.nodeName=='SELECT'){if(this.Control.selectedIndex>=0&&this.Control.options[this.Control.selectedIndex].value!=-2147483648)fieldValue=this.Control.options[this.Control.selectedIndex].value;}else if(this.Control.type=='checkbox')fieldValue=this.Control.checked;else if(this.Control.nodeName=='INPUT'&&this.Control.type=='radio'){RadioObj=document.getElementsByName(this.Control.name);var radioLength=RadioObj.length;if(radioLength==undefined){if(RadioObj.checked) fieldValue=RadioObj.value;}else{for(var j=0;j<radioLength;j++){if(RadioObj[j].checked)fieldValue=RadioObj[j].value;}}}else if(this.Control.nodeName=='SPAN')fieldValue=this.Control.innerText;else fieldValue=this.Control.value;return fieldValue;};
if(this.Required)
this.AddValidator(RequiredFieldValidate);
this.AddValidator(MinValueValidate);
this.AddValidator(MaxValueValidate);
this.AddValidator(RegExValidate);
this.AddValidator(DataTypeValidate);
this.AddValidator(EqualValueValidate);
}
function GetProfileID(){var profID=0;if(document.getElementById('ctrlProfileID')!=null) profID=document.getElementById('ctrlProfileID').value;return profID;}
function ButtonEnable(button, enable){if(button!=null){var src=button.src;if(src!=null&&src.substring(src.length,src.length-13).toLowerCase()=='_disabled.gif'&&enable) button.src=src.substring(0,src.length-13)+'.gif';if(src!=null&&src.substring(src.length,src.length-13).toLowerCase()!='_disabled.gif'&&!enable)button.src=src.substring(0,src.length-4)+'_disabled.gif';button.disabled=!enable;}}
function AJAXReturnObject(isError,refreshNodes,additionalJavascript,href) 
{
this.IsError=isError;this.RefreshNodes=refreshNodes;this.AdditionalJavascript=additionalJavascript;this.HREF=href;
this.RefreshElements=function(){if(this.RefreshNodes!=null){var currEl,currScript,currScriptList;for(elementID in this.RefreshNodes){currEl=document.getElementById(elementID);if(currEl!=null){currEl.innerHTML=this.RefreshNodes[elementID];currScriptList=currEl.getElementsByTagName("script");for(var i=0;i<currScriptList.length;i++){currScript=currScriptList[i];if(currScript.innerHTML.length>0)eval(currScript.innerHTML);}}}}};
}
function RequiredFieldValidate(argField,suppressFeedback){var fieldValue=argField.FieldValue();var valid=(fieldValue!==null&&fieldValue!=='');if(!valid&&!suppressFeedback)argField.LogError(argField.DisplayName+' is required.');return valid;}
function MinValueValidate(argField,suppressFeedback){var valid=true;var fieldValue=argField.FieldValue();var minMessage=null;if((argField.FieldValue()!==null&&argField.FieldValue()!=='')&&argField.MinValue!==undefined&&argField.MinValue!==null&&argField.MinValue!==''){var minVal;if(argField.MinValue instanceof Field){minVal=argField.MinValue.FieldValue();minMessage='"'+argField.MinValue.DisplayName+'"';}else{minVal=argField.MinValue;minMessage='"'+argField.MinValue+'"';}if(argField.DataType=='DateTime'){var dtFieldVal=new Date(fieldValue);var dtMinVal=new Date(minVal);valid=(dtFieldVal>=dtMinVal);}else if(typeof minVal=='number')valid=(fieldValue>=minVal);else valid=(fieldValue.toLowerCase()>=minVal.toLowerCase());}if(!valid&&!suppressFeedback)argField.LogError(argField.DisplayName+' must be no less than '+minMessage);return valid;}
function MaxValueValidate(argField,suppressFeedback){var valid=true;var fieldValue=argField.FieldValue();var maxMessage=null;if((argField.FieldValue()!==null&&argField.FieldValue()!=='')&&argField.MaxValue!==undefined&&argField.MaxValue!==null&&argField.MaxValue!==''){var maxVal;if(argField.MaxValue instanceof Field){maxVal=argField.MaxValue.FieldValue();maxMessage='"'+argField.MaxValue.DisplayName+'"';}else{maxVal=argField.MaxValue;maxMessage='"'+argField.MaxValue+'"';}if(argField.DataType=='DateTime'){var dtFieldVal=new Date(fieldValue);var dtMaxVal=new Date(maxVal);valid=(dtFieldVal<=dtMaxVal);}else if(typeof maxVal=='number')valid=(fieldValue<=maxVal);else valid=(fieldValue.toLowerCase()<=maxVal.toLowerCase());}if(!valid&&!suppressFeedback)argField.LogError(argField.DisplayName+' must be no greater than '+maxMessage);return valid;}
function EqualValueValidate(argField,suppressFeedback){var valid=true;var fieldValue=argField.FieldValue();var eqVal;var matchName;if(argField.EqualValue!==undefined&&argField.EqualValue!==null&&argField.EqualValue!==''){if(argField.EqualValue instanceof Field){eqVal=argField.EqualValue.FieldValue();matchName=argField.EqualValue.DisplayName;}else{eqVal=argField.EqualValue;matchName = argField.EqualValue;}}valid=(fieldValue==eqVal||eqVal===undefined);if(!valid&&!suppressFeedback)argField.LogError(argField.DisplayName + ' must match ' + matchName);return valid;}
function RegExValidate(argField,suppressFeedback){var valid=true;var fieldValue = argField.FieldValue();if(fieldValue.replace != undefined)fieldValue = fieldValue.replace(/^\s+/g, '');if((argField.FieldValue()!==null&&argField.FieldValue()!=='')&&argField.ValidateExpression!=null&&argField.ValidateExpression!=''){var exp=new RegExp(argField.ValidateExpression);valid=exp.test(fieldValue);}if(!valid&&!suppressFeedback)argField.LogError(argField.DisplayName + ' is not in the correct format.');return valid;}
function DataTypeValidate(argField,suppressFeedback){var valid=true;var errMessage=null;if((argField.FieldValue()!==null&&argField.FieldValue()!=='')&&argField.DataType!=null&&argField.DataType!=''){var fieldValue=argField.FieldValue();if(argField.DataType=='Int32'){var regEx=new RegExp('^-?\\d+$');valid=regEx.test(fieldValue);if(!valid)errMessage=argField.DisplayName+' must be a whole number.';}else if(argField.DataType=='Decimal'||argField.DataType=='Double'){var regEx=new RegExp('^-?\\d+(\\.\\d+)?$');var valid=regEx.test(fieldValue);if(!valid)errMessage=argField.DisplayName+' must be a number.';}else if(argField.DataType=='Boolean'){valid=((typeof fieldValue=='boolean')||((typeof fieldValue=='string')&&((fieldValue.toLowerCase()=='true')||(fieldValue.toLowerCase()=='false'))));if(!valid&&!suppressFeedback)errMessage=argField.DisplayName+' must be "true" or "false".';}else if(argField.DataType=='DateTime'){var regEx=new RegExp('^((0?[1-9])|(1[0-2]))/(([012]?\\d)|(3[01]))/\\d{4}$');valid=regEx.test(fieldValue);if(!valid&&!suppressFeedback)errMessage=argField.DisplayName+' must be in the format "MM/DD/YYYY"';}}if(!valid&&!suppressFeedback)argField.LogError(errMessage);return valid;}
function ContainsNumbersValidate(argField,suppressFeedback){var valid=true;var fieldValue=argField.FieldValue();if(argField.FieldValue()!==null&&argField.FieldValue()!==''){var exp=new RegExp('\\d');valid=exp.test(fieldValue);}if(!valid&&!suppressFeedback)argField.LogError(argField.DisplayName + ' must contain numbers.');return valid;}
function MixedCaseValidate(argField,suppressFeedback){var valid=true;var fieldValue=argField.FieldValue();if(argField.FieldValue()!==null&&argField.FieldValue()!==''){var exp=new RegExp('([a-z][\\W\\d]*[A-Z])|([A-Z][\\W\\d]*[a-z])');valid=exp.test(fieldValue);}if(!valid&&!suppressFeedback)argField.LogError(argField.DisplayName+' must contain both capital and lower-cased letters.');return valid;}
function ContainsSymbolsValidate(argField,suppressFeedback){var valid=true;var fieldValue=argField.FieldValue();if(argField.FieldValue()!==null&&argField.FieldValue()!==''){var exp=new RegExp('\\W');valid=exp.test(fieldValue);}if(!valid && !suppressFeedback)argField.LogError(argField.DisplayName+' must contain at least one non-alphanumeric symbol.');return valid;}
function MinLengthValidate(argField,suppressFeedback){var valid=true;var fieldValue=argField.FieldValue();if((argField.FieldValue()!==null&&argField.FieldValue()!=='')&&argField.MinLength!=null)valid=(fieldValue.length>=argField.MinLength);if(!valid&&!suppressFeedback)argField.LogError(argField.DisplayName+' must contain be at least ' + argField.MinLength + ' characters long.');return valid;}
