var icons = [
"anchor",
"circle_black",
"circle_blue",
"circle_grey",
"circle_red",
"circle_yellow",
"hotel",
"kmap_oil",
"map_campus",
"map_cottage",
"map_health centre",
"map_sight",
"map_townhouse"];

function  showIcons(key)
{
	var l = xGetElementById('icons-list-'+key);
	var i = xGetElementById('selected-icon-'+key);
	
	var x = xLeft(i);
	var y = xTop(i);
	xLeft(l, x);
	xTop(l, y+20);
	
	xShow(l);
}
var lastSelected = 0;
function selectIcon (key, idx)
{
	var i = xGetElementById('selected-icon-'+key);
	i.src = '/img/map/icons/' + icons[idx]+'.gif';
		
	var l = xGetElementById('icons-list-'+key);
	xHide(l);
	lastSelected = idx;
	return false;
}

function createImageList (key)
{
	var html = '<img src="/img/map/icons/';
	html+=icons[lastSelected]+'.gif"';
	html+=' style="cursor:pointer;display:block"';
	html+=' onclick="showIcons(\''+ key +'\')"';
	html+=' id="selected-icon-'+key+'" width="16"/>';
	html+='<div id="icons-list-'+key+'" class="icon-list">';
	for (var i =0; i < icons.length; i++)
	{
		html+=('<a class="icon" onclick="selectIcon(\''+ key +'\','+i+')"><img src="/img/map/icons/'+icons[i]+'.gif"/></a>');
	//	if ((i+1) % 4 ==0 )
			//html+="<br/>";
	}
	html+="</div>"
		return html;
}
function hideLabel(key){
    
    var ml = document.UserMap.mapLabels [key];
    if (typeof ml == "object")
    {
    	ml.dom.parentNode.removeChild(ml.dom);
    	delete ml;
    	delete document.UserMap.mapLabels [key] ;
    }
    //xHide ("maplabel" + idx);  
}
function saveLabel (key)
{
	 var ml = document.UserMap.mapLabels [key];
    if (typeof ml == "object")
    {
    		document.UserMap.AddTempPoint(ml.labels[0].x, ml.labels[0].y, xGetElementById('txt-'+key).value, icons[lastSelected]);
    		hideLabel (key);
    }
}

function countLines(strtocount, cols) {
  var hard_lines = 1;
  var last = 0;
  while ( true ) {
    last = strtocount.indexOf("\n", last+1);
    hard_lines ++;
    if ( last == -1 ) break;
  }
  var soft_lines = Math.round(strtocount.length / (cols-1));
  var hard = eval("hard_lines  " + unescape("%3e") + "soft_lines;");
  if ( hard ) soft_lines = hard_lines;
  return soft_lines;
}

function createLabel(id){

    var info = xGetElementById(id);
    if (info) return info;
    info = document.createElement("div");
    info.id = id;//"maplabel" + (++lindex);
    info.style.position= "absolute";  
    info.style.visibility="hidden";
	info.style.textAlign='left';

    var lImage = new Image();
    lImage.src = "/img/map/i-legend_point.gif";
    lImage.style.width = "15px";
    lImage.style.height = "11px";
    lImage.style.marginTop = "-1px";  
 
    var info_text = document.createElement("div"); 
    info_text.style.border="1px solid";
    info_text.style.backgroundColor="#ffffff";
    info_text.className = "f1";
    xAppendChild (info, info_text); 
    xAppendChild (info, lImage);
    xAppendChild (document.body, info);
    return info;
}

function setLabel(el, x, y, text){
    
    var info = el;
    if (info==null){
        return;
    }
	
	if (info){
    	var mc = xGetElementById (document.UserMap.mapCanvas);
        info.childNodes[0].innerHTML = text;
        
        
        if (x < xPageX(mc) || y <  xPageY(mc) )
           xHide(info);
        else if (x > xPageX(mc) + xWidth(mc) || y >  xPageY(mc) + xHeight(mc) ) xHide(info);
        else{
          xMoveTo (info,x  ,y-xHeight(info.childNodes[0])-11);
		  xShow(info);
        }
    }
}
var lidx=0;
umap.createLabel = function (e)
    {
    	
    	 if (!document.UserMap.mapLabels) document.UserMap.mapLabels = new Object();
    	 
    	// if(labels && labels.length!=0)
    	var labels = [{x:e.geoPix[0], y:e.geoPix[1], label:'Подпись'}]
          {
          	  if (!labels[0].id) labels[0].id = 'label' ;
	          var mla = document.UserMap.mapLabels[labels[0].id];
	          if (!mla) 
	          {
	          	  mla = { dom: createLabel (labels[0].id), labels: labels};
	          	  document.UserMap.mapLabels[labels[0].id] = mla;
	          }
	          else
	          	  mla.labels = labels;
          }
          
          var mc = xGetElementById (document.UserMap.mapCanvas);
          for(var key in document.UserMap.mapLabels)
          {
          	  mla = document.UserMap.mapLabels[key];
          	  if (typeof mla != 'object') continue;
          	  labels = mla.labels;
          var html ='<table border=0 cellcpacing=0 cellpadding=0><tr>'
          html+='<td valign=top width="16">' + createImageList (key) + '</td>';
          html +='<td valign=top>';
          for(var i=0; i < labels.length; i++)
                html+='&nbsp;<input  type="text" style="font-size:10px;border:0" id="txt-'+ key +'" value="' + labels[i].label+'"/>' ; 
		//  var  l =lindex+1 ;
          html+='</td><td valign=top><img class="labelClose" onclick="saveLabel(\''+ key +'\')" src="/img/map/save.gif" border="0" alt="Сохранить" title="Сохранить" width="12px" height="12px"/>&nbsp;<img class="labelClose" onclick="hideLabel(\''+ key +'\')" src="/img/map/i-close.gif" border="0" alt="Закрыть" title="Закрыть" width="12px" height="12px"/></td></tr></table>';
            
          	var pt = document.UserMap.geoToPix(labels[0].x, labels[0].y);
          	setLabel (mla.dom, xPageX(mc) +  pt[0] ,xPageY(mc)+ pt[1], html);                                       
          }  
          document.UserMap.labels = null;            
    }
	