$(document).ready(function(){
	// Доска объявлений
	 board = {
		maySave : true,	 
		ga		: false,	 
		banner	: false,
		showBoard : false,
	    nowpage : 1,
	    clickPagin : false,
		table 	: $("#row"),
		message : function(m){
		 	$(".formError").html(m).fadeOut(400, function(){
		 		$(this).fadeIn(400);
		 	});
	 	},
		save : function (data){
	 		board.showBoard = true;
	 		if(data.save == 1){
	 			if(!board.ga){
		 			pageTracker._trackPageview("/index/save"); 
		 			board.ga = true;
		 		}
	 		}
		 	if(data.save == 1 && $("#dopparametrs").is(":hidden")) {
		 		$("#banner_save_tel").hide();
		 		$("#dopparametrs, #dopStr").show("blind");
		 		if(stations.length == 0){
		 			$(".selraion").fadeOut().fadeIn().fadeOut().fadeIn().fadeOut().fadeIn().fadeOut().fadeIn().fadeOut().fadeIn();		 			
				 	board.message("");
				 }
		 		$("#dopInfo").text("");
		 	} else if(data.save == 0){
		 		
		 	} else if(data.save == 1 && !$("#dopparametrs").is(":hidden")){
		 		$(".more").css({"color":"#5da130","fontSize":"160%"}).text(data.message);
		 		$("#dopparametrs, #dopStr").hide("blind");
		 	}
		 	$("#dopInfo").fadeOut(400, function(){$(this).fadeIn(400)});
		 	board.send();
	 	},
		bild : function(data){
		 	board.paginator(data.count);
			var tr = $("<tr></tr>");
			var td = $("<td></td>");
			
			ntr = tr.clone();
			ntr.addClass("title");
			
			ntd = td.clone();
			ntd.addClass("arrangement");
			ntd.html("<p>Расположение</p>");
			ntr.append(ntd);
			
			ntd = td.clone();
			ntd.addClass("floor");
			ntd.html("<p>Этаж</p>");
			ntr.append(ntd);
			
			ntd = td.clone();
			ntd.addClass("price");
			ntd.html("<p>Цена</p>");
			ntr.append(ntd);
			
			ntd = td.clone();
			ntd.addClass("description");
			ntd.html("<p>Описание</p>");
			ntr.append(ntd);
			
			ntd = td.clone();
			ntd.addClass("contact");
			ntd.html("<p>Контакты</p>");
			ntr.append(ntd);
			
			board.table.html(ntr);
            var chet = 0;
			for(num in data){
							if (num == 'count') continue;
                            var ob = data[num];
                            chet++;
                            ntr = tr.clone();
                            ntr.addClass("item");
                            if(chet % 2 == 0){
                                board.table.append("<tr class='active1'><td><img alt='' src='/imgs/row_active_1.png' /></td><td colspan='3'></td><td class='right'><img alt='' src='./imgs/row_active_2.png' /></td></tr>");
                                ntr.addClass("active2");
                            }
                            

                            ntd = td.clone();
                            ntd.addClass("arrangement");
                            ob.komnata = ob.komnata == 0?"Комната":ob.komnata+"-комн. квартира";
                            ntd.append($("<p></p>").append($("<b></b>").text(ob.komnata)));
                            // Метро или город

                            if(ob.gorodname != ""){
                                ntd.append(
                                    $("<p></p>").append(
                                          $("<a></a>").addClass("metro").addClass("nodotted").text(ob.gorodname)
                                        )
                                );
                            } else {
                                ntd.append(
                                    $("<p></p>").append(
                                        $("<img/>").attr({
                                            "src":"/imgs/icon_metro.png"
                                        })
                                    ).append(
                                            $("<a></a>").addClass("metro").addClass("nodotted").css("color", ob.metrocolor).text(ob.metroname)
                                        )
                                );
                            }
                            // До метро
                            var dometro = ob.xod < 1000?ob.xod >0 ? ob.xod+" мин. пешком":"":ob.xod/1000+" мин. транспортом";
                            ntd.append(
                                $("<p></p>").text(dometro)
                            )
                            // Улица
                            ntd.append(
                                $("<p></p>").text(ob.streetname)
                            );

                            ntr.append(ntd);
                            
                            ntd = td.clone();
                            // Этажи
                            ntd.addClass("floor");
                            ntd.append(
                                $("<img />").attr({"src":"/imgs/domiki/"+ob.etd+"_"+ob.et+"_k.gif"})
                            );
                            ntr.append(ntd);

                            // Цена, комиссия
                            ntd = td.clone();
                            ntd.addClass("price").append(
                                $("<p></p>").append(
                                    $("<b></b>").text(ob.price+" руб.")
                                )
                            ).append(
                                $("<p></p>").text("комиссия "+ob.kl+"%*")
                            );
                            ntr.append(ntd);
                            
                            // Описание
                            ntd = td.clone();
                            ob.opisanie = board.opisanie(ob.opisanie);
                            ntd.addClass("description").append(
                                $("<p></p>").html(ob.opisanie)
                            );

                            // Картинки
                            ntd.append(board.createIcons(ob));
                            //
                            
                            ntr.append(ntd);

                            //Контакты
                            ntd = td.clone();
                            ntd.addClass("contact").append(
                                $("<p></p>").text(ob.tel)
                            );
                            ntd.addClass("contact").append(
                                $("<p></p>").text(ob.uname)
                            );
                            ntd.addClass("contact").append(
                                $("<br/>")
                            );

                            ntr.append(ntd);
                            board.table.append(ntr);
                            if(chet % 2 == 0){
                                board.table.append("<tr class='active1'><td><img alt='' src='/imgs/row_active_4.png' /></td><td colspan='3'></td><td class='right'><img alt='' src='/imgs/row_active_3.png' /></td></tr>");
                            }

			}

			
			
		},
		opisanie : function(str) {
			var l = 121;
			var dalee = "... далее";
		        if(str.length > l){
		            var str = str.substr(0, l-dalee.length)+"<a href='#' class='dalee'>... далее</a>"+"<span class='continue'>"+str.substr(l-dalee.length)+"</span>";	            
		        }
		    return str;
		},
		showAllDescription : function() {
			$(this).next("span").show();
			$(this).remove();
			return false;
		},
        icons : [],
        paginator:function (count){
  		if(count > 2) {  			
            var countOnPage = 20;
  			var p = 9; // Количество выводимых страниц (1,2,3,...,9)
  			var n = (p+1)/2; // середина 
            count = Math.ceil(count / countOnPage);
            var str = '';
  			p = p<count?p:count;
  			var end = count-p+n;
  			var l = 0;
  			var start_str = "<a href='#labelPaginator' class='nodotted' id='start_page'>первая страница</a>";
  			var end_str = "<a href='#labelPaginator' class='nodotted' id='end_page'>последняя страница</a>";
  			if(count>0){
  				for (i = 1; i <= p; i++){
  					if(board.nowpage < n){
  						 l = i;
  						start_str = '';
  					} else if (board.nowpage > end) {
  							l = end+i-n;
  							end_str = '';
  							}
  							else {
  								l = board.nowpage -n + i;
  							}  				
  					str += l == board.nowpage ? "<span>"+l+"</span>":"<a href='#labelPaginator' class='nodotted'>"+l+"</a>";
  					
  				}
  				str = start_str + str + end_str;
              };
             $(".pages").html(str).show();
             $(".pages a").click(function(){
            	 if(!$("#dopparametrs").is(":hidden")) $("#dopparametrs").hide();
                 if(this.id == 'start_page') board.nowpage = 1;
  			    else if (this.id == 'end_page') board.nowpage = count;
  				  else board.nowpage = $(this).text();
                 board.clickPagin = true;
                 board.send();
                 
             });
  		   } else {
  			 $(".pages").text("");
  		   }
		},
        createIcons : function (ob){
           createIcons = {"holodilnik":"Холодильник", "pets":"Можно с животными", "srok":"Посуточно", "stiralka":"Стиральная машина", "balkon":"Балкон", "children":"Можно с детьми", "tv":"Телевизор"};
           createNoIcons = {"children":"Без детей"};
           img = $("<img/>");
           var divIcon = $("<div></div>").addClass("icons");
           for(i in ob){
               if(createIcons[i] !== undefined && ob[i] == 1){
                    if(board.icons[i] === undefined) {
                        board.icons[i] = img.clone().attr({"src":"/imgs/"+i+".png", "title":createIcons[i]});
                    }
                    divIcon.append(board.icons[i].clone());
                    divIcon.append(" ");
               } else if (createNoIcons[i] !== undefined && ob[i] !== "" && ob[i] == 0){
                    var title = createNoIcons[i];
                    i = "no"+i;

                    if(board.icons[i] === undefined) {
                        board.icons[i] = img.clone().attr({"src":"/imgs/"+i+".png", "title":title});
                    }
                   if(board.icons[i] !== undefined) {
                        divIcon.append(board.icons[i].clone());
                        divIcon.append(" ");
                   }
               }
           }
           return divIcon;

        }, 
        optionValues : function(idSelect){
        	idSelect = idSelect||"#raionselect";
        	values = '';
        	$(idSelect + " option").each(function(){
        		values += this.value+",";
        	});
        	
        	return values.substr(0,(values.length-1));
        	
        },
		send : function(url){
        	if(board.banner){
        		$("#banner_save_tel:hidden").show();
        		board.banner = false;
        	}
        	url = url||"/";
			if(url == "/" && board.showBoard == false) {
				return;
			} 
			if(url == "/index/save" && board.maySave == false){
				return;
			}
			var sendData = $("#search form").serialize()+"&idgorod="+board.optionValues();
			var paginStr = "";
			if(board.clickPagin == true) {
				paginStr = board.clickPagin == true?'&page='+board.nowpage:'';
				board.clickPagin = false;
			} else {
				board.nowpage = 1;
			}
			
			$.ajax({
			   url:url,
			   data:'action=board&'+sendData+paginStr+"&metro="+stations.join(",")
		   });
		},
		
		beforeSend : function(){
			board.maySave = false;
						
		},
		show : function(){
			board.table.show('highlight', {}, 1);			
		},
		progress: function(){
			board.table.html("<tr><td>Загрузка...</td></tr>").show('',{},1);
		}
	}
	// Настройка ajax 
	$.ajaxSetup({
		beforeSend:board.beforeSend,
		url:'/',
		type: 'POST',
		dataType: 'json',
		success:function(data){
			board.maySave = true;
			if (typeof data.actions == 'object') {
	            for (var i = 0; i <data.actions.length; i++) {
	                if (typeof board[data.actions[i].action] == 'function') {
	                   board[data.actions[i].action](data.actions[i].params);
	                }
	            }
	        }
		},
		complete: function(){
			board.maySave = true;
		}
	});
	  
	  $(".dalee").live("click", board.showAllDescription);
      $("#search form").find("input:text").blur(function(){
    	  board.send();
      });
      $("input:checkbox, #search form input:radio").click(function(){
    	  board.send();
      });
     // board.send();

      
})
