function loadobjinfo(datas)
{
	//alert(datas[0][1]+" "+datas[0][2]+" "+datas[0][3]+" "+datas[0][4]+" "+datas[0][5]+" "+datas[0][6]+" "+datas[0][7]);
  objinfo[datas[0][0]]=new Array(datas[0][1],datas[0][2],datas[0][3],datas[0][4],datas[0][5],datas[0][6],datas[0][7]);	
  addhintinfo(datas[0][0],objinfo[datas[0][0]]);
}

function loadobj(datas)
{
	if(datas[0])
	{
  		Xob[datas[0][5]]=new Array();
		Yob[datas[0][5]]=new Array();
		IDob[datas[0][5]]=new Array();
		useraddedob[datas[0][5]]=new Array();
		typesob[datas[0][5]]=new Array();
	}	
  for(i=0;i<(datas.length-1);i++)
  {


	
	Xob[datas[i][5]][i]=datas[i][1];//poslednemu elementu prisv
	Yob[datas[i][5]][i]=datas[i][2];
	IDob[datas[i][5]][i]=datas[i][0]
	useraddedob[datas[i][5]][i]=datas[i][4];
	typesob[datas[i][5]]=datas[i][3];
  }
   
   if(datas[0])
  {
  	showobjects(datas[0][5]);
  }
}

function showobjects(objID)
{
 var levarray=new Array(0,document.getElementById('level1'),document.getElementById('level2'),document.getElementById('level3'),document.getElementById('level4'));
 var ind;

   for(i=0;i<Xob[objID].length;i++)
	 {
 
  		var icon=new createicon('files/'+ objtip[objID]+useraddedob[objID][i]+'.gif',16,16,8,8);
		var obj=new addobjtomap('obj',Xob[objID][i],Yob[objID][i],icon,IDob[objID][i])
	  
      
   	  /*div[i]=create( "div", { id: j+"obj"+IDob[objID][i],style: "position:absolute; width:16px; height:16px; z-index:5; cursor:pointer; background: no-repeat url(files/"+ objtip[objID]+useraddedob[objID][i]+".gif); top:"+(Math.round(Yob[objID][i]/Math.pow(k,(4-j)))-8)+"px;left:"+(Math.round(Xob[objID][i]/Math.pow(k,(4-j)))-8)+'px' });
	  //alert(IDob[objID][i]);
	  div[i].onclick = function (){showobjhint(IDob[objID][i],this);   };
	  levarray[j].appendChild(div[i]);*/
	 } 
	
}




function removeselobj(objID)
{
	//alert("removeselobj");
 var remobj;
 var levarrayy=new Array(0,document.getElementById('level1'),document.getElementById('level2'),document.getElementById('level3'),document.getElementById('level4'));
  for(j=1;j<5;j++)
  {
    for(i=0;i<IDob[objID].length;i++)
    {
	//	alert(j+"obj"+IDob[objID][i]);
     if(remobj=document.getElementById(j+"obj"+IDob[objID][i]))
   	 levarrayy[j].removeChild(remobj);
    }
  } 
   objshow[objID]=false;
}

function addhintinfo(objID,datas)
{
	
  	/*
   var divobjinfo=document.getElementById('divinfo');


   if((datas[7]=='jpg')||(datas[7]=='gif')) divobjinfo.innerHTML='<img src=photos/'+objID+'.'+datas[7]+' align="right" />'+datas[2];
				else divobjinfo.innerHTML=datas[2]+'&nbsp;';
	*/

		document.getElementById('compname').innerHTML=datas[1];
		document.getElementById('compcat').innerHTML=objtip[datas[0]];
		//alert(address);
		document.getElementById('compadr').innerHTML=datas[3]+'&nbsp;';
		document.getElementById('compphone').innerHTML=datas[4]+'&nbsp;';
		if(datas[5]=='')	document.getElementById('compmail').innerHTML='&nbsp;';
		  			else
						document.getElementById('compmail').innerHTML='<a href="mailto:'+datas[5]+'" class="label_link">'+datas[5]+'</a>';
		if(datas[6]=='')		document.getElementById('compurl').innerHTML='&nbsp;';
					else
						document.getElementById('compurl').innerHTML='<a href="http://'+datas[6]+'" class="label_link">'+datas[6]+'</a>';
  showmovehint();
  return true;
} 

 var tempt,templ;
 
 var tipznacka;
function showobjhint(objID,obyekt) //part1
{
	changemaphint('main');
	 tempt=obyekt.style.top;
	 templ=obyekt.style.left;
	 	if(objinfo[objID])
	{
		addhintinfo(objID,objinfo[objID])
				//showmovehint();
	}
	 else
	{
		loadXMLDoc('showobj.php?objID='+objID,'loadobjinfo',8);
	}
	 

}

var deltaheight=-7;
function showmovehint() //part2
{
	
	
	var lev=document.getElementById('level'+level);
	var doh=document.getElementById('divhint');
	pngheight=doh.offsetHeight+deltaheight;
	var pngwid=doh.offsetWidth;
    
	pngwidth=148;
	
	
	
	var levtop=parseInt(lev.style.top);
	var	tt=parseInt(tempt)-pngheight+levtop;
	var delt=0;
	
	var levleft=parseInt(lev.style.left);
	var	ll=parseInt(templ)-pngwidth+levleft;
	var deltl=0;
	
	






	delt=-tt;
	deltl=-ll;

	/*if((ll+pngwid)>(maindivW-15))//-15 kakoy to delta
	{
	 	deltl=(ll+pngwid+15)-maindivW;
	}*/

	doh.style.top=(tt+7)+'px';//26-visota tag-a
	doh.style.left=(parseInt(templ)-pngwidth+parseInt(lev.style.left))+'px';
	
	doh.style.visibility='visible';
	showhint=true;
	
	

	if(delt>0 || deltl>0)
		{
			if(deltl<0)deltl=0;//proverot i dlya delt bez l
			if(delt<0)delt=0;
			
			moveslowLT('vverx',delt,'nalevo',deltl);
			
		}


}


function hideobjhint()
{
	var doh=document.getElementById('divobjhint');
	doh.style.visibility='hidden';
	showhint=false;
	return false;
}

function vobjhint()
{
	var doh=document.getElementById('divobjhint');
	//doh.style.left=-200;   esli nepravilno budet rabotat otkrit komentarii
	//doh.style.top=-200;
	doh.style.visibility='visible';
 // alert(this.id);
 // alert(this.style.left);
  //alert(this.style.top);
}


function createicon(iconimg,width,height,iconx,icony)
{
	this.iconimg=iconimg;
	this.width=width;
	this.height=height;
	this.iconx=iconx;
	this.icony=icony;
}
function  delobj(objID,objtype)
{
 for(j=1;j<=4;j++)
  {
  	levarray[j].removeChild(document.getElementById(j+objtype+objID));	
  }
}

function addobjtomap(fordivid,x,y,icon,onclickID)
{
	this.objid=onclickID;
	this.x=x;
	this.y=y;
	
	var levarray=new Array(0,document.getElementById('level1'),document.getElementById('level2'),document.getElementById('level3'),document.getElementById('level4'));

	var ind;
	var divid;
  for(j=1;j<=4;j++)
  {	
  
  	
     if(navigator.appName.indexOf("Explorer")!=-1)//esli explorer to backgroung....
	 {
		backg="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+icon.iconimg+"', sizingMethod='scale')";
	 }
	  else
	 {
		backg="background: no-repeat url('"+icon.iconimg+"')";
	 }
	  	//alert(backg);
		divid=j+fordivid+onclickID;
   		div=create( "div", { id: divid,style: "position:absolute; width:"+icon.width+"px; height:"+icon.height+"px; z-index:5; cursor:pointer; "+backg+"; top:"+(Math.round(y/Math.pow(k,(4-j)))-icon.icony)+"px;left:"+(Math.round(x/Math.pow(k,(4-j)))-icon.iconx)+'px' });
   		

		//div.setAttribute("onclick","showobjhint()");
		if(onclickID!=100000)
		{
			div.onclick = function (){showobjhint(onclickID,this);   };
		}
	    levarray[j].appendChild(div);
  }
	 
	 
}




/*
function addobjtomap()//all object(is bad)
{
var levarray=new Array(0,document.getElementById('level1'),document.getElementById('level2'),document.getElementById('level3'),document.getElementById('level4'));



var ind;
  for(j=1;j<5;j++)
  {
   for(i=0;i<Xob[obID].length;i++)
	 {
	  ind=j+'-'+obID+'-'+i;


   div=create( "div", { id: j+"obj"+IDob[obID][i],style: "position:absolute; width:16px; height:16px; z-index:5; cursor:pointer; background: no-repeat url(files/"+ objtip[obID] +".gif); top:"+(Math.round(Yob[obID][i]/Math.pow(k,(4-j)))-8)+"px;left:"+(Math.round(Xob[obID][i]/Math.pow(k,(4-j)))-8)+'px' });

	div.setAttribute("onclick","showobjhint()");
	div.onclick = showobjhint;




	   levarray[j].appendChild(div);
	 } 
	}
	 
	 
   }
*/


function showobj(objID)
{
  if(!objshow[objID])
   {
       if(!IDob[objID])//esli koordinati obektov ne zagrujeni
	 {
  		loadXMLDoc('obekti.php?objID='+objID,'loadobj',5);
  	 }
	  else
	 {
		showobjects(objID)
	 }
	 objshow[objID]=true;
   }
    else
  {
    removeselobj(objID);
  }
}

var chatwindow=0;
function closehint()
{
   cancopy=false;
   chatwindow=0;
   var divhint=document.getElementById('divhint');
   divhint.style.top=10000+'px';
   divhint.style.visibility='hidden';
   showhint=false;
   normalmap();
  return false;
}


function showstreet(streetID)
{
 if(streetID!=-1)
 {
//osnovnaya karta
   var lx,ly;
   var lev=document.getElementById('level'+level);
   lx=-strx[streetID]* Math.pow(2,(level-1))+Math.round(maindivW/2);
   ly=-stry[streetID]* Math.pow(2,(level-1))+Math.round(maindivH/2);

	if(lx>0)lx=0; //proverka granic
 	if(ly>0)ly=0;
	if(ly<(-(divh[level]-maindivH))&& (ly<0) )ly=-(divh[level]-maindivH);
	if(lx<(-(divw[level]-maindivW))&& (lx<0))lx=-(divw[level]-maindivW); 
	//alert(lx+' '+ly);
   lev.style.left=lx +'px';   
   lev.style.top=ly+'px';
   ctopokazat();
//podskazka


   var divhint=document.getElementById('divhint');
   var divinfo=document.getElementById('divinfo');
   divinfo.innerHTML=street[streetID];
   divhint.style.visibility='visible';
   divhint.style.left=(strx[streetID]* Math.pow(2,(level-1))-pngwidth+lx)+'px';//ne pereputaysya so znakami
   divhint.style.top=(stry[streetID]* Math.pow(2,(level-1))-pngheight+ly)+'px';
   showhint=true;
 }
 
}

function addstreets()
{
  	 var selstr=document.getElementById('strs');
	 for(i=0;i<street.length;i++)
	 {
	 	var opt = document.createElement('OPTION');
     	opt.value = i;
     	opt.text = street[i];
     	selstr.options.add(opt); 
	 }

}
