﻿//Variable to make the request object accessable globaly.
var request;

//Variable to determine if the preloader is visible
var isPreLoader = false;

//Variable to determine if the result table is visible
var isResultTable = false;

//Object for xmlparsing
var xmlDoc;   
var isFF;         

createXMLDoc();                

//This function will create the parser-object depending on
//the clients browser.
function createXMLDoc() {
    try {
        xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
        xmlDoc.async = "false";
        xmlDoc.onreadystatechange = CheckResult; 
    } catch(tryfirefox) {
        try {
            isFF = true;
        } catch (failed) {
            alert("Error initilizing XML Parser!");
        }
    }
        
}
  
//This function will create the request-object depending on
//the clients browser.
function createRequest() {    
  try {    
    request = new XMLHttpRequest();
  } catch (trymicrosoft) {    
    try {
      request = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (othermicrosoft) {      
      try {
        request = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (failed) {        
        request = false;
      }
    }
  }
  //If it wasn't able to create a XMLHttpRequest it displays
  //message.
  if (!request)
    alert("Error initializing XMLHttpRequest!");      
}

//This funtion is used to update the page according to the
//result received from the server.
function updatePage()
{        
    if(request.readyState == 4)
    {                        
        if(request.status == 200)
        {
            if(isFF)
            {
                var parser = new DOMParser();                
                xmlDoc = parser.parseFromString(request.responseText, "text/xml");
                BuildResultFF();                
            }
            else
            {
                // Read XML
                xmlDoc.loadXML(request.responseText);
            }
        }
        else       
            alert("Ett fel har inträffat. Kontakta Webmastern!");        
    }
}    

function ShowPreLoader()
{
    if(!isPreLoader)
    {
        var img = document.createElement('img');
        img.setAttribute('id', 'preloader');
        img.setAttribute('src', 'graphics/preloader_search.gif');
        img.setAttribute('alt', 'Söker...');
        img.setAttribute('title', 'Söker...');
        
        var preloaderTD = document.getElementById('preloaderTD'); 
        preloaderTD.insertBefore(img, preloaderTD.firstChild);
        isPreLoader = true;
    }
}  

function HidePreLoader()
{
    if(isPreLoader)
    {
        var preLoaderTD = document.getElementById('preloaderTD');
        var img = document.getElementById('preloader');
        
        preLoaderTD.removeChild(img);
        
        isPreLoader = false;
    }
}

function ClearResultTable()
{
    var targetTd = document.getElementById('searchResult');
    targetTd.innerHTML = "";
    isResultTable = false;
}                 

function ShowResultTable()
{
    if(!isResultTable)
    {
        var targetTd = document.getElementById('searchResult');
        targetTd.innerHTML = '<table width="100%" border="0" cellpadding="0" cellspacing="2">' +
                                '<tr>' +
                                    '<td width="40%" align="left">' +
                                        '<div class="result_box_products">' +
                                            '<h4 align="left">&nbsp;&nbsp;Produkter</h4>' +
                                            '<br />' +
                                            '<table id="tblProducts" width="95%" border="0" cellpadding="2" cellspacing="0">' +                        
                                            '</table>' +
                                        '</div>' +
                                    '</td>' +
                                    '<td width="30%" align="center">' +
                                        '<div class="result_box_categories">' +
                                            '<h4 align="left">&nbsp;&nbsp;Kategorier</h4>' +
                                            '<br />' +
                                            '<table id="tblCategories" width="95%" border="0" cellpadding="2" cellspacing="0">' +                                                             
                                            '</table>' +
                                        '</div>' +
                                    '</td>   ' +
                                    '<td width="30%" align="right">' +
                                        '<div class="result_box_manuf">' +
                                            '<h4 align="left">&nbsp;&nbsp;Tillverkare</h4>' +
                                            '<br />' +
                                            '<table id="tblManufactorers" width="95%" border="0" cellpadding="2" cellspacing="0">' +                        
                                            '</table>' +
                                        '</div>' +
                                    '</td>' +
                                '</tr>' +
                            '</table>' +
                            '<br /><br />';
                            
        isResultTable = true;
    }
}

function ShowResultTableDOM()
{
    // Hämta cellen som vi skall placera resultatet i
    var targetTd = document.getElementById('searchResult');    
   
    // Skapa rubriken "Sökresultat"
    var header = document.createElement('b');
    header.setAttribute('class', 'generalCaption');
    header.innerText = "Sökresultat";
    targetTd.appendChild(header);
    targetTd.appendChild(document.createElement('br'));
    targetTd.appendChild(document.createElement('br'));
    
    // Skapa tabellen som skall hålla de tre boxarna med resultat
    var tblMain = document.createElement('table');
    tblMain.setAttribute('width', '100%');
    tblMain.setAttribute('border', '1');
    tblMain.setAttribute('cellpadding', '1');
    tblMain.setAttribute('cellspacing', '1');    
    
    // Skapa en rad som skall hålla boxarna
    var trMain = document.createElement('tr');
    tblMain.appendChild(trMain);
    
    // Skapa cellen för produktboxen
    var tdProducts = document.createElement('td');
    tdProducts.setAttribute('width', '40%');
    tdProducts.setAttribute('align', 'left');
    
    // Skapa en div för boxen
    var divProducts = document.createElement('div');
    divProducts.setAttribute('class', 'result_box_products');
    
    // Skapa header för boxen
    var hProducts = document.createElement('h4');
    hProducts.innerText = "&nbsp;Produkter&;nbsp";
    
    // Skapa tabellen tblProducts som vi skall placera resultatet i sen
    var tblProducts = document.createElement('table');
    tblProducts.setAttribute('id', 'tblProducts');
    tblProducts.setAttribute('width', '100%');
    tblProducts.setAttribute('border', '0');
    tblProducts.setAttribute('cellpadding', '2');
    tblProducts.setAttribute('cellspacing', '0');
    
    // Lägg till allt för produktboxen
    divProducts.appendChild(hProducts);
    divProducts.appendChild(document.createElement('br'));
    divProducts.appendChild(tblProducts);
    tdProducts.appendChild(divProducts);
    trMain.appendChild(tdProducts);
    
    // Skapa cellen för kategorierna
    var tdCategories = document.createElement('td');
    tdCategories.setAttribute('width', '30%');
    tdCategories.setAttribute('align', 'center');
    
    // Skapa en div för boxen
    var divCategories = document.createElement('div');
    divCategories.setAttribute('class', 'result_box_categories');
    
    // Skapa header för boxen
    var hCategories = document.createElement('h4');
    hProducts.innerText = "&nbsp;Kategorier&;nbsp";
    
    // Skapa tabellen tblCategories som vi skall placera resultatet i sen
    var tblCategories = document.createElement('table');
    tblCategories.setAttribute('id', 'tblCategories');
    tblCategories.setAttribute('width', '100%');
    tblCategories.setAttribute('border', '0');
    tblCategories.setAttribute('cellpadding', '2');
    tblCategories.setAttribute('cellspacing', '0');
    
    // Lägg till allt för kategoriboxen
    divCategories.appendChild(hCategories);
    divCategories.appendChild(document.createElement('br'));
    divCategories.appendChild(tblCategories);
    tdCategories.appendChild(divCategories);
    trMain.appendChild(tdCategories);
    
    // Skapa cellen för tillverkare
    var tdManufactorers = document.createElement('td');
    tdManufactorers.setAttribute('width', '30%');
    tdManufactorers.setAttribute('align', 'center');
    
    // Skapa en div för boxen
    var divManufactorers = document.createElement('div');
    divManufactorers.setAttribute('class', 'result_box_manuf');
    
    // Skapa header för boxen
    var hManufactorers = document.createElement('h4');
    hManufactorers.innerText = "&nbsp;Tillverkare&;nbsp";
    
    // Skapa tabellen tblManufactorers som vi skall placera resultatet i sen
    var tblManufactorers = document.createElement('table');
    tblManufactorers.setAttribute('id', 'tblManufactorers');
    tblManufactorers.setAttribute('width', '100%');
    tblManufactorers.setAttribute('border', '0');
    tblManufactorers.setAttribute('cellpadding', '2');
    tblManufactorers.setAttribute('cellspacing', '0');
    
    // Lägg till allt för produktboxen
    divManufactorers.appendChild(hManufactorers);
    divManufactorers.appendChild(document.createElement('br'));
    divManufactorers.appendChild(tblManufactorers);
    tdManufactorers.appendChild(divManufactorers);
    trMain.appendChild(tdManufactorers);
    
    tblMain.appendChild(trMain);
    targetTd.appendChild(tblMain);        
    
    isResultTable = true;
}

function CheckResult()
{
    if(xmlDoc.readyState == 4)
    {
        BuildResult();
    }
}

//This function builds the tables for result
function BuildResultFF()
{                                                                                     
    ShowResultTable();
    
    if(xmlDoc.documentElement.hasChildNodes)
    {
        var tbl;
        var highlight = "resultTableCell_lightBlue";
        var white = "resultTableCell_white"; 
        
        // Hantera alla produkter
        var products = xmlDoc.documentElement.getElementsByTagName('Product');                

        if(products.length > 0)
        {                                    
            // Hämta ut tabellen för produkter
            tbl = document.getElementById('tblProducts');
            
            while(document.getElementById("tblProducts").rows.length > 0)
            {
                document.getElementById("tblProducts").deleteRow(0);
            }
            
            // Skapa header för tabellen
            var thRow = tbl.insertRow(0);
            var thLeft = thRow.insertCell(0);
            thLeft.width = "2%";
            thLeft.className = white;
                                        
            var thNr = thRow.insertCell(1);
            thNr.width = "24%";
            thNr.className = white;
            var bNr = document.createElement('b');
            bNr.className = "resultTableCaption";
            bNr.textContent = "Artikel Nr.";
            thNr.appendChild(bNr);
            
            var thName = thRow.insertCell(2);
            thName.width = "72%";
            thName.className = white;
            var bName = document.createElement('b');
            bName.className = "resultTableCaption";
            bName.textContent = "Namn";    
            thName.appendChild(bName);                                                    
            
            var thRight = thRow.insertCell(3);
            thRight.width = "2%";
            thRight.className = white;
                           
            var cur = highlight;                        
            
            // För varje produkt
            for(var i = 0; i < products.length; i++)
            {                   
                var pID = products.item(i).getElementsByTagName('ProductID')[0].textContent;
                var pNr = products.item(i).getElementsByTagName('ProductNumber')[0].textContent;                
                var pMC = products.item(i).getElementsByTagName('MainCategoryID')[0].textContent;
                var pSC = products.item(i).getElementsByTagName('SubCategoryID')[0].textContent;
                var pName = products.item(i).getElementsByTagName('ProductName')[0].textContent;
                var pPreview = products.item(i).getElementsByTagName('PreviewHTML')[0].textContent;                                
                   
                // Hämta ut sista raden
                var lastRow = tbl.rows.length;
                
                // Skapa en rad i tabellen tblProducts
                var row = tbl.insertRow(lastRow);
                
                // Skapa tom cell
                var leftDummy = row.insertCell(0);
                leftDummy.width = "2%";
                leftDummy.className = cur;
                
                // Skapa cell för produktnummer
                var nrCell = row.insertCell(1);
                nrCell.width = "24%";
                nrCell.className = cur;
                var nrLink = document.createElement('a');
                nrLink.className = "resultLink";
                nrLink.href = "Product.aspx?pid=" + pID;
                nrLink.onmouseover = new Function("Tip('" + pPreview + "');");
                nrLink.textContent = pNr;
                nrCell.appendChild(nrLink);
                                                 
                // Skapa cell för produktens namn
                var nameCell = row.insertCell(2);
                nameCell.width = "72%";
                nameCell.className = cur;
                var nameLink = document.createElement('a');
                nameLink.className = "resultLink";
                nameLink.href = "Product.aspx?pid=" + pID;
                nameLink.onmouseover = new Function("Tip('" + pPreview + "');");
                nameLink.textContent = pName;
                nameCell.appendChild(nameLink);
                
                // Skapa tom cell
                var rightDummy = row.insertCell(3);
                rightDummy.width = "2%";
                rightDummy.className = cur;                                                          
                
                // Ändra bakgrund på nästa rad.
                if(cur == highlight)
                    cur = white;
                else
                    cur = highlight;
            }                        
        }
        
        // Hantera alla tillverkare        
        var manufactorers = xmlDoc.documentElement.getElementsByTagName('Manufactorer');
        if(manufactorers.length > 0)
        {
            // Hämta ut tabellen för tillverkare
            tbl = document.getElementById('tblManufactorers');
            while(document.getElementById("tblManufactorers").rows.length > 0)
            {
                document.getElementById("tblManufactorers").deleteRow(0);
            }
            
            // Skapa header för tabellen
            var thRow = tbl.insertRow(0);
            var thLeft = thRow.insertCell(0);
            thLeft.width = "2%";
            thLeft.className = white;
            
            var thManufactorer = thRow.insertCell(1);
            thManufactorer.width = "24%";
            thManufactorer.className = white;
            var bManufactorer = document.createElement('b');
            bManufactorer.className = "resultTableCaption";
            bManufactorer.textContent = "Tillverkare";    
            thManufactorer.appendChild(bManufactorer);           
                              
            var thCount = thRow.insertCell(2);
            thCount.width = "72%";
            thCount.className = white;
            var bCount = document.createElement('b');
            bCount.className = "resultTableCaption";
            bCount.textContent = "Antal";
            thCount.appendChild(bCount);
                                                                                                                       
            var thRight = thRow.insertCell(3);
            thRight.width = "2%";
            thRight.className = white;
            
            var cur = highlight;
                                                      
            // För varje tillverkare
            for(var j = 0; j < manufactorers.length; j++)
            {                                
                // Hämta ut värden ur xml
                var mName = manufactorers.item(j).getElementsByTagName('ManufactorerName')[0].textContent;
                var mProducts = manufactorers.item(j).getElementsByTagName('NrOfProducts')[0].textContent;
                
                // Hämta ut sista raden
                var lastRow = tbl.rows.length;
                
                // Skapa en rad i tabellen tblProducts
                var row = tbl.insertRow(lastRow);
                
                // Skapa tom cell
                var leftDummy = row.insertCell(0);
                leftDummy.width = "2%";
                leftDummy.className = cur;
                
                // Skapa cell för tillverkarens namn
                var nameCell = row.insertCell(1);
                nameCell.width = "72%";
                nameCell.className = cur;
                var nameLink = document.createElement('a');
                nameLink.className = "resultLink";
                nameLink.href = "Product.aspx";                        
                nameLink.textContent = mName;
                nameCell.appendChild(nameLink);
                
                // Skapa cell för tillverkarens namn
                var nrCell = row.insertCell(2);
                nrCell.width = "24%";
                nrCell.className = cur;
                var nrLink = document.createElement('a');
                nrLink.className = "resultLink";
                nrLink.href = "Product.aspx?pid=" + pID;                        
                nrLink.textContent = mProducts;
                nrCell.appendChild(nrLink);                                                                 
                
                // Skapa tom cell
                var rightDummy = row.insertCell(3);
                rightDummy.width = "2%";
                rightDummy.className = cur;
            } 
            
            // Ändra bakgrund på nästa rad.
            if(cur == highlight)
                cur = white;
            else
                cur = highlight;
        }
        
        // Hantera alla kategorier
        var categories = xmlDoc.documentElement.getElementsByTagName('Categories');
        if(categories.length > 0)
        {
            // Hämta ut tabellen för kategorier
            tbl = document.getElementById('tblCategories');
            while(document.getElementById("tblCategories").rows.length > 0)
            {
                document.getElementById("tblCategories").deleteRow(0);
            }
            
            // Skapa header för tabellen
            var thRow = tbl.insertRow(0);
            var thLeft = thRow.insertCell(0);
            thLeft.width = "2%";
            thLeft.className = white;
            
            var thCategory = thRow.insertCell(1);
            thCategory.width = "24%";
            thCategory.className = white;
            var bCategory = document.createElement('b');
            bCategory.className = "resultTableCaption";
            bCategory.textContent = "Kategori";    
            thCategory.appendChild(bCategory);           
                              
            var thCount = thRow.insertCell(2);
            thCount.width = "72%";
            thCount.className = white;
            var bCount = document.createElement('b');
            bCount.className = "resultTableCaption";
            bCount.textContent = "Antal";
            thCount.appendChild(bCount);
                                                                                                                       
            var thRight = thRow.insertCell(3);
            thRight.width = "2%";
            thRight.className = white;   
            
            var cur = highlight;                                                  
            
            var maincategories = categories.item(0).getElementsByTagName("MainCategory");                                           
            
            //För varje huvudkategori
            for(var j = 0; j < maincategories.length; j++)
            {                                   
                // Hämta ut värden ur xml   
                var cID = maincategories.item(j).getElementsByTagName("MainCategoryID")[0].textContent;                                  
                var cName = maincategories.item(j).getElementsByTagName("MainCategoryName")[0].textContent;                                  
                var cProducts = maincategories.item(j).getElementsByTagName("NrOfProducts")[0].textContent; 
                
                // Hämta ut sista raden
                var lastRow = tbl.rows.length;
                
                // Skapa en rad i tabellen tblProducts
                var row = tbl.insertRow(lastRow);
                
                // Skapa tom cell
                var leftDummy = row.insertCell(0);
                leftDummy.width = "2%";
                leftDummy.className = cur;
                
                // Skapa cell för kategorins namn
                var nameCell = row.insertCell(1);
                nameCell.width = "72%";
                nameCell.className = cur;
                var nameLink = document.createElement('a');
                nameLink.className = "resultLink";
                nameLink.href = "Products.aspx?cid=" + cID;                            
                nameLink.textContent = cName;
                nameCell.appendChild(nameLink);
                
                // Skapa cell för antalet produkter
                var nrCell = row.insertCell(2);
                nrCell.width = "24%";
                nrCell.className = cur;
                var nrLink = document.createElement('a');
                nrLink.className = "resultLink";
                nrLink.href = "Products.aspx?cid=" + cID;                            
                nrLink.textContent = cProducts;
                nrCell.appendChild(nrLink);                                                                 
                
                // Skapa tom cell
                var rightDummy = row.insertCell(3);
                rightDummy.width = "2%";
                rightDummy.className = cur;               
            }
            
            var subcategories = categories.item(0).getElementsByTagName("SubCategory");
            for(var j = 0; j < subcategories.length; j++)
            {
                // Hämta ut värden ur xml   
                var sID = subcategories.item(j).getElementsByTagName("SubCategoryID")[0].textContent;                                
                var cID = subcategories.item(j).getElementsByTagName("MainCategoryID")[0].textContent;
                var sName = subcategories.item(j).getElementsByTagName("SubCategoryName")[0].textContent;
                var sProducts = subcategories.item(j).getElementsByTagName("NrOfProducts")[0].textContent;
                
                // Hämta ut sista raden
                var lastRow = tbl.rows.length;
                
                // Skapa en rad i tabellen tblProducts
                var row = tbl.insertRow(lastRow);
                
                // Skapa tom cell
                var leftDummy = row.insertCell(0);
                leftDummy.width = "2%";
                leftDummy.className = cur;
                
                // Skapa cell för kategorins namn
                var nameCell = row.insertCell(1);
                nameCell.width = "72%";
                nameCell.className = cur;
                var nameLink = document.createElement('a');
                nameLink.className = "resultLink";
                nameLink.href = "Products.aspx?cid=" + cID + "&sid=" + sID;                            
                nameLink.textContent = sName;
                nameCell.appendChild(nameLink);
                
                // Skapa cell för antalet produkter
                var nrCell = row.insertCell(2);
                nrCell.width = "24%";
                nrCell.className = cur;
                var nrLink = document.createElement('a');
                nrLink.className = "resultLink";
                nrLink.href = "Products.aspx?cid=" + cID + "&sid=" + sID;                            
                nrLink.textContent = sProducts;
                nrCell.appendChild(nrLink);                                                                 
                
                // Skapa tom cell
                var rightDummy = row.insertCell(3);
                rightDummy.width = "2%";
                rightDummy.className = cur;
            }
        }                                                                             
    }       	                
    HidePreLoader();
}

//This function builds the tables for result
function BuildResult()
{                                                                                     
    ShowResultTable();
    
    if(xmlDoc.documentElement.hasChildNodes)
    {
        var tbl;
        var highlight = "resultTableCell_lightBlue";
        var white = "resultTableCell_white";     
        
        // För alla element inom SearchResult
        for(var i = 0; i < xmlDoc.documentElement.childNodes.length; i++)
        {
            // Om det är produkter
            if(xmlDoc.documentElement.childNodes[i].tagName == "Products")
            {
                // Hämta ut tabellen för produkter
                tbl = document.getElementById('tblProducts');
                
                while(document.getElementById("tblProducts").rows.length > 0)
                {
                    document.getElementById("tblProducts").deleteRow(0);
                }
                
                // Skapa header för tabellen
                var thRow = tbl.insertRow(0);
                var thLeft = thRow.insertCell(0);
                thLeft.width = "2%";
                thLeft.className = white;
                                            
                var thNr = thRow.insertCell(1);
                thNr.width = "24%";
                thNr.className = white;
                var bNr = document.createElement('b');
                bNr.className = "resultTableCaption";
                bNr.innerText = "Artikel Nr.";
                thNr.appendChild(bNr);
                
                var thName = thRow.insertCell(2);
                thName.width = "72%";
                thName.className = white;
                var bName = document.createElement('b');
                bName.className = "resultTableCaption";
                bName.innerText = "Namn";    
                thName.appendChild(bName);                                                    
                
                var thRight = thRow.insertCell(3);
                thRight.width = "2%";
                thRight.className = white;
                               
                var cur = highlight;                                        
                
                // För varje produkt
                for(var j = 0; j < xmlDoc.documentElement.childNodes[i].childNodes.length; j++)
                {  
                    // Hämta ut värden ur xml
                    var pID = xmlDoc.documentElement.childNodes[i].childNodes[j].childNodes[0].text;
                    var pNr = xmlDoc.documentElement.childNodes[i].childNodes[j].childNodes[1].text;
                    var pMC = xmlDoc.documentElement.childNodes[i].childNodes[j].childNodes[2].text;
                    var pSC = xmlDoc.documentElement.childNodes[i].childNodes[j].childNodes[3].text;
                    var pName = xmlDoc.documentElement.childNodes[i].childNodes[j].childNodes[4].text;
                    var pPreview = xmlDoc.documentElement.childNodes[i].childNodes[j].childNodes[5].text;
                    
                    // Hämta ut sista raden
                    var lastRow = tbl.rows.length;
                    
                    // Skapa en rad i tabellen tblProducts
                    var row = tbl.insertRow(lastRow);
                    
                    // Skapa tom cell
                    var leftDummy = row.insertCell(0);
                    leftDummy.width = "2%";
                    leftDummy.className = cur;
                    
                    // Skapa cell för produktnummer
                    var nrCell = row.insertCell(1);
                    nrCell.width = "24%";
                    nrCell.className = cur;
                    var nrLink = document.createElement('a');
                    nrLink.className = "resultLink";
                    nrLink.href = "Product.aspx?pid=" + pID;
                    nrLink.onmouseover = new Function("Tip('" + pPreview + "');");
                    nrLink.innerText = pNr;
                    nrCell.appendChild(nrLink);
                                                     
                    // Skapa cell för produktens namn
                    var nameCell = row.insertCell(2);
                    nameCell.width = "72%";
                    nameCell.className = cur;
                    var nameLink = document.createElement('a');
                    nameLink.className = "resultLink";
                    nameLink.href = "Product.aspx?pid=" + pID;
                    nameLink.onmouseover = new Function("Tip('" + pPreview + "');");
                    nameLink.innerText = pName;
                    nameCell.appendChild(nameLink);
                    
                    // Skapa tom cell
                    var rightDummy = row.insertCell(3);
                    rightDummy.width = "2%";
                    rightDummy.className = cur;                                                          
                    
                    // Ändra bakgrund på nästa rad.
                    if(cur == highlight)
                        cur = white;
                    else
                        cur = highlight;
                }  
                
                // Tom rad
                var tbRowDummy = tbl.insertRow(tbl.rows.length);                                            
                tbRowDummy.height = '4';
                var tbDummy = tbRowDummy.insertCell(0);
                tbDummy.width = "100%";
                //tbDummy.className = white;
                tbDummy.colSpan = '4'
                tbDummy.align = 'right'                
                var br = document.createElement('b');
                br.className = "resultTableCaption";
                br.innerText = " ";                
                tbDummy.appendChild(br);
                
                // Skriv ut sökresultatet
                var tbRow = tbl.insertRow(tbl.rows.length);                                            
                var tbNr = tbRow.insertCell(0);
                tbNr.width = "100%";
                //tbNr.className = white;
                tbNr.colSpan = '4'
                tbNr.align = 'right'
                var NrOfProducts = document.createElement('b');
                NrOfProducts.className = "generalTextSmallerBold";                
                NrOfProducts.innerText = "Hittade totalt " + xmlDoc.documentElement.childNodes[i].getAttribute("Count") + " matchande produkter";                
                tbNr.appendChild(NrOfProducts);
                
                var tbRow = tbl.insertRow(tbl.rows.length);                                            
                var tbNr = tbRow.insertCell(0);
                tbNr.width = "100%";
                //tbNr.className = white;
                tbNr.colSpan = '4'
                tbNr.align = 'right'
                var NrOfProducts = document.createElement('a');
                NrOfProducts.className = "cat_box_descriptions";
                NrOfProducts.href = "Products.aspx?match=" + document.getElementById('search').value;
                NrOfProducts.innerText = "Visa alla";                
                tbNr.appendChild(NrOfProducts);                                                                                       
            }
            else if(xmlDoc.documentElement.childNodes[i].tagName == "Manufactorers")
            {              
                // Hämta ut tabellen för tillverkare
                tbl = document.getElementById('tblManufactorers');
                while(document.getElementById("tblManufactorers").rows.length > 0)
                {
                    document.getElementById("tblManufactorers").deleteRow(0);
                }
                
                // Skapa header för tabellen
                var thRow = tbl.insertRow(0);
                var thLeft = thRow.insertCell(0);
                thLeft.width = "2%";
                thLeft.className = white;
                
                var thManufactorer = thRow.insertCell(1);
                thManufactorer.width = "24%";
                thManufactorer.className = white;
                var bManufactorer = document.createElement('b');
                bManufactorer.className = "resultTableCaption";
                bManufactorer.innerText = "Tillverkare";    
                thManufactorer.appendChild(bManufactorer);           
                                  
                var thCount = thRow.insertCell(2);
                thCount.width = "72%";
                thCount.className = white;
                var bCount = document.createElement('b');
                bCount.className = "resultTableCaption";
                bCount.innerText = "Antal";
                thCount.appendChild(bCount);
                                                                                                                           
                var thRight = thRow.insertCell(3);
                thRight.width = "2%";
                thRight.className = white;
                
                var cur = highlight;
                                                          
                // För varje tillverkare
                for(var j = 0; j < xmlDoc.documentElement.childNodes[i].childNodes.length; j++)
                {                                
                    // Hämta ut värden ur xml
                    var mName = xmlDoc.documentElement.childNodes[i].childNodes[j].childNodes[0].text;
                    var mProducts = xmlDoc.documentElement.childNodes[i].childNodes[j].childNodes[1].text;                                
                    
                    // Hämta ut sista raden
                    var lastRow = tbl.rows.length;
                    
                    // Skapa en rad i tabellen tblProducts
                    var row = tbl.insertRow(lastRow);
                    
                    // Skapa tom cell
                    var leftDummy = row.insertCell(0);
                    leftDummy.width = "2%";
                    leftDummy.className = cur;
                    
                    // Skapa cell för tillverkarens namn
                    var nameCell = row.insertCell(1);
                    nameCell.width = "72%";
                    nameCell.className = cur;
                    var nameLink = document.createElement('a');
                    nameLink.className = "resultLink";
                    nameLink.href = "Product.aspx";                        
                    nameLink.innerText = mName;
                    nameCell.appendChild(nameLink);
                    
                    // Skapa cell för tillverkarens namn
                    var nrCell = row.insertCell(2);
                    nrCell.width = "24%";
                    nrCell.className = cur;
                    var nrLink = document.createElement('a');
                    nrLink.className = "resultLink";
                    nrLink.href = "Product.aspx?pid=" + pID;                        
                    nrLink.innerText = mProducts;
                    nrCell.appendChild(nrLink);                                                                 
                    
                    // Skapa tom cell
                    var rightDummy = row.insertCell(3);
                    rightDummy.width = "2%";
                    rightDummy.className = cur;
                    
                    // Ändra bakgrund på nästa rad.
                    if(cur == highlight)
                        cur = white;
                    else
                        cur = highlight;
                } 
                                    
                // Tom rad
                var tbRowDummy = tbl.insertRow(tbl.rows.length);                                            
                tbRowDummy.height = '4';
                var tbDummy = tbRowDummy.insertCell(0);
                tbDummy.width = "100%";                
                tbDummy.colSpan = '4'
                tbDummy.align = 'right'                
                var br = document.createElement('b');
                br.className = "resultTableCaption";
                br.innerText = " ";                
                tbDummy.appendChild(br);
                
                // Skriv ut sökresultatet
                var tbRow = tbl.insertRow(tbl.rows.length);                                            
                var tbNr = tbRow.insertCell(0);
                tbNr.width = "100%";                
                tbNr.colSpan = '4'
                tbNr.align = 'right'
                var NrOfProducts = document.createElement('b');
                NrOfProducts.className = "generalTextSmallerBold";                
                NrOfProducts.innerText = "Hittade totalt " + xmlDoc.documentElement.childNodes[i].getAttribute("Count") + " matchande tillverkare";                
                tbNr.appendChild(NrOfProducts);               
            }
            else if(xmlDoc.documentElement.childNodes[i].tagName == "Categories")
            {    
                // Hämta ut tabellen för kategorier
                tbl = document.getElementById('tblCategories');
                while(document.getElementById("tblCategories").rows.length > 0)
                {
                    document.getElementById("tblCategories").deleteRow(0);
                }
                
                // Skapa header för tabellen
                var thRow = tbl.insertRow(0);
                var thLeft = thRow.insertCell(0);
                thLeft.width = "2%";
                thLeft.className = white;
                
                var thCategory = thRow.insertCell(1);
                thCategory.width = "24%";
                thCategory.className = white;
                var bCategory = document.createElement('b');
                bCategory.className = "resultTableCaption";
                bCategory.innerText = "Kategori";    
                thCategory.appendChild(bCategory);           
                                  
                var thCount = thRow.insertCell(2);
                thCount.width = "72%";
                thCount.className = white;
                var bCount = document.createElement('b');
                bCount.className = "resultTableCaption";
                bCount.innerText = "Antal";
                thCount.appendChild(bCount);
                                                                                                                           
                var thRight = thRow.insertCell(3);
                thRight.width = "2%";
                thRight.className = white;   
                
                var cur = highlight;
                                                                 
                //För varje kategori
                for(var j = 0; j < xmlDoc.documentElement.childNodes[i].childNodes.length; j++)
                {   
                    // Kontrollera om det är en huvudkategori   
                    if(xmlDoc.documentElement.childNodes[i].childNodes[j].tagName == "MainCategory")
                    {                                                            
                        // Hämta ut värden ur xml   
                        var cID = xmlDoc.documentElement.childNodes[i].childNodes[j].childNodes[0].text;                                  
                        var cName = xmlDoc.documentElement.childNodes[i].childNodes[j].childNodes[1].text;
                        var cProducts = xmlDoc.documentElement.childNodes[i].childNodes[j].childNodes[2].text;                                
                        
                        // Hämta ut sista raden
                        var lastRow = tbl.rows.length;
                        
                        // Skapa en rad i tabellen tblProducts
                        var row = tbl.insertRow(lastRow);
                        
                        // Skapa tom cell
                        var leftDummy = row.insertCell(0);
                        leftDummy.width = "2%";
                        leftDummy.className = cur;
                        
                        // Skapa cell för kategorins namn
                        var nameCell = row.insertCell(1);
                        nameCell.width = "72%";
                        nameCell.className = cur;
                        var nameLink = document.createElement('a');
                        nameLink.className = "resultLink";
                        nameLink.href = "Products.aspx?cid=" + cID;                            
                        nameLink.innerText = cName;
                        nameCell.appendChild(nameLink);
                        
                        // Skapa cell för antalet produkter
                        var nrCell = row.insertCell(2);
                        nrCell.width = "24%";
                        nrCell.className = cur;
                        var nrLink = document.createElement('a');
                        nrLink.className = "resultLink";
                        nrLink.href = "Products.aspx?cid=" + cID;                            
                        nrLink.innerText = cProducts;
                        nrCell.appendChild(nrLink);                                                                 
                        
                        // Skapa tom cell
                        var rightDummy = row.insertCell(3);
                        rightDummy.width = "2%";
                        rightDummy.className = cur;                                                                  
                    }
                    else if(xmlDoc.documentElement.childNodes[i].childNodes[j].tagName == "SubCategory")
                    {                                                            
                        // Hämta ut värden ur xml   
                        var sID = xmlDoc.documentElement.childNodes[i].childNodes[j].childNodes[0].text;                                  
                        var cID = xmlDoc.documentElement.childNodes[i].childNodes[j].childNodes[1].text;                                  
                        var sName = xmlDoc.documentElement.childNodes[i].childNodes[j].childNodes[2].text;
                        var sProducts = xmlDoc.documentElement.childNodes[i].childNodes[j].childNodes[3].text;                                
                        
                        // Hämta ut sista raden
                        var lastRow = tbl.rows.length;
                        
                        // Skapa en rad i tabellen tblProducts
                        var row = tbl.insertRow(lastRow);
                        
                        // Skapa tom cell
                        var leftDummy = row.insertCell(0);
                        leftDummy.width = "2%";
                        leftDummy.className = cur;
                        
                        // Skapa cell för kategorins namn
                        var nameCell = row.insertCell(1);
                        nameCell.width = "72%";
                        nameCell.className = cur;
                        var nameLink = document.createElement('a');
                        nameLink.className = "resultLink";
                        nameLink.href = "Products.aspx?cid=" + cID + "&sid=" + sID;                            
                        nameLink.innerText = sName;
                        nameCell.appendChild(nameLink);
                        
                        // Skapa cell för antalet produkter
                        var nrCell = row.insertCell(2);
                        nrCell.width = "24%";
                        nrCell.className = cur;
                        var nrLink = document.createElement('a');
                        nrLink.className = "resultLink";
                        nrLink.href = "Products.aspx?cid=" + cID + "&sid=" + sID;                            
                        nrLink.innerText = sProducts;
                        nrCell.appendChild(nrLink);                                                                 
                        
                        // Skapa tom cell
                        var rightDummy = row.insertCell(3);
                        rightDummy.width = "2%";
                        rightDummy.className = cur;    
                        
                                                                                   
                    }  
                    // Ändra bakgrund på nästa rad.
                    if(cur == highlight)
                        cur = white;
                    else
                        cur = highlight;                                                                                                                                                                            
                } 
                
                // Tom rad
                var tbRowDummy = tbl.insertRow(tbl.rows.length);                                            
                tbRowDummy.height = '4';
                var tbDummy = tbRowDummy.insertCell(0);
                tbDummy.width = "100%";
                tbDummy.colSpan = '4'
                tbDummy.align = 'right'                
                var br = document.createElement('b');
                br.className = "resultTableCaption";
                br.innerText = " ";                
                tbDummy.appendChild(br);
                
                // Skriv ut sökresultatet
                var tbRow = tbl.insertRow(tbl.rows.length);                                            
                var tbNr = tbRow.insertCell(0);
                tbNr.width = "100%";
                tbNr.colSpan = '4'
                tbNr.align = 'right'
                var NrOfProducts = document.createElement('b');
                NrOfProducts.className = "generalTextSmallerBold";                
                NrOfProducts.innerText = "Hittade totalt " + xmlDoc.documentElement.childNodes[i].getAttribute("Count") + " matchande kategorier";                
                tbNr.appendChild(NrOfProducts); 
            }                        
        }                                             
    }       	                
    HidePreLoader();
}       

function search_product(text)
{
    var searchBox = document.getElementById('search');
    
    if(searchBox.value.length > 2)
    {                
        // Create request
        createRequest();    

        //Create a url-variable with the command id
        var url = "Search.aspx";
        
        var params = "TEXT=" + searchBox.value;
            
        //Opens the request and pass the URL variabele and specifies the method
        //to use.
        request.open("POST", url, true);
        
        //Send the proper header information along with the request
        request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        request.setRequestHeader("Content-length", params.length);
        request.setRequestHeader("Connection", "close");
            
        //Sets the method to be executed when events are fired from the request
        //object.
        request.onreadystatechange = updatePage;
            
        //Sends the request.
        request.send(params);  
        
        ShowPreLoader();        
        
        //xmlDoc.load("Search.aspx?TEXT=" + searchBox.value);
    }
    else if(searchBox.value.length > 0 && searchBox.value.length <= 2 && isResultTable)
    {
        ClearResultTable();
    }
}