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;	
var cont = false;
var action = false;
function addToBasketOrder(productId)	
{
	addToBasket(productId, true);
}


function addToBasket(productId, order, cont_t, action_t)
{
	cont = cont_t;
	action = action_t;
	if (order === true) 
	{
		flyorder = true;
		shopping_cart_div = document.getElementById('order_table');
	}
	else
	{
		flyorder = false;
		shopping_cart_div = document.getElementById('basket');
	}
	
	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 (cont === true || action === true) currentProductDiv = document.getElementById('const_box');
	else
	{
		if (order === true) currentProductDiv = document.getElementById('good_o_' + 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';
	
	if (cont === true || action === true) 
	{
		flyingDiv.style.background = '#fff';
		flyingSpeed = 18;
	}
	
	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 (cont === true || action === true) var num = $('#good_big_num').val();	
		else
		{
			if (flyorder === true) var num = $('#good_num_o_' + productId).val();		
			else var num = $('#good_num_' + productId).val();
		}
	
		if (cont === true)
		{
			var good_id1 =  $('#good_select_box_1 .good_id_value').val();
			var good_id2 =  $('#good_select_box_2 .good_id_value').val();
			var name  = $('#const_desc1').text() + $('#const_desc2').text();
			
			$.ajax({
				url: '/webAjax/goods/addToConstBasket/?tmpl=basket.html&name=' + escape(encodeURIComponent(name)) + '&good_id1=' + good_id1 + '&good_id2=' + good_id2 + '&good_nums=' + num,
				success: function(data)
				{
					$('#basket').html(data);
					clearConst();				
				}			
			});		
		}
		else if (action === true)
		{
			var good_id1 =  $('#good_select_box_1 .good_id_value').val();
			var good_id2 =  $('#good_select_box_2 .good_id_value').val();
			var good_id3 =  $('#good_select_box_3 .good_id_value').val();

			var name  = $('#const_desc1').text() + $('#const_desc2').text() + $('#const_desc3').text();
			
			$.ajax({
				url: '/webAjax/goods/addToActionBasket/?tmpl=basket.html&name=' + escape(encodeURIComponent(name)) + '&good_id1=' + good_id1 + '&good_id2=' + good_id2 + '&good_id3=' + good_id3 + '&good_nums=' + num,
				success: function(data)
				{
					$('#basket').html(data);
					clearConst(true);				
				}			
			});			
		
		}
		else
		{	
			$.ajax({
				url: '/webAjax/goods/addToBasket/?good_id=' + productId + '&tmpl=basket.html&good_nums=' + num,
				success: function(data)
				{
					$('#basket').html(data);
					
					if (flyorder === true) 
					{				
						$.ajax({ 
							url: '/webAjax/goods/getBasket/?tmpl=order_basket.html', 
							success: function(data)
							{
								$('#order_table').html(data);
							}
						})
					}				
				}			
			});
		}


	}
}

