﻿function WebUIGadget(argID,argParentGadget,argWrapperID,argServerID,argFieldName)
{this.ID=argID;this.ParentGadget=argParentGadget;this.WrapperID=argWrapperID;this.ServerID=argServerID;this.FieldName=argFieldName;this.RequiredFields=new Array();this.ChildGadgets=new Array();if(this.ParentGadget!=null&&this.ParentGadget.RegisterItem==null&&this.ParentGadget.RegisterChild!=null)
this.ParentGadget.RegisterChild(this);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';};this.Show=function()
{if(this.WrapperID!=null&&document.getElementById(this.WrapperID)!=null)
document.getElementById(this.WrapperID).style.display='inline-block';};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,bolRedirecting,strArgs,strPopupMessage,wait)
{if(wait==null)
wait=false;var AJAXArg=GetProfileID()+'|'+this.ServerID+'|'+strMethod+'|'+strArgs;if(bolRedirecting)
submitRedirectingUpdate(AJAXArg,'',strPopupMessage,wait);else
submitUpdate(AJAXArg,'',strPopupMessage,wait);};this.AddToCart=function(intQty,bolRedirect,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',bolRedirect,intQty+'|'+intItemID);};this.AdditionalValidate=function()
{return true;};this.Refresh=function(newID)
{this.AJAXCall('refresh',false,newID);};this.AddRequiredField=function(inputControl)
{var found=false;if(this.RequiredFields==null)
{this.RequiredFields=new Array();}
else
{for(var i=0;i<this.RequiredFields.length;i++)
{if(inputControl.nodeName=='INPUT'&&inputControl.type=='radio')
{if(this.RequiredFields[i].name==inputControl.name)
{this.RequiredFields[i]=inputControl;found=true;}}
else if(this.RequiredFields[i].id==inputControl.id)
{this.RequiredFields[i]=inputControl;found=true;}}}
if(!found)
{this.RequiredFields.push(inputControl);}};this.ValidateFields=function()
{var RadioObj,valid=true;if(this.RequiredFields!=null)
{var fieldVal;for(var i=0;i<this.RequiredFields.length;i++)
{fieldVal=null;if(this.RequiredFields[i].nodeName=='SELECT')
{if(this.RequiredFields[i].selectedIndex>=0&&this.RequiredFields[i].options[this.RequiredFields[i].selectedIndex].value!=-2147483648)
fieldVal=this.RequiredFields[i].options[this.RequiredFields[i].selectedIndex].value;}
else if(this.RequiredFields[i].nodeName=='INPUT'&&this.RequiredFields[i].type=='radio')
{RadioObj=document.getElementsByName(this.RequiredFields[i].name);var radioLength=RadioObj.length;if(radioLength==undefined)
{if(RadioObj.checked)
fieldVal=RadioObj.value;}
else
{for(var j=0;j<radioLength;j++)
{if(RadioObj[j].checked)
fieldVal=RadioObj[j].value;}}}
else
fieldVal=this.RequiredFields[i].value;valid=valid&&(fieldVal!=null)&&(fieldVal!='');}}
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=valid&&this.ValidateChildGadgets();if(this.AdditionalValidate!=null)
valid=valid&&this.AdditionalValidate();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);};}
function EditorGadget(argID,argParentGadget,argWrapperID,argViewPanelID,argEditPanelID,argEditLink,argViewLink,argServerID,argDeleteMessage,argUseParentDelete,argFieldName)
{this.Base=WebUIGadget;this.Base(argID,argParentGadget,argWrapperID,argServerID,argFieldName);this.ViewPanelID=argViewPanelID;this.EditPanelID=argEditPanelID;this.EditLink=argEditLink;this.ViewLink=argViewLink;this.DeleteMessage=argDeleteMessage;this.UseParentDelete=argUseParentDelete;if(this.ParentGadget!=null&&this.ParentGadget.RegisterItem!=null)
this.ParentGadget.RegisterItem(this);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='block';};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);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='block';if(document.getElementById(this.EditPanelID)!=null)
document.getElementById(this.EditPanelID).style.display='none';}};this.Save=function()
{var bolRedirect=(this.ParentGadget==null);this.AJAXCall('update',bolRedirect);};this.Cancel=function()
{var bolRedirect=(this.ParentGadget==null&&this.ViewLink!=null);if(this.ParentGadget!=null&&this.ParentGadget.EditItem!=null)
this.ParentGadget.EditItem(0);this.AJAXCall('cancelUpdate',bolRedirect);if(!bolRedirect)
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';if(this.ParentGadget!=null)
submitUpdate(deleteArg,'');else
submitRedirectingUpdate(deleteArg,'');}};this.Choose=function()
{this.AJAXCall('Select',false);};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.innerHTML=selText;*/lblCtrl.style.display='inline-block';}}
this.FieldChange(fieldName,textCtrl);}
else
{textCtrl.value=selectedVal;if(toggleVisible)
{textCtrl.style.display='none';if(lblCtrl!=null)
lblCtrl.style.display='none';}
this.FieldChange(fieldName,textCtrl);}};this.FieldChange=function(fieldName,fieldControl)
{var fieldValue;if(fieldControl.nodeName=='SELECT')
fieldValue=fieldControl.options[fieldControl.selectedIndex].value;else if(fieldControl.type=='checkbox')
fieldValue=fieldControl.checked;else if(fieldControl.nodeName=='INPUT'&&fieldControl.type=='radio')
{var radioLength=fieldControl.length;if(radioLength==undefined)
{if(fieldControl.checked)
fieldValue=fieldControl.value;}
else
{for(var i=0;i<radioLength;i++)
{if(fieldControl[i].checked)
fieldValue=fieldControl.value;}}}
else
{fieldValue=fieldControl.value;}
this.DoFieldChange(fieldName,fieldValue,fieldControl);if(this.RootParentGadget().Validate!=null)
this.RootParentGadget().Validate();};this.DoFieldChange=function(fieldName,fieldValue,fieldControl)
{this.AJAXCall('UpdateField',false,fieldName+'|'+fieldValue);};}
function DataRepeaterGadget(argID,argParentGadget,argWrapperID,argServerID,argDeleteMessage,argSortField,argFilterField,argFilterOp,argFilterVal1,argFilterVal2,argDeleteButtonID,argRedirect,argHideButtonID,argHideSectionID,argFieldName)
{this.Base=WebUIGadget;this.Base(argID,argParentGadget,argWrapperID,argServerID,argFieldName);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',false,editID,null);};this.Select=function(selectedID)
{this.AJAXCall('UpdateField',false,'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;}}}
if(this.AdditionalValidate!=null)
valid=valid&&this.AdditionalValidate();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.Redirect,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.Redirect);};this.Sort=function()
{this.AJAXCall('sort',this.Redirect,this.SortField);};this.Page=function(pageno)
{this.AJAXCall('page',this.Redirect,pageno,null);};this.ToggleHideSection=function()
{if(document.getElementById(this.HideButtonID).value=='Hide')
{document.getElementById(this.HideSectionID).style.display='none';document.getElementById(this.HideButtonID).value='Show';}
else
{document.getElementById(this.HideSectionID).style.display='block';document.getElementById(this.HideButtonID).value='Hide';}};}
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;}}