﻿function getMapWindow()
{
   var obj = null;
   var iframe = top.document.getElementById('map');    
   if (iframe)
     obj = iframe.contentWindow.window.frames['ViewerFrame'];
   return obj;     
}

function GetMapParams()
{
  var ajaxmap = GetAjaxMap();
  if (ajaxmap) {                  
    var mapParams = ajaxmap.location.search;     
    mapParams = "&" + mapParams.substring(1, mapParams.length);     
    return mapParams;
  } else
    return '';   
}

function DoSelection(selTxt, objSel)
{                     
  var obj = getMapWindow();   
  if (obj)
  {   
    // obj.ExecuteMapAction(19); //czyści selekcję
     obj.SetSelectionXML(selTxt);          
     if (objSel == 'Adres')       
        obj.ExecuteMapAction(23)
     else 
       obj.ExecuteMapAction(10);    
  } 
}

function getAccordionPanelId(id)
{
  var txt = id;
  var index = txt.toString().lastIndexOf("_");
  if (index > 0) 
    return txt.toString().substring(0,index);   
  else
    return "";   
}

function getAccordionPanel(id,index)
{
  var AccordionName = id + "_AccordionExtender";
  var accordion = $find(AccordionName); 
  return  accordion.get_Pane(index).document;
}

function PrepareTextToQuery(txt)
{

  var query = txt.trim();   

  query = query.replace(/&/g,'@');
  query = query.replace(/=/g,'@');  
  query = query.replace(/$/g,'@'); 
  query = query.replace(/#/g,'@');    
  
  query = query.substring(query, query.length - 1);  
 
  return query;
}

function GetNavigator()
{
    var iframe = top.document.getElementById('iNavigator');   
    var obj = null;
    if (iframe)      
        obj = iframe.contentWindow.document;        
    return obj; 
}

function SearchQuery(e, typeFirst, idTxtFirst, typeSecond, idTxtSecond)
{             
    var obj = GetNavigator();     
    if (!obj) 
        return false; 
    
    var idFirst = getAccordionPanelId(e.id) + "_" + idTxtFirst;      
    var txtFirst = obj.getElementById(idFirst); 
    if (txtFirst)
    {
      var query = PrepareTextToQuery(txtFirst.value);
      if (query != '')  
      {
        query = typeFirst + "=" + query; 
        if (typeSecond && idTxtSecond)
        {
            var idSecond = getAccordionPanelId(e.id) + "_" + idTxtSecond;    
            var txtSecond = obj.getElementById(idSecond); 
            if (txtSecond)
            {
                var secondQuery = PrepareTextToQuery(txtSecond.value);
                if (secondQuery != '')               
                    query = "typ=" + typeSecond + "&" + query + "&" + typeSecond + "=" + secondQuery;   
                else
                    query = "typ=" + typeFirst + "&" + query;    
            }
        } 
        if (query != '')
        {       
            Loading(''); 
            query = query + GetMapParams();              
            top.callToServer("ResultQuery.aspx?" + query);                    
        }    
      }  
    }                   
    return false;
}

function SearchFormQuery(e, typeQuery, fieldNames)
{
    var obj = GetNavigator();     
    if (!obj) 
        return false; 

    var arrFields = fieldNames.split('^');
    var query = '';    
    for (var i = 0; i < arrFields.length; i++)
    {
        var idObj = getAccordionPanelId(e.id) + "_" + arrFields[i];      
        var txtObj = obj.getElementById(idObj); 
        if (txtObj)
        {
            var qry = PrepareTextToQuery(txtObj.value);
            if (qry!= '')
                query += "&" + arrFields[i] + "=" + qry;
        }             
    }
    if (query != '')
        query = "typ=" + typeQuery + query;
    if (query != '')
    {
        Loading('');             
        top.callToServer("ResultQuery.aspx?" + query);    
    }
    return false;
}

function SearchQueryByCondition(type, condition)
{     
    var query = "typ=" + type + "&obiekt=" + condition;    
    if (query != '')
    {       
        Loading(''); 
        query = query + GetMapParams(); 
        top.callToServer("ResultQuery.aspx?" + query);        
    }                           
    return false;
}

function ShowQuery(obj, item, typ, category)
{            
    var map = getMapWindow();     
    if (map) {
      Loading('');       
      var catQuery = category ? "&cat=" + category : "";                            
      var query = "typ=" + typ + "&obj=" + obj + "&item=" + item + catQuery;                
      query = query + GetMapParams();                 
      top.callToServer("ShowQuery.aspx?" + query);          
      setTimeout("Loading('none');", 3000);                                                
    }       
}

