if (typeof console == 'undefined') {
    console = { log: function(msg) { } };
}


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">Цена, грн.</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;&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();
	initChangeInfo();
	
	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, {path: '/'});
		return true;
	}
	var prodIds = [];
	for(var i in SHOP.cart){
		prodIds.push(''+i+':'+SHOP.cart[i][2])
	}
	$.cookie('cart','[{' + prodIds.join(',') + '}]', {path: '/'});
	//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 align="center">Ваша корзина пуста</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 class="cartprodname">';
		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 += financeRound(cost);
		str += '</td>\n';

		str += '<td title="Удалить товар из корзины" class="del" id="del'
		str += i;
		str += '">&times;</td>\n';
		
		str += '</tr>\n';
	}
	str += SHOP.tableEnd1String;
	str += financeRound(sum);
	str += SHOP.tableEnd2String;
	
	SHOP.str = str;
	SHOP.carttable.html(str);
	
	bindQtyChange();
	initDelButtons();
	
	setCartCookie();
}


function initAddButtons(){
	$('a.tocart, #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(){
	$('#OrderAddForm').submit(function(){
		
		var cartJsonString = cartToJsonString();
		
		$('#OrderData').val(cartJsonString);
		
		delete SHOP.cart;
		SHOP.cart = {};
		setCartCookie();
		
		

		return true;
	})
}

function financeRound(sum){
	return Math.round(sum*100)/100
}

function cartToJsonString(){
	var cartArr = [];
	var cartIndex = 0;
	for(var prodId in SHOP.cart){
		cartArr[cartIndex++] = '"' + prodId + '":"' + SHOP.cart[prodId][2] + '"';
	}
	var cartJsonString = '[{' + cartArr.join(',') + '}]';
	return cartJsonString;
}

function initChangeInfo() {
	
	$('#reginfo a, #continfo a, #addresses a').click(function(){
		var $this = $(this);
		var $thisField = $this.parent('td').prev('td');
		//console.log($thisField);
		var deftext = $thisField.html();
		var newtext = prompt("Введите новое значение", deftext)||deftext;
		var data = {'parameter':$this.attr('href').substring(1),'value':newtext}
		if(newtext!=deftext){
			$.post(
				WEBROOT+'customers/edit',
				data
			);
			$thisField.html(newtext);
		}
		return false;
	})	
}

function writeMail (login, serv, subj, addons)
{
if (!subj) subj='З сайту www.stm-plus.com';
var string='<nobr><a href="mailto:'+login+'@'+serv+'?subject='+subj+'" '+addons+'>'+login+'@'+serv+'</a></nobr>';
document.write (string);
}