function addToCart(object_id) {
  if(object_id) {
    $.post('/order/basketAdd/', {'object_id': object_id}, function(data) {
      if(data) {
        $('#basket').slideDown();
        $('#basket_value').html(data);

        changeAddToCartLink(object_id);
      }
    });
  }
}

function changeAddToCartLink(object_id)
{
  if(object_id) {
    $('#add_cart_'+object_id).html('оформить');
    $('#add_cart_'+object_id).attr('href', '/order/new');
    $('#add_cart_'+object_id).attr('class', 'orderit');
    $('#add_cart_'+object_id).removeAttr('onclick');
  }
}

function delFromCart(object_id, object_price) {
  if(object_id) {
    $.post('/order/basketDelete/', {'object_id': object_id}, function(data) {
      if(data) {
        if(parseInt(data) == 0) {
          $('#basket_value').html('Ваша корзина пуста.');
        } else {
          $('#basket_value').html(data);
        }

        if(object_price) {
          $('#object_' + object_id).remove();

          var total_price = $('#total_price');
          total_price.html(parseFloat(total_price.html()) - parseFloat(object_price));
        }
      }
    });
  }
}

function changeItemsNum(object_id, object_price, value) {
  if(object_id) {
    var object = $('#object_' + object_id);
    var object_num = $('#object_num_' + object_id);
    var total_price = $('#total_price');
    var product_price = $('#product_price');
    var object_num_value = parseFloat(object_num.val());
    var object_total_price = $('#object_price_' + object_id);

    if(value == 1) {
      // Change item total num
      object_num.val(parseFloat(object_num_value + 1));

      // Change item total price
      object_total_price.html(parseFloat(object_total_price.html()) + parseFloat(object_price));

      // Change global form price
      total_price.html(parseFloat(total_price.html()) + parseFloat(object_price));
      product_price.html(parseFloat(product_price.html()) + parseFloat(object_price));

      // Add item in cart
      addToCart(object_id);

      if(object_id == 729) {
        if(parseFloat(product_price.html())) {
          $('#delivery_8').html('0');
        }
      }
    } else {
      if(parseFloat(object_num.val()) >= 1) {
        // Change item total num
        object_num.val(parseFloat(object_num_value - 1));

        if(object_num_value > 1) {
          // Change item total price
          object_total_price.html(parseFloat(object_total_price.html()) - parseFloat(object_price));
        } else {
          object_total_price.html(0);
        }

        // Change global form price
        total_price.html(parseFloat(total_price.html()) - parseFloat(object_price));
        product_price.html(parseFloat(product_price.html()) - parseFloat(object_price));

        // Delete item from cart
        delFromCart(object_id, false);
      }
    }
  }
}

function changeDeliveryOptions(id) {
  if(id) {
    var product_price = parseFloat($('#product_price').html());
    var delivery_price = parseFloat($('#delivery_'+id).html());
    if(delivery_price) {
      $('#total_price').html(parseFloat(product_price + delivery_price));
      $('#delivery_price').html(delivery_price);
    } else {
      $('#total_price').html(product_price);
      $('#delivery_price').html('0');
    }

    if(delivery_price == 0) {
      $('#address').hide('slow');
      $('#address_title').hide('slow');
    } else {
      $('#address').show('slow');
      $('#address_title').show('slow');
    }
  }
}

function validOrder() {
  var errors = [];
  var delivery_id = parseInt($('#neo_orders_delivery').val());

  var lastname = $('#lastname');
  var lastname_value = lastname.val();
  if((lastname_value == 'Фамилия' || lastname_value == '') || (!isAlphabet(lastname_value))) {
    lastname.css('border', '1px red solid');

    errors.push('lastname');
  } else {
    lastname.css('border', '1px #D0D0D0 solid');
  }

  var firstname = $('#firstname');
  var firstname_value = firstname.val();
  if((firstname_value == 'Имя' || firstname_value == '') || (!isAlphabet(firstname_value))) {
    firstname.css('border', '1px red solid');
    errors.push('firstname');
  } else {
    firstname.css('border', '1px #D0D0D0 solid');
  }

  //var middlename = $('#middlename');
  //var middlename_value = middlename.val();
  //if(middlename_value == 'Отчество' || middlename_value == '') {
  //  middlename.css('border', '1px red solid');
  //
  //  errors.push('middlename');
  //} else {
  //  middlename.css('border', '1px #D0D0D0 solid');
  //}

  if(delivery_id != 9) {
    var phone = $('#neo_orders_phone');
    var phone_value = phone.val();
    if(phone_value == 'Телефон' || phone_value == '') {
      phone.css('border', '1px red solid');

      errors.push('phone');
    } else {
      phone.css('border', '1px #D0D0D0 solid');
    }

    var adress = $('#neo_orders_adress');
    var adress_value = adress.val();
    if(adress_value == 'Улица' || adress_value == '') {
      adress.css('border', '1px red solid');

      errors.push('adress');
    } else {
      adress.css('border', '1px #D0D0D0 solid');
    }

    if(delivery_id != 8) {
      var city = $('#neo_orders_city');
      var city_value = city.val();
      if(city_value == 'Город' || city_value == '') {
        city.css('border', '1px red solid');

        errors.push('city');
      } else {
        city.css('border', '1px #D0D0D0 solid');
      }

      var postcode = $('#neo_orders_postcode');
      var postcode_value = postcode.val();
      if(postcode_value == 'Индекс' || postcode_value == '') {
        postcode.css('border', '1px red solid');

        errors.push('postcode');
      } else {
        postcode.css('border', '1px #D0D0D0 solid');
      }
    }
  }

  var email = $('#neo_orders_email');
  var email_value = email.val();
  if(email_value == 'E-mail' || email_value == '') {
    email.css('border', '1px red solid');

    errors.push('email');
  } else if(!isValidEmailAddress(email_value)) {
    email.css('border', '1px red solid');

    errors.push('email');
  } else {
    email.css('border', '1px #D0D0D0 solid');
  }

  if(errors.length == 0) {
    $('form').submit();
  }
}

function isValidEmailAddress(emailAddress) {
  var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
  return pattern.test(emailAddress);
}

function isAlphabet(value){
  var alphaExp = /^[a-zA-Zа-яА-я]+$/;
  if(value.match(alphaExp)){
    return true;
  }else{
    return false;
  }
}

