var item_delay=300; // Number of milliseconds to delay before putting in the request to display an item details.
var item_timer=null;


var items_http_request=false;			// The request object for dynamic updating
var container_http_request=false;			// The request object for dynamic updating

// If fully loaded, update the contents of the ItemInfoBox div
function itemAJAXReady() {
	if (items_http_request.readyState == 4) { // Only respond if the page is fully loaded
		if (document.getElementById('ItemInfoBox')) {
			document.getElementById('ItemInfoBox').innerHTML=items_http_request.responseText;
			items_http_request.abort();
			items_http_request=null;
		}
	}
}

function itemAJAXDisplayWithDelay(characterId, itemId, guId) {
	if (item_timer!=null)
	{
		clearTimeout(item_timer);
	}
	item_timer=setTimeout("itemAJAXDisplay('"+characterId+"', '"+itemId+"', '"+guId+"' )", item_delay);
}

function itemAJAXDisplay(characterId, itemId, guId) {
	if (document.getElementById('ItemInfoBox')) {
		// Make sure the request object is cleared
		items_http_request = false;
		
		// Get the correct  request object
		if (window.XMLHttpRequest) { // Mozilla, Safari, ...
			items_http_request = new XMLHttpRequest();
		} else if (window.ActiveXObject) { // IE
			items_http_request = new ActiveXObject("Microsoft.XMLHTTP");
		}		
		// Set the connection to NOT remain open
		//items_http_request.setRequestHeader("Connection", "close");
		
		// Attach the desired function for when it updates
		items_http_request.onreadystatechange = itemAJAXReady;
	
		// Request the URL
		url='./includes/item_eqview.vm?characterId='+characterId+'&itemId='+itemId+'&possessionId='+guId;
		window.status=url;
		items_http_request.open('GET', url, true);
		items_http_request.send(null);
	}
}

function containerAJAXReady() {
	if (container_http_request.readyState == 4) { // Only respond if the page is fully loaded
		if (document.getElementById('ContainerDiv')) {
			document.getElementById('ContainerDiv').innerHTML=container_http_request.responseText;
			container_http_request.abort();
			container_http_request=null;
		}
	}
}

function containerAJAXDisplay(characterId, guId) {
	if (document.getElementById('ContainerDiv')) {
		// Make sure the request object is cleared
		container_http_request = false;
		
		// Get the correct  request object
		if (window.XMLHttpRequest) { // Mozilla, Safari, ...
			container_http_request = new XMLHttpRequest();
		} else if (window.ActiveXObject) { // IE
			container_http_request = new ActiveXObject("Microsoft.XMLHTTP");
		}		
		
		// Set the connection to NOT remain open
		//container_http_request.setRequestHeader("Connection", "close");
		
		// Attach the desired function for when it updates
		container_http_request.onreadystatechange = containerAJAXReady;
	
		// Request the URL
		url='./includes/container.vm?characterId='+characterId+'&container='+guId;
		window.status=url;
		container_http_request.open('GET', url, true);
		container_http_request.send(null);
	}
}



function itemEvent(characterId, itemId, guId, isContainer, eventType, toggle) {
	var toggle = (toggle ==null) ? true : toggle;
	if (eventType=="click") {
		item_url='/item_details.vm?view=Expanded&characterId='+characterId+'&itemId='+itemId+'&possessionId='+guId;
		
		doNotUseAJAX=false;
		
		if ( (isContainer) && (document.getElementById("ContainerDiv")) ) {
			if (doNotUseAJAX) {
				document.location=item_url;
			} else {
				if (toggle) {
					document.getElementById("ContainerDiv").style.display = "block";
				}
				containerAJAXDisplay(characterId, guId);
				itemAJAXDisplay(characterId, itemId, guId);
			}
		} else if (document.getElementById('ItemInfoBox')) { // Will happen for bank and backpack pages
			if (doNotUseAJAX) {
				document.location=item_url;
			} else {
			if (toggle) {
				document.getElementById("ContainerDiv").style.display = "none";
			}
				itemAJAXDisplay(characterId, itemId, guId);
			}
		} else { // Will happen for everything else.
				if (toggle) {
				document.getElementById("ContainerDiv").style.display = "none";
				}
				document.location='item_details.vm?itemId='+itemId;
		}
	}
	return false;
}
