var CLOSED = -1;
var OPENED = 1;
var EMPTY = 0;

var groups = new Array();

var closedClass = "closed";
var openedClass = "opened";

var newWindowWidthPercentage = 70;
var newWindowHeightPercentage = 60;

//var openProducts = new Array();

function toggleProductGroup(id, element)	
{
	var productsElemId = "products_" + id;
	var products = document.getElementById(productsElemId);

	if(groups[id] == EMPTY || groups[id] == null)
	{
		if(id >= 0)
		{
			products.innerHTML = '<div style="text-align: center;"><img src="/pics/contentmanager/ajax-loader.gif"></img><br /><br /></div>';
			
			try
			{
				new Ajax.Updater(productsElemId, getProductsUrl, {
	              encoding: 'ISO-8859-15',
	    		  parameters: { product_group: id, type: 'ajax' }
	            });
			}
			catch(e)
			{
				groups[id] = EMPTY;
			}
		}

		//groups[id] = CLOSED;
	}
	/*
	if(groups[id] == CLOSED)
	{
		// display style and class not set anymore as Accordion handles displaying.
		
		//products.style.display = "block";
		//element.className = openedClass;
		groups[id] = OPENED;
	}
	else if(groups[id] == OPENED)
	{
		// display style and class not set anymore as Accordion handles displaying.
		
		//products.style.display = "none";
		//element.className = closedClass;
		groups[id] = CLOSED;
	}
	*/
}

function popProduct(productGroupId, id, elem, styleNameSpace)
{
	if(styleNameSpace == null || styleNameSpace == 'undefined')
	{
		styleNameSpace = "";
	}
	
	var wrapperDivId = "wrapperDiv_" + productGroupId + "_" + id;
	var productDivId = "productDiv_" + productGroupId + "_" + id;
	var contentDivId = "contetDiv_" + productGroupId + "_" + id;
	var hideButtonId = "hideButton_" + productGroupId + "_" + id;
	//var hideButtonXId = "hideButtonX_" + id;
	
	var productDivWrapper = document.getElementById(wrapperDivId);
	var productDiv;
	var contentDiv;
	var hideButton;
	//var hideButtonX;
	
	if(productDivWrapper == null || productDivWrapper == 'undefined')
	{
		/*
		 * Create all necessary elements if there's no productDivWrapper found
		 * with the specified id. The whole is appended as a sibling to current
		 * element (anchor).
		 */
		productDivWrapper = document.createElement("div");
		productDiv = document.createElement("div");
		contentDiv = document.createElement("div")
		hideButton = document.createElement("button");
		//hideButtonX = document.createElement("button");
			
		productDivWrapper.id = wrapperDivId;
		productDivWrapper.className = styleNameSpace + "productDivWrapper";
		
		//hideButtonX.id = hideButtonXId;
		//hideButtonX.onclick = new Function("hideProduct('" + wrapperDivId + "')");
		//hideButtonX.className = styleNameSpace + "hideButtonX";
		//hideButtonX.innerHTML = "<span>Sulje</span>";
		//productDivWrapper.appendChild(hideButtonX);

		productDiv.id = productDivId;
		productDiv.className = styleNameSpace + "productDiv";
		productDivWrapper.appendChild(productDiv);

		contentDiv.id = contentDivId;
		contentDiv.className = styleNameSpace + "contentDiv";
		productDiv.appendChild(contentDiv);
		
		hideButton.id = hideButtonId;
		hideButton.onclick = new Function("hideProduct('" + wrapperDivId + "')");
		hideButton.className = styleNameSpace + "hideButton";
		hideButton.innerHTML = "Sulje ikkuna";
		productDivWrapper.appendChild(hideButton);
		
		elem.parentNode.appendChild(productDivWrapper);
	}
	else
	{
		productDiv = document.getElementById(productDivId);
		contentDiv = document.getElementById(contentDivId);
		hideButton = document.getElementById(hideButtonId);
		//hideButtonX = document.getElementById(hideButtonXId)
	}
	
	if(contentDiv.innerHTML == "")
	{
		contentDiv.innerHTML = '<div style="text-align: center;"><br /><img src="/pics/contentmanager/ajax-loader.gif"></img><br /><br /></div>';
		
		// Get product information with AJAX and populate the element with it.
		
		try
		{
			new Ajax.Updater(contentDivId, popProductUrl, {
		      encoding: 'ISO-8859-15',
			  parameters: { prod: id }
		    });
		}
		catch(e)
		{
			contentDiv.innerHTML = "";
		}
	}
	
	productDivWrapper.style.display = "block";
	hideButton.style.display = "block";
	//hideButtonX.style.display = "block";
	productDiv.style.display = "block";
	contentDiv.style.display = "block";
	// Checks if the browser is IE7, if so margin-top -style is not added
	// otherwise it will be added
	if(window.XMLHttpRequest)
		{
		if(window.ActiveXObject)
		{

		}
		else
		{
			productDivWrapper.style.marginTop = (elem.offsetTop - 20) + "px";
		}
	}
	else
	{
		productDivWrapper.style.marginTop = (elem.offsetTop - 20) + "px";
	}
	
	/*openProducts.push(wrapperDivId);

	// Close open products if there's more than 5 of them open.
	while(openProducts.length > 5)
	{
		var wrapperDivId_ = openProducts.splice(0, 1)[0];
		hideProduct(wrapperDivId_);
	}*/
}

function hideProduct(wrapperDivId)
{
	var productDivWrapper = document.getElementById(wrapperDivId);
	/*var children = productDivWrapper.childNodes;

	for(var i = 0, len = children.length; i < len; i++)
	{
		children[i].style.display = "none";
	}*/
	
	productDivWrapper.style.display = "none";
}

function openInNewWindow(address)
{
	if(newWindowWidthPercentage > 1)
	{
		newWindowWidthPercentage = newWindowWidthPercentage / 100.00;
	}

	if(newWindowHeightPercentage > 1)
	{
		newWindowHeightPercentage = newWindowHeightPercentage / 100.00;
	}
	
	var topMarginPercentage = 1 - newWindowHeightPercentage;
	var leftMarginPercentage = 1 - newWindowWidthPercentage;
	
	var screenWidth = screen.width;
	var screenHeight = screen.height;

	var newWindowWidth = Math.floor(screenWidth * newWindowWidthPercentage);
	var newWindowHeight = Math.floor(screenHeight * newWindowHeightPercentage);

	var topMargin = Math.floor((screenHeight * topMarginPercentage) / 3);
	var leftMargin = Math.floor((screenWidth * leftMarginPercentage) / 2);

	var settings = 'menubar=1, toolbar=1, directories=1, status=1, scrollbars=1, resizable=1, dependent=1, location=1, width=' + newWindowWidth + ', height=' + newWindowHeight + ', left=' + leftMargin + ', top=' + topMargin;

	var newWindow = window.open(address,'open_window',settings);
}
