jQuery.oaComments = function(containerIn, nregIn, npagIn,idaptIn, options) {
    var nreg = nregIn;
    var npag = npagIn;
    var totalPag = 40;
    var idapt = idaptIn;
    var containerName = containerIn;
    var $container;
    var arrCustomer = Array();
    var arrPurpose = Array();
    $container = $(containerName);
	jQuery.oaComments.setApt = function(idaptIn) {
		idapt=idaptIn;
	}
    function addCommentsQuery() {
    
        if (arrCustomer.length > 0) {
            strCustomer = arrCustomer.join(",");
        } else {
            strCustomer = "";
        }
        if (arrPurpose.length > 0) {
            strPurpose = arrPurpose.join(",");
        } else {
            strPurpose = "";
        }
        $container.html("");
        $("#commentsBl").addClass('loadingicon');
        $.ajax({
            type: "POST",
            url: "/GlobalServices.asmx/GetComments",
            data: "{'IdApart':'" + idapt + "','IdIdioma':'" + ididioma + "','NumPag':'" + npag + "','NumReg':'" + nreg + "','fTipo':'" + strCustomer + "','fMotivo':'" + strPurpose + "'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            cache: false,
            success: function(results) {             
                $("#notaTotal").text(results.d.Total);
                if (results.d.TotalOpiniones > 0) {
                    $("#basedNumOpinions").text(results.d.TotalOpiniones);
                    $("#vote-Barrio").text(results.d.Barrio);
                    $("#vote-CalidadPrecio").text(results.d.CalidadPrecio);
                    $("#vote-Confort").text(results.d.Confort);
                    $("#vote-PersonaContacto").text(results.d.PersonaContacto);
                    $("#vote-Equipamiento").text(results.d.Equipamiento);
                    totalPag = results.d.TotalPaginas;
                    updatePages();
                    $.each(results.d.RespTipoCliente, function(i, item) {
                        textId = "#ftt_" + item.Id + "_nComments";
                        if (item.NumReg == 0) {
                            $(textId).addClass("desactivate");
                            $(textId + ' input').attr('disabled', "disabled");
                        } else {
                            $(textId).removeClass("desactivate");
                            $(textId + ' input').removeAttr('disabled');
                        }
                        $(textId + " .row-comban-line3").text("");
                    });

                    $.each(results.d.RespMotivoCliente, function(i, item) {
                        textId = "#ftm_" + item.Id + "_nComments";
                        if (item.NumReg == 0) {
                            $(textId).addClass("desactivate");
                            $(textId + ' input').attr('disabled', "disabled");
                        } else {
                            $(textId).removeClass("desactivate");
                            $(textId + ' input').removeAttr('disabled');
                        }
                        $(textId + " .row-comban-line3").text("");
                    });
                   
                    
                    $.each(results.d.Comments, function(i, item) {
                        $container.append(dataToDom_Comments(item));
                    });
                    $("#commentsBl").removeClass("loadingicon");
                }
            }, error: function(result) {  }
        })
    }

    function updatePages() {
        n = 1; next = ""; prev = "";
        $(".pages-nav").html("");

        if (totalPag > 0 && npag < totalPag) { next = '<a href="javascript:goNextPage()">&gt;</a>'; }
        if (npag > 1) { prev = '<a href="javascript:goPrevPage()">&lt;</a>'; }

        $(".pages-nav").append('<li>' + prev + '</li>');
        while (n <= totalPag) {
            if (n == npag) {
                $(".pages-nav").append('<li class="activepage">' + n + '</li>');
            } else {
                $(".pages-nav").append('<li><a href="javascript:goToResultPage(' + n + ')">' + n + '</a></li>');
            }
            n++;
        }
        $(".pages-nav").append('<li>' + next + '</li>');
    }

    jQuery.oaComments.addFilterCustomer = function(value) {
        if (!existCustomer(value)) {
            arrCustomer.push(value);
        }
        addCommentsQuery();

    }
    jQuery.oaComments.addFilterPurpose = function(value) {
        if (!existPurpose(value)) {
            arrPurpose.push(value);
        }
        addCommentsQuery();
    }

    jQuery.oaComments.delFilterCustomer = function(value) {
        if (existCustomer(value)) {
            for (i = 0; i < arrCustomer.length; i++) {
                if (arrCustomer[i] == value) {
                    arrCustomer.remove(i);
                    break;
                }
            }
        }
        addCommentsQuery();
    }
    jQuery.oaComments.delFilterPurpose = function(value) {
        if (existPurpose(value)) {
            for (i = 0; i < arrPurpose.length; i++) {
                if (arrPurpose[i] == value) {
                    arrPurpose.remove(i);
                    break;
                }
            }
        }
        addCommentsQuery();
    }
    jQuery.oaComments.goNextPage = function() {
        npag++;
        addCommentsQuery();
    }
    jQuery.oaComments.goPrevPage = function() {
        npag--;
        addCommentsQuery();
    }
    jQuery.oaComments.showNumComments = function(value) {
        nreg = value;
        npag = 1;
        addCommentsQuery();
    }
    jQuery.oaComments.viewAllComments = function() {
        $("#customer_filter input").removeAttr('disabled');
        $("#customer_filter input").removeClass("desactivate");
        $("#customer_filter input").attr('checked', false);
        $("#purpose_filter input").removeAttr('disabled');
        $("#purpose_filter input").removeClass("desactivate");
        $("#purpose_filter input").attr('checked', false);
        arrCustomer = Array();
        arrPurpose = Array();
        addCommentsQuery();
    }
    jQuery.oaComments.goToResultPage = function(numPage) {
        npag = numPage;
        addCommentsQuery();
    }
    function dataToDom_Comments(item) {
        var datatotdom = document.createElement("div");
        var $rdatatotdom = $(datatotdom);
        $rdatatotdom.addClass("row-comment");
        var pathimg = "/imgs/eqp/icons/";
        var htmlDisp = '';
        
        displayownersaid = "none";
        if (item.RespuestaPropietario != "") { displayownersaid = "bloc"; }   
        var prefClass='class="row-comment-';     
        $rdatatotdom.append('\
                    <div '+prefClass+'top">\
                      <div '+prefClass+'toptl">\
                        <div '+prefClass+'comment-toptr">\
                          <div '+prefClass+'comment-topt"></div>\
                        </div>\
                      </div>\
                    </div>\
                    <div '+prefClass+'cont">\
                      <div '+prefClass+'author"> <img src="' + item.ImgTipoCliente + '" alt="" width="80px" height="80px" />\
                        <div '+prefClass+'adata"> <span class="row-comment-adata1">' + item.NomAutor + '</span> <span class="row-comment-adata2">' + item.TipoCliente + '</span> <span class="row-comment-adata3"><img src="/imgs/countries/' + item.CodPais + '.png" alt=""  />&nbsp;&nbsp;' + item.NomPais + '</span> <span class="row-comment-adata4">' + item.Fecha + '</span> </div>\
                        <div '+prefClass+'anote">' + item.Score + '</div>\
                      </div>\
                      <div '+prefClass+'com">\
                        <div '+prefClass+'for">' + item.Positivo + '</div>\
                        <div '+prefClass+'agnst">' + item.Negativo + '</div>\
                        <div '+prefClass+'resp" style="display:' + displayownersaid + '"><span class="ownersaid">' + item.RespuestaPropietario + '</span></div>\
                      </div>\
                    </div>\
                    <div '+prefClass+'bottom"><div '+prefClass+'topbl"><div '+prefClass+'topbr"><div '+prefClass+'bottomb"></div>\
                        </div></div>\
                  </div>');

        return $rdatatotdom;
    }
    function existCustomer(id) {
        for (i = 0; i < arrCustomer.length; i++) {
            if (arrCustomer[i] == id) {
                return true;
            }
        }
        return false;
    }
    function existPurpose(id) {
        for (i = 0; i < arrPurpose.length; i++) {
            if (arrPurpose[i] == id) {
                return true;
            }
        }
        return false;
    }

}

Array.prototype.remove = function(from, to) {
    var rest = this.slice((to || from) + 1 || this.length);
    this.length = from < 0 ? this.length + from : from;
    return this.push.apply(this, rest);
};

function addFilterCustomer(customerType) {
    if (customerType) {$.oaComments.addFilterCustomer(customerType);}
}
function addFilterPurpose(purposeType) {
    if (purposeType) {$.oaComments.addFilterPurpose(purposeType);}
}
function delFilterCustomer(customerType) {
    if (customerType) {$.oaComments.delFilterCustomer(customerType);}
}
function delFilterPurpose(purposeType) {
    if (purposeType){$.oaComments.delFilterPurpose(purposeType);}
}
function showNumComments(numItems){
   if (numItems){$.oaComments.showNumComments(numItems);}
}
function viewAllComments(){
    $.oaComments.viewAllComments();
}


function goNextPage(){
$.oaComments.goNextPage();
}
function goPrevPage(){
$.oaComments.goPrevPage();
}
function goToResultPage(numPage){
$.oaComments.goToResultPage(numPage);
}
function setCommentsApt(idapartIn){
$.oaComments.setApt(idapartIn);
}
