﻿var anchor;

function showDetails (anchor, category, item)
{
	this.anchor = anchor;
	
	var params = 'item=' + item;
	params += '&category=' + category;
	params += '&javascript=true';
	
	xhr.sendRequest(document.getElementById('detailControl'), loadDetails, '/shop.item.details.aspx', params, xhr.requestTypes.GET);
}

function loadDetails(xmlHttpRequest)
{
	if (xmlHttpRequest.status == 0)
		return;
		
	if (xmlHttpRequest.status != 200 && xmlHttpRequest.status != 304)
		alert("AJAX error " + xmlHttpRequest.status);
		
	var data = xmlHttpRequest.responseText;
	
	var control = document.getElementById('detailControl');
	
	control.innerHTML = data;
	
	control.style.display = 'block';
	
	var left = 0;//-1 * anchor.offsetParent.offsetWidth;
	var top = 0;
	var parent = anchor.offsetParent;
		
	while (parent)
	{
		if (parent.offsetTop)
			top += parent.offsetTop;
		//if (parent.offsetLeft)
			//left += parent.offsetLeft;
			
		parent = parent.offsetParent;
	}
	
	parent = document.getElementById('shopControl');
	
	while (parent)
	{
		//if (parent.offsetTop)
			//top += parent.offsetTop;
		if (parent.offsetLeft)
			left += parent.offsetLeft;
			
		parent = parent.offsetParent;
	}
	
	left += document.getElementById('shopControl').offsetWidth / 2;
	left -= control.offsetWidth / 2;

	control.style.left = left + 'px';
	control.style.top = top + 'px';

	//var table = document.getElementById('detailTable'); does not work
	var table = control.getElementsByTagName('table')[0];

	control.style.width = (table.offsetWidth + 20) + 'px';
	//control.style.height = (table.offsetHeight + 20) + 'px';	
}

function initializeShop()
{
	if (!document.getElementById('cartContainerControl'))
		return false;
		
	xhr.sendRequest(document.getElementById('cartContainerControl'), loadCart, '/shop.items.cart.aspx', '', xhr.requestTypes.POST);
}

function loadCart(xmlHttpRequest)
{
	if (xmlHttpRequest.status == 0)
		return;
		
	if (xmlHttpRequest.status != 200 && xmlHttpRequest.status != 304)
		alert("AJAX error " + xmlHttpRequest.status);
		
	var data = xmlHttpRequest.responseText;
	
	var control = document.getElementById('cartContainerControl');
	
	control.innerHTML = data;
}

function addItemToCart (category, item)
{
	var params = "item=" + item;
	params += "&category=" + category;
	
	xhr.sendRequest(document.getElementById('cartContainerControl'), loadCart, '/shop.items.cart.aspx', params, xhr.requestTypes.POST);
}

function removeItemFromCart (index)
{
	var params = "index=" + index;
	
	xhr.sendRequest(document.getElementById('cartContainerControl'), loadCart, '/shop.items.cart.aspx', params, xhr.requestTypes.POST);
}