var Maps = new Class({




initialize : function() {
  this.type = null;
  this.check = null;
  this.count = null;
  this.cost = null;
  this.cost_do = null;
  this.field = null;
  this.order = 'asc';
   $('adress').set('text', '');
$('adress').addClass('ajax-loading');


},

go_adress : function(type,check,count,cost,cost_do,field,order){

  this.type = type?('\"'+type+'\"'):null;
  this.check = check?('\"'+check+'\"'):null;
  this.count = count?count:null;
  this.cost = cost?cost:null;
  this.cost_do = cost_do?cost_do:null;
  this.field = field?field:null;
  this.order = (order=='asc')?'desc':'asc';
	var ar = new Array();
	$$('.select_ids:checked').each(function(item, i){
	  ar[i] = parseInt(item.getProperty('value'));
	});

  var str = "";
  if(ar.length) str ="?select_ids="+ar.join(',');
  $('adress').set('text', '');
  $('adress').addClass('ajax-loading');
  $$('td').each(function(td){
   if(td.id && td.id.test(/^room_/i)){td.style.background='url(/img/plgreen.jpg)';}
  });
  if(type)$(type).style.background='url(/img/plorange.jpg)';

  $$('img').each(function(img){
   if(img.id && img.id.test(/^adress_check_/i)){img.src="/img/ck.jpg";}
  },this);
    if(check)$(check).src="/img/ck_true.jpg";

this.jsonRequest = new Request.JSON({url: "/ajax/adress.php"+str, onSuccess: function(res){
   $('adress').removeClass('ajax-loading');
   load(res);
}.bindWithEvent(this)}).get({ 'class_rooms': type,'count':count,'cost':cost,'cost_do':cost_do,'field':field,'order':order});
}


});

var type; var check; var count; var cost; var cost_do; var field; var order;
var geocoder;
var map;
var addresses = new Array();
var names = new Array();
var pics = new Array();
var ids = new Array();
var apartment_ids = new Array();
var counts = new Array();
var counter=0;
var maker_view=0;
var cost= new Array();
var valute= new Array();
var vid= new Array();

                                function load(res)
                                {
vid= new Array();
valute= new Array();
cost= new Array();
pics = new Array();
ids = new Array();
apartment_ids = new Array();
counts = new Array();
counter=0;
maker_view=0;

                                
                                 geocoder = null;
                                 map = null;
                                 counter=0;
                                 addresses = res;
                                 names = res;


                                     // Create new map object
                                     map = new GMap2(document.getElementById("map"));

                                     // Create new geocoding object
                                     geocoder = new GClientGeocoder();
                                    out = '';
                                    // Retrieve location information, pass it to addToMap()
                                   if(addresses.length){
									out+="<a class=\"sub2\" href=\"javascript:Maps.go_adress('room_all')\">Сравнить</a>";
                                    out +="<table border='0' cellpadding='4' cellspacing='0'>";
                                    out +="<tr class='plgrey'><td class='tdh'></td><td align='center' class='tdh1' style='width:110px;'><a href='javascript:Maps.go_adress("+Maps.type+","+Maps.check+","+Maps.count+","+Maps.cost+","+Maps.cost_do+",\"count_rooms\",\"desc\");'><img src=\"/img/arrows_down.gif\" align=\"absmiddle\" hspace=\"2\" border=\"0\" /></a><a href='javascript:Maps.go_adress("+Maps.type+","+Maps.check+","+Maps.count+","+Maps.cost+","+Maps.cost_do+",\"count_rooms\",\""+Maps.order+"\");'>Комнат</a><a href='javascript:Maps.go_adress("+Maps.type+","+Maps.check+","+Maps.count+","+Maps.cost+","+Maps.cost_do+",\"count_rooms\",\"asc\");'><img src=\"/img/arrows_up.gif\" align=\"absmiddle\" hspace=\"2\" border=\"0\" /></a></td><td align='center' class='tdh1' style='width:180px;'>";
                                    out +="<a href='javascript:Maps.go_adress("+Maps.type+","+Maps.check+","+Maps.count+","+Maps.cost+","+Maps.cost_do+",\"adress\",\"desc\");'><img src=\"/img/arrows_down.gif\" align=\"absmiddle\" hspace=\"2\" border=\"0\" /></a><a href='javascript:Maps.go_adress("+Maps.type+","+Maps.check+","+Maps.count+","+Maps.cost+","+Maps.cost_do+",\"adress\",\""+Maps.order+"\");'>Адрес</a><a href='javascript:Maps.go_adress("+Maps.type+","+Maps.check+","+Maps.count+","+Maps.cost+","+Maps.cost_do+",\"adress\",\"asc\");'><img src=\"/img/arrows_up.gif\" align=\"absmiddle\" hspace=\"2\" border=\"0\" /></a></td><td align='center' class='tdh1' style='width:120px;'><a href='javascript:Maps.go_adress("+Maps.type+","+Maps.check+","+Maps.count+","+Maps.cost+","+Maps.cost_do+",\"apartment_level\",\"desc\");'><img src=\"/img/arrows_down.gif\" align=\"absmiddle\" hspace=\"2\" border=\"0\" /></a>Звезд<a href='javascript:Maps.go_adress("+Maps.type+","+Maps.check+","+Maps.count+","+Maps.cost+","+Maps.cost_do+",\"apartment_level\",\"asc\");'><img src=\"/img/arrows_up.gif\" align=\"absmiddle\" hspace=\"2\" border=\"0\" /></a></td><td align='center' class='tdh1' style='width:115px;'><a href='javascript:Maps.go_adress("+Maps.type+","+Maps.check+","+Maps.count+","+Maps.cost+","+Maps.cost_do+",\"30_day\",\"desc\");'><img src=\"/img/arrows_down.gif\" align=\"absmiddle\" hspace=\"2\" border=\"0\" /></a>Цена <a href='javascript:Maps.go_adress("+Maps.type+","+Maps.check+","+Maps.count+","+Maps.cost+","+Maps.cost_do+",\"30_day\",\"asc\");'><img src=\"/img/arrows_up.gif\" align=\"absmiddle\" hspace=\"2\" border=\"0\" /></a><br />от</td><td style='width:90px;'></td></tr>";
                                   for (i=0; i < addresses.length; i++){
                                      row = addresses[i].split(";");
                                      names[i] = row[0];
                                      pics[i] = row[1];
                                      counts[i] = row[2];
                                      ids[i] = row[3];
                                      apartment_ids[i] = row[4];
                                      cost[i] = row[5];
                                      valute[i] = row[6];
                                      vid[i] = row[7];
                                      out +="<tr bgcolor='"+((i%2==0)?'#ECECEC':'#F5F5F5')+"'>";
                                      out +="<td class='tdh'><input class = \"select_ids\" type = \"checkbox\" value = \""+ids[i]+"\" /></td>";
                                      out +="<td class='tdh'>"+counts[i]+" комнатная</td>";
                                     // out +="<td class='tdh' width='200'><a href='#map' onClick='showLocation(\""+row[0]+"\","+i+");'>"+row[0]+"</a></td>";
									  
                                      out +="<td class='tdh' width='200'><a href='/rooms/"+ids[i]+"/'>"+row[0]+"</a></td>";
                                      out +="<td class='tdh' align='center'>";
                                      if(vid[i]>0){
                                       for(v=0;v<vid[i];v++){
                                        out +='<img src="/img/star.gif" width="13" height="12" hspace="2" />';
                                       }
                                      }
                                      out +="</td>";
                                      out +="<td class='tdh' align='center'>от <span class='red'>"+cost[i]+"</span> "+valute[i]+"</td>";
                                      out +="<td align='center'><a href='/order_form/"+ids[i]+"/' class='sub2'>Забронировать</a></td>";
                                      out +="</tr>";
                                      //if(i%Math.round(addresses.length/3)==0 && i>0){out +="</div><div class='box_adress'>";}
                                       geocoder.getLocations(row[0], addToMap);
                                      }
                                      out +="</table>";
                                      }else out += "Квартир нет!";
                                      $('adress').innerHTML = out;
                                }
                                
                            function showLocation(address,i) { counter=i;maker_view=1;
      geocoder.getLocations(address, addToMap);
    }


                              function createMarker(point,html)
                              {
                                  var marker = new GMarker(point);
                                           GEvent.addListener(marker, "mouseover", function() {marker.openInfoWindowHtml(html);});

                                  return marker;
                              }

                                // This function adds the point to the map

                                function addToMap(response)
                                { if(response.Placemark){
                                // Retrieve the object

                                place = response.Placemark[0];
                                point = new GLatLng(place.Point.coordinates[1], place.Point.coordinates[0]);

                                ka = apartment_ids[counter]+"<br />";
                                img = "<br /><a href='/rooms/"+ids[counter]+"/'><img style='margin-top:5px;border:2px solid #f1f1f1;' src='http://kievaccommodation.com/uploaded/Image/rooms/ico/"+pics[counter]+"' width='150' height='100' border='0' /></a>";
                                str_count = "<br />"+counts[counter]+" комнатная";
                                htmlText=ka+"<b><a href='/rooms/"+ids[counter]+"/'>"+names[counter]+"</a></b>"+img+str_count;


                                // Create a marker
                               marker=createMarker(point, htmlText);
                               map.addOverlay(marker);
                               if(maker_view==1)marker.openInfoWindowHtml(htmlText);

                             if (counter==0)
                              {
                                 map.setCenter(point, 12);
                                map.addControl(new GSmallMapControl());
                                map.addControl(new GMapTypeControl());
                               }

                              counter++;
                              }}


window.addEvent('domready', function() {
 Maps = new Maps();
 var anch = location.hash.substr(1).split(",");
 var params = new Array();
 for (i=0; i < anch.length; i++){
  params[i] = (anch[i]!='null') ? "'"+anch[i]+"'" : anch[i];
 }
   eval('Maps.go_adress('+params+');');
});

