/**
 * @requires js/modules/loading.js
 * @requires js/modules/message.js
 * @requires js/libs/jQuery/plugins/jquery.blink.js
 */

if (typeof(m) == "undefined" || !m) {
	var m = {};
}

(function($) {
	m.basket = {
		add : function(productId, checkSize) {
			var data = {id : productId};

			if (checkSize) {
				var size = __getProductSize();

				if (size === false) {
					return false;
				}

				data.size = size;
			}

			m.loading.show();
			$.post('/basket/add/', data, __addResult, 'json');
		}
	}

	function __getProductSize()
	{
		var formEl = $('#product_size');
		var arr = formEl.serializeArray();
		var name = $('.quantity-property', formEl).text();
		name = name.substr(0, (name.length - 1));

		if (arr.length == 0) {
			alert('Выберите "' + name + '"!');
			__flashSizeForm();
			return false;
		} else {
			return arr[0].value;
		}
	}

	function __flashSizeForm()
	{
		var className = 'bg';
		var el = $('#product_size ul');

		var interval = setInterval(function() {el.toggleClass(className);}, 500);

		setTimeout(function() {
			clearInterval(interval);
			el.removeClass(className);
		}, 2500);
	}

	function __addResult(data)
	{
		m.loading.hide();
		$('#basket').get(0).innerHTML = data.basket_html;

		if (data.result) {
			$('#basket h5').blink();
		}

		m.message.show(data.message);
	}
}) (jQuery);

