
var cart_id = 'cartPanel';
var cart_mode = '';

function set_id(id){
    cart_id = id;
}

function req_cart(display,mode,itemid,quantity,serial,title,artistid,artisttitle,artdisppro,kbps,price,stock,relid,trackid,ta)
{
	if(inproc)
    {
		//displayMSG(cart_id, '', '<img src="/images/common/busy_cart.gif" width="15" height="15" border="0" alt="loading your shopping cart" />Loading shopping cart...', '');
        setTimeout("req_cart('"+display+"','"+mode+"',"+itemid+","+quantity+",'"+serial+"','"+title+"',"+artistid+",'"+artisttitle+"',"+kbps+","+price+","+stock+", "+relid+","+trackid+",'"+ta+"')",1000);
	}
	else
    {
    	if (mode == 'add' || mode == 'update' || mode == 'remove' || mode == 'clear')
    	{
        	if(document.getElementById('mini_cart_busy'))document.getElementById('mini_cart_busy').style.display = 'block';
        	if(document.getElementById('mini_cart_head'))document.getElementById('mini_cart_head').style.display = 'none';
        }
        if(document.getElementById('basket_title_busy'))document.getElementById('basket_title_busy').style.display = 'block';
        if(document.getElementById('basket_title'))document.getElementById('basket_title').style.display = 'none';
		inproc = true;
        cart_mode = mode;
        var qs = 'display='+display+'&mode='+mode+'&itemid='+itemid;
        qs += '&quantity='+quantity+'&serial='+encodeURIComponent(serial);
        qs += '&title='+encodeURIComponent(title)+'&artistid='+artistid;
        qs += '&artisttitle='+encodeURIComponent(artisttitle)+'&artdisppro='+artdisppro+'&kbps='+kbps;
        qs += '&price='+encodeURIComponent(price)+'&stock='+stock+'&relid='+relid+'&trackid='+trackid+'&ta='+ta;
		AJAXRequest.doAJAXGet('/source/cart.php', qs, 'process_cart', 'txt', false);
	}
}

function process_cart()
{
    AJAXCART=AJAXRequest.AJAXOBJ;
	if(AJAXCART.readyState == 4){
		cart_show_result(AJAXCART.status);
	}
}

function cart_show_result(status)
{
    inproc = false;
    if(document.getElementById('mini_cart_busy'))document.getElementById('mini_cart_busy').style.display = 'none';
    if(document.getElementById('mini_cart_head'))document.getElementById('mini_cart_head').style.display = 'block';
    if(document.getElementById('basket_title_busy'))document.getElementById('basket_title_busy').style.display = 'none';
    if(document.getElementById('basket_title'))document.getElementById('basket_title').style.display = 'block';
    if (status == 200)
    {
        var text = AJAXCART.responseText;

        displayMSG(cart_id, '', text, '');

        if(redwin != '')
        {
            if(text.indexOf('maxed') != -1)
            {
                redwin.req_nano_cart('maxed');
            }
            else
            {
                redwin.req_nano_cart('good');
            }
        }

        var sPath = window.location.pathname;

        if(sPath=='/shop/')
        {
            if(typeof theobj == 'object')
            {
                stopIt();
            }

            if(cart_mode == 'add')
            {
                var scOffset = getScrollXY();

                if(scOffset[1] > 240)
                {
                    var re = /£0\.00/ig;

                    if(text.search(re) == -1)
                    {
                        setObj(0,200,80);
                    }
                    else
                    {
                        setObj(1,200,80);
                    }
                }

                cart_mode = '';
            }
        }
	}
    else
	{
        if(status == 404)
        {
			displayMSG(cart_id, '', '<span class=\"errorText\">Could not compelete. Page not found!</span>', '');
		}
        else
        {
        	displayMSG(cart_id, '', '<span class=\"errorText\">Could not compelete. XML problem occured!</span>', '');
		}

        if(redwin != '')
        {
            redwin.req_nano_cart('error');
        }
	}
}

function getScrollXY()
{
    var scrOfX = 0, scrOfY = 0;

    if(typeof( window.pageYOffset ) == 'number')
    {
        //Netscape compliant
        scrOfY = window.pageYOffset;
        scrOfX = window.pageXOffset;
    }
    else if(document.body && ( document.body.scrollLeft || document.body.scrollTop ))
    {
        //DOM compliant
        scrOfY = document.body.scrollTop;
        scrOfX = document.body.scrollLeft;
    }
    else if(document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ))
    {
        //IE6 standards compliant mode
        scrOfY = document.documentElement.scrollTop;
        scrOfX = document.documentElement.scrollLeft;
    }

    return [scrOfX, scrOfY];
}