var oLayerMouseDown_ = null; var aTimeout = new Array(); function ClearAllTimeouts(){ for(var i=aTimeout.length-1; i>=0; i--){ clearTimeout(aTimeout[i]); aTimeout.length--; } } var oPopupFolder_ = new Array(null,null,null,null,null,null,null,null,null,null); var oMouseOverFolder_ = new Array(null,null,null,null,null,null,null,null,null,null); var oClickedFolder_ = new Array(null,null,null,null,null,null,null,null,null,null); var oDragFolder_ = null; var aHide = new Array(); function Init(){ document.oncontextmenu = Nothing; document.onmousedown = Nothing; document.onmousemove = Nothing; document.onmouseup = Nothing; document.onkeydown = Something; document.onkeyup = Something; document.onkeypress = Something; InitFolders(); var sUrl = ""; try{ sUrl = String(top.location); }catch(e){ try{ sUrl = String(parent.location); }catch(e2){ try{ sUrl = String(self.location); }catch(e3){ } } } sObjectId = '?pa='; var iIndex = sUrl.indexOf(sObjectId); if(iIndex>0){ try{ var sId = sUrl.slice(iIndex+sObjectId.length,sUrl.length); if(isNaN()){ setTimeout("OpenUrlS('" + sId + "','');",100); }else{ setTimeout("OpenUrlS('/joodit.jsp?pa=" + sId + "','');",100); } }catch(e4){ setTimeout("OpenFirstFolder();",100); } } else{ setTimeout("OpenFirstFolder();",100); } } function OpenFirstFolder(){ for(var i=0; i=0; iLevel--){ if(oMouseOverFolder_[iLevel]!=null){ if(oFolder!=null && oMouseOverFolder_[iLevel]==oFolder){ break; } else{ oMouseOverFolder_[iLevel].setClassName(oMouseOverFolder_[iLevel]==oClickedFolder_[iLevel],false); oMouseOverFolder_[iLevel] = null; } } if((oFolder!=null) && (iLevel==oFolder.getLevel())){ oFolder = oFolder.getParent(); } } } function ResetClickedFolderes(iFolderIndex){ var oFolder = oFolders[iFolderIndex]; for(var iLevel=oClickedFolder_.length-1; iLevel>=0; iLevel--){ if(oClickedFolder_[iLevel]!=null){ if(oClickedFolder_[iLevel]!=oFolder){ oClickedFolder_[iLevel].setClassName(false,false); oClickedFolder_[iLevel] = null; } } if((oFolder!=null) && (iLevel==oFolder.getLevel())){ oFolder = oFolder.getParent(); } } } function ResetPopupFolders(iFolderIndex){ var oFolder = oFolders[iFolderIndex]; var bHide = false; for(var iLevel=oPopupFolder_.length-1; iLevel>=0; iLevel--){ if(oPopupFolder_[iLevel]!=null){ if(oFolder!=null && oPopupFolder_[iLevel]==oFolder.getParent()){ break; } else{ oPopupFolder_[iLevel].hidePopup(); oPopupFolder_[iLevel] = null; bHide = true; } } if((oFolder!=null) && (iLevel==oFolder.getLevel())){ oFolder = oFolder.getParent(); } } if(bHide){ showAfterPopup(); } } function ResetAllFolders(iFolderIndex){ ResetMouseOverFolders(iFolderIndex); ResetClickedFolderes(iFolderIndex); ResetPopupFolders(iFolderIndex); HideAdminPop(); } function hideForPopup(){ for(var j=0; j0){ ObjectClear(oAdminPopLayer); oAdminPop = null; for(var i=0; i' + aCap[i] + ''; LayerAddHTML(oAdminPopLayer,sNewHtml); oAdminPop = GetObject('adminPop' + i); LayerSetY(oAdminPop,(LayerGetH(oAdminPop)-1)*i); } oLastChild = LayerGetLastChild(oAdminPopLayer,'div'); var iFrameH = GetFrameHeight(); var iFrameW = GetFrameWidth(); var iPopupH = LayerGetY(oLastChild) + LayerGetH(oLastChild); var iPopupW = LayerGetW(oLastChild); var iY = e.clientY + document.body.scrollTop - 5; var iX = e.clientX + document.body.scrollLeft - 5; if(iY>iFrameH-iPopupH){ iY = iY - iPopupH + 10; } if(iX>iFrameW-iPopupW){ iX = iX - iPopupW + 10; } LayerMoveTo(oAdminPopLayer,iX,iY); hideForPopup(); LayerShow(oAdminPopLayer); } } function HideAdminPop(){ if(IsAdminPopVisible()){ LayerHide(GetObject('adminPopLayer')); GetObject('adminPopLayer').innerHTML =''; showAfterPopup(); } } function login(){ OpenUrlS('/joodit.jsp?pa=33',''); } var iLoginMode_ = 2; function loginLayerMouseDown(oLayer,e){ if(isLeftButton(e)){ layerMouseDown(oLayer,e); } else if(isRightButton(e)){ loginPopup(oLayer,e); } } function layerMouseDown(oLayer,e){ e.cancelBubble = true; if(oDragFolder_==null){ if(isLeftButton(e)){ if(iLoginMode_==3){ oLayerMouseDown_ = oLayer; iLayerOffsetX_ = e.clientX - LayerGetX(oLayer); iLayerOffsetY_ = e.clientY - LayerGetY(oLayer); window.status= oLayer.className + ' x:' + LayerGetX(oLayer) + ' y:' + LayerGetY(oLayer); } } } return false; } function SetLoginMode(iLoginMode){ iLoginMode_ = iLoginMode; ShowHideAdminLayers(iLoginMode_); if(iLoginMode==1){ ToReadMode(); } } function ShowHideAdminLayers(iLoginMode){ for (var i=0; i=value.slice(iStart,iStart+1)){ if(oMainDiv.innerHTML!=''){ LayerShow(oMainDiv); } } else{ LayerHide(oMainDiv); } } } } function loginPopup(oLayer,e){ e.cancelBubble = true; if(isRightButton(e)){ } return false; } function imageMouseDown(id,largeImage, relatedId,folderId, e){ e.cancelBubble = true; if(isRightButton(e)){ var aCap = new Array(); var aAct = new Array(); var url = "/joodit.jsp?pa=" + id; aCap[aCap.length] = 'Bild'; aAct[aAct.length] = "OpenUrlS('" + url + "','_blank');"; if(largeImage){ var largeUrl = url.toString() + "&type=1"; aCap[aCap.length] = 'Stor bild'; aAct[aAct.length] = "OpenUrlS('" + largeUrl + "','_blank');"; } if(relatedId!=-1){ aCap[aCap.length] = 'Ändra'; aAct[aAct.length] = "if(uploadImage(" + folderId + "," + relatedId + ",0)){OpenUrlS('/joodit.jsp?pa=" + folderId + "','');}"; aCap[aCap.length] = 'Radera'; aAct[aAct.length] = "if(confirm('Vill du verkligen?') && deleteObjects(" + relatedId + ")){OpenUrlS('" + folderId + "',''); }"; } ShowAdminPop(aCap,aAct,e); } return false; } function folderMoveTo(x,y){ LayerMoveTo(this.div_,x,y); } folder.prototype.moveTo = folderMoveTo; function layerMouseMove(oLayer,e){ if(iLoginMode_==3 && oDragFolder_==null){ var x = e.clientX+document.body.scrollLeft; var y = e.clientY+document.body.scrollTop; if(x < LayerGetX(oLayer)+5 && x > LayerGetX(oLayer)){ oLayer.style.cursor = 'hand'; oLayerSizeOption_ = 1; } else if(y < LayerGetY(oLayer)+5 && y > LayerGetY(oLayer)){ oLayer.style.cursor = 'hand'; oLayerSizeOption_ = 2; } else{ oLayer.style.cursor = 'move'; oLayerSizeOption_ = 5; } } else{ oLayer.style.cursor = 'default'; } return false; } function makeArrowRight(oParentDiv){ var sColor = getCurrentStyle(oParentDiv,'color'); if(sColor==''){ sColor = '#FFFFFF'; } LayerAddHTML(oParentDiv,'
'); LayerAddHTML(oParentDiv,'
'); LayerAddHTML(oParentDiv,'
'); LayerAddHTML(oParentDiv,'
'); LayerAddHTML(oParentDiv,'
'); LayerAddHTML(oParentDiv,'
'); LayerAddHTML(oParentDiv,'
'); } function FolderMouseOverEvent(e){ if(e==null){ e=event; } e.cancelBubble = true; var itemId = (e.target==null)?e.srcElement:e.target; while(itemId!=null){ if(itemId.oFolder){ itemId.oFolder.mouseOver(e); return; } itemId = itemId.parentNode; } } function FolderMouseDownEvent(e){ if(e==null){ e=event; } e.cancelBubble = true; var itemId = (e.target==null)?e.srcElement:e.target; if(itemId.oFolder){ itemId.oFolder.mouseDown(e); } } function FolderClickEvent(e){ if(e==null){ e=event; } var itemId = (e.target==null)?e.srcElement:e.target; while(itemId!=null){ if(itemId.oFolder){ itemId.oFolder.click(e); return; } itemId = itemId.parentNode; } } function folder(id_,index_,name_,url_,target_,alt_,abstract_,parent_,position_,root_,accessRight_,navDiv){ this.id_ = id_; this.index_ = index_; this.name_ = name_; this.url_ = url_; this.target_ = target_; this.alt_ = alt_; this.abstract_ = abstract_; this.position_ = position_; this.level_ = 0; this.root_ = root_; this.accessRight_ = accessRight_; if(parent_!=null){ this.level_ = parent_.getLevel()+1; this.root_ = parent_.getRoot(); navDiv = parent_.popupDiv_.parentNode; } this.div_ = document.createElement('DIV'); this.div_.id = 'folder' + this.index_; this.div_.index = this.index_; this.div_.oFolder = this; LayerSetX(this.div_,this.position_); LayerSetY(this.div_,this.position_); this.div_.noWrap = true; this.div_.innerHTML = this.makeHTML(sFolderInnerHTML); this.div_.onmouseover = FolderMouseOverEvent; this.div_.onmousedown = FolderMouseDownEvent; this.div_.onclick = FolderClickEvent; this.popupDiv_ = LayerAddElement(navDiv,'DIV'); this.popupDiv_.id = 'folderP' + this.index_; this.setPopupClassName(); this.parent_ = parent_; if(this.parent_!=null){ this.setParent(this.parent_); if(this.accessRight_==null){ this.accessRight_ = this.parent_.getAccessRight(); // check this } } else{ this.setClassName(false,false); } this.offsetX_ = 0; this.offsetY_ = 0; this.oldParent_ = null; this.oldX_ = 0; this.oldY_ = 0; } function folderGetIndex(){ return this.index_; } folder.prototype.getIndex = folderGetIndex; function folderGetRoot(){ return this.root_; } folder.prototype.getRoot = folderGetRoot; function folderSetRoot(root){ this.root_ = root; } folder.prototype.setRoot = folderSetRoot; function folderGetParent(){ return this.parent_; } folder.prototype.getParent = folderGetParent; function folderSetParent(parent){ this.parent_ = parent; if(this.parent_!=null){ this.setLevel(this.parent_.getLevel()+1); this.parent_.getPopupDiv().appendChild(this.div_); this.setRoot(this.parent_.getRoot()); this.setClassName(false,false); this.setPopupClassName(); } } folder.prototype.setParent = folderSetParent; function folderSortChildren(){ var iFolders = 0; var iYValues = new Array(); var iXValues = new Array(); var iFolderesInd = new Array(); var iLayerH = 0; var iLayerW = 0; var bTop = false; var iParentWidth = this.getPopupW(); var bChanged = false; for(var i=0; i 2*iLayerW; } iFolders++; } } var iFolderWidth = (iParentWidth-iParentWidth%iFolders)/iFolders; var iRest = iParentWidth%iFolders; var iPaddingTop = getPaddingTop(this.popupDiv_); var iPaddingBottom = getPaddingBottom(this.popupDiv_); var iPaddingLeft = getPaddingLeft(this.popupDiv_); var iPaddingRight = getPaddingRight(this.popupDiv_); var iPos = 0; for(var i=0; iiXValues[j]){ iPos++; } } else{ if(i!=j && iYValues[i]==iYValues[j]){ iYValues[i]++; } if(iYValues[i]>iYValues[j]){ iPos++; } } } if(bTop){ if(iFolders>1){ if(i=0){ var iLength = aDiv.length; aDiv[iLength] = oDiv; aY[iLength] = LayerGetY(oDiv); aHeight[iLength] = LayerGetH(oDiv) -1; } } for(var i=0; ithis.getPopupH()) || (iPaddingBottom>0) ){ LayerSetH(this.popupDiv_,iPopupH); if(iPopupH=400){ ResetAllFolders(this.index_); this.startDrag(e); aTimeout[aTimeout.length] = setTimeout("StartDragFolder('" + this.index_ + "')",500); } } else if(isRightButton(e)){ if(this.getAccessRight()>=300 && iLoginMode_==2){ ResetPopupFolders(this.index_); folderPopup(this,e); } } return false; } folder.prototype.mouseDown = folderMouseDown; function folderMouseOver(e){ try{ ClearAllTimeouts(); if(this!=oDragFolder_){ ResetMouseOverFolders(this.index_); HideAdminPop(); if(oMouseOverFolder_[this.level_]!=this){ ResetPopupFolders(this.index_); if(oClickedFolder_[this.level_]!=this){ this.setClassName(false,true); } oMouseOverFolder_[this.level_] = this; if(this.hasChildren()){ this.showPopup(); } } } } catch(x){ return false; } return false; } folder.prototype.mouseOver = folderMouseOver; function folderMarkClicked(){ var oFolder = this; var iMax = 0; var folderId = -1 while(oFolder!=null){ folderId = this.getId(); oFolder.setClassName(true,false); oClickedFolder_[oFolder.getLevel()] = oFolder; oFolder = oFolder.getParent(); if(++iMax > 10) break; } } folder.prototype.markClicked = folderMarkClicked; function folderClick(e){ ClearAllTimeouts(); var oFolder = this; var iMax = 0; var folderId = -1 ResetClickedFolderes(-1); ResetMouseOverFolders(-1); ResetPopupFolders(-1); HideAdminPop(); while(oFolder!=null){ folderId = this.getId(); oFolder.setClassName(true,false); oClickedFolder_[oFolder.getLevel()] = oFolder; oFolder = oFolder.getParent(); if(++iMax > 10) break; } var url = this.getUrl(); url = this.getUrl(); OpenUrlS(url,this.getTarget()); } folder.prototype.click = folderClick; function folderShowPopup(){ ClearAllTimeouts(); ResetPopupFolders(this.index_); if(this.getPopupDiv()!=null){ var iFolderW = this.getW(); var iParentW = this.getParentW(); var iPopupFolderH = LayerGetH(LayerGetFirstChild(this.getPopupDiv())); var iPopupFolderW = LayerGetW(LayerGetFirstChild(this.getPopupDiv())); var iVisibleMaxY = GetVisibleMaxY(this.div_); var iVisibleMinY = GetVisibleMinY(this.div_); var iFrameH = GetFrameHeight(); var iFrameW = GetFrameWidth(); var iPopupH = LayerGetY(LayerGetLastChild(this.getPopupDiv())) + iPopupFolderH; var iPopupW = this.getPopupW(); var iAbsY = LayerGetAbsoluteY(this.div_); var iAbsX = LayerGetAbsoluteX(this.div_); if(iParentW>=(2*iFolderW)){ // If parent div is 2 times wider then the folder div => popup div is opened below or abowe. var y = this.getParentY() + this.getParentH(); var x = this.getParentX() + this.getX(); if((y+iPopupH) > iFrameH){ // Check this var yUp = y - iPopupH + iPopupFolderH; y = yUp>0?yUp:0; } if((x+iPopupW) > iFrameW){ x = x - iFolderW - iPopupFolderW; } } else{ var y = this.getParentY() + this.getY(); var x = this.getParentX() + iParentW - 1; var iPopupHBelow = iPopupH; while( ((iAbsY+iPopupHBelow) > iVisibleMaxY) && (iAbsY>=iVisibleMinY+iPopupFolderH) ){ y = y - iPopupFolderH +1; iPopupHBelow -= iPopupFolderH-1; } if((iAbsX+iParentW+iPopupW) > iFrameW){ x = this.getParentX() - iPopupW + 1; } } oPopupFolder_[this.getLevel()+1] = this; LayerMoveTo(this.getPopupDiv(),x,y); hideForPopup(); LayerShow(this.getPopupDiv()); } } folder.prototype.showPopup = folderShowPopup;