// Copyright (c) KwMap.net

var interval  = 10;
var crtObject = -1;
var minSize   = 80;
var maxSize   = 90;
var midSize   = Math.round(minSize+(maxSize-minSize)*0.3);
var growStep  = 4;
var reduceStep= 1;
var vImg      = new Array();
var vImgSM    = new Array();
var vImgLG    = new Array();
var vImgSMsel = new Array();
var vImgLGsel = new Array();
var vImgSize  = new Array();
var vImgCenterX = new Array();

//var text_div=document.getElementById("text_div"); 
//var input_box=document.getElementById("input_box"); 
//var selected_category=document.getElementById("selected-category"); 

//input_box.focus();

var vImg1 = document.getElementsByTagName("img"); 
for (var i = 0; i < vImg1.length; i++) { 
   if (vImg1[i].id == "dock-image") {
      vImg.push(vImg1[i]);
      
      var im;
      
      im=new Image();
      im.src=vImg1[i].src.replace(".jpg","-big.jpg");
      vImgLG.push(im);

      im=new Image();
      im.src=vImg1[i].src;
      vImgSM.push(im);

      im=new Image();
      im.src=vImg1[i].src.replace(".jpg","-big-sel.jpg");
      vImgLGsel.push(im);

      im=new Image();
      im.src=vImg1[i].src.replace(".jpg",".jpg");
      vImgSMsel.push(im);
     
      vImgSize.push(minSize);
      vImgCenterX.push(vImg1[i].x+vImg1[i].width/2);
      }
   }


function getPos(elm) {
if (elm.x) { 
   return {x:elm.x,y:elm.y};
   }
for (var zx=zy=0; 
     elm!=null; 
     zx+=elm.offsetLeft, zy+=elm.offsetTop, elm=elm.offsetParent);
return {x:zx,y:zy};
}

var cnt1=0;

var last_myMouseX=0;
var last_mouse_over_image=-1;

function DockAnimate(e) {

var myMouseX=(e||event).clientX;
var myMouseY=(e||event).clientY;

var limiter_y=2-Math.abs(myMouseY-getPos(vImg[0]).y-vImg[0].height+maxSize/2)/(maxSize/2);
if (limiter_y<0) { limiter_y=0; }
if (limiter_y>1) { limiter_y=1; }

//cnt1++; dbg.innerHTML=cnt1+" : "+limiter_y+" : top="+getPos(vImg[0]).y;
var mouse_over_image=-1;

for (var i=0; i<vImgSM.length; i++) {
  var img_xy=getPos(vImg[i]);
  
  var coef=(myMouseX-img_xy.x)/maxSize;

  if (coef<-Math.PI) { coef=-Math.PI; }
  if (coef>Math.PI)  { coef=Math.PI; }

  var desiredSize=Math.round(minSize+limiter_y*(maxSize-minSize)*Math.cos(coef-Math.PI/6));

  if (myMouseX>=img_xy.x && myMouseX<img_xy.x+vImg[i].width &&
      myMouseY>=img_xy.y && myMouseY<img_xy.y+vImg[i].height) {
     mouse_over_image=i;
     }
  
  var nextSize=desiredSize;
  if (nextSize>maxSize) { nextSize=maxSize; }
  if (nextSize<minSize) { nextSize=minSize; }
  
  if (vImgSize[i]<midSize && nextSize>=midSize) {
     if (selected_menu_item==i) {
     	vImg[i].src=vImgLGsel[i].src;
     	}
     else {
     	vImg[i].src=vImgLG[i].src;
     	}	
     }
  if (vImgSize[i]>=midSize && nextSize<midSize) {
     if (selected_menu_item==i) {
        vImg[i].src=vImgSMsel[i].src;
     	}
     else {
        vImg[i].src=vImgSM[i].src;
     	}	
     }
     
  vImgSize[i]=nextSize;
  vImg[i].width=nextSize;
  vImg[i].height=nextSize;
  }

if (mouse_over_image!=last_mouse_over_image) {
  last_mouse_over_image=mouse_over_image;
  if (mouse_over_image>=0) {
     //text_div.innerHTML="Click to select "+vImg[last_mouse_over_image].alt;
     }
  else {
     //text_div.innerHTML="";
     }
  }

}

//var text_div2=document.getElementById("text_div2"); 

var selected_menu_item=-1;

function menu_select(obj){
//text_div2.innerHTML=obj.alt;
//selected_category.value=obj.alt;
//input_box.focus();

var new_selected_menu_item=selected_menu_item;
for (var c=0; c<vImg.length; c++) {
   if (vImg[c] == obj) { new_selected_menu_item=c; }
   }

if (selected_menu_item != new_selected_menu_item) {
   if (vImgSize[new_selected_menu_item]<midSize) { 
      vImg[new_selected_menu_item].src=vImgSMsel[new_selected_menu_item].src;
      }
   else {
      vImg[new_selected_menu_item].src=vImgLGsel[new_selected_menu_item].src;
      }
   if (selected_menu_item>=0) {
      if (vImgSize[selected_menu_item]<midSize) { 
         vImg[selected_menu_item].src=vImgSM[selected_menu_item].src;
         }
      else {
         vImg[selected_menu_item].src=vImgLG[selected_menu_item].src;
         }
      }
   }
selected_menu_item=new_selected_menu_item;
}

document.onmousemove=DockAnimate;

menu_select(vImg[0]);
