var pix=new Array(), places=new Array();
var pic, sPic, picPlace, atit, iter=0, forPic, backPic,sTop,sLeft,sRight,sCross,scPic;
var placeToGo=new Object(),dec=40;
function init(){
 sPic=document.getElementById('sPic');
 picPlace=document.getElementById('place');
 atit=document.getElementById('atit');
 sTop=document.getElementById('sTop');
 sLeft=document.getElementById('sLeft');
 sRight=document.getElementById('sRight');
 sCross=document.getElementById('cross');
 forPic=new Image();
 forPic.src='img/forward.gif';
 forPic.width=23;
 forPic.height=31;
 backPic=new Image();
 backPic.src='img/back.gif';
 backPic.width=23;
 backPic.height=31;
 scPic=new Image();
 scPic.src='img/sclose.gif';
 scPic.onclick=sClose;
 getPlace();
}
function getPlace(){
 for(var i=places.length-1;i>=0;i--){
  delete(places[i]);
 }
 var bb=document.getElementsByTagName('IMG');
 var j=0;
 for(var i=0;i<bb.length;i++){
  if(bb[i].id&&bb[i].id.indexOf('pp')==0){
   var xx=bb[i].offsetLeft;
   var yy=bb[i].offsetTop;
   var pp=bb[i].parentNode;
   while(pp.nodeName!='BODY'){
    if (pp.nodeName!='TBODY'&&pp.nodeName!='TR'&&pp.nodeName!='FORM'&&pp.nodeName!='DIV'){
     xx+=Number(pp.offsetLeft);
     yy+=Number(pp.offsetTop);
    }
    pp=pp.parentNode;
   }
   var ppx=new Object();
   ppx.x=xx;
   ppx.y=yy;
   ppx.w=bb[i].width;
   ppx.h=bb[i].height;
   places[j]=ppx;
   j++;
  }
 }
}
function goShow(x){
 var num=x.id.substr(2);
 if(picPlace.firstChild){
  picPlace.removeChild(picPlace.firstChild);
 }
 pic=pix[num].cloneNode(true);
 pic.width=places[num].w;
 pic.height=places[num].h;
 pic.id='ss'+num;
 pic.onclick=sClose;
 picPlace.appendChild(pic);
 sPic.style.left=places[num].x;
 sPic.style.top=places[num].y;
 placeToGo.x=Math.floor((document.body.clientWidth-pix[num].width)/2+document.body.scrollLeft);
 placeToGo.y=Math.floor((document.body.clientHeight-pix[num].height)/2+document.body.scrollTop);
 if(placeToGo.x<0){placeToGo.x=0;}
 if(placeToGo.y<document.body.scrollTop||placeToGo.y-document.body.scrollTop+pix[num].height+40>document.body.clientHeight){placeToGo.y=document.body.scrollTop;}
 placeToGo.w=pix[num].width;
 placeToGo.h=pix[num].height;
 var dx=Math.floor((placeToGo.x-parseInt(sPic.style.left))/dec);
 var dy=Math.floor((placeToGo.y-parseInt(sPic.style.top))/dec);
 if(dy<0){
  var dy=Math.ceil((placeToGo.y-parseInt(sPic.style.top))/dec);
 }
 var dw=Math.floor((placeToGo.w-pic.width)/dec);
 var dh=Math.floor((placeToGo.h-pic.height)/dec);
 iter=0;
 if(atit.firstChild){
  atit.removeChild(atit.firstChild);
 }
 var drk=document.getElementById('dark');
 drk.style.left=0;
 drk.style.top=0;
 drk.width=document.body.scrollWidth;
 drk.height=document.body.scrollHeight;
 animate(dx,dy,dw,dh,dec,num);
}
function animate(dx,dy,dw,dh,dec,num){
 iter++;
 if(iter<dec){
  sPic.style.left=parseInt(sPic.style.left)+dx;
  sPic.style.top=parseInt(sPic.style.top)+dy;
  pic.width+=dw;
  pic.height+=dh;
  sd=setTimeout('animate('+dx+','+dy+','+dw+','+dh+','+dec+','+num+')',0);
 }else{
  if(titles[num]){
   var aa=document.createTextNode(titles[num]);
   atit.appendChild(aa);
  }
  for(var i=sCross.childNodes.length-1;i>=0;i--){
   sCross.removeChild(sCross.childNodes[i]);
  }
  var cr=scPic.cloneNode(true);
  cr.border=0;
  cr.onclick=sClose;
  cr.style.cursor='hand';
  sCross.appendChild(cr);
  if(pix[num-1]||pix[num+1]){
   if(sLeft.firstChild){
    for(var i=sLeft.childNodes.length-1;i>=0;i--){
     sLeft.removeChild(sLeft.childNodes[i]);
    }
   }
   if(sRight.firstChild){
    for(var i=sRight.childNodes.length-1;i>=0;i--){
     sRight.removeChild(sRight.childNodes[i]);
    }
   }
  }
  if(pix[num-1]){
   var bb=document.createElement('A');
   var nb=num-1;
   bb.href='javascript:chPic('+nb+')';
   var cb=backPic.cloneNode(true);
   cb.border=0;
   bb.appendChild(cb);
   sLeft.appendChild(bb);
  }
  if(pix[num+1]){
   var bf=document.createElement('A');
   var nf=num+1;
   bf.href='javascript:chPic('+nf+')';
   var cf=forPic.cloneNode(true);
   cf.border=0;
   bf.appendChild(cf);
   sRight.appendChild(bf);
  }
 }
}
function chPic(x){
 if(picPlace.firstChild){
  picPlace.removeChild(picPlace.firstChild);
 }
 var aa=pix[x].cloneNode(true);
 aa.id='ss'+x;
 aa.onclick=sClose;
 picPlace.appendChild(aa);
 if(pix[x-1]||pix[x+1]){
  if(sLeft.firstChild){
   for(var i=sLeft.childNodes.length-1;i>=0;i--){
    sLeft.removeChild(sLeft.childNodes[i]);
   }
  }
  if(sRight.firstChild){
   for(var i=sRight.childNodes.length-1;i>=0;i--){
    sRight.removeChild(sRight.childNodes[i]);
   }
  }
 }
 if(pix[x-1]){
  var bb=document.createElement('A');
  var nb=x-1;
  bb.href='javascript:chPic('+nb+')';
  var cb=backPic.cloneNode(true);
  cb.border=0;
  bb.appendChild(cb);
  sLeft.appendChild(bb);
 }
 if(pix[x+1]){
  var bf=document.createElement('A');
  var nf=x+1;
  bf.href='javascript:chPic('+nf+')';
  var cf=forPic.cloneNode(true);
  cf.border=0;
  bf.appendChild(cf);
  sRight.appendChild(bf);
 }
}
function sClose(){
 for(var i=sCross.childNodes.length-1;i>=0;i--){
  sCross.removeChild(sCross.childNodes[i]);
 }
 for(var i=sLeft.childNodes.length-1;i>=0;i--){
  sLeft.removeChild(sLeft.childNodes[i]);
 }
 for(var i=sRight.childNodes.length-1;i>=0;i--){
  sRight.removeChild(sRight.childNodes[i]);
 }
 if(picPlace.firstChild){
  pic=picPlace.firstChild;
  var num=pic.id.substr(2);
  var dx=Math.floor((parseInt(sPic.style.left)-places[num].x)/dec);
  var dy=Math.floor((parseInt(sPic.style.top)-places[num].y)/dec);
  if(dy<0){
   var dy=Math.ceil((parseInt(sPic.style.top)-places[num].y)/dec);
  }
  var dw=Math.floor((pic.width-places[num].w)/dec);
  var dh=Math.floor((pic.height-places[num].h)/dec);
  iter=0;
  animateback(dx,dy,dw,dh,dec,num);
 }
}
function animateback(dx,dy,dw,dh,dec,num){
 iter++;
 if(iter<dec){
  sPic.style.left=parseInt(sPic.style.left)-dx;
  sPic.style.top=parseInt(sPic.style.top)-dy;
  pic.width-=dw;
  pic.height-=dh;
  sd=setTimeout('animateback('+dx+','+dy+','+dw+','+dh+','+dec+','+num+')',0);
 }else{
  var drk=document.getElementById('dark');
  drk.style.left=-1000;
  drk.width=10;
  drk.height=10;
  picPlace.removeChild(picPlace.firstChild);
  sPic.style.left=-1000;
 }
}

