function placeAtCenter(div)
{
	// place div in center of screen
	var dim = getScreenDimensions();
	var x = Math.floor(dim.scrollLeft + (dim.availWidth - div.offsetWidth)/2);
	var y = Math.floor(dim.scrollTop + (dim.availHeight - div.offsetHeight)/2);
	div.style.top = y + "px";
	div.style.left = x + "px";
}

function openSelection(divName)
{
	var bgDiv = document.getElementById('bgDiv');
	bgDiv.style.display = 'block';
	bgDiv.style.height = getTotalHeight() + "px";
	bgDiv.onclick = function() {closePopup(divName);}
	
	var div = document.getElementById(divName);
	div.style.display = 'block';	
	placeAtCenter(div);
	
	if (browser.isIE && browser.version <= 6)
	{
		var url = /url\(("|')(.*)("|')\)/.exec(div.currentStyle.backgroundImage);
		url = url ? url[2] : false;
		if (url)
		{
			var newDiv = document.createElement("div");
			newDiv.id = "ie6Shadow";
			newDiv.style.width = div.offsetWidth + "px";
			newDiv.style.height = div.offsetHeight + "px";
			newDiv.style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src="'+url+'",sizingMethod="crop")';
			newDiv.style.position = "absolute";
			
			var pos = getObjectPosition(div);
			newDiv.style.left = pos.x + "px";
			newDiv.style.top = pos.y + "px";
			div.parentNode.insertBefore(newDiv,div);
			
			div.style.backgroundImage  ="none";
		}
		var imgs = div.getElementsByTagName("img");
		for(var i=0; i<imgs.length; i++)
		{
			if (/\.png/i.exec(imgs[i].src))
			{
				fixPNG(imgs[i]);
			}
		}
	}
}

function closePopup(divName)
{
	var div = document.getElementById(divName);
	div.style.display = 'none';
	div.style.backgroundImage = "";

	var bgDiv = document.getElementById('bgDiv');
	bgDiv.style.display = 'none';
	
	var ie6Shadow = document.getElementById("ie6Shadow");
	if (ie6Shadow)
	{
		ie6Shadow.parentNode.removeChild(ie6Shadow);
	}
	
	if (divName == 'wattDiv')
	{
		document.getElementById("wattStep1").style.display = "";
		document.getElementById("wattStep2").style.display = "none";
	}
}

function toggleBg(i, colorClass)
{
	var re=/^(.*)Icon_([0-9]+)$/.exec(i.id);
	if (re[1] == "batteryFormat")
	{
		var inputs = document.getElementsByName(re[1] + "Index");
		var input = inputs[re[2]];
		if (input.value == "Pack")
		{
			var j =0;
			do
			{	
				var img = document.getElementById("batteryFormatIcon_" + j);
				if (img && img != i)
				{
					img.className = "";
				}
				j++;
			}
			while(img);
		}
		else
		{
			var img = document.getElementById("batteryFormatIcon_5");
			img.className = "";
		}
	}
	else if (re[1] == "type")
	{
		var toggleOff = false;
		for(var i=0; i<3; i++) // 4 for LED
		{
			var icon = document.getElementById("typeIcon_" + i);
			if (icon)
			{
				if (i == re[2] && icon.className == colorClass)
				{
					icon.className = "";
					toggleOff = true;
				}
				else
				{
					icon.className = i == re[2] ? colorClass : "";
				}
			}
		}
		
		var selectedType = document.getElementById("lampType");
		selectedType.value = re[2];
		
		var tmpValue = Number(re[2]);
		var table = setVisibleTable(document.getElementById('wattStep2'), tmpValue);
		
		if (tmpValue != lampType || toggleOff)
		{
			var watts = lampWattages;
			var imgs = table.getElementsByTagName("img");
			for(var i=0; i<imgs.length; i++)
			{
				imgs[i].className = "";
				var div = imgs[i].parentNode;
				var input = div.getElementsByTagName("input")[0];
				div.style.display = in_array(input.value, watts[tmpValue]) ? "" : "none";
				fixPNG(imgs[i]); 
			}
		}
	}
	
	if (i.className == colorClass)
		i.className = "";
	else
	i.className = colorClass;
	
	if (toggleOff)
	{
		document.getElementById("type_goto").style.display = "none";
		document.getElementById("type_confirm").style.display = "";
		document.getElementById("lampType").value = "-1";
	}
	else
	{
		document.getElementById("type_goto").style.display = "";
		document.getElementById("type_confirm").style.display = "none";
	}
}

function toggleBox(b)
{
	var x = document.getElementById(b.name);
	if (x.style.display == "inline")
		x.style.display = "none";
	else
	{
		var totalDiv = createTotalDiv("white", 0);
		totalDiv.style.width = "100%";
		document.body.insertBefore(totalDiv, document.body.firstChild);
		totalDiv.attachEvent("onclick", function()
		{
			toggleBox(b);
			document.body.removeChild(totalDiv);
		});
		x.style.display = "inline";
		x.focus();
	}
}

function removeProduct(itemId, windowText)
{
	var r = window.confirm(windowText)
	if (r == true)
		post({action:'removeProduct',id:itemId});

	return false;
}

function compareProduct(itemId, totalSelected, windowText)
{
	if (totalSelected < 4)
		post({action:'compareProduct',id:itemId});
	else
		window.alert(windowText)

	return false;
}

function minimizeSel()
{
	document.getElementById("selectionDiv").style.display = "none";
	document.getElementById("maximizeButton").style.display = "block";
	return false;
}

function maximizeSel()
{
	document.getElementById("selectionDiv").style.display = "block";
	document.getElementById("maximizeButton").style.display = "none";
	return false;
}

function confirmValues(itemName)
{
	var divName = itemName + "Div";
	var selectedType = document.getElementById("lampType");
	if (itemName == "watt")
	{
		switch(selectedType.value)
		{
			case "0":
				itemName = "wattReal";
				break;
			case "1":
				itemName = "wattRealLowenergy";
				break;
			case "2":
				itemName = "wattRealHalogen";
				break;
			default:
				itemName = "watt";
		}
	}

	var fieldName = itemName + 'Index';
	var fieldArr = document.getElementsByName(fieldName);
	var selectedIcons = new Array();

	for (var i = 0; i < fieldArr.length; i++)
	{
		if (fieldArr[i].name == fieldName)
		{
			var icon = document.getElementById(itemName + "Icon_" + i);
			if (icon.className == "iconGreen")
				selectedIcons.push(fieldArr[i].value);
		}
	}
	closePopup(divName);
	
	post({action: "setCriterium", name: itemName, value: selectedIcons.join("|"), lampType: selectedType ? selectedType.value : -1});
}

function swapImage(image)
{
	var bigImg = document.getElementById("bigImage");
	var bigImgArr = bigImg.src.split("&");
	var smallImgArr = image.src.split("&");
	
	image.src = bigImgArr[0] + "&maxWidth=60&maxHeight=140";
	bigImg.src = smallImgArr[0] + "&maxWidth=130&maxHeight=300";
}

function switchProductImage(anchor, imageId)
{
	var div = anchor;
	while(div && div.nodeName != "DIV")
	{
		div = div.parentNode;		
	}
	
	var img = div.getElementsByTagName("img")[0];
	var maxWidth = /maxWidth=([0-9]+)($|&)/.exec(img.src)[1];
	var maxHeight = /maxHeight=([0-9]+)($|&)/.exec(img.src)[1];
	
	img.src = "cms_file.php?fromDB=" + imageId + "&maxWidth=" + maxWidth + "&maxHeight=" + maxHeight;
}

function setVisibleTable(rootNode, index)
{
	var ret = false;
	var i=0;
	while(i<rootNode.childNodes.length && rootNode.childNodes[i].nodeName != "TABLE")
	{
		i++;
	}
	var first = i;
	while(i<rootNode.childNodes.length && rootNode.childNodes[i].nodeName == "TABLE")
	{
		rootNode.childNodes[i].style.display = (first + index) == i ? "" : "none";
		if (first + index == i)
			ret = rootNode.childNodes[i];
		i++;		
	}
	
	return ret;
}

function wattGotoStep(step, msg)
{
	var current = step == 1 ? 2 : 1;
	
	document.getElementById("wattStep" + step).style.display = "";
	document.getElementById("wattStep" + current).style.display = "none";
}
