var setUserFromCookies = function() {
  var data = JSON.parse(unescape(Cookie.get("open_id_user")));
  if(data != null){
    $$('.author_nick').each( function(s) {
       s.innerHTML = data.toString().gsub(/\+/, ' ');
    });
    $('author_div').show();
    $('authorized_form').show();
  } else {
    $('unauthorized_form').show();
  }
};

var userShowMessage = function(messageBody, messageType) {
  $('message_box_body').innerHTML = messageBody;
  styled_box = $$('#message_box div').first();
  styled_box.removeClassName(styled_box.className.split(' ')[2]);
  styled_box.addClassName(messageType);
  new Effect.Appear('message_box', {duration:0.3});
}

var userToggleAjaxLoader = function(ajaxBody) {
  $('ajax_box_body').innerHTML = ajaxBody;
  Effect.toggle('ajax_loader', 'appear', {duration:0.0});
}

var ShowCompanyPhone = function(id, id_to_param, rate_id, from, to, params) {
  PhoneBox = $('phone_'+id+'_'+rate_id);
  WarningBox = $('warning_'+id+'_'+rate_id);
  PhoneBox.innerHTML = "Подождите...";
  new Ajax.Request(encodeURI('/companies/'+id_to_param+'/show_phone?' + 'phone_click[from]=' + from + '&phone_click[to]=' + to + params),
  {
    method: 'get',
    onSuccess: function(response) {
      phone = response.responseText.evalJSON().phone;
      PhoneBox.innerHTML = phone;
      WarningBox.show();
    },
    onFailure: function(){ PhoneBox.innerHTML = "Ошибка соединения" }
  });
};

var toggleNewCommentForm = function() {
  Effect.toggle('new_comment_form','blind',{ duration: 0.3 });
  if ($('openid_var')) {
    $('openid_var').value = 'none';
    showOpenidVariant();
  }
  $('new_comment_link').toggle();
};

var showOpenidVariant = function() {
  var value = $('openid_var').value;
  var v = ['livejournal', 'openid', 'liveinternet'];
  for (i=0; i<v.length; i++) {
    if (value == v[i]) $(v[i]).show();
    else $(v[i]).hide();
  }
};

var toggleTimeChoiceForm = function() {
  $('time_choice_form').toggle();
  $('time_choice_link').toggleClassName('active');
}

var FillAirportRatesCol = function(index,new_value) {
  $$('.airport_'+index+' input').each(
      function(aero_rate){
        if(!aero_rate.value) {
          aero_rate.value = new_value;
          aero_rate.addClassName('auto');
        }
      }
  );
};

var ClearAirportRatesRow = function(rindex) {
  $$('#region_'+rindex+' input').each(
    function(aero_rate){ aero_rate.clear() }
  );
};

var showCompanyOpinions = function(id,all) {
  if (all) {
    var container_name = 'company_'+id+'_opinions';
    var  params = {'all':true};
  }
  else {
    var container_name = 'opinions';
    var  params = {'all':false};
  }
  userToggleAjaxLoader('Подождите пока загрузятся отзывы');
  new Ajax.Updater(container_name, '/companies/'+id+'/opinions',
  {
    method: 'get',
    insertion: 'bottom',
    parameters: params,
    onComplete: function() {userToggleAjaxLoader('');$(container_name).show();$('show_all_opinions_'+id).remove();},
    onFailure: function(){userShowMessage('Ошибка связи','error');}
  }); 
}

var thisInterval = function(current,word_list) {
  var last = current % 10;
  if (current % 100 >= 5 && current % 100 <= 20) return current+" "+word_list[2];
  if (last == 1) return current+" "+word_list[0];
  if (last >= 2 && last <= 4) return current+" "+word_list[1];
  if (last >= 5 && last <= 9) return current+" "+word_list[2];
  if (last == 0) return current+" "+word_list[2];
}

var showFareClass = function(fc_name) {
  ['economy','standart','business','premium'].each(function(s){$('results').removeClassName('show_'+s)});
  $('results').addClassName('hide_all').addClassName('show_'+fc_name);
  Effect.ScrollTo('results');
}

var gs = function(out_key) {
  var qsParm = new Array();
  var query = window.location.search.substring(1);
  var parms = query.split('&');
  for (var i=0; i<parms.length; i++) {
    var pos = parms[i].indexOf('=');
    if (pos > 0) {
      var key = parms[i].substring(0,pos);
      var val = parms[i].substring(pos+1);
      qsParm[key] = val;
    }
  }
  return qsParm[out_key];
}
