$(function(){
    
    //rur
    //$(".rur").before("<span class='rel arm'>&#x584;</span>");
    
    // search hint    
    var seatchHint = "\u044f \u0438\u0449\u0443...";
    var search_field = $("input[name='search_str']");
    $(search_field).attr("value", seatchHint);    
    $(search_field).css("color", "#AAA");
    
    search_field.focus(function(){  
        if($(this).attr("value") == seatchHint) {
            $(this).attr("value", "");         
            $(this).css("color", "#333");         
        }
    });  
    search_field.blur(function(){  
        if($(this).attr("value") == "") {
            $(this).attr("value", seatchHint);  
            $(this).css("color", "#AAA");         
        }
    });    
    
    //callback
    var call = $(".call");
    $(".form_open", call).click(function(){
        $(".form", call).slideDown();        
    });
    $(".form_close", call).click(function(){
        $(".form", call).slideUp();        
    });
    $('#callBackForm').ajaxForm({        
        dataType:  'json', 
        success: function(data) {            
            $('#callbackOut').html(data.msg);
            if(data.status=="success") $('#callBackForm').resetForm();
            var dfo = $("#callbackOut");
            $(".x", dfo).click(function(){
                $(this).parent().slideUp();
            });
        }        
    });   
    
    // cart info
    var cart_info = $(".cart_info");
    cart_info.mouseover(function(){
       var cart_items = $(".item", cart_info).length;       
       if (cart_items > 0) {
           $(".detail", cart_info).show();
       } else {
           $(".detail", cart_info).hide();
       }       
    });
    cart_info.mouseleave(function(){
        $(".detail", cart_info).hide();
    }); 
    removeCartItem();
    
    function removeCartItem() {    
        var cart_info = $(".cart_info");
        $(".x", cart_info).click(function(){
            var prod = $(this).attr("rel");                
            $(this).parent().hide("fast", function(){                        
                $.post('/cart/?ajax=1', {del:prod}, function(data, status) {
                    $("#spanCartCnt").text(data.cnt);
                    $("#spanCartSum").text(data.sum);                
                }, "json");    
                $(this).remove();
                var cart_items = $(".item", cart_info).length;       
                if (cart_items==0) {
	                $(".clear_cart", cart_info).hide();
 		            $(".detail", cart_info).hide();
                }
            });        
        });
    }
    $(".to_cart").click(function(){
        var prod = $(this).attr("rel");
        $.post('/cart/?ajax=1', {add:prod}, function(data, status) {            
            $(".clear_cart").show();
            $("#spanCartCnt").text(data.cnt);
            $("#spanCartSum").text(data.sum);
            
            var item_html = '';
            
            $.each(data.items, function(k, v){                
              item_html = item_html+'<div class="item">'+
                  '<a class="x" href="#" title="Удалить" id="pid"'+v.c_product_id+
                  '" rel="'+v.c_product_id+'">x</a>'+v.name.substr(0,60)+'...'+
                  '<br/>('+v.cnt+' шт.)<br/><b>'+(v.price*v.cnt)+' <span class="rur">p.</span></b></div>';
            });
            
            $(".detail_items", cart_info).html(item_html);
            removeCartItem();
        }, "json");
    }); 
    
    $(".clear_cart").click(function(){    
        $.post('/cart/?ajax=1', {clear:1}, function(data, status) {
            var cart_info = $(".cart_info");
            $("#spanCartCnt").text("0");
            $("#spanCartSum").text("0");
            $(".clear_cart", cart_info).hide();
            $(".detail_items", cart_info).html("");
        }, "json");        
    });
    
    
    // menu
    var menu = $(".catmenu");
    var pos = $("a.l1", $("li.sel", menu)).width()+20;
    $(".sel", menu).css("background","url(/img/menu_ugol.png) #F3F3F3 "+ pos + "px top no-repeat");
    
    $(".l1", menu).click(function(){
        var a_item = $(this);
        var sel_item = a_item.parent();
        var submenu = $("ul", sel_item);
        
        if (sel_item.attr("class")=="sel") {
            $(submenu).slideUp("medium", function() {
                $(this).parent().removeClass("sel");
                $(this).parent().css("background","none");                
            });                        
        } else {            
            $(".sel ul", menu).slideUp("medium", function() {
                $(this).parent().removeClass("sel");
                $(this).parent().css("background","none");                
            }); 
            sel_item.addClass("sel");
            var pos = a_item.width()+20;
            sel_item.css("background","url(/img/menu_ugol.png) #F3F3F3 "+ pos + "px top no-repeat");            
            submenu.slideDown("medium");         
        } 
    });
    
    // slider & tabs
    $('.slider').tinycarousel({interval: false});	   
    var tab = $('.tab');
    tab.tinycarousel({controls: false, pager: true, animation: false});	
    var vp = $('.viewport', tab);
    var mh = 0;
    $(".page", tab).each(function() {
        var h = $(this).height();
        if (h>mh) mh=h;        
    });
    vp.height(mh+40);
   
    
    // filters     
    var filt = $(".filt");
    
    $(".param", filt).each(function(){
        countCB($(this));
    });
    $(".name", filt).click(function(){
        var cl=$(this);
        $(".param", $(this).parent()).slideToggle(function() {
            cl.toggleClass("name_opened");
        });
    });
    $("input[type=checkbox]", filt).click(function(){
        countCB($(this).parent());
    });
    $(".reset", filt).click(function(){        
        $("input:checked", filt).attr("checked", false);
        countCB(filt);			
    });		
    var switcher = $(".title a", filt);
    switcher.click(function(){
        $(".add_param").slideToggle(function() {            
            switcher.toggleClass("open");
        });
    });
    
    function countCB(prnt) {
		var n = $("input:checked", prnt).length;			
		$("span.filt_cnt", prnt.parent()).text(n);
	}
    
    // cat
    var cat_item=$(".cat_item");
    $(".item_prev", cat_item).click(function(){
        $(".item_pic", cat_item).attr("src", $(this).attr("rel"));
    });
    
    // compare info
    //scrollCompare();    
    var compare_list = $('.compare_list');
    var jsp_element=compare_list.jScrollPane({
        verticalDragMinHeight: 61,
        verticalDragMaxHeight: 61
    });  
    var jsp_api = jsp_element.data('jsp');
    
    removeCompareItem();
    function removeCompareItem() {
        var compare_list = $('.compare_list');
        $(".x", compare_list).click(function(){
            var prod = $(this).attr("rel");                
            $(this).parent().parent().slideUp("fast", function(){            
                $.post("/compare/?ajax=1", {del:prod});                 
                $(this).remove();
                var compare_items = $(".item", compare_list).length;       
                if (compare_items==0) {
                    $(".compare_info").hide();
                }
            });        
        });
    }
    
    $(".to_compare").click(function(){
        var prod = $(this).attr("rel");
        $.post('/compare/?ajax=1', {add:prod}, function(v, status) {            
            $(".compare_info").show();            
            if (v) {
                var item_html = '<div class="item"><div class="pic"><a href="/cat/sec'+v.c_section_id+'/prod'+v.c_product_id+'">'+
                  '<img src="'+v.pic0+'"/></a>'+
                  '</div><div class="name"><a class="x" href="#" title="Удалить" id="cid2" rel="'+v.c_product_id+'">x</a>'+
                  '<a href="/cat/sec'+v.c_section_id+'/prod'+v.c_product_id+'">'+v.name+'</a></div><div class="clear"></div></div>';            
            
                if (v.cnt>1) {
                    jsp_api.getContentPane().prepend($('<div/>').html(item_html));                       
                } else {
                    jsp_api.getContentPane().html(item_html);                       
                }   
                removeCompareItem();
                jsp_api.reinitialise();                        
           }     
        }, "json");
    });

    // cart
    var cart_table = $(".cart_table");
	$(".num_input", cart_table).wrap('<div class="num_input_div"></div>');
    var ni = $(".num_input_div", cart_table);
	ni.wrap('<div class="num_input_div_wrap"></div>');
	ni.before('<div class="num_dec num_button">-</div>');
    ni.after('<div class="num_inc num_button">+</div>');

    $(".num_button", cart_table).click(function() {
        var button = $(this);        
        var inp = button.parent().find("input");
        var oldVal = inp.val();
        var newVal = oldVal;
        var prod = inp.attr("rel");        
        if (button.text() == "+") {
          if (oldVal < 10) {
            newVal = parseFloat(oldVal) + 1;
            $.post("/cart/?ajax=1", {add:prod});          
          }  
    	} else {
    	  if (oldVal > 1) {
    	      newVal = parseFloat(oldVal) - 1;
              $.post("/cart/?ajax=1", {sub:prod});          
    	  }
    	}        
    	inp.val(newVal);
        if (newVal!=oldVal) {
            inp.change();            
        }        
    });

    $("input:text", cart_table).change(function(){
        var res = $(this).attr("alt")*$(this).val();
        var row=$(this).parent().parent().parent().parent();
        $(".sum_value", row).text(res);
        cartSum();        
    })

    cartSum();
    function cartSum() {
        sum=0;
        var cart_table = $(".cart_table");
        $(".sum_value", cart_table).each(function() {
           sum = sum + parseInt($(this).text()); 
        });
        $(".itog", cart_table).text(sum);
        if (sum==0) {
            $(".cart_detail").hide();
            $(".cart_empty").show();
        }
    }


    $(".remove", cart_table).click(function(){
        var prod = $("a", this).attr("rel");                
        $(this).parent().slideUp("fast", function(){            
            $.post("/cart/?ajax=1", {del:prod});
            $(this).remove();
            cartSum();
        });        
    });

    //order
    var user_form = $(".user_form");    
    $("#deliv_on").click(function(){
        $(".addr_wrap", user_form).slideDown("fast");
    });
    $("#deliv_off").click(function(){
        $(".addr_wrap", user_form).slideUp("fast");
    });    


    // compare
    var compare = $(".compare");
    $(".x", compare).click(function(){
        var prod = $(this).attr("rel");                  
        $(this).parent().parent().slideUp("fast", function(){                        
            $.post("/compare/?ajax=1", {del:prod});        
            $(this).remove();
            row_resize();
            var compare_items = $(".col", compare).length;              
            if (compare_items==1) {
              $(".compare").hide();
              $(".compare_empty").show();
            }
        });        
    });

    function row_resize() {
        var wh=0;
        $(".row .col").each(function() {
            wh=wh+$(this).width();
        });
        $(".row").width(wh);    
        $(".compare_items").jScrollPane({
            horizontalDragMinWidth: 92,
            horizontalDragMaxWidth: 92
        });            
    }            

    function setRowHeight() {            
        $("div", $(".compare_th")).each(function(){                 
            a = $(this).attr("rel");
            hh(a);
        });
    }

    function hh(cls) {       
        var mx=0;
        $('div[rel="'+cls+'"]').each(function(){
            if ($(this).height() > mx) {
                mx=$(this).height();
            }
        });
        $('div[rel="'+cls+'"]').height(mx);        
    }

    setRowHeight();
    row_resize();

    //poll

    $('#pollsForm').ajaxForm({        
        target:     '#divPollsOut',
        success: function(){drawPoll();}
    });
    
    drawPoll();

    function drawPoll() {
        var poll_res = $(".poll_res");
        var sum=0;
        $(".cnt", poll_res).each(function(){
            sum = sum + parseInt($(this).text());
        });
        $(".cnt", poll_res).each(function(){
            width=parseInt($(this).text())/sum*100;
            $(".line", $(this).parent()).width(width+'%');
        });        
    }    
   
    // faq
    $('#faqForm').ajaxForm({        
        dataType:  'json', 
        success: function(data) {            
            $('#divFaqOut').html(data.msg);
            if(data.status=="success") $('#faqForm').resetForm();
            var dfo = $("#divFaqOut");
            $(".x", dfo).click(function(){
                $(this).parent().slideUp();
            });
        }        
    });
    
    $('#orderForm').ajaxForm({
        dataType:'json',
        success: function(data) {
            $('#divOrderOut').html(data.msg);
            if(data.status == "success") $('#formOrderComplete').submit();
            var dfo = $("#divOrderOut");            
            $(".x", dfo).click(function(){
                $(this).parent().slideUp();
            });            
        }
    });        
        
});

function protect(name, domain2, domain1){
    var link = name + "@" + domain2 + "." + domain1;        
    document.write("<a href='mailto:" + link + "'>" + link + "</a>");
}

