//jpg c-x-r var curCol = 3 var curRow = 3 var curLev = 0 var hfold var curMCols = l0Cols var curMRows = l0Rows var pikW = miniW * maxCols / curMCols var pikH = miniH * maxRows / curMRows var clX = 0 var clY = 0 var miniX = 0 var miniY = 0 var curZoomUp = true //start Loading... var strTD = '' //определя големина на клетките прменя се и "var pixCol " var strTD1 = '' hfold = document.location.href for (var i = hfold.length; hfold.charAt(i)!="/"; i--){} hfold=hfold.substring(0,i+1) var strA = '' var strA1 = '' var strIMG = '' //razmer na kartinkite v kwadratite strCode = new Array() //мащаб 0 for (r = 1; r <= scrRows; r++){ strCode[r] ='' for (c = 1; c <= scrCols; c++){ strCode[r] += strTD // if (c > l0Cols || r > l0Rows){ strCode[r] += strA + strIMG + 'blanc.gif' + strIMG1 + 'c' + c + 'r' + r + strIMG2 + strA1 }else{ strCode[r] += strA + strIMG + fold + '/l' + curLev + '-' + c + 'x' + r + '.jpg' + strIMG1 + 'c' + c + 'r' + r + strIMG2 + strA1 // } strCode[r] += strTD1 + '\n\n' // } } //end Loading............................ function miniView(){ //мини визуализация document.all.pik.style.left = miniW/curMCols*(curCol-1)+(440 - miniW - 20) document.all.pik.style.top = miniH/curMRows*(curRow-1)+5 hidePlace() } function miniZoom(){ //малкия правоъгълник в мини картата pikW = Math.floor(miniW * maxCols / curMCols)-2+curLev pikH = Math.floor(miniH * maxRows / curMRows)-2+curLev document.pikk.width = pikW document.pikk.height = pikH document.all.pik.style.width = pikW document.all.pik.style.height = pikH miniView() } // местене function mvRight(){ //на дясно if ((curCol+maxCols-1) < curMCols){ for (r = 1; r <= maxRows; r++){ var rr = curRow + r - 1 for (c = 1; c <= maxCols; c++){ var cc = curCol + c var imgName = eval('document.c'+c+'r'+r) imgName.src = fold + '/l' + curLev + '-' + cc + 'x' + rr + '.jpg' // } } curCol++ miniView() }else{document.mvR.src = "left_arrow.gif";setTimeout('document.mvR.src = "right.gif"',500);} } function mvLeft(){ // наляво if (curCol > 1){ for (r = 1; r <= maxRows; r++){ var rr = curRow + r - 1 for (c = 1; c <= maxCols; c++){ var cc = curCol + c - 2 var imgName = eval('document.c'+c+'r'+r) imgName.src = fold + '/l' + curLev + '-' + cc + 'x' + rr + '.jpg' } } curCol-- miniView() }else{document.mvL.src = "right_arrow.gif";setTimeout('document.mvL.src = "left.gif"',500);} } function mvDown(){ //надолу if ((curRow+maxRows-1) < curMRows){ for (c = 1; c <= maxCols; c++){ var cc = curCol + c - 1 for (r = 1; r <= maxRows; r++){ var rr = curRow + r var imgName = eval('document.c'+c+'r'+r) imgName.src = fold + '/l' + curLev + '-' + cc + 'x' + rr + '.jpg' } } curRow++ miniView() }else{document.mvD.src = "up_arrow.gif";setTimeout('document.mvD.src = "down.gif"',500);} } function mvUp(){ //нагоре if (curRow > 1){ for (c = 1; c <= maxCols; c++){ var cc = curCol + c - 1 for (r = 1; r <= maxRows; r++){ var rr = curRow + r - 2 var imgName = eval('document.c'+c+'r'+r) imgName.src = fold + '/l' + curLev + '-' + cc + 'x' + rr + '.jpg' } } curRow-- miniView() }else{document.mvU.src = "down_arrow.gif";setTimeout('document.mvU.src = "up.gif"',500);} } // намаляване function zoomIn(X,Y){ if (curLev < (maxLev - 1)){ curLev++ zoom(X,Y) } } //увеличаване function zoomOut(X,Y){ if (curLev > 0){ curLev-- zoom(X,Y) } } //увеличаване назад function zoomTo(lev){ if (curLev != lev){ curLev = lev zoom(maxCols*pixCol/2,maxRows*pixRow/2) } } //увеличаване напред function zoomToNext(){ zoomIn(maxCols*pixCol/2,maxRows*pixRow/2) } //предишно ниво function zoomToPrev(){ zoomOut(maxCols*pixCol/2,maxRows*pixRow/2) } function zoomShow(){ //премества маркера за увеличение zcur.gif for (i = 0; i < maxLev; i++){ if (i < curLev){var imgSrc = eval('document.z' + i);imgSrc.src = 'zout.gif'} if (i == curLev){var imgSrc = eval('document.z' + i);imgSrc.src = 'zcur.gif'} if (i > curLev){var imgSrc = eval('document.z' + i);imgSrc.src = 'zin.gif'} } } //увеличение мащаб скала function zoomScale(){ var curScl = eval('scale' + curLev) if (curScl){ var strScl = '

 ' + curScl + '

' document.all.scale.innerHTML = strScl } } //--показва картата според мащаба function zoom(X,Y){ maxCols = scrCols maxRows = scrRows var oldMRows = curMRows var oldMCols = curMCols curMRows = eval('l'+curLev+'Rows') curMCols = eval('l'+curLev+'Cols') if (maxCols > curMCols){maxCols = curMCols} if (maxRows > curMRows){maxRows = curMRows} curRow = Math.floor(((Y + (curRow - 1) * pixRow) * curMRows) / (oldMRows * pixRow)- ((scrRows-1)/2)) +1 curCol = Math.floor(((X + (curCol - 1) * pixCol) * curMCols) / (oldMCols * pixCol)- ((scrCols-1)/2)) +1 if (curRow < 1){curRow = 1} if (curCol < 1){curCol = 1} if ((curCol+maxCols-1) > curMCols){ curCol = curMCols - maxCols + 1 } if ((curRow+maxRows-1) > curMRows){curRow = curMRows - maxRows + 1} for (r = 1; r <= scrRows; r++){ var rr = curRow + r - 1 for (c = 1; c <= scrCols; c++){ var cc = curCol + c - 1 var imgName = eval('document.c'+c+'r'+r) if (c > maxCols || r > maxRows){ imgName.src = 'blanc.gif' }else{ imgName.src = hfold + fold + '/l' + curLev + '-' + cc + 'x' + rr + '.jpg' } } } if (curLev == (maxLev - 1)){curZoomUp = false} else {curZoomUp = true} miniZoom() zoomShow() zoomScale() } // кликване в мини визуализацията картинка горе function miniClick(){ var X var Y Y = clY + offY - 5 X = clX + offX - (440 -miniW - 20) maxCols = scrCols maxRows = scrRows curMRows = eval('l'+curLev+'Rows') curMCols = eval('l'+curLev+'Cols') if (maxCols > curMCols){maxCols = curMCols} if (maxRows > curMRows){maxRows = curMRows} curRow = Math.floor(Y*curMRows/miniH - ((scrRows-1)/2)) +1 curCol = Math.floor(X*curMCols/miniW - ((scrCols-1)/2)) +1 if (curRow < 1){curRow = 1} if (curCol < 1){curCol = 1} if ((curCol+maxCols-1) > curMCols){ curCol = curMCols - maxCols + 1 } if ((curRow+maxRows-1) > curMRows){ curRow = curMRows - maxRows + 1 } for (r = 1; r <= scrRows; r++){ var rr = curRow + r - 1 for (c = 1; c <= scrCols; c++){ var cc = curCol + c - 1 var imgName = eval('document.c'+c+'r'+r) if (c > maxCols || r > maxRows){ imgName.src = 'blanc.gif' }else{ imgName.src = fold + '/l' + curLev + '-' + cc + 'x' + rr + '.jpg' } } } miniZoom() zoomShow() zoomScale() } function zoomEBox(){ //увеличава едно ниво при кликване на картата if (clX <= (maxCols - 2) * pixCol && clY <= maxRows * pixRow){ if (curZoomUp){ zoomIn(clX,clY * 1.5) }else{ //намалява едно ниво назад при кликване на картата zoomOut(clX,clY) } } } function zoomBox(){ //увеличава едно ниво if (clX <= maxCols * pixCol && clY <= maxRows * pixRow){ if (curZoomUp){ zoomIn(clX,clY) }else{ //намалява едно ниво назад при кликване на картата zoomOut(clX,clY) } } } //нагоре/надолу и на ляво function mvUpLeft(){ if(curCol > 1 && curRow > 1){ mvUp() mvLeft() }else{document.mvUL.src = "downright.gif";setTimeout('document.mvUL.src = "upleft.gif"',500);} } function mvDownLeft(){ if(curCol > 1 && (curRow+maxRows-1) < curMRows){ mvDown() mvLeft() }else{document.mvDL.src = "upright.gif";setTimeout('document.mvDL.src = "downleft.gif"',500);} } //нагоре/надолу и на дясно function mvUpRight(){ if((curCol+maxCols-1) < curMCols && curRow > 1){ mvUp() mvRight() }else{document.mvUR.src = "downleft.gif";setTimeout('document.mvUR.src = "upright.gif"',500);} } function mvDownRight(){ if((curRow+maxRows-1) < curMRows && (curCol+maxCols-1) < curMCols){ mvDown() mvRight() }else{document.mvDR.src = "upleft.gif";setTimeout('document.mvDR.src = "downright.gif"',500);} } // Event.CLICK кликване в малката карта if (!document.all){ document.captureEvents(Event.CLICK) document.onclick=getClick } function getClick(e){ clX = e.pageX - offX clY = e.pageY - offY } function getClickIE(evt){ miniX = evt.clientX miniY = evt.clientY sT = document.body.scrollTop clX = evt.clientX - offX clY = evt.clientY - offY + sT } //показване на обект function showObject(absX,absY){ var cMRows = eval('l'+(maxLev-1)+'Rows') var cMCols = eval('l'+(maxLev-1)+'Cols') var shX = Math.floor((absX * curMCols)/cMCols) - (curCol - 1) * pixCol var shY = Math.floor((absY * curMRows)/cMRows) - (curRow - 1) * pixRow curLev = maxLev - 1 zoom(shX,shY) showPlace(absX,absY) } //показване на картата function showPlace(absX,absY){ var shX = absX - (curCol - 1) * pixCol var shY = absY - (curRow - 1) * pixRow //показва колалцето над обекта document.all.obj.style.left = shX - 9 + offX document.all.obj.style.top = shY - 9 + offY document.all.obj.style.visibility = 'visible' document.all.obj.style.width = 50 document.all.obj.style.height = 50 } //скриване на function hidePlace(){ document.all.obj.style.visibility = 'hidden'}