var flyingSpeed = 15;

var shopping_cart_div = false;
var flyingDiv = false;
var currentProductDiv = false;

var shopping_cart_x = false;
var shopping_cart_y = false;

var slide_xFactor = false;
var slide_yFactor = false;

var diffX = false;
var diffY = false;

var currentXPos = false;
var currentYPos = false;

function shoppingCart_getTopPos(inputObj)
{		
  var returnValue = inputObj.offsetTop;
  while((inputObj = inputObj.offsetParent) != null){
  	if(inputObj.tagName!='HTML')returnValue += inputObj.offsetTop;
  }
  return returnValue;
}

function shoppingCart_getLeftPos(inputObj)
{
  var returnValue = inputObj.offsetLeft;
  while((inputObj = inputObj.offsetParent) != null){
  	if(inputObj.tagName!='HTML')returnValue += inputObj.offsetLeft;
  }
  return returnValue;
}

flyorder = false;	
bigorder = false;	
function addToBasketOrder(productId)	
{
	addToBasket(productId, true);
}

function addToBasket(productId, order, big)
{
	if (order === true) 
	{
		flyorder = true;
		shopping_cart_div = document.getElementById('order_table');
	}
	else
	{
		flyorder = false;
		shopping_cart_div = document.getElementById('basket');
	}

	if (big === true) bigorder = true;
	else bigorder = false;
	
	if(!flyingDiv)
	{
		flyingDiv = document.createElement('DIV');
		flyingDiv.style.position = 'absolute';
		flyingDiv.style.zIndex = '100000';		
		document.body.appendChild(flyingDiv);
	}
	
	shopping_cart_x = shoppingCart_getLeftPos(shopping_cart_div);
	shopping_cart_y = shoppingCart_getTopPos(shopping_cart_div);

	if (order === true) currentProductDiv = document.getElementById('good_o_' + productId);
	else 
	{
		if (big === true) currentProductDiv = document.getElementById('good_bigimg_' + productId);
		else currentProductDiv = document.getElementById('good_' + productId);
	}
	
	currentXPos = shoppingCart_getLeftPos(currentProductDiv);
	currentYPos = shoppingCart_getTopPos(currentProductDiv);
	
	diffX = shopping_cart_x - currentXPos;
	diffY = shopping_cart_y - currentYPos;
	

	var shoppingContentCopy = currentProductDiv.cloneNode(true);
	shoppingContentCopy.id='';
	flyingDiv.innerHTML = '';
	flyingDiv.style.left = currentXPos + 'px';
	flyingDiv.style.top = currentYPos + 'px';
	flyingDiv.appendChild(shoppingContentCopy);
	flyingDiv.style.display='block';
	flyingDiv.style.width = currentProductDiv.offsetWidth + 'px';
	
	flyToBasket(productId);
	
}


function flyToBasket(productId)
{
	var maxDiff = Math.max(Math.abs(diffX),Math.abs(diffY));
	var moveX = (diffX / maxDiff) * flyingSpeed;;
	var moveY = (diffY / maxDiff) * flyingSpeed;	
	
	currentXPos = currentXPos + moveX;
	currentYPos = currentYPos + moveY;
	
	flyingDiv.style.left = Math.round(currentXPos) + 'px';
	flyingDiv.style.top = Math.round(currentYPos) + 'px';	
	
	if(moveX>0 && currentXPos > shopping_cart_x) flyingDiv.style.display='none';		
	if(moveX<0 && currentXPos < shopping_cart_x) flyingDiv.style.display='none';		
		
	if(flyingDiv.style.display=='block') setTimeout('flyToBasket("' + productId + '")',10); 
	else 
	{
		
		if (flyorder === true) var num = $('#good_num_o_' + productId).val();	
		else if (bigorder === true)	 var num = $('#good_big_num_' + productId).val();
		else var num = $('#good_num_' + productId).val();
	
		
	
		// check ins
		if (bigorder === true)
		{
			var ins = '';
			var in_names = $('#item_in_big_' + productId + ' .in_name');
			var in_prices = $('#item_in_big_' + productId + ' .in_price');
			var in_counts = $('#item_in_big_' + productId + ' .in_count');
			var in_ids = $('#item_in_big_' + productId + ' .in_id');				
			if (in_names.size() != 0)
			{
				in_names.each(function(i,s)
				{
					var name = $(s).text();
					var price = $(in_prices.get(i)).text();
					var count = $(in_counts.get(i)).text();
					var id = $(in_ids.get(i)).text();
	
					ins += name + ',' + price + ',' + count + ',' + id + ';';
				});
			}
		
		}
		else
		{
			var ins = '';
			var in_names = $('#item_in_' + productId + ' .in_name');
			var in_prices = $('#item_in_' + productId + ' .in_price');
			var in_counts = $('#item_in_' + productId + ' .in_count');
			var in_ids = $('#item_in_' + productId + ' .in_id');				
			if (in_names.size() != 0)
			{
				in_names.each(function(i,s)
				{
					var name = $(s).text();
					var price = $(in_prices.get(i)).text();
					var count = $(in_counts.get(i)).text();
					var id = $(in_ids.get(i)).text();
	
					ins += name + ',' + price + ',' + count + ',' + id + ';';
				});
			}
		}
		
		$.ajax({
			url: '/webAjax/goods/addToBasket/?good_id=' + productId + '&tmpl=basket.html&good_nums=' + num + '&ins=' + escape(encodeURIComponent(ins)),
			success: function(data)
			{
				$('#basket').html(data);
				
				if (bigorder === true) $.modalClose();
				
				if (flyorder === true) 
				{				
					$.ajax({ 
						url: '/webAjax/goods/getBasket/?tmpl=order_basket.html', 
						success: function(data)
						{
							$('#order_table').html(data);
						}
					})
				}				
			}			
		});
		


	}
}

