var JS_DEBUG = false, map, geoResult;

function __(e){

  if(JS_DEBUG)
    alert(e);
}

function SetValue(Key, Value, Type) {
  var Request = null;
  if( window.XMLHttpRequest )
    Request = new XMLHttpRequest();
  else if( window.ActiveXObject )
    Request = new ActiveXObject('MsXml2.XmlHttp');
  if( Request ) {
    Request.open('get', '/setvalue.html?Type='+Type+'&Key='+Key+'&Value='+Value+'&Active='+Math.random(), true);
    Request.send(null);
  }
}

function getResultCount(){

  if($('count-found'))
    $('count-found').innerHTML = '<h2>загрузка...</h2><img src="/files/sasn/Image/ajax-loader.gif" border="0"/>';
  else
    return;
  
  new Ajax.Request('/json/?Name=searchcount&'+$('search-form').serialize(),{
    method: 'get',
    /*parameters: {
      AJAX: '1'
    },*/
    onComplete: function(request) {
    
      var data;
      //__(request.responseText);
      eval(request.responseText);
      
      if(data["result"]){
        $('not-found').hide();
        $('count-found').show();
        $('count-found').innerHTML = data["result"];
        $('search-button').disabled = false;
      } 
      else{
        $('count-found').hide();
        $('not-found').show();
        $('search-button').disabled = true;
      }
  }});
  
  //$("realt-results").innerHTML = "";
}

// На соновании данных формы, обновляем ее
function ChangeTypeDemand(Sender){

  new Ajax.Updater('demand-block',
                   '/json/?Name=demand&'+$(Sender).up("form").serialize(),
                   {method: 'get',
                    evalJS: true,
                    evalScripts: true,
                    parameters: {'AJAX': 1} });
    
}

function ValidateDemand(Sender){
  
  var comboList = $(Sender).select("input.checked-combo");

  // Проверка на заполнение комбо листов
  if(comboList.size()){
  
    var isComboChecked = false;
    comboList.each(function(e){
    
      if(e.checked)
        isComboChecked = true;
    });
    
    if(!isComboChecked){
      alert("Пожалуйста, укажите «Район».");
      return false;
    }
  }
   
  if(!Sender.Phone.value
     && !Sender.EMail.value){
    alert("Пожалуйста, заполните одно из полей с контактной информацией: «E-mail» или «Телефон»!");
    return false;
  }
  
  return ValidateForm(Sender);
}

function DemandLink(Sender){
  
  var Href = Sender.href+'?'+$('search-form').serialize();

  location.href = Href;
  return false;
}

function sliderChange(Obj) {

  // скрыть все меню
  $$("ul.slider-sublist").each(function(e){ e.hide(); });

  // показать нужное
  $(Obj.id + "-sublist").style.display = "block";
  
  // перекрасить ссылку
  $$("ul#slider-list .item").each(function(e){ e.className = "item"; });
  Obj.className = "item selected";

  // сменить фоновую стрелочку
  $("slider-list").className = Obj.id + "-slider";

  return false;
}

function clearElement(obj){

  if(obj.tagName.toLowerCase() == 'input'){
  
    if(obj.type.toLowerCase() == 'checkbox'){
      obj.checked = false;
    }
    else{
      obj.value = "";
    }
  }
  else if(obj.tagName.toLowerCase() == 'select'){
    obj.options[0].selected = true;
  }
  else if(obj.className == 'form-stat-val'){
    $(obj).innerHTML = "Все";
    $(obj).up(".combo-box").select("input").each(function(e){
      clearElement(e);
    });
  }
  //alert(obj.className);
}

function clearForm(){

  var form = 'form-item';

  //Очищаем все
  // - текстовые поля ввода и checkbox'ы
  $$(('input.form-item')).each(function(obj){
  
    clearElement(obj);
  });
  
  // - выпадающие списки
  $$('select.form-item').each(function(obj){
  
    clearElement(obj);
  });
  
  // - сombo-box'ы
  $$('.form-stat-val').each(function(obj){
  
    clearElement(obj);
  });
  
  // в итоге подсчитываем сколько нашлось обьектов
  getResultCount();
}

function do_loan_calc(form)
{
	var payment = 0;
	var ps = 0;

	var period		= form.period.value.replace(/[^0-9|\.|,]/gi, "");
	var amount		= form.amount.value.replace(/[^0-9|\.|,]/gi, "");
	var percent 	= form.percent.value.replace(/[^0-9|\.|,]/gi, "");
	period = period.replace(',', '.');
	percent = percent.replace(',', '.');
	amount = amount.replace(',', '.');
	var period_rest	= period * 12;

	if (!period)
	{
		alert('Введите срок кредитования');
		return false;
	}

	if (!percent)
	{
		alert('Введите процентную ставку');
		return false;
	}

	if (!amount)
	{
		alert('Введите сумму кредита');
		return false;
	}

	ps = percent / 1200;
	zn = 1-Math.pow(1 + ps, -(period_rest));

	payment = amount * (ps / zn);
	total_payment = payment * period * 12;
	total_percent = total_payment - amount;

	form.payment.value = number_format(payment, 0, '', ' ');
	form.total_payment.value = number_format(total_payment, 0, '', ' ');
	form.total_percent.value = number_format(total_percent, 0, '', ' ');
}

function calculate_flat(form){
	var payment = 0;
	var ps = 0;
	var alert = "";

  //Стоимость квартиры
  var cost      = form.cost.value.replace(/[^0-9|\.|,]/gi, "");
  //Желаемый первоначальный взнос
  var pay = form.pay.value.replace(/[^0-9|\.|,]/gi, "");
  //Сумма кредита
	var amount		= form.amount.value.replace(/[^0-9|\.|,]/gi, "");
	//Процентная ставка
	var percent 	= form.percent.value.replace(/[^0-9|\.|,]/gi, "");
  //Срок кредитования
	var period		= form.period.value.replace(/[^0-9|\.|,]/gi, "");

  cost = cost.replace(',', '.');
  pay = pay.replace(',', '.');
	period = period.replace(',', '.');
	percent = percent.replace(',', '.');
	amount = amount.replace(',', '.');
	var period_rest	= period * 12;

	if(pay
     && pay < cost*0.15){
  	alert = 'Указанный Вами первоначальный взнос слишком мал! Он должен составлять не менее 15% от стоимости квартриры.';
  }

	if (!period){
		alert = 'Введите срок кредитования';
	}

	if (!percent){
		alert = 'Введите процентную ставку';
	}

	$('comment').innerHTML = alert;

	if(alert){
    return false;
  }

  if(!amount || !pay){

    if(amount){
      pay = cost - amount;
    }
    
    amount = cost - pay;
  }

	ps = percent / 1200;
	zn = 1-Math.pow(1 + ps, -(period_rest));

	payment = amount * (ps / zn);
	total_payment = payment * period * 12;
	total_percent = total_payment - amount;

	form.payment.value = number_format(payment, 0, '', ' ');
	form.amount.value =  number_format(amount, 0, '', ' ');
	form.pay.value = number_format(pay, 0, '', ' ');
}

function number_format(number, decimal, dec_point, th_sep)
{
	number = Math.round(number * Math.pow(10, decimal)) / Math.pow(10, decimal);
	str_number = number + '';
	arr_int = str_number.split('.');

	if(!arr_int[0]) arr_int[0] = '0';
	if(!arr_int[1]) arr_int[1] = '';
	if(arr_int[1].length < decimal)
	{
		nachkomma = arr_int[1];

		for(i = arr_int[1].length + 1; i <= decimal; i++)
		{
			nachkomma += '0';
		}

	        arr_int[1] = nachkomma;
	}

	if(th_sep != '' && arr_int[0].length > 3)
	{

		Begriff = arr_int[0];
		arr_int[0] = '';

		for(j = 3; j < Begriff.length ; j += 3)
		{

			Extrakt = Begriff.slice(Begriff.length - j, Begriff.length - j + 3);
			arr_int[0] = th_sep + Extrakt +  arr_int[0] + '';

	        }

		str_first = Begriff.substr(0, (Begriff.length % 3 == 0) ? 3 : (Begriff.length % 3));
	        arr_int[0] = str_first + arr_int[0];
	}

	return arr_int[0] + dec_point + arr_int[1];
}

function in_array(value, arr){

  var result = false;
  
  $H(arr).each(function(e){
    if(value.toLowerCase() == e.value.toLowerCase())
      result = true;
  });
  
  return result;
}

function changeTypeForm(Id){

  // Сначала прячем все поля
  $$(".hidden").each(function(obj){
      
    if(!in_array(obj.id, RightFields[Id])
       && !in_array(obj.id, LeftFields[Id])){
      
      $$('#'+obj.id+' .form-item').each(function(e){
        clearElement(e);
      });
      
      $$('#'+obj.id+' .form-stat-val').each(function(e){
        clearElement(e);
      });
      
      obj.hide();
    }
    else{
      obj.show();
    }
  });
}

function changeForm(Id){
  
  if(Id == 48143){
    $$(".hidden").each(function(obj){
        obj.hide();
    });
  
    $H(Fields).each(function(obj){
      if(obj.value){
        $(obj.value).show();
      }
    });
  }
  else{
    changeTypeForm(3);
  }
}

function strOver(Sender){
  Sender.className = "item cur";
}

function strOut(Sender, Class){
  Sender.className = Class;
}

function FindValue( Text, Select, Type ) {

 var iValue = "";
 var str = Text.value;

 if( str != "" ) {

  for( i = 0; i < Select.options.length; i++ ) {
   iValue = Select.options[i].text;

   if( iValue.toLowerCase().indexOf(str.toLowerCase()) != -1 ) {
    Select.options[i].selected = true;
    break;
   }
  }

  if( i == Select.options.length )
    window.status = "Не найдено: " + str;
  else
    window.status = str + " - можете выбрать...";
 }
}

function getComboValue(Sender){

  var result = "";
  var separator = "";
  
  var Box = $(Sender).up(".combo-box");
  
  if(!Box)
    return false;

  $(Box).select('input').each(function(obj){
  
    if(obj.type == 'checkbox'
       && obj.checked){
      result += separator + obj.title;//Label[obj.name];
      
      separator = ", ";
    }
  }); 
  
  $(Box).down(".form-stat-val").update(result);
}

function comboBoxCloseHandler(event){

  // Это будет элемент, по которому собственно кликнули
  var Sender = Event.element(event); 
  var Active = $(Sender).up(".combo-box");
  
  // Закрываем все combo-box, кроме того, по которому был клик
  $$(".combo-box").each(function(obj){
    if(!Active
       || obj.id != Active.id){
      $(obj).down(".form-box").hide(); 
    }
  });
  
  getResultCount();
};

function CloseOpen(Item, Parent){

  if($(Item).visible()){
    Event.stopObserving(document.body, 'click', comboBoxCloseHandler)
    $(Item).hide();
  }
  else{
    $(Item).show();

    Event.observe(document.body, 'click', comboBoxCloseHandler);
    
    // Ширина списка combo-box должна быть как минимум равной ширине его строчки значений
    if( Parent ){
      if($(Item).getWidth() < $(Parent).getWidth())
        $(Item).setStyle({
          width: $(Parent).getWidth()- (parseInt($(Item).getStyle('borderLeftWidth')) + parseInt($(Item).getStyle('borderRightWidth'))) +'px'});
    } 
  }
    
  return false;
}

function CloseOpenBox(Block){

  if(!$(Block))
    return false;
    
  if($(Block).visible())
    $(Block).hide();
  else
    $(Block).show();
    
  return true;
}

function changeTownAreaList(Value, Box){

  if(Object.isUndefined(Box))
    Box = "TownArea";
    
  Box = "combo-box-"+Box;

  var Types = {
    "Новосибирск": "nsk",
    "НСО": "nso",
    "Бердск": "berdsk"
  };
  
  if(!Value){
    $$("#"+Box+" .block").each(function(e){
      if(!$(e).visible())
       $(e).show();
    });
  }
  else{
    $$("#"+Box+" .block").each(function(e){
      if($(e).visible())
       $(e).hide();
    });
    
    $(Box).down(".block-"+Types[Value]).show();
  }
  
  $$("#"+Box+" .form-stat-val").each(function(obj){
  
    clearElement(obj);
  });
}

var Cancel = "";
var Active = "";

// Вешаем на body обработчик, который будет закрывать нужные нам обьекты
function LoadBody(){

}


function showAddress (value) {

  map = new YMaps.Map(document.getElementById("YMapsID"));
  map.addControl(new YMaps.TypeControl());
  map.addControl(new YMaps.ToolBar());
  map.addControl(new YMaps.Zoom());
  map.addControl(new YMaps.ScaleLine());
  map.removeOverlay(geoResult);
  var geocoder = new YMaps.Geocoder(value, {results: 1, boundedBy: map.getBounds()});

  YMaps.Events.observe(geocoder, geocoder.Events.Load, function () {
      if (this.length()) {
          geoResult = this.get(0);
          map.addOverlay(geoResult);
          map.setBounds(geoResult.getBounds());
      }else {
          alert("Ничего не найдено")
      }
  });
}

function ChangeFeedBackForm(Type){

  $$("div.panel").each(function(e){
    e.hide();
  });
  
  $("panel-"+Type).show();
}

function demandCountdown(pe){

  if(!$("demand-counter")){
    pe.stop();
    return;
  }
    
  var Value = parseInt($("demand-counter").innerHTML);
  
  if(!Value){
    pe.stop();
    window.location = 'http://www.sasn.ru/database/inhabit/sale/';
  }
  else
   $("demand-counter").update(Value-1); 
}

// Класс для работы с поисковым полем "Улица" каталога
TFormStreet = Class.create({

  // Результаты запросов пользователя, которые надо кэшировать,
  // чтобы не спрашивать то же самое у сервера
  CacheData: {},
  // по умолчанию результаты запросов кэшируются
  CacheResults: true,
  AjaxStatusTimer: 0,
  PositionCursor: 0,
  CurrentPE: null,
  fIsChanged: false,
  _previousValue: null,

  // Функция инициализации полей формы
  initialize:function(ObjectName){
    
    if(!ObjectName
       || !$(ObjectName))
      return;
      
    this.Item = $(ObjectName);
    
    Event.observe(this.Item, "focus", this.open.bindAsEventListener(this));
    Event.observe(this.Item, "keydown", this.hKeyPress.bindAsEventListener(this));
    Event.observe(this.Item, "keyup", this.hKeyUp.bindAsEventListener(this));
    
    this.blurHandler = this.blur.bindAsEventListener(this);
    
    this.Item.up().insert("<br />");
    
    // Сам выпадающий список
    this.Box = new Element("div", {
                           'class': "popup",
                           'id': 'popup-'+ObjectName
                          });
    this.Item.up().appendChild(this.Box);
    
    // Список найденных вариантов
    var div = new Element("div",{
                            'class': 'result'
                          });
    this.Box.appendChild(div);
    this.List = new Element("ul");
    div.appendChild(this.List);
    
    //Строчка, с кнопкой для зарытия списка
    this.CloseDiv = new Element("div", {
                                 'class': 'close-block'
                                });
    this.Box.appendChild(this.CloseDiv);
    
    var CloseLink = new Element("a",{
                                  "href": "#"
                               }).update("Закрыть");
    this.CloseDiv.appendChild(CloseLink);
    Event.observe(CloseLink, "click", this.close.bindAsEventListener(this));
    
    // По умолчанию скрываем
    this.close();
  },
  
  close:function(event){
    
    if(this.Box.visible())
      this.Box.hide();
      
    document.stopObserving('click', this.blurHandler);
    
    if(this.fIsChanged)
      getResultCount(this.Item);
    
    if(!event)
      return true;
    
    var element = Event.element(event);
    Event.stop(event);
    
    if(element.tagName.toLowerCase() == 'a')
      return false;
    else
      return true;
  },
  
  open:function(event){
    
    if(!this.Item.value
       || this.List.childNodes.length == 1){
      return;
    }

    this.Box.setStyle({"width": this.Item.getWidth()+"px"});
    
    if(!this.Box.visible())
      this.Box.show();
      
    document.observe('click', this.blurHandler);
  },
  
  blur:function(event){
  
    var element = Event.element(event);
    
    if(!element.descendantOf(this.Box.id)
        && element != this.Item)
      this.close();
  },
  
  selectValue:function(event){
    
    var element = Event.element(event);

    this.Item.value = element.value;
    
    element.stopObserving("click", this.selectValueHandler);
    Event.stop(event);
    
    return this.close();
  },
  
  loadData:function(data){
       
    if(data){

      var List = this.List;
      var Sender = this;
      
      if(List.childNodes.length){
        $A(List.childNodes).each(function(e){$(e).remove();});
      }

      $H(data).each(function(e){

        var li = new Element("li");
        List.appendChild(li);
        
        var a = new Element("a",{
                              "href": "#",
                              "style": "color: #0e4c8c",
                              'title': e.value
                            }).update(e.value);
        
        Sender.selectValueHandler = Sender.selectValue.bindAsEventListener(Sender);                    
        a.observe("click", Sender.selectValueHandler);
        a.value = e.value;
        li.appendChild(a);
      });
      
      this.open();
    } 
    else{
      this.close();
    }
  },
  
  loadAjaxRequest:function(request){
    
    var data;
    //__(request.responseText);
    eval(request.responseText);
    
    if(this.CacheResults)
      this.CacheData[request.request.options.parameters.Value] = data;
        
    this.loadData(data);
  },
  
  controlStatus:function(pe){
    
    if(++this.AjaxStatusTimer > 100){
      
      pe.stop();
      
      this.PositionCursor = 0;
      new Ajax.Request('/json/', {
        method: 'get',
        parameters: {
          Name: 'StreetName',
          Value: this.Item.value
        },
        onComplete: this.loadAjaxRequest.bind(this)
      });
    }
  },
  
  positionMoveUp:function(){
  
    if(!this.List.childNodes.length
       || (this.PositionCursor-1) <= 0)
      return;
      
    this.PositionCursor--;
    this.positionShow();
  },
  
  positionMoveDown:function(){
    if(!this.List.childNodes.length
       || (this.PositionCursor+1) > this.List.childNodes.length)
      return;
    
    this.PositionCursor++;
    this.positionShow();
  },
  
  positionSelect:function(){
    this.Item.value = this.List.down('li.active a').value;
    this.change();
  },
  
  positionShow:function(){
  
    this.List.select("li.active").each(function(e){
      e.removeClassName("active");
    });
    
    this.List.down('li', (this.PositionCursor-1)).addClassName("active");
  },
  
  hKeyPress:function(event){
    
    switch(event.keyCode){
      
      case Event.KEY_RETURN:
        this.positionSelect();
        Event.stop(event);
        break;
      
      default:{
        break;
      }
    }
  },
  
  hKeyUp:function(event){
  
    var element = Event.element(event);
    
    if(this._previousValue != this.Item.value)
      this.fIsChanged = true;
    else
      this.fIsChanged = false;
      
    this._previousValue = this.Item.value;
    
    switch(event.keyCode){
      
      case Event.KEY_ESC:{
        this.close();
        break;
      }
      
      case Event.KEY_UP:
        this.positionMoveUp();
        break;
        
      case Event.KEY_DOWN:
        this.positionMoveDown();
        break;
      
      default:{
        this.change();
        break;
      }
    }
  
  },
  
  change:function(){

    if(!this.Item.value){
      this.close();
      return;
    }
    
    if(this.CacheResults
       && this.CacheData[this.Item.value]){
      this.loadData(this.CacheData[this.Item.value]);   
    }
    else{
      this.AjaxStatusTimer = 0;
      
      if(this.CurrentPE)
        this.CurrentPE.stop();
      
      this.CurrentPE = new PeriodicalExecuter(this.controlStatus.bind(this), 0.01); 
    }
  }
});

// Ротация баннеров
var flashinstalled = 2;
var MSDetect = false;
var step = -1;
var thickImage = 1;
var currentImage = 1;
var ImagePath = '/files/sasn/Image/';
var FlashPath = '/files/sasn/Flash/';
var BannerData = {
    1: {
      link: '/projects/1238575/',
      images: {
        1: "banner11.png",
        2: "banner12.png"
        }
    },
    /*2: {
      link: '/news/1398050/',
      images: {
        1: "banner21.png",
        2: "banner22.png"
      }
    } ,*/
    2: {
      link: '/vacancy/',
      images: {
        1: "314x116.gif"//,
        //2: "banner42.png"
      }
    },
    3: {
      source: 'micro.swf'
    },
    4: {
      link: '/analytics/',
      images: {
        1: "banner5.png"
      }
    },
    5: {
      link: 'http://www.sasn.ru/database/inhabit/more/2962634/',
      source: 'zagorod.swf',
      backgroundImg: 'banner/zagorod_bg.gif'
    },
    6: {
      source: 'novostroyki_1.swf'
    },
    7: {
      source: 'ipoteka_priezhim.swf'
    }
  };

document.observe("dom:loaded", BodyPrepare);

function BodyPrepare(){

  if($("bin-table")){
    
    $("bin-table").up("form").observe("submit", function(e){
      
      var Sender = Event.element(e);
      var objCount = $(Sender).select("#bin-table tr").length-1;
      
      if(objCount >= 10){
        if(!confirm("Сформирована заявка на "+objCount+" объектов. Вы действительно хотите отправить заявку на "+objCount+" объектов?")){
          Event.stop(e);
          return false;
        }
      }
      
      return true;
    });
  }

  // определяем наличие flash-плагина
  /*if (navigator.plugins && navigator.plugins.length) {
    x = navigator.plugins["Shockwave Flash"];
    if (x) {
      flashinstalled = 2;
    }
    else {
      flashinstalled = 1;
    }

    if (navigator.plugins["Shockwave Flash 2.0"]) {
      flashinstalled = 2;
    }
  }
  else if (navigator.mimeTypes && navigator.mimeTypes.length) {
    x = navigator.mimeTypes['application/x-shockwave-flash'];
    if (x && x.enabledPlugin) {
      flashinstalled = 2;
    }
    else {
      flashinstalled = 1;
    }
  }*/
  /*else {
    MSDetect = true;
  }*/

  if($("ads")) {

    var keyRandom = new Array;

    // место 2
    $("banner2").innerHTML = "";

    /*var keyStat;
    do {
      keyStat = Math.floor(Math.random()*$H(BannerData).size()+1);
    }
    while (keyRandom.indexOf(keyStat) > -1 || $H(BannerData[keyStat]['images']).size() >= 2 || BannerData[keyStat]['source']);
    keyRandom.push(keyStat);

    $("banner2").className = "banner"+keyStat;

    var a = new Element("a",{
                            "href": BannerData[keyStat]['link'],
                            "style": 'background-image: url("' + ImagePath + BannerData[keyStat]['images'][1] + '")'
                          });
    $("banner2").appendChild(a);*/

    var content;
    if(flashinstalled < 2) {
      content = new Element("a",{
                              "href": BannerData[5]['link'],
                              "style": 'background-image: url("' + ImagePath + BannerData[5]['backgroundImg'] + '"); width: 324px; height: 95px'
                            });
    }
    else if(flashinstalled == 2) {
      content = new Element("embed", {
                                "type": 'application/x-shockwave-flash',
                                "play": 'true',
                                "loop": 'true',
                                //"height": '116',
                                //"width": '396',
                                "height": '95',
                                "width": '324',
                                "src": FlashPath + BannerData[5]['source']
                              });
    }
     $("banner2").appendChild(content);

    // место 1
    $("banner1").innerHTML = "";
    var embed = new Element("embed", {
                                "type": 'application/x-shockwave-flash',
                                "play": 'true',
                                "loop": 'true',
                                //"height": '116',
                                //"width": '396',
                                "height": '95',
                                "width": '314',
                                "src": FlashPath + BannerData[7]['source']
                              });

     $("banner1").appendChild(embed);
    /*$("banner1").className = "banner1";
      var a = new Element("a", { "href": BannerData[4]['link'] });
      $("banner1").appendChild(a);

      var divF = new Element("div", {
                              //"id": 'flashOuter',
                              "style": 'background: #fff url("' + ImagePath + BannerData[4]['images'][1] + '") center no-repeat'
                            });
      a.appendChild(divF);
    do {
      keyAnim = Math.floor(Math.random()*$H(BannerData).size()+1);
    }
    while (keyRandom.indexOf(keyAnim) > -1 || $H(BannerData[keyAnim]['images']).size() < 2  || BannerData[keyAnim]['source']);
    keyRandom.push(keyAnim);

    $("banner1").className = "banner"+keyAnim;

    var a = new Element("a",{ "href": BannerData[keyAnim]['link'] });

    $("banner1").appendChild(a);

    if( currentImage > $H(BannerData[keyAnim]['images']).size() )
      currentImage = 0;

    var nextImage = currentImage + 1;

    var div1 = new Element("div",{
                           "style": 'background-image: url("' + ImagePath + BannerData[keyAnim]['images'][nextImage] + '")',
                           "id": 'promo1'
                           });
    $$("#banner1 a")[0].appendChild(div1);


    // Вставка второй картинки, если она есть
    if( $H(BannerData[keyAnim]['images']).size() > 1 ) {
      var div2 = new Element("div",{
                                "style": 'background-image: url("' + ImagePath + BannerData[keyAnim]['images'][currentImage] + '")',
                                "id": 'promo2'
                              });
      $$("#banner1 a")[0].appendChild(div2);
      currentImage = nextImage;
      Executer = new PeriodicalExecuter(showPresentation, 0.05);
    }*/

    // Место 3
    $("banner3").innerHTML = "";

//     // Выборка случайных индексов
//     var keyAnim;
//     do {
//       keyAnim = Math.floor(Math.random()*$H(BannerData).size()+1);
//     }
//     while (keyRandom.indexOf(keyAnim) > -1 /*|| $H(BannerData[keyAnim]['images']).size() == 1*/ || BannerData[keyAnim]['source']);
//     alert(keyAnim);
//     
//     // Если не флешевый
//     if (BannerData[keyAnim]['images']) {
// 
//       // Вставка ссылку
//       var a = new Element("a",{ "href": BannerData[keyAnim]['link'] });
//       $("banner3").appendChild(a);
//       if( currentImage > $H(BannerData[keyAnim]['images']).size() ) {
//         currentImage = 0;
//       }
//       var nextImage = currentImage + 1;
// 
//       //Вставка первой картинки
//       var div1 = new Element("div",{
//                               "style": 'background: #fff url("' + ImagePath + BannerData[keyAnim]['images'][nextImage] + '") center no-repeat',
//                               "id": 'promo1'
//                             });
//       $$("#banner3 a")[0].appendChild(div1);
// 
//       //Вставка второй картинки
//       var div2 = new Element("div",{
//                               "style": 'background: #fff url("' + ImagePath + BannerData[keyAnim]['images'][currentImage] + '") center no-repeat',
//                               "id": 'promo2'
//                             });
//       $$("#banner3 a")[0].appendChild(div2);
//       currentImage = nextImage;
//       Executer = new PeriodicalExecuter(showPresentation, 0.05);
//     }

//     // Если флешевый
//     else { 

      // Вставка шкурки вокруг флеша для резиновости
      /*$("banner3").className = "banner3";
      var a = new Element("a", { "href": BannerData[4]['link'] });
      $("banner3").appendChild(a);

      var divF = new Element("div", {
                              //"id": 'flashOuter',
                              "style": 'background: #fff url("' + ImagePath + BannerData[4]['images'][1] + '") center no-repeat'
                            });
      a.appendChild(divF);*/
      /*var embed = new Element("embed", {
                                "type": 'application/x-shockwave-flash',
                                "play": 'true',
                                "loop": 'true',
                                "height": '116',
                                "width": '229',
                                "src": BannerData[3]['source']
                              });

     divF.appendChild(embed);*/
     var embed = new Element("embed", {
                                "type": 'application/x-shockwave-flash',
                                "play": 'true',
                                "loop": 'true',
                                //"height": '116',
                                //"width": '396',
                                "height": '95',
                                "width": '314',
                                "src": FlashPath + BannerData[6]['source']
                              });

     $("banner3").appendChild(embed);

//     }
        
  }
  
  if(location.href.indexOf("#YMapsID") > 0){   
    $$("a.yandexMapLink").each(function(item){
      item.onclick();
    });
  }
  
  // Клик по строке вариантов приводит к отрытию этого варианта
  if($("result")
     && new String(location.href).indexOf("?print") == -1){
    $$("#result tr.item").each(function(Sender){

      $(Sender).observe("click", function(event){
      
        var Sender = Event.element(event);
      
        if(!$(Sender).hasClassName("notLinked")){
          location.href = $(Sender).up("tr").readAttribute('href');
        }
        
      });
    });
    
    $$("#result input.checkItem").each(function(Sender){

      $(Sender).observe("click", function(event){
      
        var Sender = Event.element(event);
        checkItemShowHidePanel(Sender);
      });
    });
  }

  // Add Photo Form
  //if($('addApPhoto'))
  //  Event.observe($('addApPhoto'), 'click', addUpPhoto);
  $$("#demand input.upPhoto").each(function(e){
    $(e.observe('change', addUpPhoto));
  });
  
  // Показываем выбранные варианты на карте
  if($("showOnMap")){
    ShowRelaestatesOnMap(Address);
  }
  
  if(new String(location.href).indexOf("?print") >= 0){
  
    $$("a").each(function(e){
    
      $(e).observe("click", function(event){
      
        Event.stop(event);
        return false;
      });
      
      $(e).setStyle({
        textDecoration: 'none',
        cursor: 'auto'
        });
    });
  }
}

function checkItemShowHidePanel(item){

//   var Sender = $(item);
//   var Count = 0;
// 
//   $$("#result input.checkItem").each(function(e){
//   
//     if(e.checked)
//       Count++;
//   });
// 
//   $$(".actionPanel").each(function(item){
//     if(Count){
//       $(item).show();
//     }
//     else{
//       $(item).hide();
//     }
//   });
}

function GroupeCheckBoxSelect(ClassName){

  $$("input."+ClassName).each(function(e){
  
    e.checked = !e.checked;
    e.onclick();
    
    //checkItemShowHidePanel(e);
  });
}

function showPresentation(Sender) {

  var Obj = $("promo2");
  // если это не стопкадр, то делаем действие
  if( thickImage
      && thickImage < 36 ) {
    thickImage++;
    return;
  }

  thickImage = 0;

 /* if( Obj.getStyle('opacity') <= 0 )
    Obj.setStyle({display: "none"});
  else
    Obj.setStyle({display: "block"});*/

  Obj.setOpacity(Obj.getStyle('opacity')+(0.06 * step));

  if( Obj.getStyle('opacity') <= 0
      || Obj.getStyle('opacity') >= 1 ) {

    if( step > 0 )
      step = -1;
    else
      step = 1;

    thickImage = 1;

//Отсюда не нужно
  /* if( currentImage >= $H(BannerData).size()-1 )
      currentImage = 0;
    else
      currentImage++;

    if( step < 0 )
      var Obj = $$('#banner3 div.promo1')[0];


    if( Obj.getStyle('opacity') <= 0 )
      Obj.setStyle({display: "none"});
    else
      Obj.setStyle({display: "block"});

    Obj.setStyle({backgroundImage: 'url("'+ ImagePath + Data[currentImage] + '")'});   */
  }
}

var countUpPhoto = 1;
function addUpPhoto(e) {
  var Sender = Event.element(e);
  
  if(!$(Sender).value)
    return;
    
  var input = new Element("input",{
                            "type": 'file',
                            "class": 'upPhoto',
                            "size": '45',
                            "name": 'Preview['+(++countUpPhoto)+']'
                          });  
  Sender.insert({ after : input });
  Sender.insert({ after : "<br />"});
  
  $(input).observe('change', addUpPhoto);
  Event.stop(e);
}

function PrintDocument(){
  
  $$(".no-print").each(function(e){
    $(e).hide();
  });
  
  $$(".for-print").each(function(e){
    $(e).show();
  });                 

  window.print();

  window.setTimeout(function(){
  
      $$(".for-print").each(function(e){
        $(e).hide();
      });
  
      $$(".no-print").each(function(e){
        $(e).show();
      });
    },
    2000);
}

function deleteFromBin(Sender, ParamName){

  if(confirm("Вы действительно хотите убрать этот вариант из заказа?")){
    
    $(Sender).up("tr").remove();
    SetValue(ParamName, false, 'bool');
    return true;
  }
  
  return false;
}
