var request;

function initRequest()
{
		 // IE:
		 if(window.ActiveXObject)
		 {
		 		request = new ActiveXObject("Microsoft.XMLHTTP");
				return true;
		 }
		 // other, eg. Mozilla, Opera, Safari:
		 else if(window.XMLHttpRequest)
		 {
		 		request = new XMLHttpRequest();
				return true;
		 }
		else
			return false;

}



function initCart()
{
		 if( ! initRequest() )
		{
			alert( "Tarvikekaupan käyttäminen ei valitettavasti onnistu käyttämälläsi selainohjelmalla. Ole hyvä ja päivitä käyttöösi uusin versio jostain yleisestä selainohjelmasta."); 
		}
		else
		{
			 request.onreadystatechange = handleInitCart;

			 request.open("GET", "/"+path+"/handleShop?openagent&a=1&b="+brand+"&c="+cat, true);
		 
			 request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

			 request.send( null );
		}
}


function handleInitCart()
{
		 if( request.readyState == 4 )
		 {
				var alerttext = "Tarvikekaupan ostoslistan luonnissa tapahtui virhe. Ole hyvä ja yritä ladata sivu uudelleen. Mikäli virhe toistuu, on mahdollista, että selainohjelmasi ei tue kaupan käyttöä.";

		 		 if( request.status == 200 )
		 		 {	
		 		 		sessionid = request.responseXML.getElementsByTagName("id");
						sessionid = sessionid[0].childNodes[0].nodeValue;
						if( sessionid.length == 32 )
						{
							setCookie( "jm_"+layout+"_cartid", sessionid );
							document.getElementById("sessionlink").innerHTML = "<a href='/"+path+"/SessionWeb?readform'><img src='/"+path+"/arrow_"+layout+".gif' border=0>Näytä ostoslista</a> ( 0 tuotetta )";
							document.getElementById("sessionlinkUpper").innerHTML = "<a href='/"+path+"/SessionWeb?readform'><img src='/"+path+"/arrow_"+layout+".gif' border=0>Näytä ostoslista</a> ( 0 tuotetta )";
						}
						else
						{
							alert( alerttext  );
						}
						
		 		 }
		 		 else
		 		 {
		 		 		 alert( alerttext );
		 		 }
		 }
}

function updateCart( action, productid, count, installed )
{
	switch( action )
	{
	case 2:
		 if( ! initRequest() || sessionid.length!=32 )
		{
			alert( "Tarvikekaupan käyttäminen ei valitettavasti onnistu käyttämälläsi selainohjelmalla, tai sen nykyisillä asetuksilla. Ole hyvä ja päivitä käyttöösi uusin versio jostain yleisestä selainohjelmasta tai tarkista asetukset siten, että selainohjelma tukee evästeiden käyttöä."); 
		}
		else
		{
			 request.onreadystatechange = handleUpdateCart;

			 request.open("GET", "/"+path+"/handleShop?openagent&s="+sessionid+"&a="+action+"&p="+productid+"&k="+count+"&i="+installed+"&c="+cat, true);
		 
			 request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

			 request.send( null );
		}
	break;
	case 3:
		location.href="/"+path+"/handleShop?openagent&s="+sessionid+"&a="+action+"&p="+productid+"&k="+count+"&c="+cat;
	break;
		
	case 4:
		location.href="/"+path+"/handleShop?openagent&s="+sessionid+"&a="+action+"&p="+productid+"&c="+cat;
	break;
	case 5:
		if( confirm( "Oletko varma, että haluat tyhjentää ostoslistalta kaikki sinne lisäämäsi tuotteet?" ) )
			location.href="/"+path+"/handleShop?openagent&s="+sessionid+"&a="+action+"&c="+cat;
	break;
	}
}

function handleUpdateCart()
{
		var n = "";
		var i = "";
		var c = "";
		var title = "";
		var over = "";
		 if( request.readyState == 4 )
		 {
				var alerttext = "Tarvikekaupan ostoslistan luonnissa tapahtui virhe. Ole hyvä ja yritä ladata sivu uudelleen. Mikäli virhe toistuu, on mahdollista, että selainohjelmasi ei tue kaupan käyttöä.";

		 		 if( request.status == 200 )
		 		 {	
	 			 		var a = request.responseXML.getElementsByTagName("a");
						a = a[0].childNodes[0].nodeValue;
						//ostoslistalle lisäys
						if( a == "2" )
						{
							n = request.responseXML.getElementsByTagName("n");
							n = n[0].childNodes[0].nodeValue;
							i = request.responseXML.getElementsByTagName("i");
							i = i[0].childNodes[0].nodeValue;	
		 			 		c = request.responseXML.getElementsByTagName("c");
							c = c[0].childNodes[0].nodeValue;
							title = "tuotetta";
							if( c=="1" )
								title = "tuote";
							over = request.responseXML.getElementsByTagName("over");
							over = over[0].childNodes[0].nodeValue;
							if( over.indexOf("1")>-1 )
								alert( "Yhden tuotteen maksimimäärä ostoslistalla on 20 kappaletta ja lisäämäsi tuotteen kohdalla tämä määrä on saavutettu.\nMikäli kuitenkin haluat tilata tuotetta enemmän kuin 20 kappaletta, se toki onnistuu kun mainitset lukumäärän jälleenmyyjälle lähetettävän tuotetiedustelulomakkeen lisätietokentässä." );
								
							document.getElementById("sessionlink").innerHTML = "<a href='/"+path+"/SessionWeb?readform'><img src='/"+path+"/arrow_"+layout+".gif' border=0>Näytä ostoslista</a> ( "+c+" "+title+" )";
							document.getElementById("sessionlinkUpper").innerHTML = "<a href='/"+path+"/SessionWeb?readform'><img src='/"+path+"/arrow_"+layout+".gif' border=0>Näytä ostoslista</a> ( "+c+" "+title+" )";
							document.getElementById("addedToList").style.display = 'block';
							document.getElementById("addedToList").style.top = (document.getElementById("p"+i).innerHTML*90)+'px';
							document.getElementById("addedToListContent").innerHTML = "<b>Tuote: \""+n+"\" lisätty ostoslistalle</b>";
						}		
		 		 }
		 		 else
		 		 {
		 		 		 alert( alerttext );
		 		 }
		 }
}
function setCookie( name, value )
{
	document.cookie = name + "=" + value+"; path=/";
	if( document.cookie.indexOf( name ) < 0 )
		alert( "Tarvikekaupan käyttäminen ei valitettavasti onnistu käyttämälläsi selainohjelmalla, tai sen nykyisillä asetuksilla. Ole hyvä ja päivitä käyttöösi uusin versio jostain yleisestä selainohjelmasta tai tarkista asetukset siten, että selainohjelma tukee evästeiden käyttöä.");
}
function getCount(fieldindex)
{
	var count = 1;
	var field = document.getElementById("selectcount"+fieldindex);
	if( field != null )
		count = field.options[field.selectedIndex].value;
	
	return count;
}

