﻿var HideDialogId;

function calculateDesign()
{      
   var width = top.navigatorwidth();   
   var height = top.navigatorheight();     
   var load = top.document.getElementById('loading');   
   if (load){      
     left = (width - 180) / 2; 
     var topX = (height - 30) / 2;
     load.style.left = left + 'px';
     load.style.top = topX + 'px';     
   }   
   var login = top.document.getElementById('loginInfo');
   if (login){
     left = width - 205;
     login.style.left = left + 'px';   
   }   
}

function CalculatePrintArea()
{              
    var div = top.document.getElementById('PrintArea');  
    if (div)
    {
        try
        {
        var pointCenter = top.MapUnitsToScreen(top.mapView.center.X, top.mapView.center.Y); 
        if (pointCenter != null)
        { 
            var mapFrame = top.GetMapFrame();                        
            var l = pointCenter.X - 330 + mapFrame.frames[1].width + 3;                       
            var t = pointCenter.Y - 290 + 56; 
            div.style.left = l + "px";
            div.style.top =  t + "px";            
        }
        }
        catch(Error){}
    }
}

function calculateResultDialog(id)
{ 
  if (id == 'ResultsDiv'){
    var dlg = top.document.getElementById(id);      
    var width = 360;
    dlg.style.width = width + 'px';    
    var close = top.document.getElementById('closeResultsDiv');
    close.style.left = width - 24 + 'px';
    var mini = top.document.getElementById('miniResultsDiv');
    mini.style.left = width - 44 + 'px';
    mini.style.display = '';
    var restore = top.document.getElementById('restoreResultsDiv');
    restore.style.left = width - 44 + 'px';
    restore.style.display = 'none'; 
    var lst = top.document.getElementById('Results_LstResult');
    lst.style.width = width + 'px';    
    var lstCount = top.LstBoxResult.GetTotalItems() - 1;           
    var height = lstCount * 14 + 84;
    if (height < 110)
      height = 110;
    var itemsHeight = top.LstBoxResult.GetTotalItemsHeight() + 76;            
    if (height < itemsHeight)
      height = itemsHeight;  
    if (height > 420)
      height = 420;        
    dlg.style.height = height + 'px'; 
    lst.style.height = height - 70 + 'px';     
    var BtnShow = top.document.getElementById('Results_BtnShow');
    BtnShow.style.top = height - 32 + 'px';
    BtnShow.style.display = (lstCount > 0)?'':'none';    
    var BtnClose = top.document.getElementById('Results_BtnClose');    
    BtnClose.style.top = height - 32 + 'px';
    BtnClose.style.left = (lstCount > 0)?'100px':'10px';
  }
}

function SetCloseDialogInterval(time)
{
   HideDialogId = setTimeout("closeDialog('iIntro')",time);  
}

function GetAjaxMap()
{
  var map = top.document.getElementById('map');   
  if (map){              
     var ajaxmap = map.contentWindow.frames[2];
     if (ajaxmap) 
       return ajaxmap;
  }
  return null;              
}

function GetFileName(location)
{   
  var start = -1;
  var count = 0;  
  for (i=location.length-1; i>=0; i--) {
    count += 1;    
    if (location.substr(i,1) == "/") 
    {
      start = i;
      break;  }
  }    
  var loc = location.substr(start + 1,count);  
  var startParams = location.indexOf('?',0);
  if (startParams == -1)
    startParams = location.length; 
  return location.toString().substr(0,startParams);     
}

function DeleteAllDynamicFrames()
{      
  top.deleteDynamicFrame('iSearchAdv'); 
  top.deleteDynamicFrame('iMeasure');
  top.deleteDynamicFrame('iPrint');   
  top.deleteDynamicFrame('iDialog'); 
  top.deleteDynamicFrame('RSIFrame');   
}

function CloseAllControls()
{
  closeDialog('ResultsDiv', top, 'dragResults');  
}

function ChangeServiceLanguae(lang, onlyMsg)
{    
  if ((lang == "EN") && (top.mapService == "Graveyard"))
  {
    alert('Serwis niedostepny w wersji anglojęzycznej.');
    return false;
  }

  CalculateWaitDialogPos();   
  top.hideDynamicFrame('iNavigator');
  top.DisposeListResult();             
  if (!onlyMsg)
  {       
    CloseAllControls();         
    DeleteAllDynamicFrames(); 
    calculateDesign(); 
    deleteDynamicFrame('iNavigator');
    top.RestoreMapView = true;     
    top.createFrame('map', 'default.aspx', AfterServiceLoad());    
  }   
  var msg = '';     
  top.mapLang = lang;        
  switch (lang) {
    case "EN": msg = '<br/>Changing language version <br/>Please wait...'; SetLoadingMsg('Please wait ...'); break;                
    case "PL": msg = '<br/>Zmiana wersji językowej serwisu <br/> Proszę czekać...'; SetLoadingMsg('Proszę czekać ...'); break;
  }      
  ShowModalDialog(msg);   
  SaveMapView();   
  top.InitListResult();  
}

function ChangeServiceMap(mapName, onlyMsg)
{ 
  CalculateWaitDialogPos();
  top.hideDynamicFrame('iNavigator');  
  top.DisposeListResult();   
  if (!onlyMsg)
  { 
    CloseAllControls();      
    DeleteAllDynamicFrames();
    calculateDesign();      
  }  
  top.mapService = mapName;   
  var msg = '';  
  switch (top.mapLang){
    case "PL": 
        switch (mapName) {
            case "Today": msg = '<br/>Ładuję serwis Warszawa dzisiaj<br/> Proszę czekać...'; break;                
            case "Historical": msg = '<br/>Ładuję serwis Warszawa historyczna<br/> Proszę czekać...'; break;                
            case "TBD": msg = '<br/>Ładuję serwis Topograficzna baza danych<br/> Proszę czekać...'; break;                
            case "PropertyMaps" : msg = '<br/>Ładuję serwis Mapy własności<br/> Proszę czekać...'; break;                
            case "Graveyard" : msg = '<br/>Ładuję serwis Mapy cmentarzy<br/> Proszę czekać...'; break;                
        }; 
        break;      
    case "EN": 
        switch (mapName) {
            case "Today": msg = '<br/>Service Warsaw Today is loading<br/> Please wait...'; break;                
            case "Historical": msg = '<br/>Service Historical Warsaw is loading<br/> Please wait...'; break;                
            case "TBD": msg = '<br/>Service Topgraphics Database is loading<br/> Please wait...'; break;                
            case "PropertyMaps": msg = '<br/>Service Propert maps is loading<br/> Please wait...'; break;                
        }; 
        break;                  
  }    
  ShowModalDialog(msg);                   
  SaveMapView(); 
  if (onlyMsg) 
  {
    deleteDynamicFrame('iNavigator');
    top.RestoreMapView = true;    
    top.createFrame('map', 'default.aspx', AfterServiceLoad());      
  }     
  top.InitListResult();   
  return true;  
}

function SetLoadingMsg(msgText)
{
   var msg = top.document.getElementById('msg');       
   if (msg)
      msg.innerHTML = msgText;
}

function Loading(show)
{
  if ((show != 'none') && (top.isShowElement('intro') || top.isShowElement('Modalbackground')))
    return;
  
  var load = top.document.getElementById('loading');   
  if (load)    
    load.style.display = show;    
}

function copyToClipboard(text)
{     
	if( window.clipboardData && clipboardData.setData )	
	  clipboardData.setData("Text", text);			  	
	else
	{	  
	  var clipboarddiv=document.getElementById('divclipboardswf');  
      if(clipboarddiv==null)  
      {  
        clipboarddiv=document.createElement('div');  
        clipboarddiv.setAttribute("name", "divclipboardswf");  
        clipboarddiv.setAttribute("id", "divclipboardswf");  
        document.body.appendChild(clipboarddiv);  
      }      
      clipboarddiv.innerHTML='<embed src="clipboard.swf" FlashVars="clipboard='+  
        encodeURIComponent(text)+'" width="0" height="0" type="application/x-shockwave-flash"></embed>';  	       
	}
	return false; 
}

//*wywołanie przycisków menu

function DoMenuClick(id,maploc)
{    
   var btn = top.document.getElementById(id);
   if (btn)
   {
     mapLocation = maploc;
     btn.click();
   }  
   return true;
}

//*okna dialogowe

function ShowResultDialog(obj)
{        
    showDialog('ResultsDiv','dragResults');       
    Loading('none'); 
}

function ShowAdvancedSearcher()
{   
    top.showDynamicFrame('iSearchAdv','SearchAdvanced.aspx', 200, 100, 200, 100, 450, 380, 'TxtFindAdv');
    return false;
}

function ShowListOfCemeteries(delay)
{
    if (delay)
    {
        setTimeout("SearchQueryByCondition('cmentarz','');", delay);
        return false;
    } else 
        return SearchQueryByCondition('cmentarz','');
}

function ShowMainMenu(x,y)
{      
    var hidden = x ? true : false;  
    if (x && y) 
    {
        top.MenuTop = y;
        top.MenuLeft = x;
    }
    var h = top.mapService != "Graveyard" ? 283 : 418;
    top.showDynamicFrame('iNavigator', 'Navigator.aspx?service=' + top.mapService, x , y, top.MenuLeft, top.MenuTop, 220, h);        
    return false;
}

function ShowPrintDialog()
{            
    top.showDynamicFrame('iPrint', 'PrintUI.aspx', 220 ,100, 220, 100, 320, 212);       
    var div = top.document.getElementById('PrintArea');
    if (div)
    {
        top.CalculatePrintArea();        
        div.style.display = '';         
    }
    return false;
}

function ShowMeasureDialog()
{       
    top.showDynamicFrame('iMeasure','MeasureUI.aspx', 220, 100, 220, 100, 310, 205);  
    return false;
}

function ShowHelp()
{         
   top.showDynamicFrame('iHelp', 'Help.aspx', 200, 70, 200, 70, 604, 704, null,'Help','Styles/Img/Glyphs/icon_help.gif');          
   return false;   
}

function ShowLink()
{       
   top.deleteDynamicFrame('iLink'); 
   top.showDynamicFrame('iLink', 'Link.aspx', 200, 200, DialogLeft, DialogTop, 450, 115);          
}

function openLink(url)
{
   var win = window.open(url, "", "toolbar, menubar");    
   if (win)     
      win.focus(); 
   return false;
}