﻿

function AddTopProducts() {

    var tblDefault = null;
    var tblProductItems = new Array();
    var tblTopProducts = new Array();
    var tables = document.getElementsByTagName("TABLE");
    try {
        for (var i = 0; i < tables.length; i++) {
            var elm = tables[i];
            if (elm.className == "Frontpage_Custom_TBL") {
                tblDefault = elm;
            }
            if (elm.className == "frontpageTblItem") {
                tblTopProducts.push(elm);
            }
            if (elm.className == "tblProductItem") {
                tblProductItems.push(elm);
            }
        }
        
    } catch(e) {
        alert(e.Message);
    }

    if (tblDefault != null) {
        for (var h = 0; h < tblProductItems.length; h++) {
            tblDefault = tblProductItems[h];
            var productID = "";
            var productName = "";
            var productUrl = "";
            var prodDesc1 = "";
            var prodDesc2 = "";
            var prodDesc3 = "";
            var prodDesc4 = "";
            var prodImgUrl = "";
            var prodPrice = "";
            var imgWidth = 0;
            var imgHeight = 0;
            for (var i = 1; i < tblDefault.rows.length; i++) {
                var descCount = 0;
                var _row = tblDefault.rows[i];
                for (var l = 0; l < _row.cells.length; l++) {
                    var _cell  = _row.cells[l];
                    for (var j = 0; j < _cell.childNodes.length; j++) {
                        var _item = _cell.childNodes[j];
                        switch (i) {
                            case 0:
                                productID = _item.nodeValue.trim();
                                break;
                            case 1:
                                if (_item.tagName == "A") {
                                    productName = _item.innerHTML.trim();
                                    productUrl = _item.href;
                                }
                                break;
                            case 2:
                                if (_item.nodeType == 3) {
                                    var txt = _item.nodeValue.trim().replace("Liter", "ltr");
                                    if (txt.toLowerCase().indexOf("integreret") == -1 ) {
                                        switch (descCount) {
                                            case 0:
                                                prodDesc1 = txt;
                                                break;
                                            case 1:
                                                prodDesc2 = txt;
                                                break;
                                            case 2:
                                                prodDesc3 = txt;
                                                break;
                                            case 3:
                                                prodDesc4 = txt;
                                                break;
                                        }
                                    }
                                    descCount++;
                                }
                                break;
                            case 3:
                                if (_item.tagName == "A") {
                                    for (var k = 0; k < _item.childNodes.length; k++) {
                                        var prodImg = _item.childNodes[k];
                                        if (prodImg.tagName == "IMG") {
                                            prodImgUrl = prodImg.src;
                                            imgWidth = prodImg.naturalWidth ? prodImg.naturalWidth : prodImg.width;
                                            imgHeight = prodImg.naturalHeight ? prodImg.naturalHeight : prodImg.height;
                                        }
                                    }
                                }
                                break;
                            case 4:
                                if (_item.nodeType == 3) {
                                    var txt = _item.nodeValue.trim();
                                    var index = txt.indexOf("DKK");
                                    if (index > -1) {
                                        prodPrice = txt.replace("DKK", "").trim();
										prodPrice = prodPrice.replace(",00", ",-");
                                    }
                                }
                                break;
                        }
                    }
                }
            }
            if (tblDefault != null) {
                tblDefault.style.display = "none";
                tblDefault.style.visibility = "hidden";
                var ctrl = tblDefault.parentNode;
                while (ctrl.tagName != "SPAN" && ctrl.className != "Text1_Frontpage") {
                    ctrl = ctrl.parentNode;
                }
                if (ctrl != null) {
                    for (var m = 0; m < ctrl.childNodes.length; m++) {
                        _child = ctrl.childNodes[m];
                        if (_child.tagName == "BR") {
                            _child.style.display = "none";
                            _child.style.visibility = "hidden";

                        }
                    }
                }
            }
            if (tblTopProducts.length > h) {
                var tblTopProduct = tblTopProducts[h];
                tblTopProduct.setAttribute("url", productUrl);
                if (tblTopProduct.addEventListener) {
                    tblTopProduct.addEventListener("click", OpenProduct, false);
                }
                else if (tblTopProduct.attachEvent) {
                    tblTopProduct.attachEvent("onclick", OpenProduct);
                }
                else {
                    tblTopProduct.onclick = OpenProduct;
                }
                var _tr1 = tblTopProduct.insertRow(tblTopProduct.rows.length);
                _tr1.style.verticalAlign = "top";
                var _tr2 = tblTopProduct.insertRow(tblTopProduct.rows.length);
                var _cell1 = _tr1.insertCell(0);
                
                var _cell2 = _tr1.insertCell(1);
                var _cell3 = _tr2.insertCell(0);

                //Description
                _cell1.className = "frontpageTblItem_description_row";
                _div1 = document.createElement("div");
                _div1.className = "frontpageTblItem_productName";
                _cell1.appendChild(_div1);

                var _span1 = document.createElement("span");
                _span1.innerHTML = productName;
                _div1.appendChild(_span1);
                _div1.appendChild(document.createElement("br"));

                var _span2 = document.createElement("span");
                _span2.innerHTML = prodDesc1;
                _cell1.appendChild(_span2);
                _cell1.appendChild(document.createElement("br"));

                var _span3 = document.createElement("span");
                _span3.innerHTML = prodDesc2;
                _cell1.appendChild(_span3);
                _cell1.appendChild(document.createElement("br"));

                var _span4 = document.createElement("span");
                _span4.innerHTML = prodDesc3;
                _cell1.appendChild(_span4);
                _cell1.appendChild(document.createElement("br"));

                var _span5 = document.createElement("span");
                _span5.innerHTML = prodDesc4;
                _cell1.appendChild(_span5);

                //Image
                _cell2.rowSpan = 2;

                _div2 = document.createElement("div");
                _div2.className = "frontpageTblItem_img";
                _cell2.appendChild(_div2);

                var _topProductImg = document.createElement("img");
                var imgId = "topProductImg_" + h;
                _topProductImg.id = imgId;
                _div2.appendChild(_topProductImg);
                _topProductImg.src = prodImgUrl;
                _topProductImg.alt = productName;

                //Price
                _cell3.style.verticalAlign = "bottom";
                _div3 = document.createElement("div");
                _div3.className = "frontpageTblItem_price_row";
                _cell3.appendChild(_div3);

//                _div4 = document.createElement("div");
//                _div4.style.cssFloat = "right";
//                _div4.style.float = "right";
//                _div3.appendChild(_div4);

                var _span6 = document.createElement("span");
                _span6.style.cssFloat = "right";
                _span6.style.float = "right";
                _span6.innerHTML = "Inkl. lev.";
                _div3.appendChild(_span6);

                _div5 = document.createElement("div");
                _div5.style.cssFloat = "right";
                _div5.style.float = "right";
                _div5.className = "frontpageTblItem_price";
                _div3.appendChild(_div5);

                var _span7 = document.createElement("span");
                _span7.innerHTML = prodPrice;
                _div5.appendChild(_span7);
            }
        }
        setTimeout(function () { SetImgClass(tblTopProducts); }, 100);
    }
}

function SetImgClass(tbl) {
    for (var i = 0; i < tbl.length; i++) {
        var ctrl = document.getElementById("topProductImg_" + i);
        if (ctrl != null) {
            ctrl.className = ctrl.width <= ctrl.height ? "frontpageTblItem_img_width" : "frontpageTblItem_img_height";
        }
    }
}

function OpenProduct(e) {
    var ctrl = e.srcElement ? e.srcElement : e.target;
    var prodUrl = ctrl.getAttribute("url");
    while (ctrl != null && prodUrl == null) {
        ctrl = ctrl.parentNode;
        prodUrl = ctrl.getAttribute("url");
    }
    if (ctrl != null && prodUrl != null) {
        window.location = prodUrl;
    }
    return false;
}

String.prototype.trim = function () {
    return this.replace(/^\s*/, "").replace(/\s*$/, "");
}
