var map;
var ml;
function init(){
            var div = document.getElementById("YMapsID");
            if (div){
                var area = div.className;
                // alert(area);
                // alert('http://travelshopping.ru/img/maps/'+town+'.xml');
                map = new YMaps.Map(div);
                map.setCenter(new YMaps.GeoPoint(44.00, 56.30), 5);
                // ml = new YMaps.YMapsML( 'http://hevil.narod.ru/xml/2.xml' );
                //alert('http://travelmarket-shop.com/img/maps/'+area+'.xml');
            // ml = new YMaps.YMapsML('http://api.yandex.ru/maps/ymapsml/examples/mapparams.xml');
                ml = new YMaps.YMapsML('http://travelmarket-shop.com/img/maps/'+area+'.xml');
                //обработка ошибок
                YMaps.Events.observe(ml, ml.Events.Fault, function (error) {
                    //alert(':((((' + error);
                    //div.style.display = 'none';
                    //alert('http://travelmarket-shop.com/img/maps/'+area+'.xml');
                    //alert(area);
                });
                /*добавить события для ссылок на точки на карте*/
                if (document.getElementById('link')){
                    add_linkers_events();
                }
                map.addOverlay(ml);
                map.addControl( new YMaps.TypeControl());
                map.addControl(new YMaps.Zoom());
            }
            //----------------------------------------тест---------------------------------
}


function add_linkers_events(){
    var linkers = getElementsByClass('linker',document.getElementById('link'),'span');
    lin_len = linkers.length;
    var i;
    for (i=0;i<lin_len;i++){
        linkers[i].onclick = go_there;
    }  
}

function go_there(){
   // var my_name = this.innerHTML;
    var my_id = this.id;
    var places = ml.filter(function(obj){
        //return obj.name == my_name;
        return  obj.metaDataProperty['id'] == my_id;
    });
    //alert(places[0].metaDataProperty['id']);
    if(places.length > 0 && places[0].isPlacemark == true){
        var disp_text;
        var descr_div = document.getElementById('description_'+my_id);
        if ((descr_div) && (descr_div.innerHTML != '')){
            disp_text = descr_div.innerHTML;
        }
        else if ((places[0]['description'] == '') || (places[0]['description'] == undefined)){
            disp_text = places[0]['name'];
        }
        else{
            disp_text = places[0]['description'];
        }
        places[0].openBalloon(disp_text);
        map.panTo(places[0].getGeoPoint());
    }
}


/*персонально для  ие*/
function getElementsByClass(searchClass,node,tag) {
    if(document.getElementsByClassName){
        classElements = node.getElementsByClassName(searchClass);
    }
    else{
        var classElements = new Array();
        if ( node == null )
                node = document;
        if ( tag == null )
                tag = '*';
        var els = node.getElementsByTagName(tag);
        var elsLen = els.length;
        var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
        for (i = 0, j = 0; i < elsLen; i++) {
                if ( pattern.test(els[i].className) ) {
                        classElements[j] = els[i];
                        j++;
                }
        }
    }
    return classElements;
}
