/*
 * obsługa mapek flashowych
 */

ColSelected = 'red';
ColStart = 'blue';

SelectedQuarter = []; //tablica z zaznaczonymi dzielnicami
SelectedZone = []; //tablica z zaznaczonymi poddzielnicami
SelectedInvestment = []; //tablica z zaznaczonymi inwestycjami dla pierwotnego

/* ************************************* flashmap ************************* */

//ustawienie zaznaczonych dzielnic i poddzielnic - przypisanie do odpowiednich tablic
function setSelectedRegions(QuarterArr, ZoneArr){
    SelectedZone = ZoneArr.split(',');
    SelectedQuarter = QuarterArr.split(',');
    //wysyłamy do listy obok mapki
    setSelectedTopQuarter();
    //przeładowanie map i listy ofert
    reloadListWithMap();
}

//zaznaczamy dzielnice obok mapki na podstawie searchtopquarterlist
function setSelectedTopQuarter(){
        for(i in SearchTopQuarterList){
        var stQuarter = SearchTopQuarterList[i];
        if(inArray(SelectedQuarter, stQuarter.id)){
            stQuarter.select(false);
        }else{
            stQuarter.deselect(false);
        }
    }
}

//zaznaczanie inwestycji
function setSelectedInvestments(InvestArr){
    if(InvestArr.length > 0){
        SelectedInvestment = InvestArr.split(',');
    }else{
        SelectedInvestment = '';
    }
    reloadListWithMap()
}

//zaznaczenie dzielnicy lub poddzielnicy
function selectRegionFlash(Id, IdType){
    switch(IdType){
        case '1':
            Type = 'zone';
        break;
        case '2':
            Type = 'quarter';
        break;
    }
    selectRegion(Id, Type, true);

}
//wysłanie do google map zaznaczonych dzielnic lub poddzielnic
function selectOnMap(idRegion ,idType){
    getFlashMovie("gmap").selectRegionJs(idRegion, idType);
}

//wysłanie do flash map niebieskiej zaznaczonych dzielnic lub poddzielnic
function sendSelectedToFlashMap(){
    getFlashMovie("flashmap").selectRegionJs(SelectedQuarter);
}
//usuniecie zaznaczonej dzielnicy lub poddzielnicy z odpowiedniej tablicy
function unSelectRegionFlash(Id, IdType){
    var Type = '';
    switch(IdType){
        case '1':
            Type = 'zone';
        break;
        case '2':
            Type = 'quarter';
        break;
    }
  unSelectRegion(Id, Type, true);
}
//pobranie uchwytu do elementów flashowych - potrzebne do wywołania ExternalInterface we flash
function getFlashMovie(movieName)
{
  if (window.document[movieName])
  {
      return window.document[movieName];
  }
  if (navigator.appName.indexOf("Microsoft Internet")==-1)
  {
    if (document.embeds && document.embeds[movieName])
      return document.embeds[movieName];
  }
  else // if (navigator.appName.indexOf("Microsoft Internet")!=-1)
  {
    return document.getElementById(movieName);
  }
}


/* ************************************* SEARCH WŁAŚCIWY ************************* */

//opóźnione wywołanie searchDelay();
DelayWorking = false;
function reloadListWithMap(){
    Time = 2000;
    if(!DelayWorking){
        DelayWorking = true;
        searchDelay();
    }
}
//wywołany z opóźnieniem search
function searchDelay(){
    if(Time > 0){
        var StepTime = 500;
        Time -= StepTime;
        setTimeout("searchDelay()", StepTime);
    }else{
        performMapSearch();
        DelayWorking = false;
    }
}
//search wywolywany z mapki
function performMapSearch(){
    //parametry pobierane z elementow formularza
    var Params = getCriteriaParams();
    var Count = Params.length;
    I = 0;
    var NewParams = [];
    while(I < Count){
        /* kasujemy dzielnice i poddzielnice i miasto*/
        var Key = Params[I];
        var Value = Params[I+1];
        if(Key != 'idZone' && Key != 'idQuarter'){
            NewParams.push(Key);
            NewParams.push(Value);
        }
        I = I+2;
    }
    Params = NewParams;
    /*dodajemy dzielnice i poddzielnice z mapki*/
    if(SelectedZone.length > 0){
        Params.push('idZone');
        Value = [];
        for(J in SelectedZone){
            Value.push(SelectedZone[J]);
        }
        Params.push(Value);
   }
   if(SelectedQuarter.length > 0){
        Params.push('idQuarter');
        Value = [];
        for(J in SelectedQuarter){
            Value.push(SelectedQuarter[J]);
        }
        Params.push(Value)
   }
   //glowna funkcja wywolujaca ajax
    loadResultsList(Params);
}

$(document).ready(function(){
	$('#mainPopupArea').click(function(){
		$('#mainPopupArea').hide();
		document.cookie = "mainPopupArea=true;path=/;domain=.domoklik.pl";
    });
    //addOfficeMap();
});
//dodanie mapki z biurami
function addOfficeMap()
{
    	 var so = new SWFObject(staticUrl + "swf/gmap_office.swf", "officeMap", "400", "400", "9.0.0", "#FFFFFF");
	 so.addParam("allowNetworking", "all");
	 so.addParam("allowScriptAccess", "always");
	 so.addParam("scale", "noscale");
	 so.addParam("wmode", "transparent");
         so.addVariable("gMapKey", gMapKey);
         so.addVariable("defaultLat", 52.232552);
         so.addVariable("defaultLng", 21.008492);
         so.addVariable("defaultZoom", 11);
	 //so.addVariable("href", location.href);
	 so.write('officeMap');
}
//dodanie ikony biura na mapie
function addOfficeOnMap(id, title, lat, lng, description)
{
    if(getFlashMovie("officeMap") == undefined){
        if(!isDefined('officeAddMarkerContainer')){
            officeAddMarkerContainer = [];
        }
        var officeItem      = [];
        officeItem['id']    = id;
        officeItem['title'] = title;
        officeItem['lat']   = lat;
        officeItem['lng']   = lng;
        officeItem['description'] = description;

        officeAddMarkerContainer.push(officeItem);
    }else{
        getFlashMovie("officeMap").addOffice(id, title, lat, lng, description);
    }
}
//wywoływane z flasha po załadowaniu
//przy pierwszym uruchomieniu searcha z biurowcami addOfficeOnMap zapisuje dane do tablicy i dopiero w tej metodzie są dodawane ikony
function onloadOfficeMapAddOffices()
{
    if(isDefined('officeAddMarkerContainer')){
        for(var i in officeAddMarkerContainer){
            var item = officeAddMarkerContainer[i];
            addOfficeOnMap(item['id'], item['title'], item['lat'], item['lng'], item['description']);
        }
        officeAddMarkerContainer = [];
    }
}
//przesuwanie mapy z biurami
function moveOfficeMap(lat, lng)
{
    if(getFlashMovie("officeMap") == undefined){
        
    }else{
        getFlashMovie("officeMap").move(lat, lng);
    }
}
//ukrywanie ikon na mapie z biurami
function clearOfficeMap()
{
    if(getFlashMovie("officeMap") != undefined){
        getFlashMovie("officeMap").clear();
    }
}
