var inbasket = new Array();
var waiting = 0;

function basket_add( id, session )
{
	obj = document.getElementById('thumb-'+id);
	if( obj ) { obj.className = 'inbasket'; }
	obj = document.getElementById('proofdisplaytable');
	if( obj ) { obj.className = 'inbasket'; }

	data = new Array();
	data['action'] = 'basketadd';
	data['id'] = id;
	data['PHPSESSID'] = session;

	inbasket[id] = 1;

	basket_ajax('ajax.php',data,basket_update);
}

function basket_remove( id, session )
{
	obj = document.getElementById('thumb-'+id);
	if( obj ) { obj.className = ''; }
	obj = document.getElementById('proofdisplaytable');
	if( obj ) { obj.className = ''; }

	data = new Array();
	data['action'] = 'basketremove';
	data['id'] = id;
	data['PHPSESSID'] = session;

	inbasket[id] = 0;

	basket_ajax('ajax.php',data,basket_update);
}

function basket_option( id, opt, val, session )
{
	data = new Array();
	data['action'] = 'basketoption';
	data['id'] = id;
	data['option'] = opt;
	data['value'] = val;
	data['PHPSESSID'] = session;

	basket_ajax('ajax.php',data,null);
}

function basket_update( response )
{
	obj = document.getElementById('basketcount');
	if( obj )
	{
		html = response['basketcount'] + ' item';
		if( response['basketcount'] != 1 ) { html += 's'; }
		obj.innerHTML = html;
	}
}

function basket_ajax( url, data, callback )
{
	http_request = false;
	ajaxcallback = callback;

	if( window.XMLHttpRequest )
	{ // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) { http_request.overrideMimeType('text/html'); }
	}
	else if( window.ActiveXObject )
	{ // IE
		try { http_request = new ActiveXObject("Msxml2.XMLHTTP"); }
		catch (e)
		{
			try { http_request = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {}
		}
	}

	if (!http_request) { return false; }

	postdata = '';
	for( datakey in data )
	{
		if( postdata != '' ) { postdata += '&'; }
		postdata += datakey + '=' + encodeURIComponent(data[datakey]);
	}

	http_request.onreadystatechange = basket_ajax_response;
	http_request.open('POST',url,true);
	http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http_request.setRequestHeader("Content-length", postdata.length);
	http_request.setRequestHeader("Connection", "close");
	http_request.send(postdata);
}

function basket_ajax_response()
{
	if( http_request.readyState == 4 && http_request.status == 200 )
	{
		result = http_request.responseText;

		var data = new Array();
		varlist = result.split('&');
		for( varindex=0; varindex<varlist.length; varindex++ )
		{
			keyval = varlist[varindex].split('=');
			data[keyval[0]] = decodeURIComponent(keyval[1]);
		}
		if( ajaxcallback ) { ajaxcallback(data); }
	}
}

