var search = {
    element: "#contentRowsDetails td",
    objRow: "",
    dgHTML: "",
    //serviceURL: "dummyService.html",
    serviceURL: "/DesktopModules/GDC.LooseDiamonds/PopUp.aspx",
    dgIsOpen: false,
    dgOptions: {
        modal: false,
        resizable: false,
        position: [0, 0],
        dialogClass: 'dialog',
        width: 890,
        minHeight: 30,
        closeText: 'X',
        close: function() {
            $(".trSpace").remove();
            $(this).remove();
        }
    },
    init: function() {
        $('body').click(function() {
            search.closeDialog();
        });

        $(this.element).click(function(e) {
            e.stopPropagation();
            search.objRow = $(this).parent("tr");
            if ($(search.objRow).attr("class") == "active" && $('.trSpace').length) {
                search.closeDialog();
            }
            else if ($(search.objRow).attr("class") == "active") {
                search.showDialog();
            } else {
                $(".active").attr("class", "");
                search.closeDialog();
                $(search.objRow).addClass("active");
            }
        });


	$('input').click(function(e){
			e.stopPropagation();
		//	if(this.checked){
//				$(this).parents('tr').attr('class','active');
//			} else {
//				$(this).parents('tr').attr('class','');
//			}
		});

/*Aqui va function CC*/

        //Arrow keys navigation
        if ($.browser.msie) {
            $(document).keydown(function(e) {
                search.selectRow(e);
            });
        } else {
            $(document).keypress(function(e) {
                search.selectRow(e);
            });
        }
    },
    showDialog: function() {
        //$(".dialog").css("display","none");
        this.closeDialog();
        search.getDgContent();
        $("#dialogData").html(search.dgHTML);
        posX = $(this.objRow).offset().left + 37;
        posY = $(this.objRow).offset().top + $(this.objRow).height() - $(document).scrollTop();
        this.dgOptions.position = [posX, posY];
        $("#detailsDialog").dialog(this.dgOptions);
        $(this.objRow).addClass("active");
        if (!$(".tdSpace").length) {
            $(this.objRow).after('<tr class="trSpace"><td style="height:50px;" colspan="16"></td></tr>');
        }
    },
    closeDialog: function() {
        $("#detailsDialog").dialog('close');
        $(".dialog").hide();
    },
    getDgContent: function() {
        search.getJson();
    },
    getJson: function() {
        $.ajax({
            url: search.serviceURL,
            type: 'GET',
            async: false,
            data: search.getData(),
            processData: false,
            error: function(XMLHttpRequest, textStatus, errorThrown) {
                //alert(textStatus);
            },
            success: function(data) {
                search.setDgHTML(data);
            }
        });
    },
    setDgHTML: function(dgHTML) {
        search.dgHTML = dgHTML;
    },

    /*getData: function(){
    return "ParcelId=" + (this.objRow).children().children()[1].innerHTML; //+$(this.objRow).children()[1].innerHTML;
    },*/
    getData: function() {
        var tdChildren = $(this.objRow).children().children();
        idChild = ((tdChildren[0].tagName == 'SPAN') ? 0 : 1);
        //		console.log($(tdChildren[0]));
        return "ParcelId=" + $(tdChildren[idChild]).html();
    },


    selectRow: function(e) {
        search.dgIsOpen = $("#detailsDialog").dialog('open').length;
        switch (e.keyCode) {
            //up 
            case 38:
                e.preventDefault();
                this.closeDialog();
                var objRow = $(".active").prev("tr");
                var validRow = "#" + $($(objRow).children().get(1)).parents('table').attr('id') + " " + $(objRow).children().get(1).tagName.toLowerCase();
                if (validRow == search.element) {
                    $(".active").attr("class", "");
                    objRow.addClass("active");
                    search.objRow = objRow;
                    if (search.dgIsOpen) {
                        search.showDialog();
                    }
                }
                return false;
                break;
            //down 
            case 40:
                e.preventDefault();
                this.closeDialog();
                var objRow = $(".active").next("tr");
                if (objRow.length) {
                    $(".active").attr("class", "");
                    objRow.addClass("active");
                    search.objRow = objRow;
                    if (search.dgIsOpen) {
                        search.showDialog();
                    }
                }
                return false;
                break;
            default:
                return true;
                break;
        }
    }
}

$("document").ready(function() {
    search.init();
});