var cloneNo = 0; var fChanged = 0; var bAllSelected = false; // SetPageID function sP(el) { document.forms[0].elements["pageID"].value = el.options[el.selectedIndex].value; document.forms[0].submit(); } // SetLanguage function sL(el) { if (document.getElementById('_doChangeLanguage') != null) { document.getElementById('_doChangeLanguage').value = 1; } document.forms[0].submit(); } // SetShowAll function showAll(el) { if (el.checked) { document.forms[0].elements["pageID"].value = 0; document.forms[0].elements["_showAll"].value = 1; } else { document.forms[0].elements["_showAll"].value = 0; } document.forms[0].submit(); } // SetSorting [parameters] function sS(fieldName, direction) { // if something changed about sorting, reset the pageID if (document.forms[0].elements["s[f]"].value != fieldName || document.forms[0].elements["s[d]"].value != direction) { document.forms[0].elements["pageID"].value = '0'; } document.forms[0].elements["s[f]"].value = fieldName; document.forms[0].elements["s[d]"].value = direction; document.forms[0].submit(); } // CheckClass function cC(el, focusLevel, baseClass) { if (!baseClass) baseClass = 'input'; //alert(focusLevel); el.setAttribute('focusLevel', el.getAttribute('focusLevel') * 1 + focusLevel); if (el.getAttribute('focusLevel') == 1) el.className = baseClass + 'Hover'; if (el.getAttribute('focusLevel') == 3) el.className = baseClass + 'Focus'; if (el.getAttribute('focusLevel') == 4) el.className = baseClass + 'Focus'; if (!(el.getAttribute('focusLevel') > 0)) el.className = baseClass; // check the 'save' checkbox on focus (on a field of a 'new' element) // OBSOLETE if (focusLevel == 3 && 0) { if ((el.name.indexOf('[_]') != -1) && (el.name.indexOf('|') != -1)) { strPotentialSaveBtnName = el.name.substring(0, el.name.indexOf('|')); if (document.getElementById(strPotentialSaveBtnName + '|_doSave[_]') != null) { if (document.getElementById(strPotentialSaveBtnName + '|_doSave[_]').type == 'checkbox') document.getElementById(strPotentialSaveBtnName + '|_doSave[_]').checked = true; } } } } function doCloneDoubleSelect(strParameterName) { rExp = /\[_\]/gi; cloneNo++; var j = 0; var newHiddenElement = new Array(); for (var i in document.forms[0].elements) { var _tmpName = (document.forms[0].elements[i]) ? String(document.forms[0].elements[i].name) : i; if (_tmpName.indexOf(strParameterName + '|') >= 0) {// || i.indexOf('r_' + strParameterName + '|') >= 0) { if (_tmpName.indexOf('[_]') >= 0) { parameterRelatedInput = document.getElementById(_tmpName); if (parameterRelatedInput) { newHiddenFieldName = parameterRelatedInput.name.replace(rExp, '[_' + cloneNo + ']'); newHiddenElement[j] = document.createElement("input"); newHiddenElement[j].setAttribute("name", newHiddenFieldName); newHiddenElement[j].setAttribute("id", newHiddenFieldName); newHiddenElement[j].setAttribute("type", "hidden"); newHiddenElement[j].setAttribute("value", parameterRelatedInput.value); j++; // alert(newHiddenElement); if(parameterRelatedInput.type != 'hidden') { var targetParameterName = parameterRelatedInput.name.substring(0, parameterRelatedInput.name.lastIndexOf('[_]')); if(gE(targetParameterName) && parameterRelatedInput.options.length) { var _option; if(parameterRelatedInput.selectedIndex >= 0) _option = parameterRelatedInput.options[parameterRelatedInput.selectedIndex]; if (_option != null) { fOptionExists = 0; for (i = 0; i < gE(targetParameterName).options.length; ++i) { if (gE(targetParameterName).options[i].value == _option.value) fOptionExists = 1; } if (!fOptionExists) { for(var k = 0; k < j; k++) { if(gE(strParameterName + '|_doDelete[_' + _option.value + ']')) document.forms[0].removeChild(gE(strParameterName + '|_doDelete[_' + _option.value + ']')); newHiddenElement[k].setAttribute("name", newHiddenElement[k].getAttribute("name").replace(cloneNo, _option.value)); document.forms[0].appendChild(newHiddenElement[k]); } gE(targetParameterName).options[gE(targetParameterName).options.length] = new Option(_option.text, '_' + _option.value); for (i = parameterRelatedInput.selectedIndex; i < parameterRelatedInput.options.length - 1; ++i) { parameterRelatedInput.options[i].value = parameterRelatedInput.options[i + 1].value; parameterRelatedInput.options[i].text = parameterRelatedInput.options[i + 1].text; } parameterRelatedInput.options.length = parameterRelatedInput.options.length - 1; } } else { newHiddenElement = new Array(); j = 0; } } } } } } } _pleaseWait = document.getElementById('pleaseWaitDiv'); _pleaseWait.style.display = 'none'; } function removeCloneDoubleSelect(strParameterName) { for (var i in document.forms[0].elements) { var _tmpName = (document.forms[0].elements[i]) ? String(document.forms[0].elements[i].name) : i; if (_tmpName.indexOf(strParameterName + '|') >= 0) {// || i.indexOf('r_' + strParameterName + '|') >= 0) { if (_tmpName.indexOf('[_]') >= 0) { parameterRelatedInput = document.getElementById(_tmpName); if (parameterRelatedInput) { if(parameterRelatedInput.type != 'hidden') { var sourceParameterName = parameterRelatedInput.name.substring(0, parameterRelatedInput.name.lastIndexOf('[_]')); if(gE(sourceParameterName) && gE(sourceParameterName).options.length) { var _option; if(gE(sourceParameterName).selectedIndex >= 0) _option = gE(sourceParameterName).options[gE(sourceParameterName).selectedIndex]; if (_option != null) { fOptionExists = 0; for (i = 0; i < parameterRelatedInput.options.length; ++i) { if (parameterRelatedInput.options[i].value == _option.value) fOptionExists = 1; } if (!fOptionExists) { parameterRelatedInput.options[parameterRelatedInput.options.length] = new Option(_option.text, _option.value.replace("_", "")); newHiddenFieldName = strParameterName + '|_doDelete[' + _option.value + ']'; newHiddenElement = document.createElement("input"); newHiddenElement.setAttribute("name", newHiddenFieldName); newHiddenElement.setAttribute("id", newHiddenFieldName); newHiddenElement.setAttribute("type", "hidden"); newHiddenElement.setAttribute("value", 1); document.forms[0].appendChild(newHiddenElement); for (i = gE(sourceParameterName).selectedIndex; i < gE(sourceParameterName).options.length - 1; ++i) { gE(sourceParameterName).options[i].value = gE(sourceParameterName).options[i + 1].value; gE(sourceParameterName).options[i].text = gE(sourceParameterName).options[i + 1].text; } gE(sourceParameterName).options.length = gE(sourceParameterName).options.length - 1; } } } } } } } } _pleaseWait = document.getElementById('pleaseWaitDiv'); _pleaseWait.style.display = 'none'; // newHiddenFieldName = elementName + '|_doDelete[' + elementID + ']'; // newHiddenElement = document.createElement("input"); // newHiddenElement.setAttribute("name", newHiddenFieldName); // newHiddenElement.setAttribute("type", "hidden"); // newHiddenElement.setAttribute("value", 1); // // document.forms[0].appendChild(newHiddenElement); } function loadURL(strConfirmation, strURL, popup, width, height, formIDDoPassBackURL) { var _isSP2 = (window.navigator.userAgent.indexOf("SV1")!= -1); var _heightPDistance = 30 + 20 * _isSP2; var _widthPDistance = 10; var _strBackURL = ''; if (!isNaN(formIDDoPassBackURL)) { _strBackURL = '&bU=' + escape(document.forms[formIDDoPassBackURL].getAttribute('backURL')) + '#'; } if (strConfirmation.length > 0) { var ok = confirm(strConfirmation); } else var ok = true; if (ok == true) { if(document.getElementById('closeAfterSubmit') && document.getElementById('closeAfterSubmit').value == 1) { window.close(); } if (popup == 1) { var shControlPanelPopUpWnd=window.open(strURL+'&setWindowWidth='+(width+_widthPDistance)+'&setWindowHeight='+(height+_heightPDistance)+_strBackURL, 'shControlPanelPopUpWnd', 'width='+width+',height='+height+',scrollbars=yes,status=no,menubar=no,resizable=no,top='+((screen.height-height)/2)+',left='+((screen.width-width)/2)); } else { window.location=strURL+_strBackURL; } } else { _activateBody(); } } // quick refine function quickRefine(fieldName, value, evt) { if (evt && evt.target) { e = evt; srcElement = e.target; } else if (window.event) { e = window.event; srcElement = e.srcElement; isIE = 1; } if (e.ctrlKey) if (gE('_doRefine[' + fieldName + ']')) { gE('_doRefine[' + fieldName + ']').value = value; document.forms[0].submit(); } } function imgPopup(urlAddress) { var widthpx = 600, heightpx = 400; var x = (screen.width-widthpx)/2; y = (screen.height-heightpx)/2; window.open(urlAddress, "CtrlWindow", "width="+widthpx+",height="+heightpx+", toolbar=no,menubar=no,location=no,scrollbars=yes,resizable=yes,screenX="+x+",screenY="+y+",left="+x+",top="+y); _activateBody(); } function Dimension(element){ this.x=-1; this.y=-1; this.w=0; this.h=0; if (element==document){ this.x=element.body.scrollLeft; this.y=element.body.scrollTop; this.w=element.body.clientWidth; this.h=element.body.clientHeight; }else if (element!=null){ var e=element; var left=e.offsetLeft; while ((e=e.offsetParent)!=null) { left+=e.offsetLeft; } var e=element; var top=e.offsetTop; while((e=e.offsetParent)!=null) { top+=e.offsetTop; } this.x=left; this.y=top; this.w=element.offsetWidth; this.h=element.offsetHeight; } } function populateMultipleItems(el, value) { var x = gE('multipleItems'); x.innerHTML = value; var dime = new Dimension(el); var dimdoc = new Dimension(document); x.style.left = (dime.x>dimdoc.x)?dime.x:dimdoc.x; x.style.top = (dime.y>dimdoc.y)?dime.y:dimdoc.y; x.style.display = 'block'; } function popup(urlAddress, widthpx, heightpx){ var x = (screen.width-widthpx)/2; y = (screen.height-heightpx)/2; window.open( urlAddress, "CtrlWindow", "width="+widthpx+",height="+heightpx+", toolbar=no,menubar=no,location=no,scrollbars=yes,resizable=no, screenX="+x+", screenY="+y+", left="+x+", top="+y); } function selectAll() { bAllSelected = !bAllSelected; for (var i in document.forms[0].elements) { var tmpName = (document.forms[0].elements[i]) ? String(document.forms[0].elements[i].name) : i; if (tmpName.indexOf('c[') >= 0) { document.forms[0].elements[i].checked = bAllSelected; hsr(document.forms[0].elements[i]); } } } // assigns ALT-Q to the first refine control (input / select / checkbox) function _setRefineHotkey() { if(document.forms[0]) for (var i in document.forms[0].elements) { var tmpName = (document.forms[0].elements[i]) ? String(document.forms[0].elements[i].name) : i; if (tmpName.indexOf('_doRefine[') >= 0) { document.forms[0].elements[i].setAttribute("accessKey", "q"); break; } } } function _resetRefineFilters() { for (var i in document.forms[0].elements) { var tmpName = (document.forms[0].elements[i]) ? String(document.forms[0].elements[i].name) : i; if (tmpName.indexOf('_doRefine[') >= 0) { document.forms[0].elements[i].value = ''; } } } function _onBeforeUnload(evt) { _body = document.getElementById('body'); // _body.disabled = true; isIE = (navigator.userAgent.indexOf('MSIE') > 0); if (isIE) { cWidth = document.body.clientWidth; cHeight = document.body.clientHeight; } else { cWidth = _body.clientWidth; cHeight = _body.clientHeight; } _pleaseWait = document.getElementById('pleaseWaitDiv'); _pleaseWait.style.width = cWidth + 'px'; _pleaseWait.style.height = cHeight + 'px'; _pleaseWait.style.display = 'block'; // alert(cWidth); } function _onLoad(evt) { _activateBody(); focusOnFirstC(); // _setRefineHotkey(); } function _onKeyDownC(evt) { var e, isIE = 0; if (evt && evt.target) { e = evt; srcElement = e.target; } else if (window.event) { e = window.event; srcElement = e.srcElement; isIE = 1; } var charTyped = e.keyCode; switch (charTyped) { // up arrow case 38: if (isIE) window.event.returnValue = false; else e.preventDefault(); var bFoundIt = 0; for (var i in document.forms[0].elements) if (bFoundIt != 2) { var tmpName = (document.forms[0].elements[i]) ? document.forms[0].elements[i].name : i; if (tmpName == srcElement.id) { bFoundIt = 1; } else if(bFoundIt) { if (previousC.name != null && previousC.name.indexOf('c[') != -1) { hr(srcElement.parentNode.parentNode, 0); previousC.focus(); hr(previousC.parentNode.parentNode, 1); bFoundIt = 2; } break; } else { previousC = document.forms[0].elements[i]; } } break; // down arrow case 40: if (isIE) window.event.returnValue = false; else e.preventDefault(); var bFoundIt = 0; for (var i in document.forms[0].elements) if (bFoundIt != 2) { var tmpName = (document.forms[0].elements[i]) ? document.forms[0].elements[i].name : i; if (tmpName == srcElement.id) { bFoundIt = 1; } else if(bFoundIt) { if (tmpName != null && tmpName.indexOf('c[') != -1) { nextC = document.getElementById(tmpName); hr(srcElement.parentNode.parentNode, 0); nextC.focus(); hr(nextC.parentNode.parentNode, 1); bFoundIt = 2; } break; } } break; // enter case 13: if (isIE) window.event.returnValue = false; else e.preventDefault(); // the first TD var actionsCell = srcElement.parentNode; for (var i=0; i < actionsCell.childNodes.length; i++) { //alert(actionsCell.childNodes[i].tagName); if (actionsCell.childNodes[i].tagName == 'A' && actionsCell.childNodes[i].href.indexOf('displayEditSH') != -1) eval(actionsCell.childNodes[i].href); } break; // del case 46: if (isIE) window.event.returnValue = false; else e.preventDefault(); // the first TD var actionsCell = srcElement.parentNode; for (var i=0; i < actionsCell.childNodes.length; i++) { //alert(actionsCell.childNodes[i].tagName); if (actionsCell.childNodes[i].tagName == 'A' && actionsCell.childNodes[i].href.indexOf('doDeleteSH') != -1) eval(actionsCell.childNodes[i].href); } break; // default: // alert(charTyped); } } // focus the first row checkbox; function focusOnFirstC() { var n = 0; if(document.forms[0]) for (var i in document.forms[0].elements) { var tmpName = (document.forms[0].elements[i]) ? String(document.forms[0].elements[i].name) : i; if (tmpName.indexOf('c[') >= 0) { document.forms[0].elements[i].focus(); if (document.forms[0].elements[i].parentNode.parentNode.getAttribute('bHasHadFocus') == 1) hr(document.forms[0].elements[i].parentNode.parentNode, 0); hr(document.forms[0].elements[i].parentNode.parentNode, 1); document.forms[0].elements[i].parentNode.parentNode.setAttribute('bHasHadFocus', 1); break; } n++; } } function _onAbort(evt) { // alert("z"); } function _activateBody() { _body = document.getElementById('body'); // _body.disabled = false; _pleaseWait = document.getElementById('pleaseWaitDiv'); _pleaseWait.style.display = 'none'; } /* * Cloning */ function doClone(strNodeToCloneID) { nodeToClone = document.getElementById(strNodeToCloneID); parentNode = nodeToClone.parentNode; var clonedElem = nodeToClone.cloneNode(true); if (clonedElem.style.display == 'none') clonedElem.style.display = 'block'; myString = clonedElem.innerHTML; rExp = /\[_\]/gi; cloneNo++; results = myString.replace(rExp, '[_' + cloneNo + ']') /* "selected" lost during cloning */ results = results.replace(/ghostSelected=\"1\"/, 'selected') results = results.replace(/ghostselected=\"1\"/, 'selected') clonedElem.innerHTML = results; clonedElem.id = clonedElem.id.replace(rExp, '[_' + cloneNo + ']') // also clone hidden fields (that aren't inside the cloned div - so search for them first) strParameterName = nodeToClone.id.substr(nodeToClone.id.indexOf('[') + 1, nodeToClone.id.indexOf(']') - nodeToClone.id.indexOf('[') - 1); for (var i in document.forms[0].elements) { var _tmpName = (document.forms[0].elements[i]) ? String(document.forms[0].elements[i].name) : i; if (_tmpName.indexOf(strParameterName + '|') >= 0) {// || i.indexOf('r_' + strParameterName + '|') >= 0) { if (_tmpName.indexOf('[_]') >= 0) { parameterRelatedInput = document.getElementById(_tmpName); //alert(parameterRelatedInput); if (parameterRelatedInput && parameterRelatedInput.type == 'hidden') { newHiddenFieldName = parameterRelatedInput.name.replace(rExp, '[_' + cloneNo + ']'); //strNewElement = ""; //newHiddenElement = document.createElement(strNewElement); newHiddenElement = document.createElement("input"); newHiddenElement.setAttribute("name", newHiddenFieldName); newHiddenElement.setAttribute("type", "hidden"); newHiddenElement.setAttribute("value", parameterRelatedInput.value); clonedElem.appendChild(newHiddenElement); } } } } parentNode.appendChild(clonedElem); //alert(parentNode.innerHTML); performAfterCloning(cloneNo); } function removeClone(divElem) { // set this entry as deleted elementName = divElem.id.substr(divElem.id.indexOf('[') + 1, divElem.id.indexOf(']') - divElem.id.indexOf('[') - 1); elementID = divElem.id.substr(divElem.id.indexOf(']') + 2, divElem.id.length - divElem.id.indexOf(']') - 3); newHiddenFieldName = elementName + '|_doDelete[' + elementID + ']'; newHiddenElement = document.createElement("input"); newHiddenElement.setAttribute("name", newHiddenFieldName); newHiddenElement.setAttribute("type", "hidden"); newHiddenElement.setAttribute("value", 1); document.forms[0].appendChild(newHiddenElement); // visual removal //divElem.removeNode(true); //removeNode(divElem); divElem.parentNode.removeChild(divElem); performAfterCloneRemoval(elementID, elementName); } function startCalendar(inputName) { Calendar.setup({ inputField : inputName, // id of the input field ifFormat : "%Y-%m-%d %H:%M", // format of the input field showsTime : true, // will display a time selector button : "f_trigger_" + inputName, // trigger for the calendar (button ID) singleClick : false, // double-click mode step : 1 // show all years in drop-down boxes (instead of every other year as default) }); } function enableEditor(fieldName, configBaseHref, toolbarSet) { el = document.getElementById(fieldName); TDElement = el.parentNode; if (el.type != 'hidden') { // old branch } else { newTAElement = document.createElement("textarea"); newTAElement.setAttribute("name", el.name); newTAElement.setAttribute("id", el.name); newTAElement.value = el.value; TDElement.innerHTML = ''; TDElement.appendChild(newTAElement); } var oFCKeditor = new FCKeditor(fieldName); oFCKeditor.BasePath = "js/jseditor/"; oFCKeditor.Config['BaseHref'] = configBaseHref; oFCKeditor.Height = 300; oFCKeditor.Width = 740; oFCKeditor.ToolbarSet = toolbarSet; oFCKeditor.ReplaceTextarea(); newHiddenElement = document.createElement("input"); newHiddenElement.setAttribute("type", "hidden"); newHiddenElement.setAttribute("name", '_editorEnabled[' + el.name + ']'); newHiddenElement.setAttribute("value", 1); TDElement.appendChild(newHiddenElement); fChanged = 1; } /* * Overridden if necessary in module's js */ // event handler function frmElemEventHandler(el, eventType) { // onChange if (eventType == 3) { fChanged = 1; } } // after cloning function performAfterCloning(cloneNo) { // FF hack if(!document.all) { top.window.resizeBy(-1, -1); top.window.resizeBy(1, 1); top.window.moveTo(top.window.screenX, top.window.screenY); } } // after clone removal function performAfterCloneRemoval(elementID, elementName) { } // sortOrder var DragEl; var TheTimer = 0; if(document.all || 1) { document.onmousedown=DragStart; document.onmouseup=DragEnd; document.onmousemove=DoDrag; window.onabort=_onAbort; // window.onload=_onLoad; } function DragStart(evt){ TheTimer=0; var srcElement; if (evt && evt.target) { srcElement = evt.target; if (srcElement.nodeType == 3) { srcElement = srcElement.parentNode; } } else if (window.event) { srcElement = window.event.srcElement; } el = srcElement; if(el.className=='draggable'){ DragEl=el; return false; } } function DragEnd(evt) { var TargetElem; if(!DragEl) return; var srcElement; if (evt && evt.target) { srcElement = evt.target; if (srcElement.nodeType == 3) { srcElement = srcElement.parentNode; } } else if (window.event) { srcElement = window.event.srcElement; } if (srcElement.tagName == 'IMG' && srcElement.className == 'draggable' && srcElement != DragEl) TargetElem = srcElement; if (TargetElem != 'undefined' && TargetElem != null) { for (i=0; i < arrSO.length; i++) { if (arrSO[i] == TargetElem.getAttribute('internalID')) { TargetItemIndex = i; TargetItemID = TargetElem.getAttribute('internalID'); } else if (arrSO[i] == DragEl.getAttribute('internalID')) { DragItemIndex = i; DragItemID = DragEl.getAttribute('internalID'); } } _DragItemIndex = DragItemIndex; _TargetItemIndex = TargetItemIndex; var _DragEl = DragEl; if (TargetItemIndex > DragItemIndex) { if (DragEl.parentNode.parentNode.nextSibling) if (DragEl.parentNode.parentNode.nextSibling.nextSibling.childNodes[1].childNodes[0] || DragEl.parentNode.parentNode.nextSibling.firstChild.firstChild) { if (evt) { TargetElem = DragEl.parentNode.parentNode.nextSibling.nextSibling.childNodes[1].childNodes[0]; } else { TargetElem = DragEl.parentElement.parentElement.nextSibling.firstChild.firstChild; } for (i=_DragItemIndex + 1; i <= _TargetItemIndex; i++) { for (j=0; j < arrSO.length; j++) { if (arrSO[j] == TargetElem.getAttribute('internalID')) { TargetItemIndex = j; TargetItemID = TargetElem.getAttribute('internalID'); } else if (arrSO[j] == DragEl.getAttribute('internalID')) { DragItemIndex = j; DragItemID = DragEl.getAttribute('internalID'); } } //alert(TargetItemID); swapAll(DragEl, TargetElem, DragItemIndex, DragItemID, i, TargetItemID, evt); if (evt) { if (TargetElem.parentNode.parentNode.nextSibling.nextSibling && TargetElem.parentNode.parentNode.nextSibling.nextSibling.childNodes[1] && TargetElem.parentNode.parentNode.nextSibling.nextSibling.childNodes[1].childNodes[0]) { //alert(TargetElem.parentNode.parentNode.nextSibling.nextSibling.childNodes[1].childNodes[0].getAttribute('internalID')); aux = TargetElem; TargetElem = TargetElem.parentNode.parentNode.nextSibling.nextSibling.childNodes[1].childNodes[0]; DragEl = aux; } else ; } // this is MSIE else { if (TargetElem.parentNode.parentNode.nextSibling && TargetElem.parentNode.parentNode.nextSibling.firstChild.firstChild) { //alert(TargetElem.parentNode.parentNode.nextSibling.firstChild.firstChild.getAttribute('internalID')); aux = TargetElem; TargetElem = TargetElem.parentNode.parentNode.nextSibling.firstChild.firstChild; DragEl = aux; } } } } } else if (TargetItemIndex < DragItemIndex) { if (DragEl.parentNode.parentNode.previousSibling.previousSibling.childNodes[1].childNodes[0] || DragEl.parentNode.parentNode.previousSibling.firstChild.firstChild) { if (evt) TargetElem = DragEl.parentNode.parentNode.previousSibling.previousSibling.childNodes[1].childNodes[0]; else TargetElem = DragEl.parentNode.parentNode.previousSibling.firstChild.firstChild; for (i=_DragItemIndex - 1; i >= _TargetItemIndex; i--) { for (j=0; j < arrSO.length; j++) { if (arrSO[j] == TargetElem.getAttribute('internalID')) { TargetItemIndex = j; TargetItemID = TargetElem.getAttribute('internalID'); } else if (arrSO[j] == DragEl.getAttribute('internalID')) { DragItemIndex = j; DragItemID = DragEl.getAttribute('internalID'); } } swapAll(DragEl, TargetElem, DragItemIndex, DragItemID, i, TargetItemID, evt); if (evt) { //alert(TargetElem.parentNode.parentNode.previousSibling.previousSibling.tagName); if (TargetElem.parentNode.parentNode.previousSibling.previousSibling && TargetElem.parentNode.parentNode.previousSibling.previousSibling.childNodes[1] && TargetElem.parentNode.parentNode.previousSibling.previousSibling.childNodes[1].childNodes[0]) { aux = TargetElem; TargetElem = TargetElem.parentNode.parentNode.previousSibling.previousSibling.childNodes[1].childNodes[0]; DragEl = aux; } else ; } // this is MSIE else { //alert(TargetElem.parentNode.parentNode.previousSibling.tagName); if (TargetElem.parentNode.parentNode.previousSibling && TargetElem.parentNode.parentNode.previousSibling.firstChild.firstChild) { aux = TargetElem; TargetElem = TargetElem.parentNode.parentNode.previousSibling.firstChild.firstChild; DragEl = aux; } } } } } } TargetElem = null; if (_DragEl) _DragEl.parentNode.parentNode.style.visibility="visible"; else DragEl.parentNode.parentNode.style.visibility="visible"; document.getElementById('MMDiv').style.display='none'; DragEl=null; TheTimer = 0; // if (!evt) // document.getElementById('sortOrderSnd').Play(); } function swapAll(DragEl, TargetElem, DragItemIndex, DragItemID, TargetItemIndex, TargetItemID, evt) { var i; targetSpan = new Array(); targetSpanTD = new Array(); dragSpan = new Array(); dragSpanTD = new Array(); for (i=1; i <= nTableCells; i++) { aux = document.getElementById('mCell'+i+'['+TargetItemID+']').innerHTML; // alert(aux); document.getElementById('mCell'+i+'['+TargetItemID+']').innerHTML = document.getElementById('mCell'+i+'['+DragItemID+']').innerHTML; document.getElementById('mCell'+i+'['+DragItemID+']').innerHTML = aux; if (evt) { //alert(document.getElementById('mCell'+i+'['+TargetElem.getAttribute('internalID')+']').parentNode.nextSibling.nextSibling.childNodes[1].childNodes[0].getAttribute('internalID')); targetSpan[i] = document.getElementById('mCell'+i+'['+TargetElem.getAttribute('internalID')+']').parentNode.childNodes[1].childNodes[0]; targetSpanTD[i] = document.getElementById('mCell'+i+'['+TargetElem.getAttribute('internalID')+']'); dragSpan[i] = document.getElementById('mCell'+i+'['+DragEl.getAttribute('internalID')+']').parentNode.childNodes[1].childNodes[0]; dragSpanTD[i] = document.getElementById('mCell'+i+'['+DragEl.getAttribute('internalID')+']'); } // this is MSIE else { //alert(document.getElementById('mCell'+i+'['+TargetElem.getAttribute('internalID')+']').parentNode.firstChild.firstChild.getAttribute('internalID')); targetSpan[i] = document.getElementById('mCell'+i+'['+TargetElem.getAttribute('internalID')+']').parentNode.firstChild.firstChild; targetSpanTD[i] = document.getElementById('mCell'+i+'['+TargetElem.getAttribute('internalID')+']'); dragSpan[i] = document.getElementById('mCell'+i+'['+DragEl.getAttribute('internalID')+']').parentNode.firstChild.firstChild; dragSpanTD[i] = document.getElementById('mCell'+i+'['+DragEl.getAttribute('internalID')+']'); } } for (i=1; i <= nTableCells; i++) { targetSpan[i].setAttribute('internalID', DragItemID); targetSpanTD[i].id='mCell'+i+'['+DragItemID+']'; dragSpan[i].setAttribute('internalID', TargetItemID); dragSpanTD[i].id='mCell'+i+'['+TargetItemID+']'; } arrSO[TargetItemIndex] = DragItemID; arrSO[DragItemIndex] = TargetItemID; } function DoDrag(evt){ if (TheTimer == 0 && DragEl) { el.parentNode.parentNode.style.visibility="hidden"; d = document.getElementById('MMDiv'); d.style.display='block'; d.style.background=document.getElementById('mCell1['+DragEl.getAttribute('internalID')+']').style.background; //alert(nTableCells); d.innerHTML=''; for (i=1; i <= nTableCells; i++) { d.innerHTML+=''; } d.innerHTML+='
  '+document.getElementById('mCell'+i+'['+DragEl.getAttribute('internalID')+']').innerHTML+' |
'; TheTimer = 1; } if (evt) { _x = evt.clientX; _y = evt.clientY; } else { _x = window.event.x; _y = window.event.y; } if (DragEl) { d = document.getElementById('MMDiv'); if (d) d.style.top=_y+document.body.scrollTop+(1);d.style.left=_x+1; return false; } return false; } function prepareSortOrder() { var strOrder = ''; for (i=1; i < arrSO.length; i++) strOrder += i + '=' + ( arrSO[i] ) + '&'; document.forms[0].method='POST'; document.forms[0].strSortOrder.value=strOrder; } // highlightRow when mouseover function validate_decimal_input ( inpstr ) { var hexstr = ""; inpstr = strip_to_number ( inpstr ); if ( inpstr.length ) var red = parseInt ( inpstr, 10 ); else return ( hexstr ); inpstr = strip_number ( inpstr ); inpstr = strip_to_number ( inpstr ); if ( inpstr.length ) var grn = parseInt ( inpstr, 10 ); else return ( hexstr ); inpstr = strip_number ( inpstr ); inpstr = strip_to_number ( inpstr ); if ( inpstr.length ) var blu = parseInt ( inpstr, 10 ); else return ( hexstr ); if ( red < 0 || red > 255) return ( hexstr ); else if ( grn < 0 || grn > 255) return ( hexstr ); else if ( blu < 0 || blu > 255) return ( hexstr ); hexstr = convert_to_hex ( red ); hexstr += convert_to_hex ( grn ); hexstr += convert_to_hex ( blu ); return ( hexstr ); } function strip_to_number ( inpstr ) { for (var pos=0; pos= '0' && ch <= '9' ) break; } inpstr = inpstr.substring ( pos, inpstr.length ); return ( inpstr ); } function strip_number ( inpstr ) { for (var pos=0; pos '9' ) break; } inpstr = inpstr.substring ( pos, inpstr.length ); return ( inpstr ); } function convert_to_hex ( num ) { var digit = new Array ( "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F" ); var n1 = Math.floor ( num / 16 ); var n2 = num - n1 * 16; var retstr = digit[ n1 ]; retstr += digit[ n2 ]; return ( retstr ); } function hr(el, state) { row = el; if (row.getAttribute('bChecked') != 1) if (state == 1) { // 1/5/2006 19:57 AT (highlight row for firefox) var _tmpC; if(parseInt(row.style.background.substr(1), 16)) { _tmpC = parseInt(row.style.background.substr(1), 16); } else { _tmpC = row.style.background.substr(4); _tmpC = _tmpC.substr(0, _tmpC.indexOf(')')); _tmpC = parseInt(validate_decimal_input(_tmpC), 16); } //alert(_tmpC); var c = decToRadix(_tmpC + 15658734, 16); // EEEEEE = 15658734; EFEFEF = 15724527 row.style.background = '#' + String(c).substr(String(c).length - 6); } else { row.style.background=row.getAttribute('sbgcolor'); } } // highlightSelectedRow when checkbox is on function hsr(el) { row = el.parentNode.parentNode; if (el.checked == true) { row.style.background=row.getAttribute('sbgcolor'); var _tmpC; if(parseInt(row.style.background.substr(1), 16)) { _tmpC = parseInt(row.style.background.substr(1), 16); } else { _tmpC = row.style.background.substr(4); _tmpC = _tmpC.substr(0, _tmpC.indexOf(')')); _tmpC = parseInt(validate_decimal_input(_tmpC), 16); } var c = decToRadix(_tmpC + 14540253, 16); // EEEEEE = 15658734; EFEFEF = 15724527 row.setAttribute('bChecked', 1); row.style.background = '#' + String(c).substr(String(c).length - 6); } else { row.setAttribute('bChecked', 0); row.style.background=row.getAttribute('sbgcolor'); } } function decToRadix(value,radix){ function initArray() { this.length = initArray.arguments.length; for (var i = 0; i < this.length; i++) this[i] = initArray.arguments[i]; } var retval = ''; var ConvArray = new initArray(0,1,2,3,4,5,6,7,8,9,'A','B','C','D','E','F'); var intnum; var tmpnum; var i = 0; intnum = parseInt(value,10); if (isNaN(intnum)){ retval = 'NaN'; }else{ while (intnum > 0.9){ i++; tmpnum = intnum; // cancatinate return string with new digit: retval = ConvArray[tmpnum % radix] + retval; intnum = Math.floor(tmpnum / radix); if (i > 100){ // break infinite loops retval = 'NaN'; break; } } } return retval; } //function _keyPressed(e) { //// alert(window.event); // } function customValidationFrm () { return ''; } function gE(elemID) { return document.getElementById(elemID); } /* * Prevent double insertion */ var http_request_di = false; function _makePOSTRequest(url, parameters) { http_request_di = false; if (window.XMLHttpRequest) { // Mozilla, Safari,... http_request_di = new XMLHttpRequest(); if (http_request_di.overrideMimeType) { http_request_di.overrideMimeType('text/xml'); } } else if (window.ActiveXObject) { // IE try { http_request_di = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { http_request_di = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } if (!http_request_di) { alert('Cannot create XMLHTTP instance'); return false; } http_request_di.onreadystatechange = handleHTTPResponse1; http_request_di.open('POST', url, true); http_request_di.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); http_request_di.setRequestHeader("Content-length", parameters.length); http_request_di.setRequestHeader("Connection", "close"); http_request_di.send(parameters); _onBeforeUnload(); } function frmElemEventHandler(el, eventType) { // onChange if (eventType == 3) { fChanged = 1; } } function doSubmitForm(evt) { var e = (window.event) ? window.event : evt; e.cancelBubble=true; var path = unescape(document.forms[0].updateSessPageRandURL.value); var parameters = 'rand=' + gE('pageRand').value; //makePOSTRequest(path, 'rand=' + gE('pageRand').value, ); makePOSTRequest(path, parameters, 'handleHTTPResponse1'); return false; } function handleHTTPResponse1() { if (http_request_di.readyState == 4) { if (http_request_di.status == 200) { document.forms[0].submit(); _activateBody(); } else { _activateBody(); alert('There was a problem with the request.'); } } } //FACTURI function doCloneX(strNodeToCloneID) { nodeToClone = document.getElementById(strNodeToCloneID); parentNode = nodeToClone.parentNode; var clonedElem = nodeToClone.cloneNode(true); if (clonedElem.style.display == 'none') { clonedElem.style.display = ''; } rExp = /\[_\]/gi; cloneNo++; for(i=0; i < clonedElem.childNodes.length; i++) { var xxl = clonedElem.childNodes[i].innerHTML; if(xxl) { clonedElem.childNodes[i].innerHTML = xxl.replace(rExp,'[_'+cloneNo+']'); } } clonedElem.id = clonedElem.id.replace(rExp, '[_' + cloneNo + ']'); // also clone hidden fields (that aren't inside the cloned div - so search for them first) strParameterName = nodeToClone.id.substr(nodeToClone.id.indexOf('[') + 1, nodeToClone.id.indexOf(']') - nodeToClone.id.indexOf('[') - 1); for (var i in document.forms[1].elements) { var _tmpName = (document.forms[1].elements[i]) ? String(document.forms[1].elements[i].name) : i; if (_tmpName.indexOf(strParameterName + '|') >= 0) {// || i.indexOf('r_' + strParameterName + '|') >= 0) { if (_tmpName.indexOf('[_]') >= 0) { parameterRelatedInput = document.getElementById(_tmpName); if (parameterRelatedInput && parameterRelatedInput.type == 'hidden') { newHiddenFieldName = parameterRelatedInput.name.replace(rExp, '[_' + cloneNo + ']'); //strNewElement = ""; //newHiddenElement = document.createElement(strNewElement); /*newTDHiddenElement = document.createElement("td"); parentNode.clonedElem.appendChild(newTDHiddenElement);*/ newHiddenElement = document.createElement("input"); newHiddenElement.setAttribute("name", newHiddenFieldName); newHiddenElement.setAttribute("type", "hidden"); newHiddenElement.setAttribute("value", parameterRelatedInput.value); clonedElem.appendChild(newHiddenElement); } } } } parentNode.appendChild(clonedElem); performAfterCloning(cloneNo); } function removeCloneX(elem) { var divElem = document.getElementById(elem); // set this entry as deleted elementName = divElem.id.substr(divElem.id.indexOf('[') + 1, divElem.id.indexOf(']') - divElem.id.indexOf('[') - 1); elementID = divElem.id.substr(divElem.id.indexOf(']') + 2, divElem.id.length - divElem.id.indexOf(']') - 3); newHiddenFieldName = elementName + '|_doDelete[' + elementID + ']'; newHiddenElement = document.createElement("input"); newHiddenElement.setAttribute("name", newHiddenFieldName); newHiddenElement.setAttribute("type", "hidden"); newHiddenElement.setAttribute("value", 1); document.forms[1].appendChild(newHiddenElement); // visual removal //divElem.removeNode(true); //removeNode(divElem); if(elem == 'xxx[_]') { divElem.style.display="none"; //alert('Factura trebuie sa contina cel putin un produs'); } else { divElem.parentNode.removeChild(divElem); performAfterCloneRemoval(elementID, elementName); } } arrPrice = new Array(); function refreshTva(buc,unitar,total, oTva, cotaTva, createTotal) { var bucV = document.getElementById(buc).value; //buc var pretV = document.getElementById(unitar).value; //pret unitar //tmp var totalTmp = parseInt(bucV)*parseFloat(pretV); document.getElementById(total).value = totalTmp.toFixed(2); //total pret fara tva var tvaTmp = (parseFloat(document.getElementById(total).value)/100)*parseFloat(document.getElementById(cotaTva).value); document.getElementById(oTva).value = tvaTmp.toFixed(2); if(createTotal) { createTotalPrice(); } } function createTotalPrice() { arrPrice[0] = 0; arrPrice[1] = 0; for(var i in document.forms[1].elements) { _tmpX = (document.forms[1].elements[i]) ? String(document.forms[1].elements[i].name) : i; if (_tmpX.indexOf('total[') >= 0) { if(!isNaN(parseFloat(document.forms[1].elements[i].value)) && document.forms[1].elements[i].value != null) arrPrice[0] += parseFloat(document.forms[1].elements[i].value); } if (_tmpX.indexOf('onlyTva[') >= 0) { if(!isNaN(parseFloat(document.forms[1].elements[i].value)) && document.forms[1].elements[i].value != null) arrPrice[1] += parseFloat(document.forms[1].elements[i].value); } } document.getElementById('totalPrice').value = arrPrice[0].toFixed(2); document.getElementById('totalTva').value = arrPrice[1].toFixed(2); var tmpTotal = parseFloat(document.getElementById('totalTva').value)+parseFloat(document.getElementById('totalPrice').value); document.getElementById('totalPricePlusTva').value = tmpTotal.toFixed(2); //alert(arrPrice); } function redoTva() { var cz = 0; //count elements var tableItems = document.getElementsByTagName('tr'); for (var i in tableItems) { if(tableItems[i]) { _tmpX = tableItems[i].id; if(_tmpX) if(_tmpX.indexOf('xxx[_') >= 0) { var tmpObj = document.getElementById(_tmpX); if(tmpObj.id != 'xxx[_]') { var idz = tmpObj.id.replace(/xxx/gi,''); refreshTva('buc'+idz,'unitar'+idz,'total'+idz,'onlyTva'+idz,'cTva',true); } } } } } function fieldRestriction(el, goods) { var myString = el.value; for(var i = 0; i <= myString.length; i++) { if(goods.indexOf(myString.charAt(i)) == -1) { //return myString.substring(0, i); el.value = el.value.substr(0,el.value.length-1); return false; } } return true; //return myString; }