var loadedItems = new Array();

function loadItem(id)
{
	loadedItems[id] = true;

	var procFunc = function(handler)
	{
		if ( handler.readyState == 4 && handler.status == 200 )
		{
			document.getElementById('productContainerInfo-' + id).innerHTML = handler.responseText;
		}
	}

	var ajax = new Ajax();
	ajax.Open(procFunc, 'advertentie-beta.php?aid=' + id, 'GET');
}

function checkEmailAddress(input)
{
	var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	
	return filter.test(input);
}

function postBid(productId, formId)
{
	var form = document.getElementById(formId);

	if ( parseInt(form.auctionId.value) == 0 )
	{
		alert('Hacking attempt detected!');
		return;
	}

	if ( form.username.value == '' )
	{
		alert('U dient uw naam op te geven.');
		return;
	}

	if ( !checkEmailAddress(form.email.value) )
	{
		alert('U dient een geldig e-mail adres op te geven.');
		return;
	}

	if ( form.bidPrice.value < 0 )
	{
		//alert('Ongeldig bod: ' + form.bodPrice.value + ' - ' + (form.bodPrice.value % 5));
		alert('Ongeldig bod.');
		return;
	}

	var procFunc = function(handler)
	{
		if ( handler.readyState == 4 && handler.status == 200 )
		{
			document.getElementById('productContainerInfo-' + productId).innerHTML = handler.responseText;
		}
		else
			document.getElementById('productContainerInfo-' + productId).innerHTML = '<p class="loadingData">Data wordt geladen... ' + handler.status + ' / ' + handler.readyState + '</p>';
	}

	var vars = 'auctionId=' + form.auctionId.value + '&username=' + form.username.value + '&email=' + form.email.value + '&bidPrice=' + form.bidPrice.value;

	var ajax = new Ajax();
	ajax.Open(procFunc, 'plaats_bod.php?aid=' + form.auctionId.value, 'POST', vars);
}

function toggleVcard(productId) {
  var productObject = "vCard" + productId;
  var productInfoRow = document.getElementById(productObject);
//  var rowClass = productInfoRow.className;
  if(productInfoRow.style.display == "block") {
    productInfoRow.style.display = "none";
  }
  else {
//    productInfoRow.className = rowClass.replace("Open","");
    productInfoRow.style.display = "block";
  }
}

function toggleProduct(productId) {
  var productObject = "productInforow-" + productId;
  var productInfoRow = document.getElementById(productObject);
  var rowClass = productInfoRow.className;
  if(rowClass=="odd" || rowClass=="even") {
    productInfoRow.className = productInfoRow.className + "Open";
  }
  else {
    productInfoRow.className = rowClass.replace("Open","");
  }
  openProductDetail(productId);
}

function openProductDetail(productId) {
  var productIdRow = document.getElementById("productDetail-"+productId);
  if(productIdRow.className=="product") {
    productIdRow.className = "productOpen";

	// Load item
	if (loadedItems[productId] == undefined || loadedItems[productId] != true)
		loadItem(productId);

  }
  else {
    productIdRow.className = "product";
  }
}

function toggleAuction(auctionId) {
  var auctionObject = "productAuction-" + auctionId;
  var auctionHeaderObject = "productAuctionHeader-" + auctionId;

  var auctionElement = document.getElementById(auctionObject);
  var auctionHeaderElement = document.getElementById(auctionHeaderObject);

  var rowClass = auctionElement.className;
  if(rowClass=="toggleContainerClosed") {
    auctionElement.className = "toggleContainerOpen";
    
    if ( auctionHeaderElement != null )
      auctionHeaderElement.className = "open";
  }
  else if(rowClass=="toggleContainerOpen") {
    auctionElement.className = "toggleContainerClosed";

    if ( auctionHeaderElement != null )
      auctionHeaderElement.className = "closed";
  }
}


