/************************************************************************************************************
(C) www.dhtmlgoodies.com, March 2006

This is a script from www.dhtmlgoodies.com. You will find this and a lot of other scripts at our website.	

Terms of use:
You are free to use this script as long as the copyright message is kept intact. However, you may not
redistribute, sell or repost it without our permission.

Version:
	1.0	Released	March. 3rd 2006

Thank you!

www.dhtmlgoodies.com
Alf Magne Kalleland

************************************************************************************************************/

var flyingSpeed = 25;
var url_addProductToBasket = 'addToBasket.aspx';

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;

var ajax = new sack();

function getTop(obj) {
  var returnValue = obj.offsetTop;
  while((obj = obj.offsetParent) != null)if(obj.tagName!='HTML')returnValue += obj.offsetTop;
  return returnValue;
}

function getLeft(obj){
  var returnValue = obj.offsetLeft;
  while((obj = obj.offsetParent) != null)if(obj.tagName!='HTML') returnValue += obj.offsetLeft;
  return returnValue;
}	

function addToBasket(productId,catRef,tbQuantity,photo,kw)
{
	if(!shopping_cart_div)shopping_cart_div = document.getElementById('shopping_cart');
	if(!flyingDiv){
		flyingDiv = document.createElement('DIV');
		flyingDiv.style.position = 'absolute';
		document.body.appendChild(flyingDiv);
	}
	
	shopping_cart_x = getLeft(shopping_cart_div);
	shopping_cart_y = getTop(shopping_cart_div);

	currentProductDiv = document.getElementById(productId);
	
	currentXPos = getLeft(document.getElementById(productId.replace('flyX','base')));
	currentYPos = getTop(document.getElementById(productId.replace('flyX','base')));
	
	diffX = shopping_cart_x - currentXPos;
	diffY = shopping_cart_y - currentYPos;
	
	var shoppingContentCopy = currentProductDiv.cloneNode(true);
	shoppingContentCopy.id='';	
	shoppingContentCopy.style.display='';	
	flyingDiv.innerHTML = '';
	flyingDiv.style.left = currentXPos + 'px';
	flyingDiv.style.top = currentYPos + 'px';
	flyingDiv.appendChild(shoppingContentCopy);
	flyingDiv.innerHTML = flyingDiv.innerHTML.replace(' style="DISPLAY: none"', '','i');    // IE
	flyingDiv.innerHTML = flyingDiv.innerHTML.replace(' style="DISPLAY: none;"', '','i');   // Firefox
	flyingDiv.innerHTML = flyingDiv.innerHTML.replace(' style="display:none"', '','i');     // Safari
	flyingDiv.style.display='block';
	flyingDiv.style.width = currentProductDiv.offsetWidth + 'px';
	flyToBasket(productId,catRef,tbQuantity,photo,kw);	
}


function flyToBasket(productId,catRef,tbQuantity,photo,kw)
{
	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 + '","' + catRef + '","' + tbQuantity + '","' + photo + '","' + kw + '")',10); else ajaxAddProduct(productId,catRef,tbQuantity,photo,kw);
}

/////////////////////////////////////////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

var basketMinHeight = 29
var yOffset = basketMinHeight
var basketMaxHeight = 260
var keepOpen = false

function dropTheBasket(direction, andUp)
{
    if(!shopping_cart_div)shopping_cart_div = document.getElementById('shopping_cart');
    if(shopping_cart_div.innerText==' My Basket: 0 items') return false;

    if (keepOpen == false) 
        yOffset += (direction * 10)	
    else 
        yOffset = basketMaxHeight
    
    if (yOffset < basketMinHeight) yOffset=basketMinHeight;
    document.getElementById("downBasket").style.height = yOffset + 'px';	
    
	if (direction > 0) {
	    if (yOffset < basketMaxHeight) 
	        setTimeout('dropTheBasket(1,' + andUp + ')',30); 	        
        else if (andUp==true) setTimeout('dropTheBasket(-1)',1500);
    } else {
        if (keepOpen == false)
	        if (yOffset > basketMinHeight) 
	            setTimeout('dropTheBasket(-1)',30);
    } 
}

function dropBasket() {    
    if (document.getElementById("downBasket").style.height == '' || parseInt(document.getElementById("downBasket").style.height) == 0) {
        yOffset = basketMinHeight;
        dropTheBasket(1, false);
    }
}

function hideBasket() {
    yOffset = basketMaxHeight;
    dropTheBasket(-1,false);
}

function ClosePanes(obj) {
    var acc = $find(obj+'_AccordionExtender');
    acc.set_SelectedIndex(-1);
}
    
//\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\/////////////////////////////////////////////////////////////////////////

function ajaxAddProduct(productId,catRef,tbQuantity,photo,kw)
{
    qty = document.getElementById(tbQuantity).value;
    
    //basket = document.getElementById("downBasket").innerHTML;
    //basket += '<table><tr><td width=100><img src="netalogue/thumbs/badge.png" /></td><td>' + catRef + ' X ' + qty + '</td></tr></table>';
    document.getElementById("downBasketHTML").innerHTML = '<table><tr><td width=150><img src="' + photo + '" width=100 /></td><td style="color:black;width:80px" valign="top"><br/>' + catRef + '<br/><br/><br/><br/>Qty = ' + qty + '</td></tr></table>';

	ajax = new sack();
	ajax.requestFile = url_addProductToBasket;	
	ajax.setVar('CatRef',catRef);
	ajax.setVar('Quantity',qty);
	ajax.setVar('ProductID',productId);
	ajax.setVar('KW',kw);
	ajax.onCompletion = whenCompleted;
	ajax.runAJAX();
}

function whenCompleted(){
    var response = ajax.response.split(',');
    var productID = response[0];
    var quantity = response[1];
    var itemCount = response[2];
    var basketTotal = response[3];

    //document.getElementById("ctl00_ContentPlaceHolder1_rptProducts_ctl" + productID + "_lblAddedToBasket").innerHTML = '<a href="viewitems.aspx" class="inBasket">' + quantity + ' in basket</a>'

    if (itemCount=='1')
        document.getElementById("ctl00_lblBasket").innerHTML = '1 item'
    else
        document.getElementById("ctl00_lblBasket").innerHTML = itemCount + ' items'
    document.getElementById("ctl00_lblBasketFooter").innerHTML = document.getElementById("ctl00_lblBasket").innerHTML

    document.getElementById("ctl00_lblSubtotal").innerHTML = basketTotal

	dropTheBasket(1,true);
}