$(document).ready(function () {
    newsTabs();
    customCss();
    hyundaiModelInfoTabs();
    hyundaiModelSpecificationsTabs();
    expandTabs();
    contractTabs();
    lightBoxClose();
    prepareHyundaiPage();
    hyundaiModelHighlight();
    prepareSpecsPage();
    initiateSpecsStyles();

    //Tab Menu On Click Event
    $("ul.tab-menu li.tabnav").click(function () {
        return tabClicked($(this));
    });
    //lightbox On Click Event
    $("img.feature-list-img").click(function () {
        return specsLightbox($(this), true);
    });

    //lightbox On Click Event (rel)
    $("img.feature-list-img-rel").click(function () {
        return specsLightbox($(this), false);
    });
});

//Admin Boolean Function

function AdminBoolean() {
    if ($(".edit-buttons").length > 0) {
        //User is Administrator so don't fire function
        return false;
    } else {
        //User is 'not' Administrator so fire function
        return true;
    };
}

//tabbed navigation

function tabClicked(tab) {
    clearLightBoxes();
    $("div.specs-list").hide();
    $("div.hcv-specs-list").hide();
    tab.show();
    $("ul.tab-menu li").removeClass("current");
    tab.addClass("current");
    $(".specs-list").hide();
    $(".hcv-specs-list").hide();
    var activeTab = tab.find("a").attr("href");
    $(activeTab).show();
    return false;
}

//Hyundai Light Box

function specsLightbox(lbimg, sourceLocation) {


    var pageHeight = $(document).height();
    var pageWidth = $(window).width();
    var pagePosition = $(window).scrollTop();
    var windowHeight = $(window).height();
    var windowWidth = $(window).width();
    clearLightBoxes();
    if (sourceLocation == true) {
        var imageUrl = lbimg.attr("src");
    } else {
        var imageUrl = lbimg.attr("rel");
    }
    $("body").append("<div class=\"simple_overlay\"> <div class=\"close\"></div><img class=\"lightbox-image\" alt=\"\" src=\"" + imageUrl + "\"></div>");
    $(".simple_overlay").css("display", "none");

    $('.lightbox-image').load(function () {
        // Handler for .load() called.
        //Set the popup window to center  
        $(".simple_overlay").css('top', windowHeight / 2 + (pagePosition) - $(".simple_overlay").height() / 2);
        $(".simple_overlay").css('left', windowWidth / 2 - $(".simple_overlay").width() / 2);
        $(".simple_overlay").fadeIn("fast");
    });
    lightBoxClose();
}

function lightBoxClose() {
    $("div.close").click(function () {
        $(".simple_overlay").remove();
    });

}
function clearLightBoxes(){
    $(".simple_overlay").remove();
}


//main-navigation/radmenu css

function customCss() {
    $(".CMLevel1Selected").after("<div class=\"outer\"></div>");
    $(".CMLevel1Selected").before("<div class=\"inner\"></div>");
    $("li:nth-child(6) .outer").remove();
    $("ul.horizontal li:nth-child(2)").addClass("shadow");
    $("div.sub-navigation table").hide();
}

//News Tab Hide Function

function hideAllNews() {
    $(".home-new-widget div.mainItem").hide();
    $(".home-new-widget div.allsubItems .subItem:nth-child(1n)").hide();
    $(".home-new-widget div.allsubItems .subItem:nth-child(2n)").hide();
    $("ul.newsTabs li").removeClass('current');
}

//News Tabs

function newsTabs() {
    hideAllNews();
    $("ul.newsTabs li.t1").addClass('current');
    $(".home-new-widget div.mainItem").show();
    $("ul.newsTabs li.t1").click(function () {
        hideAllNews();
        $("ul.newsTabs li.t1").addClass('current');
        $(".home-new-widget div.mainItem").show();
    });
    $("ul.newsTabs li.t2").click(function () {
        hideAllNews();
        $("ul.newsTabs li.t2").addClass('current');
        $(".home-new-widget div.allsubItems .subItem:first-child").show();
    });
    $("ul.newsTabs li.t3").click(function () {
        hideAllNews();
        $("ul.newsTabs li.t3").addClass('current');
        $(".home-new-widget div.allsubItems .subItem:nth-child(2n)").show();
    });
}

// Info Tabs

function prepareHyundaiPage() {

    if (AdminBoolean()) {
        // collapse spec panels
        $('div.collapse').hide();
        // collapse pages
        $('.specs-list').hide();
        $('.hcv-specs-list').hide();
        // show first page
        $('.specs-list:first-child').show();
        $('.hcv-specs-list:first-child').show();
        // Add class to even rows in specs table
        $(".specs-tbl tr:nth-child(odd)").addClass('odd');
        $(".specs-tbl-b tr:nth-child(odd)").addClass('odd');
        $(".hcv-specs-tbl tr:nth-child(odd)").addClass('odd');
        $(".hcv-specs-tbl-b tr:nth-child(odd)").addClass('odd');
        correctTableWidths();
    }
}

//Add correct width to tables

function correctTableWidths() {
    //Apply "auto" widths to the tables. 
    $(".specs-tbl td + td[colspan='3']").css("width", "auto");
    $(".specs-tbl td[colspan='2']").css("width", "auto");
    //$(".specs-tbl td[colspan='2']").css("width", "500px");
    //apply correct widths to custom col tables
    $(".specs-tbl-b td:nth-child(1)").css("width", "191px");
    $(".specs-tbl-b td:nth-child(2)").css("width", "53px");
    $(".specs-tbl-b td:nth-child(3)").css("width", "53px");
    $(".specs-tbl-b td:nth-child(4)").css("width", "auto");
    $(".specs-tbl-b td:nth-child(5)").css("width", "auto");
}

function hyundaiModelInfoTabs() {
    $("div.panes ul li h4").click(function () {
        var checkTab = $(this).siblings();
        clearLightBoxes();
        if ((checkTab.is('div.collapse')) && (checkTab.is(':visible'))) {
            $(this).siblings().slideUp();
            $(this).parent().removeClass("openTab");
        } else {
            $(this).parent().addClass("openTab");
            $(this).siblings().slideDown();
        }
    });
}

// Prepare Specs Page

function prepareSpecsPage() {
    $(".specs-tbl td:nth-child(1)").addClass('row-title');
    $(".specs-tbl td:nth-child(2)").addClass('specTblCol2');
    $(".specs-tbl td:nth-child(3)").addClass('specTblCol3');
    $(".specs-tbl td:nth-child(4)").addClass('specTblCol4');

    $(".specs-tbl-b td:nth-child(1)").addClass('row-title');
    $(".specs-tbl-b td:nth-child(2)").addClass('specTblCol2');
    $(".specs-tbl-b td:nth-child(3)").addClass('specTblCol2');
    $(".specs-tbl-b td:nth-child(4)").addClass('specTblCol3');
    $(".specs-tbl-b td:nth-child(5)").addClass('specTblCol4');
    
    $(".hcv-specs-tbl td:nth-child(1)").addClass('row-title');
    $(".hcv-specs-tbl-b td:nth-child(1)").addClass('row-title');
}

// Specs Table Highlight

function initiateSpecsStyles() {
    //page 1
    $(".tabSubNav #colHeading13").addClass('currentColTab');
    $("#specList1 td.specTblCol4").addClass('selectedCol');
    $("#specList1 td[colspan='3']").addClass('selectedCol');
    $("#specList1 td[colspan='2']").addClass('selectedCol');
    $(".tabSubNav.tableItems-threeColumn #colHeading12").addClass('currentColTab');
    $(".tabSubNav.tableItems-threeColumn #colHeading22").addClass('currentColTab');

    // page 1 - 1 tab, 2 columns - added by Ray 2010/05/12
    $(".tabSubNav #colHeading112").addClass('currentColTab');
    $("#specList1 .tableItems-oneTab td.specTblCol2").addClass('selectedCol');
    $("#specList1 .tableItems-oneTab td.specTblCol3").addClass('selectedCol');



    //page 2
    $(".tabSubNav #colHeading23").addClass('currentColTab');
    $("#specList2 td.specTblCol4").addClass('selectedCol');
    $("#specList2 td[colspan='3']").addClass('selectedCol');
    $("#specList2 td[colspan='2']").addClass('selectedCol');
    $("#specList1 .tableItems-threeColumn td.specTblCol3").addClass('selectedCol');
    $("#specList2 .tableItems-threeColumn td.specTblCol3").addClass('selectedCol');
}

function setSpecsTbl(tabPage, tabColumnNumber) {
    //clean css
    $("#specList" + tabPage + " .specs-tbl tr td").removeClass('selectedCol');
    $("#specList" + tabPage + " .specs-tbl-b tr td").removeClass('selectedCol');
    $("#specList" + tabPage + " ul.tabSubNav li").removeClass('currentColTab');

    //set css
    tabColumnNumberCorrected = tabColumnNumber - 1;
    $(".tabSubNav #colHeading" + tabPage + tabColumnNumberCorrected).addClass('currentColTab');
    $("#specList" + tabPage + " td.specTblCol" + tabColumnNumber).addClass('selectedCol');
    if (tabColumnNumberCorrected == 2) {
        $("#specList" + tabPage + " td[colspan='3']").addClass('selectedCol');
        $("#specList" + tabPage + " td + td[colspan='2']").addClass('selectedCol');
    } else if (tabColumnNumberCorrected == 3) {
        $("#specList" + tabPage + " td[colspan='3']").addClass('selectedCol');
        $("#specList" + tabPage + " td + td[colspan='2']").addClass('selectedCol');
    } else if (tabColumnNumberCorrected == 4) {
        $("#specList" + tabPage + " td + td + td[colspan='2']").addClass('selectedCol');
        $("#specList" + tabPage + " td[colspan='3']").addClass('selectedCol');
    }
}

function setSpecsTblTwoColumns(tabPage, tabColumnNumber1, tabColumnNumber2) {
    //clean css
    $("#specList" + tabPage + " .specs-tbl tr td").removeClass('selectedCol');
    $("#specList" + tabPage + " .specs-tbl-b tr td").removeClass('selectedCol');
    $("#specList" + tabPage + " ul.tabSubNav li").removeClass('currentColTab');

    //set css
    tabColumnNumberCorrected = tabColumnNumber1 - 1;
    $(".tabSubNav #colHeading" + tabPage + tabColumnNumberCorrected).addClass('currentColTab');
    $("#specList" + tabPage + " td.specTblCol" + tabColumnNumber1).addClass('selectedCol');
    if (tabColumnNumberCorrected == 2) {
        $("#specList" + tabPage + " td[colspan='3']").addClass('selectedCol');
        $("#specList" + tabPage + " td + td[colspan='2']").addClass('selectedCol');
    } else if (tabColumnNumberCorrected == 3) {
        $("#specList" + tabPage + " td[colspan='3']").addClass('selectedCol');
        $("#specList" + tabPage + " td + td[colspan='2']").addClass('selectedCol');
    } else if (tabColumnNumberCorrected == 4) {
        $("#specList" + tabPage + " td + td + td[colspan='2']").addClass('selectedCol');
        $("#specList" + tabPage + " td[colspan='3']").addClass('selectedCol');
    }

 	tabColumnNumberCorrected = tabColumnNumber2 - 1;
//    $(".tabSubNav #colHeading" + tabPage + tabColumnNumberCorrected).addClass('currentColTab');
    $(".tabSubNav #colHeading" + tabPage + (tabColumnNumber1-1) + (tabColumnNumber2-1)).addClass('currentColTab');

    $("#specList" + tabPage + " td.specTblCol" + tabColumnNumber2).addClass('selectedCol');
    if (tabColumnNumberCorrected == 2) {
        $("#specList" + tabPage + " td[colspan='3']").addClass('selectedCol');
        $("#specList" + tabPage + " td + td[colspan='2']").addClass('selectedCol');
    } else if (tabColumnNumberCorrected == 3) {
        $("#specList" + tabPage + " td[colspan='3']").addClass('selectedCol');
        $("#specList" + tabPage + " td + td[colspan='2']").addClass('selectedCol');
    } else if (tabColumnNumberCorrected == 4) {
        $("#specList" + tabPage + " td + td + td[colspan='2']").addClass('selectedCol');
        $("#specList" + tabPage + " td[colspan='3']").addClass('selectedCol');
    }
}

function hyundaiModelHighlight() {

    $("li#colHeading11").click(function () {
        setSpecsTbl(1, 2);
    });
    $("li#colHeading12").click(function () {
        setSpecsTbl(1, 3);
    });
    $("li#colHeading13").click(function () {
        setSpecsTbl(1, 4);
    });
    $("li#colHeading21").click(function () {
        setSpecsTbl(2, 2);
    });
    $("li#colHeading22").click(function () {
        setSpecsTbl(2, 3);
    });
    $("li#colHeading23").click(function () {
        setSpecsTbl(2, 4);
    });

    $("li#colHeading112").click(function () {
        setSpecsTblTwoColumns(1, 2, 3);
    });
}

function hyundaiModelSpecificationsTabs() {
    $("div#specPanes #tableItems h4.expand").click(function () {
        var checkTab = $(this).next();
        if ((checkTab.is('div.collapse')) && (checkTab.is(':visible'))) {
            $(this).next('.collapse').slideUp();
            $(this).removeClass("openTab");
            //alert("close");
        } else {
            $(this).addClass("openTab");
            $(this).next('.collapse').slideDown();
            //alert("open");
        }
    });
       $("div#specPanes #hcv-tableItems h4.expand").click(function () {
            var checkTab = $(this).next();
            if ((checkTab.is('div.collapse')) && (checkTab.is(':visible'))) {
                $(this).next('.collapse').slideUp();
                $(this).removeClass("openTab");
                //alert("close");
            } else {
                $(this).addClass("openTab");
                $(this).next('.collapse').slideDown();
                //alert("open");
            }
    });
}

// Tab Exapander / Contractor

function expandTabs() {
    clearLightBoxes();
    $("span.expandOpen").click(function () {
        $(this).parent().parent().find("div.collapse").slideDown();
        $(this).parent().parent().find("ul.expandparent li").addClass("openTab");
        $(this).parent().parent().find("div#tableItems h4.expand").addClass("openTab");
        $(this).parent().parent().find("div#hcv-tableItems h4.expand").addClass("openTab");
        $(this).replaceWith("<span class=\"expandClose\">Contract All</span>");
        contractTabs();
    });

}

function contractTabs() {
    $("span.expandClose").click(function () {
        $(this).parent().parent().find("div.collapse").slideUp();
        $(this).parent().parent().find("ul.expandparent li").removeClass("openTab");
        $(this).parent().parent().find("div#tableItems h4.expand").removeClass("openTab");
        $(this).parent().parent().find("div#hcv-tableItems h4.expand").removeClass("openTab");
        $(this).replaceWith("<span class=\"expandOpen\">Expand All</span>");
        expandTabs();
    });
}
// Insert Flash Banner Function

function insertFlashBanner(xmlSrc, swfSrc) {
    flashvars.bannerUrl = swfSrc;
    flashvars.configUrl = xmlSrc;
    embedSwfSrc = "/MultiMediaFiles/Cars/ix35/" + swfSrc;
    var params = {};
    params.menu = "false";
    params.wmode = "transparent";
    params.base = "/MultiMediaFiles/Cars/ix35";
    var attributes = {};
    attributes.id = "bannerContainer";
    swfobject.embedSWF("/MultiMediaFiles/Cars/ix35/BannerContainer.swf", "bannerContainer", "960", "494", "9.0.0", "/MultiMediaFiles/Cars/ix35/expressInstall.swf", flashvars, params, attributes);
}

// Flash Tab Switching Function

function switchFlash(xmlSrc, swfSrc) {
    if ((swfSrc == flashvars.bannerUrl) && (xmlSrc == flashvars.configUrl)) {
        //Do Nothing
    } else {
        insertFlashBanner(xmlSrc, swfSrc);
    };
};

function insertFlashBanner_i45(xmlSrc, swfSrc) {
    flashvars.bannerUrl = swfSrc;
    flashvars.configUrl = xmlSrc;
    embedSwfSrc = "/MultiMediaFiles/Cars/i45/" + swfSrc;
    var params = {};
    params.menu = "false";
    params.wmode = "transparent";
    params.base = "/MultiMediaFiles/Cars/i45";
    var attributes = {};
    attributes.id = "bannerContainer";
    swfobject.embedSWF("/MultiMediaFiles/Cars/i45/BannerContainer.swf", "bannerContainer", "960", "494", "9.0.0", "/MultiMediaFiles/Cars/ix35/expressInstall.swf", flashvars, params, attributes);
}

// Flash Tab Switching Function

function switchFlash_i45(xmlSrc, swfSrc) {
    if ((swfSrc == flashvars.bannerUrl) && (xmlSrc == flashvars.configUrl)) {
        //Do Nothing
    } else {
        insertFlashBanner_i45(xmlSrc, swfSrc);
    };
};

function insertFlashBanner_hd(xmlSrc, swfSrc) {
    flashvars.bannerUrl = swfSrc;
    flashvars.configUrl = xmlSrc;
    embedSwfSrc = "/MultiMediaFiles/trucks/hd/" + swfSrc;
    var params = {};
    params.menu = "false";
    params.wmode = "transparent";
    params.base = "/MultiMediaFiles/trucks/hd";
    var attributes = {};
    attributes.id = "bannerContainer";
    swfobject.embedSWF("/MultiMediaFiles/trucks/hd/BannerContainer.swf", "bannerContainer", "960", "494", "9.0.0", "/MultiMediaFiles/Cars/ix35/expressInstall.swf", flashvars, params, attributes);
}

// Flash Tab Switching Function

function switchFlash_hd(xmlSrc, swfSrc) {
    if ((swfSrc == flashvars.bannerUrl) && (xmlSrc == flashvars.configUrl)) {
        //Do Nothing
    } else {
        insertFlashBanner_hd(xmlSrc, swfSrc);
    };
};
