var inited = false;
var map = null;

function showRegionSelects() {
    jQuery('#regionSelects').toggle();
}

function loadCities(selectSender) {
    var regionId = selectSender.options[selectSender.selectedIndex].value;
    jQuery.ajax({
        type: "POST",
        url:  "/drugs16/ajax.php",
        data: {act: 'loadCities', region: regionId},
        dataType: 'json',
        success: function(data){
            if (data.error == 0) {
                var cityList = jQuery('#cityList');
                var options = '';
                jQuery.each(data.data,
                    function() {
                        options += '<option value="' + this.id + '">' + this.name + '</option>';
                    }
                );
                cityList.find('option').remove().end().append(options);
                addCityToLink(cityList.get(0)); 
            } else {
                alert('Возникла ошибка загрузки данных. Перезагрузите страницу и попробуйте снова.');
            }
        }
    });
}


function find() {
    var cityId  = jQuery('#cityList').val();
    var address = jQuery('#address').val();
    
    jQuery.ajax({
       type: "POST",
       url:  "/drugs16/ajax.php",
       data: {act: 'find', cityId: cityId, address: address},
       dataType: 'json',
       success: function(data) {
           findSuccess(data);
       } 
    });
    
}


function findSuccess(data) {
    //alert(data.toSource());
    jQuery('#findDiv').show();
    var center     = data.userCoordinates;
    var drugstores = data.drugstores;
    YMaps.load(function() {init(center, drugstores);});
}

function init (center, drugstores) {
    // Создание экземпляра карты и его привязка к созданному контейнеру
    var map = new YMaps.Map(YMaps.jQuery("#mapContainer")[0]);

    // Установка для карты ее центра и масштаба
    map.setCenter(new YMaps.GeoPoint(center.longitude, center.latitude), 15);
    var list = jQuery('<ul></ul>');
    
    jQuery.each(drugstores, function() {
        var placemark         = new YMaps.Placemark(new YMaps.GeoPoint(this.longitude, this.latitude));
        placemark.name        = this.name;
        placemark.description = '<div>' + this.address + '.</div><div style="width:200px;">Телефоны: <span style="white-space:nowrap;">' + this.phones + '</span></div>';
        map.addOverlay(placemark);
        
        var li = jQuery('<li><div><span>' + this.name + '</span></div><div>Адрес: ' + this.address + ' <span class="showOnMap">на карте</span></div><div>Телефон: ' + this.phones + '</div></li>');
        li.find('.showOnMap').click(function() {placemark.openBalloon();});
        
        list.append( li );
    });
    
    jQuery('#drugstoreList').find('ul').remove().end().append( list );
    
    map.addControl(new YMaps.TypeControl());
    map.addControl(new YMaps.ToolBar());
    map.addControl(new YMaps.Zoom());
    map.addControl(new YMaps.ScaleLine());
    
    inited = true;
}


function showCustomDrugstore(center) {
    
    
    
}

function initMapOnList(center) {
    map = new YMaps.Map(YMaps.jQuery("#mapContainer")[0]);

    // Установка для карты ее центра и масштаба
    map.setCenter(new YMaps.GeoPoint(center.longitude, center.latitude), 15);

    var placemark         = new YMaps.Placemark(new YMaps.GeoPoint(center.longitude, center.latitude));
    placemark.name        = center.name;
    placemark.description = '<div>' + center.address + '.</div><div style="width:200px;">Телефоны: <span style="white-space:nowrap;">' + center.phones + '</span></div>';
    map.addOverlay(placemark);
    placemark.openBalloon();

    inited = true;
    map.addControl(new YMaps.TypeControl());
    map.addControl(new YMaps.ToolBar());
    map.addControl(new YMaps.Zoom());
    map.addControl(new YMaps.ScaleLine());
}

function listClick(center) {
    
    jQuery('#findDiv').show();
    YMaps.load(function() {initMapOnList(center)});
    
}

function addCityToLink(sender) {
var cityId = sender.options[sender.selectedIndex].value;
jQuery.query = jQuery.query.load(jQuery('#allDrugstores').attr('href'));
jQuery.query.SET('city', cityId);
//jQuery('#allDrugstores').attr('href', jQuery.query.toString());
//надо поискать метод, чтоб подставлялся адрес из исходного URL
jQuery('#allDrugstores').attr('href','/katalog/gde-kupit.html'+jQuery.query.toString());
}

function mStore(node)
{
if (typeof(node.defvalue)=='undefined')
{
    node.defvalue = node.value;
}

if (node.defvalue == node.value)
    node.value='';
}

function mRestore(node)
{
if (node.value==='')
node.value=node.defvalue;
}

