var DHTML = (document.getElementById || document.all || document.layers);
var xmlFilen = "";
var xmlBarn = 0;
var huvudKategori=new Array("nolla","nolla");
var underKategori=new Array("nolla","nolla");
var xmlDokument;
var temp = "";

// Felmeddelande vid problem genereras här.
onerror=handleErr
var txt="";
function handleErr(msg,url,l)
{
txt="There was an error on this page.\n\n"
txt+="Error: " + msg + "\n"
txt+="URL: " + url + "\n"
txt+="Line: " + l + "\n\n"
txt+="Click OK to continue.\n\n"
alert(txt)
return true
}

// Gör xmlFilen tillgänglig
function xmlBoot(fileToRead)
{
	// Webbläsaren Internet Explorer kör detta
	if (window.ActiveXObject)
  {
    // Fungerar bara i Internet Explorer
    xmlDokument=new ActiveXObject("Microsoft.XMLDOM");
    
    // Fungerar i övriga webbläsare utom Chrome
    // xmlDokument=document.implementation.createDocument("","",null);
  	xmlDokument.async=false;
  	xmlDokument.load(fileToRead);
  }
	// Övriga webbläsare kör detta
	else if (document.implementation && document.implementation.createDocument)
  {
    // Fungerar i övriga webbläsare och Chrome
    var xmlhttp = new window.XMLHttpRequest();
    xmlhttp.open("GET", fileToRead, false);
    xmlhttp.send(null);
    xmlDokument = xmlhttp.responseXML.documentElement;
    
  }
	else
	  {
	  alert('Din webbläsare är inte kompatibel med hemsidan. Vi rekommenderar www.getfirefox.com');
	  }
}

// Detta lägger in visningsbilden i extrarutan.
function bildZoom(value)
{
if(value==1)
{
	document.getElementById("image_actual_size").src = document.getElementById("visningsbild1").src;
	showpic("image_box");
}
else
{
	hidepic("image_box");
}

}

// Detta byter den stora visningsbilden med en av extrabilderna på samma produkt.
function bildSwitch(visningsbild)
{
	visningsbildTemp = document.getElementById("visningsbild1").src;
	document.getElementById("visningsbild1").src = document.getElementById(visningsbild).src;
	document.getElementById(visningsbild).src = visningsbildTemp;
}

// Om det inte finns en extrabild så visas ingen text till extrabilden.
function infogaExtrabild(artikelkod,antalbilder)
{
	if (antalbilder<3) { return ""; }
	else
	{
		bildTaggar = "";
		for (j=2; j<antalbilder; j++)		{ bildTaggar = bildTaggar + '<a href="javascript: bildSwitch(\'visningsbild' + j + '\')"><img class="extrabild" id="visningsbild' + j + '" src="bildProdukt/' + artikelkod + '_' + j + '.jpg" /></a>'; }
		return bildTaggar;
	}
}


// Detta lägger in bilder i den stora visningsrutan ovanför produktlistan
function infogaProduktinformation(artikelkod,antalbilder,i)
{
	if (antalbilder<2)
	{
		return '<img id="visningsbild1" src="bild/ejUpplagtObjektStor.jpg" onmousedown="bildZoom(1)" onmouseout="bildZoom(0)" /><br />';
	}
	else
	{
		bildTaggar = '<img id="visningsbild1" src="bildProdukt/' + artikelkod + '_1.jpg" onmousedown="bildZoom(1)" onmouseout="bildZoom(0)" /><br /><span class="under_the_large_image"><span class="product_information">' + infogaExtrabild(artikelkod,antalbilder) + '</span><span class="product_information">' + infogaProdukttext(artikelkod,i)+ '</span>';
		return bildTaggar+'<br /></span>';
	}
}



function infogaProdukttext(artikelkod,i)
{
	artikelkodTemp = xmlDokument.getElementsByTagName('artikelkod')[i].childNodes[0].nodeValue;
	if (artikelkod != artikelkodTemp) { return "Något är fel med artikelkoden. Anropade "+artikelkod+" men innehöll "+artilelkodTemp; }
	data = xmlDokument.getElementsByTagName('data')[i].childNodes[0].nodeValue;
	pris = xmlDokument.getElementsByTagName('pris')[i].childNodes[0].nodeValue;
	return data + '<br /><br />Pris: ' + pris + '<br /><br />';
}



function laddaObjektInfo(artikelkod, i)
{
	if(temp == "") { temp = artikelkod; } else { document.getElementById("objekt"+temp).style.backgroundColor="#f9f9f9"; temp = artikelkod;}
	document.getElementById("objekt"+artikelkod).style.backgroundColor="#f0f0f0";
	antalbilder = parseInt(xmlDokument.getElementsByTagName('antalbilder')[i].childNodes[0].nodeValue);
	document.getElementById("product_focus").innerHTML = infogaProduktinformation(artikelkod,antalbilder,i);
}



function loadXML(namn)
{
	if (namn=="objektlista")
	{
    // Skapar ett giltigt filnamn att söka på.
    xmlFilen = "objektlista.xml";
  
  	// Gör xmlFilen tillgänglig.
  	xmlBoot(xmlFilen)
  	
   	// Bygger visningssidan.
    document.getElementById("product_list").innerHTML=produktLista();
  }
	else
	{
	// Skapar ett giltigt filnamn att söka på.
	xmlFilen = "sidor.xml";

	// Gör xmlFilen tillgänglig.
	xmlBoot(xmlFilen)

	// Bygger visningssidan.
	content = "";
	x = xmlDokument.getElementsByTagName(namn)[0];
//content = x.childNodes[0].nodeValue;
//content=content + xmlDokument.getElementsByTagName(namn)[0].childNodes[0].nodeName;
content=content + '&nbsp;Sidan är under uppbyggnad och informationen är inte helt färdig.\<br />&nbsp;Ring för att få veta mer 026-10 87 88\<br />&nbsp;Bill Myles\<br />&nbsp;\<a href="http://www.hitta.se/LargeMap.aspx?z=2&mp=%3Cpts%3E%3Cpt%20x%3D%221570395%22%20y%3D%226731000%22%20i%3D%22http%3A//www.hitta.se/images/point.png%22%3E%3Ct%3EPianoverkstaden%20%28G%E4vle%29%2C%20Ring%20innan%20bes%F6k%20p%E5%20tfn%3A%20026-10%2087%2088%3C/t%3E%3C/pt%3E%3C/pts%3E">Karta på Hitta.se\</a>';

//content=content + xmlDokument.getElementsByTagName(namn)[0].childNodes[0].nodeValue;
x=xmlDokument.getElementsByTagName(namn)[0].childNodes[0];
x=x.nextSibling;
//content=content + x.childNodes[0].nodeValue;
    //Skriver ut strängen.
    document.getElementById("product_list").innerHTML=content;
  }
}



function produktLista()
{
	artikelkod = xmlDokument.getElementsByTagName('artikelkod');
	antalbilder = xmlDokument.getElementsByTagName('antalbilder');
	textString = '';
	for (i=0;i<artikelkod.length;i++)
	{
		artikelkodTemp = artikelkod[i].childNodes[0].nodeValue;
		bildSrc = "";
		if(parseInt(antalbilder[i].childNodes[0].nodeValue) == 0 || parseInt(antalbilder[i].childNodes[0].nodeValue) == 1){ bildSrc = "bild/ejUpplagtObjektLiten.jpg"; } else { bildSrc = "bildProdukt/" + artikelkodTemp + "_0.jpg"; }
		textString = textString + '<span id="objekt' + artikelkodTemp + '" class="objekt"><a href="javascript: laddaObjektInfo(\''+ artikelkodTemp +'\','+ i +')"><img src="' + bildSrc +'" class="objekt" /><br />' + artikelkodTemp + '</a></span>';
	}
	if (artikelkod.length%4 != 0)
		for (i=artikelkod.length;i%4!=0;i++)
      textString = textString + '<span class="objekt"><img src="bild/ingetObjektLiten.jpg" /><br />&nbsp;</span>';
	 
	return textString;
}


function getObj(name)	{
	  if (document.getElementById)	{    	// DOM level 1 browsers: IE 5+, NN 6+
	  	this.obj = document.getElementById(name);
		this.style = document.getElementById(name).style;
	  }
	  else if (document.all)	{  			// IE 4
		this.obj = document.all[name];
		this.style = document.all[name].style;
	  }
	  else if (document.layers)  { 			// NN 4
	   	this.obj = document.layers[name];
	   	this.style = document.layers[name];
	  }
}

// this function makes the image visible
function showpic(visiblechunk) {
		if (!DHTML){
		 alert ('Sorry, your browser can\'t show the large image!');
		 return;
		}
		var displayedpic = new getObj(visiblechunk);
		
		displayedpic.style.visibility = 'visible';
	}
	
// this function makes the image invisible	
function hidepic(invisiblechunk) {
		if (!DHTML){
		 alert ('Sorry, your browser can\'t hide the large image!');
		 return;
		}
	
		var hiddenpic = new getObj(invisiblechunk);
		
		hiddenpic.style.visibility = 'hidden';
	}
