﻿var categoryGroupTemplate = "<div class=\"box_listagem\"><ul class=\"products_list_listagem\">{0}</ul></div>";
var listPriceTemplate = "<span class=\"tahoma_10_cinza\">De: {0}</span><br />";
var salePriceTemplate = "<span class=\"tahoma_11_cinza\"><strong>Por: {0}</strong></span> <br />";
var itemTemplateAvailable = "<li><div class=\"prods_listagem\"><div class=\"conteudo_prods_listagem\"><a href=\"{0}\"><img src=\"{1}\" alt=\"{2}\" width=\"180\" height=\"180\" /></a></div><div class=\"text_conteudo_prods_listagem\"><div class=\"padding_bot_5\"><a href=\"{0}\" class=\"tahoma_14_azul\"><strong>{2}</strong></a><br /><span class=\"tahoma_11_azul\">Cód:{3}</span></div><div class=\"padding_bot_5\">{4}{5}</div></div></div></li>";
var itemTemplateUnavailable = "<li><div class=\"prods_listagem\"><div class=\"conteudo_prods_listagem\"><a href=\"{0}\"><img src=\"{1}\" alt=\"{2}\" width=\"180\" height=\"180\" /></a></div><div class=\"text_conteudo_prods_listagem\"><div class=\"padding_bot_5\"><a href=\"{0}\" class=\"tahoma_14_azul\"><strong>{2}</strong></a><br /><span class=\"tahoma_11_azul\">Cód:{3}</span></div><div class=\"padding_bot_5\"><span class=\"tahoma_11_cinza\"><strong>Produto indisponível</strong></span> <br /><br /></div></div></div></li>";

function PictInt(textbox, evt) {
    var isDOM = (document.getElementById && !document.all) ? true : false;
    if (isDOM)
        currentKey = evt.which;
    else
        currentKey = event.keyCode;

    if (currentKey >= 48 && currentKey <= 57 || currentKey == 0 || currentKey == 8)
        return true;
    else {
        if (isDOM) {
            evt.preventDefault();
        }
        else
            event.keyCode = false;
    }
}

function Utility() {
    this.DEFAULT_WEB_PATH = "";
    this.queryString = window.location.querystring;
    this.bindSelect = function(elementId, dataSource, dataTextField, dataValueField) {
        var select = this.getElement(elementId);

        if (select == null)
            return;
        var selectIndex = 0;

        this.clearSelect(elementId);
        select.options[0] = new Option("", "");
        if (dataSource != null) {
            for (var i = 0; i < dataSource.length; i++) {
                selectIndex = i + 1;
                select.options[selectIndex] = this.createOption(dataSource[i], dataTextField, dataValueField);
            }
        }
    }

    this.bindSelectByHash = function(elementId, dataSource) {
        var select = this.getElement(elementId);

        if (select == null)
            return;
        var selectIndex = 1;

        this.clearSelect(elementId);
        select.options[0] = new Option("", "");
        if (dataSource != null) {
            for (var key in dataSource) {

                select.options[selectIndex] = new Option(dataSource[key], key);
                selectIndex = selectIndex + 1;
            }
        }
    }
    
    this.bindSelectByArray = function(elementId, dataSource) {
        var select = this.getElement(elementId);

        if (select == null)
            return;
        var selectIndex = 0;

        this.clearSelect(elementId);
        select.options[0] = new Option("", "");
        if (dataSource != null) {
            for (var i = 0; i < dataSource.length; i++) {
                selectIndex = i + 1;
                select.options[selectIndex] = new Option(dataSource[i], dataSource[i]);
            }
        }
    }
    
    this.getElement = function(el) {
        if (typeof (el) == 'string') {
            if (document.getElementById)
                el = document.getElementById(el);
            else if (document.all)
                el = document.all[el];
            else
                el = null;
        }
        return el;
    }

    this.isDefined = function() {
        for (var i = 0; i < arguments.length; i++) {
            if (typeof (arguments[i]) == 'undefined')
                return false;
        }
        return true;
    }

    this.clearSelect = function(elementId) {
    var obj = this.getElement(elementId);
        for (var i = obj.options.length - 1; i >= 0; i--) {
            obj.options[i] = null;
        }
    }
    this.selectOption = function(elementId, value) {
        var obj = this.getElement(elementId);
        for (var i = 0; i < obj.options.length; i++) {
            if (obj.options[i].value == value) {
                obj.options[i].selected = true;
                break;
            }
        }
        
    }

    this.createOption = function (dataItem, dataTextField, dataValueField) {
        var option;
        if (dataTextField == "" && dataValueField == "")
            option = new Option("", "");
        else
            eval("option = new Option(dataItem." + dataTextField + ", dataItem." + dataValueField + ");");
        return option;
    }
    this.formatString = function(text) { 
        //check if there are two arguments in the arguments list
        if ( arguments.length <= 1 )
        {
            //if there are not 2 or more arguments there’s nothing to replace
            //just return the original text
            return text;
        }
        //decrement to move to the second argument in the array
        var tokenCount = arguments.length - 2;
        for( var token = 0; token <= tokenCount; token++ )
        {
            //iterate through the tokens and replace their placeholders from the original text in order
            text = text.replace( new RegExp( "\\{" + token + "\\}", "gi" ), arguments[ token + 1 ] );
        }
        return text;
    }
    this.Trim = function(str){
        return str.replace(/^\s+|\s+$/g,"");
    }

    this.formatTextForUrl = function(field) {
        field = this.Trim(field);
        field = field.toUpperCase();
        field = field.replace(",", "-");
        field = field.replace("<", "-");
        field = field.replace(">", "-");
        field = field.replace("/", "-");
        field = field.replace("\\", "-");
        field = field.replace("\"", "-");
        field = field.replace("|", "-");
        field = field.replace("`", "-");
        field = field.replace("´", "-");
        field = field.replace("'", "-");
        field = field.replace(".", "-");
        field = field.replace("%", "-");
        field = field.replace(":", "-").replace(";", "-");
        field = field.replace("(", "-").replace(")", "-");
        field = field.replace("+", "-").replace("-", "-").replace("*", "-");
        field = field.replace("&", "E");
        field = field.replace('Á', 'A').replace('Â', 'A').replace('Ã', 'A');
        field = field.replace('À', 'A').replace('Ä', 'A').replace('Å', 'A');
        field = field.replace('É', 'E').replace('Ê', 'E').replace('È', 'E').replace('Ë', 'E');
        field = field.replace('Í', 'I').replace('Î', 'I').replace('Ì', 'I').replace('Ï', 'I');
        field = field.replace('Ó', 'O').replace('Ô', 'O').replace('Õ', 'O').replace('Ò', 'O').replace('Ö', 'O');
        field = field.replace('Ú', 'U').replace('Û', 'U').replace('Ù', 'U').replace('Ü', 'U');
        field = field.replace('Ý', 'Y').replace('ÿ', 'Y');
        field = field.replace('Ç', 'C').replace('Ñ', 'N');
        field = field.replace("STRONG", "");
        field = field.toUpperCase();
        var s = new String();
        for(var i = 0; i<= field.length - 1; i++)
        {
            if(field.charAt(i) == " ")
                s += "-";
            else
                s += field.charAt(i);    
        }
        return s;
    }

    this.createListView = function(dataSource, headerTitle, page, sortType) {
        var sColumns = "";
        var nuColumns = 1;
        var nuTotalColumns = 4;
        var index = 0;
        var content = "";
        var pageCount = 0, recordCount = 0;
        if (dataSource != null && dataSource.length > 0) {
            var obj = dataSource[0];
            pageCount = obj["pageCount"];
            recordCount = obj["tableCount"];

            content = "<div class=\"barra_topo_azul_listagem\">" + headerTitle + "</div>";
            content += "<div class=\"box_listagem\"><div class=\"box_ordenar\"><div class=\"float_left\" style=\"padding-left:12px; width:300px;\"><div class=\"float_left\">Ordenar por:</div>";
            content += this.formatString("<div class=\"float_left\" style=\"padding-left:5px;\"><select name=\"select2\" class=\"form_combo\" id=\"select2\" onChange=\"listView_SortIndexChanged(this, {0});\">{1}</select></div></div>", page, this.createSelectSortOptions(sortType));
            content += this.formatString("<div class=\"float_right\" style=\"padding-right:12px; width:300px;\" align=\"right\"><span class=\"tahoma_12_cinza_escuro\">Pág.:</span>{0}</div>", this.createLinkPages(page, pageCount));
            content += "</div></div>";
            for (index = 0; index < dataSource.length; index++) {
                sColumns += this.getProduct(dataSource[index]);
                if (nuColumns == nuTotalColumns) {
                    content += this.formatString(categoryGroupTemplate, sColumns);
                    nuColumns = 0;
                    sColumns = "";
                }
                nuColumns++;
            }
            if (sColumns.length > 0)
                content += this.formatString(categoryGroupTemplate, sColumns);
                
            content += "<div class=\"box_listagem\"><div class=\"box_ordenar\"><div class=\"float_left\" style=\"padding-left:12px; width:300px;\"><div class=\"float_left\">Ordenar por:</div>";
            content += this.formatString("<div class=\"float_left\" style=\"padding-left:5px;\"><select name=\"select3\" class=\"form_combo\" id=\"select3\" onChange=\"listView_SortIndexChanged(this, {0});\">{1}</select></div></div>", page, this.createSelectSortOptions(sortType));
            content += this.formatString("<div class=\"float_right\" style=\"padding-right:12px; width:300px;\" align=\"right\"><span class=\"tahoma_12_cinza_escuro\">Pág.:</span>{0}</div>", this.createLinkPages(page, pageCount));
            content += "</div></div>";
        }
        else {
            content = "<div class=\"barra_topo_azul_listagem\">" + headerTitle + "</div>";
            content += this.formatString(categoryGroupTemplate, "<br /><br /><center><strong class=\"tahoma_14_azul\">Nenhum produto encontrado. Por favor, tente novamente.</strong></center><br /><br />");
        }
        content += this.formatString("<div class=\"float_left\"><img src=\"{0}images/curva_bot_listagem.jpg\" alt=\"\" width=\"804\" height=\"19\" /></div>", this.DEFAULT_WEB_PATH);
        return content;
    }

    this.createCategoryListView = function(idParent, dataSource, ddlCategoryDataSource, headerTitle, page, sortType) {
        var sColumns = "";
        var nuColumns = 1;
        var nuTotalColumns = 4;
        var index = 0;
        var content = "";
        var pageCount = 0, recordCount = 0;
        
        content = "<div class=\"barra_topo_azul_listagem\">" + headerTitle + "</div>";
        if(ddlCategoryDataSource.length > 0)
        {
            content += "<div class=\"box_listagem\"><div class=\"box_ordenar\"><div class=\"float_left\" style=\"padding-left:12px; width:220px;\"><div class=\"float_left\">Ordenar por:</div>";
            content += this.formatString("<div class=\"float_left\" style=\"padding-left:5px;\"><select name=\"select2\" class=\"form_combo\" id=\"select2\" onChange=\"listView_SortIndexChanged(this, {0});\">{1}</select></div></div>", page, this.createSelectSortOptions(sortType));
            
            content += "<div class=\"float_left\" style=\"padding-left:12px; width:220px;\"><div class=\"float_left\">Outras categorias:</div>";
            content += this.formatString("<div class=\"float_left\" style=\"padding-left:5px;\"><select name=\"ddlCategoryChild\" class=\"form_combo\" id=\"ddlCategoryChild\" onChange=\"ddlCategoryChild_ChangeIndex(this);\">{0}</select></div></div>", ddlCategoryDataSource);
        }
        else
        {
            content += "<div class=\"box_listagem\"><div class=\"box_ordenar\"><div class=\"float_left\" style=\"padding-left:12px; width:300px;\"><div class=\"float_left\">Ordenar por:</div>";
            content += this.formatString("<div class=\"float_left\" style=\"padding-left:5px;\"><select name=\"select5\" class=\"form_combo\" id=\"select5\" onChange=\"listView_SortIndexChanged(this, {0});\">{1}</select></div></div>", page, this.createSelectSortOptions(sortType));
        }
        if (dataSource != null && dataSource.length > 0) {
            var obj = dataSource[0];
            pageCount = obj["pageCount"];
            recordCount = obj["tableCount"];

            
            content += this.formatString("<div class=\"float_right\" style=\"padding-right:12px; width:300px;\" align=\"right\"><span class=\"tahoma_12_cinza_escuro\">Pág.:</span>{0}</div>", this.createLinkPages(page, pageCount));
            content += "</div></div><div class=\"box_listagem\">";
            for (index = 0; index < dataSource.length; index++) {
                sColumns += this.getProduct(dataSource[index]);
                if (nuColumns == nuTotalColumns) {
                    content += this.formatString("<ul class=\"products_list_listagem\">{0}</ul>", sColumns);
                    nuColumns = 0;
                    sColumns = "";
                }
                nuColumns++;
            }
            if (sColumns.length > 0)
                content += this.formatString("<ul class=\"products_list_listagem\">{0}</ul>", sColumns);
            content += "</div>";
            if (ddlCategoryDataSource.length > 0) {
                content += "<div class=\"box_listagem\"><div class=\"box_ordenar\"><div class=\"float_left\" style=\"padding-left:12px; width:220px;\"><div class=\"float_left\">Ordenar por:</div>";
                content += this.formatString("<div class=\"float_left\" style=\"padding-left:5px;\"><select name=\"select3\" class=\"form_combo\" id=\"select3\" onChange=\"listView_SortIndexChanged(this, {0});\">{1}</select></div></div>", page, this.createSelectSortOptions(sortType));

                content += "<div class=\"float_left\" style=\"padding-left:12px; width:220px;\"><div class=\"float_left\">Outras categorias:</div>";
                content += this.formatString("<div class=\"float_left\" style=\"padding-left:5px;\"><select name=\"ddlCategoryChild2\" class=\"form_combo\" id=\"ddlCategoryChild2\" onChange=\"ddlCategoryChild_ChangeIndex(this);\">{0}</select></div></div>", ddlCategoryDataSource);
            }
            else {
                content += "<div class=\"box_listagem\"><div class=\"box_ordenar\"><div class=\"float_left\" style=\"padding-left:12px; width:300px;\"><div class=\"float_left\">Ordenar por:</div>";
                content += this.formatString("<div class=\"float_left\" style=\"padding-left:5px;\"><select name=\"select4\" class=\"form_combo\" id=\"select4\" onChange=\"listView_SortIndexChanged(this, {0});\">{1}</select></div></div>", page, this.createSelectSortOptions(sortType));
            }
            content += this.formatString("<div class=\"float_right\" style=\"padding-right:12px; width:300px;\" align=\"right\"><span class=\"tahoma_12_cinza_escuro\">Pág.:</span>{0}</div>", this.createLinkPages(page, pageCount));
            content += "</div></div>";
            
        }
        else {
            content += "</div></div>";
            content += this.formatString(categoryGroupTemplate, "<br /><br /><center><strong class=\"tahoma_14_azul\">Nenhum produto encontrado. Por favor, tente novamente.</strong></center><br /><br />");
        }
        content += this.formatString("<div class=\"float_left\"><img src=\"{0}images/curva_bot_listagem.jpg\" alt=\"\" width=\"804\" height=\"19\" /></div>", this.DEFAULT_WEB_PATH);
        return content;
    }

    this.createMyOrdersListView = function(dataSource, page) {
        var index = 0;
        var content = "";
        var itemTemplate = "";
        var pageCount = 0, recordCount = 0;
        content += "<br /><br /><table width=\"100%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">";
        content += "<tr>";
        content += "<td><table width=\"100%\" border=\"0\" cellpadding=\"2\" cellspacing=\"0\" class=\"border_geral_bask_cinza\">";
        content += "<tr bgcolor=\"#B6B09E\">";
        content += "<td width=\"120\" align=\"center\" bgcolor=\"#E7E7E7\"><strong>Data do Pedido </strong></td>";
        content += "<td width=\"209\" align=\"center\" bgcolor=\"#E7E7E7\"><strong>N&ordm; do Pedido </strong></td>";
        content += "<td width=\"199\" align=\"center\" bgcolor=\"#E7E7E7\"><strong>Total</strong></td>";
        content += "<td align=\"center\" bgcolor=\"#E7E7E7\"><strong>Forma de Pagamento </strong></td>";
        content += "<td width=\"92\" align=\"center\" bgcolor=\"#E7E7E7\"><strong>Status</strong></td>";
        content += "</tr>";
        content += "</table></td>";
        content += "</tr>";

        itemTemplate += "<table width=\"100%\" border=\"0\" cellpadding=\"2\" cellspacing=\"0\" class=\"border_bask_sem_top\">";
        itemTemplate += "<tr>";
        itemTemplate += "<td width=\"121\" align=\"center\">{0}</td>";
        itemTemplate += "<td width=\"209\" align=\"center\"><a href=\"{1}\" class=\"tahoma_11_cinza\">{2}</a></td>";
        itemTemplate += "<td width=\"199\" align=\"center\">{3}</td>";
        itemTemplate += "<td align=\"center\">{4}</td>";
        itemTemplate += "<td width=\"90\" align=\"center\"><img src=\"{5}\" alt=\"\" width=\"25\" height=\"29\" /></td>";
        itemTemplate += "</tr>";
        itemTemplate += "</table>";

        if (dataSource != null && dataSource.length > 0) {
            var obj = dataSource[0];
            pageCount = obj["pageCount"];
            recordCount = obj["tableCount"];
            content += "<tr><td align=\"center\">";
            for (index = 0; index < dataSource.length; index++) {
                content += this.formatString(itemTemplate, dataSource[index]["dtOrderFormatted"], this.formatString("{0}Site.aspx/PedidoConcluido/{1}", this.DEFAULT_WEB_PATH, dataSource[index]["cdOrder"]), dataSource[index]["cdOrder"], dataSource[index]["vlTotalOrderFormatted"], dataSource[index]["DsPaymentTypeName"], dataSource[index]["dsOrderStatusTypeIcon"]);
            }
            content += "</td></tr>";
            content += this.formatString("<tr><td align=\"right\"><span class=\"tahoma_12_cinza_escuro\">Pág.:</span>{0}</td></tr>", this.createLinkPages(page, pageCount));
        }
        content += "</table>";
        return content;
    }

    this.createWeddingListSearchListView = function(dataSource, page) {
        var index = 0;
        var content = "";
        var itemTemplate = "";
        var pageCount = 0, recordCount = 0;
        content += "<table width=\"100%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">";

        itemTemplate += "<table width=\"100%\" border=\"0\" cellpadding=\"2\" cellspacing=\"0\" class=\"{4}\">";
        itemTemplate += "<tr>";
        itemTemplate += "<td width=\"50\" align=\"right\" class=\"tahoma_12_cinza_escuro\"><strong>Nome:</strong></td>";
        itemTemplate += "<td width=\"220\" align=\"left\"><a class=\"tahoma_12_cinza_escuro\" href=\"{3}\">{0}</a></td>";
        itemTemplate += "<td class=\"tahoma_12_cinza_escuro\"><strong>Data do casamento:</strong> {1}</td>";
        itemTemplate += "</tr>";
        itemTemplate += "<tr>";
        itemTemplate += "<td>&nbsp;</td>";
        itemTemplate += "<td colspan=\"2\" align=\"left\"><a class=\"tahoma_12_cinza_escuro\" href=\"{3}\">{2}</a></td>";
        itemTemplate += "</tr>";
        itemTemplate += "<tr>";
        itemTemplate += "<td colspan=\"3\">&nbsp;</td>";
        itemTemplate += "</tr>";
        itemTemplate += "</table><br />";

        if (dataSource != null && dataSource.length > 0) {
            var obj = dataSource[0];
            pageCount = obj["pageCount"];
            recordCount = obj["tableCount"];
            content += "<tr><td align=\"center\">";
            for (index = 0; index < dataSource.length; index++) {
                content += this.formatString(itemTemplate, dataSource[index]["dsBrideName"], dataSource[index]["dtWeddingFormatted"], dataSource[index]["dsGroomName"], this.formatString("{0}ListaCasamento.aspx/Produtos/{1}", this.DEFAULT_WEB_PATH, dataSource[index]["idWeddingList"]), index == 0 ? "border_geral_bask_cinza" : "border_bask_sem_top");
            }
            content += "</td></tr>";
            content += this.formatString("<tr><td align=\"right\"><span class=\"tahoma_12_cinza_escuro\">Pág.:</span>{0}</td></tr>", this.createLinkPages(page, pageCount));
        }
        else {
            content += "<tr><td align=\"center\" class=\"tahoma_14_azul\"><strong>Nenhuma lista encontrada.Por favor tente novamente.</strong></td></tr>";
        }
        content += "</table>";
        return content;
    }

    this.getProductUrl = function(idProduct, level, dsName) {
        return this.formatString("{0}Produto.aspx/{1}{2}-{3}", this.DEFAULT_WEB_PATH, level, idProduct, this.formatTextForUrl(dsName));
    }
    
    this.getProductUrlUnformatted = function(idProduct, level, dsName) {
        return this.formatString("{0}Produto.aspx/{1}{2}-{3}", this.DEFAULT_WEB_PATH, level, idProduct, dsName);
    }

    this.getProductImagePath = function(dsImageName) {
        return this.formatString("{0}{1}/{2}", this.DEFAULT_WEB_PATH, "images/product", dsImageName);
    }

    this.createSelectSortOptions = function(sortType) {
        var res = "";
        var options = new Array();
        options[0] = "Nome";
        options[1] = "Menor Preço";
        options[2] = "Maior Preço";
        for (var index = 0; index < options.length; index++) {
            if (index + 1 == sortType)
                res += this.formatString("<option value=\"{0}\" selected>{1}</option>", index + 1, options[index]);
            else
                res += this.formatString("<option value=\"{0}\">{1}</option>", index + 1, options[index]);

        }
        return res;
    }
    

    this.createLinkPages = function(currentPage, pageCount) {
        var startPage = 0;
        var endPage = 0;
        var totalPages = 0;
        var controls = "";

        if (currentPage > 1) {
            controls += "&nbsp;" + this.createHyperLink("&lt;", (parseInt(currentPage) - 1), "tahoma_12_cinza_escuro");
        }
        
        if ((currentPage - 5) < 1)
            startPage = 1;
        else
            startPage = currentPage + 5;

        if ((startPage + 10) < pageCount)
            endPage = startPage + 10;
        else
            endPage = pageCount;

        totalPages = endPage - startPage - 1;
        
        if (totalPages < 10 && startPage > 1)
            startPage -= (10 - (endPage - startPage));
        
        if (startPage < 1)
            startPage = 1;
         
        for (var i = startPage; i <= endPage; i++)
        {
            if (i == currentPage)
                controls += this.formatString("&nbsp;<span class=\"tahoma_12_azul\"><strong>{0}</strong></span>", i);
            else
                controls += "&nbsp;" + this.createHyperLink(i, i, "tahoma_12_cinza_escuro");
        }

        if (currentPage < pageCount) {
            controls += "&nbsp;" + this.createHyperLink("&gt;", (parseInt(currentPage) + 1), "tahoma_12_cinza_escuro");
        }
        
        return controls;
    }

    this.createHyperLink = function(text, page, cssClass) {
    var a = this.formatString("<a href=\"#\" class=\"{0}\" onClick=\"listView_PageIndexChanged({1});\">{2}</a>", cssClass, page, text);
        return a;
    }

    this.getProduct = function(row) {
        var res = "";
        var fString = "";
        var priceBox = "";
        var vlSalePrice;
        var vlListPrice = parseInt(row["vlListPrice"]);
        var parcelsBox = "";

        if (row["vlSalePrice"] == null)
            vlSalePrice = 0;
        else
            vlSalePrice = parseInt(row["vlSalePrice"]);

        if (parseInt(row["fgAvailable"]) == 1 && vlListPrice > 0) {
            fString = itemTemplateAvailable;
            if (vlSalePrice > 0 && vlSalePrice < vlListPrice) {
                priceBox = this.formatString(listPriceTemplate, row["vlListPriceFormatted"]); //Utility.FormatProductValue(vlListPrice));
                priceBox += this.formatString(salePriceTemplate, row["vlSalePriceFormatted"]); //Utility.FormatProductValue(vlSalePrice));
            }
            else
                priceBox = this.formatString(salePriceTemplate, row["vlListPriceFormatted"]); //Utility.FormatProductValue(vlListPrice));

            if (row["nuParcel"] != null && parseInt(row["nuParcel"]) > 1) {
                parcelsBox = this.formatString("<span class=\"tahoma_11_azul\"><br /> ou <strong>{0}x</strong> de <strong> {1} </strong><br /> sem juros no cart&atilde;o</span>", row["nuParcel"], row["vlParcelFormatted"]);
            }
        }
        else
            fString = itemTemplateUnavailable;

        

        res = this.formatString(fString, this.getProductUrlUnformatted(row["idProduct"], row["dsCategoryPath"], row["dsNameFormatted"]), this.getProductImagePath(row["dsImageList"]), row["dsName"], row["idProduct"], priceBox, parcelsBox);
        return res;
    }
    
    

}

function LoadingBox() {
    this.utility;
    this.show = function() {
        var divBoxId = 'dvBox';
        var divScreenId = 'dvScreen';
        var divScreen;
        var divBox;
        
        if (this.utility.getElement(divScreenId) == null) {
            var w = screen.width;
            var h = screen.height;
            var mw = w / 2;
            var mh = h / 2;
            var top = mh - 250;
            var left = mw - 100;

            divScreen = document.createElement("div");
            divScreen.id = divScreenId;

            divScreen.style.position = "absolute";
            divScreen.style.top = "0px";
            divScreen.style.left = "0px";
            divScreen.style.width = "100%";
            divScreen.style.height = "100%";
//            divScreen.style.backgroundColor = "#000000";
//            divScreen.style.opacity = (10 / 100);
//            divScreen.style.MozOpacity = (10 / 100);
//            divScreen.style.KhtmlOpacity = (10 / 100);
//            divScreen.style.filter = "alpha(opacity=" + 10 + ")";

            divBox = document.createElement("div");
            divBox.style.backgroundColor = "#FFFFFF";
            divBox.style.width = "300px";
            divBox.style.borderStyle = "solid";
            divBox.style.borderWidth = "3px";
            divBox.style.borderColor = "#268BC3";
            divBox.style.overflow = 'hidden';
            divBox.style.position = 'absolute';
            
            divBox.style.left = left + 'px';
            divBox.style.top = top + 'px';
            divBox.innerHTML = this.utility.formatString("<br /><table width=\"220\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" align=\"center\"><tr><td class=\"tahoma_14_azul\">&nbsp;<strong>Loading...</strong></td></tr><tr><td><img src=\"{0}images/barra_loading.gif\" width=\"220\" height=\"19\" id=\"imgLoading\" /></td></tr></table><br /><br />", this.utility.DEFAULT_WEB_PATH);

            divScreen.appendChild(divBox);
            this.utility.getElement("dvLoadingContainer").appendChild(divScreen);
        }
        else {
            divScreen = this.utility.getElement(divScreenId);
            divBox = this.utility.getElement(divBoxId);
        }
        divScreen.className = "visiblediv";
        //divBox.className = "visiblediv";

    }

    this.hide = function() {
    this.utility.getElement('dvScreen').className = "invisiblediv";
        //this.utility.getElement('dvBox').className = "invisiblediv";
    }
}

function wndOpen(url, pW, pH) {
    var w = screen.width;
    var h = screen.height;
    var mw = w / 2;
    var mh = h / 2;
    var h2 = pH / 2;
    var w2 = pW / 2;
    var top = mh - h2;
    var left = mw - w2;

    window.open(url, '', 'toolbar=0,menubar=0,width=' + pW + ',height=' + pH + ',top=' + top + ',left=' + left + ',scroolbar=0');
}