$(document).ready( function() {
 
   $( function() {
      $('.gallery').fancybox({
        'transitionIn': 'elastic',
        'transitionOut': 'elastic',
        'speedIn': 600,
        'speedOut': 200,
        'overlayShow': false,
        'cyclic' : true 
      });
   });
      
    $(window).load( function() {
        $.reject({
            reject: {
                msie5: true,
                msie6: true,
                msie7: true,
                opera7: true,
                opera8: true
            },
            display: ['firefox','chrome','opera','safari','msie'],
            closeCookie: true
        });

        return false;
    });
    $( function() {
        $(".search-input label").inFieldLabels();
    });

    $('#UF_USER select').change(function(){
      var change = $(this).attr('value');
      if(change==1) {
        $('#WORK_COMPANY').css('display', 'none');
        $('#PERSONAL_FAX').css('display', 'none');
        $('#WORK_STREET').css('display', 'none');
        $('#PERSONAL_STREET').css('display', 'none');
        $('#WORK_POSITION').css('display', 'none');
        $('#WORK_PHONE').css('display', 'none');
        $('#WORK_FAX').css('display', 'none');
        $('#WORK_CITY').css('display', 'none');
        $('#WORK_STATE').css('display', 'none');
        $('#WORK_ZIP').css('display', 'none');
        $('#WORK_PROFILE').css('display', 'none');
      }
      else if(change==2){
        $('#WORK_COMPANY').css('display', 'block');
        $('#PERSONAL_FAX').css('display', 'block');
        $('#WORK_STREET').css('display', 'block');
        $('#PERSONAL_STREET').css('display', 'block');
        $('#WORK_POSITION').css('display', 'block');
        $('#WORK_PHONE').css('display', 'block');
        $('#WORK_FAX').css('display', 'block');
        $('#WORK_CITY').css('display', 'block');
        $('#WORK_STATE').css('display', 'block');
        $('#WORK_ZIP').css('display', 'block');
        $('#WORK_PROFILE').css('display', 'block');        
      }
    });

    $('.zoomer').hover(function(){
			overlib('<img src='+ $(this).attr("id") +'>');
		},
		function(){
			nd();
		});

    $( function() {
        $(".b-slider").jCarouselLite({
            btnNext: ".next",
            btnPrev: ".prev",
            visible: 1,
        });
    });

    $(".childrens").click( function() {
        $(this).parent().parent().find(".fat-list").slideToggle(400);
        $(this).parent().parent().toggleClass("opened");
        return false;
    });

    validateFields('form_name', '/_ajax/contacts.php', 'output', 'overlay');
    $(".phone").mask("(999) 999-9999"); 
    $('.numeric').numeric();

    $('.plus-s').live('click', function(){
      
      var $input = $(this).parent().parent().find('.countsE:first');
      $input.attr('value' ,parseInt($input.attr('value')-0)+1);      
      return false;
    });
    
    $('.minus-s').live('click', function(){
      
      var $input = $(this).parent().parent().find('.countsE:first');
      value=parseInt($input.attr('value')-0)-1;
      if(value<=0)
        value=1;
      $input.attr('value', value);
      return false;
    });

    $('.b-catalog-price-switch .price a').live('click', function(){
       changeMenu($(this), 'cat', 'catalog', 'price');
       return false;
    });
    
    $('.b-catalog-price-switch .cat a').live('click', function(){
       changeMenu($(this), 'price', 'price', 'catalog');
       return false;
    });
    
    $('.b-phone-links a').live('click', function(){
       var $curr = $('.b-phone-links .current');
       var text = $(this).html();
       var $par = $(this).parent();
       
       $(this).remove();
       $par.html(text);
       $par.parent().addClass('current');
    
       $curr.removeClass('current');
       $curr.find('div').html('<a href=#">'+$curr.find('div').html()+'</a>');
       $('.'+$curr.find('div').attr('id')).css('display', 'none');
       $('.'+$par.attr('id')).css('display', 'block');
    
       return false;
    });
    
    $(".changeDistance").change(function(){
      
      var price=0;
      var city1=$('#city1').attr('value');
      var city2=$('#city2').attr('value');
      
      $('input[type="radio"]').each(function(){
        if($(this).attr('checked'))
          price=$(this).attr('value')-0;
      });      
      if(price && city1.length>1 && city2.length>1) {
        $('.overlay').removeClass('hidden');
        $.ajax({
          url: '/_ajax/distance.php',
          data: ({city1 : city1, city2: city2, price: price}),
          success: function(data) {
            $('#result').html(data);
            $('.overlay').addClass('hidden');
          }
        });
      }
    });
    
});

function changeMenu(elem, forElem, classFrom, classTo) {
   var text = $(elem).html();
   var $par = $(elem).parent();   
   var catalog = $par.parent().find('.'+forElem).html();

   $(elem).remove();
   $par.html(text);
   $('.b-catalog-price').removeClass('current-'+classFrom);
   $('.b-catalog-price').addClass('current-'+classTo);
   $par.parent().find('.'+forElem).html('<a href="#">'+catalog+'</a>');
}

function disableAddToCartList(element, mode, text, href, dhref) {

  var button = $('#'+element);
  //button.parent().removeClass('not-added');
  //button.parent().addClass('added');  
  //button.parent().html("<div>"+ text +"</div><a onclick=\"return delFromCart(this, '"+ element +"', '"+ mode +"', '"+ href +"');\" href=\""+ dhref +"\">Убрать из корзины</a>");
  $('#buy_'+element).removeClass('hidden');
  $('#buy_'+element).html("<div>Товар уже добавлен</div><a id='"+element+"' rel=\"nofollow\" href='"+dhref+"' onclick=\"return delFromCart(this, '"+element+"', 'list', '"+href+"');\">Убрать из корзины</a>");
  button.parent().empty().addClass('hidden');
}

function disableAddToCartDetail(element, mode, text, href, dhref) {

  $('.b-input-basket').empty().addClass('hidden');
  $('#buy_catalog_detail_image').html("<div>"+ text +"</div><a onclick=\"return delFromCart(this, '"+ element +"', '"+ mode +"', '"+ href +"');\" href=\""+ dhref +"\">Убрать из корзины</a>");
}

function download(element) {
/*  if($(element).attr('id').length) {    
    $.get('/catalogPriceDownload.php?SECTION_ID='+$(element).attr('id'));
  }*/
   $.ajax({
     type: "GET",
     url: '/catalogPriceDownload.php',
     data: "SECTION_ID=1235",
     success: function(msg){
       return msg;
     }
   });
   return false;
}

function delFromCart(element, imageToFlyId, mode, href) {
 
  if (!element || !element.href)
    return;

  var button = $(element);  

  $.get(
    element.href + "&ajax_dell=1",
    $.proxy(
      function(data) {

        if (this.mode == "detail") {
          var link = this.button.attr('href');
          $('#buy_'+imageToFlyId).empty().addClass("hidden");
          $('.b-input-basket').removeClass("hidden");
          $('.b-input-basket').html("<div class=\"b-plus-minus-shell\"><a class=\"plus-s\" href=\"#\"></a><a class=\"minus-s\" href=\"#\"></a></div><input type=\"text\" class=\"countsE\" name=\"countsE\" value=\"1\"> шт.<a id='"+imageToFlyId+"' onclick=\"return addToCart(this, '"+imageToFlyId+"', 'detail', 'Уже в корзине', '"+link+"');\" rel='nofollow' class='catalog-item-buy' href='"+href+"'>В корзину</a>");
        }
        else if (this.mode == "list") {          
          var link = this.button.attr('href');        
          this.button.parent().parent().find('.b-input-basket:first').removeClass('hidden');
          this.button.parent().parent().find('.b-input-basket:first').html("<div class=\"b-plus-minus-shell\"><a class=\"plus-s\" href=\"#\"></a><a class=\"minus-s\" href=\"#\"></a></div><input type=\"text\" class=\"countsE\" name=\"countsE\" value=\"1\"> шт.<a id='"+imageToFlyId+"' onclick=\"return addToCart(this, '"+imageToFlyId+"', 'list', 'Уже в корзине', '"+link+"');\" rel='nofollow' class='catalog-item-buy' href='"+href+"'>В корзину</a>");
          this.button.parent().empty().addClass("hidden");
        }
        
        $(".b-basket-block-right").html(data);
      
      }, { "button": button, "mode": mode, "imageToFlyId" : imageToFlyId }
    )
  );

  return false;  
}

function addToCart(element, imageToFlyId, mode, text, href)
{
  if (!element || !element.href)
    return;

  var button = $(element);

  $.get(
    element.href + "&ajax_buy=1" + "&countsE=" + $(button).parent().find('.countsE:first').attr("value"),
    $.proxy(
      function(data) {

        if (this.mode == "detail") {
          var link = this.button.attr('href');
          $('#buy_'+imageToFlyId).html("<div>Товар уже добавлен</div><a id='"+imageToFlyId+"' rel=\"nofollow\" href='"+href+"' onclick=\"return delFromCart(this, '"+imageToFlyId+"', 'detail', '"+link+"');\">Убрать из корзины</a>");
          $('.b-input-basket').empty().addClass("hidden");
          $('#buy_'+imageToFlyId).removeClass("hidden");
        }
        else if (this.mode == "list") {
          var link = this.button.attr('href');
          this.button.parent().removeClass('not-added');
          this.button.parent().empty().addClass("hidden");
          $('#buy_'+imageToFlyId).removeClass("hidden");
          $('#buy_'+imageToFlyId).html("<div>Товар уже добавлен</div><a id='"+imageToFlyId+"' rel=\"nofollow\" href='"+href+"' onclick=\"return delFromCart(this, '"+imageToFlyId+"', 'list', '"+link+"');\">Убрать из корзины</a>");          
        }
        
        $(".b-basket-block-right").html(data);
      }, { "button": button, "mode": mode, "imageToFlyId" : imageToFlyId }
    )
  );

  return false;
}

function disableAddToCompare(elementId, text)
{
  var element = document.getElementById(elementId);
  if (!element)
    return;

  $(element)
    .removeClass("catalog-item-compare").addClass("catalog-item-compared")
    .text(text)
    .unbind('click').removeAttr("href")
    .css("cursor", "default");

  return false;
}

function addToCompare(element, text)
{
  if (!element || !element.href) 
    return;

  var href = element.href;
  var button = $(element);

  button.removeClass("catalog-item-compare").addClass("catalog-item-compared").unbind('click').removeAttr("href").css("cursor", "default");

  $.get(
    href + '&ajax_compare=1&backurl=' + decodeURIComponent(window.location.pathname),
    $.proxy(
      function(data) {

        var compare = $("#compare");
        compare.html(data);
        
        this.text(text);

        if (compare.css("display") == "none") {
          compare.css({ "display": "block", "height": "0" });
          compare.animate({ "height": "22px" }, 300);
        }
      }, button
    )
  );
  
  return false;
}

function validateFields(form_name, url, target, classBlock) {

  $.validator.addMethod('validName', function (value) {
      var result = true;
      var iChars = "!@#$%^&*()+=[]\\\';,./{}|\":<>?";
      for (var i = 0; i < value.length; i++) {
          if (iChars.indexOf(value.charAt(i)) != -1) {
              return false;
          }
      }
      return result;
  }, '');

  var options = { 
    target: "#" + form_name + " #"+target,
    url: url,
    timeout: 5000, 
    beforeSubmit: function() {
	      $('.'+classBlock).removeClass('hidden');
    },
    success: function() {
        $('.aj_images').load('/_ajax/captcha.php',{},function(){
           $('.'+classBlock).addClass('hidden');
           $('#captcha_word').attr('value','');
        });
    }
  };

  $("#"+form_name).validate({
     submitHandler: function(form) {
  	    $(form).ajaxSubmit(options);
    },  
    focusInvalid: false,
    focusCleanup: true,
    rules: {
      org: {
         required: true
      },
      message: {
         required: true
      },
      name: {
         required: true
      },
      captcha_word: {
         required: true
      },
      mail: {
           required: true,
           email: true
      }
    },
    messages: {
      name: {
        required: "Обязательное поле"
      },
      org: {
        required: "Обязательное поле"
      },
      captcha_word: {
        required: "Обязательное поле"
      },
      message: {
        required: "Обязательное поле"
      },
      mail: {
        required: "Обязательное поле",
        email: "Введите корректный адрес"
      }
    },
    errorPlacement: function(error, element) {
        element.addClass('error');        
    }

  });


}
