﻿var BROWSER_TYPE_IE_PRE_6=0;var BROWSER_TYPE_IE=1;var BROWSER_TYPE_FF=2;var BROWSER_TYPE_OPERA=3;var BROWSER_TYPE_SAFARI=4;var ELEMENT_NODE_TYPE=1;var ATTRIBUTE_NODE_TYPE=2;var TEXT_NODE_TYPE=3;var CDATA_SECTION_NODE_TYPE=4;var DOCUMENT_NODE_TYPE=9
var BACKSPACE_KEYCODE=8;var TAB_KEYCODE=9;var ENTER_KEYCODE=13;var ESCAPE_KEYCODE=27;var LEFT_ARROW_KEYCODE=37;var RIGHT_ARROW_KEYCODE=39;var UP_ARROW_KEYCODE=38;var DOWN_ARROW_KEYCODE=40;var DELETE_KEYCODE=46;var SEMICOLON_KEYCODE=186;var ME_BACKGROUND_LOADING_DELAY=5000;var ME_BACKGROUND_LOADING_INTERVAL=5000;var ME_CLIENT_PAGE_LOAD_THROTTLE_FACTOR=100;var ME_STARTUP_PAGE_DELAY=100;var ME_MARK_AS_READ_DELAY=3000;var DOMToString_NodeIndent="    ";var gSafariScrollCachePos=0;var gSafariScrollHeightCache=0;var mTopAppWindow=null;var dayTokens=new Array('Sun','Mon','Tue','Wed','Thu','Fri','Sat');var monthTokens=new Array('January','February','March','April','May','June','July','August','September','October','November','December');var arrDaysInMonths=new Array(31,28,31,30,31,30,31,31,30,31,30,31);var ONE_HOUR_MS=(1000*60*60);var ONE_DAY_MS=(1000*60*60*24);var ONE_WEEK_MS=(1000*60*60*24*7);var DOW_SUN=0;var DOW_MON=1;var DOW_TUE=2;var DOW_WED=3;var DOW_THU=4;var DOW_FRI=5;var DOW_SAT=6;var DOW_WEEKEND_DAY=7;var DOW_WEEKDAY=8;var DAYS_IN_WEEK=7;var DOW_MASK_WEEKDAY=62;var DOW_MASK_WEEKEND=65;var DOW_MASK_ANYDAY=127;var gAllowPageActions=true;function SkinImage(ImageFilename)
{if(SkinRoot&&(SkinRoot.length>0))
{return SkinRoot+ImageFilename;}
else
{return"";}}
function addZero(vNumber){return((vNumber<10)?"0":"")+vNumber}
function disableSelection(target)
{if(typeof target.onselectstart!="undefined")
target.onselectstart=function(){return false}
else if(typeof target.style.MozUserSelect!="undefined")
target.style.MozUserSelect="none"
setElementCursorStyle(target,"default");}
function enableSelection(target)
{if(typeof target.onselectstart!="undefined")
target.onselectstart=function(){return true}
else if(typeof target.style.MozUserSelect!="undefined")
target.style.MozUserSelect="text"
setElementCursorStyle(target,"default");}
function permitTextSelection(element)
{if(GetBrowserType()==BROWSER_TYPE_SAFARI||GetBrowserType()==BROWSER_TYPE_FF)
{return true;}
try{var isInput=element.tagName.search(/input/i)!=-1;var hasType=element.type!=undefined;var isText=hasType&&element.type.search(/text/i)!=-1;var isTextArea=element.tagName.search(/textarea/i)!=-1;var isTextInput=isTextArea||(isInput&&hasType&&isText);var previewPane=document.getElementById('PanelPreview');var isPreviewPane=IsElementAAncestorOfElementB(previewPane,element);return isTextInput||isPreviewPane;}
catch(err){return false;}}
document.onselectstart=function(ev)
{ev=ev||window.event;var oTarget=ev.target||ev.srcElement;return permitTextSelection(oTarget);};function formatDate(Date,Format){var vDay=addZero(Date.getDate());var vMonth=addZero(Date.getMonth()+1);var vYearLong=addZero(Date.getFullYear());var vYearShort=addZero(Date.getFullYear().toString().substring(3,4));var vYear=(Format.indexOf("yyyy")>-1?vYearLong:vYearShort);var vHour=addZero(Date.getHours());var vMinute=addZero(Date.getMinutes());var vSecond=addZero(Date.getSeconds());var vDOWMed=1;var vDOWLong=2;var vDOWFormat=(Format.indexOf("DDD")>-1)?vDOWMed:vDOWLong;var vDOWVal=Date.getDay();var oDaysOfWeekMedium=new Array('Sun','Mon','Tue','Wed','Thu','Fri','Sat');var oDaysOfWeekLong=new Array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');var vDateString=Format.replace(/dd/g,vDay).replace(/MM/g,vMonth).replace(/y{1,4}/g,vYear);vDateString=vDateString.replace(/hh/g,vHour).replace(/mm/g,vMinute).replace(/ss/g,vSecond);if(vDOWFormat==vDOWMed)
{vDateString=vDateString.replace(/DDD/g,oDaysOfWeekMedium[vDOWVal]);}
else
{vDateString=vDateString.replace(/D/g,oDaysOfWeekLong[vDOWVal]);}
return vDateString}
function getAppServletURL(sAppName)
{var rootURL=window.location;rootURL+='stringitup';rootURL=rootURL.match(/^.*\/hoodoo/i);rootURL+='/Servlet/request.aspx';return rootURL;}
function getWindowWidth(oWindow)
{var thisWindow=window;if(oWindow)
{thisWindow=oWindow;}
var windowWidth;if(thisWindow.self.innerWidth)
{windowWidth=thisWindow.self.innerWidth;}
else if(thisWindow.document.documentElement&&thisWindow.document.documentElement.clientWidth)
{windowWidth=thisWindow.document.documentElement.clientWidth;}
else if(document.body)
{windowWidth=thisWindow.document.body.clientWidth;}
if(GetBrowserType()==BROWSER_TYPE_SAFARI)
{windowWidth-=9;}
return windowWidth;}
function getWindowHeight(oWindow)
{var thisWindow=window;if(oWindow)
{thisWindow=oWindow;}
var windowHeight;if(thisWindow.self.innerHeight)
{windowHeight=thisWindow.self.innerHeight;}
else if(thisWindow.document.documentElement&&thisWindow.document.documentElement.clientHeight)
{windowHeight=thisWindow.document.documentElement.clientHeight;}
else if(thisWindow.document.body)
{windowHeight=thisWindow.document.body.clientHeight;}
if(GetBrowserType()==BROWSER_TYPE_SAFARI)
{windowHeight-=9;}
return windowHeight;}
function GetNodeDepth(node)
{var depth=0;while(node.parentNode&&node.parentNode!=node)
{depth++;node=node.parentNode;}
return depth;}
function GetNodeIndent(node)
{var s='';var depth=GetNodeDepth(node);for(var i=1;i<depth;i++)
{s+=DOMToString_NodeIndent;}
return s;}
function DOMElementStartString(node)
{var s=GetNodeIndent(node)+'<'+node.nodeName;for(var i=0;i<node.attributes.length;i++)
{s+=DOMNodeToString(node.attributes.item(i));}
s+='>\n';return s;}
function DOMAttributeStartString(node)
{var s=' '+node.nodeName+'="';if(GetBrowserType()==BROWSER_TYPE_SAFARI)
{s+=node.nodeValue;}
return s;}
function DOMTextStartString(node)
{var s='';var isAttributeValue=node.parentNode!=null&&node.parentNode.nodeType==2;if(!isAttributeValue)
{s+=GetNodeIndent(node);}
s+=node.nodeValue;if(!isAttributeValue)
{s+='\n';}
return s;}
function DOMCommentStartString(node)
{var s='';var isAttributeValue=node.parentNode.nodeType==2;if(!isAttributeValue)
{s+=GetNodeIndent(node);}
s+=node.nodeValue;if(!isAttributeValue)
{s+='\n';}
return s;}
function DOMElementEndString(node)
{return GetNodeIndent(node)+'</'+node.nodeName+'>\n';}
function DOMAttributeEndString(node)
{return'"';}
function DOMTextEndString(node)
{return'';}
function DOMCommentEndString(node)
{return'';}
function DOMNodeToString(node)
{var s='';if(node.nodeType)
{switch(node.nodeType)
{case 1:s+=DOMElementStartString(node);break;case 2:s+=DOMAttributeStartString(node);break;case 3:s+=DOMTextStartString(node);break;case 4:s+=DOMCommentStartString(node);break;default:s+='<???>';break;}
for(var i=0;node.childNodes!=null&&i<node.childNodes.length;i++)
{s+=DOMNodeToString(node.childNodes[i]);}
switch(node.nodeType)
{case 1:s+=DOMElementEndString(node);break;case 2:s+=DOMAttributeEndString(node);break;case 3:s+=DOMTextEndString(node);break;case 4:s+=DOMCommentEndString(node);break;default:s+='</???>';break;}}
else
{s='something bad';}
return s;}
function DOMDocumentToString(doc)
{var s;if(doc==undefined)
{s='undefined';}
else
{s=DOMNodeToString(doc.documentElement);}
return s;}
function GetBrowserType()
{var agent=navigator.userAgent.toLowerCase();if(agent.indexOf("msie")!=-1)
{var re=new RegExp('msie ([0-9])');var reResult=re.exec(agent);if(reResult)
{var ver=reResult[1];if(parseInt(ver,10)<6)
{return BROWSER_TYPE_IE_PRE_6;}
else
{return BROWSER_TYPE_IE;}}}
else if(agent.indexOf("firefox")!=-1)
{return BROWSER_TYPE_FF;}
else if(agent.indexOf("opera")!=-1)
{return BROWSER_TYPE_OPERA;}
else if(agent.indexOf("safari")!=-1)
{return BROWSER_TYPE_SAFARI;}}
function OpenNewWindow(URL,width,height,sOptions)
{if(sOptions==undefined)
{sOptions=',status=1,location=0,directories=0,toolbar=no,menubar=0,scrollbars=1,resizable=1';}
else
{sOptions=','+sOptions;}
Features=new String('left='+(window.screen.availWidth/2-width/2)+',top='+(window.screen.availHeight/2-height/2)+',height='+height+',width='+width+sOptions);return window.open(URL,'_blank',Features);}
function GetDisplay(boolDisplay)
{if(boolDisplay==true)
return'';return'none';}
function CountInstances(string,word)
{var substrings=string.split(word);return substrings.length-1;}
function getParentPath(sPath)
{var lastSlash=sPath.lastIndexOf(TreePathDelimiter);if(lastSlash==-1)
{return'';}
var sParentPath=sPath.substring(0,lastSlash);return sParentPath;}
function GetXMLValue(oNode)
{if(!oNode)
{return'';}
if(oNode.nodeType==TEXT_NODE_TYPE)
{return oNode.nodeValue;}
else if(oNode.firstChild&&oNode.firstChild.nodeType==TEXT_NODE_TYPE)
{return oNode.firstChild.nodeValue;}
try
{if(oNode.firstChild)
return oNode.firstChild.nodeValue;else
{if(oNode.nodeValue)
{return oNode.nodeValue;}
else
{return'';}}}
catch(e)
{try
{if(oNode.nodeValue)
return oNode.nodeValue;else
return'';}
catch(e)
{return'';}}}
function GetChildFolderNameFromPath(sPath)
{var re=new RegExp('([^/]*)$');var reResult=re.exec(sPath);if(reResult)
{return reResult[1];}
return sPath;}
function CreateIFramePage(odivSection,sURL)
{var oContentFrame=document.createItem('DIV');odivSection.appendChild(oContentFrame);return true;}
function GetFieldCount(sInStr,sField)
{var iFieldPos;var iCount=1;iFieldPos=sInStr.indexOf(sField);if(iFieldPos>0)
{iCount++;while(iFieldPos>0&&iCount<50)
{iFieldPos=sInStr.indexOf(sField,iFieldPos+1);if(iFieldPos>0)
{iCount++;}}}
return iCount;}
function GetListItem(sList,sDelimiter,iPos)
{var oFieldArr=sList.split(sDelimiter);if(oFieldArr.length>0)
{return oFieldArr[iPos];}}
function addEvent(obj,evType,fn,useCapture)
{var ret=false;if(obj!=null&&fn!=null)
{if(window.opera)
{obj.attachEvent("on"+evType,fn);ret=true;}
else if(obj.addEventListener)
{obj.addEventListener(evType,fn,useCapture);ret=true;}
else if(obj.attachEvent)
{obj.attachEvent("on"+evType,fn);ret=true;}}
return ret;}
function removeEvent(obj,evType,fn,useCapture)
{var ret=false;if(obj!=null&&fn!=null)
{if(obj.removeEventListener)
{obj.removeEventListener(evType,fn,useCapture);ret=true;}
else if(obj.detachEvent)
{obj.detachEvent("on"+evType,fn);ret=true;}}
return ret;}
function clearChildNodes(node)
{if(!(node==undefined))
{while(node.childNodes.length>0)
{node.removeChild(node.firstChild);}}}
function isLeapYear(year)
{return((year%400==0)||((year%4==0)&&(year%100!=0)))}
function getNumberOfDaysInMonth(month,year)
{var numDays=arrDaysInMonths[month];if(month==1&&isLeapYear(year))
{numDays++;}
return numDays;}
function IsElementHorizontalScrollbarRendered(element)
{return element.offsetWidth>0&&(element.style.overflow=='scroll'||element.scrollWidth>element.offsetWidth);}
function IsElementVerticalScrollbarRendered(element)
{return element.offsetHeight>0&&(element.style.overflow=='scroll'||element.scrollHeight>element.offsetHeight);}
function SetElementOffsetHeightByID(elementID,offsetHeight,oDocument)
{if(oDocument)
{SetElementOffsetHeight(oDocument.getElementById(elementID),offsetHeight);}
else
{SetElementOffsetHeight(document.getElementById(elementID),offsetHeight);}}
function SetElementOffsetHeight(element,offsetHeight)
{var borderHeight=element.offsetHeight-element.clientHeight;if(element.clientHeight==0)
{borderHeight=0;}
else
{if(!borderHeight||borderHeight<0)
{borderHeight=0;}}
var elementHeight=Math.floor(offsetHeight-borderHeight);if((GetBrowserType()==BROWSER_TYPE_IE||GetBrowserType()==BROWSER_TYPE_SAFARI)&&IsElementHorizontalScrollbarRendered(element))
{var SCHOOBY_DOOBY_DOO_WHERE_ARE_YOOOO=16;elementHeight+=SCHOOBY_DOOBY_DOO_WHERE_ARE_YOOOO;}
if(elementHeight<0)
{elementHeight=0;}
element.style.height=elementHeight+'px';}
function SetElementOffsetWidthByID(elementID,offsetWidth)
{SetElementOffsetWidth(document.getElementById(elementID),offsetWidth);}
function SetElementOffsetWidth(element,offsetWidth)
{if(GetBrowserType()==BROWSER_TYPE_FF)
{elementWidth=offsetWidth;if(IsElementVerticalScrollbarRendered(element))
{}}
else
{var borderWidth=element.offsetWidth-element.clientWidth;if(!borderWidth||borderWidth<0)
{borderWidth=0;}
var elementWidth=Math.floor(offsetWidth-borderWidth);}
if((GetBrowserType()==BROWSER_TYPE_IE||GetBrowserType()==BROWSER_TYPE_SAFARI)&&IsElementVerticalScrollbarRendered(element))
{var SCHOOBY_DOOBY_DOO_WHERE_ARE_YOOOO=16;elementWidth+=SCHOOBY_DOOBY_DOO_WHERE_ARE_YOOOO;}
if(elementWidth<0)
{elementWidth=0;}
element.style.width=elementWidth+'px';}
function getStringDimensionsTestSpan(s,containingElement)
{var testSpan=document.getElementById('stringDimensionsTestSpan');if(testSpan==null)
{testSpan=document.createElement('span');testSpan.id='stringDimensionsTestSpan';testSpan.style.visibility='hidden';document.body.appendChild(testSpan);}
testSpan.className=containingElement.className;clearChildNodes(testSpan);testSpan.appendChild(document.createTextNode(s));return testSpan;}
function getStringHeightInPixels(s,containingElement)
{var testSpan=getStringDimensionsTestSpan(s,containingElement);return testSpan.offsetHeight;}
function getStringWidthInPixels(s,containingElement)
{var testSpan=getStringDimensionsTestSpan(s,containingElement);return testSpan.offsetWidth;}
function getElementUltimateOffsetLeft(element)
{var iLeft=0;while(element!=null)
{iLeft+=element.offsetLeft;element=element.offsetParent;}
return iLeft;}
function getElementUltimateOffsetRight(element)
{var iWidth=element.clientWidth;var iRight=getElementUltimateOffsetLeft(element)+iWidth;return iRight;}
function getElementUltimateOffsetTop(element)
{var iTop=0;while(element!=null)
{iTop+=element.offsetTop;element=element.offsetParent;}
return iTop;}
function EnsureElementIsInScrollView(scrolledElement,element)
{var elementOffsetBottom=element.offsetTop+element.offsetHeight
if(elementOffsetBottom>scrolledElement.scrollTop+scrolledElement.offsetHeight)
{var scrollTo=elementOffsetBottom-scrolledElement.offsetHeight;if(IsElementHorizontalScrollbarRendered(scrolledElement))
{var SCHOOBY_DOOBY_DOO_WHERE_ARE_YOOOO=16;scrollTo+=SCHOOBY_DOOBY_DOO_WHERE_ARE_YOOOO;}
scrolledElement.scrollTop=scrollTo;}
else if(element.offsetTop<scrolledElement.scrollTop)
{scrolledElement.scrollTop=element.offsetTop;}}
function HTMLEncode(data)
{if((data!=undefined)&&(data.length>0))
{var sNewData=data;sNewData=sNewData.replace(/&/g,"&amp;");sNewData=sNewData.replace(/</g,"&lt;");sNewData=sNewData.replace(/>/g,"&gt;");sNewData=sNewData.replace(/"/g,"&quot");return sNewData;}
return"";}
function HTMLDecode(data)
{if((data!=undefined)&&(data.length>0))
{var sNewData=data;sNewData=sNewData.replace(/&amp;/g,'&');sNewData=sNewData.replace(/&lt;/g,'<');sNewData=sNewData.replace(/&gt;/g,'>');return sNewData;}
return"";}
RegExp.escape=function(text){if(!arguments.callee.sRE){var specials=['/','.','*','+','?','|','(',')','[',']','{','}','\\'];arguments.callee.sRE=new RegExp('(\\'+specials.join('|\\')+')','g');}
return text.replace(arguments.callee.sRE,'\\$1');}
function IsElementAAncestorOfElementB(ElementA,ElementB)
{if((GetBrowserType()==BROWSER_TYPE_FF)||(GetBrowserType()==BROWSER_TYPE_SAFARI))
{var result=false;var i=ElementB;try
{while(i&&i.id!='body')
{if(i&&(ElementA.id==i.id))
{return true;}
i=i.parentNode;}}
catch(e)
{}
return false;}
else
{var result=false;var i=ElementB;while(i&&!result)
{if(ElementA==i)
{result=true;}
i=i.parentElement;}
return result;}}
function GetElementText(oParent)
{try
{if((GetBrowserType()==BROWSER_TYPE_FF)||(GetBrowserType()==BROWSER_TYPE_SAFARI))
{return oParent.innerHTML;}
else
{return oParent.innerText;}}catch(err){return'';}}
function SetElementText(oParent,sText)
{sText+='';try
{clearChildNodes(oParent);var oTopDoc=oParent.document;if(oTopDoc==undefined)
{if(getTopAppWindow)
{oTopDoc=getTopAppWindow().document;}
else
{oTopDoc=document;}}
var oContent=oTopDoc.createTextNode(sText);oParent.appendChild(oContent);}catch(err)
{return'';}}
function SetFieldValue(FieldName,Value)
{if(document.getElementById(FieldName)&&(Value!=null))
{document.getElementById(FieldName).value=Value;}}
function GetFieldValue(FieldName)
{if(document.getElementById(FieldName))
{return escape(document.getElementById(FieldName).value);}
return"";}
function SetFieldFocus(FieldName)
{if(document.getElementById(FieldName))
{document.getElementById(FieldName).focus();}}
function SetControlState(FieldName,bEnabled)
{if(document.getElementById(FieldName))
{document.getElementById(FieldName).disabled=!bEnabled;}}
function IsSpecialFolder(sFolder)
{var SucFolder=sFolder.toUpperCase()
if((SucFolder=='\\INBOX')||(SucFolder=='\\CALENDAR')||(SucFolder=='\\TASKS')||(SucFolder=='\\SENT ITEMS')||(SucFolder=='\\DELETED ITEMS')||(SucFolder=='\\JUNK E-MAIL')||(SucFolder=='\\DRAFTS')||(SucFolder=='\\CONTACTS'))
{return true;}
return false;}
function InitDaysDropDownList(ddlDayID,NumOfDaysInMonth)
{var oDaysOfMonth=new Array(NumOfDaysInMonth);var i=0;for(i=0;i<NumOfDaysInMonth;i++)
{oDaysOfMonth[i]=(i+1)+'';}
InitListValues(ddlDayID,oDaysOfMonth,1);}
function InitDaysOfWeekList(ListID)
{var oDaysOfWeek=new Array('day','weekday','weekend day','Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');InitListValues(ListID,oDaysOfWeek);}
function InitMonthsOfYearList(ListID)
{var oMonthsOfYear=new Array('January','February','March','April','May','June','July','August','September','October','November','December');InitListValues(ListID,oMonthsOfYear);}
function InitDayOfWeekQualifier(ListID)
{var oDOWQualifier=new Array('first','second','third','fourth','last');InitListValues(ListID,oDOWQualifier);}
var g_clipboard='';function supported_clip()
{return true;}
function copy_clip(meintext)
{g_clipboard=meintext;return false;}
function get_clip()
{return g_clipboard;}
function ValidateInputNum(TextField)
{if(!TextField)
return false;var sFieldVal=TextField.value;if(sFieldVal.match(/^\d+$/))
{return true;}
else
{alert("Invalid input value. You must specify a valid number.");TextField.select();return false;}}
function ME_Time_AddMonths(CurrentDate,NumberOfMonths)
{if(!CurrentDate)
return null;var oNewDate=new Date(CurrentDate.getTime());for(i=0;i<NumberOfMonths;i++)
{lCurMonth=CurrentDate.getMonth();if(lCurMonth<12)
{oNewDate.setMonth(oNewDate.getMonth()+1);}
else
{oNewDate.setYear(GetYearOfDate(oNewDate)+1);oNewDate.setMonth(0);}}
return oNewDate;}
function ME_Time_AddDays(MyDate,NumDays)
{return new Date(MyDate.getTime()+(NumDays*ONE_DAY_MS));}
function ME_Time_SubtractDays(MyDate,NumDays)
{return new Date(MyDate.getTime()-(NumDays*ONE_DAY_MS));}
function ME_Time_DaysBetween(Date1,Date2)
{var date1_ms=Date1.getTime();var date2_ms=Date2.getTime();var difference_ms=Math.abs(date1_ms-date2_ms);return Math.round(difference_ms/ONE_DAY_MS);}
function ME_Time_WeekdaysInRange(StartDate,EndDate)
{var oCurDate;var count=0;if(StartDate==null||EndDate==null)
{return 0;}
if(EndDate.getTime()<StartDate.getTime())
{return 0;}
oCurDate=StartDate;do
{if((oCurDate.getDay()!=DOW_SAT)&&(oCurDate.getDay()!=DOW_SUN))
{count++;}
oCurDate.setTime(oCurDate.getTime()+ONE_DAY_MS);}while(oCurDate.getTime()<=EndDate.getTime());return count;}
function ME_Time_GetDateDOWInstance(Year,Month,Instance,DayOfWeek)
{if(isNaN(Instance)||isNaN(DayOfWeek))
{return null;}
var lNumDaysInMonth=getNumberOfDaysInMonth(Month,Year);var oDate=new Date(Year,Month,1);var count=0;do
{if(oDate.getDay()==DayOfWeek)
{count++;}
if(count==Instance)
{return oDate;}
oDate.setDate(oDate.getDate()+1);}while((oDate.getMonth()==Month)&&(oDate.getDate()<=lNumDaysInMonth));oDate=new Date(Year,Month,lNumDaysInMonth);while(oDate.getDate()>0)
{if(oDate.getDay()==DayOfWeek)
{return oDate;}
oDate.setDate(oDate.getDate()-1);}
return null;}
function ME_Time_GetNthWeekday(Year,Month,Nth)
{var oDate=null;var count=0;if(!Nth||Nth==0)
return null;oDate=new Date(Year,Month,1);while(count<Nth)
{if((oDate.getDay()!=DOW_SAT)&&(oDate.getDay()!=DOW_SUN))
{count++;}
if(count==Nth)
{return oDate;}
oDate.setDate(oDate.getDate()+1);}
return null;}
function ME_Time_GetNthWeekendDay(Year,Month,Nth)
{var oDate=null;var count=0;if(!Nth||Nth==0)
return null;oDate=new Date(Year,Month,1);while(count<Nth)
{if((oDate.getDay()==DOW_SAT)||(oDate.getDay()==DOW_SUN))
{count++;}
if(count==Nth)
{return oDate;}
oDate.setDate(oDate.getDate()+1);}
return null;}
function ME_Time_GetLastWeekday(Year,Month)
{var oDate=new Date(Year,Month,getNumberOfDaysInMonth(Month,Year));while(oDate.getDate()>1)
{if((oDate.getDay()!=DOW_SAT)&&(oDate.getDay()!=DOW_SUN))
{return oDate;}
oDate.setDate(oDate.getDate()-1);}
return null;}
function ME_Time_GetLastWeekendDay(Year,Month)
{var oDate=new Date(Year,Month,getNumberOfDaysInMonth(Month,Year));while(oDate.getDate()>1)
{if((oDate.getDay()==DOW_SAT)||(oDate.getDay()==DOW_SUN))
{return oDate;}
oDate.setDate(oDate.getDate()-1);}
return null;}
function getDateTimeObjectFromDateString(dateString)
{var oDate=null;var dateElements=dateString.split('-');if(dateElements.length<3)
return null;var year=parseInt(dateElements[0],10);var month=parseInt(dateElements[1],10)-1;var day=parseInt(dateElements[2],10);oDate=new Date(year,month,day);if(dateElements.length==5)
{oDate.setHours(dateElements[3]);oDate.setMinutes(dateElements[4]);}
else
{oDate.setHours('00')
oDate.setMinutes('00');}
return oDate;}
function GetMonthInstance(SelectedDate)
{var DOWInstance=0;var lWeeksAcrued=Math.floor(SelectedDate.getDate()/7);var lRemainder=(SelectedDate.getDate()%7);if(lRemainder==0)
{DOWInstance=lWeeksAcrued-1;}
else
{DOWInstance=lWeeksAcrued;}
return(DOWInstance+1);}
function GetYearOfDate(oDate)
{var lYear=oDate.getYear();if(lYear<1900)
{lYear+=1900;}
return lYear;}
function GetDateFromFormatedStr(DateString)
{if(DateString)
{var oDateElements=null;var re=new RegExp(' ([0-9]*)/([0-9]*)/([0-9]*)$');var reResult=re.exec(DateString);if(reResult)
{var sDay=parseInt(reResult[1],10);var sMonth=parseInt(reResult[2],10);var sYear=parseInt(reResult[3],10);var oNewDate=new Date(sYear,sMonth-1,sDay);return oNewDate;}
else
{return null;}}
return null;}
function ME_Time_GetDateInstance(Year,Month,Instance,InstanceType)
{var oDate=null;if(Instance==5)
{if(InstanceType==0)
{var lDIM=getNumberOfDaysInMonth(Month,Year);oDate=new Date(Year,Month,lDIM);}
else if(InstanceType==1)
{oDate=ME_Time_GetLastWeekday(Year,Month);}
else if(InstanceType==2)
{oDate=ME_Time_GetLastWeekendDay(Year,Month);}
else
{var lDOW=InstanceType-3;oDate=ME_Time_GetDateDOWInstance(Year,Month,Instance,lDOW)}}
else
{if(InstanceType==0)
{var lDay;if(Instance==5)
{lDay=getNumberOfDaysInMonth(Month,Year);}
else
{lDay=Instance;}
oDate=new Date(Year,Month,lDay);}
else if(InstanceType==1)
{oDate=ME_Time_GetNthWeekday(Year,Month,Instance);}
else if(InstanceType==2)
{oDate=ME_Time_GetNthWeekendDay(Year,Month,Instance);}
else
{var lDOW=InstanceType-3;oDate=ME_Time_GetDateDOWInstance(Year,Month,Instance,lDOW)}}
return oDate}
function setElementOpacity(element,value)
{element.style.opacity=value;element.style.filter='alpha(opacity='+(value*100)+')';}
function setElementOpacityRecursive(element,value)
{setElementOpacity(element,value);var child=element.firstChild;while(child!=null)
{if(child.nodeType!=TEXT_NODE_TYPE)
{setElementOpacityRecursive(child,value);}
child=child.nextSibling;}}
function GetValueAsLng(sVal)
{var lVal=parseInt(sVal,10);if(lVal)
{return lVal;}
var oRETrue=new RegExp('true','i');if(oRETrue.test(sVal))
{return 1;}
return 0;}
function CreateEmptyTextNode()
{return document.createTextNode("\u00a0");}
function ConfigureMouseEvents(Mode)
{try
{if(dodown)document.onmousedown=dodown;if(doup)document.onmouseup=doup;if(domove)document.onmousemove=domove;if(GetBrowserType()==BROWSER_TYPE_SAFARI)
{document.oncontextmenu=function(ev){ev=ev||event;if(ev.preventDefault)
{ev.preventDefault();}
else
{ev.returnValue=false;}
return false;};}}catch(ex){};}
function GetElementVisibleHeightById(sId)
{return GetElementVisibleHeight(document.getElementById(sId));}
function isTopWindow(oWindow)
{var sLocation='';try
{sLocation=oWindow.location.href;}catch(ex){}
var re_webmail=new RegExp('client.aspx','i');if(re_webmail.test(sLocation))
{return true;}
var re_webadmin=new RegExp('default.aspx','i');if(re_webadmin.test(sLocation))
{return true;}
return false;}
function getTopAppWindow()
{if((mTopAppWindow!=null)&&(mTopAppWindow!=undefined))
{return mTopAppWindow;}
if(isTopWindow(top))
{mTopAppWindow=top;return top;}
var oCurrent=window.self;var oPrevious=null;if(isTopWindow(oCurrent))
{mTopAppWindow=oCurrent;return oCurrent;}
do
{oPrevious=oCurrent;oCurrent=oCurrent.parent;}while((oCurrent!=undefined)&&(oCurrent)&&(oCurrent!=oPrevious)&&(!isTopWindow(oCurrent)));if((!oCurrent)|(oCurrent==undefined))
{LogDebug('Error: Unable to locate client.aspx / application launch page');oCurrent=top;}
mTopAppWindow=oCurrent;return oCurrent;}
function HideElementById(sID)
{var oElement=document.getElementById(sID);if(oElement)
{oElement.style.visibility="hidden";oElement.style.display="none";}}
function ShowElementById(sID)
{var oElement=document.getElementById(sID);if(oElement)
{oElement.style.visibility='visible';oElement.style.display='block';}}
function GetElementVisibleHeight(element)
{var visibleHeight=0;if(element.style.display!='none')
{visibleHeight=element.offsetHeight;}
return visibleHeight;}
function ClearElementStyleHeight(element)
{element.style.height='';}
function ClearElementStyleHeightByID(elementID,oDoc)
{if(oDoc==undefined)oDoc=document;ClearElementStyleHeight(oDoc.getElementById(elementID));}
function Safari_CacheScroll(ScrollBarID)
{if(GetBrowserType()==BROWSER_TYPE_SAFARI)
{var scrollerskates=document.getElementById(ScrollBarID);gSafariScrollCachePos=scrollerskates.scrollTop;if(scrollerskates.style.display!='none')
{gSafariScrollHeightCache=scrollerskates.offsetHeight;}}}
function Safari_RestoreScroll(ScrollBarID)
{if(GetBrowserType()==BROWSER_TYPE_SAFARI)
{var scrollerskates=document.getElementById(ScrollBarID);if(gSafariScrollHeightCache!=0&&gSafariScrollHeightCache==scrollerskates.offsetHeight)
{scrollerskates.scrollTop=gSafariScrollCachePos;}}}
function renderByteValueAsMostAppropriateString(value,denomination,decimalPlaces)
{if(denomination==undefined)
{denomination='B';}
if(decimalPlaces==undefined)
{decimalPlaces=0;}
while(value>1024&&(denomination=='B'||denomination=='KB'||denomination=='MB'))
{value/=1024;switch(denomination)
{case'B':denomination='KB';break;case'KB':denomination='MB';break;case'MB':denomination='GB';break;}}
value=roundToDecimalPlaces(value,decimalPlaces);return value+denomination;}
function roundToDecimalPlaces(number,decimalPlaces)
{return Math.round(number*Math.pow(10,decimalPlaces))/Math.pow(10,decimalPlaces);}
function setElementCursorStyle(element,cursorStyle)
{if(cursorStyle=='pointer'&&GetBrowserType()==BROWSER_TYPE_IE_PRE_6)
{cursorStyle='hand';}
element.style.cursor=cursorStyle;}
function IsBlankSrc(src)
{return src.match(RegExp('[/\]*loading.aspx$'));}
function JSEscapeStr(str)
{var sResult="";sResult=str;sResult=sResult.replace(/'/g,"\\'");sResult=sResult.replace(/"/g,'\\"');return sResult;}