var flyingSpeed = 25;

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 addToBasket(productId)
{
	if(!shopping_cart_div)shopping_cart_div = document.getElementById('shoppingCart');
	if(!flyingDiv){
		flyingDiv = document.createElement('DIV');
		flyingDiv.style.position = 'absolute';
		document.body.appendChild(flyingDiv);
	}

	shopping_cart_x = shoppingCart_getLeftPos(shopping_cart_div);
	shopping_cart_y = shoppingCart_getTopPos(shopping_cart_div);

	currentProductDiv = document.getElementById('productItem_' + 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
	{
	    //ajaxAddProduct(productId);
	    //alert('hoi');
	    //return true;
	}
}

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;
}

function showCart()
{
    if (document.getElementById('shoppingCart').style.display == 'none')
    {
        Effect.SlideDown('shoppingCart');
    }
}

function productTabs(tab)
{
    document.getElementById('tab1div').style.display = 'none';
    document.getElementById('tab1').className = '';
    document.getElementById('tab2div').style.display = 'none';
    document.getElementById('tab2').className = '';
    document.getElementById('tab3div').style.display = 'none';
    document.getElementById('tab3').className = '';
    document.getElementById('tab4div').style.display = 'none';
    document.getElementById('tab4').className = '';
    document.getElementById('tab5div').style.display = 'none';
    document.getElementById('tab5').className = '';
    document.getElementById('tab6div').style.display = 'none';
    document.getElementById('tab6').className = '';
    document.getElementById(tab + 'div').style.display = 'block';
    document.getElementById(tab).className = 'menuSelected';

    return false;
}

function profileTabs(tab)
{
    document.getElementById('tab_1div').style.display = 'none';
    document.getElementById('tab_1').className = '';
    document.getElementById('tab_2div').style.display = 'none';
    document.getElementById('tab_2').className = '';
    document.getElementById('tab_3div').style.display = 'none';
    document.getElementById('tab_3').className = '';
    document.getElementById('tab_4div').style.display = 'none';
    document.getElementById('tab_4').className = '';
    document.getElementById('tab_5div').style.display = 'none';
    document.getElementById('tab_5').className = '';

    document.getElementById(tab + 'div').style.display = 'block';
    document.getElementById(tab).className = 'menuSelected';

    return false;
}

function openDiv(id)
{
    obj_div = document.getElementById(id);
    obj_url = document.getElementById('spec_url');

    if (obj_div.style.display == 'none')
    {
        obj_div.style.display = 'block';
        obj_url.innerHTML = 'brief specification';
    }
    else
    {
        obj_div.style.display = 'none';
        obj_url.innerHTML = 'comprehensive specification';
    }

    return false;
}

function openCommentDiv(id)
{
    obj_div = document.getElementById(id);
    obj_url = document.getElementById('comment_url');

    if (obj_div.style.display == 'none')
    {
        obj_div.style.display = 'block';
        obj_url.innerHTML = 'Brief list';
    }
    else
    {
        obj_div.style.display = 'none';
        obj_url.innerHTML = 'All responses';
    }

    return false;
}

var recent_opened_div = '';

function openNormalDiv(id)
{
    obj_div = document.getElementById(id);

    if (recent_opened_div != '' && recent_opened_div != id)
    {
        tmp = document.getElementById(recent_opened_div);
        if (tmp.style.display == 'block')
        {
            tmp.style.display = 'none'
        }
    }

    if (obj_div.style.display == 'none')
    {
        obj_div.style.display = 'block';
        recent_opened_div = id;
    }
    else
    {
        obj_div.style.display = 'none';
        recent_opened_div = '';
    }

    return false;
}

function checkShipping()
{
    obj_shipping = document.getElementsByName('shipping');
    if (obj_shipping.length > 0)
    {
        for (i=0; i<obj_shipping.length; i++)
        {
            if (obj_shipping[i].checked == true)
            {
                return true;
            }
        }
        alert('You have not selected a delivery method.');
        return false;
    }
    else
    {
        return true;
    }
}

function confirm_action(msg)
{
    if (confirm(msg))
    {
        return true;
    }
    else
    {
        return false;
    }
}

function kanNietBesteldWorden()
{
    alert('You have selected a product which is expected but cannot be ordered yet.');
}

function checkConditions()
{
    cond = document.getElementById('alg_voorwaarden');

    if (cond.checked == true)
    {
        return true;
    }
    else
    {
        alert('You need to agree to our general terms & conditions before you may continue with your order.');
        return false;
    }
}

function noProducts()
{
    alert('Your shopping cart is empty...');
    return false;
}

function requestNewPassword()
{
    obj_name = document.getElementById('username1');
    obj_email = document.getElementById('email1');
    obj_pwd = document.getElementById('password1');
    obj_pwd2 = document.getElementById('password2');

    if (obj_name.value == '' && obj_email.value == '')
    {
        alert('A username or e-mail address is missing..');
        obj_name.focus();
        return false;
    }

    if (obj_pwd.value == '')
    {
        alert('A new password is missing...');
        obj_pwd.focus();
        return false;
    }

    if (obj_pwd2.value == '')
    {
        alert('Please re-enter your password for verification purposes...');
        obj_pwd2.focus();
        return false;
    }

    if (obj_pwd.value != obj_pwd2.value)
    {
        alert('The passwords supplied do not match...');
        obj_pwd2.focus();
        return false;
    }
    return true;
}