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()
{
	$("a.fancyBoxLink").fancybox(
	{
		'centerOnScroll':false,
		'titleShow':false,
		'hideOnContentClick':true
	});
	
	$('.visaprodBuyButton').click(function(event)
	{
		// Stoppa klick på eventuell omslutande ruta
		event.stopImmediatePropagation();
		
		// Kolla att det är OK att köpa önskat antal		
		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 == 2 && kombinationer[iFound].lagret < onskatAntal)
		{
			alert(getPhrase("js_outofstock",''+kombinationer[iFound].lagret));		
			return false;
		}
				
		// Produktens kombinations-ID
		var kID = document.addToBasketForm.valdKombination.value;
				
		//Finns det någon "egen text"?
		var egentextVarde = "";
		try
		{
			egentextVarde = document.addToBasketForm.egentext.value;
		} catch(err) { egentextVarde = ""; }
		
		// Skicka iväg bilden!
		var imageHolder = $(".bildholder:visible .visaprodbild img");
		
		if (imageHolder.length==0)
			imageHolder = $(".bildholder:visible img");
				
		animateBig(kID, imageHolder, onskatAntal, egentextVarde);
		
		// Stäng av default action för knappen
		return false;
	});
	
});

function animateBig(kID, imageHolder, antal, egentextVarde)
{
	var cartPos  = $('#varukorgtop').offset();
	var imagePos = imageHolder.offset();
	var absPos = imageHolder.position();

	var kopia = $("<div></div>").css(
	{
		'z-index' : '10000',
		'position' : 'absolute',
		'margin':0,
		'padding':0,
		'left' : imagePos.left,
		'top' : imagePos.top,
		'background-image': 'url(' + imageHolder.attr("src") + ')',
		'background-repeat':'no-repeat',
		'background-position':'center center',
		'width':400,
		'height':400
	}).appendTo('body');

	
	kopia.animate(
	{
		left: cartPos.left + 10 ,
		top:  cartPos.top + 30,
		height: 0,
		width: 0
		
	}, 1500, null, function(foo)
	{		
		kopia.remove();
		
		$.ajax(
		{
			url: "/varukorg_nyvara.asp",
			global: false,
			type: "POST",
			data: (
			{
				'valdKombination': kID,
				'antal': antal,
				'fromanimate':1,
				'egentext': encodeURIComponent(egentextVarde)
			}),
			dataType: "text",
			success: function(svaret)
			{
				if (svaret.substring(0,4)=="NONR")
				{
					failVarukorgen(felaVarukorg);
				} else {
					refreshVarukorgen(blinkaVarukorg);
				}
			}
		});	
	});	
}

function refreshVarukorgen(callback)
{
	$("#varukorgtopholder").load("/ajax_top_varukorg_html.asp?1", {'rnd' : Math.random()}, callback);
}

var blinkaVarukorg = function()
{
	$("#varukorgtop_text").css('backgroundColor','#66FF66');
	setTimeout("$('#varukorgtop_text').css('backgroundColor','');",500);
}

var felaVarukorg = function()
{
	$("#varukorgtop_text").css('backgroundColor','#CC0005');
	setTimeout("$('#varukorgtop_text').css('backgroundColor','');",500);
}

function failVarukorgen(callback)
{
	$("#varukorgtopholder").load("/ajax_top_varukorg_html.asp?2", {'rnd' : Math.random()}, callback);
}

function clearDefault(el) {
  if (el.defaultValue==el.value) el.value = ""
}

function meddelaKomb(kid)
{
	$('#kombslutform'+kid).css('display','block');
}

function kombSlutSubmit(objForm, kid)
{
	$.ajax(
	{
		url: '/slutkomb.asp',
		type: 'POST',
		data: 'epost='+objForm.epost.value + '&kid=' + kid + '&sprak=' + objForm.sprak.value,
		success: function()
		{
			$('#kombslutform'+kid).html('<span style="color:#00cc00;font-weight:bold;font-size:14px;">OK!</span>').hide(1000);
		},
		error : function(XMLHttpRequest, textStatus, errorThrown)
		{
			alert(XMLHttpRequest.responseText);
		}
	});	
	return false;
}

function submittaFormen()
{
	var f = document.addToBasketForm;
	
	if (kollaProdSubmit(f)) f.submit();
}

function bytbild(x)
{
	for (var i = 0; i <= 6; i++)
	{
		if (i != x)
			document.getElementById("bild"+i).style.display='none';
		else
			document.getElementById("bild"+i).style.display='block';
	}
}
function poppa(x)
{
	var w = screen.availWidth||screen.width;
	var h = screen.availHeight||screen.height;
	var popped = window.open ("/poppedimage.asp?pic=images/"+x, "mywindow","location=0,status=0,scrollbars=1,width="+w+",height="+h);
}

function Recensera() {
	document.getElementById('tdiv').style.display='none';
	document.getElementById('rdiv').style.display='block';
}
function Tipsa() {
	document.getElementById('rdiv').style.display='none';
	document.getElementById('tdiv').style.display='block';
}
function tipsKoll(x)
{
	if (x.namn.value == "" || x.epost.value == "")
	{
		alert(getPhrase("tellafriend_jskoll_namnepost",""));
		return false;
	}
	if (!(x.epost.value.indexOf(".") > 2 && x.epost.value.indexOf("@") > 0))
	{
		alert(getPhrase("tellafriend_jskoll_epost",""));
		return false;
	}
	return true;
}
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 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 = -1;
	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.
		
		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("artikelnummer").innerHTML = kombinationer[iFound].artno;	
	document.getElementById("prisruta").innerHTML = myFormatCurrency(activePris);

	
	if (document.getElementById("avtalskund").value != "0")
	{
		var procent = document.getElementById("avtalskundprocent").value;
		// activeKampanjPris = activeKampanjPris - (activeKampanjPris * (procent / 100.0));

		if (document.addToBasketForm.inKampanj.value == "1")
		{
			//if (activeKampanjPris != activePris)
			if (activePris*(1-procent/100) > activeKampanjPris)
			{
				document.getElementById("prisruta").className = "prisStrike";
				document.getElementById("billigareruta").innerHTML = myFormatCurrency(activeKampanjPris);
			}
			else
			{
				document.getElementById("prisruta").className = "";
				// document.getElementById("billigareruta").innerHTML = "";
				document.getElementById("billigareruta").innerHTML = '&nbsp;' + myFormatCurrency(activePris*(1-procent/100));
			}
		} else {
			document.getElementById("billigareruta").innerHTML = myFormatCurrency(activePris - (activePris * (procent / 100.0)));
		}
	} else {
		if (document.addToBasketForm.inKampanj.value == "1" && activeKampanjPris != activePris)
		{
			document.getElementById("prisruta").className = "prisStrike";
			document.getElementById("billigareruta").innerHTML = myFormatCurrency(activeKampanjPris);
			updateDelaUppSumma(activeKampanjPris);	
		}
		else
		{
			updateDelaUppSumma(activePris);	
		}
	}

	document.getElementById("lagerstatusFinns").style.display='none';
	document.getElementById("lagerstatusFinnsEj").style.display='none';
	document.getElementById("lagerstatusFinnsNagra").style.display='none';
	document.getElementById("lagerstatusBestallningsvara").style.display='none';
	
	if (kombinationer[iFound].lagertyp == 1 || kombinationer[iFound].lagret > lagerGrans)
	{
		document.getElementById("lagerstatusFinns").style.display='block';
		document.getElementById("addToCardButtonDiv").style.display='block';
	}
	else if (kombinationer[iFound].lagret <= 0)
	{
		document.getElementById("lagerstatusFinnsEj").style.display='block';
		document.getElementById("addToCardButtonDiv").style.display='none';		
	}
	else
	{	
		document.getElementById("addToCardButtonDiv").style.display='block';
		document.getElementById("lagerstatusFinnsNagra").getElementsByTagName('span')[0].innerHTML = getPhrase("visaprod_lager_finns_få",""+kombinationer[iFound].lagret);
		document.getElementById("lagerstatusFinnsNagra").style.display='block';
	}
	
	if (kombinationer[iFound].bestallningsvara == 1 && kombinationer[iFound].lagertyp == 1 && kombinationer[iFound].lagret <= 0)
	{
		document.getElementById("lagerstatusBestallningsvara").style.display='block';
		
		document.getElementById("lagerstatusFinns").style.display='none';
		document.getElementById("lagerstatusFinnsEj").style.display='none';
		document.getElementById("lagerstatusFinnsNagra").style.display='none';
	}
	
}

function kollaEgenText(x)
{
	if (x.value.length > 9)
	{
		x.value = x.value.substr(0,9);
	}
	
	var langden = x.value.length;
	
	try
	{
	document.getElementById("antaltecken").innerHTML = langden;
}
catch(err){}
	
	// hitta selecten
	var selecten = x.parentNode.getElementsByTagName("select")[0];
	for (var i = 0; i < selecten.options.length; i++)
	{
		if (langden == parseInt(selecten.options[i].text))
		{
			selecten.selectedIndex = i;
			updateValSum();
			break;
		}
	}
}

function kollaProdSubmit(y)
{
	try
	{
		var x = y.egentext;
		if (x.value.length > 9)
		{
			x.value = x.value.substr(0,9);
		}
		var langden = x.value.length;
		var selecten = x.parentNode.getElementsByTagName("select")[0];
		
		if (parseInt(selecten.options[selecten.selectedIndex].text) != langden)
		{
			for (var i = 0; i < selecten.options.length; i++)
			{
				if (langden == parseInt(selecten.options[i].text))
				{
					selecten.selectedIndex = i;
					updateValSum();
					break;
				}
			}
			return false;
		}
		
	}
	catch(err){}
	
	return true;
}

