/*

* jQuery filter
* By: Pawel Fijalek [pfijalek(at)zoho.com]
* Version 0.8
* Last Modified:13/09/2011
*
* Copyright 2011 Butyk.pl

*/

function HFilter()
{
	HFilter.create();
};

HFilter.loading = true;
HFilter.set = null;

HFilter.filterSet = function(){
	var set = new Array;

	$("#filter .f_filter_list").each(function(i){
		set[i] = {
			category: 'list',
			elem: this,
			checked: $(this).find(':checked').toArray()
		}
	});

	set.push({
		category: 'price',
		from: parseInt($('#f_price_from').val()),
		to: parseInt($('#f_price_to').val())
	});

	set.push({
		category: 'tag',
		selected: $("#f_tag option:selected").val()
	});

	set.push({
		category: 'new',
		checked: $("#f_news").prop('checked')
	});

	set.push({
		category: 'sale',
		checked: $("#f_sales").prop('checked')
	});

	return set;
}

HFilter.filterRecovery = function(){
	var self = this;

	$.each(self.set, function(i, v){
		if(v.category === 'list'){
			$(v.elem).find('input').each(function(){
				if($.inArray(this, v.checked) != '-1' && !$(this).prop('checked')) $(this).prop('checked', true);
			})
		}else if(v.category === 'price'){
			self.cPrice(null, null, [v.from, v.to]);
		}else if(v.category === 'tag'){
			$('#f_tag option[value='+ v.selected +']').prop('selected', true);
		}else if(v.category === 'new'){
			$("#f_news").prop('checked', v.checked);
		}else if(v.category === 'sale'){
			$("#f_sales").prop('checked', v.checked);
		}
	});
}

HFilter.emptyfancybox = function(){
	$.fancybox($('#oknoBrakTowaru').html(),{
		scrolling: 'no',
		centerOnScroll: true,
		titleShow: false,
		showCloseButton: false,
		speedIn: 800,
		speedOut: 400
	});

	$('.btclose').click(function(e){
		$.fancybox.close();
		e.preventDefault();
	});
}

HFilter.create = function()
{
	var self = this;
	self.elem = null;

	$('#filter').delegate('.f_filter_list a', 'click', function(e, ui){
		e.preventDefault();
	});

	$('#filter').delegate('.f_filter:input', 'change', function(e, ui){
		self.elem = $(this);
		self.resetPage();
		self.change();
	});

	$('#filter').delegate('.f_filter_list :input', 'change', function(e, ui){
		$(this).parents('.f_filter_list').addClass('firedChange');
		if($(this).parents('.f_filter_list').attr('kat') == 'a7'){
			var v = $(this).parents('.f_filter_list').find(':input:checked:first').val();
			$('#f_kind').val(v);
		}

		self.elem = $(this);
		self.resetPage();
		self.change();
	});

	$('#filter').delegate('a.del', 'click', function(e, ui){
		$(this).parent().find(':input').prop('checked',false);

		if($(this).parent().find('#slider-range').length){
			var min = parseInt($('#f_price_from_min').val());
			var max = parseInt($('#f_price_to_max').val());
			self.cPrice(null, null, [min, max]);
		}

		if($(this).parent().find('#f_tag').length){
			$('#f_tag option:first').prop('selected',true);
		}

		if($(this).hasClass('total')){
			self.cButtonClearAll();
		}else{
			var c = $(this).parent().find('.f_filter_list').attr('kat') ? $(this).parent().find('.f_filter_list').attr('kat') : '';
			self.cButtonClear(c);
		}

		self.resetPage();
		self.change();

		e.preventDefault();
	});

	$('.pagination').delegate('a', 'click', function(e){
		var page = parseInt($('#f_page').val());

		if(!$(this).hasClass('sel')){
			var pag = parseInt($(this).text());

			if($(this).hasClass('back')){
				page--;
			}else if($(this).hasClass('next')){
				page++;
			}else{
				page = pag;
			}

			$('#f_page').val(page);
			self.elem = $(this);
			self.change();
		}

		e.preventDefault();
	});

	self.initSlider();

	if(window.location.hash){
		self.change();
	}else{
		if(filtryZaznaczone)self.setFilterOptions(filtryZaznaczone);
		if(dostepneWybieraki)self.disableFilterOptions(dostepneWybieraki);
		self.loading = false;
	}
};

HFilter.category = {
	a0: "KATEGORIE",
	a1: "FASONY",
	a2: "OBCASY",
	a3: "MARKI",
	a4: "KOLORY",
	a5: "ROZMIARY",
	a7: ""
};

HFilter.query =
{
	empty: '',
	page: function(){
		var i = 'p=';
		var h = HFilter.checkHash(i);
		var v = $("#f_page").val();
		if(HFilter.loading && h){
			$("#f_page").val(h);
			v = h;
		}
		return v ? i + v + '|' : this.empty;
	},
	sort: function(){
		var i = 's=';
		var h = HFilter.checkHash(i);
		var v = $("#f_sort option:selected").val();
		if(HFilter.loading && h){
			$("#f_sort option:selected").val(h);
			v = h;
		}
		return v ? i + v + '|' : this.empty;
	},
	price_from: function(){
		var i = 'od=';
		var h = HFilter.checkHash(i);
		var v = $("#f_price_from").val();
		if(HFilter.loading && h){
			$("#f_price_from").val(h);
			v = h;
		}
		return v ? i + v + '|' : this.empty;
	},
	price_to: function(){
		var i = 'do=';
		var h = HFilter.checkHash(i);
		var v = $("#f_price_to").val();
		if(HFilter.loading && h){
			$("#f_price_to").val(h);
			v = h;
		}
		return v ? i + v + '|' : this.empty;
	},
	news: function(){
		var i = 'n=';
		var h = HFilter.checkHash(i);
		var v = $("#f_news").prop('checked');
		if(HFilter.loading && h == '1'){
			$("#f_news").prop('checked', true);
			v = true;
		}
		return v ? 'n=1|' : this.empty;
	},
	sales: function(){
		var i = 'w=';
		var h = HFilter.checkHash(i);
		var v = $("#f_sales").prop('checked');
		if(HFilter.loading && h == '1'){
			$("#f_sales").prop('checked', true);
			v = true;
		}
		return v ? 'w=1|' : this.empty;
	},
	kind: function(){
		var i = 'r=';
		var h = HFilter.checkHash(i);
		var v = $("#f_kind").val();
		if(HFilter.loading && h){
			$("#f_kind").val(h);
			v = h;
		}
		return v ? i + v + '|' : this.empty;
	},
	promo: function(){
		var i = 'promo=';
		var h = HFilter.checkHash(i);
		var v = $("#f_promo").val();
		if(HFilter.loading && h == '1'){
			$("#f_promo").val('TAK');
			v = 'TAK';
		}
		return v == 'TAK' ? 'promo=1|' : this.empty;
	},
	pag: function(){
		var i = 'ile=';
		var h = HFilter.checkHash(i);
		var v = $("#f_pag option:selected").val();

		if(HFilter.loading && h){
			var selector = 'option[value=' + h + ']';

			$("#f_pag").find(selector).prop('selected', true);
			v = h;
		}
		return v ? 'ile='+ v + '|' : this.empty;
	},
	film: function(){
		var i = 'x=';
		var h = HFilter.checkHash(i);
		var v = $("#f_film").val();
		if(HFilter.loading && h){
			$("#f_film").val(h);
			v = h;
		}
		return v ? i + v + '|' : this.empty;
	},
	search: function(){
		var i = 'fraza=';
		var h = HFilter.checkHash(i);
		var v = $("input[name=fraza]").val();;
		if(HFilter.loading && h){
			var selector = 'option[value=' + h + ']';
			$("input[name=fraza]").val(h);
			v = h;
		}
		return v ? i + v + '|' : this.empty;
	},
	tag: function(){
		var i = 'tag=';
		var h = HFilter.checkHash(i);
		var v = $("#f_tag option:selected").val();
		if(HFilter.loading && h){
			var selector = 'option[value=' + h + ']';
			$("#f_tag").find(selector).prop('selected', true);
			v = h;
		}
		return v && v != -1 ? i + v + '|' : this.empty;
	},
	mark: function(){
		var i = 'id_marki=';
		var h = HFilter.checkHash(i);
		var v = $("#f_mark_id").val();
		if(HFilter.loading && h){
			$("#f_mark_id").val(h);
			v = h;
		}
		return v ? i + v + '|' : this.empty;
	},
	special: function(){
		var i = 'specjalne=';
		var h = HFilter.checkHash(i);
		var v = $("#f_special").val();
		if(HFilter.loading && h){
			$("#f_special").val(h);
			v = h;
		}
		return v ? i + v + '|' : this.empty;
	},
	list: function(){
		var l, k, v = '';
		$("#filter .f_filter_list").each(function(i){
			k = $(this).attr('kat');
			l = $(this).find('input[type=checkbox]:checked').length - 1;

			$(this).find('input[type=checkbox]:checked').each(function(j){
				if(!j) v+= k + '=';
				v += $(this).val();
				if(j != l) v += ',';
				if(j == l) v += '|';
			});
		});
		return v ? v : this.empty;
	}
};

HFilter.bilder = function(){
	var q = jQuery.map(this.query, function(n, i){
		var l = '';
		if($.isFunction(n)){ l = n(); }else{ l = n; }
		return l;
	}).join('');

	return q;
};

HFilter.change = function(){
	var self = this;

	var marka = $("#f_special").val() == 'marka' ? true : false;
	var kind = marka ? self.setMarkaKind() : $("#f_kind").val();

	var wrapper = kind == 'zestawy' ? '.listing.bloki' : '.listing ul';
	var noProducts = kind == 'zestawy' ? '<div class="empty">brak</div>' : '<li class="empty">brak</li>';

	var reloadCategoty = (marka && $('#filter .f_filter_list[kat=a7]').hasClass('firedChange')) || (marka && self.loading) ? true : false;

	$('.loader').css({'display': ''});

	if(reloadCategoty){
		var c = self.ajaxCategory(kind);
		c.done(function(){
			var d = self.ajaxProducts();
			d.done(function(data_products){
				var iProducts = data_products.PRODUKTY.length;

				if(iProducts){
					$(wrapper).empty();
					self.products(wrapper, data_products);
					self.setFilterOptions(data_products.ZAZNACZONE);
					self.cPrice(null, parseInt(data_products.CENA_MAX), [data_products.CENA_OD, data_products.CENA_DO]);
					self.disableFilterOptions(data_products);
					self.cButtonClear();
					self.setPagination(data_products.STRONY, data_products.STRONY_AKTUALNA);
					self.setPath(data_products.SCIEZKA);

					$('.loader').css({'display': 'none', 'width': '', 'height': ''});
					if(self.elem){
						var comTop = $('#filter').offset().top;
						$('html:not(:animated), body:not(:animated)').animate({scrollTop: comTop}, 'slow', function(){});
					}
				}else{
					$('.loader').css({'display': 'none', 'width': '', 'height': ''});
					self.emptyfancybox();
				}

				self.loading = false;
			});
		});
	}else{
		var c = self.ajaxProducts();
		c.done(function(data_products){
			var iProducts = data_products.PRODUKTY.length;

			if(iProducts){
				$(wrapper).empty();
				self.products(wrapper, data_products);
				self.setFilterOptions(data_products.ZAZNACZONE);
				self.cPrice(null, parseInt(data_products.CENA_MAX), [data_products.CENA_OD, data_products.CENA_DO]);
				self.disableFilterOptions(data_products);
				self.cButtonClear();
				self.setPagination(data_products.STRONY, data_products.STRONY_AKTUALNA);
				self.setPath(data_products.SCIEZKA);

				$('.loader').css({'display': 'none', 'width': '', 'height': ''});
				if(self.elem){
					var comTop = $('#filter').offset().top;
					$('html:not(:animated), body:not(:animated)').animate({scrollTop: comTop}, 'slow', function(){});
				}

				self.set = self.filterSet();
			}else{
				$('.loader').css({'display': 'none', 'width': '', 'height': ''});
				if(self.set)self.filterRecovery();
				self.emptyfancybox();
			}

			self.loading = false;
		});
	}
};

HFilter.ajaxCategory = function(kind){
	var self = this;
	var wrapperPanel = $('#filter_panel_wrapper');

	var loadCategory = function(kind){
		var special = $('#f_special').val();
		var markaId = $('#f_mark_id').val();
		var link = '/towary/filtr?rodzaj=' + kind + '&specjalne=' + special + '&id=' + markaId;

		return	$.ajax({
			url: link,
			timeout: 2500,
			contentType: 'application/json; charset=utf-8',
			dataType: 'html'
		});
	};

	return $.when(loadCategory(kind)).done(
				function(data_category){
					if(data_category){
						var panel = $(data_category);
						wrapperPanel.empty();
						panel.find('input[value='+ kind +']').prop('checked', true);
						panel.appendTo(wrapperPanel);
						$("#f_kind").val(kind);
						self.initSlider();
					}
				}
			);
};

HFilter.ajaxProducts = function(){
	var self = this;
	var path = '/towary/przegladaj?parametry=';
	var hash = self.buildHash();
	var link = path + hash;

	var loadProducts = function(link){
		return	$.ajax({
			url: link,
			timeout: 2500,
			contentType: 'application/json; charset=utf-8',
			dataType: 'json'
		});
	};

	if(!self.loading) window.location.hash = hash;

	return $.when(loadProducts(link));
};

HFilter.template = function(data){
	var kind = $("#f_kind").val();

	if(kind == 'zestawy'){
		var o = {
			empty: '',
			con: $('<div class="comb_box"></div>'),
			tag1: $('<div class="inbox"></div>'),
			tag2: $('<a href="" title=""></a>').attr({'href': data.LINK}).attr({'title': data.NAZWA_DODATKOWA}).text(data.NAZWA_DODATKOWA),
			tag3: $('<img src="" alt="" />').attr({'src': data.FOTO}),
			tag4: data.NOWOSC == 1 ? $('<div class="ico new">nowosc</div>') : this.empty
		};

		if(o.tag3) o.tag3.prependTo(o.tag2);
		if(o.tag4) o.tag4.appendTo(o.tag2);
		if(o.tag2) o.tag2.appendTo(o.tag1);
		if(o.tag1) o.tag1.appendTo(o.con);

		return o.con;

	}else{
		var currency = ' ' + $('#f_currency').val();
		var price = parseInt(data.CENA_BRUTTO) == parseFloat(data.CENA_BRUTTO) ? data.CENA_BRUTTO.toString() + ".00" : data.CENA_BRUTTO;
		var oldPrice = parseInt(data.STARA_CENA) == parseFloat(data.STARA_CENA) ? data.STARA_CENA.toString() + ".00" : data.STARA_CENA;

		var o = {
			empty: '',
			con: $('<li></li>'),
			tag1: $('<a href="" class="img blok" title=""></a>').css({'background': 'url(' + data.FOTO + ') 50% 100% no-repeat'}).attr({'href': data.LINK}).attr({'title': data.NAZWA_DODATKOWA + ' ' + data.PRODUCENT}).text(data.NAZWA_DODATKOWA + ' ' + data.PRODUCENT),
			tag2a: data.NOWOSC == 1 ? $('<div class="ico new">nowosc</div>') : this.empty,
			tag2b: data.WYPRZEDAZ == 1 ? $('<div class="ico sale">wyprzedaz</div>') : this.empty,
			tag3: $('<a href=""></a>').attr({'href': data.LINK}).text(data.NAZWA_DODATKOWA + ' ' + data.PRODUCENT),
			tag4: data.WYPRZEDAZ == 1 ? $('<del></del>').text(oldPrice + ' ' + currency) : this.empty,
			tag5: $('<p class="cena"></p>').text(price + currency)
		};

		if(o.tag1) o.tag1.prependTo(o.con);
		if(o.tag2a) o.tag2a.appendTo(o.con);
		if(o.tag2b) o.tag2b.appendTo(o.con);
		if(o.tag3) o.tag3.appendTo(o.con);
		if(o.tag4) o.tag4.prependTo(o.tag5);
		if(o.tag5) o.tag5.appendTo(o.con);

		return o.con;
	}
};

HFilter.products = function(wrapper, data){
	var hProduct;
	var oProducts = data.PRODUKTY;
	var iProducts = oProducts.length;

	for(var i=0 ; i < iProducts ; i++){
		hProduct = HFilter.template(oProducts[i]);
		if(hProduct) hProduct.appendTo(wrapper);
	}
};

HFilter.setFilterOptions = function(data){
	var self = this;
	var marka = $("#f_special").val() == 'marka' ? true : false;
	var kind = $("#f_kind").val();

	$.each(data, function(index, value){
		var elem = this;

		if($.isArray(elem)){
			var selectorK = '#filter .f_filter_list[kat=' + index + ']';
			$.each(elem, function(i, v){
				var selectorV = 'input[value=' + v + ']';
				$(selectorK).find(selectorV).prop('checked', true);
			});
		}else if(index == 'a7'){
			var selectorK = '#filter .f_filter_list[kat=a7]';
			var selectorV = 'input[value=' + value + ']';
			$(selectorK).find(selectorV).prop('checked', true);
		}else if(index == 'tag'){
			$('#f_tag').find('option[value=' + value + ']').prop('selected', true);
		}else if(index == 'w'){
			if(value == '1'){
				$('#f_sales').prop('checked', true);
			}else{
				$('#f_sales').prop('checked', false);
			}
		}else if(index == 'n'){
			if(value == '1'){
				$('#f_news').prop('checked', true);
			}else{
				$('#f_news').prop('checked', false);
			}
		}else if(index == 's'){
			if(value){
				$('#f_sort').find('option[value=' + data.s + ']').prop('selected', true);
			}else{
				$('#f_sort').find('option:first').prop('selected', true);
			}
		}
	});
};

HFilter.disableFilterOptions = function(data){
	var oSetCategory = $('#filter .f_filter_list').has(':input:checked');
	var sSetCategoryIndex = oSetCategory ? oSetCategory.attr('kat') : null;
	var iSetCategory = oSetCategory ? oSetCategory.length : 0;

	$.each($('#filter .f_filter_list'), function(index, value){
		var self = this;
		var kat_index = $(self).attr('kat');
		var kat_name = HFilter.category[kat_index];
		var arr = data[kat_name];
		var skip = $(self).hasClass('firedChange') ? true : false;

		if(data.hasOwnProperty(kat_name)){
			$.each($(self).find(':input'), function(i, v){
				var value = $(this).val();

				if($.inArray(value, arr) > -1 || (iSetCategory == 1 && sSetCategoryIndex == kat_index)){
					$(this).prop('disabled', false);
					$(this).parents('li').css({'opacity': '1'});
				}else{
					if(!skip){
						$(this).prop('disabled', true);
						$(this).parents('li').css({'opacity': '0.3'});
					}else{
						$(self).removeClass('firedChange');
					}
				}
			});
		}else{
			if(kat_index == 'a7'){
				var kind = $('#f_kind').val();
				var selectorK = '#filter .f_filter_list[kat=' + kat_index + ']';
				var selectorV = 'input[value=' + kind + ']';
				$(selectorK).find(selectorV).prop('checked', true);
			}
		}
	});
};

HFilter.buildHash = function(){
	var hash;
	var self = this;
	var hashPHP = $('#f_hash').val();
	var marka = $("#f_special").val() == 'marka' ? true : false;
	var hashBroser = window.location.hash;
	var parameters = self.bilder();
	if(hashBroser.length) hashBroser = hashBroser.substring(1, hashBroser.length);
	if(self.loading){
		if(marka){
			hash = hashBroser ? hashBroser + '|' + parameters : parameters;
		}else{
			hash = hashBroser != "" ? hashBroser : hashPHP;
		}
	}else{
		hash = parameters != "" ? parameters : hashPHP;
	}

	return hash;
};

HFilter.checkHash = function(q){
	var self = this;
	var reg;
	var hash_kind = '';
	var window_hash = window.location.hash;
	var window_search = window.location.search;

	if(window_hash){
		reg = new RegExp('[#|]' + q + '([^|]*)', 'g');
		hash_kind = reg.exec(window_hash);
	}else if(window_search){
		reg = new RegExp('[?]' + q + '([^|&]*)', 'g');
		hash_kind = reg.exec(window_search);
	}

	return hash_kind ? hash_kind[1] : hash_kind;
};

HFilter.cButtonClearAll = function(){
	if($('#filter a.del:not(.total):visible').length && !$('#filter a.total.del').is(':visible')){
		$('#filter .total.del').css({'display': 'block'});
	}else if(!$('#filter a.del:not(.total):visible').length && $('#filter a.total.del').is(':visible')){
		$('#filter .total.del').css({'display': ''});
	}
};

HFilter.cButtonClear = function(category){
	var self = this;
	var selector = category ? '#filter .f_filter_list[kat=' + category + ']' : '#filter .f_filter_list';

	$.each($(selector), function(index, value){
		var button = $(this).parents('.box').find('.del');
		var visible = button.is(':visible');
		var checked = $(this).find('input[type=checkbox]:checked').length;

		if(checked && !visible){
			button.css({'display': 'block'});
		}else if(!checked && visible){
			button.css({'display': ''});
		}
	});

	var values = [$('#f_price_from').val(), $('#f_price_to').val()];
	self.cPrice(null, null, values);
	self.cButtonClearAll();
};

HFilter.cPrice = function(min, max, values){
	var self = this;
	var v = new Array();
	var change = false;
	var slider = $("#slider-range");
	var minSlider = slider.slider('option', 'min');
	var maxSlider = slider.slider('option', 'max');
	var valueSlider = slider.slider('option', 'values');

	if(min != null && min != minSlider){
		$('#f_price_from_min').val(min);
		slider.slider('option', 'min', min);
		change = true;
	}

	if(max != null && max != maxSlider){
		$('#f_price_to_max').val(max);
		slider.slider('option', 'max', max);
		change = true;
	}

	if(values != null && (values[0] != valueSlider[0] || values[1] != valueSlider[1])){
		if(values[0] != null && values[0] != valueSlider[0]) slider.slider('values', 0, values[0]);
		if(values[1] != null && values[1] != valueSlider[1]) slider.slider('values', 1, values[1]);
		change = true;
	}

	return change;
};

HFilter.setPagination = function(pagination, page){
	if(page != null){
		$('#f_page').val(page);
	}

	$('.pagination').html(pagination);
};

HFilter.setPath = function(path){
	$('#filter .pathWrapper').html(path);
};

HFilter.resetPage = function(){
	$('#f_page').val(1);
};

HFilter.setMarkaKind = function(){
	var self = this;
	var window_hash = window.location.hash;
	var kind = $("#f_kind").val();
	var first_kind = $("#f_first_kind").val();

	if(!kind){
		if(window_hash){
			var reg = new RegExp('[#|]r=([^|]*)', 'g');
			var hash_kind = reg.exec(window_hash);

			kind = hash_kind !== null ? hash_kind[1] : '';
		}else if(first_kind){
			kind = first_kind;
		}

		$("#f_kind").val(kind);
		$('#filter .f_filter_list[kat=a7]').find('input[value='+ kind +']').prop('checked', true);
	}

	return kind;
};

HFilter.initSlider = function(){
	var self = this;

	$("#slider-range").slider({
		range: true,
		min: $('#f_price_from_min').val(),
		max: $('#f_price_to_max').val(),
		step: 10,
		values: [$('#f_price_from').val(), $('#f_price_to').val()],
		create: function(event, ui){
			var curr = $('#f_currency').val();
			var min = $('#f_price_from_min').val();
			var max = $('#f_price_to_max').val();

			$('#slider-range-label .fl').text(min+curr);
			$('#slider-range-label .fr').text(max+curr);
		},
		slide: function(event, ui){
			var curr = $('#f_currency').val();

			$('#slider-range-label .fl').text(ui.values[0]+curr);
			$('#slider-range-label .fr').text(ui.values[1]+curr);
		},
		stop: function(event, ui){
			var from = $('#f_price_from').val();
			var to = $('#f_price_to').val();
			if(from != ui.values[0] || to != ui.values[1]){
				$("#f_price_from").val(ui.values[0]);
				$('#f_price_to').val(ui.values[1]);
				self.change();
			}

		},
		change: function(event, ui){
			var from = $('#f_price_from').val();
			var to = $('#f_price_to').val();
			var curr = $('#f_currency').val();
			var bClear = $('#slider-range').parents('.box').find('a.del');

			$('#slider-range-label .fl').text(ui.values[0]+curr);
			$('#slider-range-label .fr').text(ui.values[1]+curr);

			if(from != ui.values[0] || to != ui.values[1]){
				$("#f_price_from").val(ui.values[0]);
				$('#f_price_to').val(ui.values[1]);
			}

			if($('#f_price_from').val() == $('#f_price_from_min').val() && $('#f_price_to').val() == $('#f_price_to_max').val()){
				bClear.css({'display': ''});
				self.cButtonClearAll();
			}else if(bClear.css('display') != 'block'){
				bClear.css({'display': 'block'});
				self.cButtonClearAll();
			}
		}
	});
};
