var map, geoResult, placemark;
var gCollection = new YMaps.GeoObjectCollection();
            
var s = new YMaps.Style();
s.iconStyle = new YMaps.IconStyle();
s.iconStyle.href = "http://www.fss.ru/files/28205/logofss.jpg";
s.iconStyle.size = new YMaps.Point(16, 16);
s.iconStyle.offset = new YMaps.Point(-9, -16);
        
           
            
var RUru = {
    "sProcessing":   "Подождите...",
    "sLengthMenu":   "Показать _MENU_ записей",
    "sZeroRecords":  "Записи отсутствуют.",
    "sInfo":         "Записи с _START_ до _END_ из _TOTAL_ записей",
    "sInfoEmpty":    "Записи с 0 до 0 из 0 записей",
    "sInfoFiltered": "(отфильтровано из _MAX_ записей)",
    "sInfoPostFix":  "",
    "sSearch":       "Поиск:",
    "sUrl":          "",
    "oPaginate": {
        "sFirst": "Первая",
        "sPrevious": "Предыдущая",
        "sNext": "Следующая",
        "sLast": "Последняя"
    }
};
function get_koordinati_from_name (){
    var name_tic =  "";
    for (var j = 0; j < mydate.length; j++) {
        name_tic = mydate[j].name;
                 
        for (var i = 0; i < gCollection.length(); i++) {
                    
            if (gCollection.get(i).name.indexOf(name_tic) != -1)
            {
                $('#example').dataTable().fnUpdate( " " + gCollection.get(i).getGeoPoint() + " ", j , 0 );  
            };
                    
        }
    };
           
};   
             

function showgCollection (name, adres2){
    for (var i = 0; i < gCollection.length(); i++) {
        if (gCollection.get(i).name == name)
        {
            map.setZoom(14);
            gCollection.get(i).openBalloon();
            map.setCenter(gCollection.get(i).getGeoPoint());
            if (adres2.indexOf("Челябинск") != -1){
                map.setType(YMaps.MapType.MAP);
            }else{
                map.setType(YMaps.MapType.PMAP);
            };
                        
        };
                    
    }
               
}
function Addplacemark (geoPoint, value, name  ,adres2, telefon, fax, grafic_rab, email){
    placemark = new YMaps.Placemark(geoPoint, {
        style: s
    });   
    placemark.name = name;
    placemark.description = 
    "адрес: " + adres2 + "<br>" +
    "телефон: " + telefon + "<br>" +
    "факс: " + fax + "<br>" +
    "email: " + email + "<br>" +
    "график работы: " + "<br>" + grafic_rab.split(';').join('<br>');
    map.addOverlay(placemark);
    gCollection.add(placemark);
    //слушатель события открытия балуна
    YMaps.Events.observe(placemark, placemark.Events.BalloonOpen, function () {
        $("#YMapsID td" ).css( "padding", "0px" );
        $("#YMapsID td" ).css( "border-bottom", "0px" );
        $("#YMapsID td" ).css( "border-top", "0px" );
        $("#YMapsID table" ).css( "border-top", "0px" );
        $("#YMapsID table" ).css( "border-bottom", "0px" );
    });
}
            
function showAddress (value, name  ,adres2, telefon, fax, grafic_rab, email) {
    map.removeOverlay(geoResult);
    map.removeOverlay(placemark);
    if (value.indexOf("Челябинск") != -1){
        var geocoder = new YMaps.Geocoder(value);
    }else{
        var geocoder = new YMaps.Geocoder(value, {
            geocodeProvider:"yandex#pmap"
        });
    };            
    YMaps.Events.observe(geocoder, geocoder.Events.Load, function () {
        if (this.length()) {
            geoResult = this.get(0);
            geoPoint = this.get(0).getGeoPoint()
            Addplacemark (geoPoint, value, name  ,adres2, telefon, fax, grafic_rab, email);
                   
                        
        }else {
    // alert("Ничего не найдено по " + value)
    }
    });
    YMaps.Events.observe(geocoder, geocoder.Events.Fault, function (geocoder, error) {
        //alert("Произошла ошибка: " + error);
        })
}
       

function showAddress2 (target ,value, name  ,adres2, telefon, fax, grafic_rab, email) {
    var targetmy = target.split(',');
    var geoPoint = new YMaps.GeoPoint( parseFloat(targetmy[0]),parseFloat(targetmy[1]));
    Addplacemark (geoPoint, value, name  ,adres2, telefon, fax, grafic_rab, email);
}
            
$(function() {
  
      
    $.ajax({
        url: "http://r74.fss.ru/68861/68876/chr_fss_point.jsonp", 
        //url: "jsonp/chr_fss_point.jsonp", 
        data: {},
        jsonp: 'callback',
        jsonpCallback: 'callbackName',
        dataType:'jsonp',
        success: function(mydate) {


            $('#example').dataTable( {
                "aoColumns": [ 
                {
                    "sTitle": "наименование",  
                    "sName": "name" , 
                    "mDataProp": "name"
                },

                {
                    "sTitle": "adres",  
                    "sName": "adres" ,
                    "mDataProp": "adres", 
                    "bVisible": false
                },
                {
                    "sTitle": "адрес",  
                    "sName": "adres3" ,
                    "mDataProp": null, 
                    "fnRender": function(oObj) {
                                
                        var name = oObj.aData["name"];
                        var adres2 = oObj.aData["adres2"];
                                
                        var link = '';
                        link = '<a href="javascript:showgCollection (\'' + name + '\',\'' +  adres2 + '\')">'+adres2+'</a>';
                        return link; 
                    }
                },
                {
                    "sTitle": "телефон",  
                    "sName": "telefon" ,
                    "mDataProp": "telefon", 
                    "sClass": "center"
                },
                {
                    "sTitle": "факс",  
                    "sName": "fax" ,
                    "mDataProp": "fax"
                },
                       
                {
                    "sTitle": "email",  
                    "sName": "email2" ,
                    "mDataProp": null, 
                    "fnRender": function(oObj) {
                        var email = oObj.aData["email"];
                                                             
                        var  link = '<a href="mailto:'+email+'">'+email+'</a>';   
                        return link; 
                    }
                }
                ],
                "aaData": mydate

                ,
                "bLengthChange": false,
                "bFilter": true,
                "bSort": false,
                "bInfo": true,
                "bAutoWidth": true,
                "sScrollY": "100px", 
                "bPaginate": false,
                "bProcessing": true,
                "oLanguage": RUru
            } );
                
                
              
            map = new YMaps.Map($("#YMapsID"));     
            var point = new YMaps.GeoPoint( 60.65679,54.066629);
            map.setCenter( point, 6, YMaps.MapType.MAP);
            map.addControl(new YMaps.TypeControl());
            map.addControl(new YMaps.ToolBar());
            map.addControl(new YMaps.Zoom());
            map.addControl(new YMaps.MiniMap());
            map.addControl(new YMaps.ScaleLine());
                
                
                
            for (var i = 0; i < mydate.length; i++) {
                showAddress2 (mydate[i].target, mydate[i].adres, mydate[i].name  ,mydate[i].adres2, mydate[i].telefon, mydate[i].fax, mydate[i].grafic_rab, mydate[i].email);
            };
        
            
        }
    });//ajax1
       
       
});

