var animSpeed = 500;
var debug = true;

var showOk = function(xml)
{
	var errorcode = jQuery('errorcode',xml).text();
	if(errorcode == '0')
	{
		var count = jQuery('count',xml).text();
		var jqPopup = $('#popup');
		
		$('#cart_count').html(count);
		jqPopup.fadeIn(animSpeed);
	} 
	else if(debug)
	{
		var errormessage = jQuery('errormessage',xml).text();
		alert(errormessage);
	}
}

function addToCart(event)
{
	var elem, tagName, type, jqTmp;
	var jqPopup = $('#popup'), gid = this.form.gid.value*1, count = this.form.count.value*1;	
	jqPopup.hide();
	
	jqPopup.css('top',event.pageY - jqPopup.height()/2);
	jqPopup.css('left',event.pageX - jqPopup.width()/2);	
	
	data = 'gid='+gid+'&count='+count;
	
	var jqParams = $('.inp_param');
	
	for(var i=0,len=jqParams.length; i < len; i++)
	{
		elem = jqParams[i];
		tagName = elem.tagName.toLowerCase();
		if(tagName == 'select')
		{
			jqTmp = $(elem.options[elem.selectedIndex]);
			data += '&'+elem.name + '[0]='+jqTmp.val();
			data += '&'+elem.name + '[1]='+jqTmp.attr('price');
		}
		else if(tagName == 'input')
		{
			type = elem.type.toLowerCase();
			
			switch(type)
			{
				case 'radio':
					if(elem.checked)
					{
						jqTmp = $(elem);
						data += '&'+elem.name + '[0]='+jqTmp.val();
						data += '&'+elem.name + '[1]='+jqTmp.attr('price');
					}
				break;
			}
		}
	}
	
	$.ajax({
		url : 'ajax/cart.php',
		data : data,
		dataType : 'xml',
		type : 'POST',
		error : function() { alert('Îøèáêà.'); },
		success : showOk
	});
	
	if(event)
	{
		event.cancelBubble = true;
		event.returnValue = false;
	}
	
	return false;
}

function close(id)
{
	$('#'+id).fadeOut(animSpeed);
}

function onload()
{
	$('.zakaz').click(addToCart);
}

function preparePrice()
{
	$('.inp_param').change(recalcPrice);
	recalcPrice();
}

function recalcPrice()
{
	var jqPriceSum, jqPriceDef, price_def, price_sum, delta, elem, tagName, type;
	
	jqPriceSum = $('#price_sum');
	jqPriceDef = $('#price_def');
	
	if(jqPriceSum && jqPriceDef)
	{
		price_def = jqPriceDef.val()*1;
		price_sum = price_def;
		
		var jqParams = $('.inp_param');
		for(var i=0,len=jqParams.length; i < len; i++)
		{
			delta = 0;
			elem = jqParams[i];
			tagName = elem.tagName.toLowerCase();
			if(tagName == 'select')
			{
				delta = $(elem.options[elem.selectedIndex]).attr('price')*1;
			}
			else if(tagName == 'input')
			{
				type = elem.type;
				switch(type)
				{
					case 'radio':
						delta = (elem.checked) ? $(elem).attr('price')*1 : 0;
					break;
				}
			}
			
			price_sum += delta;
		}
		
		jqPriceSum.html(price_sum + 'ð.');
	}
}

