var avail_services_id_list = [3, 5, 6, 7];

var cell_number = 0;
var hook_list = {};

var coords = new Array();
/* OLd
coords[0]  = new Array('194px', '-157px', 'n1'); //top left
coords[1]  = new Array('271px', '-23px',  'n2');
coords[2]  = new Array('309px', '-224px', 'n3');
//coords[0]  = new Array('271px', '379px',  'n4');
OLd */

//coords[0]  = new Array('218px', '379px',  'n1', 0, 0); //top left
coords[0]  = new Array('410px', '312px',  'n2', 0, 0);
coords[1]  = new Array('410px', '44px',  'n3', 0, 0);
coords[2]  = new Array('410px', '178px',  'n4', 0, 0);
coords[3]  = new Array('371px', '-23px',  'n5', 0, 0);
coords[4]  = new Array('371px', '379px',   'n6', 0, 0);
/*coords[5]  = new Array('449px', '245px',  'n7', 0, 0);
coords[6]  = new Array('449px', '111px',  'n8', 0, 0);
coords[7]  = new Array('410px', '-90px',  'n9', 0, 0);
coords[8]  = new Array('449px', '379px',  'n10', 0, 0);*/

/*coords[6]  = new Array('256px', '446px',  'n11', 0, 0);
coords[7]  = new Array('256px', '580px',  'n12', 0, 0);
coords[8]  = new Array('410px', '446px',  'n13', 0, 0);
coords[9]  = new Array('256px', '-90px',  'n14', 0, 0);
coords[10]  = new Array('371px', '-157px',  'n15', 0, 0);
coords[11]  = new Array('218px', '513px',  'n16', 0, 0);
coords[12]  = new Array('218px', '-157px',  'n17', 0, 0);
coords[13]  = new Array('410px', '-224px',  'n18', 0, 0);
coords[14]  = new Array('178px', '-224px',  'n19', 0, 0);
coords[15]  = new Array('410px', '446px',  'n20', 0, 0);*/


/* OLd
coords[0]  = new Array('410px', '312px',  'n5', 0, 0);
coords[1]  = new Array('410px', '44px',   'n6', 0, 0);
coords[2]  = new Array('410px', '178px',  'n7', 0, 0);
coords[3]  = new Array('371px', '-23px',  'n8', 0, 0);
coords[4]  = new Array('371px', '379px',  'n9', 0, 0);


//coords[5]  = new Array('410px', '-90px',  'n12', 0, 0);
//coords[6]  = new Array('371px', '-157px', 'n19', 0, 0);
//coords[7]  = new Array('271px', '-157px', 'n21', 0, 0); //ололо!
//coords[7]  = new Array('410px', '-224px', 'n22', 0, 0);

//coords[9]  = new Array('232px', '-224px', 'n24', 0, 0); - из за техподдержки
OLd */
//это на месте интернета
/*coords[9] = new Array('425px', '379px',  'n25', 0, 0);
coords[10] = new Array('410px', '446px',  'n10', 0, 0);
coords[11] = new Array('371px', '513px',  'n11', 0, 0);
coords[12] = new Array('425px', '513px',  'n20', 0, 0);
coords[13] = new Array('271px', '513px',  'n13', 0, 0);
coords[14] = new Array('309px', '446px',  'n14', 0, 0);
coords[15] = new Array('309px', '580px',  'n16', 0, 0);
coords[16] = new Array('410px', '580px',  'n17', 0, 0);*/

//coords[17] = new Array('-90px', '309px',  'n18', 0, 0);
/*OLd */

var block_number = 0;
var internet_active = 0;

checkSimCounter = function() {
  if (cell_number > 1) {
    $('.sim_counter').show();
  } else {
    $('.sim_counter').hide();
  }
}

function getBlockNumber(b_n) {
  /*
  if (b_n >= coords.length) b_n = 0;
  if (b_n > coords.length && internet_active == 0) b_n = 0;

  if (coords[b_n][3] == 1) {
    for(var i=0;i<coords.length;i++) {
      if (coords[i][3] == 0) {
        b_n = i;
        return b_n;
      }
    }
  }*/
  if (b_n > 7) {
    b_n = 7;
  }
  return b_n;
}

function freeCoordPlace(bl_id) {
  for(var i=0;i<coords.length;i++) {
    if (coords[i][4] == bl_id) {
      coords[i][3] = 0;
      coords[i][4] = 0;
    }
  }
}

function showAddserviceInfo(id, e) {
    var info = $('#service_added_'+id).html();

    var service_id = id;

    if (hook_list[service_id]) {
      var tariff_description_html = $('.tariff_list_description[tariff_id='+hook_list[service_id]+']').html();
      var tariff_title = '<div>' + $('.tariff_list_select[service_id='+service_id+']').find('option[tariff_id='+hook_list[service_id]+']').text() + '</div>';
      info = info + tariff_title + '<div>' + tariff_description_html + '</div>';
    }

    $('#layer').find('div').html(info);
    $('#layer').css('top', parseInt(e.pageY) - 100 + 'px');
    $('#layer').css('left', parseInt(e.pageX) - 100 + 'px');
    $('#layer').fadeIn(100);
}

function addServiceToInternet(service_id, key_id, block_number, block_position, bundle) {
  /*не это круто конечно, но лучше закерпить за каждой услугой свою ячейку*/
  switch (parseInt(service_id)) {
    case 3: block_number = 4; break;
    case 5: block_number = 2; break;
    case 6: block_number = 0; break;
    case 7: block_number = 1; break;
  }

  if (bundle) {
    var _id_s = 'set_bunlde_s_';
    var _id_b = 'set_bundle_b_';
  } else {
    var _id_s = 'sets_';
    var _id_b = 'setb_';
  }

  var blok_id = Math.round(Math.random() * 100000);

  if (jQuery.browser.msie && jQuery.browser.version.substr(0,3) == '6.0') {
    var back = "filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+ services[service_id][0]+"',sizingMethod='crop')";
  } else {
    var back = "background:transparent url('"+ services[service_id][0]+"')";
  }

  if (bundle) {
    var block = '<a id="'+_id_s+'_'+blok_id+'" rel="'+service_id+'" class="ins add'+block_position+'" style="'+back+'" href="javascript: void(0);" title=""></a>';
    var box = '<a onclick="removeServiceBundle(this);" lang="'+service_id+'" id="'+_id_b+'_'+blok_id+'" href="javascript:void(0);" title="Закрыть" style="display:none;">Закрыть</a>';
  } else {
    var block = '<a lang="'+service_id+'" id="'+_id_s+'_'+blok_id+'" class="ins add'+block_position+'" style="'+back+'" href="javascript:void(0);" title=""></a>';
    var box = '<a onclick="removeService(this);" lang="'+service_id+'" id="'+_id_b+'_'+blok_id+'" href="javascript:void(0);" title="Закрыть" style="display:none;">Закрыть</a>';
  }


  $(block).appendTo("#mosaic");
  $(box).appendTo("#conteiner-buttons");

  $('#'+_id_s+'_'+blok_id).animate(
    {
      left: coords[block_number][1],
      top: coords[block_number][0]},
      700,
      function() {
    if (parseInt(service_id) == 3) {
      $('.sim_counter').html(cell_number);
      checkSimCounter();
    }
    $('#'+_id_b+'_'+blok_id).appendTo("#conteiner-buttons");
    $('#'+_id_s+'_'+blok_id).removeClass('add'+block_position);
    if (bundle) {
      $('#'+_id_b+'_'+blok_id).css({left: coords[block_number][1], top: coords[block_number][0]});
    } else {
      $('#'+_id_b+'_'+blok_id).css({left: coords[block_number][1], top: coords[block_number][0]}).show();
    }
  });

  if (bundle) {
    //addToBasket(service_id);
  } else {
    if (services[service_id][3] == 1) {
      addToBasket(service_id);
    } else {
      editToBasket(service_id, services[service_id][3], 'inc');
    }
  }

  if (bundle) {
    $('#'+_id_s+'_'+blok_id).click(function(e) {
      showDescription(service_id, e);
    });
  } else {
    $('#'+_id_s+'_'+blok_id).click(
      function(e) {showAddserviceInfo(service_id, e);
    })
  }

  return false;
}

showDescription = function(service_id, e) {
  var id = service_id;
  var info = $('#service_info_'+id).html();
  $('#layer').find('div').html(info);
  $('#layer').css('top', parseInt(e.pageY) - 100 + 'px');
  $('#layer').css('left', parseInt(e.pageX) - 100 + 'px');
  $('#layer').fadeIn(100);
}


function addInternet(forced) {
  block_number = 0;

  if (internet_active == 1) {
    return false;
  }

  if (!forced) {
    $('#conteiner-buttons').find('a[id^=setb_]').click();
  }

  //$('#layer2').hide();
  $('#layer').hide();
  $('.help').hide();

  $('#title_add_internet').show();
  $('#title_main').hide();

  //add to basket
  if (!forced) {
    addToBasket(service_internet_id);
  }
  services[service_internet_id][3] = services[service_internet_id][3] + 1;

  if (forced) {
    var _time = 0;
  } else {
    var _time = 1000;
  }
  $("#unlimited").animate({
   left: "20%",
   top: "150px"
  }, _time, function() {
      afterAddInternet();
  });

  $('div.box a.internet').removeClass('notactive');
  internet_active = 1;

  $('.help').hide();

  if (!forced) {
    $('.add_service_bundle').click();
  }

  return true;
}

afterAddInternet = function() {
  //$('#mosaic').css('background',' url("'+localweb_url_img+'") no-repeat 0 -412px');
  $('#locale').fadeIn(100);
  $('#remove_unlimited').css('visibility', 'visible');
  if ($('#layer2').css('display') == 'block') {
    $('.overlay-main').hide();
    $('#layer2').fadeOut(500);
    location.href = url_step2;
  }
}

function removeInternet() {
  block_number = 0;

  if (internet_active == 0) {
    return false;
  }

  $('a[id^=set_bundle_b]').click();

    $('#layer2').hide();
    $('#layer').hide();
    $('.help').hide();

  $('#locale').fadeOut(100);
  $('#remove_unlimited').css('visibility', 'hidden');//hide();
  //$('#mosaic').css('background',' url("'+localweb_url_img+'") no-repeat 0 0');
  //$('#tarif-name').addClass('first');

  $("#unlimited").animate({
      left: "50%",
      top: "222px"//298
    }, 1000, function(){   });//,width: "100px"

  $('div.box a.internet').addClass('notactive');
  internet_active = 0;
  delToBasket(service_internet_id);
  services[service_internet_id][3] = services[service_internet_id][3] - 1;

  $('#title_add_internet').hide();
  $('#title_main').show();
}

serviceAddButtonHide = function(service_id, block_position) {
  $('#add_button_'+service_id).addClass('notactive');
  $('#add_service_button_'+service_id).hide();
  text_alert = $('#service_alert_'+service_id).html()

  if (hook_list[service_id]) {
    var tariff_description_html = $('.tariff_list_description[tariff_id='+hook_list[service_id]+']').html();
    var tariff_title = '<div>' + $('.tariff_list_select[service_id='+service_id+']').find('option[tariff_id='+hook_list[service_id]+']').text() + '</div>';
    text_alert = text_alert + tariff_title + '<div>' + tariff_description_html + '</div>';
  }

  if (block_position) {
    $('#help'+block_position).fadeIn(100).find('div').html(text_alert);
    $('.help').hide();
    $('#help'+block_position).show();
  }
}

serviceAddButtonShow = function(service_id) {
  $('#add_button_'+service_id).removeClass('notactive');
  $('#add_service_button_'+service_id).show();
}

function canAddService(service_id, block_position) {
  var case_result = false;
  switch (parseInt(service_id)) {
    case 3:
      case_result = (services[service_id][3] >= 10) ? true : false;
      break;
    case 5:
      case_result = (services[service_id][3]) >= 1 ? true : false;
      break;
    case 6:
      case_result = (services[service_id][3] >= 1) ? true : false;
      break;
    case 7:
      case_result = (services[service_id][3] >= 1) ? true : false;
      break;
  }
  if (case_result) {
    serviceAddButtonHide(service_id, block_position);
  } else {
    serviceAddButtonShow(service_id);
  }
  return !case_result;
}

function removeService(element)
{
  var _service_id = parseInt($(element).attr('lang'));

  $('#layer2').hide();
  $('#layer').hide();
  $('.help').hide();

  if (services[$(element).attr('lang')][3] == 0) return false;

  var bl_id = $(element).attr('id').substr(5);

  if (services[$(element).attr('lang')][3] == 1) {
    delToBasket($(element).attr('lang'));
    services[$(element).attr('lang')][3] = parseInt(services[$(element).attr('lang')][3]) - 1;
  } else {
    services[$(element).attr('lang')][3] = parseInt(services[$(element).attr('lang')][3]) - 1;
    editToBasket($(element).attr('lang'), services[$(element).attr('lang')][3], 'del');
  }

  if (_service_id == 3) {
    cell_number--;
    $('.sim_counter').html(cell_number);
    checkSimCounter();
    if (!cell_number) {
      hook_list[_service_id] = 0;
    }
  } else {
    hook_list[_service_id] = 0;
  }

  freeCoordPlace(bl_id);

  canAddService($(element).attr('lang'), false);

  if (_service_id == 3) {
    if ($('#conteiner-buttons').find('a[lang=3]').length >= 1 && cell_number <= 0) {
      $('#conteiner-buttons').find('a[lang=3]').remove();
      $('a[id^=sets][lang=3]').remove();
      /*
      $(element).fadeOut(500);
      $(element).remove();
      $('#sets_'+bl_id).fadeOut(500);
      $('#sets_'+bl_id).remove();
      */
    }
  } else {
    $(element).fadeOut(500);
    $(element).remove();
    $('#sets_'+bl_id).fadeOut(500);
    $('#sets_'+bl_id).remove();
  }
};

function removeServiceBundle(element)
{
  $('#layer2').hide();
  $('#layer').hide();
  $('.help').hide();
  var bl_id = $(element).attr('id').substr(14);

  //delToBasket($(element).attr('lang'));
  services[$(element).attr('lang')][3] = parseInt(services[$(element).attr('lang')][3]) - 1;
  freeCoordPlace(bl_id);

  $('#set_bunlde_s__'+bl_id).fadeOut(500);
  $(element).fadeOut(500);
  $(element).remove();
};

selectTariffForService = function() {
  var init = this;
  var service_id = $(init).attr('service_id');
  var tariff_id = $('.tariff_list_select[service_id='+service_id+']').val();
  hook_list[service_id] = tariff_id;
  $('.add_service[rel='+service_id+']').click();
  $('.tariff_service_list[rel='+service_id+']').hide();
}

$(function() {
  //скроллер
  var current = 0;
  var c = $('#slayder ul>li').length;
  $('#link-prev').removeClass('off');
  $('#link-next').removeClass('off');

  $('#link-prev').addClass('off');
  if (parseInt(c) <= 3 ) {
     $('#link-next').addClass('off');
  } else {
     $('#link-next').removeClass('off');
  }

  $("div.box a.add_service").click(function() {
    var service_id = $(this).parent('li').attr('id').substr(5);

    if (internet_active) {
      removeInternet();
    }
    $('#layer2').hide();
    $('#layer').hide();
    $('.help').hide();

    var key_id = parseInt($(this).parent('li').attr('lang'));
    var block_position = key_id - parseInt(current);

    //проверим на количество добавленных
    if (canAddService(service_id, block_position)) {

      /*TARIFF HOOK*/
      if ($('.tariff_service_list[rel='+service_id+']').length && !hook_list[service_id]) {
        $('.tariff_service_list').hide();
        $('.tariff_service_list[rel='+service_id+']').show();
        parent.tariff_list_object.updateDescriptionList(service_id);
        return false;
      }
      /**/


      services[service_id][3] = parseInt(services[service_id][3]) + 1;

      if (service_id == 3) {
        cell_number++;
      }
      addServiceToInternet(service_id, key_id, block_number++, block_position);

      if (!canAddService(service_id, false)) {
        $(this).addClass('notactive');
      }
    }
  });

  $(".add_service_bundle").click(function() {
    $('#layer2').hide();
    $('#layer').hide();
    $('.help').hide();

    var service_id = $(this).parent('li').attr('id').substr(5);
    var key_id = parseInt($(this).parent('li').attr('lang'));
    var block_position = key_id - parseInt(current);

    addServiceToInternet(service_id, key_id, block_number++, block_position, true);
  });

  $("div.box a.info").click(function() {

    $('#layer2').hide();
    $('#layer').hide();
    $('.help').hide();

    var service_id = $(this).parent().parent().attr('id').substr(5);
    var key_id = parseInt($(this).parent().parent().attr('lang'));
    var block_position = key_id - parseInt(current);
    var text_alert = $('#service_info_'+service_id).html();

    $('#help'+block_position).find('div').html(text_alert);
    $('#help'+block_position).fadeIn(500);
    /*$('.help').hide();
    $('#help'+block_position).show();*/
  });

  $('#unlimited').click(function(){
    addInternet();
  });
  $('#remove_unlimited').click(function(){
    removeInternet();
  });
  $('#remove_unlimited2').click(function(){
    removeInternet();
  });
  $('#add_unlimited2').click(function(){
    addInternet();
  });
  $('#add_unlimited3').click(function(){
    addInternet();
  });
  $('#send_appilcation2').click(function(){
    location.href = url_step2;
  });

  $('#send_application').click(function(){

    $('#layer2').hide();
    $('#layer').hide();
    $('.help').hide();

    if (internet_active) {
      location.href = url_step2;
      return false;
    }

    if (
     ((services[3][3] + services[5][3]) >= 1) &&
     ((services[6][3] + services[7][3]) >= 1)
    ) {
      location.href = url_step2;
    } else {
      $('.overlay-main').css('height', $(document).height());
      $('.overlay-main').show();

      var top = parseInt(getBodyScrollTop()) + parseInt(getClientHeight()/2) - $('#layer2').height()/2;
      var left = parseInt(getClientWidth()/2) - parseInt($('#layer2').width()/2);
      $('#layer2').css('top', top);
      $('#layer2').css('left', left);
      $('#layer2').fadeIn(500);
    }
  });

  $("a.info2").click(function(e) {

    $('#layer2').hide();
    $('#layer').hide();
    $('.help').hide();

    $('#go-status').hide();
    var id = $(this).attr('id').substr(15);

    $('#layer').removeClass('info');
    if (id == '7') {
      $('#layer').addClass('info');
    }
    var info = $('#text_clickzone_'+id).html();
    $('#layer').find('div').html(info);
    $('#layer').css('top', parseInt(e.pageY) - 100 + 'px');
    $('#layer').css('left', parseInt(e.pageX) - 100 + 'px');
    $('#layer').fadeIn(500);
  });
});
