Studcity = {};
Studcity.P = {};
Studcity.P.Hostels = new function () {
    this.roadmapMap = _roadmapMap;
    this.sateliteMap = _sateliteMap;    
    
    var rm = {};            
    rm[1] = {'lat':49.827941,'lng':24.015437, 'title':'Гуртожиток №1'};
    rm[3] = {'lat':49.829464,'lng':24.015545, 'title':'Гуртожиток №3'};  
    rm[4] = {'lat':49.823396,'lng':24.01306, 'title':'Гуртожиток №4'};
    rm[5] = {'lat':49.82629,'lng':24.012557, 'title':'Гуртожиток №5'};  
    rm[6] = {'lat':49.822954,'lng':24.014145, 'title':'Гуртожиток №6'};  
    rm[7] = {'lat':49.827903,'lng':24.013844, 'title':'Гуртожиток №7 (Адміністрація)'};  
    rm[8] = {'lat':49.824463,'lng':24.011709, 'title':'Гуртожиток №8'};
    rm[9] = {'lat':49.828455,'lng':24.014512, 'title':'Гуртожиток №9'};  
    rm[10] = {'lat':49.824422,'lng':24.013592, 'title':'Гуртожиток №10'};  
    rm[11] = {'lat':49.825681,'lng':24.012165, 'title':'Гуртожиток №11'};  
    rm[12] = {'lat':49.816614,'lng':24.011157, 'title':'Гуртожиток №12'};  
    rm[13] = {'lat':49.816288,'lng':24.012675, 'title':'Гуртожиток №13'};
    rm[14] = {'lat':49.817306,'lng':24.012004, 'title':'Гуртожиток №14'};  
    rm[15] = {'lat':49.81769,'lng':24.013029, 'title':'Гуртожиток №15'};
  
    var sm = {};    
    sm[1] = {'lat':49.828111,'lng':24.015872, 'title':'Гуртожиток №1'};  
    sm[3] = {'lat':49.829578,'lng':24.015867, 'title':'Гуртожиток №3'};  
    sm[4] = {'lat':49.823567,'lng':24.013356, 'title':'Гуртожиток №4'};  
    sm[5] = {'lat':49.826439,'lng':24.0129, 'title':'Гуртожиток №5'};
    sm[6] = {'lat':49.823145,'lng':24.014456, 'title':'Гуртожиток №6'};    
    sm[7] = {'lat':49.828014,'lng':24.014295, 'title':'Гуртожиток №7 (Адміністрація)'};    
    sm[8] = {'lat':49.82466,'lng':24.012031, 'title':'Гуртожиток №8'};
    sm[9] = {'lat':49.828564,'lng':24.014955, 'title':'Гуртожиток №9'};
    sm[10] = {'lat':49.824581,'lng':24.014005, 'title':'Гуртожиток №10'};  
    sm[11] = {'lat':49.825792,'lng':24.012514, 'title':'Гуртожиток №11'};  
    sm[12] = {'lat':49.816697,'lng':24.011301, 'title':'Гуртожиток №12'};
    sm[13] = {'lat':49.816347,'lng':24.012846, 'title':'Гуртожиток №13'};  
    sm[14] = {'lat':49.81741,'lng':24.012138, 'title':'Гуртожиток №14'};
    sm[15] = {'lat':49.817745,'lng':24.013152, 'title':'Гуртожиток №15'};    
    
    function _map(canvas_id, map_type, hostelId, info_window_content) {
      var latlng = null;
      var marker_title = '';
      switch(map_type)
      {
      case google.maps.MapTypeId.ROADMAP:
        latlng = new google.maps.LatLng(rm[hostelId].lat,rm[hostelId].lng);
        marker_title = rm[hostelId].title;
        break;
      case google.maps.MapTypeId.SATELLITE:
        latlng = new google.maps.LatLng(sm[hostelId].lat,sm[hostelId].lng);
        marker_title = sm[hostelId].title;
        break;
      default:
        throw "Unsupported map type";        
      }       
      var options = {zoom: 17,center: latlng , mapTypeId: map_type};
      var map = new google.maps.Map(document.getElementById(canvas_id), options);
      var marker = new google.maps.Marker({position: latlng , map : map , title:marker_title});
      var infowindow = new google.maps.InfoWindow({content: info_window_content});
      infowindow.open(map, marker);
      return map;
    }
    
    function _roadmapMap(canvas_id, hostelId, info_window_content) {
        var map = _map(canvas_id, google.maps.MapTypeId.ROADMAP, hostelId, info_window_content);
        _loadMarkers(map, rm, hostelId);   
    }
    
    function _sateliteMap(canvas_id, hostelId, info_window_content) {
        var map = _map(canvas_id, google.maps.MapTypeId.SATELLITE, hostelId, info_window_content);
        _loadMarkers(map, sm, hostelId);
    } 
    
    function _loadMarkers(map, markers, exceptHostelId) {
      var currentMarker = null; 
      for(var mId in markers){
        if (exceptHostelId == mId) continue;          
        var m = markers[mId];
        var latlng = new google.maps.LatLng(m.lat,m.lng);
        var marker = new google.maps.Marker({position: latlng , map : map , title:m.title});             
      }
    }   
}