// JavaScript Document
var _pf_max; 	
var _pf_min;
var _pf_cat_id;
var _pf_query_delay;
var _pf_cat_name;
var _cur_pf_min_price;
var _cur_pf_max_price;
var _pf_quety_delay_onslide = 0;
var _pf_quety_delay_onedit = 0;
			var pagetop;

String.prototype.trimAll=function()
// убирает все пробелы в строке s
{
  var r=/\s+/g;
  return this.replace(r,'');
}
					
function delSpaces(str){
	
	return str.trimAll();
}	

function structStr(str){
  var kr=0;
  var res = "";
	str = delSpaces(str);
  for(var i=str.length-1;i>=0;i--){
	res = str.charAt(i) + res;
    kr++;
	if((kr==3)&&(i!=0)){
	  res = " "+res; 
	  kr=0;
	}
  }
  return $.trim(res);
}

          function init_cat_korz_js() { 
		  
				$(".pf-min-value").val(structStr($(".pf-min-value").val()));
				$(".pf-max-value").val(structStr($(".pf-max-value").val()));
				
				var userAgent = navigator.userAgent.toLowerCase();
                read_cart();
                update_cart_info();

				$("#pf_min_value, #pf_max_value").keydown( function(event){ 
/* 					alert(); 
					// var keynum;
					// var keychar;
					// var numcheck;
					// if(window.event){ // IE
						// keynum = event.keyCode;
					// }else if(event.which){ // Netscape/Firefox/Opera
						// keynum = event.which;
					// }

					// if((keynum!=8)&&(keynum!=46)&&(keynum!=37)&&(keynum!=39)&&(keynum!=13)){
						// event.preventDefault();
						// keychar = String.fromCharCode(keynum);

						// if((keynum!=8)&&(keynum!=46)&&
						 // (keynum!=37)&&(keynum!=39)&&(keynum!=13)){

								// numcheck = /\d/;
								alert(numcheck.test(keychar));
								// if(!numcheck.test(keychar))					
									// return;
						// }
						// var str = $(this).val(); 
						// str = str.trimAll();
						// str = str + keychar;
						// $(this).val(structStr(str));
					// }else if((keynum!=37)&&(keynum!=39)){
						$(this).val($(this).val().trimAll());
						$(this).trigger('keydown');
						// $(this).val(structStr($(this).val()));
					// }					
					if($(this).val().length==3){
						$(this).val($(this).val()+" ");
					}
					return !numcheck.test(keychar)
					$(this).val(structStr($(this).val())); */
				});
				
                $('.pay_button').click(function() {
                    //Вытаскиваем необходимые координаты
					//ищем предка:
					
					var _parent_id = $(this).find('#tov_id').attr('value');
					var _parent = $('#fly_parent_'+_parent_id); 

                    var x0 = $(_parent).find(".staticimage").offset().left;
                    var y0 = $(_parent).find(".staticimage").offset().top;
                    var x = $("#korz_image").offset().left;
                    var y = $("#korz_image").offset().top;
                    var width = $("#korz_image").width(); 
                    var height = $("#korz_image").height();

					$(_parent).find('.flyimage').width( $(_parent).find(".staticimage").width());
					$(_parent).find('.flyimage').height( $(_parent).find(".staticimage").height());
					$(_parent).find('.flyimage').css('visibility', 'visible');
					$(_parent).find('.flyimage').css('opacity', 100);
                    $(_parent).find('.flyimage').css('top', y0);
                    $(_parent).find('.flyimage').css('left', x0);                    
					dx = x0-x;
                    dy = y0-y;

                   
					//Является ли браузер хромом?!
					if($.browser.safari){
						s_el = "body";
					}else{
						s_el = "html";
					}
					 //Скроллим к верху
                    pagetop = $(s_el).scrollTop();
                    $(s_el).animate({ scrollTop: 0}, {
						
                        complete: function () {
                            //Первоначально раздуваем
							// $(_parent).find('.flyimage').animate({
                                // width: "+=50"
                            // })

                            //Сворачиваем к корзине
                            $(_parent).find('.flyimage').animate({
                                opacity: 0.3,
                                left: "-="+dx,
                                top: "-="+dy,
                                width: width,
                                height: height
                            }, "fast");

                            //Исчезновение 
                            $(_parent).find('.flyimage').animate({
                                opacity: "0"
                            }, "very fast");

                            //Анимация корзины
                            $("#korz_image").delay(50);
                            $("#korz_image").animate({width: "+=20" });
                            $("#korz_image").animate({width: "-=20" },{

                                complete: function () {
                                    $(s_el).animate({ scrollTop: pagetop}); 
                                }

                            });
        
                        }
                    });


                    var product_id = $(_parent).find('#product_id').attr('value');
					var product_price = $(_parent).find('#product_price').attr('value');
                    cart_add(product_id, parseInt(product_price)); 
                    cart_save();
                    update_cart_info();
                    return false; 
                });
				

				
				// $(".pf-min-value, .pf-max-value").keyDown( function(){
					// $(this).val(formatInVal($(this).val()));
				// });
				
				$(".pf-min-value, .pf-max-value").change( function(){
					if($(this).hasClass("pf-min-value")){
						if($(".pf-min-value").val()==""){
							$(".pf-min-value").val(_pf_min);
						}
						if(parseInt($(".pf-min-value").val().trimAll())<_pf_min) $(".pf-min-value").val(_pf_min);
						if(parseInt($(".pf-min-value").val().trimAll())>parseInt($(".pf-max-value").val().trimAll())) $(".pf-min-value").val($(".pf-max-value").val().trimAll());
					}else{
						if($(".pf-max-value").val()==""){
							$(".pf-max-value").val(_pf_max);
						}
						if(parseInt($(".pf-max-value").val().trimAll())>_pf_max) $(".pf-max-value").val(_pf_max);
						if(parseInt($(".pf-max-value").val().trimAll())<parseInt($(".pf-min-value").val().trimAll())) $(".pf-max-value").val($(".pf-min-value").val());
					} 
					recalc_scroll_positions();					 
					_pf_query_delay = setTimeout(function(){
						$('#pf_pre_result_count').html("<img src='/img/loading1.gif'>");
						$.ajax({
							type: "POST",
							url: "/dynQuery.php",
							data: "act=get_pf_cat_count&pf_min_price="+$(".pf-min-value").val().trimAll()+"&pf_max_price="+$(".pf-max-value").val().trimAll()+"&cat_id="+_pf_cat_id,
							success: function(data) {
								$('#pf_pre_result_count').html(data);
							},
							error: function(jqXHR, textStatus, errorThrown){
								//alert(errorThrown); 
								$('#pf_pre_result_count').html("NaN");
							}
						});
					},_pf_quety_delay_onedit);	
					$(this).val(structStr($(this).val()));
				});
				
				var _pf_dec  = (_pf_max-_pf_min)/150; 
				$(".pf-left-scroller").css("left", Math.round((_cur_pf_min_price-_pf_min)/_pf_dec)+1);
				$(".pf-right-scroller").css("left", Math.round((_cur_pf_max_price-_pf_min)/_pf_dec)+13);
				$(".pf-active-trck").css("left", $(".pf-left-scroller").position().left+12);
				$(".pf-active-trck").width($( ".pf-right-scroller" ).position().left-$(".pf-left-scroller").position().left-12);

				var _pf_start_left  = $(".pf-trck").offset().left-11; 
				var _pf_start_right = $(".pf-trck").offset().left+$(".pf-trck").width()+1; 
				
				
				$(".pf-left-scroller").draggable({ 
					axis: 'x',
					delay: 0,
					refreshPositions: true,
					//helper: 'clone',
					//containment: [_pf_start_left,13,_pf_start_right-12,13],
					containment: [_pf_start_left,13, $(".pf-trck").offset().left + Math.round((_cur_pf_max_price-_pf_min)/_pf_dec)-11,13],
					drag: function(e, ui){
						$(".pf-active-trck").css("left", ui.position.left+12);
						$(".pf-active-trck").width($( ".pf-right-scroller" ).position().left-ui.position.left-12);
						recalc_prices(ui.position.left, $( ".pf-right-scroller" ).position().left);
					},
					start: function(){
						clearTimeout(_pf_query_delay);
					},
					stop: function(e, ui){
							$( ".pf-right-scroller" ).draggable( "option", "containment", [ui.offset.left+12,13,_pf_start_right,13] );
							$(".pf-active-trck").css("left", ui.position.left+12);
							$(".pf-active-trck").width($( ".pf-right-scroller" ).position().left-ui.position.left-12);
							recalc_prices(ui.position.left, $( ".pf-right-scroller" ).position().left);
							_pf_query_delay = setTimeout(function(){
								$('#pf_pre_result_count').html("<img src='/img/loading1.gif'>");
								$.ajax({
									type: "POST",
									url: "/dynQuery.php",
									data: "act=get_pf_cat_count&pf_min_price="+$(".pf-min-value").val().trimAll()+"&pf_max_price="+$(".pf-max-value").val().trimAll()+"&cat_id="+_pf_cat_id,
									success: function(data) {
										$('#pf_pre_result_count').html(data);
									},
									error: function(jqXHR, textStatus, errorThrown){
										//alert(errorThrown); 
										$('#pf_pre_result_count').html("NaN");
									}
								});
							},_pf_quety_delay_onslide);
						}
					});
				$(".pf-right-scroller").draggable({ 
					axis: 'x', 
					//containment: [_pf_start_left+12,13,_pf_start_right,13],
					containment: [$(".pf-trck").offset().left+Math.round((_cur_pf_min_price-_pf_min)/_pf_dec)+1,13,_pf_start_right,13],
					drag: function(e, ui){
						//$(".pf-active-trck").css("left", $(this).position().left+11);
						$(".pf-active-trck").width(ui.position.left-$(".pf-left-scroller").position().left-12);
						recalc_prices($( ".pf-left-scroller" ).position().left, ui.position.left);
					},
					start: function(){
						clearTimeout(_pf_query_delay);
					},
					stop: function(e, ui){
							$(".pf-left-scroller" ).draggable( "option", "containment", [_pf_start_left,13,ui.offset.left-12,13] );
							$(".pf-active-trck").width(ui.position.left-$(".pf-left-scroller").position().left-12);
							recalc_prices($( ".pf-left-scroller" ).position().left, ui.position.left);
							_pf_query_delay = setTimeout(function(){
								$('#pf_pre_result_count').html("<img src='/img/loading1.gif'>");
								$.ajax({
									type: "POST",
									url: "/dynQuery.php",
									data: "act=get_pf_cat_count&pf_min_price="+$(".pf-min-value").val().trimAll()+"&pf_max_price="+$(".pf-max-value").val().trimAll()+"&cat_id="+_pf_cat_id,
									success: function(data) {
										$('#pf_pre_result_count').html(data);
									},
									error: function(jqXHR, textStatus, errorThrown){
										//alert(errorThrown); 
										$('#pf_pre_result_count').html("NaN");
									}
								});
							},_pf_quety_delay_onslide);							
						}
				});
				
				$("#pf_show_result_but").click(function(){
					//window.location = "/index.php?t=cat&c="+_pf_cat_name+"&pf_min_price="+$(".pf-min-value").val().trimAll()+"&pf_max_price="+$(".pf-max-value").val().trimAll();
					 //window.location = "/cat/"+_pf_cat_name+".html?pf_min_price="+$(".pf-min-value").val().trimAll()+"&pf_max_price="+$(".pf-max-value").val().trimAll();
					 window.location = "/cat/"+_pf_cat_name+"/"+$(".pf-min-value").val().trimAll()+"-"+$(".pf-max-value").val().trimAll()+".html";
				});
				
            };

			function recalc_prices(left,right){
				var _pf_dec  = (_pf_max-_pf_min)/150; 
				var _new_min = _pf_min+Math.round((left-1)*_pf_dec);
				var _new_max = _pf_min+Math.round((right-13)*_pf_dec);
				$(".pf-min-value").val(structStr(_new_min.toString()));
				$(".pf-max-value").val(structStr(_new_max.toString()));
			}
			
			function recalc_scroll_positions(){
				var _pf_dec  = (_pf_max-_pf_min)/150; 
				_cur_pf_min = $(".pf-min-value").val().trimAll();
				_cur_pf_max = $(".pf-max-value").val().trimAll();
				$(".pf-left-scroller").css("left", Math.round((_cur_pf_min-_pf_min)/_pf_dec)+1);
				$(".pf-right-scroller").css("left", Math.round((_cur_pf_max-_pf_min)/_pf_dec)+13);
				$(".pf-active-trck").css("left", $(".pf-left-scroller").position().left+12);
				$(".pf-active-trck").width($( ".pf-right-scroller" ).position().left-$(".pf-left-scroller").position().left-12);

			}
			 
            function read_cart()
            {
                product_count = 0;
                total_amount = parseInt(getCookie('total_amount'));
                if (!total_amount) total_amount = 0;
                cart_products = new Array();
                var products_string = getCookie('cart_products');

                var regex = /([\d]+):([\d]+)/g;
                var match;
                //match = regex.exec("234:3|845:2");
                while (match = regex.exec(products_string)){
                    cart_products[parseInt(match[1])] = parseInt(match[2]);
                    product_count+= parseInt(match[2]);
                }
            }

            function update_cart_info()
            {
                $("#total_cart_amount").text(total_amount);
                $("#total_cart_products").text(product_count);
            }

            function cart_add(product_id, sum)
            {
                if (cart_products[product_id] > 0)
                    cart_products[product_id]++
                else
                    cart_products[product_id] = 1;
                product_count++;
                total_amount+= sum;
            }
			
			function setCookie (name, value, expires, path, domain, secure) {
      document.cookie = name + "=" + escape(value) +
        ((expires) ? "; expires=" + expires : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
}


			function cart_save()
            {
                products_string = '';
                for (var i=0; i<cart_products.length; i++)
                    if (cart_products[i] > -1)
                {
                    products_string+= i + ':' + cart_products[i] + '|';
                }
                
setCookie('cart_products', products_string, "", '/');
setCookie('total_amount', total_amount, "", '/');
            }

            function getCookie(c_name)
            {
                if (document.cookie.length>0)
                {
                    c_start=document.cookie.indexOf(c_name + "=");
                    if (c_start!=-1)
                    {
                        c_start=c_start + c_name.length+1;
                        c_end=document.cookie.indexOf(";",c_start);
                        if (c_end==-1) c_end=document.cookie.length;
                        return unescape(document.cookie.substring(c_start,c_end));
                    }
                }
                return "";
            }

