(function($){
  /* my method later 
    *   nice method allows to call  method after specified timeout in msec
    */
  $.fn.later = function (msec, method) {

    var that = this,
    args = Array.prototype.slice.apply(arguments, [2]); 
    if (typeof method === 'string') { 
      method = that[method]; 
    } 

    setTimeout(function () { 
      $(that).each(function(){
        method.apply($(this), args);
      });        
    }, msec);
    return $(that); 
  }; 

 $(function(){
  /* show protected email */
  mailbox=unescape('%6D%61%69%6C%40%6C%65%61%64%65%72%2D%67%72%6F%75%70%2E%69%6E%66%6F');
  $('#email').html('<a title="Написать письмо" href="mailto:' + mailbox + '">'+mailbox+'</a>');
  /* highlight opened menu*/
  $('a').each(function(){ 
  if (document.location.href.indexOf(this.href)==0){
    $(this).addClass('act');
  }
  });
  if($('#main_menu a.act').length==1){
    $('#main_menu a').each(function(){ 
    if (document.location.href.indexOf(this.href)!=0){
      $(this).addClass('onback');
    }
    });
  }
  /*show flash msg*/
  $("#flash_msg").hide().show('normal').later(15000,'hide','normal');
  /*SEARCH*/
  $('#frm_s').hide();
  $('#search').click(function(){
    $('#frm_s').slideToggle('normal');
  });
  $('#frm_s').submit(function(){
    url="/search.php";
    q=$('#frm_s input[name=s_str]').attr({'disabled':true}).val();
 
    
    s_content = '<div class="content"><div style="line-height: 26px;"><img height="22" width="13" alt="" class="back_left_content" src="/i/back_left_content.png"/><span class="head">Результаты поиска <b>' + q + '</b>:</span></div> \
	<div class="info grouphistory search">Идет поиск ...	<img src="/i/wait.gif" alt="Загрузка" />	\
	</div> \
</div>';
    $('div#main').html(s_content);

    $.getJSON(url, {'s_str': q+ ' site:production.leader-group.info'},
      function(data){
        var ul = 'По вашему запросу ничего не найдено.'; 
      if (data && data.responseData && data.responseData.results && data.responseData.results.length && (data.responseData.results.length>0)){
        ul = document.createElement("ol");
        $.each(data.responseData.results, function(i, val){
          var li = document.createElement("li");
          val.url = val.url.replace('http://production.leader-group.info/', '');
          val.url = val.url.replace('http://www.production.leader-group.info/', '');
          li.innerHTML = '<a href="'+val.url+'" title="'+val.url+'" target="_blank">'+val.title+'</a><div class="s">'+val.content+'</div>';
          ul.appendChild(li);
        });
      }
      
      $('div#main div.info').html(ul);
      $('#frm_s input[name=s_str]').attr({'disabled':false});
    });
    return false;
  });

  /*open extended_info links in a new window*/
  $('a.ext_info').each(function(){
    $(this).click(function(event){
      window.open(this.href, 'new');
      return false;
    });    
  });
  /* Fix IE bug (clicking on a>span>img doesn't call a.click event)*/
  $('#main_menu a img, #sub_menu a img').each(function(){
    $(this).click(function(event){
      document.location=$(this).parents('a')[0].href;
      return false;
    });    
  });
  /* Add_to_cart without reloading page */
  $('form.good').each(function(){
    $(this).submit(function(event){
      good_id=$(this).find('input[name=add_goods_id]').val();
      that=this;
      $(that).find('span.amount').hide().text('Добавление ...').fadeIn('normal');
      $.ajax({
        url:'/cart/add',
        type: 'post',
        data:{add_goods_id: good_id},
        dataType:'json',
        timeout: 5000,
        success:function(cart){
          if(cart && cart.total_amount){
            // $('#amount').text(cart.total_amount + ' шт.'); // strange bug in Opera
            $('#amount')[0].innerHTML=cart.total_amount + ' шт.';
            $('#sum').text(cart.total_sum + '$.');
            $(that).find('span.amount').stop().hide().text('В корзине: '+cart.this_good_amount +' шт.').fadeIn('normal',function(elem){$(this).css('opacity', 1)});//.effect("highlight", {}, 1000);
          }         
        },
        error:function(){
          $(that).find('span.amount').stop().hide().text('Произошла ошибка').fadeIn('normal').later('1000', function(){document.location="/cart";});//.effect("highlight", {}, 1000);
        }
      });
      return false;
    });
  });
  /* Cart Calculate sum and amount method */
  $('#cart').each(function(){
    this.recalculate=function(){
      total_amount = 0;
      total_sum    = 0;
      $(this).find('.prod table tr ').each(function(){
        cur_amount= parseFloat($(this).find('input[name^=good_id]').val());//parseInteger($(this).find('input[name=^good_id]').val());
        price = parseFloat($(this).find('td.price').text());
        cur_sum = price*cur_amount;
        total_amount+=cur_amount;
        total_sum+=cur_sum;
      });
      total_sum = new Number(total_sum);
      total_sum = total_sum.toFixed(2);
      $('#cart_totalamount').text(total_amount);
      $('#cart_totalsum').text(total_sum);
      // update iconCart
      $('#amount').text(total_amount + ' шт.');
      $('#sum').text(total_sum + '$.');
    };
  });
  /* Remove from cart  without reloading page*/
  $('#cart button[name=remove]').each(function(){
    $(this).click(function(){
      //$.post('/cart/remove', {remove:this.value});
      $(this).parents('tr').fadeOut('normal', function(){$(this).remove();$('#cart')[0].recalculate();});
      return false;
    });
  });
 });
})(jQuery);

/* SENDING MAIL */
(function($){
var srvFile = "srv.mail.php";
var divId = "#mail_form";

$(function() {
  $(divId).hide();
  $("#closeMail").click( function() {
	  $(divId).slideUp("fast");
    return false;
	});
	$("#mailto").click( function() {
		var Data = {};
    $(divId + ' input[type=text],'+ divId+' textarea').val('');

		$("#sendMail").removeAttr('disabled');
		$(divId).slideDown();

		$("#sendMail").click( function() {
			Data.subjMail = $("input[name=subjMail]").val();
			Data.themeMail = $("input[name=themeMail]").val();
			Data.bodyMail = $("textarea[name=bodyMail]").val();
			Data.keyMail = $("input[name=keyMail]").val();
			if ( Data.subjMail == '' ) {
				show_msg('Вы не ввели свой E-mail', 2, 1);
			} else if ( Data.themeMail == '' ) {
				show_msg('Не заполнена тема сообщения', 2, 1);
			} else if ( Data.bodyMail == '' ) {
				show_msg('Отсутствует текст письма', 2, 1);
			} else if ( Data.keyMail == '' ) {
				show_msg('Не введен код подтверждения', 2, 1);
			} else {
				$("#sendMail").attr('disabled',true);
				show_msg('Идёт отправка сообщения', 10, 0);
				sgData(Data);
			}
		});
		Data = {};
		Data.captcha = true;
		sgData(Data);
    return false;
	});
});

function sgData(Data) {
	$.post(	srvFile,
    Data || {},
		function(data) {
			if ( data['status'] == 0 ) {
				$("#key").html('<img src="captcha.php?' + data['ses_id'] + '" width="' + data['width'] + '" height="' + data['height'] + '">');
			} else if (data['status'] == 1) {
				show_msg('Письмо было отправлено', 1, 0);
				window.setTimeout( function() {
					$(divId).slideUp("fast");
				}, 1000);
			} else if (data['status'] == 4) {
				show_msg('Вы ввели не валидный e-mail', 1, 1);
				$("#sendMail").removeAttr('disabled');
			} else if (data['status'] == 5) {
				show_msg('Не верный код подтверждения', 2, 1);
				$("#sendMail").removeAttr('disabled');
				$("input[name=keyMail]").val('');
				$("#key").html('<img src="/captcha.php?' + data['ses_id'] + '" width="' + data['width'] + '" height="' + data['height'] + '">');
			} else {
				$("#captcha").text("Ошибка");
			}
		}, 
    "json");
}

function show_msg(msg, time, flag) {
	$("#mail_msg").html("<b>" + msg + "</b>").show().later(time*1000, 'hide');
}

})(jQuery);