var submitCounter = 0; var lockSubmit = false; var lastSubmitTime = null; var submitDelay = 5000; function MM_preloadImages() { //v3.0 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i '9'.charCodeAt(0)) && ch != 0 && ch != 8 && ch != 13) return false return true } function lengthValidationOnKeyPress(item, itemLength) { if (item.value.length == itemLength) { return false; } return true; } function MaximizeLeftSection() { document.getElementById("minimizedLeftSection").className = "hideAll"; document.getElementById("maximizedLeftSection").className = "showAll"; UpdatePanesStatus("tree","expand"); if (document.getElementById("treeBreadcrumbsDiv")) document.getElementById("treeBreadcrumbsDiv").className = "hideAll"; setTimeout('ResizeTablesInNetscape()',10); } function MinimizeRightSection() { document.getElementById("maximizedRightSection").className = "hideAll"; document.getElementById("minimizedRightSection").className = "showAll"; UpdatePanesStatus("advertisement","collapse"); } function MaximizeRightSection() { document.getElementById("minimizedRightSection").className = "hideAll"; document.getElementById("maximizedRightSection").className = "showAll"; UpdatePanesStatus("advertisement","expand"); setTimeout('ResizeTablesInNetscape()',10); } function ShowLeftSection(sectionNumber) { var clickedTab = document.getElementById("leftSecTab_" + sectionNumber); if (clickedTab.className.indexOf("Selected")==-1) { var anotherSectionNumber = (sectionNumber)?0:1; var anotherTab = document.getElementById("leftSecTab_" + anotherSectionNumber); clickedTab.className = "leftSecTabSelected" + sectionNumber; anotherTab.className = "leftSecTabRegular" + anotherSectionNumber; document.getElementById("leftSecContent_" + anotherSectionNumber).className = "hideAll"; document.getElementById("leftSecContent_" + sectionNumber).className = "showAll"; setTimeout('ResizeTablesInNetscape()',10); } } function MinimizeTemplateTree() { document.getElementById("maximizedTemplateTree").className = "hideAll"; document.getElementById("minimizedTemplateTree").className = "showAll"; } function MaximizeTemplateTree() { document.getElementById("minimizedTemplateTree").className = "hideAll"; document.getElementById("maximizedTemplateTree").className = "showAll"; setTimeout('ResizeTablesInNetscape()',10); } function MinimizeHierarchyTree() { document.getElementById("maximizedHierarchyTree").className = "hideAll"; document.getElementById("minimizedHierarchyTree").className = "showAll"; } function MaximizeHierarchyTree() { document.getElementById("minimizedHierarchyTree").className = "hideAll"; document.getElementById("maximizedHierarchyTree").className = "showAll"; setTimeout('ResizeTablesInNetscape()',10); } function MinimizeReportsTree() { document.getElementById("maximizedReportsTree").className = "hideAll"; document.getElementById("minimizedReportsTree").className = "showAll"; } function MaximizeReportsTree() { document.getElementById("minimizedReportsTree").className = "hideAll"; document.getElementById("maximizedReportsTree").className = "showAll"; setTimeout('ResizeTablesInNetscape()',10); } function MinimizeOptions() { document.getElementById("maximizedOptions").className = "hideAll"; document.getElementById("minimizedOptions").className = "showAll"; } function MaximizeOptions() { document.getElementById("minimizedOptions").className = "hideAll"; document.getElementById("maximizedOptions").className = "showAll"; setTimeout('ResizeTablesInNetscape()',10); } /* Inner Navigation Tabs ------------------------------------------------------------------------------------ */ function SetActiveInnerNavTab() { document.getElementById("innerNavImageL_"+activeInnerNavTab).src = getURLPrefix() + "images/innerNav/L_d.gif"; document.getElementById("innerNavText_"+activeInnerNavTab).className = "innerNavTextDown"; document.getElementById("innerNavImageR_"+activeInnerNavTab).src = getURLPrefix() + "images/innerNav/R_d.gif"; document.getElementById("innerNavTab_"+activeInnerNavTab).className = "cursorDefault"; } function InnerNavClick(tabNumber) { document.getElementById("innerNavImageL_"+activeInnerNavTab).src = getURLPrefix() + "images/innerNav/L.gif"; document.getElementById("innerNavText_"+activeInnerNavTab).className = "innerNavText"; document.getElementById("innerNavImageR_"+activeInnerNavTab).src = getURLPrefix() + "images/innerNav/R.gif"; document.getElementById("innerNavTab_"+activeInnerNavTab).className = "cursorHand"; activeInnerNavTab = tabNumber; SetActiveInnerNavTab(); } /* ----------------------------------------------------------------------------------------------------- */ function ResizeTablesInNetscape() { if (thisBrowser.isNN) { var els = document.getElementsByName("setWidthTo100Percents"); for (var i=0; i 23) { return false; } if (hour <= 12 && ampm == null) { return false; } if (hour > 12 && ampm != null) { return false; } if (minute<0 || minute > 59) { return false; } return true; } // --------------------------Checks if time is in HH:MM AM/PM format.- End--------------------------- // --------------------------Checks if time is in HH:MM AM/PM format.- Begin--------------------------- function IsValidTime(timeStr) { // Checks if time is in HH:MM AM/PM format. var timePat = /^(\d{2}):(\d{2})\s(AM|am|PM|pm)$/; var matchArray = timeStr.match(timePat); // is the format ok? if (matchArray == null) { return false; } hour = matchArray[1]; minute = matchArray[2]; ampm = matchArray[3]; if (ampm=="") { ampm = null } if (hour < 0 || hour > 23) { return false; } if (hour <= 12 && ampm == null) { return false; } if (hour > 12 && ampm != null) { return false; } if (minute<0 || minute > 59) { return false; } return true;//time is valid } // --------------------------// Checks for the following valid date formats: MM/DD/YYYY function IsValidDate(dateStr) { // Checks for the following valid date formats: // MM/DD/YYYY // Also separates date into month, day, and year variables var datePat = /^(\d{1,2})\/(\d{1,2})\/(\d{4})$/; var matchArray = dateStr.match(datePat); // is the format ok? if (matchArray == null) { return false; } month = matchArray[1]; // parse date into variables day = matchArray[2]; year = matchArray[3]; if (month < 1 || month > 12) { // check month range return false; } if (day < 1 || day > 31) { return false; } if ((month==4 || month==6 || month==9 || month==11) && day==31) { return false } if (month == 2) { // check for february 29th var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)); if (day>29 || (day==29 && !isleap)) { return false; } } return true; // date is valid } // --------------------------// Checks format of the string. function IsValidFormat(categoryStr) { var categoryPat= /^(([0-9]|[a-z]|[A-Z]|[_])*)$/; var matchArray = categoryStr.match(categoryPat); if (matchArray == null) { return false; } return true;//is valid } // --------------------------Expand Collapse Container Method - Begin--------------------------- var EXPANDED = "expanded"; var COLLAPSED = "collapsed"; // description : Flip condition between Expand and Collapse Of the Containers according to 'action' parameter function ExpandOrCollapseContainer(objExpandCollapseImg) { var state,altExpand,altCollapse,imgExpand,imgCollapse,objDiv,containerId; var divArr = objExpandCollapseImg.parentNode; while (divArr.tagName != "TABLE") { divArr = divArr.parentNode; } divArr = divArr.parentNode.getElementsByTagName("DIV"); stateDiv = divArr[0]; altExpand = divArr[1].title; altCollapse = divArr[2].title; imgExpand = divArr[3].title; imgCollapse = divArr[4].title; containerId = divArr[5].title; objDiv = divArr[6]; if (stateDiv.title == COLLAPSED) // Expand Container { objExpandCollapseImg.src = imgCollapse; objExpandCollapseImg.alt = altCollapse; stateDiv.title = EXPANDED ; objDiv.className = "showAll"; } else // Collapse Container { objExpandCollapseImg.src = imgExpand; objExpandCollapseImg.alt = altExpand; stateDiv.title = COLLAPSED; objDiv.className = "hideAll"; } if (containerId!="containerId"){ storeContainerExpandStatus(containerId, stateDiv.title); } } function storeContainerExpandStatus(containerId, state){ var form = document["ecareSubmitForm"]; var hiddenField=document.getElementById("_containerExpandState"); if (hiddenField==null){ hiddenField=document.createElement('INPUT'); hiddenField.type='hidden'; hiddenField.id="_containerExpandState"; hiddenField.name="_containerExpandState"; hiddenField.value=containerId+":"+state; form.appendChild(hiddenField); } else{ oldValue=hiddenField.value; var ids=oldValue.split(","); var bFind=false; for(var i=0;i= index ) { divArr = objExpandCollapseContainerImages[index].parentNode; while (divArr.tagName != "TABLE") { divArr = divArr.parentNode; } divArr = divArr.parentNode.getElementsByTagName("DIV"); state = divArr[0]; if (objExpandCollapseContainerImages[i].name == groupName && state.title != action ) { ExpandOrCollapseContainer(objExpandCollapseContainerImages[i]); } } } // description : Expand Group Of Containers // author : Yuval Benaya function ExpandGroupOfContainers(groupName) { ExpandOrCollapseGroupOfContainers(groupName,EXPANDED); } // description : Collapse Group Of Containers // author : Yuval Benaya function CollapseGroupOfContainers(groupName) { ExpandOrCollapseGroupOfContainers(groupName,COLLAPSED); } // description : Expand Or Collapse Group Of Containers according to 'action' parameter // if no 'action' parameter given - the containers will flip their condition // changed by : Yuval Benaya function ExpandOrCollapseGroupOfContainers(groupName,action) { var objExpandCollapseContainerImages = document.getElementsByName(groupName); var divArr; var state; for (var i=0; i-1){ document.getElementById("dataTr_"+selectedDataTable1RowID).className = document.getElementById("dataTr_"+selectedDataTable1RowID).getAttribute("defaultClassName"); selectedDataTable1RowID = -1; } } //----------------------------------------------------------------------------------------------------- // Portal --------------------------------------------------------------------------------------------- function MinimizeMaximizeModule(objImage) { var objContentDiv = objImage.parentNode; while (objContentDiv.tagName != "DIV") { objContentDiv = objContentDiv.parentNode; } objContentDiv = objContentDiv.getElementsByTagName("DIV")[0]; if (objImage.src.indexOf(getURLPrefix()+"mini.gif")>=0){ objImage.src = getURLPrefix()+"images/portal/maxi.gif"; objImage.title = "Maximize"; objContentDiv.style.display = "none"; }else{ objImage.src = getURLPrefix()+"images/portal/mini.gif"; objImage.title = "Minimize"; objContentDiv.style.display = "block"; } } function RemoveModule(objImage) { var objModuleDiv = objImage.parentNode; while (objModuleDiv.tagName != "DIV") { objModuleDiv = objModuleDiv.parentNode; } var objColumn = objModuleDiv.parentNode; var columnChildNodes = objColumn.childNodes; alert("This module will be available on your next login."); objModuleDiv.className = "hideAll"; for(var i=0; i=0) { document.getElementById("subDDItem" + openedDD + "_" + index).className = "subDDItem" document.getElementById("subDDItemText" + openedDD + "_" + index).className = "subDDItemText" SetTimeoutSubDDClose (openedDD) } } function DDHeaderClick(index) { if (cl) clearTimeout(cl); if(openedDD != -1 && openedDD == index) { CloseSubDD(openedDD) return; } if(openedDD != -1 && openedDD != index) { CloseSubDD(openedDD) } OpenSubDD(index); } function DDItemClick(index) { //DDItemOut(index) //if (cl) clearTimeout(cl); var temp = openedDD document.getElementById("subDDItem" + openedDD + "_" + index).className = "subDDItem" document.getElementById("subDDItemText" + openedDD + "_" + index).className = "subDDItemText" CloseSubDD(openedDD) setTimeout('eval(arrDDItemsAction['+temp+']['+index+'])', 10) } function WriteSubDD(index) { var str = "
" for(var i=0; i" if (!i) str = str + "" else str = str + "" str = str + "" str = str + "" str = str + "" str = str + "" } str = str + "
 " + arrDDItems[index][i] + " 
" document.write(str); } // --------------------------------------------------------------------------------------------------------------------- // Login Page ----------------------------------------------------------------------------------------------------------- function SetFocusOnLoginInputField() { if (document.forms['EcareLoginForm'] != null) document.forms['EcareLoginForm'].elements['userName'].focus(); } // --------------------------------------------------------------------------------------------------------------------- function OpenOrCloseInnerNav2Category(categoryID) { var objSubItemsDiv = document.getElementById("subItemsDiv_" + categoryID); if (objSubItemsDiv.className == "hideAll") // then open second level { document.getElementById("subItemsDiv_" + categoryID).className = "showAll"; } else // close second level { document.getElementById("subItemsDiv_" + categoryID).className = "hideAll"; } } function flipNewCriteriaElements(){ var currRow=0; var currStatus = (document.forms["f"].elements["criteriaFeature"][0].checked)?false:true; document.getElementById("editBtn").disabled = currStatus; document.getElementById("deleteBtn").disabled = currStatus; document.getElementById("newBtn").disabled = currStatus; if (selectedDataTable1RowID!=-1 && currStatus) DelectDataTable1Row(); while (document.getElementById("dataTr_"+currRow)) { document.getElementById("dataTr_"+currRow).disabled = currStatus; currRow++; } document.getElementById("criteraRangeValue1").disabled = !currStatus; document.getElementById("criteraRangeValue2").disabled = !currStatus; } /* Work with two Multiselect objects ------------------------------------------------------------------------------------ */ function MoveSelectedRowsToSelectObj(selectObj1, selectObj2) //move selected rows from selectObj1 to selectObj2 { for (var i=0; i=0; i--) { if (selectObj.options[i].selected == true) { selectObj.options[i] = null; } } } function MoveSelectedRowsUpDown(selectObj, movingDirection) // movingDirection - "up" or "down" { if (movingDirection == "up") { for (var i=0; i=0; i--) { if (selectObj.options[i].selected) { if (i == selectObj.options.length-1) { //alert("This operation is not available!") return; } else { SwapRowsInSelectObj(selectObj.options[i], selectObj.options[i+1]) } } } } } function SwapRowsInSelectObj(optionObj1, optionObj2){ // optionObj1 - Selected Option var tempValue, tempText; tempValue = optionObj1.value; tempText = optionObj1.text; optionObj1.value = optionObj2.value; optionObj1.text = optionObj2.text; optionObj1.selected = false; optionObj2.value = tempValue; optionObj2.text = tempText; optionObj2.selected = true; } /* ----------------------------------------------------------------------------------------------------- */ // Item Selection in List -------------------------------------------------------------------- var selectedListItemID = ""; function SelectListItem(itemObj) { var i=0 var currentListItemID; var previousSelectedListItemID = selectedListItemID; currentListItemID = itemObj.id.split("_")[1]; if (currentListItemID == selectedListItemID) return; DeselectListItem() if (currentListItemID != previousSelectedListItemID) { selectedListItemID = currentListItemID; document.getElementById("listItem_"+currentListItemID).className = "cursorDefault"; document.getElementById("listItemText_"+currentListItemID).className = "listTextSelected"; } } function DeselectListItem() { var i=0 if (selectedListItemID) { document.getElementById("listItem_"+selectedListItemID).className = "cursorHand"; document.getElementById("listItemText_"+selectedListItemID).className = "listText"; selectedListItemID = ""; } } //----------------------------------------------------------------------------------------------------- function FlipNodeTypeElements(radioBtnNumber) { var currStatus = (radioBtnNumber)?true:false; if (!document.forms["f"].elements["nodeType"][0].checked && !document.forms["f"].elements["nodeType"][1].checked) document.forms["f"].elements["nodeType"][radioBtnNumber].checked = true; document.getElementById("updateTreeBtn1").disabled = currStatus; document.getElementById("nodeTypeName").disabled = currStatus; if (!currStatus) DeselectListItem(); document.getElementById("updateTreeBtn2").disabled = !currStatus; var rowsInList = document.getElementById("listTable").getElementsByTagName("TR"); for (var i=0; i 0 ){ var els = oForm.elements; for (var i=0; i 0 ){ addHidden( oForm, axis, els[i].value ); break; } //for any clicking on a node reset breadcrumbs oForm._resetBreadCrumbs.value = "true"; } } // 1st parameter is unused // 2nd parameter is forward name which already was in the form // 3rd paramerer id formName // 4th parameter is resetBc - always true - for any click on the node reset bc submitForm(null,oForm._forwardName.value,formName,"true",currentSubmit); return; } function removeHiddenField( form , fldName ){ attr = form[fldName]; if (typeof attr == "undefined") { return; } attr = ""; if (attr.removeNode){ attr.removeNode(); } } /* returns enclosing form with parameters taken from specified link href - specifies backup for link.href */ function getFormForSubmit( formName,link, href){ //var oForm = getEnclosingForm(link); var oForm = document[formName]; if (null == oForm) return null; return prepareFormForSubmit( oForm, link, href ); } /* Fill the form specified by oForm by the parameters taken from the link */ function prepareFormForSubmit( oForm, link, href ){ //use this temp variable to support Netscape if (link.href == "#"){ link.href = link.originalHref; } else { link.originalHref = link.href; } var localHref; if( !href ){ localHref = link.href; }else{ localHref = href; } //alert( "href!!!: "+localHref); ind = localHref.indexOf("?", 0); var parameters = localHref.substring(ind+1); parseParameters( oForm, parameters, "&", false); // reset href attribute. Use # to allow submit via JS in IE and Netscape!!! link.href = "#"; return oForm; } /* Add hidden to the specified form */ function addHidden(form, fldName, fldValue) { if (!fldName || (fldName==0)){ return; } var input=document.createElement('INPUT'); input.type='hidden'; input.id=fldName; input.name=fldName; input.value=fldValue; input.dynamicAttribute=true; form.appendChild(input); } function parseParameters(form, parameters, separator){ for (i=0; i < parameters.length; ) { ind = parameters.indexOf("=", i); var name = parameters.substring(i, ind); i=ind+1; ind = parameters.indexOf(separator, i); if( ind < 0 ){ ind = parameters.length; } value = parameters.substring(i, ind); i=ind+separator.length; var attr = form[name]; if (typeof attr == "undefined"){ // not exists addHidden( form, name, value ); } else { if (( typeof attr.newValue == "undefined" ) || ( attr.newValue == null )) { // exsists (first time) attr.value = value; } else { // exists (not first time) addHidden( form, name, value ); } } if (typeof form[name] != "undefined"){ form[name].newValue = true; } } var elements = form.elements; for(var i=0; i