$(document).ready(function() {

	getProductList();
	cartCall();

	$('.leftSideMenu-filterBtn, .active_close').click( function(event) {
		event.preventDefault();
		
		var filter_btn = $(this).parents('li').find('.leftSideMenu-filterBtn');
		
		if ( $(filter_btn).hasClass('active') ) {
			// Remove filter
			$(filter_btn).removeClass('active');
			$(filter_btn).parents('li').find('.active_close').addClass('hidden');
		} else {
			// Add filter
			$(filter_btn).addClass('active');
			$(filter_btn).parents('li').find('.active_close').removeClass('hidden');
		}
		
		$.cookie('p_filters', null);
		
		// Apply filters
		getProductList();
	});
	
	// Sort by
	$('.b-select-box').change(function() {
		//document.product_list_sort = $(this).val();
		changeSort();
		// Apply filters
		getProductList();
	});
	
	// Show big image
	$('.b-product-photos__bigpreviews-zoom-btn').click(function (event) {
		event.preventDefault();
		
		$('.zoom-place-img').attr('src', $(this).attr('href'));
		$('body').css('overflow', 'hidden');
		$('.zoom-place').css('display', 'block');
	});
	
	$('.zoom-place-close').click(function (event) {
		$('.zoom-place').css('display', 'none');
		$('body').css('overflow', 'visible');
		$('.zoom-place-img').attr('src', '');
	});
	
	// Registration form check
	// $('form[name="user-registration-form"]').submit( function(event) {
		// $('.errors-js, .errors-js-txt').addClass('hidden');
		
		// var is_error = 0;
		// if ( !$(this).hasClass('user-registration-continue-form') ) {
			// // Проверка на совпадение паролей
			// var password = $(this).find('input[name="password"]').val();
			// var password_repeated = $(this).find('input[name="password_repeated"]').val();
			// if ( password != password_repeated ) {
				// var is_error = 1;
				// $('.errors-js, .errors-js-passwords-not-equal').removeClass('hidden');
			// }
			// // Проверка что пароли не пусты
			// if ( password == '' || password_repeated == '' ) {
				// var is_error = 1;
				// $('.errors-js, .errors-js-passwords-empty').removeClass('hidden');
			// }
			
			// // Проверка почты
			// var email = $(this).find('input[name="email"]').val();
			// if ( !email.match(/^[\w\.-]+@[\w\.-]+\.[a-z]{2,6}$/i) ) {
				// var is_error = 1;
				// $('.errors-js, .errors-js-bad-email').removeClass('hidden');
			// }
		// }
		
		// // Проверка остальных обязательных атрибутов
		// $('.errors-js-required-empty-txt').html('');
		// $('form[name="user-registration-form"] input.required').each(function(index, Element) {
			// if ( $(this).val() == '' ) {
				// is_error = 1;
				// var new_text = $('.errors-js-required-empty-txt').html() + "<br />" + $(this).parents('p').find('label').text();
				// $('.errors-js-required-empty-txt').html(new_text);
				// $('.errors-js, .errors-js-required-empty').removeClass('hidden');
			// }
		// });
		
		// if ( is_error ) {
			// $(document).scrollTop(0);
			// return false;
		// } else {
			// return true;
		// }
	// });
	
	// Добавление в корзину
	$('form[name="product-buy"]').submit( function(event) {
		var data_arr = '';
		$('form[name="product-buy"] input[name="product_id[]"]').each(function(i) {
			var product_id   = $(this).parents('tr').find('input[name="product_id[]"]').val();
			var quantity_el  = $(this).parents('tr').find('input[name="quantity[]"]');
			var quantity 	 = quantity_el.val();
			if ( quantity > 0 ) {
				if ( data_arr.length > 0 ) {
					data_arr += '&';
				}
				data_arr += 'product_id[]=' + product_id + '&quantity[]=' + quantity;

				// После добавления в корзину, количество обнуляем
				quantity_el.val(0);
			}
		});
		
		if ( data_arr.length > 0 ) {
			cartCall(data_arr);
			$(this).find('.add-to-basket-add').addClass('hidden');
			$(this).find('.add-to-basket-added').removeClass('hidden');
			var timer = setTimeout( function() {
				$('form[name="product-buy"]').find('.add-to-basket-added').addClass('hidden');
				$('form[name="product-buy"]').find('.add-to-basket-add').removeClass('hidden');
			}, 3000 );
		}
		return false;
	});
	// Проверка что выбрано вещей не больше чем есть не складе и не меньше 0
	$('form[name="product-buy"] input[name="quantity[]"]').change( function(event) {
		var cur_val = parseInt($(this).val(), 10);
		var max_val = parseInt($(this).attr('quantity_limit'), 10);

		//TODO: пока пусть требует товара столько сколько нужно 		
		//if ( cur_val > max_val ) {
		//	$(this).val(max_val);
		//}
		
		if ( cur_val < 0 ) {
			$(this).val(0);
		}
	});
	// Кнопки + и - в карточке товара
	$('form[name="product-buy"] .plus, form[name="product-buy"] .minus').click( function(event) {
		var quantity_el = $(this).parents('tr').find('input[name="quantity[]"]');
		var quantity = parseInt(quantity_el.val(), 10);
		var max_val = parseInt($(quantity_el).attr('quantity_limit'), 10)
		var new_quantity = quantity;
		if ( $(this).hasClass('plus') && quantity < max_val ) {
			new_quantity++;
		}
		if ( $(this).hasClass('minus') && quantity > 0 ) {
			new_quantity--;
		}
		quantity_el.val(new_quantity);
	});
	
	// On-Click reload
	$('.need_reload').click( function(event) {
		document.location.href = $(this).attr('href');
		document.location.reload();
	});
	
	//
	$('.list-of-user-fields-tbl tbody tr').click( function(event) {
		$(this).parent().find('tr').css('background', 'white');
		$(this).parent().find('tr').removeClass('selected');
		
		$(this).css('background', '#edf3ee');
		$(this).addClass('selected');
	});
	
	// Get address id and locate to change it
	$('.cabinet_address-change-btn').click( function(event) {
		event.preventDefault();
		var prop_id = $(this).parents('.b-myorders').find('tr.selected').attr('prop_id');
		document.location.href = 'cabinet/address-change/?prop_id=' + prop_id + '&act=change';
		return false;
	});
	// Get address id and locate to delete it
	$('.cabinet_address-delete-btn').click( function(event) {
		event.preventDefault();
		if ( confirm('Удалить адрес?') ) {
			var prop_id = $(this).parents('.b-myorders').find('tr.selected').attr('prop_id');
			document.location.href = 'cabinet/address-change/?prop_id=' + prop_id + '&act=delete';
		}
		return false;
	});




	// Get account id and locate to add it
	$('.cabinet_account-add-btn').click( function(event) {
		event.preventDefault();
		//var prop_id = $(this).parents('fieldset').find('tr.selected').attr('prop_id');
		var parentID = $("input[name='person_id']").val();
		document.location.href = 'cabinet/partner-information/juridical-person/account-change/?prop_id=0' + "&parent_id=" + parentID +  '&act=add';
		return false;
	});	
	// Get account id and locate to change it
	$('.cabinet_account-change-btn').click( function(event) {
		event.preventDefault();
		var prop_id = $(this).parents('fieldset').find('tr.selected').attr('prop_id');
		var parentID = $("input[name='person_id']").val();
		document.location.href = 'cabinet/partner-information/juridical-person/account-change/?prop_id=' + prop_id + "&parent_id=" + parentID +  '&act=change';
		return false;
	});
	// Get account id and locate to delete it
	$('.account-delete-btn').click( function(event) {
		event.preventDefault();
		if ( confirm('Удалить счет?') ) {
			var prop_id = $(this).parents('fieldset').find('tr.selected').attr('prop_id');
			var parentID = $("input[name='person_id']").val();
			document.location.href = 'cabinet/partner-information/juridical-person/account-change/?prop_id=' + prop_id + "&parent_id="+parentID+'&act=delete';
		}
		return false;
	});

	
	// Modify and create juridical persons
	$('.cabinet_juridical-person-change-btn').click( function(event) {
		event.preventDefault();
		var prop_id = $(this).parents('.b-myorders').find('tr.selected').attr('prop_id');
		document.location.href = 'cabinet/partner-information/juridical-person/?prop_id=' + prop_id + '&act=change';
		return false;
	});
	$('.cabinet_juridical-person-delete-btn').click( function(event) {
		event.preventDefault();
		if ( confirm('Удалить юридическое лицо?') ) {
			var prop_id = $(this).parents('.b-myorders').find('tr.selected').attr('prop_id');
			document.location.href = 'cabinet/partner-information/juridical-person/?prop_id=' + prop_id + '&act=delete';
		}
		return false;
	});
	
	// Fill the bank data
	$('.get-bank-by-bik').click( function(event) {
		event.preventDefault();
		var bik = $(this).parents('form').find('input[name="bik"]').val().toString();
		getBankByBIK( bik, 'input[name="bank_id"]', 'input[name="bank"]', 'input[name="corr_account"]');
		return false;
	});
	$('.reg_get-bank-by-bik').click( function(event) {
		event.preventDefault();
		var bik = $(this).parents('form').find('input[name="bik"]').val().toString();
		getBankByBIK( bik, '', 'input[name="bank_name"]', 'input[name="korr"]');
		return false;
	});
	
	// Apply styles to buttons
	var el=document.getElementsByTagName('input');
	for (var i=0; i<el.length; i++) {
		if (el[i].type.toLowerCase()=='checkbox') {
			doCheckbox(el[i]);
		}
	}
	
	// Search
	$('form[name="search_form"]').submit( function(event) {
		var hash = $(this).find('input[name="search_str"]').val() + '=СтрокаПоиска';
		document.location.href = main.base + 'catalogue/#' + hash;
		if ( main.current == 'catalogue/' ) {
			document.location.reload();
		}
		return false;
	});
	
	// Change order button
	$('.order-actions-change').click( function(event) {
		event.preventDefault();
		var order_id = $(this).parents('.b-myorders').find('tbody tr.tr_click').attr('orderid');
		document.location.href = main.base + 'cabinet/order-details/?orderid=' + order_id;
	});

	
	// Click on product in catalogue
	$('.catalogue-product-detail-lnk').live('click', function(event) {
		event.preventDefault();
		if ( typeof(window.history) != 'undefined' && typeof(window.history.pushState) != 'undefined' ) {
			var curr_lnk = main.base + 'catalogue/?guid=' + $(this).attr('guid');
			window.history.pushState('', '', curr_lnk);
		}



		//document.location.href = main.base + $(this).attr('href'); 

		window.open($(this).attr('href'));
		return false;

		//link__ = $(this).attr('href')
                //link_ = main.base + link__;
		   	
		//document.location.href = main.base +"/catalogue/#"+$(this).attr('guid');


		

		//alert($(this).attr('guid'));

		/*var link_ = main.base + $(this).attr('href') + " #wrapperP";



		//alert(link_);

		var elementBlock = $(this).parent();

		$("#productWrapper").load(link_,{},function(a) {

			$("#wrapper").hide();
			$("#productWrapper").fadeIn();	

			$('.b-product-details__shover').toggle(function() {
        			$(this).nextAll().show(250);
				$(this).find('img').attr({src:'/_img/_icons/icon-arrow2.png'});
		     	  }, function() {		
		        	$(this).nextAll().hide(250);
				$(this).find('img').attr({src:'/_img/_icons/icon-arrow3.png'});
		    	});        


			/*$('.superzoom').jqzoom({  
                                zoomType: 'innerzoom'  
                        });  
			                                     
			$(".b-product-details__close").click(function() {
 				$("#productWrapper").hide();			   

				$("#wrapper").fadeIn();

				var guid = getGet('guid');
				if ( typeof(guid) != 'undefined' && guid != 'undefined' ) {
					$.scrollTo('div[productid="' + guid + '"]', 250);
				}

                                //elementBlock.stop().animate({"opacity": 1}, 250);
				elementBlock.stop().delay(400).animate({"opacity": 1}, 800, "easeInOutExpo")
				elementBlock.stop().delay(400).animate({"opacity": 0}, 800, "easeInOutExpo")

				return false;	
			});			
		});*/

	
	        //return false;
		/*  Вариант с попапом
		$("#productWrapper").load(link_,{},function(a) {
			//alert("12345");	
			//alert(a);
			//$("#wrapper").hide();
			$("#productWrapper").show();	
			                                     
			$(".b-product-details__close").click(function() {
 				$("#productWrapper").hide();			   
				return false;	
			});			
		});*/

	 });

	


//	$('.catalogue-product-detail-lnk').live('click', function(event) {
//		event.preventDefault();
//		if ( typeof(window.history) != 'undefined' && typeof(window.history.pushState) != 'undefined' ) {
//			var curr_lnk = main.base + 'catalogue/?guid=' + $(this).attr('guid');
//			window.history.pushState('', '', curr_lnk);
//		}
//		document.location.href = main.base + $(this).attr('href');
//	});

	
	// Двойной клик по объекту как клик по кнопке
	$('.dbl-click-obj').dblclick(function(event) {
		$(this).parents('.b-myorders').find('.dbl-click-btn').click();
	});
	
	// Следит за полями, которые должны начинаться с заглавной буквы
	$('.require-capitalize').change(function(event) {
		var txt = $.trim($(this).val());
		var txt_new = txt.substr(0, 1).toUpperCase() + txt.substr(1);
		$(this).val(txt_new);
	});
	
	// Check phone and format it
	$('.require-phone-format').change(function(event) {
		var txt = $.trim($(this).val());
		txt = txt.replace(/[^0-9(, )+-]/g, '');
		$(this).val(txt);
	});
	
	// Check number format
	$('.require-num-format').change(function(event) {
		var txt = $.trim($(this).val());
		txt = txt.replace(/[^0-9]/g, '');
		$(this).val(txt);
	});
	
	// Check required fields automatically
	$('form.check-required-fields').submit(function() {
		return checkRequiredFields($(this));
	});
	$('form.check-required-fields2-auto').submit(function() {
		return checkRequiredFields2($(this));
	});
	
	// Check required fields automatically - for jur
	$('form.check-required-fields-jur').submit(function() {
		var is_ok = true;
		var kpp_field = $(this).find('input.required-field-kpp');
		kpp_field.removeClass('required-alert');
		if ( $(this).find('input.required-field-inn').val().length == 10 ) {
			if ( kpp_field.val() == '' ) {
				is_ok = false;
				kpp_field.addClass('required-alert');
			}
		}
		return is_ok;
	});
	
	$('.availability_confirm-on-receipt').click( function(event) {
		var product_id = $(this).parents('.availability tr').find('input[name="product_id[]"]').val();
		$.post(
			main.base + 'confirm-on-receipt/', 
			{
				'product_id': product_id
			},
			function(data) {
				
			}
		)
	});
	
});

// Return get param
function getGet(param) {
	var GET_arr = {};
	document.location.search.replace(/\??(?:([^=]+)=([^&]*)&?)/g, function () {
		function decode(s) {
			return decodeURIComponent(s.split("+").join(" "));
		}
		GET_arr[decode(arguments[1])] = decode(arguments[2]);
	});
	return '' + GET_arr[param];
}

// Check required fields to non-empty
function checkRequiredFields(selector) {
	var is_ok = true;
	$(selector).find('.required-field').removeClass('required-alert');
	$(selector).find('.required-field').each( function(event) {
		var special = true;
		// For account
		if ( $(this).hasClass('required-field-account') && $(this).val().length != 20 ) {
			special = false;
		}
		// For bik
		if ( $(this).hasClass('required-field-bik') && $(this).val().length != 9 ) {
			special = false;
		}
		// For mail
		if ( $(this).hasClass('required-field-mail') && !$(this).val().match(/^[\w\.-]+@[\w\.-]+\.[a-z]{2,6}$/i) ) {
			special = false;
		}
		// For pass
		if ( $(this).hasClass('required-field-pass') || $(this).hasClass('required-field-pass-confirm') ) {
			var pass_val = $(this).parents('form').find('.required-field-pass').val();
			var confirm_val = $(this).parents('form').find('.required-field-pass-confirm').val();
			if ( pass_val != confirm_val ) {
				special = false;
			}
		}
		
		// For all
		if ( $(this).val() == '' || !special ) {
			is_ok = false;
			$(this).addClass('required-alert');
		}
	});
	return is_ok;
}

// Check required fields to non-empty
function checkRequiredFields2(form_selector) {
	var is_ok = true;
	
	$(form_selector).find('.field-wrp').removeClass('field-wrp-error');
	$(form_selector).find('.required-field').each( function(event) {
		var is_ok_special = true;
		// For email
		if ( $(this).hasClass('required-field-mail') && !checkEmail2($(this).val()) ) {
			is_ok_special = false;
		}
		// For pass
		if ( $(this).hasClass('required-field-pass') || $(this).hasClass('required-field-pass-confirm') ) {
			var pass_val = $(this).parents('form').find('.required-field-pass').val();
			var confirm_val = $(this).parents('form').find('.required-field-pass-confirm').val();
			if ( pass_val != confirm_val ) {
				is_ok_special = false;
			}
		}
		// For checkboxes
		if ( $(this).attr('type') == 'checkbox' && !$(this).is(':checked') ) {
			is_ok_special = false;
		}
		// For all
		if ( $(this).val() == '' || !is_ok_special ) {
			is_ok = false;
			$(this).parents('.field-wrp').addClass('field-wrp-error');
		}
	});
	
	return is_ok;
}

function checkEmail(field_selector, msg_selector) {
	var is_ok = true;
	var email = $(field_selector).val();
	if ( !email.match(/^[\w\.-]+@[\w\.-]+\.[a-z]{2,6}$/i) ) {
		var is_ok = false;
		$(field_selector).addClass('required-alert');
		$(msg_selector).removeClass('hidden');
	}
	return is_ok;
}

function checkEmail2(mail_str) {
	return mail_str.match(/^[\w\.-]+@[\w\.-]+\.[a-z]{2,6}$/i);
}

// Combine all filters to filters array
function getProductFilters() {
	var filters_hash = new Array();
	if ( document.location.hash ) {
		filters_hash = document.location.hash.substr(1).split('&');
		document.location.hash = '';
	}
	var filters_cookies = new Array();
	if ( $.cookie('p_filters') ) {
		filters_cookies = $.cookie('p_filters').split('&');
	}
	var filters_links = new Array;
	$('.leftSideMenu-filterBtn.active').each(function(index, element){
		var filter_id = $(element).attr('filterId');
		var filter_name = $(element).attr('filterName');
		filters_links.push(filter_id + '=' + filter_name);
	});
	
	var filters_arr_raw = new Array();
	
	if ( filters_hash.length > 0 ) {
		// If exist hash, use it only
		$.merge(filters_arr_raw, filters_hash);
	} else if ( filters_links.length > 0 ) {
		// If filters cheched manually, use it only
		$.merge(filters_arr_raw, filters_links);
	} else {
		// If no hash or btns, use cookies
		$.merge(filters_arr_raw, filters_cookies);
	}
	
	// Creates new array witout duplicates
	var filters_arr = new Array();
	for ( i = 0; i < filters_arr_raw.length; i++ ) {
		var el_curr = filters_arr_raw[i];
		if ( $.inArray(el_curr, filters_arr) == -1 ) {
			filters_arr.push(el_curr);
		}
	}
	
	// Remove filters
	$('.leftSideMenu-filterBtn').removeClass('active');
	$('.leftSideMenu-filterBtn').parents('li').find('.active_close').addClass('hidden');
	$('.nav_horz_f').removeClass('active');
	// Applying filters
	for ( i = 0; i < filters_arr.length; i++ ) {
		var filter = filters_arr[i].split('=');
		var active_btn = $('.leftSideMenu-filterBtn[filterid="' + filter[0] + '"]');
		$(active_btn).addClass('active');
		$(active_btn).parents('li').find('.active_close').removeClass('hidden');
		
		$('.nav_horz_f_' + filter[0]).addClass('active');
	}
	
	// Create a query string
	var filters_query_str = filters_arr.join('&');
	
	// Save in cookie
	if ( filters_query_str.indexOf('СтрокаПоиска') == -1 ) {
		$.cookie('p_filters', filters_query_str, { expires: 1 });
	} else {
		$.cookie('p_filters', null);
	}
	
	return filters_query_str;
}

// Returns items in cart
function cartCall(data_arr) {
	if ( typeof(data_arr) == 'undefined' ) {
		data_arr = '';
	}
	$.ajax({
		url: "cart-add/",
		type: "post",
		data: data_arr,
		dataType: "html",
		success: function(data) {
			var cnt_raw = parseInt(data, 10);
			var cnt = 0;
			if ( !isNaN(cnt_raw) ) {
				cnt = cnt_raw;
			}
			$('.basket-count-curr').text(cnt);
		}
	});
}

// Returns product list
function getProductList() {
	var catalogue_wrp = $('#catalogue-wrp');
	//document.product_list_filters['sort'] = document.product_list_sort;
	
	if ( catalogue_wrp.length ) {
	
		var need_to_scroll = false;
		if ( $(catalogue_wrp).html().length == 0 ) {
			need_to_scroll = true;
		}
	
		// Clear product place
		$(catalogue_wrp).html('');
	
		// Abort other same object
		if ( typeof(document.product_list_xhr) != 'undefined' && typeof(document.product_list_xhr.abort) != 'undefined' ) {
			document.product_list_xhr.abort();
		}
		// Create new object
		document.product_list_xhr = $.ajax({
			url: "get-product-list/",
			type: "post",
			data: setProductListFilters(),
			dataType: "html",
			success: function(data) {
				$(catalogue_wrp).html(data);
				// Get parametr with product id
				var guid = getGet('guid');
				if ( typeof(guid) != 'undefined' && guid != 'undefined'  ) {

					if(need_to_scroll) $.scrollTo('div[productid="' + guid + '"]', 250);				

                                     	var elementBlock = $('a[guid="'+ guid + '"]').parent();				
					
                                        elementBlock.stop().delay(400).animate({"opacity": 1}, 800, "easeInOutExpo")
					elementBlock.stop().delay(400).animate({"opacity": 0}, 800, "easeInOutExpo")


				}		


				$(".hov_2").mouseover( function() {
					$(this).stop().animate({"opacity": 1}, 250);
				});

				$(".hov_2").mouseout( function() {
					$(this).stop().animate({"opacity": 0}, 250);
				});
					

			}
		});
	}
}

// Set filters
function setProductListFilters() {
	var filters_arr = getProductFilters().split('&');
	var filters = {};
	var i;
	for ( i = 0; i < filters_arr.length; i++ ) {
		var filter = filters_arr[i].split('=');
		var filter_id = filter[0];
		var filter_name = filter[1];
		filters['filter_' + filter_id] = filter_name;
	}
	var sort = '';
	if ( typeof($.cookie) != 'undefined' && typeof($.cookie('p_f_sort')) != 'undefined' ) {
		sort = $.cookie('p_f_sort');
	} else {
		sort = $('.b-select-box').val();
	}
	filters['sort'] = sort;
	return filters;
}

// Save sort parameters
function changeSort() {
	var sort = $('.b-select-box').val();
	$.cookie('p_f_sort', sort, { expires: 1 });
}

// Get discount
function getDiscount() {
	$.ajax({
		url: "cart-get-discount/",
		type: "post",
		dataType: "json",
		success: function(data) {
			var data_discount = parseInt(data.discount, 10);
			if ( isNaN(data_discount) ) {
				data_discount = 0;
			}
			var data_discount_summ = parseInt(data.discount_summ, 10);
			if ( isNaN(data_discount_summ) ) {
				data_discount_summ = 0;
			}
			var is_discount = data.is_discount;
			
			$('.total-discount').text(data_discount);
			$('.total-discount-summ').text(data_discount_summ);
			var total_summ = 0;
			if ( is_discount ) {
				total_summ = $('.total_cost').text().replace(' ', '') - data_discount_summ;
				$('.show-when-discount').show();
				$('.show-when-discount-n').hide();
			} else {
				total_summ = $('.total_cost').text().replace(' ', '') - 0 + data_discount_summ;
				$('.show-when-discount').hide();
				$('.show-when-discount-n').show();
			}
			$('.total_cost_with_discount').text(number_format( total_summ, 0, '', ' ') );
			if ( !data.error ) {
				$('.contact_form_btn-block').show();
			} else {
				$('.contact_form_btn-block').hide();
			}
		}
	});
}

// get bank by bik
function getBankByBIK(bik, s_id, s_name, s_corr) {
	if ( typeof(bik) != 'undefined' && bik != '' ) {
		$.ajax({
			url: "get-bank-by-bik/",
			type: "post",
			data: {
				'bik': bik
			},
			dataType: "json",
			success: function(data) {
				if ( data ) {
					$(s_id).val(data.id);
					$(s_name).val(data.name);
					$(s_corr).val(data.corr_account);
				}
			}
		});
	}
}

function doCheckbox(elem) {
  if (elem.className=='boxCheckbox' && elem.parentNode.tagName.toLowerCase()=='div') {
    elem.parentNode.className='box'+(elem.checked?'Checked':'Unchecked');
  }
}

function number_format (number, decimals, dec_point, thousands_sep) {
	number = (number + '').replace(/[^0-9+\-Ee.]/g, '');
	var n = !isFinite(+number) ? 0 : +number,
		prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),
		sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep,
		dec = (typeof dec_point === 'undefined') ? '.' : dec_point,
		s = '',
		toFixedFix = function (n, prec) {
			var k = Math.pow(10, prec);
			return '' + Math.round(n * k) / k;
		};
	// Fix for IE parseFloat(0.55).toFixed(0) = 0;
	s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.');
	if (s[0].length > 3) {
		s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep);
	}
	if ((s[1] || '').length < prec) {
		s[1] = s[1] || '';
		s[1] += new Array(prec - s[1].length + 1).join('0');
	}
	return s.join(dec);
}

// For twitter
function tcFill(twitters) {
	var twit = twitters[0];
	var username = twit.user.screen_name;
	var status = twit.text.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g, function(url) {
	return '<a href="'+url+'">'+url+'</a>';
	}).replace(/\B@([_a-z0-9]+)/ig, function(reply) {
	return  reply.charAt(0)+'<a href="http://twitter.com/'+reply.substring(1)+'">'+reply.substring(1)+'</a>';
	});
	
	document.getElementById('twt_upd_text').innerHTML = status;
	document.getElementById('twt_upd_date').innerHTML = twtDateFormat(twit.created_at);
}

function twtDateFormat(time_value) {
	var values = time_value.split(" ");
	var time_day = addDaySuffix(values[2]);
	var new_time = values[1] + ", " + time_day + ", " + values[5];
	return new_time;
}

function addDaySuffix(day) {
	var time_day = parseInt(day, 10);
	var time_day_mod = time_day % 10;
	if ( time_day >= 11 && time_day <= 13 ) {
		time_day += 'th';
	} else if ( time_day_mod == 1 ) {
		time_day += 'st';
	} else if( time_day_mod == 2 ) {
		time_day += 'nd';
	} else if( time_day_mod == 3 ) {
		time_day += 'rd';
	} else {
		time_day += 'th';
	}
	return time_day;
}

// For facebook
function fbFill() {
	$.getJSON('https://graph.facebook.com/canoe.ru/feed?date_format=d-F-Y,H-i&limit=1&access_token=AAACEdEose0cBAPPumJdOrYqXOfsq4uRAUDZBsGZAgPpEdkWFyRDkBaKCMY4DM1GcZCsr0927mjCxg7jRZCpEaaz44642bVZAlRArNmMOjTAZDZD', function(data) {
		if ( data && data.data && data.data.length > 0 ) {
			var lst_msg_obj = data.data[0];
			var msg = lst_msg_obj.message;
			
			var full_date_arr = lst_msg_obj.updated_time.split(',');
			var date_arr = full_date_arr[0].split('-');
			var time_arr = full_date_arr[1].split('-');
			var date_str = date_arr[1] + ', ' + addDaySuffix(date_arr[0]) + ', ' + date_arr[2];
			
			$('.fb_upd_date').text(date_str);
			$('.fb_upd_txt').text(msg);
		}
	});
}

// Counts a rating for product
function countRating() {
	var rating = {
		'val': false,
		'rating_summ': 0,
		'ratings_count': 0
	}
	$('.review .b-star-rating .current-rating').each( function(index, el) {
		var r = parseInt($(el).attr('p_rating'), 10);
		if ( r > 0 && r <= 100 ) {
			rating.rating_summ = rating.rating_summ - 0 + r;
			rating.ratings_count++;
		}
	});
	if ( rating.ratings_count > 0 ) {
		var rating_floated = rating.rating_summ / (rating.ratings_count * 20);
		var r = Math.round(rating_floated) * 20;
		rating.val = r;
		$('.b-product-details__b-rating .current-rating').width(rating.val + '%');
	}
}

