//var console = console || {log:null};

$(document).ready( function(){
	$('.item p .price').each(function(){
		$(this).parent('p').css('visibility', 'hidden');
	});
});


var SHOP = {};

SHOP.tableBeginString = '';
SHOP.tableBeginString += '<table width="100%" border="0" cellspacing="0" cellpadding="0">\n';
SHOP.tableBeginString += '<thead>\n';
SHOP.tableBeginString += '<tr>\n';
SHOP.tableBeginString += '<td>Название</td>\n';
SHOP.tableBeginString += '<td width="24">К-во</td>\n';
SHOP.tableBeginString += '<td width="34">&nbsp;</td>\n';
SHOP.tableBeginString += '<td width="8">&nbsp;</td>\n';
SHOP.tableBeginString += '</tr>\n';
SHOP.tableBeginString += '</thead>\n';
SHOP.tableBeginString += '<tbody>\n';

SHOP.tableEnd1String = '';
SHOP.tableEnd1String += '</tbody>\n';
SHOP.tableEnd1String += '<tfoot>\n';
SHOP.tableEnd1String += '<tr class="total">\n';
SHOP.tableEnd1String += '<td colspan="3">&nbsp;'

SHOP.tableEnd2String = '';
SHOP.tableEnd2String += '</td>\n';
SHOP.tableEnd2String += '<td>&nbsp;</td>\n';
SHOP.tableEnd2String += '</tr>\n';
SHOP.tableEnd2String += '</tfoot>\n';
SHOP.tableEnd2String += '</table>\n';
	

$(document).ready(init);

function init(){
	fixmail();
	SHOP.carttable = $('#carttable');
	
	if (SHOP.carttable.length<1) return false;
	SHOP.cart = SHOP.cart || getCartCookie();
	initCart();
	initAddButtons();
	initDelAllButton();
	initRecalculateButton();
	initOrder();
}

function fixmail(){
	$('a[href^="mailto:"]').each(function(){
		var a = $(this);
		a.attr('href',a.attr('href').replace(/\[at\]/, "@").replace(/\[dot\]/g, "."));
		a.html(a.html().replace(/\[at\]/, "@").replace(/\[dot\]/g, "."));
	})
}

function isEmpty(o) {
	for (var i in o) return false;
	return true;
}

function getCartCookie(){
	//console.log($.cookie('cart'));
	//alert($.cookie('cart'));
	/*{id:num}*/
	if($.cookie('cart') == null) return {};
	var prodIds = eval($.cookie('cart'));
	if(isEmpty(prodIds)) return {};
	var tempCart = {};
	for(var i in prodIds[0]){
		tempCart[i] = [];
		tempCart[i][0] = SHOP.products[i][0];
		tempCart[i][1] = SHOP.products[i][1];
		tempCart[i][2] = prodIds[0][i];
	}
	return tempCart;
}

function setCartCookie(){
	//console.log(SHOP.cart);
	if (isEmpty(SHOP.cart)) {
		$.cookie('cart',null);
		return true;
	}
	var prodIds = [];
	for(var i in SHOP.cart){
		prodIds.push(''+i+':'+SHOP.cart[i][2])
	}
	$.cookie('cart','[{' + prodIds.join(',') + '}]');
	//alert($.cookie('cart'));
	return true;
}

function initCart(){
	//console.log(isEmpty(SHOP.cart));
	//console.log(SHOP.cart,'\n',SHOP.products);
	if (isEmpty(SHOP.cart)) {
		SHOP.carttable.html('<p>Ваша корзина пуста</p>');
		$('#cartbtns').hide();
		return true;
	}
	
	$('#cartbtns').show();
	var sum = 0;
	var str = SHOP.tableBeginString;
	for (var i in SHOP.cart){
		//console.log(i, SHOP.cart[i]);
		var cost = SHOP.cart[i][1]*SHOP.cart[i][2];
		sum += cost;
		
		str += '<tr>\n';
		str += '<td>';
		str += SHOP.cart[i][0];
		str += '</td>';
		str += '<td><input id="qty';
		str += i;
		str += '" type="text" value="';
		str += SHOP.cart[i][2];
		str += '"></td>\n';
		
		str += '<td class="sum">';
		str += '&nbsp;';
		str += '</td>\n';

		str += '<td title="Удалить товар из корзины" class="del" id="del'
		str += i;
		str += '">&times;</td>\n';
		
		str += '</tr>\n';
	}
	str += SHOP.tableEnd1String;
	str += '&nbsp;';
	str += SHOP.tableEnd2String;
	
	SHOP.str = str;
	SHOP.carttable.html(str);
	
	bindQtyChange();
	initDelButtons();
	
	setCartCookie();
}


function initAddButtons(){
	$('a.addtocart, #product a.itempic').click(function(){
		var prodId = $(this).attr('href').substring(1);
		//console.log(SHOP.products[prodId],SHOP.cart[prodId]);
		if (typeof(SHOP.cart[prodId])!='undefined') {
			//console.log(SHOP.cart[prodId][0].length);
			var increment = SHOP.products[prodId][2];
			SHOP.cart[prodId][2] += increment;
		} else {
			SHOP.cart[prodId] = {};
			for (var i in SHOP.products[prodId]) {
				SHOP.cart[prodId][i] = SHOP.products[prodId][i];
			}
		}
		setCartCookie();
		initCart();
		return false;
	})
}

function initRecalculateButton(){
	$('a.recalc').click(function(){
		for (var i in SHOP.cart){
			SHOP.cart[i][2] = $('#qty'+i).val()*1;
			if(SHOP.cart[i][2] == 0){delete SHOP.cart[i];}
		}
		setCartCookie();
		initCart();
		return false;
	})	
}


function bindQtyChange() {
	SHOP.carttable.find('input').change(function(){
		var prodId = $(this).attr('id').substring(3);
		SHOP.cart[prodId][2] = $(this).val()*1;
		if(SHOP.cart[prodId][2] == 0){delete SHOP.cart[prodId];}
		setCartCookie();
		initCart();
	});
}

function initDelAllButton(){
	$('a.delall').click(function(){
		delete SHOP.cart;
		SHOP.cart = {};
		setCartCookie();
		initCart();
		return false;
	})	
}
function initDelButtons(){
	$('td.del').click(function(){
		var prodId = $(this).attr('id').substring(3);
		delete SHOP.cart[prodId]
		setCartCookie();
		initCart();
		return false;
	})	
}


function initOrder(){
	$('a.confirm').click(function(){
		var str = '\n';
		str += '<h3>Заказ</h3>\n';
		str += SHOP.str.replace(/<input id="qty/ig, " (").replace(/" type="text" value="/ig, ") ").replace(/\"><\/td>/ig, "</td>");
		str += '<h3>Контактная информация</h3>\n'
		str += '<p>Имя: ';
		str += $('#username').val();
		str += '<br>\n';
		str += 'Телефон: ';
		str += $('#userphone').val();
		str += '<br>\n';
		str += 'E-mail: ';
		str += $('#useremail').val();
		str += '<br>\n';
		str += 'Адрес: ';
		str += $('#useradress').val();
		str += '<br>\n';
		str += 'Комментарии: ';
		str += $('#usercomment').val();
		str += '</p>';

		delete SHOP.cart;
		SHOP.cart = {};
		setCartCookie();
		
		$('#orderinfo').val(str);
		$('#OrderForm').submit();

		return false;
		
	})
}

function financeRound(sum){
	return Math.round(sum*100)/100
}
