var activePris = 0;
var activeKampanjPris = 0;
var valAlternativSelects;	//byggs i visa_produkt_content.asp
var kombinationer;	//byggs i visa_produkt_content.asp
var lagerGrans = 0;

$(document).ready(function()
{
	bytbild(document.visaProdSettings.bild.value, document.visaProdSettings.storbild.value);
	
	$("a.fancyBoxLink").fancybox();	
	
	try
	{
		lagerGrans=parseInt(document.visaProdSettings.lagergrans.value);
		updateValSum();
	}
	catch(err){}
});


function bytbild(x,storBild)
{
	if (x == "blank.gif")
		return;

	document.getElementById("currentBild").style.backgroundImage="url('/images/"+x+"')";
	document.getElementById("klickbarBildLank").href = "/images/"+storBild;
	try
	{
		Lightbox.updateImageList();
	}
	catch(err){}
}

function Recensera() {
	document.getElementById('rdiv').style.display='block';
}

function plussa(i)
{
	if (document.getElementById("plus"+i).style.visibility=="hidden")
		document.getElementById("plus"+i).style.visibility="visible";
	else
		document.getElementById("plus"+i).style.visibility="hidden";
}

function getValValue(nr)
{
	var result = 0;
	try
	{
		var d = document.getElementById("val"+nr);
		var id = d.options[d.selectedIndex].value;
		result = parseInt(document.getElementById("valalternativ"+id).value);
	}
	catch(err)
	{
	}
	return result;
}

function finnsAntaletILager(doAlert)
{
	if (document.addToBasketForm.antal.value=='' || document.addToBasketForm.antal.value=='0')
		document.addToBasketForm.antal.value='1';		
		
	var onskatAntal = parseInt(document.addToBasketForm.antal.value);
	
	var iFound = getKombinationIndex();
	
	if (kombinationer[iFound].lagertyp == 1 || kombinationer[iFound].lagret >= onskatAntal)
		return true;
	else
	{
		if (doAlert)
			alert(getPhrase("js_outofstock",''+kombinationer[iFound].lagret));
	
		return false;	
	}
}

function checkVisaProdSubmit()
{
	if (finnsAntaletILager(true))
		return true;
	else
		return false;
}


function updateDelaUppSumma(x)
{
	var XMLHttpRequestObject=false;
	if(window.XMLHttpRequest)
	{
		  XMLHttpRequestObject=new XMLHttpRequest();
	}
	else if(window.ActiveXObject)
	{
		  //Internet Explorer
		  XMLHttpRequestObject=new ActiveXObject("Msxml2.XMLHTTP");
	}
	else
	{
		  alert("Your Browser is not compatible");
	}
	
	var XMLHttpRequestObject = false;
	if (window.XMLHttpRequest)
	{
		XMLHttpRequestObject = new XMLHttpRequest();
	}
	else if (window.ActiveXObject)
	{
		XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
	}
	if(XMLHttpRequestObject)
	{
		XMLHttpRequestObject.open("POST","ajax_visaprod_delaupp.asp?summa=" + x, true);

		XMLHttpRequestObject.onreadystatechange = function()
		{
			if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200)
			{
				try
				{
					document.getElementById("delauppruta").innerHTML = XMLHttpRequestObject.responseText;
				}
				catch(err){}
			}
		}
		XMLHttpRequestObject.send('');
	}
}

function getKombinationIndex()
{
	var iFound;
	if (parseInt(document.addToBasketForm.hasValalternativ.value)==1)
	{
		// Kolla vilka valalternativ som är valda.
		var valdaAlternativ = new Array();
		for (i = 0; i < valAlternativSelects.length; i++)
		{
			var objSelect = document.getElementById(valAlternativSelects[i]);
			valdaAlternativ[i] = parseInt(objSelect.options[objSelect.selectedIndex].value);
		}
		
		valdaAlternativ.sort();
		
		// Kolla vilken kombination som stämmer överens med det.
		// De två arrayerna är sorterade så samma alternativ bör
		// dyka upp i samma ordning med rätt kombination.
		
		iFound = -1;
		var hittade = false;
		for (i = 0; i < kombinationer.length; i++)
		{
			hittade = true;
			for (j = 0; j < valdaAlternativ.length; j++)
			{
				if (kombinationer[i].alternativ[j] != valdaAlternativ[j])
				{
					hittade = false;
					break;
				}
			}
			if (hittade)
			{
				iFound = i;
				break;
			}
		}
		
		document.addToBasketForm.valdKombination.value=kombinationer[iFound].dbid;
	}
	else
	{
		//Inga valalternativ, men alla produkter har en "kombination".
		iFound = 0;
	}
	return iFound;
}

function updateValSum()
{
	var iFound = getKombinationIndex();
	
	activePris = kombinationer[iFound].pris;
	activeKampanjPris = kombinationer[iFound].kampanjpris;
	
	document.getElementById("articleno").innerHTML = kombinationer[iFound].artno;
	document.getElementById("prisruta").innerHTML = myFormatCurrency(activePris);
	
	if (document.getElementById("avtalskund").value == "1")
	{
		var procent = parseFloat(document.getElementById("avtalskundprocent").value);
		
		if (document.addToBasketForm.inKampanj.value == "1")
		{
			document.getElementById("prisruta").innerHTML = myFormatCurrency(activeKampanjPris);
			document.getElementById("billigareruta").innerHTML = myFormatCurrency(activeKampanjPris - (activeKampanjPris * (procent / 100.0)));
		}
		else
			document.getElementById("billigareruta").innerHTML = myFormatCurrency(activePris - (activePris * (procent / 100.0)));
	}
	else
	{
		document.getElementById("prisstrike").innerHTML = "";
		document.getElementById("dusparar").innerHTML = "";
		document.getElementById("duspararDiv").style.display='none';
	
		if (document.addToBasketForm.inKampanj.value == "1" && activeKampanjPris != activePris)
		{
			document.getElementById("prisruta").innerHTML = '&nbsp;' + myFormatCurrency(activeKampanjPris);
			document.getElementById("prisstrike").innerHTML = myFormatCurrency(activePris);
				
			document.getElementById("dusparar").innerHTML = getPhrase("visaprod_dusparar","") + " " + myFormatCurrency(activePris - activeKampanjPris) + " (" + Math.round(100 * (activePris - activeKampanjPris) / activePris) + "%)";
			document.getElementById("duspararDiv").style.display='block';
			
			updateDelaUppSumma(activeKampanjPris);
		}
		else
			updateDelaUppSumma(activePris);
	}
	
	try
	{
		document.getElementById("lagerstatusFinns").style.display='none';
		document.getElementById("lagerstatusFinnsEj").style.display='none';
		document.getElementById("lagerstatusFinnsNagra").style.display='none';
	}
	catch(err){}
	
	if (kombinationer[iFound].lagertyp == 1 || kombinationer[iFound].lagret > lagerGrans)
	{
		document.getElementById("lagerstatusFinns").style.display='block';
		document.getElementById("addToCardButtonDiv").style.visibility='visible';
	}
	else if (kombinationer[iFound].lagret <= 0)
	{
		document.getElementById("lagerstatusFinnsEj").style.display='block';
		document.getElementById("addToCardButtonDiv").style.visibility='hidden';		
	}
	else
	{	
		document.getElementById("addToCardButtonDiv").style.visibility='visible';
		document.getElementById("lagerstatusFinnsNagra").getElementsByTagName('span')[0].innerHTML = getPhrase("visaprod_lager_finns_få",""+kombinationer[iFound].lagret);
		document.getElementById("lagerstatusFinnsNagra").style.display='block';
	}
}