$(document).ready(function() {

    $(document).find(".tab-panel-tabs td.active").each(function() {
        // hide all div that are not active and show active one
        var anchor = $(this).children("a").first();
        //alert($(anchor).text());
        showTabContent(anchor);               
        tabHighlightStartEnd(this);
    });
    
    $(".tab-panel-tabs td a").click(function(e) {
        //alert("here1");
        //return false;
        $(this).parent().parent().find("td.active").removeClass("active");
        $(this).parent().parent().children("td").first().removeClass("tab-start-active");
        $(this).parent().parent().children("td").last().removeClass("tab-end-active");        
        $(this).parent().addClass("active");
        
        tabHighlightStartEnd($(this).parent());
        //alert($(this).parent().parent().parent().parent().parent().html());
        //alert($(this).parent().parent().parent().parent().parent().attr("style"));
        if ($(this).parent().parent().parent().parent().next().children("div.bg").length > 0) {
            showTabContent(this);
            return false;
        } else {
            window.location = $(this).attr("href");
        }        
        
        
        if (!e) var e = window.event;
	    e.cancelBubble = true;
	    if (e.stopPropagation) 
        {
            e.stopPropagation();
        }
        //alert("here2");
        return true;
    });
    
    $(".tab-panel-tabs td").click(function() {
        //alert($(this).children("a").first().attr("href"));
        if ($(this).children("a").length != 0)
        {
            //window.location = $(this).children("a").first().attr("href");
            $(this).children("a").first().click();
        }
        //alert("tas");
        //$(this).children("a").first().click();
    });
    
    $(".tab-start").click(function() {
        //alert("herewer");
        $(this).next().children("a").first().click();
    });
    
    $(".tab-end").click(function() {
        $(this).prev().children("a").first().click();
    });
    
    $(".tab-start").hover(
        function () {
            $(this).addClass("tab-start-hover");
            $(this).next().addClass("hover");
            if ($(this).parent().children().length == 3) {
                $(this).next().next().addClass("tab-end-hover");
            }
        }, 
        function () {
            $(this).removeClass("tab-start-hover");
            $(this).next().removeClass("hover");
            if ($(this).parent().children().length == 3) {
                $(this).next().next().removeClass("tab-end-hover");
            }
        }
    );
    
    $(".tab-first").hover(
        function () {
            $(this).addClass("hover");
            $(this).prev().addClass("tab-start-hover");
        }, 
        function () {
            $(this).removeClass("hover");
            $(this).prev().removeClass("tab-start-hover");
        }
    );
    
    $(".tab-only").hover(
        function () {
            $(this).addClass("hover");
            $(this).prev().addClass("tab-start-hover");
            $(this).next().addClass("tab-end-hover");
        }, 
        function () {
            $(this).removeClass("hover");
            $(this).prev().removeClass("tab-start-hover");
            $(this).next().removeClass("tab-end-hover");
        }
    );
    
    $(".tab-last").hover(
        function () {
            if (!$(this).hasClass("inactive"))
            {
                $(this).addClass("hover");
                $(this).next().addClass("tab-end-hover");
            }
        }, 
        function () {
            if (!$(this).hasClass("inactive"))
            {
                $(this).removeClass("hover");
                $(this).next().removeClass("tab-end-hover");
            }
        }
    );
    
    $(".tab-end").hover(
        function () {
            //alert("here1");  
            if (!$(this).prev().hasClass("inactive"))
            {
                //alert("here");
                $(this).addClass("tab-end-hover");
                $(this).prev().addClass("hover");
                if ($(this).parent().children().length == 3) {
                    $(this).prev().prev().addClass("tab-start-hover");
                }
            }
        }, 
        function () {
            if (!$(this).prev().hasClass("inactive"))
            {
                $(this).removeClass("tab-end-hover");
                $(this).prev().removeClass("hover");
                if ($(this).parent().children().length == 3) {
                    $(this).prev().prev().removeClass("tab-start-hover");
                }
            }
        }
    );
});

function tabHighlightStartEnd(tab)
{
    var items = $(tab).parent().children();
    var currItem = $(tab);
    //alert(items.html());
    //alert($(items).index(currItem));
    // if this.parent is second to last on list then add class to this.parent.next
    if ($(items).index(currItem) == 1) {
        $(tab).prev().addClass("tab-start-active");
    }
    
    // if this.parent is second to last on list then add class to this.parent.next
    if ($(items).index(currItem) == $(items).length - 2) {
        $(tab).next().addClass("tab-end-active");
    }
}

function showTabContent(anchor)
{
    // get curr li item for this anchor        
    var currItemIndex = $(anchor).parent().parent().children().index($(anchor).parent());
    //alert("Current td index: " + currItemIndex);
    // hide all div that are not active
    $(anchor).parent().parent().parent().parent().next().children("div.bg").css("display", "none");
    var tabPanelDiv = $(anchor).parent().parent().parent().parent().parent();
    var tabPanelContent = $(tabPanelDiv).children(".tab-panel-content-holder").first();  //  next("div"); // might be null

    if ($(tabPanelContent).children("div.bg").length > 0) {
        $(tabPanelContent).children("div.bg").eq(currItemIndex-1).css("display", "block");
    }
}
